From 8b3691e1e81746f6a1ca1f4deb6ac8c6545d8c98 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: May 11 2022 12:59:39 +0000 Subject: import podman-1.6.4-32.el7_9 --- diff --git a/.gitignore b/.gitignore index e444053..f81e283 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libpod-5cc9284.tar.gz +SOURCES/v1.6.4-rhel-aba15dd.tar.gz diff --git a/.podman.metadata b/.podman.metadata index d1ef31e..bf1efb6 100644 --- a/.podman.metadata +++ b/.podman.metadata @@ -1 +1 @@ -dd35f1a00ac7860feeaa77dd5a92bc7bb310b821 SOURCES/libpod-5cc9284.tar.gz +aaf4d3b4d1d31c7129afbefdd3c11a893604b76e SOURCES/v1.6.4-rhel-aba15dd.tar.gz diff --git a/SOURCES/0001-Only-drop-all-caps-in-exec-when-non-root.patch b/SOURCES/0001-Only-drop-all-caps-in-exec-when-non-root.patch deleted file mode 100644 index 62f7ae9..0000000 --- a/SOURCES/0001-Only-drop-all-caps-in-exec-when-non-root.patch +++ /dev/null @@ -1,31 +0,0 @@ -From fbc96cdd1741021f3d18e49eac3757297aaba851 Mon Sep 17 00:00:00 2001 -From: Matthew Heon -Date: Fri, 19 Feb 2021 11:34:39 -0500 -Subject: [PATCH] Only drop all caps in exec when non-root - -We were dropping too many capabilities otherwise, which broke -some critical system tools (e.g. useradd) in exec sessions. - -Fix RHBZ#1930552 - -Signed-off-by: Matthew Heon ---- - libpod/oci_conmon_linux.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libpod/oci_conmon_linux.go b/libpod/oci_conmon_linux.go -index d5973a1a6..18ede031e 100644 ---- a/libpod/oci_conmon_linux.go -+++ b/libpod/oci_conmon_linux.go -@@ -1107,7 +1107,7 @@ func prepareProcessExec(c *Container, cmd, env []string, tty bool, cwd, user, se - pspec.Capabilities.Effective = []string{} - if privileged { - pspec.Capabilities.Bounding = allCaps -- } else { -+ } else if execUser.Uid != 0 { - pspec.Capabilities.Bounding = []string{} - } - pspec.Capabilities.Inheritable = pspec.Capabilities.Bounding --- -2.29.2 - diff --git a/SOURCES/0001-bump-github.com-containers-buildah-to-v1.11.5.patch b/SOURCES/0001-bump-github.com-containers-buildah-to-v1.11.5.patch deleted file mode 100644 index e24f224..0000000 --- a/SOURCES/0001-bump-github.com-containers-buildah-to-v1.11.5.patch +++ /dev/null @@ -1,2346 +0,0 @@ -From 4f7d01ec556a450f17eca43b39d3ee34cd362bb8 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Wed, 29 Jul 2020 15:16:26 +0200 -Subject: [PATCH] bump github.com/containers/buildah to v1.11.5 - -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1853326 -Signed-off-by: Valentin Rothber ---- - go.mod | 4 +- - go.sum | 7 ++ - .../github.com/containers/buildah/.travis.yml | 34 ++++--- - .../github.com/containers/buildah/buildah.go | 11 ++- - .../containers/buildah/changelog.txt | 27 ++++++ - .../github.com/containers/buildah/config.go | 5 +- - vendor/github.com/containers/buildah/go.mod | 4 +- - vendor/github.com/containers/buildah/go.sum | 58 ++++++++++++ - .../containers/buildah/imagebuildah/build.go | 3 +- - .../buildah/imagebuildah/executor.go | 9 ++ - .../buildah/imagebuildah/stage_executor.go | 4 +- - .../containers/buildah/imagebuildah/util.go | 5 +- - .../github.com/containers/buildah/import.go | 44 ++++++--- - vendor/github.com/containers/buildah/info.go | 3 + - vendor/github.com/containers/buildah/new.go | 91 ++++++++++++++----- - .../containers/buildah/pkg/cli/common.go | 20 ++-- - .../containers/buildah/pkg/secrets/secrets.go | 48 ++-------- - .../containers/buildah/run_linux.go | 2 +- - vendor/github.com/docker/docker/AUTHORS | 57 +++++++++++- - .../github.com/docker/docker/api/swagger.yaml | 32 ++++++- - .../docker/docker/api/types/client.go | 4 + - .../docker/docker/api/types/filters/parse.go | 9 ++ - .../docker/docker/api/types/swarm/service.go | 21 +++++ - .../docker/docker/client/container_list.go | 2 +- - .../github.com/docker/docker/client/events.go | 2 +- - .../github.com/docker/docker/client/hijack.go | 6 +- - .../docker/docker/client/image_list.go | 2 +- - .../docker/docker/client/network_list.go | 2 +- - .../github.com/docker/docker/client/ping.go | 4 +- - .../docker/docker/client/plugin_list.go | 2 +- - .../docker/docker/client/request.go | 14 +-- - .../docker/docker/client/service_list.go | 4 + - .../docker/docker/client/volume_list.go | 2 +- - .../docker/docker/pkg/homedir/homedir_unix.go | 7 +- - .../docker/pkg/jsonmessage/jsonmessage.go | 8 +- - .../docker/pkg/mount/mountinfo_linux.go | 1 - - .../pkg/namesgenerator/names-generator.go | 2 +- - .../docker/docker/pkg/pools/pools.go | 11 +-- - .../docker/docker/pkg/system/init_windows.go | 3 +- - .../docker/pkg/system/syscall_windows.go | 21 +---- - .../fsouza/go-dockerclient/Makefile | 5 - - .../fsouza/go-dockerclient/README.md | 22 +++-- - .../fsouza/go-dockerclient/appveyor.yml | 4 +- - .../fsouza/go-dockerclient/container.go | 30 ++++-- - .../github.com/fsouza/go-dockerclient/go.mod | 10 +- - .../github.com/fsouza/go-dockerclient/go.sum | 79 +++++++++++++--- - vendor/github.com/mtrmac/gpgme/gpgme.go | 2 +- - vendor/k8s.io/client-go/pkg/version/base.go | 4 +- - vendor/modules.txt | 6 +- - 49 files changed, 539 insertions(+), 218 deletions(-) - -diff --git a/go.mod b/go.mod -index 086d25cc902f..c8a2c298b8aa 100644 ---- a/go.mod -+++ b/go.mod -@@ -10,7 +10,7 @@ require ( - github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect - github.com/containernetworking/cni v0.7.1 - github.com/containernetworking/plugins v0.8.2 -- github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 -+ github.com/containers/buildah v1.11.5 - github.com/containers/image/v5 v5.2.1 - github.com/containers/psgo v1.3.2 - github.com/containers/storage v1.15.8 -@@ -20,7 +20,7 @@ require ( - github.com/cyphar/filepath-securejoin v0.2.2 - github.com/davecgh/go-spew v1.1.1 - github.com/docker/distribution v2.7.1+incompatible -- github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce -+ github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 - github.com/docker/docker-credential-helpers v0.6.3 - github.com/docker/go-connections v0.4.0 - github.com/docker/go-units v0.4.0 -diff --git a/go.sum b/go.sum -index 9456b2bfba1a..8e3505c1bb5d 100644 ---- a/go.sum -+++ b/go.sum -@@ -19,6 +19,7 @@ github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6tr - github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= - github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA= - github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -+github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c/go.mod h1:7xhjOwRV2+0HXGmM0jxaEu+ZiXJFoVZOTfL/dmqbrD8= - github.com/Microsoft/hcsshim v0.8.7 h1:ptnOoufxGSzauVTsdE+wMYnCWA301PdoN4xg5oRdZpg= - github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= - github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -@@ -75,6 +76,8 @@ github.com/containers/buildah v1.11.4-0.20191028173731-21b4778b359e h1:iDavHEx5Y - github.com/containers/buildah v1.11.4-0.20191028173731-21b4778b359e/go.mod h1:Igrk75FAxLnzDaHUbtpWB8pwL+Bv+cnakWMvqAXW2v8= - github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 h1:5WUe09k2sJSbmxwLHZLHc41TrIPrP0GlbhX+WDJBqvs= - github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982/go.mod h1:eGWB4tLoo0hIBuytQpvgUC0hk2mvl2ofaYBeDsU/qoc= -+github.com/containers/buildah v1.11.5 h1:bVpkaVlvA7G+1mBDAcX6yf7jNZJ/ZrrAHDt4WCx2i8E= -+github.com/containers/buildah v1.11.5/go.mod h1:bfNPqLO8GnI0qMPmI6MHSpQNK+a3TH9syYsRg+iqhRw= - github.com/containers/image/v5 v5.0.0 h1:arnXgbt1ucsC/ndtSpiQY87rA0UjhF+/xQnPzqdBDn4= - github.com/containers/image/v5 v5.0.0/go.mod h1:MgiLzCfIeo8lrHi+4Lb8HP+rh513sm0Mlk6RrhjFOLY= - github.com/containers/image/v5 v5.0.1-0.20200205124631-82291c45f2b0 h1:iV4aHKRoPcHp5BISsuiPMyaCjGJfLKp/FUMAG1NeqvE= -@@ -130,6 +133,8 @@ github.com/docker/docker v0.0.0-20171019062838-86f080cff091/go.mod h1:eEKB0N0r5N - github.com/docker/docker v0.0.0-20180522102801-da99009bbb11/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= - github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce h1:H3csZuxZESJeeEiOxq4YXPNmLFbjl7u2qVBrAAGX/sA= - github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -+github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 h1:oqgGT9O61YAYvI41EBsLePOr+LE6roB0xY4gpkZuFSE= -+github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= - github.com/docker/docker-credential-helpers v0.6.0/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= - github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= - github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= -@@ -165,6 +170,8 @@ github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV - github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= - github.com/fsouza/go-dockerclient v1.5.0 h1:7OtayOe5HnoG+KWMHgyyPymwaodnB2IDYuVfseKyxbA= - github.com/fsouza/go-dockerclient v1.5.0/go.mod h1:AqZZK/zFO3phxYxlTsAaeAMSdQ9mgHuhy+bjN034Qds= -+github.com/fsouza/go-dockerclient v1.6.0 h1:f7j+AX94143JL1H3TiqSMkM4EcLDI0De1qD4GGn3Hig= -+github.com/fsouza/go-dockerclient v1.6.0/go.mod h1:YWwtNPuL4XTX1SKJQk86cWPmmqwx+4np9qfPbb+znGc= - github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= - github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= - github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -diff --git a/vendor/github.com/containers/buildah/.travis.yml b/vendor/github.com/containers/buildah/.travis.yml -index a7410823043f..8bf3756f517d 100644 ---- a/vendor/github.com/containers/buildah/.travis.yml -+++ b/vendor/github.com/containers/buildah/.travis.yml -@@ -68,21 +68,25 @@ script: - # Fail fast - - set -e - # Let's do some docker stuff just for verification purposes -- - docker ps --all -- - docker images -- - ls -alF /home/travis/auth -- - docker pull docker.io/alpine -- - echo testpassword | docker login localhost:5000 --username testuser --password-stdin -- - docker tag alpine localhost:5000/my-alpine -- - docker push localhost:5000/my-alpine -- - docker ps --all -- - docker images -- - docker rmi docker.io/alpine -- - docker rmi localhost:5000/my-alpine -- - docker pull localhost:5000/my-alpine -- - docker ps --all -- - docker images -- - docker rmi localhost:5000/my-alpine -+# Commented out the following in order to get travis runs -+# under the 50 minute requirement. Do not remove as we may -+# want to use this in cirrius testing when we move there. -+# - docker ps --all -+# - docker images -+# - ls -alF /home/travis/auth -+# - docker pull docker.io/alpine -+# - echo testpassword | docker login localhost:5000 --username testuser --password-stdin -+# - docker tag alpine localhost:5000/my-alpine -+# - docker push localhost:5000/my-alpine -+# - docker ps --all -+# - docker images -+# - docker rmi docker.io/alpine -+# - docker rmi localhost:5000/my-alpine -+# - docker pull localhost:5000/my-alpine -+# - docker ps --all -+# - docker images -+# - docker rmi localhost:5000/my-alpine -+# End Speed up comment - # Setting up Docker Registry is complete, let's do Buildah testing! - - make install.tools -j4 - - make install.libseccomp.sudo all runc validate lint SECURITYTAGS="apparmor seccomp" -diff --git a/vendor/github.com/containers/buildah/buildah.go b/vendor/github.com/containers/buildah/buildah.go -index d57eea818e37..7042590d1432 100644 ---- a/vendor/github.com/containers/buildah/buildah.go -+++ b/vendor/github.com/containers/buildah/buildah.go -@@ -27,7 +27,7 @@ const ( - Package = "buildah" - // Version for the Package. Bump version in contrib/rpm/buildah.spec - // too. -- Version = "1.12.0-dev" -+ Version = "1.11.5" - // The value we use to identify what type of information, currently a - // serialized Builder structure, we are using as per-container state. - // This should only be changed when we make incompatible changes to -@@ -40,7 +40,7 @@ const ( - stateFile = Package + ".json" - ) - --// PullPolicy takes the value PullIfMissing, PullAlways, or PullNever. -+// PullPolicy takes the value PullIfMissing, PullAlways, PullIfNewer, or PullNever. - type PullPolicy int - - const ( -@@ -52,6 +52,11 @@ const ( - // take, signalling that a fresh, possibly updated, copy of the image - // should be pulled from a registry before the build proceeds. - PullAlways -+ // PullIfNewer is one of the values that BuilderOptions.PullPolicy -+ // can take, signalling that the source image should only be pulled -+ // from a registry if a local copy is not already present or if a -+ // newer version the image is present on the repository. -+ PullIfNewer - // PullNever is one of the values that BuilderOptions.PullPolicy can - // take, signalling that the source image should not be pulled from a - // registry if a local copy of it is not already present. -@@ -65,6 +70,8 @@ func (p PullPolicy) String() string { - return "PullIfMissing" - case PullAlways: - return "PullAlways" -+ case PullIfNewer: -+ return "PullIfNewer" - case PullNever: - return "PullNever" - } -diff --git a/vendor/github.com/containers/buildah/changelog.txt b/vendor/github.com/containers/buildah/changelog.txt -index 6e98e54050dc..098e6d6d4f75 100644 ---- a/vendor/github.com/containers/buildah/changelog.txt -+++ b/vendor/github.com/containers/buildah/changelog.txt -@@ -1,3 +1,30 @@ -+- Changelog for v1.11.5 (2019-11-11) -+ * Enhance error on unsafe symbolic link targets -+ * Add OCIRuntime to info -+ * Check nonexsit authfile -+ * Only output image id if running buildah bud --quiet -+ * Fix --pull=true||false and add --pull-never to bud and from (retry) -+ * cgroups v2: tweak or skip tests -+ * Prepwork: new 'skip' helpers for tests -+ * Handle configuration blobs for manifest lists -+ * unmarshalConvertedConfig: avoid using the updated image's ref -+ * Add completions for Manifest commands -+ * Add disableFips option to secrets pkg -+ * Update bud.bats test archive test -+ * Add test for caching based on content digest -+ * Builder.untarPath(): always evaluate b.ContentDigester.Hash() -+ * Bump github.com/onsi/ginkgo from 1.10.1 to 1.10.2 -+ * Fix another broken test: copy-url-mtime -+ * yet more fixes -+ * Actual bug fix for 'add' test: fix the expected mode -+ * BATS tests - lots of mostly minor cleanup -+ * build: drop support for ostree -+ * Add support for make vendor-in-container -+ * imgtype: exit with error if storage fails -+ * remove XDG_RUNTIME_DIR from default authfile path -+ * fix troubleshooting redirect instructions -+ * Bump back to v1.12.0-dev -+ - - Changelog for v1.11.4 (2019-10-28) - * buildah: add a "manifest" command - * manifests: add the module -diff --git a/vendor/github.com/containers/buildah/config.go b/vendor/github.com/containers/buildah/config.go -index 617619e45c14..32f2171eb036 100644 ---- a/vendor/github.com/containers/buildah/config.go -+++ b/vendor/github.com/containers/buildah/config.go -@@ -26,7 +26,7 @@ func unmarshalConvertedConfig(ctx context.Context, dest interface{}, img types.I - return errors.Wrapf(err, "error getting manifest MIME type for %q", transports.ImageName(img.Reference())) - } - if wantedManifestMIMEType != actualManifestMIMEType { -- img, err = img.UpdatedImage(ctx, types.ManifestUpdateOptions{ -+ updatedImg, err := img.UpdatedImage(ctx, types.ManifestUpdateOptions{ - ManifestMIMEType: wantedManifestMIMEType, - InformationOnly: types.ManifestUpdateInformation{ // Strictly speaking, every value in here is invalid. But… - Destination: nil, // Destination is technically required, but actually necessary only for conversion _to_ v2s1. Leave it nil, we will crash if that ever changes. -@@ -35,8 +35,9 @@ func unmarshalConvertedConfig(ctx context.Context, dest interface{}, img types.I - }, - }) - if err != nil { -- return errors.Wrapf(err, "error converting image %q to %s", transports.ImageName(img.Reference()), wantedManifestMIMEType) -+ return errors.Wrapf(err, "error converting image %q from %q to %q", transports.ImageName(img.Reference()), actualManifestMIMEType, wantedManifestMIMEType) - } -+ img = updatedImg - } - config, err := img.ConfigBlob(ctx) - if err != nil { -diff --git a/vendor/github.com/containers/buildah/go.mod b/vendor/github.com/containers/buildah/go.mod -index c8741b7812d9..2c76c46bffeb 100644 ---- a/vendor/github.com/containers/buildah/go.mod -+++ b/vendor/github.com/containers/buildah/go.mod -@@ -14,7 +14,7 @@ require ( - github.com/docker/go-units v0.4.0 - github.com/docker/libnetwork v0.8.0-dev.2.0.20190625141545-5a177b73e316 - github.com/etcd-io/bbolt v1.3.3 -- github.com/fsouza/go-dockerclient v1.5.0 -+ github.com/fsouza/go-dockerclient v1.6.0 - github.com/ghodss/yaml v1.0.0 - github.com/hashicorp/go-multierror v1.0.0 - github.com/imdario/mergo v0.3.6 // indirect -@@ -43,7 +43,7 @@ require ( - github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f // indirect - github.com/xeipuuv/gojsonschema v1.1.0 // indirect - golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad -- golang.org/x/sys v0.0.0-20190902133755-9109b7679e13 -+ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 - golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0 // indirect - google.golang.org/grpc v1.24.0 // indirect - k8s.io/api v0.0.0-20190813020757-36bff7324fb7 // indirect -diff --git a/vendor/github.com/containers/buildah/go.sum b/vendor/github.com/containers/buildah/go.sum -index 4a6673b04808..15dab479487e 100644 ---- a/vendor/github.com/containers/buildah/go.sum -+++ b/vendor/github.com/containers/buildah/go.sum -@@ -11,8 +11,12 @@ github.com/Microsoft/go-winio v0.4.12 h1:xAfWHN1IrQ0NJ9TBC0KBZoqLjzDTr1ML+4MywiU - github.com/Microsoft/go-winio v0.4.12/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= - github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU= - github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= - github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA= - github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -+github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c h1:YMP6olTU903X3gxQJckdmiP8/zkSMq4kN3uipsU9XjU= -+github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c/go.mod h1:7xhjOwRV2+0HXGmM0jxaEu+ZiXJFoVZOTfL/dmqbrD8= - github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= - github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= - github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -@@ -25,14 +29,25 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 - github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= - github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= - github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -+github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= - github.com/blang/semver v3.5.0+incompatible h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17OJKJXD2Cfs= - github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= - github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -+github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -+github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= - github.com/containerd/containerd v1.3.0 h1:xjvXQWABwS2uiv3TWgQt5Uth60Gu86LTGZXMJkjc7rY= - github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= - github.com/containerd/continuity v0.0.0-20180216233310-d8fb8589b0e8/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= - github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882bXEDKfWIf0wa8HRvpnBoPszJJXL+TVbBw4M= - github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc h1:TP+534wVlf61smEIq1nwLLAjQVEK2EADoW3CX9AuT+8= -+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -+github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -+github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -+github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -+github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= - github.com/containernetworking/cni v0.7.1 h1:fE3r16wpSEyaqY4Z4oFrLMmIGfBYIKpPrHK31EJ9FzE= - github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= - github.com/containers/image/v4 v4.0.1 h1:idNGHChj0Pyv3vLrxul2oSVMZLeFqpoq3CjLeVgapSQ= -@@ -48,6 +63,7 @@ github.com/containers/storage v1.13.5/go.mod h1:HELz8Sn+UVbPaUZMI8RvIG9doD4y4z6G - github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= - github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= - github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= - github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= - github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg= - github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= -@@ -64,6 +80,8 @@ github.com/docker/docker v1.4.2-0.20190710153559-aa8249ae1b8b h1:+Ga+YpCDpcY1fln - github.com/docker/docker v1.4.2-0.20190710153559-aa8249ae1b8b/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= - github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce h1:H3csZuxZESJeeEiOxq4YXPNmLFbjl7u2qVBrAAGX/sA= - github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -+github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 h1:oqgGT9O61YAYvI41EBsLePOr+LE6roB0xY4gpkZuFSE= -+github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= - github.com/docker/docker-credential-helpers v0.6.0/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= - github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= - github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= -@@ -90,6 +108,8 @@ github.com/fsouza/go-dockerclient v1.4.4 h1:Sd5nD4wdAgiPxvrbYUzT2ZZNmPk3z+GGnZ+f - github.com/fsouza/go-dockerclient v1.4.4/go.mod h1:PrwszSL5fbmsESocROrOGq/NULMXRw+bajY0ltzD6MA= - github.com/fsouza/go-dockerclient v1.5.0 h1:7OtayOe5HnoG+KWMHgyyPymwaodnB2IDYuVfseKyxbA= - github.com/fsouza/go-dockerclient v1.5.0/go.mod h1:AqZZK/zFO3phxYxlTsAaeAMSdQ9mgHuhy+bjN034Qds= -+github.com/fsouza/go-dockerclient v1.6.0 h1:f7j+AX94143JL1H3TiqSMkM4EcLDI0De1qD4GGn3Hig= -+github.com/fsouza/go-dockerclient v1.6.0/go.mod h1:YWwtNPuL4XTX1SKJQk86cWPmmqwx+4np9qfPbb+znGc= - github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= - github.com/ghodss/yaml v0.0.0-20161207003320-04f313413ffd/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= - github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -@@ -102,6 +122,7 @@ github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1 - github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= - github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= - github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= - github.com/gogo/protobuf v0.0.0-20170815085658-fcdc5011193f/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= - github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= - github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -@@ -133,11 +154,15 @@ github.com/gorilla/mux v0.0.0-20170217192616-94e7d24fd285/go.mod h1:1lud6UwP+6or - github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= - github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= - github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -+github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= - github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= - github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -+github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= - github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= - github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= - github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= -+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= - github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= - github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= - github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -@@ -219,19 +244,23 @@ github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= - github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= - github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME= - github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -+github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= - github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= - github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= - github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= - github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= - github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6 h1:yN8BPXVwMBAm3Cuvh1L5XE8XpvYRMdsVLd82ILprhUU= - github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -+github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v1.0.0-rc8 h1:dDCFes8Hj1r/i5qnypONo5jdOme/8HWZC/aNDyhECt0= - github.com/opencontainers/runc v1.0.0-rc8/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v1.0.0-rc8.0.20190827142921-dd075602f158 h1:/A6bAdnSZoTQmKml3MdHAnSEPnBAQeigNBl4sxnfaaQ= - github.com/opencontainers/runc v1.0.0-rc8.0.20190827142921-dd075602f158/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -+github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= - github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7 h1:Dliu5QO+4JYWu/yMshaMU7G3JN2POGpwjJN7gjy10Go= - github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -+github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= - github.com/opencontainers/runtime-tools v0.9.0 h1:FYgwVsKRI/H9hU32MJ/4MLOzXWodKK5zsQavY8NPMkU= - github.com/opencontainers/runtime-tools v0.9.0/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= - github.com/opencontainers/selinux v1.2.2 h1:Kx9J6eDG5/24A6DtUquGSpJQ+m2MUTahn4FtGEe8bFg= -@@ -271,6 +300,8 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R - github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= - github.com/prometheus/procfs v0.0.3 h1:CTwfnzjQ+8dS6MhHHu4YswVAD99sL2wjPqP+VkURmKE= - github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -+github.com/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8= -+github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= - github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= - github.com/seccomp/containers-golang v0.0.0-20180629143253-cdfdaa7543f4 h1:rOG9oHVIndNR14f3HRyBy9UPQYmIPniWqTU1TDdHhq4= - github.com/seccomp/containers-golang v0.0.0-20180629143253-cdfdaa7543f4/go.mod h1:f/98/SnvAzhAEFQJ3u836FePXvcbE8BS0YGMQNn4mhA= -@@ -300,6 +331,7 @@ github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0 - github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= - github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= - github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -+github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= - github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 h1:b6uOv7YOFK0TYG7HtkIgExQo+2RdLuwRft63jn2HWj8= - github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= - github.com/tchap/go-patricia v2.3.0+incompatible h1:GkY4dP3cEfEASBPPkWd+AmjYxhmDkqO9/zg7R0lSQRs= -@@ -307,6 +339,7 @@ github.com/tchap/go-patricia v2.3.0+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ - github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= - github.com/ulikunitz/xz v0.5.6 h1:jGHAfXawEGZQ3blwU5wnWKQJvAraT7Ftq9EXjnXYgt8= - github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= -+github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= - github.com/vbatts/tar-split v0.11.1 h1:0Odu65rhcZ3JZaPHxl7tCI3V/C/Q9Zf82UFravl02dE= - github.com/vbatts/tar-split v0.11.1/go.mod h1:LEuURwDEiWjRjwu46yU3KVGuUdVv/dcnpcEPSzR8z6g= - github.com/vbauerster/mpb v3.4.0+incompatible h1:mfiiYw87ARaeRW6x5gWwYRUawxaW1tLAD8IceomUCNw= -@@ -321,12 +354,15 @@ github.com/xeipuuv/gojsonpointer v0.0.0-20190809123943-df4f5c81cb3b h1:6cLsL+2FW - github.com/xeipuuv/gojsonpointer v0.0.0-20190809123943-df4f5c81cb3b/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= - github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= - github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -+github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= - github.com/xeipuuv/gojsonschema v0.0.0-20190816131739-be0936907f66/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= - github.com/xeipuuv/gojsonschema v1.1.0 h1:ngVtJC9TY/lg0AA/1k48FYhBrhRoFlEmWzsehpNAaZg= - github.com/xeipuuv/gojsonschema v1.1.0/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= - github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= - go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk= - go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -+go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= -+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= - golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= - golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= - golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= -@@ -335,12 +371,19 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49N - golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= - golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad h1:5E5raQxcv+6CZ11RrBYQe5WRbUIWpScjh0kvHZkZIrQ= - golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= - golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= - golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= - golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= - golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= - golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= - golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= - golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= - golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU= - golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -@@ -349,9 +392,11 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ - golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= - golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw= - golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= - golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= - golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= - golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= - golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= - golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= - golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -@@ -360,7 +405,9 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h - golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc= - golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k= - golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -@@ -370,6 +417,8 @@ golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3 h1:4y9KwBHBgBNwDbtu44R5o1fdO - golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190902133755-9109b7679e13 h1:tdsQdquKbTNMsSZLqnLELJGzCANp9oXhu6zFBW6ODx4= - golang.org/x/sys v0.0.0-20190902133755-9109b7679e13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= - golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= - golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -@@ -382,12 +431,19 @@ golang.org/x/tools v0.0.0-20180810170437-e96c4e24768d/go.mod h1:n7NCudcB/nEzxVGm - golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= - golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= - golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= - golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= - golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= - google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= - google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= - google.golang.org/genproto v0.0.0-20180831171423-11092d34479b h1:lohp5blsw53GBXtLyLNaTXPXS9pJ1tiTw61ZHUoE9Qw= - google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb h1:i1Ppqkc3WQXikh8bXiwHqAN5Rv3/qDCcRk0/Otx73BY= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= - google.golang.org/grpc v1.22.0 h1:J0UbZOIrCAl+fpTOf8YLs4dJo8L/owV4LYVtAXQoPkw= - google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= - google.golang.org/grpc v1.24.0 h1:vb/1TCsVn3DcJlQ0Gs1yB1pKI6Do2/QNwxdKqmc/b0s= -@@ -410,6 +466,7 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= - gotest.tools v0.0.0-20190624233834-05ebafbffc79/go.mod h1:R//lfYlUuTOTfblYI3lGoAAAebUdzjvbmQsuB7Ykd90= - gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= - gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= - honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= - k8s.io/api v0.0.0-20190813020757-36bff7324fb7 h1:4uJOjRn9kWq4AqJRE8+qzmAy+lJd9rh8TY455dNef4U= - k8s.io/api v0.0.0-20190813020757-36bff7324fb7/go.mod h1:3Iy+myeAORNCLgjd/Xu9ebwN7Vh59Bw0vh9jhoX+V58= -@@ -423,6 +480,7 @@ k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUc - k8s.io/klog v0.3.1 h1:RVgyDHY/kFKtLqh67NvEWIgkMneNoIrdkN0CxDSQc68= - k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= - k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4= -+k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= - sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= - sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= - sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -diff --git a/vendor/github.com/containers/buildah/imagebuildah/build.go b/vendor/github.com/containers/buildah/imagebuildah/build.go -index 6b2c9c84c2ce..fb9600b1a369 100644 ---- a/vendor/github.com/containers/buildah/imagebuildah/build.go -+++ b/vendor/github.com/containers/buildah/imagebuildah/build.go -@@ -27,6 +27,7 @@ import ( - const ( - PullIfMissing = buildah.PullIfMissing - PullAlways = buildah.PullAlways -+ PullIfNewer = buildah.PullIfNewer - PullNever = buildah.PullNever - - Gzip = archive.Gzip -@@ -45,7 +46,7 @@ type BuildOptions struct { - // commands. - ContextDirectory string - // PullPolicy controls whether or not we pull images. It should be one -- // of PullIfMissing, PullAlways, or PullNever. -+ // of PullIfMissing, PullAlways, PullIfNewer, or PullNever. - PullPolicy buildah.PullPolicy - // Registry is a value which is prepended to the image's name, if it - // needs to be pulled and the image name alone can not be resolved to a -diff --git a/vendor/github.com/containers/buildah/imagebuildah/executor.go b/vendor/github.com/containers/buildah/imagebuildah/executor.go -index 27ec1bb23bbb..35fc3d63d4fc 100644 ---- a/vendor/github.com/containers/buildah/imagebuildah/executor.go -+++ b/vendor/github.com/containers/buildah/imagebuildah/executor.go -@@ -339,6 +339,11 @@ func (b *Executor) Build(ctx context.Context, stages imagebuilder.Stages) (image - var cleanupImages []string - cleanupStages := make(map[int]*StageExecutor) - -+ stdout := b.out -+ if b.quiet { -+ b.out = ioutil.Discard -+ } -+ - cleanup := func() error { - var lastErr error - // Clean up any containers associated with the final container -@@ -527,6 +532,10 @@ func (b *Executor) Build(ctx context.Context, stages imagebuilder.Stages) (image - if err = ioutil.WriteFile(b.iidfile, []byte(imageID), 0644); err != nil { - return imageID, ref, errors.Wrapf(err, "failed to write image ID to file %q", b.iidfile) - } -+ } else { -+ if _, err := stdout.Write([]byte(imageID + "\n")); err != nil { -+ return imageID, ref, errors.Wrapf(err, "failed to write image ID to stdout") -+ } - } - - return imageID, ref, nil -diff --git a/vendor/github.com/containers/buildah/imagebuildah/stage_executor.go b/vendor/github.com/containers/buildah/imagebuildah/stage_executor.go -index fad2bfe9558d..67c0a0eb9454 100644 ---- a/vendor/github.com/containers/buildah/imagebuildah/stage_executor.go -+++ b/vendor/github.com/containers/buildah/imagebuildah/stage_executor.go -@@ -318,7 +318,7 @@ func (s *StageExecutor) digestSpecifiedContent(node *parser.Node, argValues []st - // directory. - contextSrc, err := securejoin.SecureJoin(contextDir, src) - if err != nil { -- return "", errors.Wrapf(err, "error joining %q and %q", contextDir, src) -+ return "", errors.Wrapf(err, "forbidden path for %q, it is outside of the build context %q", src, contextDir) - } - sources = append(sources, contextSrc) - } -@@ -432,7 +432,7 @@ func (s *StageExecutor) Copy(excludes []string, copies ...imagebuilder.Copy) err - // directory. - srcSecure, err := securejoin.SecureJoin(contextDir, src) - if err != nil { -- return err -+ return errors.Wrapf(err, "forbidden path for %q, it is outside of the build context %q", src, contextDir) - } - if hadFinalPathSeparator { - // If destination is a folder, we need to take extra care to -diff --git a/vendor/github.com/containers/buildah/import.go b/vendor/github.com/containers/buildah/import.go -index 751ce6ae1c8d..329633b442a4 100644 ---- a/vendor/github.com/containers/buildah/import.go -+++ b/vendor/github.com/containers/buildah/import.go -@@ -5,8 +5,10 @@ import ( - - "github.com/containers/buildah/docker" - "github.com/containers/buildah/util" -+ "github.com/containers/image/v5/image" - "github.com/containers/image/v5/manifest" - is "github.com/containers/image/v5/storage" -+ "github.com/containers/image/v5/transports" - "github.com/containers/image/v5/types" - "github.com/containers/storage" - digest "github.com/opencontainers/go-digest" -@@ -28,12 +30,39 @@ func importBuilderDataFromImage(ctx context.Context, store storage.Store, system - if err != nil { - return nil, errors.Wrapf(err, "no such image %q", imageID) - } -- src, err2 := ref.NewImage(ctx, systemContext) -- if err2 != nil { -- return nil, errors.Wrapf(err2, "error instantiating image") -+ src, err := ref.NewImageSource(ctx, systemContext) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error instantiating image source") - } - defer src.Close() - -+ imageDigest := "" -+ manifestBytes, manifestType, err := src.GetManifest(ctx, nil) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error loading image manifest for %q", transports.ImageName(ref)) -+ } -+ if manifestDigest, err := manifest.Digest(manifestBytes); err == nil { -+ imageDigest = manifestDigest.String() -+ } -+ -+ var instanceDigest *digest.Digest -+ if manifest.MIMETypeIsMultiImage(manifestType) { -+ list, err := manifest.ListFromBlob(manifestBytes, manifestType) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error parsing image manifest for %q as list", transports.ImageName(ref)) -+ } -+ instance, err := list.ChooseInstance(systemContext) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error finding an appropriate image in manifest list %q", transports.ImageName(ref)) -+ } -+ instanceDigest = &instance -+ } -+ -+ image, err := image.FromUnparsedImage(ctx, systemContext, image.UnparsedInstance(src, instanceDigest)) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error instantiating image for %q instance %q", transports.ImageName(ref), instanceDigest) -+ } -+ - imageName := "" - if img, err3 := store.Image(imageID); err3 == nil { - if len(img.Names) > 0 { -@@ -48,13 +77,6 @@ func importBuilderDataFromImage(ctx context.Context, store storage.Store, system - } - } - -- imageDigest := "" -- if manifestBytes, _, err := src.Manifest(ctx); err == nil { -- if manifestDigest, err := manifest.Digest(manifestBytes); err == nil { -- imageDigest = manifestDigest.String() -- } -- } -- - defaultNamespaceOptions, err := DefaultNamespaceOptions() - if err != nil { - return nil, err -@@ -79,7 +101,7 @@ func importBuilderDataFromImage(ctx context.Context, store storage.Store, system - }, - } - -- if err := builder.initConfig(ctx, src); err != nil { -+ if err := builder.initConfig(ctx, image); err != nil { - return nil, errors.Wrapf(err, "error preparing image configuration") - } - -diff --git a/vendor/github.com/containers/buildah/info.go b/vendor/github.com/containers/buildah/info.go -index c741bb449e11..322bd8834dff 100644 ---- a/vendor/github.com/containers/buildah/info.go -+++ b/vendor/github.com/containers/buildah/info.go -@@ -52,10 +52,13 @@ func hostInfo() map[string]interface{} { - logrus.Error(err, "err reading cgroups mode") - } - cgroupVersion := "v1" -+ ociruntime := "runc" - if unified { - cgroupVersion = "v2" -+ ociruntime = "crun" - } - info["CgroupVersion"] = cgroupVersion -+ info["OCIRuntime"] = ociruntime - - mi, err := system.ReadMemInfo() - if err != nil { -diff --git a/vendor/github.com/containers/buildah/new.go b/vendor/github.com/containers/buildah/new.go -index 87cfd5d0da6c..68c6ebd544ea 100644 ---- a/vendor/github.com/containers/buildah/new.go -+++ b/vendor/github.com/containers/buildah/new.go -@@ -5,8 +5,10 @@ import ( - "fmt" - "math/rand" - "strings" -+ "time" - - "github.com/containers/buildah/util" -+ "github.com/containers/image/v5/image" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/pkg/sysregistriesv2" - is "github.com/containers/image/v5/storage" -@@ -14,6 +16,7 @@ import ( - "github.com/containers/image/v5/transports/alltransports" - "github.com/containers/image/v5/types" - "github.com/containers/storage" -+ digest "github.com/opencontainers/go-digest" - "github.com/openshift/imagebuilder" - "github.com/pkg/errors" - "github.com/sirupsen/logrus" -@@ -154,23 +157,47 @@ func resolveImage(ctx context.Context, systemContext *types.SystemContext, store - if destImage == "" { - return nil, "", nil, errors.Errorf("error computing local image name for %q", transports.ImageName(srcRef)) - } -- - ref, err := is.Transport.ParseStoreReference(store, destImage) - if err != nil { - return nil, "", nil, errors.Wrapf(err, "error parsing reference to image %q", destImage) - } -- img, err := is.Transport.GetStoreImage(store, ref) -- if err == nil { -- return ref, transport, img, nil -- } - -- if errors.Cause(err) == storage.ErrImageUnknown && options.PullPolicy != PullIfMissing { -- logrus.Debugf("no such image %q: %v", transports.ImageName(ref), err) -- failures = append(failures, failure{ -- resolvedImageName: image, -- err: fmt.Errorf("no such image %q", transports.ImageName(ref)), -- }) -- continue -+ if options.PullPolicy == PullIfNewer { -+ img, err := is.Transport.GetStoreImage(store, ref) -+ if err == nil { -+ // Let's see if this image is on the repository and if it's there -+ // then note it's Created date. -+ var repoImageCreated time.Time -+ repoImageFound := false -+ repoImage, err := srcRef.NewImage(ctx, systemContext) -+ if err == nil { -+ inspect, err := repoImage.Inspect(ctx) -+ if err == nil { -+ repoImageFound = true -+ repoImageCreated = *inspect.Created -+ } -+ repoImage.Close() -+ } -+ if !repoImageFound || repoImageCreated == img.Created { -+ // The image is only local or the same date is on the -+ // local and repo versions of the image, no need to pull. -+ return ref, transport, img, nil -+ } -+ } -+ } else { -+ // Get the image from the store if present for PullNever and PullIfMissing -+ img, err := is.Transport.GetStoreImage(store, ref) -+ if err == nil { -+ return ref, transport, img, nil -+ } -+ if errors.Cause(err) == storage.ErrImageUnknown && options.PullPolicy == PullNever { -+ logrus.Debugf("no such image %q: %v", transports.ImageName(ref), err) -+ failures = append(failures, failure{ -+ resolvedImageName: image, -+ err: fmt.Errorf("no such image %q", transports.ImageName(ref)), -+ }) -+ continue -+ } - } - - pulledImg, pulledReference, err := pullAndFindImage(ctx, store, srcRef, options, systemContext) -@@ -253,35 +280,53 @@ func newBuilder(ctx context.Context, store storage.Store, options BuilderOptions - return nil, err - } - } -- image := options.FromImage -+ imageSpec := options.FromImage - imageID := "" - imageDigest := "" - topLayer := "" - if img != nil { -- image = getImageName(imageNamePrefix(image), img) -+ imageSpec = getImageName(imageNamePrefix(imageSpec), img) - imageID = img.ID - topLayer = img.TopLayer - } -- var src types.ImageCloser -+ var src types.Image - if ref != nil { -- src, err = ref.NewImage(ctx, systemContext) -+ srcSrc, err := ref.NewImageSource(ctx, systemContext) - if err != nil { - return nil, errors.Wrapf(err, "error instantiating image for %q", transports.ImageName(ref)) - } -- if manifestBytes, _, err := src.Manifest(ctx); err == nil { -- if manifestDigest, err := manifest.Digest(manifestBytes); err == nil { -- imageDigest = manifestDigest.String() -+ defer srcSrc.Close() -+ manifestBytes, manifestType, err := srcSrc.GetManifest(ctx, nil) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error loading image manifest for %q", transports.ImageName(ref)) -+ } -+ if manifestDigest, err := manifest.Digest(manifestBytes); err == nil { -+ imageDigest = manifestDigest.String() -+ } -+ var instanceDigest *digest.Digest -+ if manifest.MIMETypeIsMultiImage(manifestType) { -+ list, err := manifest.ListFromBlob(manifestBytes, manifestType) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error parsing image manifest for %q as list", transports.ImageName(ref)) -+ } -+ instance, err := list.ChooseInstance(systemContext) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error finding an appropriate image in manifest list %q", transports.ImageName(ref)) - } -+ instanceDigest = &instance -+ } -+ src, err = image.FromUnparsedImage(ctx, systemContext, image.UnparsedInstance(srcSrc, instanceDigest)) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error instantiating image for %q instance %q", transports.ImageName(ref), instanceDigest) - } -- defer src.Close() - } - - name := "working-container" - if options.Container != "" { - name = options.Container - } else { -- if image != "" { -- name = imageNamePrefix(image) + "-" + name -+ if imageSpec != "" { -+ name = imageNamePrefix(imageSpec) + "-" + name - } - } - var container *storage.Container -@@ -332,7 +377,7 @@ func newBuilder(ctx context.Context, store storage.Store, options BuilderOptions - builder := &Builder{ - store: store, - Type: containerType, -- FromImage: image, -+ FromImage: imageSpec, - FromImageID: imageID, - FromImageDigest: imageDigest, - Container: name, -diff --git a/vendor/github.com/containers/buildah/pkg/cli/common.go b/vendor/github.com/containers/buildah/pkg/cli/common.go -index e8979cd7f86f..6f49cc2406a7 100644 ---- a/vendor/github.com/containers/buildah/pkg/cli/common.go -+++ b/vendor/github.com/containers/buildah/pkg/cli/common.go -@@ -63,6 +63,7 @@ type BudResults struct { - Platform string - Pull bool - PullAlways bool -+ PullNever bool - Quiet bool - Rm bool - Runtime string -@@ -159,8 +160,9 @@ func GetBudFlags(flags *BudResults) pflag.FlagSet { - fs.StringVar(&flags.Logfile, "logfile", "", "log to `file` instead of stdout/stderr") - fs.IntVar(&flags.Loglevel, "loglevel", 0, "adjust logging level (range from -2 to 3)") - fs.StringVar(&flags.Platform, "platform", "", "CLI compatibility: no action or effect") -- fs.BoolVar(&flags.Pull, "pull", true, "pull the image if not present") -- fs.BoolVar(&flags.PullAlways, "pull-always", false, "pull the image, even if a version is present") -+ fs.BoolVar(&flags.Pull, "pull", true, "pull the image from the registry if newer or not present in store, if false, only pull the image if not present") -+ fs.BoolVar(&flags.PullAlways, "pull-always", false, "pull the image even if the named image is present in store") -+ fs.BoolVar(&flags.PullNever, "pull-never", false, "do not pull the image, use the image present in store if available") - fs.BoolVarP(&flags.Quiet, "quiet", "q", false, "refrain from announcing build instructions and image read/write progress") - fs.BoolVar(&flags.Rm, "rm", true, "Remove intermediate containers after a successful build") - // "runtime" definition moved to avoid name collision in podman build. Defined in cmd/buildah/bud.go. -@@ -265,9 +267,15 @@ func VerifyFlagsArgsOrder(args []string) error { - } - - func GetDefaultAuthFile() string { -- authfile := os.Getenv("REGISTRY_AUTH_FILE") -- if authfile != "" { -- return authfile -+ return os.Getenv("REGISTRY_AUTH_FILE") -+} -+ -+func CheckAuthFile(authfile string) error { -+ if authfile == "" { -+ return nil - } -- return "" -+ if _, err := os.Stat(authfile); err != nil { -+ return errors.Wrapf(err, "error checking authfile path %s", authfile) -+ } -+ return nil - } -diff --git a/vendor/github.com/containers/buildah/pkg/secrets/secrets.go b/vendor/github.com/containers/buildah/pkg/secrets/secrets.go -index ee2e9a7c84fe..80ca050165bd 100644 ---- a/vendor/github.com/containers/buildah/pkg/secrets/secrets.go -+++ b/vendor/github.com/containers/buildah/pkg/secrets/secrets.go -@@ -148,21 +148,12 @@ func getMountsMap(path string) (string, string, error) { - } - - // SecretMounts copies, adds, and mounts the secrets to the container root filesystem --// Deprecated, Please use SecretMountWithUIDGID - func SecretMounts(mountLabel, containerWorkingDir, mountFile string, rootless, disableFips bool) []rspec.Mount { - return SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, containerWorkingDir, 0, 0, rootless, disableFips) - } - --// SecretMountsWithUIDGID copies, adds, and mounts the secrets to the container root filesystem --// mountLabel: MAC/SELinux label for container content --// containerWorkingDir: Private data for storing secrets on the host mounted in container. --// mountFile: Additional mount points required for the container. --// mountPoint: Container image mountpoint --// uid: to assign to content created for secrets --// gid: to assign to content created for secrets --// rootless: indicates whether container is running in rootless mode --// disableFips: indicates whether system should ignore fips mode --func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPoint string, uid, gid int, rootless, disableFips bool) []rspec.Mount { -+// SecretMountsWithUIDGID specifies the uid/gid of the owner -+func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPrefix string, uid, gid int, rootless, disableFips bool) []rspec.Mount { - var ( - secretMounts []rspec.Mount - mountFiles []string -@@ -180,7 +171,7 @@ func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPoi - } - for _, file := range mountFiles { - if _, err := os.Stat(file); err == nil { -- mounts, err := addSecretsFromMountsFile(file, mountLabel, containerWorkingDir, uid, gid) -+ mounts, err := addSecretsFromMountsFile(file, mountLabel, containerWorkingDir, mountPrefix, uid, gid) - if err != nil { - logrus.Warnf("error mounting secrets, skipping entry in %s: %v", file, err) - } -@@ -196,7 +187,7 @@ func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPoi - // Add FIPS mode secret if /etc/system-fips exists on the host - _, err := os.Stat("/etc/system-fips") - if err == nil { -- if err := addFIPSModeSecret(&secretMounts, containerWorkingDir, mountPoint, mountLabel, uid, gid); err != nil { -+ if err := addFIPSModeSecret(&secretMounts, containerWorkingDir, mountPrefix, mountLabel, uid, gid); err != nil { - logrus.Errorf("error adding FIPS mode secret to container: %v", err) - } - } else if os.IsNotExist(err) { -@@ -215,7 +206,7 @@ func rchown(chowndir string, uid, gid int) error { - - // addSecretsFromMountsFile copies the contents of host directory to container directory - // and returns a list of mounts --func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir string, uid, gid int) ([]rspec.Mount, error) { -+func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir, mountPrefix string, uid, gid int) ([]rspec.Mount, error) { - var mounts []rspec.Mount - defaultMountsPaths := getMounts(filePath) - for _, path := range defaultMountsPaths { -@@ -294,7 +285,7 @@ func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir string, - } - - m := rspec.Mount{ -- Source: ctrDirOrFileOnHost, -+ Source: filepath.Join(mountPrefix, ctrDirOrFile), - Destination: ctrDirOrFile, - Type: "bind", - Options: []string{"bind", "rprivate"}, -@@ -309,15 +300,15 @@ func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir string, - // root filesystem if /etc/system-fips exists on hosts. - // This enables the container to be FIPS compliant and run openssl in - // FIPS mode as the host is also in FIPS mode. --func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPoint, mountLabel string, uid, gid int) error { -+func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPrefix, mountLabel string, uid, gid int) error { - secretsDir := "/run/secrets" - ctrDirOnHost := filepath.Join(containerWorkingDir, secretsDir) - if _, err := os.Stat(ctrDirOnHost); os.IsNotExist(err) { - if err = idtools.MkdirAllAs(ctrDirOnHost, 0755, uid, gid); err != nil { -- return errors.Wrapf(err, "making container directory %q on host failed", ctrDirOnHost) -+ return errors.Wrapf(err, "making container directory on host failed") - } - if err = label.Relabel(ctrDirOnHost, mountLabel, false); err != nil { -- return errors.Wrapf(err, "error applying correct labels on %q", ctrDirOnHost) -+ return errors.Wrap(err, "error applying correct labels") - } - } - fipsFile := filepath.Join(ctrDirOnHost, "system-fips") -@@ -332,7 +323,7 @@ func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPoint, m - - if !mountExists(*mounts, secretsDir) { - m := rspec.Mount{ -- Source: ctrDirOnHost, -+ Source: filepath.Join(mountPrefix, secretsDir), - Destination: secretsDir, - Type: "bind", - Options: []string{"bind", "rprivate"}, -@@ -340,25 +331,6 @@ func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPoint, m - *mounts = append(*mounts, m) - } - -- srcBackendDir := "/usr/share/crypto-policies/back-ends/FIPS" -- destDir := "/etc/crypto-policies/back-ends" -- srcOnHost := filepath.Join(mountPoint, srcBackendDir) -- if _, err := os.Stat(srcOnHost); err != nil { -- if os.IsNotExist(err) { -- return nil -- } -- return errors.Wrapf(err, "failed to stat FIPS Backend directory %q", ctrDirOnHost) -- } -- -- if !mountExists(*mounts, destDir) { -- m := rspec.Mount{ -- Source: srcOnHost, -- Destination: destDir, -- Type: "bind", -- Options: []string{"bind", "rprivate"}, -- } -- *mounts = append(*mounts, m) -- } - return nil - } - -diff --git a/vendor/github.com/docker/docker/AUTHORS b/vendor/github.com/docker/docker/AUTHORS -index d5b6cbbead48..ad166ba8df6c 100644 ---- a/vendor/github.com/docker/docker/AUTHORS -+++ b/vendor/github.com/docker/docker/AUTHORS -@@ -18,6 +18,7 @@ Abhishek Chanda - Abhishek Sharma - Abin Shahab - Adam Avilla -+Adam Dobrawy - Adam Eijdenberg - Adam Kunk - Adam Miller -@@ -113,6 +114,7 @@ Anda Xu - Anders Janmyr - Andre Dublin <81dublin@gmail.com> - Andre Granovsky -+Andrea Denisse Gómez - Andrea Luzzardi - Andrea Turli - Andreas Elvers -@@ -177,8 +179,10 @@ Anusha Ragunathan - apocas - Arash Deshmeh - ArikaChen -+Arko Dasgupta - Arnaud Lefebvre - Arnaud Porterie -+Arnaud Rebillout - Arthur Barr - Arthur Gautier - Artur Meyster -@@ -280,6 +284,7 @@ Carl Loa Odin - Carl X. Su - Carlo Mion - Carlos Alexandro Becker -+Carlos de Paula - Carlos Sanchez - Carol Fager-Higgins - Cary -@@ -329,6 +334,7 @@ Chris Gibson - Chris Khoo - Chris McKinnel - Chris McKinnel -+Chris Price - Chris Seto - Chris Snow - Chris St. Pierre -@@ -418,12 +424,14 @@ Daniel Norberg - Daniel Nordberg - Daniel Robinson - Daniel S -+Daniel Sweet - Daniel Von Fange - Daniel Watkins - Daniel X Moore - Daniel YC Lin - Daniel Zhang - Danny Berger -+Danny Milosavljevic - Danny Yates - Danyal Khaliq - Darren Coxall -@@ -517,6 +525,8 @@ Dmitry Smirnov - Dmitry V. Krivenok - Dmitry Vorobev - Dolph Mathews -+Dominic Tubach -+Dominic Yin - Dominik Dingel - Dominik Finkbeiner - Dominik Honnef -@@ -585,6 +595,7 @@ Erik Weathers - Erno Hopearuoho - Erwin van der Koogh - Ethan Bell -+Ethan Mosbaugh - Euan Kemp - Eugen Krizo - Eugene Yakubovich -@@ -621,6 +632,7 @@ Fareed Dudhia - Fathi Boudra - Federico Gimenez - Felipe Oliveira -+Felipe Ruhland - Felix Abecassis - Felix Geisendörfer - Felix Hupfeld -@@ -655,6 +667,7 @@ Frank Groeneveld - Frank Herrmann - Frank Macreery - Frank Rosquin -+frankyang - Fred Lifton - Frederick F. Kautz IV - Frederik Loeffert -@@ -702,6 +715,7 @@ Gleb M Borisov - Glyn Normington - GoBella - Goffert van Gool -+Goldwyn Rodrigues - Gopikannan Venugopalsamy - Gosuke Miyashita - Gou Rao -@@ -725,6 +739,7 @@ Guruprasad - Gustav Sinder - gwx296173 - Günter Zöchbauer -+Haichao Yang - haikuoliu - Hakan Özler - Hamish Hutchings -@@ -733,6 +748,7 @@ Hans Rødtang - Hao Shu Wei - Hao Zhang <21521210@zju.edu.cn> - Harald Albers -+Harald Niesche - Harley Laue - Harold Cooper - Harrison Turton -@@ -752,9 +768,11 @@ Hobofan - Hollie Teal - Hong Xu - Hongbin Lu -+Hongxu Jia - hsinko <21551195@zju.edu.cn> - Hu Keping - Hu Tao -+HuanHuan Ye - Huanzhong Zhang - Huayi Zhang - Hugo Duncan -@@ -898,6 +916,7 @@ Jie Luo - Jihyun Hwang - Jilles Oldenbeuving - Jim Alateras -+Jim Ehrismann - Jim Galasyn - Jim Minter - Jim Perrin -@@ -935,7 +954,7 @@ John Feminella - John Gardiner Myers - John Gossman - John Harris --John Howard (VM) -+John Howard - John Laswell - John Maguire - John Mulhausen -@@ -949,6 +968,7 @@ John Willis - Jon Johnson - Jon Surrell - Jon Wedaman -+Jonas Dohse - Jonas Pfenniger - Jonathan A. Schweder - Jonathan A. Sternberg -@@ -1002,6 +1022,7 @@ Julio Montes - Jun-Ru Chang - Jussi Nummelin - Justas Brazauskas -+Justen Martin - Justin Cormack - Justin Force - Justin Menga -@@ -1010,6 +1031,7 @@ Justin Simonelis - Justin Terry - Justyn Temme - Jyrki Puttonen -+Jérémy Leherpeur - Jérôme Petazzoni - Jörg Thalheim - K. Heller -@@ -1047,6 +1069,7 @@ Ken Reese - Kenfe-Mickaël Laventure - Kenjiro Nakayama - Kent Johnson -+Kenta Tada - Kevin "qwazerty" Houdebert - Kevin Burke - Kevin Clark -@@ -1057,6 +1080,7 @@ Kevin Kern - Kevin Menard - Kevin Meredith - Kevin P. Kucharczyk -+Kevin Parsons - Kevin Richardson - Kevin Shi - Kevin Wallace -@@ -1147,6 +1171,7 @@ longliqiang88 <394564827@qq.com> - Lorenz Leutgeb - Lorenzo Fontana - Lotus Fenn -+Louis Delossantos - Louis Opter - Luca Favatella - Luca Marturana -@@ -1159,12 +1184,14 @@ Lucas Silvestre - Luciano Mores - Luis Martínez de Bartolomé Izquierdo - Luiz Svoboda -+Lukas Heeren - Lukas Waslowski - lukaspustina - Lukasz Zajaczkowski - Luke Marsden - Lyn - Lynda O'Leary -+lzhfromutsc - Lénaïc Huard - Ma Müller - Ma Shimiao -@@ -1298,6 +1325,7 @@ Michael Stapelberg - Michael Steinert - Michael Thies - Michael West -+Michael Zhao - Michal Fojtik - Michal Gebauer - Michal Jemala -@@ -1382,6 +1410,7 @@ Neyazul Haque - Nghia Tran - Niall O'Higgins - Nicholas E. Rabenau -+Nick Adcock - Nick DeCoursin - Nick Irvine - Nick Neisen -@@ -1420,6 +1449,7 @@ Nuutti Kotivuori - nzwsch - O.S. Tezer - objectified -+Odin Ugedal - Oguz Bilgic - Oh Jinkyun - Ohad Schneider -@@ -1430,6 +1460,7 @@ Oliver Reason - Olivier Gambier - Olle Jonsson - Olli Janatuinen -+Olly Pomeroy - Omri Shiv - Oriol Francès - Oskar Niburski -@@ -1439,6 +1470,7 @@ Ovidio Mallo - Panagiotis Moustafellos - Paolo G. Giarrusso - Pascal -+Pascal Bach - Pascal Borreli - Pascal Hartig - Patrick Böänziger -@@ -1463,6 +1495,7 @@ Paul Nasrat - Paul Weaver - Paulo Ribeiro - Pavel Lobashov -+Pavel Matěja - Pavel Pletenev - Pavel Pospisil - Pavel Sutyrin -@@ -1574,6 +1607,7 @@ Riku Voipio - Riley Guerin - Ritesh H Shukla - Riyaz Faizullabhoy -+Rob Gulewich - Rob Vesse - Robert Bachmann - Robert Bittle -@@ -1582,11 +1616,13 @@ Robert Schneider - Robert Stern - Robert Terhaar - Robert Wallis -+Robert Wang - Roberto G. Hashioka - Roberto Muñoz Fernández - Robin Naundorf - Robin Schneider - Robin Speekenbrink -+Robin Thoni - robpc - Rodolfo Carvalho - Rodrigo Vaz -@@ -1620,6 +1656,7 @@ Rozhnov Alexandr - Rudolph Gottesheim - Rui Cao - Rui Lopes -+Ruilin Li - Runshen Zhu - Russ Magee - Ryan Abrams -@@ -1658,6 +1695,7 @@ Sam J Sharpe - Sam Neirinck - Sam Reis - Sam Rijs -+Sam Whited - Sambuddha Basu - Sami Wagiaalla - Samuel Andaya -@@ -1672,6 +1710,7 @@ sapphiredev - Sargun Dhillon - Sascha Andres - Sascha Grunert -+SataQiu - Satnam Singh - Satoshi Amemiya - Satoshi Tagomori -@@ -1720,6 +1759,7 @@ Shijun Qin - Shishir Mahajan - Shoubhik Bose - Shourya Sarcar -+Shu-Wai Chow - shuai-z - Shukui Yang - Shuwei Hao -@@ -1730,6 +1770,7 @@ Silas Sewell - Silvan Jegen - Simão Reis - Simei He -+Simon Barendse - Simon Eskildsen - Simon Ferquel - Simon Leinen -@@ -1738,6 +1779,7 @@ Simon Taranto - Simon Vikstrom - Sindhu S - Sjoerd Langkemper -+skanehira - Solganik Alexander - Solomon Hykes - Song Gao -@@ -1749,6 +1791,7 @@ Sridatta Thatipamala - Sridhar Ratnakumar - Srini Brahmaroutu - Srinivasan Srivatsan -+Staf Wagemakers - Stanislav Bondarenko - Steeve Morin - Stefan Berger -@@ -1759,6 +1802,7 @@ Stefan Scherer - Stefan Staudenmeyer - Stefan Weil - Stephan Spindler -+Stephen Benjamin - Stephen Crosby - Stephen Day - Stephen Drake -@@ -1775,10 +1819,12 @@ Steven Iveson - Steven Merrill - Steven Richards - Steven Taylor -+Stig Larsson - Subhajit Ghosh - Sujith Haridasan - Sun Gengze <690388648@qq.com> - Sun Jianbo -+Sune Keller - Sunny Gogoi - Suryakumar Sudar - Sven Dowideit -@@ -1829,6 +1875,7 @@ Tianyi Wang - Tibor Vass - Tiffany Jernigan - Tiffany Low -+Tim - Tim Bart - Tim Bosse - Tim Dettrick -@@ -1914,6 +1961,7 @@ Victor Palma - Victor Vieux - Victoria Bialas - Vijaya Kumar K -+Vikram bir Singh - Viktor Stanchev - Viktor Vojnovski - VinayRaghavanKS -@@ -1971,6 +2019,7 @@ Wenyu You <21551128@zju.edu.cn> - Wenzhi Liang - Wes Morgan - Wewang Xiaorenfine -+Wiktor Kwapisiewicz - Will Dietz - Will Rouesnel - Will Weaver -@@ -1998,6 +2047,7 @@ xichengliudui <1693291525@qq.com> - xiekeyang - Ximo Guanter Gonzálbez - Xinbo Weng -+Xinfeng Liu - Xinzi Zhou - Xiuming Chen - Xuecong Liao -@@ -2012,6 +2062,7 @@ Yang Pengfei - yangchenliang - Yanqiang Miao - Yao Zaiyong -+Yash Murty - Yassine Tijani - Yasunori Mahata - Yazhong Liu -@@ -2026,6 +2077,7 @@ Yongxin Li - Yongzhi Pan - Yosef Fertel - You-Sheng Yang (楊有勝) -+youcai - Youcef YEKHLEF - Yu Changchun - Yu Chengxia -@@ -2062,6 +2114,7 @@ Zhoulin Xie - Zhu Guihua - Zhu Kunjia - Zhuoyun Wei -+Ziheng Liu - Zilin Du - zimbatm - Ziming Dong -@@ -2070,7 +2123,7 @@ zmarouf - Zoltan Tombol - Zou Yu - zqh --Zuhayr Elahi -+Zuhayr Elahi - Zunayed Ali - Álex González - Álvaro Lázaro -diff --git a/vendor/github.com/docker/docker/api/swagger.yaml b/vendor/github.com/docker/docker/api/swagger.yaml -index cc2451f033a4..0698bba526d6 100644 ---- a/vendor/github.com/docker/docker/api/swagger.yaml -+++ b/vendor/github.com/docker/docker/api/swagger.yaml -@@ -3369,6 +3369,27 @@ definitions: - format: "dateTime" - Message: - type: "string" -+ ServiceStatus: -+ description: | -+ The status of the service's tasks. Provided only when requested as -+ part of a ServiceList operation. -+ type: "object" -+ properties: -+ RunningTasks: -+ description: "The number of tasks for the service currently in the Running state" -+ type: "integer" -+ format: "uint64" -+ example: 7 -+ DesiredTasks: -+ description: | -+ The number of tasks for the service desired to be running. -+ For replicated services, this is the replica count from the -+ service spec. For global services, this is computed by taking -+ count of all tasks for the service with a Desired State other -+ than Shutdown. -+ type: "integer" -+ format: "uint64" -+ example: 10 - example: - ID: "9mnpnzenvg8p8tdbtq4wvbkcz" - Version: -@@ -4924,6 +4945,8 @@ paths: - type: "integer" - Driver: - type: "string" -+ Platform: -+ type: "string" - MountLabel: - type: "string" - ProcessLabel: -@@ -9316,6 +9339,10 @@ paths: - - `label=` - - `mode=["replicated"|"global"]` - - `name=` -+ - name: "status" -+ in: "query" -+ type: "boolean" -+ description: "Include service status, with count of running and desired tasks" - tags: ["Service"] - /services/create: - post: -@@ -10414,9 +10441,6 @@ paths: - description: | - Start a new interactive session with a server. Session allows server to call back to the client for advanced capabilities. - -- > **Note**: This endpoint is *experimental* and only available if the daemon is started with experimental -- > features enabled. The specifications for this endpoint may still change in a future version of the API. -- - ### Hijacking - - This endpoint hijacks the HTTP connection to HTTP2 transport that allows the client to expose gPRC services on that connection. -@@ -10450,4 +10474,4 @@ paths: - description: "server error" - schema: - $ref: "#/definitions/ErrorResponse" -- tags: ["Session (experimental)"] -+ tags: ["Session"] -diff --git a/vendor/github.com/docker/docker/api/types/client.go b/vendor/github.com/docker/docker/api/types/client.go -index 4b9f50282b1f..8363ed736e3a 100644 ---- a/vendor/github.com/docker/docker/api/types/client.go -+++ b/vendor/github.com/docker/docker/api/types/client.go -@@ -363,6 +363,10 @@ type ServiceUpdateOptions struct { - // ServiceListOptions holds parameters to list services with. - type ServiceListOptions struct { - Filters filters.Args -+ -+ // Status indicates whether the server should include the service task -+ // count of running and desired tasks. -+ Status bool - } - - // ServiceInspectOptions holds parameters related to the "service inspect" -diff --git a/vendor/github.com/docker/docker/api/types/filters/parse.go b/vendor/github.com/docker/docker/api/types/filters/parse.go -index 2e24e769c10e..cd7ad92e79af 100644 ---- a/vendor/github.com/docker/docker/api/types/filters/parse.go -+++ b/vendor/github.com/docker/docker/api/types/filters/parse.go -@@ -36,6 +36,15 @@ func NewArgs(initialArgs ...KeyValuePair) Args { - return args - } - -+// Keys returns all the keys in list of Args -+func (args Args) Keys() []string { -+ keys := make([]string, 0, len(args.fields)) -+ for k := range args.fields { -+ keys = append(keys, k) -+ } -+ return keys -+} -+ - // MarshalJSON returns a JSON byte representation of the Args - func (args Args) MarshalJSON() ([]byte, error) { - if len(args.fields) == 0 { -diff --git a/vendor/github.com/docker/docker/api/types/swarm/service.go b/vendor/github.com/docker/docker/api/types/swarm/service.go -index abf192e75941..6b59711ab25a 100644 ---- a/vendor/github.com/docker/docker/api/types/swarm/service.go -+++ b/vendor/github.com/docker/docker/api/types/swarm/service.go -@@ -10,6 +10,13 @@ type Service struct { - PreviousSpec *ServiceSpec `json:",omitempty"` - Endpoint Endpoint `json:",omitempty"` - UpdateStatus *UpdateStatus `json:",omitempty"` -+ -+ // ServiceStatus is an optional, extra field indicating the number of -+ // desired and running tasks. It is provided primarily as a shortcut to -+ // calculating these values client-side, which otherwise would require -+ // listing all tasks for a service, an operation that could be -+ // computation and network expensive. -+ ServiceStatus *ServiceStatus `json:",omitempty"` - } - - // ServiceSpec represents the spec of a service. -@@ -122,3 +129,17 @@ type UpdateConfig struct { - // started, or the new task is started before the old task is shut down. - Order string - } -+ -+// ServiceStatus represents the number of running tasks in a service and the -+// number of tasks desired to be running. -+type ServiceStatus struct { -+ // RunningTasks is the number of tasks for the service actually in the -+ // Running state -+ RunningTasks uint64 -+ -+ // DesiredTasks is the number of tasks desired to be running by the -+ // service. For replicated services, this is the replica count. For global -+ // services, this is computed by taking the number of tasks with desired -+ // state of not-Shutdown. -+ DesiredTasks uint64 -+} -diff --git a/vendor/github.com/docker/docker/client/container_list.go b/vendor/github.com/docker/docker/client/container_list.go -index c099d80e2a24..a973de597fdf 100644 ---- a/vendor/github.com/docker/docker/client/container_list.go -+++ b/vendor/github.com/docker/docker/client/container_list.go -@@ -35,7 +35,7 @@ func (cli *Client) ContainerList(ctx context.Context, options types.ContainerLis - } - - if options.Filters.Len() > 0 { -- //lint:ignore SA1019 for old code -+ //nolint:staticcheck // ignore SA1019 for old code - filterJSON, err := filters.ToParamWithVersion(cli.version, options.Filters) - - if err != nil { -diff --git a/vendor/github.com/docker/docker/client/events.go b/vendor/github.com/docker/docker/client/events.go -index f347cadf1450..f0dc9d9e12f3 100644 ---- a/vendor/github.com/docker/docker/client/events.go -+++ b/vendor/github.com/docker/docker/client/events.go -@@ -90,7 +90,7 @@ func buildEventsQueryParams(cliVersion string, options types.EventsOptions) (url - } - - if options.Filters.Len() > 0 { -- //lint:ignore SA1019 for old code -+ //nolint:staticcheck // ignore SA1019 for old code - filterJSON, err := filters.ToParamWithVersion(cliVersion, options.Filters) - if err != nil { - return nil, err -diff --git a/vendor/github.com/docker/docker/client/hijack.go b/vendor/github.com/docker/docker/client/hijack.go -index e77084af64d7..e1dc49ef0f66 100644 ---- a/vendor/github.com/docker/docker/client/hijack.go -+++ b/vendor/github.com/docker/docker/client/hijack.go -@@ -24,7 +24,7 @@ func (cli *Client) postHijacked(ctx context.Context, path string, query url.Valu - } - - apiPath := cli.getAPIPath(ctx, path, query) -- req, err := http.NewRequest("POST", apiPath, bodyEncoded) -+ req, err := http.NewRequest(http.MethodPost, apiPath, bodyEncoded) - if err != nil { - return types.HijackedResponse{}, err - } -@@ -40,7 +40,7 @@ func (cli *Client) postHijacked(ctx context.Context, path string, query url.Valu - - // DialHijack returns a hijacked connection with negotiated protocol proto. - func (cli *Client) DialHijack(ctx context.Context, url, proto string, meta map[string][]string) (net.Conn, error) { -- req, err := http.NewRequest("POST", url, nil) -+ req, err := http.NewRequest(http.MethodPost, url, nil) - if err != nil { - return nil, err - } -@@ -88,7 +88,7 @@ func (cli *Client) setupHijackConn(ctx context.Context, req *http.Request, proto - // Server hijacks the connection, error 'connection closed' expected - resp, err := clientconn.Do(req) - -- //lint:ignore SA1019 for connecting to old (pre go1.8) daemons -+ //nolint:staticcheck // ignore SA1019 for connecting to old (pre go1.8) daemons - if err != httputil.ErrPersistEOF { - if err != nil { - return nil, err -diff --git a/vendor/github.com/docker/docker/client/image_list.go b/vendor/github.com/docker/docker/client/image_list.go -index a5bc4b095f7b..a4d7505094cd 100644 ---- a/vendor/github.com/docker/docker/client/image_list.go -+++ b/vendor/github.com/docker/docker/client/image_list.go -@@ -24,7 +24,7 @@ func (cli *Client) ImageList(ctx context.Context, options types.ImageListOptions - } - } - if optionFilters.Len() > 0 { -- //lint:ignore SA1019 for old code -+ //nolint:staticcheck // ignore SA1019 for old code - filterJSON, err := filters.ToParamWithVersion(cli.version, optionFilters) - if err != nil { - return images, err -diff --git a/vendor/github.com/docker/docker/client/network_list.go b/vendor/github.com/docker/docker/client/network_list.go -index 8ca7eb6128e6..ed2acb55711d 100644 ---- a/vendor/github.com/docker/docker/client/network_list.go -+++ b/vendor/github.com/docker/docker/client/network_list.go -@@ -13,7 +13,7 @@ import ( - func (cli *Client) NetworkList(ctx context.Context, options types.NetworkListOptions) ([]types.NetworkResource, error) { - query := url.Values{} - if options.Filters.Len() > 0 { -- //lint:ignore SA1019 for old code -+ //nolint:staticcheck // ignore SA1019 for old code - filterJSON, err := filters.ToParamWithVersion(cli.version, options.Filters) - if err != nil { - return nil, err -diff --git a/vendor/github.com/docker/docker/client/ping.go b/vendor/github.com/docker/docker/client/ping.go -index 90f39ec14f92..1cfc48a25d27 100644 ---- a/vendor/github.com/docker/docker/client/ping.go -+++ b/vendor/github.com/docker/docker/client/ping.go -@@ -19,7 +19,7 @@ func (cli *Client) Ping(ctx context.Context) (types.Ping, error) { - // Using cli.buildRequest() + cli.doRequest() instead of cli.sendRequest() - // because ping requests are used during API version negotiation, so we want - // to hit the non-versioned /_ping endpoint, not /v1.xx/_ping -- req, err := cli.buildRequest("HEAD", path.Join(cli.basePath, "/_ping"), nil, nil) -+ req, err := cli.buildRequest(http.MethodHead, path.Join(cli.basePath, "/_ping"), nil, nil) - if err != nil { - return ping, err - } -@@ -35,7 +35,7 @@ func (cli *Client) Ping(ctx context.Context) (types.Ping, error) { - return ping, err - } - -- req, err = cli.buildRequest("GET", path.Join(cli.basePath, "/_ping"), nil, nil) -+ req, err = cli.buildRequest(http.MethodGet, path.Join(cli.basePath, "/_ping"), nil, nil) - if err != nil { - return ping, err - } -diff --git a/vendor/github.com/docker/docker/client/plugin_list.go b/vendor/github.com/docker/docker/client/plugin_list.go -index a51c930e6d53..cf1935e2f5ee 100644 ---- a/vendor/github.com/docker/docker/client/plugin_list.go -+++ b/vendor/github.com/docker/docker/client/plugin_list.go -@@ -15,7 +15,7 @@ func (cli *Client) PluginList(ctx context.Context, filter filters.Args) (types.P - query := url.Values{} - - if filter.Len() > 0 { -- //lint:ignore SA1019 for old code -+ //nolint:staticcheck // ignore SA1019 for old code - filterJSON, err := filters.ToParamWithVersion(cli.version, filter) - if err != nil { - return plugins, err -diff --git a/vendor/github.com/docker/docker/client/request.go b/vendor/github.com/docker/docker/client/request.go -index 144c4163695d..ee15a46ed09b 100644 ---- a/vendor/github.com/docker/docker/client/request.go -+++ b/vendor/github.com/docker/docker/client/request.go -@@ -29,12 +29,12 @@ type serverResponse struct { - - // head sends an http request to the docker API using the method HEAD. - func (cli *Client) head(ctx context.Context, path string, query url.Values, headers map[string][]string) (serverResponse, error) { -- return cli.sendRequest(ctx, "HEAD", path, query, nil, headers) -+ return cli.sendRequest(ctx, http.MethodHead, path, query, nil, headers) - } - - // get sends an http request to the docker API using the method GET with a specific Go context. - func (cli *Client) get(ctx context.Context, path string, query url.Values, headers map[string][]string) (serverResponse, error) { -- return cli.sendRequest(ctx, "GET", path, query, nil, headers) -+ return cli.sendRequest(ctx, http.MethodGet, path, query, nil, headers) - } - - // post sends an http request to the docker API using the method POST with a specific Go context. -@@ -43,21 +43,21 @@ func (cli *Client) post(ctx context.Context, path string, query url.Values, obj - if err != nil { - return serverResponse{}, err - } -- return cli.sendRequest(ctx, "POST", path, query, body, headers) -+ return cli.sendRequest(ctx, http.MethodPost, path, query, body, headers) - } - - func (cli *Client) postRaw(ctx context.Context, path string, query url.Values, body io.Reader, headers map[string][]string) (serverResponse, error) { -- return cli.sendRequest(ctx, "POST", path, query, body, headers) -+ return cli.sendRequest(ctx, http.MethodPost, path, query, body, headers) - } - - // putRaw sends an http request to the docker API using the method PUT. - func (cli *Client) putRaw(ctx context.Context, path string, query url.Values, body io.Reader, headers map[string][]string) (serverResponse, error) { -- return cli.sendRequest(ctx, "PUT", path, query, body, headers) -+ return cli.sendRequest(ctx, http.MethodPut, path, query, body, headers) - } - - // delete sends an http request to the docker API using the method DELETE. - func (cli *Client) delete(ctx context.Context, path string, query url.Values, headers map[string][]string) (serverResponse, error) { -- return cli.sendRequest(ctx, "DELETE", path, query, nil, headers) -+ return cli.sendRequest(ctx, http.MethodDelete, path, query, nil, headers) - } - - type headers map[string][]string -@@ -79,7 +79,7 @@ func encodeBody(obj interface{}, headers headers) (io.Reader, headers, error) { - } - - func (cli *Client) buildRequest(method, path string, body io.Reader, headers headers) (*http.Request, error) { -- expectedPayload := (method == "POST" || method == "PUT") -+ expectedPayload := (method == http.MethodPost || method == http.MethodPut) - if expectedPayload && body == nil { - body = bytes.NewReader([]byte{}) - } -diff --git a/vendor/github.com/docker/docker/client/service_list.go b/vendor/github.com/docker/docker/client/service_list.go -index 64d35e715982..f97ec75a5cb7 100644 ---- a/vendor/github.com/docker/docker/client/service_list.go -+++ b/vendor/github.com/docker/docker/client/service_list.go -@@ -23,6 +23,10 @@ func (cli *Client) ServiceList(ctx context.Context, options types.ServiceListOpt - query.Set("filters", filterJSON) - } - -+ if options.Status { -+ query.Set("status", "true") -+ } -+ - resp, err := cli.get(ctx, "/services", query, nil) - defer ensureReaderClosed(resp) - if err != nil { -diff --git a/vendor/github.com/docker/docker/client/volume_list.go b/vendor/github.com/docker/docker/client/volume_list.go -index d68fc2b9860d..942498dde2c7 100644 ---- a/vendor/github.com/docker/docker/client/volume_list.go -+++ b/vendor/github.com/docker/docker/client/volume_list.go -@@ -15,7 +15,7 @@ func (cli *Client) VolumeList(ctx context.Context, filter filters.Args) (volumet - query := url.Values{} - - if filter.Len() > 0 { -- //lint:ignore SA1019 for old code -+ //nolint:staticcheck // ignore SA1019 for old code - filterJSON, err := filters.ToParamWithVersion(cli.version, filter) - if err != nil { - return volumes, err -diff --git a/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go b/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go -index 284e8be7ca83..441bd727b602 100644 ---- a/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go -+++ b/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go -@@ -16,8 +16,11 @@ func Key() string { - // Get returns the home directory of the current user with the help of - // environment variables depending on the target operating system. - // Returned path should be used with "path/filepath" to form new paths. --// If compiling statically, ensure the osusergo build tag is used. --// If needing to do nss lookups, do not compile statically. -+// -+// If linking statically with cgo enabled against glibc, ensure the -+// osusergo build tag is used. -+// -+// If needing to do nss lookups, do not disable cgo or set osusergo. - func Get() string { - home := os.Getenv(Key()) - if home == "" { -diff --git a/vendor/github.com/docker/docker/pkg/jsonmessage/jsonmessage.go b/vendor/github.com/docker/docker/pkg/jsonmessage/jsonmessage.go -index 6d66408984ff..814993ec36df 100644 ---- a/vendor/github.com/docker/docker/pkg/jsonmessage/jsonmessage.go -+++ b/vendor/github.com/docker/docker/pkg/jsonmessage/jsonmessage.go -@@ -139,13 +139,13 @@ type JSONMessage struct { - Stream string `json:"stream,omitempty"` - Status string `json:"status,omitempty"` - Progress *JSONProgress `json:"progressDetail,omitempty"` -- ProgressMessage string `json:"progress,omitempty"` //deprecated -+ ProgressMessage string `json:"progress,omitempty"` // deprecated - ID string `json:"id,omitempty"` - From string `json:"from,omitempty"` - Time int64 `json:"time,omitempty"` - TimeNano int64 `json:"timeNano,omitempty"` - Error *JSONError `json:"errorDetail,omitempty"` -- ErrorMessage string `json:"error,omitempty"` //deprecated -+ ErrorMessage string `json:"error,omitempty"` // deprecated - // Aux contains out-of-band data, such as digests for push signing and image id after building. - Aux *json.RawMessage `json:"aux,omitempty"` - } -@@ -177,7 +177,7 @@ func (jm *JSONMessage) Display(out io.Writer, isTerminal bool) error { - if isTerminal && jm.Stream == "" && jm.Progress != nil { - clearLine(out) - endl = "\r" -- fmt.Fprintf(out, endl) -+ fmt.Fprint(out, endl) - } else if jm.Progress != nil && jm.Progress.String() != "" { //disable progressbar in non-terminal - return nil - } -@@ -194,7 +194,7 @@ func (jm *JSONMessage) Display(out io.Writer, isTerminal bool) error { - } - if jm.Progress != nil && isTerminal { - fmt.Fprintf(out, "%s %s%s", jm.Status, jm.Progress.String(), endl) -- } else if jm.ProgressMessage != "" { //deprecated -+ } else if jm.ProgressMessage != "" { // deprecated - fmt.Fprintf(out, "%s %s%s", jm.Status, jm.ProgressMessage, endl) - } else if jm.Stream != "" { - fmt.Fprintf(out, "%s%s", jm.Stream, endl) -diff --git a/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go b/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go -index fe6e3ddba132..58ca61f3f7c4 100644 ---- a/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go -+++ b/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go -@@ -90,7 +90,6 @@ func parseInfoFile(r io.Reader, filter FilterFunc) ([]*Info, error) { - mount propagation flags in fields[6]. The correct - behavior is to ignore any unknown optional fields. - */ -- break - } - } - if i == numFields { -diff --git a/vendor/github.com/docker/docker/pkg/namesgenerator/names-generator.go b/vendor/github.com/docker/docker/pkg/namesgenerator/names-generator.go -index f3f46055ef3e..3c42cff5e335 100644 ---- a/vendor/github.com/docker/docker/pkg/namesgenerator/names-generator.go -+++ b/vendor/github.com/docker/docker/pkg/namesgenerator/names-generator.go -@@ -153,7 +153,7 @@ var ( - // Stefan Banach - Polish mathematician, was one of the founders of modern functional analysis. https://en.wikipedia.org/wiki/Stefan_Banach - "banach", - -- // Buckaroo Banzai and his mentor Dr. Hikita perfectd the "oscillation overthruster", a device that allows one to pass through solid matter. - https://en.wikipedia.org/wiki/The_Adventures_of_Buckaroo_Banzai_Across_the_8th_Dimension -+ // Buckaroo Banzai and his mentor Dr. Hikita perfected the "oscillation overthruster", a device that allows one to pass through solid matter. - https://en.wikipedia.org/wiki/The_Adventures_of_Buckaroo_Banzai_Across_the_8th_Dimension - "banzai", - - // John Bardeen co-invented the transistor - https://en.wikipedia.org/wiki/John_Bardeen -diff --git a/vendor/github.com/docker/docker/pkg/pools/pools.go b/vendor/github.com/docker/docker/pkg/pools/pools.go -index 3b978fd3b583..3792c67a9e45 100644 ---- a/vendor/github.com/docker/docker/pkg/pools/pools.go -+++ b/vendor/github.com/docker/docker/pkg/pools/pools.go -@@ -62,24 +62,23 @@ type bufferPool struct { - func newBufferPoolWithSize(size int) *bufferPool { - return &bufferPool{ - pool: sync.Pool{ -- New: func() interface{} { return make([]byte, size) }, -+ New: func() interface{} { s := make([]byte, size); return &s }, - }, - } - } - --func (bp *bufferPool) Get() []byte { -- return bp.pool.Get().([]byte) -+func (bp *bufferPool) Get() *[]byte { -+ return bp.pool.Get().(*[]byte) - } - --func (bp *bufferPool) Put(b []byte) { -- //nolint:staticcheck // TODO changing this to a pointer makes tests fail. Investigate if we should change or not (otherwise remove this TODO) -+func (bp *bufferPool) Put(b *[]byte) { - bp.pool.Put(b) - } - - // Copy is a convenience wrapper which uses a buffer to avoid allocation in io.Copy. - func Copy(dst io.Writer, src io.Reader) (written int64, err error) { - buf := buffer32KPool.Get() -- written, err = io.CopyBuffer(dst, src, buf) -+ written, err = io.CopyBuffer(dst, src, *buf) - buffer32KPool.Put(buf) - return - } -diff --git a/vendor/github.com/docker/docker/pkg/system/init_windows.go b/vendor/github.com/docker/docker/pkg/system/init_windows.go -index f303aa906392..7e4ac55d76da 100644 ---- a/vendor/github.com/docker/docker/pkg/system/init_windows.go -+++ b/vendor/github.com/docker/docker/pkg/system/init_windows.go -@@ -18,8 +18,7 @@ var ( - - // InitLCOW sets whether LCOW is supported or not. Requires RS5+ - func InitLCOW(experimental bool) { -- v := GetOSVersion() -- if experimental && v.Build >= osversion.RS5 { -+ if experimental && osversion.Build() >= osversion.RS5 { - lcowSupported = true - } - } -diff --git a/vendor/github.com/docker/docker/pkg/system/syscall_windows.go b/vendor/github.com/docker/docker/pkg/system/syscall_windows.go -index eb19f9c850cd..67bec7e30b1b 100644 ---- a/vendor/github.com/docker/docker/pkg/system/syscall_windows.go -+++ b/vendor/github.com/docker/docker/pkg/system/syscall_windows.go -@@ -5,6 +5,7 @@ import ( - "syscall" - "unsafe" - -+ "github.com/Microsoft/hcsshim/osversion" - "github.com/sirupsen/logrus" - "golang.org/x/sys/windows" - ) -@@ -61,12 +62,7 @@ var ( - - // OSVersion is a wrapper for Windows version information - // https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).aspx --type OSVersion struct { -- Version uint32 -- MajorVersion uint8 -- MinorVersion uint8 -- Build uint16 --} -+type OSVersion osversion.OSVersion - - // https://msdn.microsoft.com/en-us/library/windows/desktop/ms724833(v=vs.85).aspx - type osVersionInfoEx struct { -@@ -85,18 +81,9 @@ type osVersionInfoEx struct { - - // GetOSVersion gets the operating system version on Windows. Note that - // dockerd.exe must be manifested to get the correct version information. -+// Deprecated: use github.com/Microsoft/hcsshim/osversion.Get() instead - func GetOSVersion() OSVersion { -- var err error -- osv := OSVersion{} -- osv.Version, err = windows.GetVersion() -- if err != nil { -- // GetVersion never fails. -- panic(err) -- } -- osv.MajorVersion = uint8(osv.Version & 0xFF) -- osv.MinorVersion = uint8(osv.Version >> 8 & 0xFF) -- osv.Build = uint16(osv.Version >> 16) -- return osv -+ return OSVersion(osversion.Get()) - } - - func (osv OSVersion) ToString() string { -diff --git a/vendor/github.com/fsouza/go-dockerclient/Makefile b/vendor/github.com/fsouza/go-dockerclient/Makefile -index e0880ff67b9e..84e1bfaba0ac 100644 ---- a/vendor/github.com/fsouza/go-dockerclient/Makefile -+++ b/vendor/github.com/fsouza/go-dockerclient/Makefile -@@ -1,7 +1,6 @@ - .PHONY: \ - all \ - lint \ -- fmt \ - pretest \ - test \ - integration -@@ -12,10 +11,6 @@ lint: - cd /tmp && GO111MODULE=on go get github.com/golangci/golangci-lint/cmd/golangci-lint@latest - golangci-lint run - --fmt: -- GO111MODULE=off go get mvdan.cc/gofumpt -- gofumpt -s -w . -- - pretest: lint - - gotest: -diff --git a/vendor/github.com/fsouza/go-dockerclient/README.md b/vendor/github.com/fsouza/go-dockerclient/README.md -index b7af7d0b9f2d..f4ad8ca622f8 100644 ---- a/vendor/github.com/fsouza/go-dockerclient/README.md -+++ b/vendor/github.com/fsouza/go-dockerclient/README.md -@@ -18,10 +18,10 @@ documentation](https://docs.docker.com/engine/api/latest/). - Link for the official SDK: https://docs.docker.com/develop/sdk/ - - go-dockerclient was created before Docker had an official Go SDK and is --still maintained and relatively active because it's still used out there. New --features in the Docker API do not get automatically implemented here: it's --based on demand, if someone wants it, they can file an issue or a PR and the --feature may get implemented/merged. -+still maintained and active because it's still used out there. New features in -+the Docker API do not get automatically implemented here: it's based on demand, -+if someone wants it, they can file an issue or a PR and the feature may get -+implemented/merged. - - For new projects, using the official SDK is probably more appropriate as - go-dockerclient lags behind the official SDK. -@@ -105,7 +105,10 @@ import ( - ) - - func main() { -- client, _ := docker.NewClientFromEnv() -+ client, err := docker.NewClientFromEnv() -+ if err != nil { -+ // handle err -+ } - // use client - } - ``` -@@ -118,12 +121,11 @@ All development commands can be seen in the [Makefile](Makefile). - - Commited code must pass: - --* [golangci-lint](integration_unix_test.go) --* [gofumpt](https://github.com/mvdan/gofumpt) -+* [golangci-lint](https://github.com/golangci/golangci-lint) - * [go test](https://golang.org/cmd/go/#hdr-Test_packages) - --Running ``make test`` will check all of these. You can reformat the code with --``make fmt``. -+Running ``make test`` will run all checks, as well as install any required -+dependencies. - - ## Modules - -@@ -133,7 +135,7 @@ If you're using dep, you can check the [releases - page](https://github.com/fsouza/go-dockerclient/releases) for the latest - release fully compatible with dep. - --With other vendoring tools, users might need to specify go-dockerclient's -+With other vendoring tools, users need to specify go-dockerclient's - dependencies manually. - - ## Using with Docker 1.9 and Go 1.4 -diff --git a/vendor/github.com/fsouza/go-dockerclient/appveyor.yml b/vendor/github.com/fsouza/go-dockerclient/appveyor.yml -index d9f374f50aa2..e1574cfc23f7 100644 ---- a/vendor/github.com/fsouza/go-dockerclient/appveyor.yml -+++ b/vendor/github.com/fsouza/go-dockerclient/appveyor.yml -@@ -7,8 +7,8 @@ environment: - GOPROXY: https://proxy.golang.org - GO111MODULE: on - matrix: -- - GOVERSION: "1.12.10" -- - GOVERSION: "1.13.1" -+ - GOVERSION: "1.12.13" -+ - GOVERSION: "1.13.4" - install: - - choco install make - - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% -diff --git a/vendor/github.com/fsouza/go-dockerclient/container.go b/vendor/github.com/fsouza/go-dockerclient/container.go -index 0a8ab361cb97..f6bfb59dc99e 100644 ---- a/vendor/github.com/fsouza/go-dockerclient/container.go -+++ b/vendor/github.com/fsouza/go-dockerclient/container.go -@@ -546,26 +546,31 @@ func (c *Client) RenameContainer(opts RenameContainerOptions) error { - - // InspectContainer returns information about a container by its ID. - // --// See https://goo.gl/FaI5JT for more details. -+// Deprecated: Use InspectContainerWithOptions instead. - func (c *Client) InspectContainer(id string) (*Container, error) { -- return c.inspectContainer(id, doOptions{}) -+ return c.InspectContainerWithOptions(InspectContainerOptions{ID: id}) - } - - // InspectContainerWithContext returns information about a container by its ID. - // The context object can be used to cancel the inspect request. - // --// See https://goo.gl/FaI5JT for more details. -+// Deprecated: Use InspectContainerWithOptions instead. - //nolint:golint - func (c *Client) InspectContainerWithContext(id string, ctx context.Context) (*Container, error) { -- return c.inspectContainer(id, doOptions{context: ctx}) -+ return c.InspectContainerWithOptions(InspectContainerOptions{ID: id, Context: ctx}) - } - --func (c *Client) inspectContainer(id string, opts doOptions) (*Container, error) { -- path := "/containers/" + id + "/json" -- resp, err := c.do(http.MethodGet, path, opts) -+// InspectContainerWithOptions returns information about a container by its ID. -+// -+// See https://goo.gl/FaI5JT for more details. -+func (c *Client) InspectContainerWithOptions(opts InspectContainerOptions) (*Container, error) { -+ path := "/containers/" + opts.ID + "/json?" + queryString(opts) -+ resp, err := c.do(http.MethodGet, path, doOptions{ -+ context: opts.Context, -+ }) - if err != nil { - if e, ok := err.(*Error); ok && e.Status == http.StatusNotFound { -- return nil, &NoSuchContainer{ID: id} -+ return nil, &NoSuchContainer{ID: opts.ID} - } - return nil, err - } -@@ -577,6 +582,15 @@ func (c *Client) inspectContainer(id string, opts doOptions) (*Container, error) - return &container, nil - } - -+// InspectContainerOptions specifies parameters for InspectContainerWithOptions. -+// -+// See https://goo.gl/FaI5JT for more details. -+type InspectContainerOptions struct { -+ Context context.Context -+ ID string `qs:"-"` -+ Size bool -+} -+ - // ContainerChanges returns changes in the filesystem of the given container. - // - // See https://goo.gl/15KKzh for more details. -diff --git a/vendor/github.com/fsouza/go-dockerclient/go.mod b/vendor/github.com/fsouza/go-dockerclient/go.mod -index cb0ef690c43f..7bb88972ca82 100644 ---- a/vendor/github.com/fsouza/go-dockerclient/go.mod -+++ b/vendor/github.com/fsouza/go-dockerclient/go.mod -@@ -4,16 +4,13 @@ go 1.12 - - require ( - github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect -- github.com/Microsoft/go-winio v0.4.14 -- github.com/Microsoft/hcsshim v0.8.6 // indirect -+ github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 -+ github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c // indirect - github.com/containerd/containerd v1.3.0 // indirect -- github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 // indirect - github.com/docker/distribution v2.7.1+incompatible // indirect -- github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce -+ github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 - github.com/docker/go-connections v0.4.0 // indirect - github.com/docker/go-units v0.4.0 -- github.com/gogo/protobuf v1.2.1 // indirect -- github.com/golang/protobuf v1.3.0 // indirect - github.com/google/go-cmp v0.3.1 - github.com/gorilla/mux v1.7.3 - github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect -@@ -22,5 +19,4 @@ require ( - github.com/opencontainers/runc v0.1.1 // indirect - golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad - google.golang.org/grpc v1.22.0 // indirect -- gotest.tools v2.2.0+incompatible // indirect - ) -diff --git a/vendor/github.com/fsouza/go-dockerclient/go.sum b/vendor/github.com/fsouza/go-dockerclient/go.sum -index c4df2e9569e5..ce78fee7a941 100644 ---- a/vendor/github.com/fsouza/go-dockerclient/go.sum -+++ b/vendor/github.com/fsouza/go-dockerclient/go.sum -@@ -2,85 +2,134 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT - github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= - github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= - github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= --github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU= --github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= --github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA= --github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -+github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c h1:YMP6olTU903X3gxQJckdmiP8/zkSMq4kN3uipsU9XjU= -+github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c/go.mod h1:7xhjOwRV2+0HXGmM0jxaEu+ZiXJFoVZOTfL/dmqbrD8= -+github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= - github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -+github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -+github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= - github.com/containerd/containerd v1.3.0 h1:xjvXQWABwS2uiv3TWgQt5Uth60Gu86LTGZXMJkjc7rY= - github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= --github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882bXEDKfWIf0wa8HRvpnBoPszJJXL+TVbBw4M= --github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc h1:TP+534wVlf61smEIq1nwLLAjQVEK2EADoW3CX9AuT+8= -+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -+github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -+github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -+github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -+github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= - 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/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug= - github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= --github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce h1:H3csZuxZESJeeEiOxq4YXPNmLFbjl7u2qVBrAAGX/sA= --github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -+github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 h1:oqgGT9O61YAYvI41EBsLePOr+LE6roB0xY4gpkZuFSE= -+github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= - github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= - github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= - github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= - github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= - github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= - github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= - github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= - github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= - github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= --github.com/golang/protobuf v1.3.0 h1:kbxbvI4Un1LUWKxufD+BiE6AEExYYgkQLQmLFqA1LFk= --github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= -+github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= -+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= - github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= - github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= - github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= - github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= - github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -+github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -+github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= -+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= -+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= - github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= - github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= - 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/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= - github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -+github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= - github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= - github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= - github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= - github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -+github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v0.1.1 h1:GlxAyO6x8rfZYN9Tt0Kti5a/cP41iuiO2yYT0IJGY8Y= - github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -+github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -+github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= - github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= - github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= - 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/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= - github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k= - github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= - 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= -+github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -+github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -+github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -+github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -+github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= -+go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= -+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= - golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= - golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= - golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad h1:5E5raQxcv+6CZ11RrBYQe5WRbUIWpScjh0kvHZkZIrQ= - golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= - golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= --golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= - golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= - golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= - golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= - golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= - golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= - golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= - golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= - golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= - golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= --golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b h1:ag/x1USPSsqHud38I9BAC88qdNLDHHtQ4mlgQIZPPNA= --golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= - golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= - golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= - golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= - google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= - google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= --google.golang.org/genproto v0.0.0-20180831171423-11092d34479b h1:lohp5blsw53GBXtLyLNaTXPXS9pJ1tiTw61ZHUoE9Qw= --google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb h1:i1Ppqkc3WQXikh8bXiwHqAN5Rv3/qDCcRk0/Otx73BY= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= - google.golang.org/grpc v1.22.0 h1:J0UbZOIrCAl+fpTOf8YLs4dJo8L/owV4LYVtAXQoPkw= - google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= - gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= - gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= - honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -+k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= -diff --git a/vendor/k8s.io/client-go/pkg/version/base.go b/vendor/k8s.io/client-go/pkg/version/base.go -index e95b17bb4670..9b4c79f89519 100644 ---- a/vendor/k8s.io/client-go/pkg/version/base.go -+++ b/vendor/k8s.io/client-go/pkg/version/base.go -@@ -55,8 +55,8 @@ var ( - // NOTE: The $Format strings are replaced during 'git archive' thanks to the - // companion .gitattributes file containing 'export-subst' in this same - // directory. See also https://git-scm.com/docs/gitattributes -- gitVersion string = "v0.0.0-master+5cc92849f7" -- gitCommit string = "5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26" // sha1 from git, output of $(git rev-parse HEAD) -+ gitVersion string = "v0.0.0-master+$Format:%h$" -+ gitCommit string = "$Format:%H$" // sha1 from git, output of $(git rev-parse HEAD) - gitTreeState string = "" // state of git tree, either "clean" or "dirty" - - buildDate string = "1970-01-01T00:00:00Z" // build date in ISO8601 format, output of $(date -u +'%Y-%m-%dT%H:%M:%SZ') -diff --git a/vendor/modules.txt b/vendor/modules.txt -index 96aab0a0fb8e..43a9627fe01b 100644 ---- a/vendor/modules.txt -+++ b/vendor/modules.txt -@@ -61,7 +61,7 @@ github.com/containernetworking/plugins/pkg/ns - github.com/containernetworking/plugins/pkg/utils/hwaddr - github.com/containernetworking/plugins/plugins/ipam/host-local/backend - github.com/containernetworking/plugins/plugins/ipam/host-local/backend/allocator --# github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 -+# github.com/containers/buildah v1.11.5 - github.com/containers/buildah - github.com/containers/buildah/bind - github.com/containers/buildah/chroot -@@ -204,7 +204,7 @@ github.com/docker/distribution/registry/client/auth/challenge - github.com/docker/distribution/registry/client/transport - github.com/docker/distribution/registry/storage/cache - github.com/docker/distribution/registry/storage/cache/memory --# github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce -+# github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 - github.com/docker/docker/api - github.com/docker/docker/api/types - github.com/docker/docker/api/types/blkiodev -@@ -264,7 +264,7 @@ github.com/etcd-io/bbolt - github.com/fatih/camelcase - # github.com/fsnotify/fsnotify v1.4.7 - github.com/fsnotify/fsnotify --# github.com/fsouza/go-dockerclient v1.5.0 -+# github.com/fsouza/go-dockerclient v1.6.0 - github.com/fsouza/go-dockerclient - # github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa - github.com/fullsailor/pkcs7 --- -2.26.2 - diff --git a/SOURCES/5085.patch b/SOURCES/5085.patch deleted file mode 100644 index 2b04368..0000000 --- a/SOURCES/5085.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 03faf97aa07f92712e4c5ffac3194ee27cec5aea Mon Sep 17 00:00:00 2001 -From: Daniel J Walsh -Date: Tue, 4 Feb 2020 13:12:01 -0500 -Subject: [PATCH] Close tarSource when finished using it - -Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1797599 - -Signed-off-by: Daniel J Walsh ---- - libpod/image/pull.go | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libpod/image/pull.go b/libpod/image/pull.go -index 76294ba06f..fd359d5931 100644 ---- a/libpod/image/pull.go -+++ b/libpod/image/pull.go -@@ -126,6 +126,7 @@ func (ir *Runtime) pullGoalFromImageReference(ctx context.Context, srcRef types. - if err != nil { - return nil, err - } -+ defer tarSource.Close() - manifest, err := tarSource.LoadTarManifest() - - if err != nil { diff --git a/SOURCES/podman-1775647.patch b/SOURCES/podman-1775647.patch deleted file mode 100644 index 36b3796..0000000 --- a/SOURCES/podman-1775647.patch +++ /dev/null @@ -1,500 +0,0 @@ -From 25cc43c376c5ddfa70a6009526f8f03b5235c2c6 Mon Sep 17 00:00:00 2001 -From: Matthew Heon -Date: Mon, 11 Nov 2019 09:52:13 -0500 -Subject: [PATCH 1/2] Add ContainerStateRemoving - -When Libpod removes a container, there is the possibility that -removal will not fully succeed. The most notable problems are -storage issues, where the container cannot be removed from -c/storage. - -When this occurs, we were faced with a choice. We can keep the -container in the state, appearing in `podman ps` and available for -other API operations, but likely unable to do any of them as it's -been partially removed. Or we can remove it very early and clean -up after it's already gone. We have, until now, used the second -approach. - -The problem that arises is intermittent problems removing -storage. We end up removing a container, failing to remove its -storage, and ending up with a container permanently stuck in -c/storage that we can't remove with the normal Podman CLI, can't -use the name of, and generally can't interact with. A notable -cause is when Podman is hit by a SIGKILL midway through removal, -which can consistently cause `podman rm` to fail to remove -storage. - -We now add a new state for containers that are in the process of -being removed, ContainerStateRemoving. We set this at the -beginning of the removal process. It notifies Podman that the -container cannot be used anymore, but preserves it in the DB -until it is fully removed. This will allow Remove to be run on -these containers again, which should successfully remove storage -if it fails. - -Fixes #3906 - -Signed-off-by: Matthew Heon ---- - cmd/podman/shared/container.go | 2 + - libpod/container_api.go | 17 +++++- - libpod/container_internal.go | 5 +- - libpod/container_internal_linux.go | 5 +- - libpod/define/containerstate.go | 7 +++ - libpod/options.go | 84 +++++------------------------- - libpod/runtime_ctr.go | 55 +++++++++++-------- - libpod/util.go | 25 +++++++++ - 8 files changed, 105 insertions(+), 95 deletions(-) - -diff --git a/cmd/podman/shared/container.go b/cmd/podman/shared/container.go -index f49943477f..0a2e96cf7f 100644 ---- a/cmd/podman/shared/container.go -+++ b/cmd/podman/shared/container.go -@@ -195,6 +195,8 @@ func NewBatchContainer(ctr *libpod.Container, opts PsOptions) (PsContainerOutput - status = "Paused" - case define.ContainerStateCreated.String(), define.ContainerStateConfigured.String(): - status = "Created" -+ case define.ContainerStateRemoving.String(): -+ status = "Removing" - default: - status = "Error" - } -diff --git a/libpod/container_api.go b/libpod/container_api.go -index b8cfe02f6f..153a1d628e 100644 ---- a/libpod/container_api.go -+++ b/libpod/container_api.go -@@ -404,6 +404,11 @@ func (c *Container) Mount() (string, error) { - return "", err - } - } -+ -+ if c.state.State == define.ContainerStateRemoving { -+ return "", errors.Wrapf(define.ErrCtrStateInvalid, "cannot mount container %s as it is being removed", c.ID()) -+ } -+ - defer c.newContainerEvent(events.Mount) - return c.mount() - } -@@ -488,7 +493,12 @@ func (c *Container) Export(path string) error { - return err - } - } -- defer c.newContainerEvent(events.Export) -+ -+ if c.state.State == define.ContainerStateRemoving { -+ return errors.Wrapf(define.ErrCtrStateInvalid, "cannot mount container %s as it is being removed", c.ID()) -+ } -+ -+ defer c.newContainerEvent(events.Mount) - return c.export(path) - } - -@@ -674,6 +684,10 @@ func (c *Container) Refresh(ctx context.Context) error { - } - } - -+ if c.state.State == define.ContainerStateRemoving { -+ return errors.Wrapf(define.ErrCtrStateInvalid, "cannot refresh containers that are being removed") -+ } -+ - wasCreated := false - if c.state.State == define.ContainerStateCreated { - wasCreated = true -@@ -819,7 +833,6 @@ func (c *Container) Checkpoint(ctx context.Context, options ContainerCheckpointO - return err - } - } -- defer c.newContainerEvent(events.Checkpoint) - return c.checkpoint(ctx, options) - } - -diff --git a/libpod/container_internal.go b/libpod/container_internal.go -index 4ff1913b52..1e8a8a5808 100644 ---- a/libpod/container_internal.go -+++ b/libpod/container_internal.go -@@ -719,7 +719,8 @@ func (c *Container) isStopped() (bool, error) { - if err != nil { - return true, err - } -- return c.state.State != define.ContainerStateRunning && c.state.State != define.ContainerStatePaused, nil -+ -+ return !c.ensureState(define.ContainerStateRunning, define.ContainerStatePaused), nil - } - - // save container state to the database -@@ -1057,6 +1058,8 @@ func (c *Container) initAndStart(ctx context.Context) (err error) { - // If we are ContainerStateUnknown, throw an error - if c.state.State == define.ContainerStateUnknown { - return errors.Wrapf(define.ErrCtrStateInvalid, "container %s is in an unknown state", c.ID()) -+ } else if c.state.State == define.ContainerStateRemoving { -+ return errors.Wrapf(define.ErrCtrStateInvalid, "cannot start container %s as it is being removed", c.ID()) - } - - // If we are running, do nothing -diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go -index 26d6771b0f..aca7bdc67a 100644 ---- a/libpod/container_internal_linux.go -+++ b/libpod/container_internal_linux.go -@@ -21,6 +21,7 @@ import ( - "github.com/containernetworking/plugins/pkg/ns" - "github.com/containers/buildah/pkg/secrets" - "github.com/containers/libpod/libpod/define" -+ "github.com/containers/libpod/libpod/events" - "github.com/containers/libpod/pkg/annotations" - "github.com/containers/libpod/pkg/apparmor" - "github.com/containers/libpod/pkg/cgroups" -@@ -695,6 +696,8 @@ func (c *Container) checkpoint(ctx context.Context, options ContainerCheckpointO - return err - } - -+ defer c.newContainerEvent(events.Checkpoint) -+ - if options.TargetFile != "" { - if err = c.exportCheckpoint(options.TargetFile, options.IgnoreRootfs); err != nil { - return err -@@ -766,7 +769,7 @@ func (c *Container) restore(ctx context.Context, options ContainerCheckpointOpti - return err - } - -- if (c.state.State != define.ContainerStateConfigured) && (c.state.State != define.ContainerStateExited) { -+ if !c.ensureState(define.ContainerStateConfigured, define.ContainerStateExited) { - return errors.Wrapf(define.ErrCtrStateInvalid, "container %s is running or paused, cannot restore", c.ID()) - } - -diff --git a/libpod/define/containerstate.go b/libpod/define/containerstate.go -index ab2527b3ee..e7d258e214 100644 ---- a/libpod/define/containerstate.go -+++ b/libpod/define/containerstate.go -@@ -25,6 +25,9 @@ const ( - // ContainerStateExited indicates the the container has stopped and been - // cleaned up - ContainerStateExited ContainerStatus = iota -+ // ContainerStateRemoving indicates the container is in the process of -+ // being removed. -+ ContainerStateRemoving ContainerStatus = iota - ) - - // ContainerStatus returns a string representation for users -@@ -45,6 +48,8 @@ func (t ContainerStatus) String() string { - return "paused" - case ContainerStateExited: - return "exited" -+ case ContainerStateRemoving: -+ return "removing" - } - return "bad state" - } -@@ -67,6 +72,8 @@ func StringToContainerStatus(status string) (ContainerStatus, error) { - return ContainerStatePaused, nil - case ContainerStateExited.String(): - return ContainerStateExited, nil -+ case ContainerStateRemoving.String(): -+ return ContainerStateRemoving, nil - default: - return ContainerStateUnknown, errors.Wrapf(ErrInvalidArg, "unknown container state: %s", status) - } -diff --git a/libpod/options.go b/libpod/options.go -index bfbbb9e2da..19c776cf06 100644 ---- a/libpod/options.go -+++ b/libpod/options.go -@@ -768,16 +768,8 @@ func WithIPCNSFrom(nsCtr *Container) CtrCreateOption { - return define.ErrCtrFinalized - } - -- if !nsCtr.valid { -- return define.ErrCtrRemoved -- } -- -- if nsCtr.ID() == ctr.ID() { -- return errors.Wrapf(define.ErrInvalidArg, "must specify another container") -- } -- -- if ctr.config.Pod != "" && nsCtr.config.Pod != ctr.config.Pod { -- return errors.Wrapf(define.ErrInvalidArg, "container has joined pod %s and dependency container %s is not a member of the pod", ctr.config.Pod, nsCtr.ID()) -+ if err := checkDependencyContainer(nsCtr, ctr); err != nil { -+ return err - } - - ctr.config.IPCNsCtr = nsCtr.ID() -@@ -796,16 +788,8 @@ func WithMountNSFrom(nsCtr *Container) CtrCreateOption { - return define.ErrCtrFinalized - } - -- if !nsCtr.valid { -- return define.ErrCtrRemoved -- } -- -- if nsCtr.ID() == ctr.ID() { -- return errors.Wrapf(define.ErrInvalidArg, "must specify another container") -- } -- -- if ctr.config.Pod != "" && nsCtr.config.Pod != ctr.config.Pod { -- return errors.Wrapf(define.ErrInvalidArg, "container has joined pod %s and dependency container %s is not a member of the pod", ctr.config.Pod, nsCtr.ID()) -+ if err := checkDependencyContainer(nsCtr, ctr); err != nil { -+ return err - } - - ctr.config.MountNsCtr = nsCtr.ID() -@@ -824,22 +808,14 @@ func WithNetNSFrom(nsCtr *Container) CtrCreateOption { - return define.ErrCtrFinalized - } - -- if !nsCtr.valid { -- return define.ErrCtrRemoved -- } -- -- if nsCtr.ID() == ctr.ID() { -- return errors.Wrapf(define.ErrInvalidArg, "must specify another container") -+ if err := checkDependencyContainer(nsCtr, ctr); err != nil { -+ return err - } - - if ctr.config.CreateNetNS { - return errors.Wrapf(define.ErrInvalidArg, "cannot join another container's net ns as we are making a new net ns") - } - -- if ctr.config.Pod != "" && nsCtr.config.Pod != ctr.config.Pod { -- return errors.Wrapf(define.ErrInvalidArg, "container has joined pod %s and dependency container %s is not a member of the pod", ctr.config.Pod, nsCtr.ID()) -- } -- - ctr.config.NetNsCtr = nsCtr.ID() - - return nil -@@ -856,16 +832,8 @@ func WithPIDNSFrom(nsCtr *Container) CtrCreateOption { - return define.ErrCtrFinalized - } - -- if !nsCtr.valid { -- return define.ErrCtrRemoved -- } -- -- if nsCtr.ID() == ctr.ID() { -- return errors.Wrapf(define.ErrInvalidArg, "must specify another container") -- } -- -- if ctr.config.Pod != "" && nsCtr.config.Pod != ctr.config.Pod { -- return errors.Wrapf(define.ErrInvalidArg, "container has joined pod %s and dependency container %s is not a member of the pod", ctr.config.Pod, nsCtr.ID()) -+ if err := checkDependencyContainer(nsCtr, ctr); err != nil { -+ return err - } - - if ctr.config.NoCgroups { -@@ -888,16 +856,8 @@ func WithUserNSFrom(nsCtr *Container) CtrCreateOption { - return define.ErrCtrFinalized - } - -- if !nsCtr.valid { -- return define.ErrCtrRemoved -- } -- -- if nsCtr.ID() == ctr.ID() { -- return errors.Wrapf(define.ErrInvalidArg, "must specify another container") -- } -- -- if ctr.config.Pod != "" && nsCtr.config.Pod != ctr.config.Pod { -- return errors.Wrapf(define.ErrInvalidArg, "container has joined pod %s and dependency container %s is not a member of the pod", ctr.config.Pod, nsCtr.ID()) -+ if err := checkDependencyContainer(nsCtr, ctr); err != nil { -+ return err - } - - ctr.config.UserNsCtr = nsCtr.ID() -@@ -917,16 +877,8 @@ func WithUTSNSFrom(nsCtr *Container) CtrCreateOption { - return define.ErrCtrFinalized - } - -- if !nsCtr.valid { -- return define.ErrCtrRemoved -- } -- -- if nsCtr.ID() == ctr.ID() { -- return errors.Wrapf(define.ErrInvalidArg, "must specify another container") -- } -- -- if ctr.config.Pod != "" && nsCtr.config.Pod != ctr.config.Pod { -- return errors.Wrapf(define.ErrInvalidArg, "container has joined pod %s and dependency container %s is not a member of the pod", ctr.config.Pod, nsCtr.ID()) -+ if err := checkDependencyContainer(nsCtr, ctr); err != nil { -+ return err - } - - ctr.config.UTSNsCtr = nsCtr.ID() -@@ -945,16 +897,8 @@ func WithCgroupNSFrom(nsCtr *Container) CtrCreateOption { - return define.ErrCtrFinalized - } - -- if !nsCtr.valid { -- return define.ErrCtrRemoved -- } -- -- if nsCtr.ID() == ctr.ID() { -- return errors.Wrapf(define.ErrInvalidArg, "must specify another container") -- } -- -- if ctr.config.Pod != "" && nsCtr.config.Pod != ctr.config.Pod { -- return errors.Wrapf(define.ErrInvalidArg, "container has joined pod %s and dependency container %s is not a member of the pod", ctr.config.Pod, nsCtr.ID()) -+ if err := checkDependencyContainer(nsCtr, ctr); err != nil { -+ return err - } - - ctr.config.CgroupNsCtr = nsCtr.ID() -diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go -index 7069d34940..ae401013c8 100644 ---- a/libpod/runtime_ctr.go -+++ b/libpod/runtime_ctr.go -@@ -489,32 +489,19 @@ func (r *Runtime) removeContainer(ctx context.Context, c *Container, force bool, - } - } - -- var cleanupErr error -- // Remove the container from the state -- if c.config.Pod != "" { -- // If we're removing the pod, the container will be evicted -- // from the state elsewhere -- if !removePod { -- if err := r.state.RemoveContainerFromPod(pod, c); err != nil { -- cleanupErr = err -- } -- } -- } else { -- if err := r.state.RemoveContainer(c); err != nil { -- cleanupErr = err -- } -+ // Set ContainerStateRemoving and remove exec sessions -+ c.state.State = define.ContainerStateRemoving -+ c.state.ExecSessions = nil -+ -+ if err := c.save(); err != nil { -+ return errors.Wrapf(err, "unable to set container %s removing state in database", c.ID()) - } - -- // Set container as invalid so it can no longer be used -- c.valid = false -+ var cleanupErr error - - // Clean up network namespace, cgroups, mounts - if err := c.cleanup(ctx); err != nil { -- if cleanupErr == nil { -- cleanupErr = errors.Wrapf(err, "error cleaning up container %s", c.ID()) -- } else { -- logrus.Errorf("cleanup network, cgroups, mounts: %v", err) -- } -+ cleanupErr = errors.Wrapf(err, "error cleaning up container %s", c.ID()) - } - - // Stop the container's storage -@@ -540,6 +527,29 @@ func (r *Runtime) removeContainer(ctx context.Context, c *Container, force bool, - } - } - -+ // Remove the container from the state -+ if c.config.Pod != "" { -+ // If we're removing the pod, the container will be evicted -+ // from the state elsewhere -+ if !removePod { -+ if err := r.state.RemoveContainerFromPod(pod, c); err != nil { -+ if cleanupErr == nil { -+ cleanupErr = err -+ } else { -+ logrus.Errorf("Error removing container %s from database: %v", c.ID(), err) -+ } -+ } -+ } -+ } else { -+ if err := r.state.RemoveContainer(c); err != nil { -+ if cleanupErr == nil { -+ cleanupErr = err -+ } else { -+ logrus.Errorf("Error removing container %s from database: %v", c.ID(), err) -+ } -+ } -+ } -+ - // Deallocate the container's lock - if err := c.lock.Free(); err != nil { - if cleanupErr == nil { -@@ -549,6 +559,9 @@ func (r *Runtime) removeContainer(ctx context.Context, c *Container, force bool, - } - } - -+ // Set container as invalid so it can no longer be used -+ c.valid = false -+ - c.newContainerEvent(events.Remove) - - if !removeVolume { -diff --git a/libpod/util.go b/libpod/util.go -index bae2f4eb83..30e5cd4c33 100644 ---- a/libpod/util.go -+++ b/libpod/util.go -@@ -206,3 +206,28 @@ func DefaultSeccompPath() (string, error) { - } - return config.SeccompDefaultPath, nil - } -+ -+// CheckDependencyContainer verifies the given container can be used as a -+// dependency of another container. -+// Both the dependency to check and the container that will be using the -+// dependency must be passed in. -+// It is assumed that ctr is locked, and depCtr is unlocked. -+func checkDependencyContainer(depCtr, ctr *Container) error { -+ state, err := depCtr.State() -+ if err != nil { -+ return errors.Wrapf(err, "error accessing dependency container %s state", depCtr.ID()) -+ } -+ if state == define.ContainerStateRemoving { -+ return errors.Wrapf(define.ErrCtrStateInvalid, "cannot use container %s as a dependency as it is being removed", depCtr.ID()) -+ } -+ -+ if depCtr.ID() == ctr.ID() { -+ return errors.Wrapf(define.ErrInvalidArg, "must specify another container") -+ } -+ -+ if ctr.config.Pod != "" && depCtr.PodID() != ctr.config.Pod { -+ return errors.Wrapf(define.ErrInvalidArg, "container has joined pod %s and dependency container %s is not a member of the pod", ctr.config.Pod, depCtr.ID()) -+ } -+ -+ return nil -+} - -From 6c405b5fbcc83ba49c187087eb4e1ccc1a7ff147 Mon Sep 17 00:00:00 2001 -From: Matthew Heon -Date: Mon, 11 Nov 2019 14:36:00 -0500 -Subject: [PATCH 2/2] Error on netns not exist only when ctr is running - -If the container is running and we need to get its netns and -can't, that is a serious bug deserving of errors. - -If it's not running, that's not really a big deal. Log an error -and continue. - -Signed-off-by: Matthew Heon ---- - libpod/boltdb_state_linux.go | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/libpod/boltdb_state_linux.go b/libpod/boltdb_state_linux.go -index 09a9be6067..6ccda71bd5 100644 ---- a/libpod/boltdb_state_linux.go -+++ b/libpod/boltdb_state_linux.go -@@ -3,6 +3,8 @@ - package libpod - - import ( -+ "github.com/containers/libpod/libpod/define" -+ "github.com/pkg/errors" - "github.com/sirupsen/logrus" - ) - -@@ -25,8 +27,12 @@ func replaceNetNS(netNSPath string, ctr *Container, newState *ContainerState) er - if err == nil { - newState.NetNS = ns - } else { -+ if ctr.ensureState(define.ContainerStateRunning, define.ContainerStatePaused) { -+ return errors.Wrapf(err, "error joning network namespace of container %s", ctr.ID()) -+ } -+ - logrus.Errorf("error joining network namespace for container %s: %v", ctr.ID(), err) -- ctr.valid = false -+ ctr.state.NetNS = nil - } - } - } else { diff --git a/SOURCES/podman-1784950.patch b/SOURCES/podman-1784950.patch deleted file mode 100644 index 8d4ed08..0000000 --- a/SOURCES/podman-1784950.patch +++ /dev/null @@ -1,145 +0,0 @@ -From fb7d2b6bd6a16ffdbe4a69428e3ba5b487719e78 Mon Sep 17 00:00:00 2001 -From: Daniel J Walsh -Date: Tue, 17 Dec 2019 15:24:29 -0500 -Subject: [PATCH] Add support for FIPS-Mode backends - -If host is running in fips mode, then RHEL8.2 and beyond container images -will come with a directory /usr/share/crypto-policies/back-ends/FIPS. -This directory needs to be bind mounted over /etc/crypto-policies/back-ends in -order to make all tools in the container follow the FIPS Mode rules. - -Signed-off-by: Daniel J Walsh ---- - pkg/secrets/secrets.go | 48 +++++++++++++++++++++++++++++++++--------- - run_linux.go | 2 +- - 2 files changed, 39 insertions(+), 11 deletions(-) - -diff -up ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/pkg/secrets/secrets.go.1784950 ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/pkg/secrets/secrets.go ---- libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/pkg/secrets/secrets.go.1784950 2020-02-19 16:11:04.224932088 +0100 -+++ libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/pkg/secrets/secrets.go 2020-02-19 16:11:04.226932116 +0100 -@@ -148,12 +148,21 @@ func getMountsMap(path string) (string, - } - - // SecretMounts copies, adds, and mounts the secrets to the container root filesystem -+// Deprecated, Please use SecretMountWithUIDGID - func SecretMounts(mountLabel, containerWorkingDir, mountFile string, rootless, disableFips bool) []rspec.Mount { - return SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, containerWorkingDir, 0, 0, rootless, disableFips) - } - --// SecretMountsWithUIDGID specifies the uid/gid of the owner --func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPrefix string, uid, gid int, rootless, disableFips bool) []rspec.Mount { -+// SecretMountsWithUIDGID copies, adds, and mounts the secrets to the container root filesystem -+// mountLabel: MAC/SELinux label for container content -+// containerWorkingDir: Private data for storing secrets on the host mounted in container. -+// mountFile: Additional mount points required for the container. -+// mountPoint: Container image mountpoint -+// uid: to assign to content created for secrets -+// gid: to assign to content created for secrets -+// rootless: indicates whether container is running in rootless mode -+// disableFips: indicates whether system should ignore fips mode -+func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPoint string, uid, gid int, rootless, disableFips bool) []rspec.Mount { - var ( - secretMounts []rspec.Mount - mountFiles []string -@@ -171,7 +180,7 @@ func SecretMountsWithUIDGID(mountLabel, - } - for _, file := range mountFiles { - if _, err := os.Stat(file); err == nil { -- mounts, err := addSecretsFromMountsFile(file, mountLabel, containerWorkingDir, mountPrefix, uid, gid) -+ mounts, err := addSecretsFromMountsFile(file, mountLabel, containerWorkingDir, uid, gid) - if err != nil { - logrus.Warnf("error mounting secrets, skipping entry in %s: %v", file, err) - } -@@ -187,7 +196,7 @@ func SecretMountsWithUIDGID(mountLabel, - // Add FIPS mode secret if /etc/system-fips exists on the host - _, err := os.Stat("/etc/system-fips") - if err == nil { -- if err := addFIPSModeSecret(&secretMounts, containerWorkingDir, mountPrefix, mountLabel, uid, gid); err != nil { -+ if err := addFIPSModeSecret(&secretMounts, containerWorkingDir, mountPoint, mountLabel, uid, gid); err != nil { - logrus.Errorf("error adding FIPS mode secret to container: %v", err) - } - } else if os.IsNotExist(err) { -@@ -206,7 +215,7 @@ func rchown(chowndir string, uid, gid in - - // addSecretsFromMountsFile copies the contents of host directory to container directory - // and returns a list of mounts --func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir, mountPrefix string, uid, gid int) ([]rspec.Mount, error) { -+func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir string, uid, gid int) ([]rspec.Mount, error) { - var mounts []rspec.Mount - defaultMountsPaths := getMounts(filePath) - for _, path := range defaultMountsPaths { -@@ -285,7 +294,7 @@ func addSecretsFromMountsFile(filePath, - } - - m := rspec.Mount{ -- Source: filepath.Join(mountPrefix, ctrDirOrFile), -+ Source: ctrDirOrFileOnHost, - Destination: ctrDirOrFile, - Type: "bind", - Options: []string{"bind", "rprivate"}, -@@ -300,15 +309,15 @@ func addSecretsFromMountsFile(filePath, - // root filesystem if /etc/system-fips exists on hosts. - // This enables the container to be FIPS compliant and run openssl in - // FIPS mode as the host is also in FIPS mode. --func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPrefix, mountLabel string, uid, gid int) error { -+func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPoint, mountLabel string, uid, gid int) error { - secretsDir := "/run/secrets" - ctrDirOnHost := filepath.Join(containerWorkingDir, secretsDir) - if _, err := os.Stat(ctrDirOnHost); os.IsNotExist(err) { - if err = idtools.MkdirAllAs(ctrDirOnHost, 0755, uid, gid); err != nil { -- return errors.Wrapf(err, "making container directory on host failed") -+ return errors.Wrapf(err, "making container directory %q on host failed", ctrDirOnHost) - } - if err = label.Relabel(ctrDirOnHost, mountLabel, false); err != nil { -- return errors.Wrap(err, "error applying correct labels") -+ return errors.Wrapf(err, "error applying correct labels on %q", ctrDirOnHost) - } - } - fipsFile := filepath.Join(ctrDirOnHost, "system-fips") -@@ -323,7 +332,7 @@ func addFIPSModeSecret(mounts *[]rspec.M - - if !mountExists(*mounts, secretsDir) { - m := rspec.Mount{ -- Source: filepath.Join(mountPrefix, secretsDir), -+ Source: ctrDirOnHost, - Destination: secretsDir, - Type: "bind", - Options: []string{"bind", "rprivate"}, -@@ -331,6 +340,25 @@ func addFIPSModeSecret(mounts *[]rspec.M - *mounts = append(*mounts, m) - } - -+ srcBackendDir := "/usr/share/crypto-policies/back-ends/FIPS" -+ destDir := "/etc/crypto-policies/back-ends" -+ srcOnHost := filepath.Join(mountPoint, srcBackendDir) -+ if _, err := os.Stat(srcOnHost); err != nil { -+ if os.IsNotExist(err) { -+ return nil -+ } -+ return errors.Wrapf(err, "failed to stat FIPS Backend directory %q", ctrDirOnHost) -+ } -+ -+ if !mountExists(*mounts, destDir) { -+ m := rspec.Mount{ -+ Source: srcOnHost, -+ Destination: destDir, -+ Type: "bind", -+ Options: []string{"bind", "rprivate"}, -+ } -+ *mounts = append(*mounts, m) -+ } - return nil - } - -diff -up ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/run_linux.go.1784950 ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/run_linux.go ---- libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/run_linux.go.1784950 2020-02-19 16:11:04.197931712 +0100 -+++ libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/run_linux.go 2020-02-19 16:11:04.200931754 +0100 -@@ -460,7 +460,7 @@ func (b *Builder) setupMounts(mountPoint - } - - // Get the list of secrets mounts. -- secretMounts := secrets.SecretMountsWithUIDGID(b.MountLabel, cdir, b.DefaultMountsFilePath, cdir, int(rootUID), int(rootGID), unshare.IsRootless(), false) -+ secretMounts := secrets.SecretMountsWithUIDGID(b.MountLabel, cdir, b.DefaultMountsFilePath, mountPoint, int(rootUID), int(rootGID), unshare.IsRootless(), false) - - // Add temporary copies of the contents of volume locations at the - // volume locations, unless we already have something there. diff --git a/SOURCES/podman-1792243.patch b/SOURCES/podman-1792243.patch deleted file mode 100644 index 26b1268..0000000 --- a/SOURCES/podman-1792243.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/mtrmac/gpgme/gpgme.go.1792243 ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/mtrmac/gpgme/gpgme.go ---- libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/mtrmac/gpgme/gpgme.go.1792243 2020-01-20 14:15:24.017928970 +0100 -+++ libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/mtrmac/gpgme/gpgme.go 2020-01-20 14:15:24.019928990 +0100 -@@ -1,7 +1,7 @@ - // Package gpgme provides a Go wrapper for the GPGME library - package gpgme - --// #cgo LDFLAGS: -lgpgme -lassuan -lgpg-error -+// #cgo LDFLAGS: -lgpgme-pthread -lassuan -lgpg-error - // #cgo CPPFLAGS: -D_FILE_OFFSET_BITS=64 - // #include - // #include diff --git a/SOURCES/podman-1805212.patch b/SOURCES/podman-1805212.patch deleted file mode 100644 index 4617599..0000000 --- a/SOURCES/podman-1805212.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 6c97e0d5c140d587e5477d478159e91b8adcfd15 Mon Sep 17 00:00:00 2001 -From: Brent Baude -Date: Thu, 27 Feb 2020 14:39:31 -0600 -Subject: [PATCH 2/2] network create should use firewall plugin - -when creating a network, podman should add the firewall plugin to the config but not specify a backend. this will allow cni to determine whether it should use an iptables|firewalld backend. - -Signed-off-by: Brent Baude ---- - pkg/adapter/network.go | 1 + - pkg/network/netconflist.go | 1 - - 2 files changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pkg/network/netconflist.go b/pkg/network/netconflist.go -index a8217097ac..34ff000249 100644 ---- a/pkg/network/netconflist.go -+++ b/pkg/network/netconflist.go -@@ -110,7 +110,6 @@ func NewPortMapPlugin() PortMapConfig { - func NewFirewallPlugin() FirewallConfig { - return FirewallConfig{ - PluginType: "firewall", -- Backend: "iptables", - } - } - - -From cfd40608907b653a8b05f2e4f4243f8aa677b6e3 Mon Sep 17 00:00:00 2001 -From: Brent Baude -Date: Thu, 27 Feb 2020 14:35:48 -0600 -Subject: [PATCH 1/2] add firewall plugin (no backend) to default cni config - -in order for the fall back mechanisms to work in containernetworking-plugins, the firewall plugin must still be called via the cni configuration file. however, no backend w - -Signed-off-by: Brent Baude ---- - cni/87-podman-bridge.conflist | 3 +++ - 1 file changed, 3 insertions(+) - -diff -up a/cni/87-podman-bridge.conflist b/cni/87-podman-bridge.conflist ---- a/cni/87-podman-bridge.conflist -+++ b/cni/87-podman-bridge.conflist -@@ -31,8 +31,7 @@ - } - }, - { -- "type": "firewall", -- "backend": "iptables" -+ "type": "firewall" - } - ] - } diff --git a/SOURCES/podman-1807310.patch b/SOURCES/podman-1807310.patch deleted file mode 100644 index d182dab..0000000 --- a/SOURCES/podman-1807310.patch +++ /dev/null @@ -1,133 +0,0 @@ -From b41c864d569357a102ee2335a4947e59e5e2b08a Mon Sep 17 00:00:00 2001 -From: Matthew Heon -Date: Thu, 27 Feb 2020 16:08:29 -0500 -Subject: [PATCH] Ensure that exec sessions inherit supplemental groups - -This corrects a regression from Podman 1.4.x where container exec -sessions inherited supplemental groups from the container, iff -the exec session did not specify a user. - -Signed-off-by: Matthew Heon ---- - libpod/container_api.go | 5 ----- - libpod/container_internal_linux.go | 5 ++++- - libpod/oci_conmon_linux.go | 25 +++++++++++++++++++++---- - test/e2e/exec_test.go | 24 ++++++++++++++++++++++++ - 4 files changed, 49 insertions(+), 10 deletions(-) - -diff --git a/libpod/container_api.go b/libpod/container_api.go -index d612341bce..dabbe27dcd 100644 ---- a/libpod/container_api.go -+++ b/libpod/container_api.go -@@ -270,11 +270,6 @@ func (c *Container) Exec(tty, privileged bool, env map[string]string, cmd []stri - } - }() - -- // if the user is empty, we should inherit the user that the container is currently running with -- if user == "" { -- user = c.config.User -- } -- - opts := new(ExecOptions) - opts.Cmd = cmd - opts.CapAdd = capList -diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go -index 7390262647..63968918cb 100644 ---- a/libpod/container_internal_linux.go -+++ b/libpod/container_internal_linux.go -@@ -330,7 +330,10 @@ func (c *Container) generateSpec(ctx context.Context) (*spec.Spec, error) { - - // Add addition groups if c.config.GroupAdd is not empty - if len(c.config.Groups) > 0 { -- gids, _ := lookup.GetContainerGroups(c.config.Groups, c.state.Mountpoint, nil) -+ gids, err := lookup.GetContainerGroups(c.config.Groups, c.state.Mountpoint, overrides) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error looking up supplemental groups for container %s", c.ID()) -+ } - for _, gid := range gids { - g.AddProcessAdditionalGid(gid) - } -diff --git a/libpod/oci_conmon_linux.go b/libpod/oci_conmon_linux.go -index 07d38693f0..800f896036 100644 ---- a/libpod/oci_conmon_linux.go -+++ b/libpod/oci_conmon_linux.go -@@ -1252,18 +1252,35 @@ func prepareProcessExec(c *Container, cmd, env []string, tty bool, cwd, user, se - - } - -+ var addGroups []string -+ var sgids []uint32 -+ -+ // if the user is empty, we should inherit the user that the container is currently running with -+ if user == "" { -+ user = c.config.User -+ addGroups = c.config.Groups -+ } -+ - overrides := c.getUserOverrides() - execUser, err := lookup.GetUserGroupInfo(c.state.Mountpoint, user, overrides) - if err != nil { - return nil, err - } - -+ if len(addGroups) > 0 { -+ sgids, err = lookup.GetContainerGroups(addGroups, c.state.Mountpoint, overrides) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error looking up supplemental groups for container %s exec session %s", c.ID(), sessionID) -+ } -+ } -+ - // If user was set, look it up in the container to get a UID to use on - // the host -- if user != "" { -- sgids := make([]uint32, 0, len(execUser.Sgids)) -- for _, sgid := range execUser.Sgids { -- sgids = append(sgids, uint32(sgid)) -+ if user != "" || len(sgids) > 0 { -+ if user != "" { -+ for _, sgid := range execUser.Sgids { -+ sgids = append(sgids, uint32(sgid)) -+ } - } - processUser := spec.User{ - UID: uint32(execUser.Uid), -diff --git a/test/e2e/exec_test.go b/test/e2e/exec_test.go -index ed4eb3335f..ab806f6831 100644 ---- a/test/e2e/exec_test.go -+++ b/test/e2e/exec_test.go -@@ -1,6 +1,7 @@ - package integration - - import ( -+ "fmt" - "os" - "strings" - -@@ -244,4 +245,27 @@ var _ = Describe("Podman exec", func() { - Expect(session.ExitCode()).To(Equal(0)) - }) - -+ It("podman exec preserves --group-add groups", func() { -+ groupName := "group1" -+ gid := "4444" -+ ctrName1 := "ctr1" -+ ctr1 := podmanTest.Podman([]string{"run", "-ti", "--name", ctrName1, fedoraMinimal, "groupadd", "-g", gid, groupName}) -+ ctr1.WaitWithDefaultTimeout() -+ Expect(ctr1.ExitCode()).To(Equal(0)) -+ -+ imgName := "img1" -+ commit := podmanTest.Podman([]string{"commit", ctrName1, imgName}) -+ commit.WaitWithDefaultTimeout() -+ Expect(commit.ExitCode()).To(Equal(0)) -+ -+ ctrName2 := "ctr2" -+ ctr2 := podmanTest.Podman([]string{"run", "-d", "--name", ctrName2, "--group-add", groupName, imgName, "sleep", "300"}) -+ ctr2.WaitWithDefaultTimeout() -+ Expect(ctr2.ExitCode()).To(Equal(0)) -+ -+ exec := podmanTest.Podman([]string{"exec", "-ti", ctrName2, "id"}) -+ exec.WaitWithDefaultTimeout() -+ Expect(exec.ExitCode()).To(Equal(0)) -+ Expect(strings.Contains(exec.OutputToString(), fmt.Sprintf("%s(%s)", gid, groupName))).To(BeTrue()) -+ }) - }) diff --git a/SOURCES/podman-1807379.patch b/SOURCES/podman-1807379.patch deleted file mode 100644 index 93a6c18..0000000 --- a/SOURCES/podman-1807379.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 776eb64ab2cc07e0bd2879791780fa9b9fcd7ea1 Mon Sep 17 00:00:00 2001 -From: Peter Hunt -Date: Wed, 8 Jan 2020 11:09:07 -0500 -Subject: [PATCH] exec: fix pipes - -In a largely anticlimatic solution to the saga of piped input from conmon, we come to this solution. - -When we pass the Stdin stream to the exec.Command structure, it's immediately consumed and lost, instead of being consumed through CopyDetachable(). - -When we don't pass -i in, conmon is not told to create a masterfd_stdin, and won't pass anything to the container. - -With both, we can do - -echo hi | podman exec -til cat - -and get the expected hi - -Signed-off-by: Peter Hunt ---- - libpod/oci_conmon_linux.go | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/libpod/oci_conmon_linux.go b/libpod/oci_conmon_linux.go -index 37aa71cbba..78c8f41260 100644 ---- a/libpod/oci_conmon_linux.go -+++ b/libpod/oci_conmon_linux.go -@@ -546,6 +546,10 @@ func (r *ConmonOCIRuntime) ExecContainer(c *Container, sessionID string, options - args = append(args, "-t") - } - -+ if options.Streams.AttachInput { -+ args = append(args, "-i") -+ } -+ - // Append container ID and command - args = append(args, "-e") - // TODO make this optional when we can detach -@@ -558,9 +562,8 @@ func (r *ConmonOCIRuntime) ExecContainer(c *Container, sessionID string, options - execCmd := exec.Command(r.conmonPath, args...) - - if options.Streams != nil { -- if options.Streams.AttachInput { -- execCmd.Stdin = options.Streams.InputStream -- } -+ // Don't add the InputStream to the execCmd. Instead, the data should be passed -+ // through CopyDetachable - if options.Streams.AttachOutput { - execCmd.Stdout = options.Streams.OutputStream - } diff --git a/SOURCES/podman-1860506.patch b/SOURCES/podman-1860506.patch deleted file mode 100644 index 627b196..0000000 --- a/SOURCES/podman-1860506.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7b3cf0c085361546f45cf86391eb9809229d0ca1 Mon Sep 17 00:00:00 2001 -From: Matthew Heon -Date: Wed, 12 Aug 2020 09:15:02 -0400 -Subject: [PATCH] Change /sys/fs/cgroup/systemd mount to rprivate - -I used the wrong propagation first time around because I forgot -that rprivate is the default propagation. Oops. Switch to -rprivate so we're using the default. - -Signed-off-by: Matthew Heon ---- - libpod/container_internal_linux.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go -index e2bc4e50ff..fdee3877cb 100644 ---- a/libpod/container_internal_linux.go -+++ b/libpod/container_internal_linux.go -@@ -626,7 +626,7 @@ func (c *Container) setupSystemd(mounts []spec.Mount, g generate.Generator) erro - Destination: "/sys/fs/cgroup/systemd", - Type: "bind", - Source: "/sys/fs/cgroup/systemd", -- Options: []string{"bind", "nodev", "noexec", "nosuid"}, -+ Options: []string{"bind", "nodev", "noexec", "nosuid", "rprivate"}, - } - g.AddMount(systemdMnt) - g.AddLinuxMaskedPaths("/sys/fs/cgroup/systemd/release_agent") diff --git a/SOURCES/podman-1877699.patch b/SOURCES/podman-1877699.patch deleted file mode 100644 index a765485..0000000 --- a/SOURCES/podman-1877699.patch +++ /dev/null @@ -1,54 +0,0 @@ -From b65de0f71c33ae1d3558132261f159e321c8edf1 Mon Sep 17 00:00:00 2001 -From: Matthew Heon -Date: Mon, 17 Aug 2020 09:24:41 -0400 -Subject: [PATCH] Add support for setting the large files tmpdir to v1.6 - -This is based on 2c328f94b61116bfa7d1d46525d854678f94c9f3 by Les -Aker, and e53fc16b9f470a137abf182b0561a16447bfd5b7 by Dan Walsh -(the latter from containers/buildah). They have been merge here -to allow this to compile on the older v1.6 branch of Podman. - -Unfortunately this does not fix Buildah, as the Buildah patches -are too new to apply on top of this old branch. - -Signed-off-by: Matthew Heon ---- - libpod/image/docker_registry_options.go | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/libpod/image/docker_registry_options.go b/libpod/image/docker_registry_options.go -index 62a4af4653..b1eb31e2db 100644 ---- a/libpod/image/docker_registry_options.go -+++ b/libpod/image/docker_registry_options.go -@@ -2,10 +2,10 @@ package image - - import ( - "fmt" -+ "os" - - "github.com/containers/image/v5/docker/reference" - "github.com/containers/image/v5/types" -- - podmanVersion "github.com/containers/libpod/version" - ) - -@@ -41,6 +41,7 @@ func (o DockerRegistryOptions) GetSystemContext(parent *types.SystemContext, add - DockerArchiveAdditionalTags: additionalDockerArchiveTags, - OSChoice: o.OSChoice, - ArchitectureChoice: o.ArchitectureChoice, -+ BigFilesTemporaryDir: GetTempDir(), - } - if parent != nil { - sc.SignaturePolicyPath = parent.SignaturePolicyPath -@@ -65,3 +66,11 @@ func GetSystemContext(signaturePolicyPath, authFilePath string, forceCompress bo - - return sc - } -+ -+// Retrieve the temporary directory for storing large files. -+func GetTempDir() string { -+ if tmpdir, ok := os.LookupEnv("TMPDIR"); ok { -+ return tmpdir -+ } -+ return "/var/tmp" -+} diff --git a/SOURCES/podman-1895027.patch b/SOURCES/podman-1895027.patch deleted file mode 100644 index 6760c81..0000000 --- a/SOURCES/podman-1895027.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/run_linux.go.orig libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/run_linux.go ---- libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/run_linux.go.orig 2020-12-10 13:29:00.744683412 +0100 -+++ libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/vendor/github.com/containers/buildah/run_linux.go 2020-12-10 13:29:08.319636738 +0100 -@@ -460,7 +460,7 @@ func (b *Builder) setupMounts(mountPoint - } - - // Get the list of secrets mounts. -- secretMounts := secrets.SecretMountsWithUIDGID(b.MountLabel, cdir, b.DefaultMountsFilePath, mountPoint, int(rootUID), int(rootGID), unshare.IsRootless(), false) -+ secretMounts := secrets.SecretMountsWithUIDGID(b.MountLabel, cdir, b.DefaultMountsFilePath, cdir, int(rootUID), int(rootGID), unshare.IsRootless(), false) - - // Add temporary copies of the contents of volume locations at the - // volume locations, unless we already have something there. diff --git a/SOURCES/podman-CVE-2020-10696.patch b/SOURCES/podman-CVE-2020-10696.patch deleted file mode 100644 index b2569a4..0000000 --- a/SOURCES/podman-CVE-2020-10696.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 840e7dad513b86f454573ad415701c0199f78d30 Mon Sep 17 00:00:00 2001 -From: TomSweeneyRedHat -Date: Tue, 24 Mar 2020 20:10:22 -0400 -Subject: [PATCH] Fix potential CVE in tarfile w/ symlink - -Stealing @nalind 's workaround to avoid refetching -content after a file read failure. Under the right -circumstances that could be a symlink to a file meant -to overwrite a good file with bad data. - -Testing: -``` -goodstuff - -[1] 14901 - -127.0.0.1 - - [24/Mar/2020 20:15:50] "GET / HTTP/1.1" 200 - -127.0.0.1 - - [24/Mar/2020 20:15:50] "GET / HTTP/1.1" 200 - -no FROM statement found - -goodstuff -``` - -Signed-off-by: TomSweeneyRedHat ---- - imagebuildah/util.go | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/imagebuildah/util.go b/imagebuildah/util.go -index 29ea60970..5f14c9883 100644 ---- a/vendor/github.com/containers/buildah/imagebuildah/util.go -+++ b/vendor/github.com/containers/buildah/imagebuildah/util.go -@@ -14,6 +14,7 @@ import ( - - "github.com/containers/buildah" - "github.com/containers/storage/pkg/chrootarchive" -+ "github.com/containers/storage/pkg/ioutils" - "github.com/opencontainers/runtime-spec/specs-go" - "github.com/pkg/errors" - "github.com/sirupsen/logrus" -@@ -57,7 +58,7 @@ func downloadToDirectory(url, dir string) error { - } - dockerfile := filepath.Join(dir, "Dockerfile") - // Assume this is a Dockerfile -- if err := ioutil.WriteFile(dockerfile, body, 0600); err != nil { -+ if err := ioutils.AtomicWriteFile(dockerfile, body, 0600); err != nil { - return errors.Wrapf(err, "Failed to write %q to %q", url, dockerfile) - } - } -@@ -75,7 +76,7 @@ func stdinToDirectory(dir string) error { - if err := chrootarchive.Untar(reader, dir, nil); err != nil { - dockerfile := filepath.Join(dir, "Dockerfile") - // Assume this is a Dockerfile -- if err := ioutil.WriteFile(dockerfile, b, 0600); err != nil { -+ if err := ioutils.AtomicWriteFile(dockerfile, b, 0600); err != nil { - return errors.Wrapf(err, "Failed to write bytes to %q", dockerfile) - } - } diff --git a/SOURCES/podman-CVE-2020-14040.patch b/SOURCES/podman-CVE-2020-14040.patch deleted file mode 100644 index bfdc894..0000000 --- a/SOURCES/podman-CVE-2020-14040.patch +++ /dev/null @@ -1,9908 +0,0 @@ -From 9c7c476cc49687e9f6aa34c7ef0524753e0ec30a Mon Sep 17 00:00:00 2001 -From: Matthew Heon -Date: Fri, 31 Jul 2020 13:29:12 -0400 -Subject: [PATCH] Update golang.org/x/text for v1.9 branch - -Fixes CVE-2020-14040 - -Signed-off-by: Matthew Heon ---- - go.mod | 1 + - go.sum | 2 + - .../x/text/encoding/unicode/unicode.go | 94 +- - .../golang.org/x/text/transform/transform.go | 6 +- - vendor/golang.org/x/text/unicode/bidi/core.go | 8 +- - .../x/text/unicode/bidi/tables11.0.0.go | 2 +- - .../x/text/unicode/bidi/tables12.0.0.go | 1923 ++++ - .../x/text/unicode/norm/tables11.0.0.go | 2 +- - .../x/text/unicode/norm/tables12.0.0.go | 7710 +++++++++++++++++ - vendor/modules.txt | 2 +- - 10 files changed, 9734 insertions(+), 16 deletions(-) - create mode 100644 vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go - create mode 100644 vendor/golang.org/x/text/unicode/norm/tables12.0.0.go - -diff --git a/go.mod b/go.mod -index 907e6389c5..a538078fdb 100644 ---- a/go.mod -+++ b/go.mod -@@ -69,6 +69,7 @@ require ( - google.golang.org/appengine v1.6.1 // indirect - google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect -+ golang.org/x/text v0.3.3 // indirect - gopkg.in/yaml.v2 v2.2.4 - k8s.io/api v0.0.0-20190813020757-36bff7324fb7 - k8s.io/apimachinery v0.0.0-20190809020650-423f5d784010 -diff --git a/go.sum b/go.sum -index bfa1501236..8b61dc5ed1 100644 ---- a/go.sum -+++ b/go.sum -@@ -579,6 +579,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8E - golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= - golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= - golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -+golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= -+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= - golang.org/x/time v0.0.0-20161028155119-f51c12702a4d/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= - golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0 h1:xQwXv67TxFo9nC1GJFyab5eq/5B590r6RlnL/G8Sz7w= - golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -diff --git a/vendor/golang.org/x/text/encoding/unicode/unicode.go b/vendor/golang.org/x/text/encoding/unicode/unicode.go -index 4850ff365b..dd99ad14d3 100644 ---- a/vendor/golang.org/x/text/encoding/unicode/unicode.go -+++ b/vendor/golang.org/x/text/encoding/unicode/unicode.go -@@ -6,6 +6,7 @@ - package unicode // import "golang.org/x/text/encoding/unicode" - - import ( -+ "bytes" - "errors" - "unicode/utf16" - "unicode/utf8" -@@ -25,15 +26,95 @@ import ( - // the introduction of some kind of error type for conveying the erroneous code - // point. - --// UTF8 is the UTF-8 encoding. -+// UTF8 is the UTF-8 encoding. It neither removes nor adds byte order marks. - var UTF8 encoding.Encoding = utf8enc - -+// UTF8BOM is an UTF-8 encoding where the decoder strips a leading byte order -+// mark while the encoder adds one. -+// -+// Some editors add a byte order mark as a signature to UTF-8 files. Although -+// the byte order mark is not useful for detecting byte order in UTF-8, it is -+// sometimes used as a convention to mark UTF-8-encoded files. This relies on -+// the observation that the UTF-8 byte order mark is either an illegal or at -+// least very unlikely sequence in any other character encoding. -+var UTF8BOM encoding.Encoding = utf8bomEncoding{} -+ -+type utf8bomEncoding struct{} -+ -+func (utf8bomEncoding) String() string { -+ return "UTF-8-BOM" -+} -+ -+func (utf8bomEncoding) ID() (identifier.MIB, string) { -+ return identifier.Unofficial, "x-utf8bom" -+} -+ -+func (utf8bomEncoding) NewEncoder() *encoding.Encoder { -+ return &encoding.Encoder{ -+ Transformer: &utf8bomEncoder{t: runes.ReplaceIllFormed()}, -+ } -+} -+ -+func (utf8bomEncoding) NewDecoder() *encoding.Decoder { -+ return &encoding.Decoder{Transformer: &utf8bomDecoder{}} -+} -+ - var utf8enc = &internal.Encoding{ - &internal.SimpleEncoding{utf8Decoder{}, runes.ReplaceIllFormed()}, - "UTF-8", - identifier.UTF8, - } - -+type utf8bomDecoder struct { -+ checked bool -+} -+ -+func (t *utf8bomDecoder) Reset() { -+ t.checked = false -+} -+ -+func (t *utf8bomDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { -+ if !t.checked { -+ if !atEOF && len(src) < len(utf8BOM) { -+ if len(src) == 0 { -+ return 0, 0, nil -+ } -+ return 0, 0, transform.ErrShortSrc -+ } -+ if bytes.HasPrefix(src, []byte(utf8BOM)) { -+ nSrc += len(utf8BOM) -+ src = src[len(utf8BOM):] -+ } -+ t.checked = true -+ } -+ nDst, n, err := utf8Decoder.Transform(utf8Decoder{}, dst[nDst:], src, atEOF) -+ nSrc += n -+ return nDst, nSrc, err -+} -+ -+type utf8bomEncoder struct { -+ written bool -+ t transform.Transformer -+} -+ -+func (t *utf8bomEncoder) Reset() { -+ t.written = false -+ t.t.Reset() -+} -+ -+func (t *utf8bomEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { -+ if !t.written { -+ if len(dst) < len(utf8BOM) { -+ return nDst, 0, transform.ErrShortDst -+ } -+ nDst = copy(dst, utf8BOM) -+ t.written = true -+ } -+ n, nSrc, err := utf8Decoder.Transform(utf8Decoder{}, dst[nDst:], src, atEOF) -+ nDst += n -+ return nDst, nSrc, err -+} -+ - type utf8Decoder struct{ transform.NopResetter } - - func (utf8Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { -@@ -287,16 +368,13 @@ func (u *utf16Decoder) Reset() { - } - - func (u *utf16Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { -+ if len(src) < 2 && atEOF && u.current.bomPolicy&requireBOM != 0 { -+ return 0, 0, ErrMissingBOM -+ } - if len(src) == 0 { -- if atEOF && u.current.bomPolicy&requireBOM != 0 { -- return 0, 0, ErrMissingBOM -- } - return 0, 0, nil - } -- if u.current.bomPolicy&acceptBOM != 0 { -- if len(src) < 2 { -- return 0, 0, transform.ErrShortSrc -- } -+ if len(src) >= 2 && u.current.bomPolicy&acceptBOM != 0 { - switch { - case src[0] == 0xfe && src[1] == 0xff: - u.current.endianness = BigEndian -diff --git a/vendor/golang.org/x/text/transform/transform.go b/vendor/golang.org/x/text/transform/transform.go -index 520b9ada0e..48ec64b40c 100644 ---- a/vendor/golang.org/x/text/transform/transform.go -+++ b/vendor/golang.org/x/text/transform/transform.go -@@ -648,7 +648,8 @@ func String(t Transformer, s string) (result string, n int, err error) { - // Transform the remaining input, growing dst and src buffers as necessary. - for { - n := copy(src, s[pSrc:]) -- nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], pSrc+n == len(s)) -+ atEOF := pSrc+n == len(s) -+ nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], atEOF) - pDst += nDst - pSrc += nSrc - -@@ -659,6 +660,9 @@ func String(t Transformer, s string) (result string, n int, err error) { - dst = grow(dst, pDst) - } - } else if err == ErrShortSrc { -+ if atEOF { -+ return string(dst[:pDst]), pSrc, err -+ } - if nSrc == 0 { - src = grow(src, 0) - } -diff --git a/vendor/golang.org/x/text/unicode/bidi/core.go b/vendor/golang.org/x/text/unicode/bidi/core.go -index 48d144008a..50deb6600a 100644 ---- a/vendor/golang.org/x/text/unicode/bidi/core.go -+++ b/vendor/golang.org/x/text/unicode/bidi/core.go -@@ -480,15 +480,15 @@ func (s *isolatingRunSequence) resolveWeakTypes() { - - // Rule W1. - // Changes all NSMs. -- preceedingCharacterType := s.sos -+ precedingCharacterType := s.sos - for i, t := range s.types { - if t == NSM { -- s.types[i] = preceedingCharacterType -+ s.types[i] = precedingCharacterType - } else { - if t.in(LRI, RLI, FSI, PDI) { -- preceedingCharacterType = ON -+ precedingCharacterType = ON - } -- preceedingCharacterType = t -+ precedingCharacterType = t - } - } - -diff --git a/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go -index 022e3c6909..16b11db538 100644 ---- a/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go -+++ b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go -@@ -1,6 +1,6 @@ - // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. - --// +build go1.13 -+// +build go1.13,!go1.14 - - package bidi - -diff --git a/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go -new file mode 100644 -index 0000000000..7ffa365121 ---- /dev/null -+++ b/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go -@@ -0,0 +1,1923 @@ -+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. -+ -+// +build go1.14 -+ -+package bidi -+ -+// UnicodeVersion is the Unicode version from which the tables in this package are derived. -+const UnicodeVersion = "12.0.0" -+ -+// xorMasks contains masks to be xor-ed with brackets to get the reverse -+// version. -+var xorMasks = []int32{ // 8 elements -+ 0, 1, 6, 7, 3, 15, 29, 63, -+} // Size: 56 bytes -+ -+// lookup returns the trie value for the first UTF-8 encoding in s and -+// the width in bytes of this encoding. The size will be 0 if s does not -+// hold enough bytes to complete the encoding. len(s) must be greater than 0. -+func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { -+ c0 := s[0] -+ switch { -+ case c0 < 0x80: // is ASCII -+ return bidiValues[c0], 1 -+ case c0 < 0xC2: -+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. -+ case c0 < 0xE0: // 2-byte UTF-8 -+ if len(s) < 2 { -+ return 0, 0 -+ } -+ i := bidiIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c1), 2 -+ case c0 < 0xF0: // 3-byte UTF-8 -+ if len(s) < 3 { -+ return 0, 0 -+ } -+ i := bidiIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = bidiIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c2), 3 -+ case c0 < 0xF8: // 4-byte UTF-8 -+ if len(s) < 4 { -+ return 0, 0 -+ } -+ i := bidiIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = bidiIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ o = uint32(i)<<6 + uint32(c2) -+ i = bidiIndex[o] -+ c3 := s[3] -+ if c3 < 0x80 || 0xC0 <= c3 { -+ return 0, 3 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c3), 4 -+ } -+ // Illegal rune -+ return 0, 1 -+} -+ -+// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. -+// s must start with a full and valid UTF-8 encoded rune. -+func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { -+ c0 := s[0] -+ if c0 < 0x80 { // is ASCII -+ return bidiValues[c0] -+ } -+ i := bidiIndex[c0] -+ if c0 < 0xE0 { // 2-byte UTF-8 -+ return t.lookupValue(uint32(i), s[1]) -+ } -+ i = bidiIndex[uint32(i)<<6+uint32(s[1])] -+ if c0 < 0xF0 { // 3-byte UTF-8 -+ return t.lookupValue(uint32(i), s[2]) -+ } -+ i = bidiIndex[uint32(i)<<6+uint32(s[2])] -+ if c0 < 0xF8 { // 4-byte UTF-8 -+ return t.lookupValue(uint32(i), s[3]) -+ } -+ return 0 -+} -+ -+// lookupString returns the trie value for the first UTF-8 encoding in s and -+// the width in bytes of this encoding. The size will be 0 if s does not -+// hold enough bytes to complete the encoding. len(s) must be greater than 0. -+func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { -+ c0 := s[0] -+ switch { -+ case c0 < 0x80: // is ASCII -+ return bidiValues[c0], 1 -+ case c0 < 0xC2: -+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. -+ case c0 < 0xE0: // 2-byte UTF-8 -+ if len(s) < 2 { -+ return 0, 0 -+ } -+ i := bidiIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c1), 2 -+ case c0 < 0xF0: // 3-byte UTF-8 -+ if len(s) < 3 { -+ return 0, 0 -+ } -+ i := bidiIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = bidiIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c2), 3 -+ case c0 < 0xF8: // 4-byte UTF-8 -+ if len(s) < 4 { -+ return 0, 0 -+ } -+ i := bidiIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = bidiIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ o = uint32(i)<<6 + uint32(c2) -+ i = bidiIndex[o] -+ c3 := s[3] -+ if c3 < 0x80 || 0xC0 <= c3 { -+ return 0, 3 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c3), 4 -+ } -+ // Illegal rune -+ return 0, 1 -+} -+ -+// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. -+// s must start with a full and valid UTF-8 encoded rune. -+func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { -+ c0 := s[0] -+ if c0 < 0x80 { // is ASCII -+ return bidiValues[c0] -+ } -+ i := bidiIndex[c0] -+ if c0 < 0xE0 { // 2-byte UTF-8 -+ return t.lookupValue(uint32(i), s[1]) -+ } -+ i = bidiIndex[uint32(i)<<6+uint32(s[1])] -+ if c0 < 0xF0 { // 3-byte UTF-8 -+ return t.lookupValue(uint32(i), s[2]) -+ } -+ i = bidiIndex[uint32(i)<<6+uint32(s[2])] -+ if c0 < 0xF8 { // 4-byte UTF-8 -+ return t.lookupValue(uint32(i), s[3]) -+ } -+ return 0 -+} -+ -+// bidiTrie. Total size: 16896 bytes (16.50 KiB). Checksum: 6f0927067913dc6d. -+type bidiTrie struct{} -+ -+func newBidiTrie(i int) *bidiTrie { -+ return &bidiTrie{} -+} -+ -+// lookupValue determines the type of block n and looks up the value for b. -+func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { -+ switch { -+ default: -+ return uint8(bidiValues[n<<6+uint32(b)]) -+ } -+} -+ -+// bidiValues: 240 blocks, 15360 entries, 15360 bytes -+// The third block is the zero block. -+var bidiValues = [15360]uint8{ -+ // Block 0x0, offset 0x0 -+ 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, -+ 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, -+ 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, -+ 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, -+ 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, -+ 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, -+ 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, -+ 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, -+ 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, -+ 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, -+ 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, -+ // Block 0x1, offset 0x40 -+ 0x40: 0x000a, -+ 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, -+ 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, -+ 0x7b: 0x005a, -+ 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, -+ // Block 0x2, offset 0x80 -+ // Block 0x3, offset 0xc0 -+ 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, -+ 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, -+ 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, -+ 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, -+ 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, -+ 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, -+ 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, -+ 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, -+ 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, -+ 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, -+ 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, -+ // Block 0x4, offset 0x100 -+ 0x117: 0x000a, -+ 0x137: 0x000a, -+ // Block 0x5, offset 0x140 -+ 0x179: 0x000a, 0x17a: 0x000a, -+ // Block 0x6, offset 0x180 -+ 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, -+ 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, -+ 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, -+ 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, -+ 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, -+ 0x19e: 0x000a, 0x19f: 0x000a, -+ 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, -+ 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, -+ 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, -+ 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, -+ 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, -+ // Block 0x7, offset 0x1c0 -+ 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, -+ 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, -+ 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, -+ 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, -+ 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, -+ 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, -+ 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, -+ 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, -+ 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, -+ 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, -+ 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, -+ // Block 0x8, offset 0x200 -+ 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, -+ 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, -+ 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, -+ 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, -+ 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, -+ 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, -+ 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, -+ 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, -+ 0x234: 0x000a, 0x235: 0x000a, -+ 0x23e: 0x000a, -+ // Block 0x9, offset 0x240 -+ 0x244: 0x000a, 0x245: 0x000a, -+ 0x247: 0x000a, -+ // Block 0xa, offset 0x280 -+ 0x2b6: 0x000a, -+ // Block 0xb, offset 0x2c0 -+ 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, -+ 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, -+ // Block 0xc, offset 0x300 -+ 0x30a: 0x000a, -+ 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, -+ 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, -+ 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, -+ 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, -+ 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, -+ 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, -+ 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, -+ 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, -+ 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, -+ // Block 0xd, offset 0x340 -+ 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, -+ 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, -+ 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, -+ 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, -+ 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, -+ 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, -+ 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, -+ 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, -+ 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, -+ 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, -+ 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, -+ // Block 0xe, offset 0x380 -+ 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, -+ 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, -+ 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, -+ 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, -+ 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, -+ 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, -+ 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, -+ 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, -+ 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, -+ 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, -+ 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, -+ // Block 0xf, offset 0x3c0 -+ 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, -+ 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, -+ 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, -+ 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, -+ 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, -+ 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, -+ 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, -+ 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, -+ 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, -+ 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, -+ 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, -+ // Block 0x10, offset 0x400 -+ 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, -+ 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, -+ 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, -+ 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, -+ 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, -+ 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, -+ 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, -+ 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, -+ 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, -+ 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, -+ 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, -+ // Block 0x11, offset 0x440 -+ 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, -+ 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, -+ 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, -+ 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, -+ 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, -+ 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, -+ 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, -+ 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, -+ 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, -+ 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, -+ 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, -+ // Block 0x12, offset 0x480 -+ 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, -+ 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, -+ 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, -+ 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, -+ 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, -+ 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, -+ 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, -+ 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, -+ 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, -+ 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, -+ 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, -+ // Block 0x13, offset 0x4c0 -+ 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, -+ 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, -+ 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, -+ 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, -+ 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, -+ 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, -+ 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, -+ 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, -+ 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, -+ 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, -+ 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, -+ // Block 0x14, offset 0x500 -+ 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, -+ 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, -+ 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, -+ 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, -+ 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, -+ 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, -+ 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, -+ 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, -+ 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, -+ 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, -+ 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, -+ // Block 0x15, offset 0x540 -+ 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, -+ 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, -+ 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, -+ 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, -+ 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, -+ 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, -+ 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, -+ 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, -+ 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, -+ 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, -+ 0x57c: 0x0001, 0x57d: 0x000c, 0x57e: 0x0001, 0x57f: 0x0001, -+ // Block 0x16, offset 0x580 -+ 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, -+ 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, -+ 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, -+ 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, -+ 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, -+ 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, -+ 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, -+ 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, -+ 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, -+ 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, -+ 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, -+ // Block 0x17, offset 0x5c0 -+ 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, -+ 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, -+ 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, -+ 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, -+ 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, -+ 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, -+ 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, -+ 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, -+ 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, -+ 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, -+ 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, -+ // Block 0x18, offset 0x600 -+ 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, -+ 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, -+ 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, -+ 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, -+ 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, -+ 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, -+ 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, -+ 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, -+ 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, -+ 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, -+ 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, -+ // Block 0x19, offset 0x640 -+ 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, -+ 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, -+ 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, -+ 0x652: 0x000d, 0x653: 0x000c, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, -+ 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, -+ 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, -+ 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, -+ 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, -+ 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, -+ 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, -+ 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, -+ // Block 0x1a, offset 0x680 -+ 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, -+ 0x6ba: 0x000c, -+ 0x6bc: 0x000c, -+ // Block 0x1b, offset 0x6c0 -+ 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, -+ 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, -+ 0x6cd: 0x000c, 0x6d1: 0x000c, -+ 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, -+ 0x6e2: 0x000c, 0x6e3: 0x000c, -+ // Block 0x1c, offset 0x700 -+ 0x701: 0x000c, -+ 0x73c: 0x000c, -+ // Block 0x1d, offset 0x740 -+ 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, -+ 0x74d: 0x000c, -+ 0x762: 0x000c, 0x763: 0x000c, -+ 0x772: 0x0004, 0x773: 0x0004, -+ 0x77b: 0x0004, -+ 0x77e: 0x000c, -+ // Block 0x1e, offset 0x780 -+ 0x781: 0x000c, 0x782: 0x000c, -+ 0x7bc: 0x000c, -+ // Block 0x1f, offset 0x7c0 -+ 0x7c1: 0x000c, 0x7c2: 0x000c, -+ 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, -+ 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, -+ 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, -+ // Block 0x20, offset 0x800 -+ 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, -+ 0x807: 0x000c, 0x808: 0x000c, -+ 0x80d: 0x000c, -+ 0x822: 0x000c, 0x823: 0x000c, -+ 0x831: 0x0004, -+ 0x83a: 0x000c, 0x83b: 0x000c, -+ 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, -+ // Block 0x21, offset 0x840 -+ 0x841: 0x000c, -+ 0x87c: 0x000c, 0x87f: 0x000c, -+ // Block 0x22, offset 0x880 -+ 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, -+ 0x88d: 0x000c, -+ 0x896: 0x000c, -+ 0x8a2: 0x000c, 0x8a3: 0x000c, -+ // Block 0x23, offset 0x8c0 -+ 0x8c2: 0x000c, -+ // Block 0x24, offset 0x900 -+ 0x900: 0x000c, -+ 0x90d: 0x000c, -+ 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, -+ 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, -+ // Block 0x25, offset 0x940 -+ 0x940: 0x000c, 0x944: 0x000c, -+ 0x97e: 0x000c, 0x97f: 0x000c, -+ // Block 0x26, offset 0x980 -+ 0x980: 0x000c, -+ 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, -+ 0x98c: 0x000c, 0x98d: 0x000c, -+ 0x995: 0x000c, 0x996: 0x000c, -+ 0x9a2: 0x000c, 0x9a3: 0x000c, -+ 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, -+ 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, -+ // Block 0x27, offset 0x9c0 -+ 0x9cc: 0x000c, 0x9cd: 0x000c, -+ 0x9e2: 0x000c, 0x9e3: 0x000c, -+ // Block 0x28, offset 0xa00 -+ 0xa00: 0x000c, 0xa01: 0x000c, -+ 0xa3b: 0x000c, -+ 0xa3c: 0x000c, -+ // Block 0x29, offset 0xa40 -+ 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, -+ 0xa4d: 0x000c, -+ 0xa62: 0x000c, 0xa63: 0x000c, -+ // Block 0x2a, offset 0xa80 -+ 0xa8a: 0x000c, -+ 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, -+ // Block 0x2b, offset 0xac0 -+ 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, -+ 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, -+ 0xaff: 0x0004, -+ // Block 0x2c, offset 0xb00 -+ 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, -+ 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, -+ // Block 0x2d, offset 0xb40 -+ 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, -+ 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7a: 0x000c, 0xb7b: 0x000c, -+ 0xb7c: 0x000c, -+ // Block 0x2e, offset 0xb80 -+ 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, -+ 0xb8c: 0x000c, 0xb8d: 0x000c, -+ // Block 0x2f, offset 0xbc0 -+ 0xbd8: 0x000c, 0xbd9: 0x000c, -+ 0xbf5: 0x000c, -+ 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, -+ 0xbfc: 0x003a, 0xbfd: 0x002a, -+ // Block 0x30, offset 0xc00 -+ 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, -+ 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, -+ 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, -+ // Block 0x31, offset 0xc40 -+ 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, -+ 0xc46: 0x000c, 0xc47: 0x000c, -+ 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, -+ 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, -+ 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, -+ 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, -+ 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, -+ 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, -+ 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, -+ 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, -+ 0xc7c: 0x000c, -+ // Block 0x32, offset 0xc80 -+ 0xc86: 0x000c, -+ // Block 0x33, offset 0xcc0 -+ 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, -+ 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, -+ 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, -+ 0xcfd: 0x000c, 0xcfe: 0x000c, -+ // Block 0x34, offset 0xd00 -+ 0xd18: 0x000c, 0xd19: 0x000c, -+ 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, -+ 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, -+ // Block 0x35, offset 0xd40 -+ 0xd42: 0x000c, 0xd45: 0x000c, -+ 0xd46: 0x000c, -+ 0xd4d: 0x000c, -+ 0xd5d: 0x000c, -+ // Block 0x36, offset 0xd80 -+ 0xd9d: 0x000c, -+ 0xd9e: 0x000c, 0xd9f: 0x000c, -+ // Block 0x37, offset 0xdc0 -+ 0xdd0: 0x000a, 0xdd1: 0x000a, -+ 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, -+ 0xdd8: 0x000a, 0xdd9: 0x000a, -+ // Block 0x38, offset 0xe00 -+ 0xe00: 0x000a, -+ // Block 0x39, offset 0xe40 -+ 0xe40: 0x0009, -+ 0xe5b: 0x007a, 0xe5c: 0x006a, -+ // Block 0x3a, offset 0xe80 -+ 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, -+ 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, -+ // Block 0x3b, offset 0xec0 -+ 0xed2: 0x000c, 0xed3: 0x000c, -+ 0xef2: 0x000c, 0xef3: 0x000c, -+ // Block 0x3c, offset 0xf00 -+ 0xf34: 0x000c, 0xf35: 0x000c, -+ 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, -+ 0xf3c: 0x000c, 0xf3d: 0x000c, -+ // Block 0x3d, offset 0xf40 -+ 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, -+ 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, -+ 0xf52: 0x000c, 0xf53: 0x000c, -+ 0xf5b: 0x0004, 0xf5d: 0x000c, -+ 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, -+ 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, -+ // Block 0x3e, offset 0xf80 -+ 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, -+ 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, -+ 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, -+ // Block 0x3f, offset 0xfc0 -+ 0xfc5: 0x000c, -+ 0xfc6: 0x000c, -+ 0xfe9: 0x000c, -+ // Block 0x40, offset 0x1000 -+ 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, -+ 0x1027: 0x000c, 0x1028: 0x000c, -+ 0x1032: 0x000c, -+ 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, -+ // Block 0x41, offset 0x1040 -+ 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, -+ // Block 0x42, offset 0x1080 -+ 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, -+ 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, -+ 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, -+ 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, -+ 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, -+ 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, -+ // Block 0x43, offset 0x10c0 -+ 0x10d7: 0x000c, -+ 0x10d8: 0x000c, 0x10db: 0x000c, -+ // Block 0x44, offset 0x1100 -+ 0x1116: 0x000c, -+ 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, -+ 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, -+ 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, -+ 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, -+ 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, -+ 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, -+ 0x113c: 0x000c, 0x113f: 0x000c, -+ // Block 0x45, offset 0x1140 -+ 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, -+ 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, -+ 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, -+ // Block 0x46, offset 0x1180 -+ 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, -+ 0x11b4: 0x000c, -+ 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, -+ 0x11bc: 0x000c, -+ // Block 0x47, offset 0x11c0 -+ 0x11c2: 0x000c, -+ 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, -+ 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, -+ // Block 0x48, offset 0x1200 -+ 0x1200: 0x000c, 0x1201: 0x000c, -+ 0x1222: 0x000c, 0x1223: 0x000c, -+ 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, -+ 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, -+ // Block 0x49, offset 0x1240 -+ 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, -+ 0x126d: 0x000c, 0x126f: 0x000c, -+ 0x1270: 0x000c, 0x1271: 0x000c, -+ // Block 0x4a, offset 0x1280 -+ 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, -+ 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, -+ 0x12b6: 0x000c, 0x12b7: 0x000c, -+ // Block 0x4b, offset 0x12c0 -+ 0x12d0: 0x000c, 0x12d1: 0x000c, -+ 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, -+ 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, -+ 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, -+ 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, -+ 0x12ed: 0x000c, -+ 0x12f4: 0x000c, -+ 0x12f8: 0x000c, 0x12f9: 0x000c, -+ // Block 0x4c, offset 0x1300 -+ 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, -+ 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, -+ 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, -+ 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, -+ 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, -+ 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, -+ 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, -+ 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, -+ 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, -+ 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, -+ 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, -+ // Block 0x4d, offset 0x1340 -+ 0x137d: 0x000a, 0x137f: 0x000a, -+ // Block 0x4e, offset 0x1380 -+ 0x1380: 0x000a, 0x1381: 0x000a, -+ 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, -+ 0x139d: 0x000a, -+ 0x139e: 0x000a, 0x139f: 0x000a, -+ 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, -+ 0x13bd: 0x000a, 0x13be: 0x000a, -+ // Block 0x4f, offset 0x13c0 -+ 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, -+ 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, -+ 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, -+ 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, -+ 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, -+ 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, -+ 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, -+ 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, -+ 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, -+ 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, -+ 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, -+ // Block 0x50, offset 0x1400 -+ 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, -+ 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, -+ 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, -+ 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, -+ 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, -+ 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, -+ 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, -+ 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, -+ 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, -+ 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, -+ 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, -+ // Block 0x51, offset 0x1440 -+ 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, -+ 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, -+ 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, -+ 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, -+ 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, -+ 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, -+ 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, -+ 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, -+ 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, -+ // Block 0x52, offset 0x1480 -+ 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, -+ 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, -+ 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, -+ 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, -+ 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, -+ 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, -+ 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, -+ 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, -+ 0x14b0: 0x000c, -+ // Block 0x53, offset 0x14c0 -+ 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, -+ 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, -+ 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, -+ 0x14d8: 0x000a, -+ 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, -+ 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, -+ 0x14ee: 0x0004, -+ 0x14fa: 0x000a, 0x14fb: 0x000a, -+ // Block 0x54, offset 0x1500 -+ 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, -+ 0x150a: 0x000a, 0x150b: 0x000a, -+ 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, -+ 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, -+ 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, -+ 0x151e: 0x000a, 0x151f: 0x000a, -+ // Block 0x55, offset 0x1540 -+ 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, -+ 0x1550: 0x000a, 0x1551: 0x000a, -+ 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, -+ 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, -+ 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, -+ 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, -+ 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, -+ 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, -+ 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, -+ 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, -+ // Block 0x56, offset 0x1580 -+ 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, -+ 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, -+ 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, -+ 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, -+ 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, -+ 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, -+ 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, -+ 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, -+ 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, -+ 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, -+ 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, -+ // Block 0x57, offset 0x15c0 -+ 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, -+ 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, -+ 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, -+ 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, -+ 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, -+ 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, -+ 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, -+ 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, -+ 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, -+ 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, -+ 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, -+ // Block 0x58, offset 0x1600 -+ 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, -+ 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, -+ 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, -+ 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, -+ 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, -+ 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, -+ 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, -+ 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, -+ 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, -+ // Block 0x59, offset 0x1640 -+ 0x167b: 0x000a, -+ 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, -+ // Block 0x5a, offset 0x1680 -+ 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, -+ 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, -+ 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, -+ 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, -+ 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, -+ 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, -+ 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, -+ 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, -+ 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, -+ 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, -+ 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, -+ // Block 0x5b, offset 0x16c0 -+ 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, -+ 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, -+ 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, -+ 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, -+ 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, -+ 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, -+ 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, -+ // Block 0x5c, offset 0x1700 -+ 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, -+ 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, -+ 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, -+ 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, -+ 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, -+ 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, -+ 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, -+ 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, -+ // Block 0x5d, offset 0x1740 -+ 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, -+ 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, -+ 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, -+ 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, -+ 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, -+ // Block 0x5e, offset 0x1780 -+ 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, -+ 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, -+ 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, -+ 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, -+ // Block 0x5f, offset 0x17c0 -+ 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, -+ 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, -+ 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, -+ 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, -+ 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, -+ 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, -+ 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, -+ 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, -+ 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, -+ 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, -+ 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, -+ // Block 0x60, offset 0x1800 -+ 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, -+ 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, -+ 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, -+ 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, -+ 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, -+ 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, -+ 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, -+ 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, -+ 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, -+ 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, -+ 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, -+ // Block 0x61, offset 0x1840 -+ 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, -+ 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, -+ 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, -+ 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, -+ 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, -+ 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, -+ 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, -+ 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, -+ 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, -+ 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, -+ 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, -+ // Block 0x62, offset 0x1880 -+ 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, -+ 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, -+ 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, -+ 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, -+ 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, -+ 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, -+ 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, -+ 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, -+ 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, -+ 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, -+ 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, -+ // Block 0x63, offset 0x18c0 -+ 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, -+ 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, -+ 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, -+ 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, -+ 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, -+ 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, -+ 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, -+ 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, -+ 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, -+ 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, -+ 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, -+ // Block 0x64, offset 0x1900 -+ 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, -+ 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, -+ 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, -+ 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, -+ 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, -+ 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, -+ 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, -+ 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, -+ 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, -+ 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, -+ 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, -+ // Block 0x65, offset 0x1940 -+ 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, -+ 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, -+ 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, -+ 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, -+ 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, -+ 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, -+ 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, -+ 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, -+ 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, -+ 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, -+ 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, -+ // Block 0x66, offset 0x1980 -+ 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, -+ 0x19aa: 0x000a, 0x19af: 0x000c, -+ 0x19b0: 0x000c, 0x19b1: 0x000c, -+ 0x19b9: 0x000a, 0x19ba: 0x000a, 0x19bb: 0x000a, -+ 0x19bc: 0x000a, 0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a, -+ // Block 0x67, offset 0x19c0 -+ 0x19ff: 0x000c, -+ // Block 0x68, offset 0x1a00 -+ 0x1a20: 0x000c, 0x1a21: 0x000c, 0x1a22: 0x000c, 0x1a23: 0x000c, -+ 0x1a24: 0x000c, 0x1a25: 0x000c, 0x1a26: 0x000c, 0x1a27: 0x000c, 0x1a28: 0x000c, 0x1a29: 0x000c, -+ 0x1a2a: 0x000c, 0x1a2b: 0x000c, 0x1a2c: 0x000c, 0x1a2d: 0x000c, 0x1a2e: 0x000c, 0x1a2f: 0x000c, -+ 0x1a30: 0x000c, 0x1a31: 0x000c, 0x1a32: 0x000c, 0x1a33: 0x000c, 0x1a34: 0x000c, 0x1a35: 0x000c, -+ 0x1a36: 0x000c, 0x1a37: 0x000c, 0x1a38: 0x000c, 0x1a39: 0x000c, 0x1a3a: 0x000c, 0x1a3b: 0x000c, -+ 0x1a3c: 0x000c, 0x1a3d: 0x000c, 0x1a3e: 0x000c, 0x1a3f: 0x000c, -+ // Block 0x69, offset 0x1a40 -+ 0x1a40: 0x000a, 0x1a41: 0x000a, 0x1a42: 0x000a, 0x1a43: 0x000a, 0x1a44: 0x000a, 0x1a45: 0x000a, -+ 0x1a46: 0x000a, 0x1a47: 0x000a, 0x1a48: 0x000a, 0x1a49: 0x000a, 0x1a4a: 0x000a, 0x1a4b: 0x000a, -+ 0x1a4c: 0x000a, 0x1a4d: 0x000a, 0x1a4e: 0x000a, 0x1a4f: 0x000a, 0x1a50: 0x000a, 0x1a51: 0x000a, -+ 0x1a52: 0x000a, 0x1a53: 0x000a, 0x1a54: 0x000a, 0x1a55: 0x000a, 0x1a56: 0x000a, 0x1a57: 0x000a, -+ 0x1a58: 0x000a, 0x1a59: 0x000a, 0x1a5a: 0x000a, 0x1a5b: 0x000a, 0x1a5c: 0x000a, 0x1a5d: 0x000a, -+ 0x1a5e: 0x000a, 0x1a5f: 0x000a, 0x1a60: 0x000a, 0x1a61: 0x000a, 0x1a62: 0x003a, 0x1a63: 0x002a, -+ 0x1a64: 0x003a, 0x1a65: 0x002a, 0x1a66: 0x003a, 0x1a67: 0x002a, 0x1a68: 0x003a, 0x1a69: 0x002a, -+ 0x1a6a: 0x000a, 0x1a6b: 0x000a, 0x1a6c: 0x000a, 0x1a6d: 0x000a, 0x1a6e: 0x000a, 0x1a6f: 0x000a, -+ 0x1a70: 0x000a, 0x1a71: 0x000a, 0x1a72: 0x000a, 0x1a73: 0x000a, 0x1a74: 0x000a, 0x1a75: 0x000a, -+ 0x1a76: 0x000a, 0x1a77: 0x000a, 0x1a78: 0x000a, 0x1a79: 0x000a, 0x1a7a: 0x000a, 0x1a7b: 0x000a, -+ 0x1a7c: 0x000a, 0x1a7d: 0x000a, 0x1a7e: 0x000a, 0x1a7f: 0x000a, -+ // Block 0x6a, offset 0x1a80 -+ 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, -+ 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, -+ 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, -+ // Block 0x6b, offset 0x1ac0 -+ 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, -+ 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, -+ 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a, -+ 0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a, -+ 0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a, -+ 0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x000a, 0x1ae3: 0x000a, -+ 0x1ae4: 0x000a, 0x1ae5: 0x000a, 0x1ae6: 0x000a, 0x1ae7: 0x000a, 0x1ae8: 0x000a, 0x1ae9: 0x000a, -+ 0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a, -+ 0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a, -+ 0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a, -+ 0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a, -+ // Block 0x6c, offset 0x1b00 -+ 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, -+ 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, -+ 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, -+ 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, -+ 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1a: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, -+ 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, -+ 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, -+ 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, -+ 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, -+ // Block 0x6d, offset 0x1b40 -+ 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, -+ 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, -+ 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, -+ 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, -+ 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a, -+ 0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a, -+ // Block 0x6e, offset 0x1b80 -+ 0x1b80: 0x0009, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, -+ 0x1b88: 0x003a, 0x1b89: 0x002a, 0x1b8a: 0x003a, 0x1b8b: 0x002a, -+ 0x1b8c: 0x003a, 0x1b8d: 0x002a, 0x1b8e: 0x003a, 0x1b8f: 0x002a, 0x1b90: 0x003a, 0x1b91: 0x002a, -+ 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x003a, 0x1b95: 0x002a, 0x1b96: 0x003a, 0x1b97: 0x002a, -+ 0x1b98: 0x003a, 0x1b99: 0x002a, 0x1b9a: 0x003a, 0x1b9b: 0x002a, 0x1b9c: 0x000a, 0x1b9d: 0x000a, -+ 0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, -+ 0x1baa: 0x000c, 0x1bab: 0x000c, 0x1bac: 0x000c, 0x1bad: 0x000c, -+ 0x1bb0: 0x000a, -+ 0x1bb6: 0x000a, 0x1bb7: 0x000a, -+ 0x1bbd: 0x000a, 0x1bbe: 0x000a, 0x1bbf: 0x000a, -+ // Block 0x6f, offset 0x1bc0 -+ 0x1bd9: 0x000c, 0x1bda: 0x000c, 0x1bdb: 0x000a, 0x1bdc: 0x000a, -+ 0x1be0: 0x000a, -+ // Block 0x70, offset 0x1c00 -+ 0x1c3b: 0x000a, -+ // Block 0x71, offset 0x1c40 -+ 0x1c40: 0x000a, 0x1c41: 0x000a, 0x1c42: 0x000a, 0x1c43: 0x000a, 0x1c44: 0x000a, 0x1c45: 0x000a, -+ 0x1c46: 0x000a, 0x1c47: 0x000a, 0x1c48: 0x000a, 0x1c49: 0x000a, 0x1c4a: 0x000a, 0x1c4b: 0x000a, -+ 0x1c4c: 0x000a, 0x1c4d: 0x000a, 0x1c4e: 0x000a, 0x1c4f: 0x000a, 0x1c50: 0x000a, 0x1c51: 0x000a, -+ 0x1c52: 0x000a, 0x1c53: 0x000a, 0x1c54: 0x000a, 0x1c55: 0x000a, 0x1c56: 0x000a, 0x1c57: 0x000a, -+ 0x1c58: 0x000a, 0x1c59: 0x000a, 0x1c5a: 0x000a, 0x1c5b: 0x000a, 0x1c5c: 0x000a, 0x1c5d: 0x000a, -+ 0x1c5e: 0x000a, 0x1c5f: 0x000a, 0x1c60: 0x000a, 0x1c61: 0x000a, 0x1c62: 0x000a, 0x1c63: 0x000a, -+ // Block 0x72, offset 0x1c80 -+ 0x1c9d: 0x000a, -+ 0x1c9e: 0x000a, -+ // Block 0x73, offset 0x1cc0 -+ 0x1cd0: 0x000a, 0x1cd1: 0x000a, -+ 0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a, -+ 0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a, -+ 0x1cde: 0x000a, 0x1cdf: 0x000a, -+ 0x1cfc: 0x000a, 0x1cfd: 0x000a, 0x1cfe: 0x000a, -+ // Block 0x74, offset 0x1d00 -+ 0x1d31: 0x000a, 0x1d32: 0x000a, 0x1d33: 0x000a, 0x1d34: 0x000a, 0x1d35: 0x000a, -+ 0x1d36: 0x000a, 0x1d37: 0x000a, 0x1d38: 0x000a, 0x1d39: 0x000a, 0x1d3a: 0x000a, 0x1d3b: 0x000a, -+ 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, 0x1d3f: 0x000a, -+ // Block 0x75, offset 0x1d40 -+ 0x1d4c: 0x000a, 0x1d4d: 0x000a, 0x1d4e: 0x000a, 0x1d4f: 0x000a, -+ // Block 0x76, offset 0x1d80 -+ 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, -+ // Block 0x77, offset 0x1dc0 -+ 0x1dde: 0x000a, 0x1ddf: 0x000a, -+ 0x1dff: 0x000a, -+ // Block 0x78, offset 0x1e00 -+ 0x1e10: 0x000a, 0x1e11: 0x000a, -+ 0x1e12: 0x000a, 0x1e13: 0x000a, 0x1e14: 0x000a, 0x1e15: 0x000a, 0x1e16: 0x000a, 0x1e17: 0x000a, -+ 0x1e18: 0x000a, 0x1e19: 0x000a, 0x1e1a: 0x000a, 0x1e1b: 0x000a, 0x1e1c: 0x000a, 0x1e1d: 0x000a, -+ 0x1e1e: 0x000a, 0x1e1f: 0x000a, 0x1e20: 0x000a, 0x1e21: 0x000a, 0x1e22: 0x000a, 0x1e23: 0x000a, -+ 0x1e24: 0x000a, 0x1e25: 0x000a, 0x1e26: 0x000a, 0x1e27: 0x000a, 0x1e28: 0x000a, 0x1e29: 0x000a, -+ 0x1e2a: 0x000a, 0x1e2b: 0x000a, 0x1e2c: 0x000a, 0x1e2d: 0x000a, 0x1e2e: 0x000a, 0x1e2f: 0x000a, -+ 0x1e30: 0x000a, 0x1e31: 0x000a, 0x1e32: 0x000a, 0x1e33: 0x000a, 0x1e34: 0x000a, 0x1e35: 0x000a, -+ 0x1e36: 0x000a, 0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a, 0x1e3b: 0x000a, -+ 0x1e3c: 0x000a, 0x1e3d: 0x000a, 0x1e3e: 0x000a, 0x1e3f: 0x000a, -+ // Block 0x79, offset 0x1e40 -+ 0x1e40: 0x000a, 0x1e41: 0x000a, 0x1e42: 0x000a, 0x1e43: 0x000a, 0x1e44: 0x000a, 0x1e45: 0x000a, -+ 0x1e46: 0x000a, -+ // Block 0x7a, offset 0x1e80 -+ 0x1e8d: 0x000a, 0x1e8e: 0x000a, 0x1e8f: 0x000a, -+ // Block 0x7b, offset 0x1ec0 -+ 0x1eef: 0x000c, -+ 0x1ef0: 0x000c, 0x1ef1: 0x000c, 0x1ef2: 0x000c, 0x1ef3: 0x000a, 0x1ef4: 0x000c, 0x1ef5: 0x000c, -+ 0x1ef6: 0x000c, 0x1ef7: 0x000c, 0x1ef8: 0x000c, 0x1ef9: 0x000c, 0x1efa: 0x000c, 0x1efb: 0x000c, -+ 0x1efc: 0x000c, 0x1efd: 0x000c, 0x1efe: 0x000a, 0x1eff: 0x000a, -+ // Block 0x7c, offset 0x1f00 -+ 0x1f1e: 0x000c, 0x1f1f: 0x000c, -+ // Block 0x7d, offset 0x1f40 -+ 0x1f70: 0x000c, 0x1f71: 0x000c, -+ // Block 0x7e, offset 0x1f80 -+ 0x1f80: 0x000a, 0x1f81: 0x000a, 0x1f82: 0x000a, 0x1f83: 0x000a, 0x1f84: 0x000a, 0x1f85: 0x000a, -+ 0x1f86: 0x000a, 0x1f87: 0x000a, 0x1f88: 0x000a, 0x1f89: 0x000a, 0x1f8a: 0x000a, 0x1f8b: 0x000a, -+ 0x1f8c: 0x000a, 0x1f8d: 0x000a, 0x1f8e: 0x000a, 0x1f8f: 0x000a, 0x1f90: 0x000a, 0x1f91: 0x000a, -+ 0x1f92: 0x000a, 0x1f93: 0x000a, 0x1f94: 0x000a, 0x1f95: 0x000a, 0x1f96: 0x000a, 0x1f97: 0x000a, -+ 0x1f98: 0x000a, 0x1f99: 0x000a, 0x1f9a: 0x000a, 0x1f9b: 0x000a, 0x1f9c: 0x000a, 0x1f9d: 0x000a, -+ 0x1f9e: 0x000a, 0x1f9f: 0x000a, 0x1fa0: 0x000a, 0x1fa1: 0x000a, -+ // Block 0x7f, offset 0x1fc0 -+ 0x1fc8: 0x000a, -+ // Block 0x80, offset 0x2000 -+ 0x2002: 0x000c, -+ 0x2006: 0x000c, 0x200b: 0x000c, -+ 0x2025: 0x000c, 0x2026: 0x000c, 0x2028: 0x000a, 0x2029: 0x000a, -+ 0x202a: 0x000a, 0x202b: 0x000a, -+ 0x2038: 0x0004, 0x2039: 0x0004, -+ // Block 0x81, offset 0x2040 -+ 0x2074: 0x000a, 0x2075: 0x000a, -+ 0x2076: 0x000a, 0x2077: 0x000a, -+ // Block 0x82, offset 0x2080 -+ 0x2084: 0x000c, 0x2085: 0x000c, -+ 0x20a0: 0x000c, 0x20a1: 0x000c, 0x20a2: 0x000c, 0x20a3: 0x000c, -+ 0x20a4: 0x000c, 0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a7: 0x000c, 0x20a8: 0x000c, 0x20a9: 0x000c, -+ 0x20aa: 0x000c, 0x20ab: 0x000c, 0x20ac: 0x000c, 0x20ad: 0x000c, 0x20ae: 0x000c, 0x20af: 0x000c, -+ 0x20b0: 0x000c, 0x20b1: 0x000c, -+ 0x20bf: 0x000c, -+ // Block 0x83, offset 0x20c0 -+ 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, -+ 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, -+ // Block 0x84, offset 0x2100 -+ 0x2107: 0x000c, 0x2108: 0x000c, 0x2109: 0x000c, 0x210a: 0x000c, 0x210b: 0x000c, -+ 0x210c: 0x000c, 0x210d: 0x000c, 0x210e: 0x000c, 0x210f: 0x000c, 0x2110: 0x000c, 0x2111: 0x000c, -+ // Block 0x85, offset 0x2140 -+ 0x2140: 0x000c, 0x2141: 0x000c, 0x2142: 0x000c, -+ 0x2173: 0x000c, -+ 0x2176: 0x000c, 0x2177: 0x000c, 0x2178: 0x000c, 0x2179: 0x000c, -+ 0x217c: 0x000c, 0x217d: 0x000c, -+ // Block 0x86, offset 0x2180 -+ 0x21a5: 0x000c, -+ // Block 0x87, offset 0x21c0 -+ 0x21e9: 0x000c, -+ 0x21ea: 0x000c, 0x21eb: 0x000c, 0x21ec: 0x000c, 0x21ed: 0x000c, 0x21ee: 0x000c, -+ 0x21f1: 0x000c, 0x21f2: 0x000c, 0x21f5: 0x000c, -+ 0x21f6: 0x000c, -+ // Block 0x88, offset 0x2200 -+ 0x2203: 0x000c, -+ 0x220c: 0x000c, -+ 0x223c: 0x000c, -+ // Block 0x89, offset 0x2240 -+ 0x2270: 0x000c, 0x2272: 0x000c, 0x2273: 0x000c, 0x2274: 0x000c, -+ 0x2277: 0x000c, 0x2278: 0x000c, -+ 0x227e: 0x000c, 0x227f: 0x000c, -+ // Block 0x8a, offset 0x2280 -+ 0x2281: 0x000c, -+ 0x22ac: 0x000c, 0x22ad: 0x000c, -+ 0x22b6: 0x000c, -+ // Block 0x8b, offset 0x22c0 -+ 0x22e5: 0x000c, 0x22e8: 0x000c, -+ 0x22ed: 0x000c, -+ // Block 0x8c, offset 0x2300 -+ 0x231d: 0x0001, -+ 0x231e: 0x000c, 0x231f: 0x0001, 0x2320: 0x0001, 0x2321: 0x0001, 0x2322: 0x0001, 0x2323: 0x0001, -+ 0x2324: 0x0001, 0x2325: 0x0001, 0x2326: 0x0001, 0x2327: 0x0001, 0x2328: 0x0001, 0x2329: 0x0003, -+ 0x232a: 0x0001, 0x232b: 0x0001, 0x232c: 0x0001, 0x232d: 0x0001, 0x232e: 0x0001, 0x232f: 0x0001, -+ 0x2330: 0x0001, 0x2331: 0x0001, 0x2332: 0x0001, 0x2333: 0x0001, 0x2334: 0x0001, 0x2335: 0x0001, -+ 0x2336: 0x0001, 0x2337: 0x0001, 0x2338: 0x0001, 0x2339: 0x0001, 0x233a: 0x0001, 0x233b: 0x0001, -+ 0x233c: 0x0001, 0x233d: 0x0001, 0x233e: 0x0001, 0x233f: 0x0001, -+ // Block 0x8d, offset 0x2340 -+ 0x2340: 0x0001, 0x2341: 0x0001, 0x2342: 0x0001, 0x2343: 0x0001, 0x2344: 0x0001, 0x2345: 0x0001, -+ 0x2346: 0x0001, 0x2347: 0x0001, 0x2348: 0x0001, 0x2349: 0x0001, 0x234a: 0x0001, 0x234b: 0x0001, -+ 0x234c: 0x0001, 0x234d: 0x0001, 0x234e: 0x0001, 0x234f: 0x0001, 0x2350: 0x000d, 0x2351: 0x000d, -+ 0x2352: 0x000d, 0x2353: 0x000d, 0x2354: 0x000d, 0x2355: 0x000d, 0x2356: 0x000d, 0x2357: 0x000d, -+ 0x2358: 0x000d, 0x2359: 0x000d, 0x235a: 0x000d, 0x235b: 0x000d, 0x235c: 0x000d, 0x235d: 0x000d, -+ 0x235e: 0x000d, 0x235f: 0x000d, 0x2360: 0x000d, 0x2361: 0x000d, 0x2362: 0x000d, 0x2363: 0x000d, -+ 0x2364: 0x000d, 0x2365: 0x000d, 0x2366: 0x000d, 0x2367: 0x000d, 0x2368: 0x000d, 0x2369: 0x000d, -+ 0x236a: 0x000d, 0x236b: 0x000d, 0x236c: 0x000d, 0x236d: 0x000d, 0x236e: 0x000d, 0x236f: 0x000d, -+ 0x2370: 0x000d, 0x2371: 0x000d, 0x2372: 0x000d, 0x2373: 0x000d, 0x2374: 0x000d, 0x2375: 0x000d, -+ 0x2376: 0x000d, 0x2377: 0x000d, 0x2378: 0x000d, 0x2379: 0x000d, 0x237a: 0x000d, 0x237b: 0x000d, -+ 0x237c: 0x000d, 0x237d: 0x000d, 0x237e: 0x000d, 0x237f: 0x000d, -+ // Block 0x8e, offset 0x2380 -+ 0x2380: 0x000d, 0x2381: 0x000d, 0x2382: 0x000d, 0x2383: 0x000d, 0x2384: 0x000d, 0x2385: 0x000d, -+ 0x2386: 0x000d, 0x2387: 0x000d, 0x2388: 0x000d, 0x2389: 0x000d, 0x238a: 0x000d, 0x238b: 0x000d, -+ 0x238c: 0x000d, 0x238d: 0x000d, 0x238e: 0x000d, 0x238f: 0x000d, 0x2390: 0x000d, 0x2391: 0x000d, -+ 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, -+ 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, -+ 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, -+ 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, -+ 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, -+ 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, -+ 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, -+ 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000a, 0x23bf: 0x000a, -+ // Block 0x8f, offset 0x23c0 -+ 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, -+ 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, -+ 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000b, 0x23d1: 0x000b, -+ 0x23d2: 0x000b, 0x23d3: 0x000b, 0x23d4: 0x000b, 0x23d5: 0x000b, 0x23d6: 0x000b, 0x23d7: 0x000b, -+ 0x23d8: 0x000b, 0x23d9: 0x000b, 0x23da: 0x000b, 0x23db: 0x000b, 0x23dc: 0x000b, 0x23dd: 0x000b, -+ 0x23de: 0x000b, 0x23df: 0x000b, 0x23e0: 0x000b, 0x23e1: 0x000b, 0x23e2: 0x000b, 0x23e3: 0x000b, -+ 0x23e4: 0x000b, 0x23e5: 0x000b, 0x23e6: 0x000b, 0x23e7: 0x000b, 0x23e8: 0x000b, 0x23e9: 0x000b, -+ 0x23ea: 0x000b, 0x23eb: 0x000b, 0x23ec: 0x000b, 0x23ed: 0x000b, 0x23ee: 0x000b, 0x23ef: 0x000b, -+ 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, -+ 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, -+ 0x23fc: 0x000d, 0x23fd: 0x000a, 0x23fe: 0x000d, 0x23ff: 0x000d, -+ // Block 0x90, offset 0x2400 -+ 0x2400: 0x000c, 0x2401: 0x000c, 0x2402: 0x000c, 0x2403: 0x000c, 0x2404: 0x000c, 0x2405: 0x000c, -+ 0x2406: 0x000c, 0x2407: 0x000c, 0x2408: 0x000c, 0x2409: 0x000c, 0x240a: 0x000c, 0x240b: 0x000c, -+ 0x240c: 0x000c, 0x240d: 0x000c, 0x240e: 0x000c, 0x240f: 0x000c, 0x2410: 0x000a, 0x2411: 0x000a, -+ 0x2412: 0x000a, 0x2413: 0x000a, 0x2414: 0x000a, 0x2415: 0x000a, 0x2416: 0x000a, 0x2417: 0x000a, -+ 0x2418: 0x000a, 0x2419: 0x000a, -+ 0x2420: 0x000c, 0x2421: 0x000c, 0x2422: 0x000c, 0x2423: 0x000c, -+ 0x2424: 0x000c, 0x2425: 0x000c, 0x2426: 0x000c, 0x2427: 0x000c, 0x2428: 0x000c, 0x2429: 0x000c, -+ 0x242a: 0x000c, 0x242b: 0x000c, 0x242c: 0x000c, 0x242d: 0x000c, 0x242e: 0x000c, 0x242f: 0x000c, -+ 0x2430: 0x000a, 0x2431: 0x000a, 0x2432: 0x000a, 0x2433: 0x000a, 0x2434: 0x000a, 0x2435: 0x000a, -+ 0x2436: 0x000a, 0x2437: 0x000a, 0x2438: 0x000a, 0x2439: 0x000a, 0x243a: 0x000a, 0x243b: 0x000a, -+ 0x243c: 0x000a, 0x243d: 0x000a, 0x243e: 0x000a, 0x243f: 0x000a, -+ // Block 0x91, offset 0x2440 -+ 0x2440: 0x000a, 0x2441: 0x000a, 0x2442: 0x000a, 0x2443: 0x000a, 0x2444: 0x000a, 0x2445: 0x000a, -+ 0x2446: 0x000a, 0x2447: 0x000a, 0x2448: 0x000a, 0x2449: 0x000a, 0x244a: 0x000a, 0x244b: 0x000a, -+ 0x244c: 0x000a, 0x244d: 0x000a, 0x244e: 0x000a, 0x244f: 0x000a, 0x2450: 0x0006, 0x2451: 0x000a, -+ 0x2452: 0x0006, 0x2454: 0x000a, 0x2455: 0x0006, 0x2456: 0x000a, 0x2457: 0x000a, -+ 0x2458: 0x000a, 0x2459: 0x009a, 0x245a: 0x008a, 0x245b: 0x007a, 0x245c: 0x006a, 0x245d: 0x009a, -+ 0x245e: 0x008a, 0x245f: 0x0004, 0x2460: 0x000a, 0x2461: 0x000a, 0x2462: 0x0003, 0x2463: 0x0003, -+ 0x2464: 0x000a, 0x2465: 0x000a, 0x2466: 0x000a, 0x2468: 0x000a, 0x2469: 0x0004, -+ 0x246a: 0x0004, 0x246b: 0x000a, -+ 0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d, -+ 0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d, -+ 0x247c: 0x000d, 0x247d: 0x000d, 0x247e: 0x000d, 0x247f: 0x000d, -+ // Block 0x92, offset 0x2480 -+ 0x2480: 0x000d, 0x2481: 0x000d, 0x2482: 0x000d, 0x2483: 0x000d, 0x2484: 0x000d, 0x2485: 0x000d, -+ 0x2486: 0x000d, 0x2487: 0x000d, 0x2488: 0x000d, 0x2489: 0x000d, 0x248a: 0x000d, 0x248b: 0x000d, -+ 0x248c: 0x000d, 0x248d: 0x000d, 0x248e: 0x000d, 0x248f: 0x000d, 0x2490: 0x000d, 0x2491: 0x000d, -+ 0x2492: 0x000d, 0x2493: 0x000d, 0x2494: 0x000d, 0x2495: 0x000d, 0x2496: 0x000d, 0x2497: 0x000d, -+ 0x2498: 0x000d, 0x2499: 0x000d, 0x249a: 0x000d, 0x249b: 0x000d, 0x249c: 0x000d, 0x249d: 0x000d, -+ 0x249e: 0x000d, 0x249f: 0x000d, 0x24a0: 0x000d, 0x24a1: 0x000d, 0x24a2: 0x000d, 0x24a3: 0x000d, -+ 0x24a4: 0x000d, 0x24a5: 0x000d, 0x24a6: 0x000d, 0x24a7: 0x000d, 0x24a8: 0x000d, 0x24a9: 0x000d, -+ 0x24aa: 0x000d, 0x24ab: 0x000d, 0x24ac: 0x000d, 0x24ad: 0x000d, 0x24ae: 0x000d, 0x24af: 0x000d, -+ 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, -+ 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, -+ 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000b, -+ // Block 0x93, offset 0x24c0 -+ 0x24c1: 0x000a, 0x24c2: 0x000a, 0x24c3: 0x0004, 0x24c4: 0x0004, 0x24c5: 0x0004, -+ 0x24c6: 0x000a, 0x24c7: 0x000a, 0x24c8: 0x003a, 0x24c9: 0x002a, 0x24ca: 0x000a, 0x24cb: 0x0003, -+ 0x24cc: 0x0006, 0x24cd: 0x0003, 0x24ce: 0x0006, 0x24cf: 0x0006, 0x24d0: 0x0002, 0x24d1: 0x0002, -+ 0x24d2: 0x0002, 0x24d3: 0x0002, 0x24d4: 0x0002, 0x24d5: 0x0002, 0x24d6: 0x0002, 0x24d7: 0x0002, -+ 0x24d8: 0x0002, 0x24d9: 0x0002, 0x24da: 0x0006, 0x24db: 0x000a, 0x24dc: 0x000a, 0x24dd: 0x000a, -+ 0x24de: 0x000a, 0x24df: 0x000a, 0x24e0: 0x000a, -+ 0x24fb: 0x005a, -+ 0x24fc: 0x000a, 0x24fd: 0x004a, 0x24fe: 0x000a, 0x24ff: 0x000a, -+ // Block 0x94, offset 0x2500 -+ 0x2500: 0x000a, -+ 0x251b: 0x005a, 0x251c: 0x000a, 0x251d: 0x004a, -+ 0x251e: 0x000a, 0x251f: 0x00fa, 0x2520: 0x00ea, 0x2521: 0x000a, 0x2522: 0x003a, 0x2523: 0x002a, -+ 0x2524: 0x000a, 0x2525: 0x000a, -+ // Block 0x95, offset 0x2540 -+ 0x2560: 0x0004, 0x2561: 0x0004, 0x2562: 0x000a, 0x2563: 0x000a, -+ 0x2564: 0x000a, 0x2565: 0x0004, 0x2566: 0x0004, 0x2568: 0x000a, 0x2569: 0x000a, -+ 0x256a: 0x000a, 0x256b: 0x000a, 0x256c: 0x000a, 0x256d: 0x000a, 0x256e: 0x000a, -+ 0x2570: 0x000b, 0x2571: 0x000b, 0x2572: 0x000b, 0x2573: 0x000b, 0x2574: 0x000b, 0x2575: 0x000b, -+ 0x2576: 0x000b, 0x2577: 0x000b, 0x2578: 0x000b, 0x2579: 0x000a, 0x257a: 0x000a, 0x257b: 0x000a, -+ 0x257c: 0x000a, 0x257d: 0x000a, 0x257e: 0x000b, 0x257f: 0x000b, -+ // Block 0x96, offset 0x2580 -+ 0x2581: 0x000a, -+ // Block 0x97, offset 0x25c0 -+ 0x25c0: 0x000a, 0x25c1: 0x000a, 0x25c2: 0x000a, 0x25c3: 0x000a, 0x25c4: 0x000a, 0x25c5: 0x000a, -+ 0x25c6: 0x000a, 0x25c7: 0x000a, 0x25c8: 0x000a, 0x25c9: 0x000a, 0x25ca: 0x000a, 0x25cb: 0x000a, -+ 0x25cc: 0x000a, 0x25d0: 0x000a, 0x25d1: 0x000a, -+ 0x25d2: 0x000a, 0x25d3: 0x000a, 0x25d4: 0x000a, 0x25d5: 0x000a, 0x25d6: 0x000a, 0x25d7: 0x000a, -+ 0x25d8: 0x000a, 0x25d9: 0x000a, 0x25da: 0x000a, 0x25db: 0x000a, -+ 0x25e0: 0x000a, -+ // Block 0x98, offset 0x2600 -+ 0x263d: 0x000c, -+ // Block 0x99, offset 0x2640 -+ 0x2660: 0x000c, 0x2661: 0x0002, 0x2662: 0x0002, 0x2663: 0x0002, -+ 0x2664: 0x0002, 0x2665: 0x0002, 0x2666: 0x0002, 0x2667: 0x0002, 0x2668: 0x0002, 0x2669: 0x0002, -+ 0x266a: 0x0002, 0x266b: 0x0002, 0x266c: 0x0002, 0x266d: 0x0002, 0x266e: 0x0002, 0x266f: 0x0002, -+ 0x2670: 0x0002, 0x2671: 0x0002, 0x2672: 0x0002, 0x2673: 0x0002, 0x2674: 0x0002, 0x2675: 0x0002, -+ 0x2676: 0x0002, 0x2677: 0x0002, 0x2678: 0x0002, 0x2679: 0x0002, 0x267a: 0x0002, 0x267b: 0x0002, -+ // Block 0x9a, offset 0x2680 -+ 0x26b6: 0x000c, 0x26b7: 0x000c, 0x26b8: 0x000c, 0x26b9: 0x000c, 0x26ba: 0x000c, -+ // Block 0x9b, offset 0x26c0 -+ 0x26c0: 0x0001, 0x26c1: 0x0001, 0x26c2: 0x0001, 0x26c3: 0x0001, 0x26c4: 0x0001, 0x26c5: 0x0001, -+ 0x26c6: 0x0001, 0x26c7: 0x0001, 0x26c8: 0x0001, 0x26c9: 0x0001, 0x26ca: 0x0001, 0x26cb: 0x0001, -+ 0x26cc: 0x0001, 0x26cd: 0x0001, 0x26ce: 0x0001, 0x26cf: 0x0001, 0x26d0: 0x0001, 0x26d1: 0x0001, -+ 0x26d2: 0x0001, 0x26d3: 0x0001, 0x26d4: 0x0001, 0x26d5: 0x0001, 0x26d6: 0x0001, 0x26d7: 0x0001, -+ 0x26d8: 0x0001, 0x26d9: 0x0001, 0x26da: 0x0001, 0x26db: 0x0001, 0x26dc: 0x0001, 0x26dd: 0x0001, -+ 0x26de: 0x0001, 0x26df: 0x0001, 0x26e0: 0x0001, 0x26e1: 0x0001, 0x26e2: 0x0001, 0x26e3: 0x0001, -+ 0x26e4: 0x0001, 0x26e5: 0x0001, 0x26e6: 0x0001, 0x26e7: 0x0001, 0x26e8: 0x0001, 0x26e9: 0x0001, -+ 0x26ea: 0x0001, 0x26eb: 0x0001, 0x26ec: 0x0001, 0x26ed: 0x0001, 0x26ee: 0x0001, 0x26ef: 0x0001, -+ 0x26f0: 0x0001, 0x26f1: 0x0001, 0x26f2: 0x0001, 0x26f3: 0x0001, 0x26f4: 0x0001, 0x26f5: 0x0001, -+ 0x26f6: 0x0001, 0x26f7: 0x0001, 0x26f8: 0x0001, 0x26f9: 0x0001, 0x26fa: 0x0001, 0x26fb: 0x0001, -+ 0x26fc: 0x0001, 0x26fd: 0x0001, 0x26fe: 0x0001, 0x26ff: 0x0001, -+ // Block 0x9c, offset 0x2700 -+ 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, -+ 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, -+ 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, -+ 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, -+ 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, -+ 0x271e: 0x0001, 0x271f: 0x000a, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, -+ 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, -+ 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, -+ 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, -+ 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, -+ 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, -+ // Block 0x9d, offset 0x2740 -+ 0x2740: 0x0001, 0x2741: 0x000c, 0x2742: 0x000c, 0x2743: 0x000c, 0x2744: 0x0001, 0x2745: 0x000c, -+ 0x2746: 0x000c, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, -+ 0x274c: 0x000c, 0x274d: 0x000c, 0x274e: 0x000c, 0x274f: 0x000c, 0x2750: 0x0001, 0x2751: 0x0001, -+ 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, -+ 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, -+ 0x275e: 0x0001, 0x275f: 0x0001, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, -+ 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, -+ 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, -+ 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, -+ 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x000c, 0x2779: 0x000c, 0x277a: 0x000c, 0x277b: 0x0001, -+ 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x000c, -+ // Block 0x9e, offset 0x2780 -+ 0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001, -+ 0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, -+ 0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001, -+ 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, -+ 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, -+ 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, -+ 0x27a4: 0x0001, 0x27a5: 0x000c, 0x27a6: 0x000c, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, -+ 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, -+ 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, -+ 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001, -+ 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001, -+ // Block 0x9f, offset 0x27c0 -+ 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, -+ 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, -+ 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, -+ 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, -+ 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, -+ 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, -+ 0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, -+ 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, -+ 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, -+ 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x000a, 0x27fa: 0x000a, 0x27fb: 0x000a, -+ 0x27fc: 0x000a, 0x27fd: 0x000a, 0x27fe: 0x000a, 0x27ff: 0x000a, -+ // Block 0xa0, offset 0x2800 -+ 0x2800: 0x000d, 0x2801: 0x000d, 0x2802: 0x000d, 0x2803: 0x000d, 0x2804: 0x000d, 0x2805: 0x000d, -+ 0x2806: 0x000d, 0x2807: 0x000d, 0x2808: 0x000d, 0x2809: 0x000d, 0x280a: 0x000d, 0x280b: 0x000d, -+ 0x280c: 0x000d, 0x280d: 0x000d, 0x280e: 0x000d, 0x280f: 0x000d, 0x2810: 0x000d, 0x2811: 0x000d, -+ 0x2812: 0x000d, 0x2813: 0x000d, 0x2814: 0x000d, 0x2815: 0x000d, 0x2816: 0x000d, 0x2817: 0x000d, -+ 0x2818: 0x000d, 0x2819: 0x000d, 0x281a: 0x000d, 0x281b: 0x000d, 0x281c: 0x000d, 0x281d: 0x000d, -+ 0x281e: 0x000d, 0x281f: 0x000d, 0x2820: 0x000d, 0x2821: 0x000d, 0x2822: 0x000d, 0x2823: 0x000d, -+ 0x2824: 0x000c, 0x2825: 0x000c, 0x2826: 0x000c, 0x2827: 0x000c, 0x2828: 0x000d, 0x2829: 0x000d, -+ 0x282a: 0x000d, 0x282b: 0x000d, 0x282c: 0x000d, 0x282d: 0x000d, 0x282e: 0x000d, 0x282f: 0x000d, -+ 0x2830: 0x0005, 0x2831: 0x0005, 0x2832: 0x0005, 0x2833: 0x0005, 0x2834: 0x0005, 0x2835: 0x0005, -+ 0x2836: 0x0005, 0x2837: 0x0005, 0x2838: 0x0005, 0x2839: 0x0005, 0x283a: 0x000d, 0x283b: 0x000d, -+ 0x283c: 0x000d, 0x283d: 0x000d, 0x283e: 0x000d, 0x283f: 0x000d, -+ // Block 0xa1, offset 0x2840 -+ 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, -+ 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, -+ 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, -+ 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, -+ 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, -+ 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005, -+ 0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005, -+ 0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005, -+ 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, -+ 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005, -+ 0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001, -+ // Block 0xa2, offset 0x2880 -+ 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, -+ 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, -+ 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, -+ 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, -+ 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, -+ 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0001, 0x28a1: 0x0001, 0x28a2: 0x0001, 0x28a3: 0x0001, -+ 0x28a4: 0x0001, 0x28a5: 0x0001, 0x28a6: 0x0001, 0x28a7: 0x0001, 0x28a8: 0x0001, 0x28a9: 0x0001, -+ 0x28aa: 0x0001, 0x28ab: 0x0001, 0x28ac: 0x0001, 0x28ad: 0x0001, 0x28ae: 0x0001, 0x28af: 0x0001, -+ 0x28b0: 0x000d, 0x28b1: 0x000d, 0x28b2: 0x000d, 0x28b3: 0x000d, 0x28b4: 0x000d, 0x28b5: 0x000d, -+ 0x28b6: 0x000d, 0x28b7: 0x000d, 0x28b8: 0x000d, 0x28b9: 0x000d, 0x28ba: 0x000d, 0x28bb: 0x000d, -+ 0x28bc: 0x000d, 0x28bd: 0x000d, 0x28be: 0x000d, 0x28bf: 0x000d, -+ // Block 0xa3, offset 0x28c0 -+ 0x28c0: 0x000d, 0x28c1: 0x000d, 0x28c2: 0x000d, 0x28c3: 0x000d, 0x28c4: 0x000d, 0x28c5: 0x000d, -+ 0x28c6: 0x000c, 0x28c7: 0x000c, 0x28c8: 0x000c, 0x28c9: 0x000c, 0x28ca: 0x000c, 0x28cb: 0x000c, -+ 0x28cc: 0x000c, 0x28cd: 0x000c, 0x28ce: 0x000c, 0x28cf: 0x000c, 0x28d0: 0x000c, 0x28d1: 0x000d, -+ 0x28d2: 0x000d, 0x28d3: 0x000d, 0x28d4: 0x000d, 0x28d5: 0x000d, 0x28d6: 0x000d, 0x28d7: 0x000d, -+ 0x28d8: 0x000d, 0x28d9: 0x000d, 0x28da: 0x000d, 0x28db: 0x000d, 0x28dc: 0x000d, 0x28dd: 0x000d, -+ 0x28de: 0x000d, 0x28df: 0x000d, 0x28e0: 0x000d, 0x28e1: 0x000d, 0x28e2: 0x000d, 0x28e3: 0x000d, -+ 0x28e4: 0x000d, 0x28e5: 0x000d, 0x28e6: 0x000d, 0x28e7: 0x000d, 0x28e8: 0x000d, 0x28e9: 0x000d, -+ 0x28ea: 0x000d, 0x28eb: 0x000d, 0x28ec: 0x000d, 0x28ed: 0x000d, 0x28ee: 0x000d, 0x28ef: 0x000d, -+ 0x28f0: 0x0001, 0x28f1: 0x0001, 0x28f2: 0x0001, 0x28f3: 0x0001, 0x28f4: 0x0001, 0x28f5: 0x0001, -+ 0x28f6: 0x0001, 0x28f7: 0x0001, 0x28f8: 0x0001, 0x28f9: 0x0001, 0x28fa: 0x0001, 0x28fb: 0x0001, -+ 0x28fc: 0x0001, 0x28fd: 0x0001, 0x28fe: 0x0001, 0x28ff: 0x0001, -+ // Block 0xa4, offset 0x2900 -+ 0x2901: 0x000c, -+ 0x2938: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c, 0x293b: 0x000c, -+ 0x293c: 0x000c, 0x293d: 0x000c, 0x293e: 0x000c, 0x293f: 0x000c, -+ // Block 0xa5, offset 0x2940 -+ 0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c, 0x2943: 0x000c, 0x2944: 0x000c, 0x2945: 0x000c, -+ 0x2946: 0x000c, -+ 0x2952: 0x000a, 0x2953: 0x000a, 0x2954: 0x000a, 0x2955: 0x000a, 0x2956: 0x000a, 0x2957: 0x000a, -+ 0x2958: 0x000a, 0x2959: 0x000a, 0x295a: 0x000a, 0x295b: 0x000a, 0x295c: 0x000a, 0x295d: 0x000a, -+ 0x295e: 0x000a, 0x295f: 0x000a, 0x2960: 0x000a, 0x2961: 0x000a, 0x2962: 0x000a, 0x2963: 0x000a, -+ 0x2964: 0x000a, 0x2965: 0x000a, -+ 0x297f: 0x000c, -+ // Block 0xa6, offset 0x2980 -+ 0x2980: 0x000c, 0x2981: 0x000c, -+ 0x29b3: 0x000c, 0x29b4: 0x000c, 0x29b5: 0x000c, -+ 0x29b6: 0x000c, 0x29b9: 0x000c, 0x29ba: 0x000c, -+ // Block 0xa7, offset 0x29c0 -+ 0x29c0: 0x000c, 0x29c1: 0x000c, 0x29c2: 0x000c, -+ 0x29e7: 0x000c, 0x29e8: 0x000c, 0x29e9: 0x000c, -+ 0x29ea: 0x000c, 0x29eb: 0x000c, 0x29ed: 0x000c, 0x29ee: 0x000c, 0x29ef: 0x000c, -+ 0x29f0: 0x000c, 0x29f1: 0x000c, 0x29f2: 0x000c, 0x29f3: 0x000c, 0x29f4: 0x000c, -+ // Block 0xa8, offset 0x2a00 -+ 0x2a33: 0x000c, -+ // Block 0xa9, offset 0x2a40 -+ 0x2a40: 0x000c, 0x2a41: 0x000c, -+ 0x2a76: 0x000c, 0x2a77: 0x000c, 0x2a78: 0x000c, 0x2a79: 0x000c, 0x2a7a: 0x000c, 0x2a7b: 0x000c, -+ 0x2a7c: 0x000c, 0x2a7d: 0x000c, 0x2a7e: 0x000c, -+ // Block 0xaa, offset 0x2a80 -+ 0x2a89: 0x000c, 0x2a8a: 0x000c, 0x2a8b: 0x000c, -+ 0x2a8c: 0x000c, -+ // Block 0xab, offset 0x2ac0 -+ 0x2aef: 0x000c, -+ 0x2af0: 0x000c, 0x2af1: 0x000c, 0x2af4: 0x000c, -+ 0x2af6: 0x000c, 0x2af7: 0x000c, -+ 0x2afe: 0x000c, -+ // Block 0xac, offset 0x2b00 -+ 0x2b1f: 0x000c, 0x2b23: 0x000c, -+ 0x2b24: 0x000c, 0x2b25: 0x000c, 0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c, -+ 0x2b2a: 0x000c, -+ // Block 0xad, offset 0x2b40 -+ 0x2b40: 0x000c, -+ 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c, -+ 0x2b6a: 0x000c, 0x2b6b: 0x000c, 0x2b6c: 0x000c, -+ 0x2b70: 0x000c, 0x2b71: 0x000c, 0x2b72: 0x000c, 0x2b73: 0x000c, 0x2b74: 0x000c, -+ // Block 0xae, offset 0x2b80 -+ 0x2bb8: 0x000c, 0x2bb9: 0x000c, 0x2bba: 0x000c, 0x2bbb: 0x000c, -+ 0x2bbc: 0x000c, 0x2bbd: 0x000c, 0x2bbe: 0x000c, 0x2bbf: 0x000c, -+ // Block 0xaf, offset 0x2bc0 -+ 0x2bc2: 0x000c, 0x2bc3: 0x000c, 0x2bc4: 0x000c, -+ 0x2bc6: 0x000c, -+ 0x2bde: 0x000c, -+ // Block 0xb0, offset 0x2c00 -+ 0x2c33: 0x000c, 0x2c34: 0x000c, 0x2c35: 0x000c, -+ 0x2c36: 0x000c, 0x2c37: 0x000c, 0x2c38: 0x000c, 0x2c3a: 0x000c, -+ 0x2c3f: 0x000c, -+ // Block 0xb1, offset 0x2c40 -+ 0x2c40: 0x000c, 0x2c42: 0x000c, 0x2c43: 0x000c, -+ // Block 0xb2, offset 0x2c80 -+ 0x2cb2: 0x000c, 0x2cb3: 0x000c, 0x2cb4: 0x000c, 0x2cb5: 0x000c, -+ 0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbf: 0x000c, -+ // Block 0xb3, offset 0x2cc0 -+ 0x2cc0: 0x000c, -+ 0x2cdc: 0x000c, 0x2cdd: 0x000c, -+ // Block 0xb4, offset 0x2d00 -+ 0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c, -+ 0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d39: 0x000c, 0x2d3a: 0x000c, -+ 0x2d3d: 0x000c, 0x2d3f: 0x000c, -+ // Block 0xb5, offset 0x2d40 -+ 0x2d40: 0x000c, -+ 0x2d60: 0x000a, 0x2d61: 0x000a, 0x2d62: 0x000a, 0x2d63: 0x000a, -+ 0x2d64: 0x000a, 0x2d65: 0x000a, 0x2d66: 0x000a, 0x2d67: 0x000a, 0x2d68: 0x000a, 0x2d69: 0x000a, -+ 0x2d6a: 0x000a, 0x2d6b: 0x000a, 0x2d6c: 0x000a, -+ // Block 0xb6, offset 0x2d80 -+ 0x2dab: 0x000c, 0x2dad: 0x000c, -+ 0x2db0: 0x000c, 0x2db1: 0x000c, 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c, -+ 0x2db7: 0x000c, -+ // Block 0xb7, offset 0x2dc0 -+ 0x2ddd: 0x000c, -+ 0x2dde: 0x000c, 0x2ddf: 0x000c, 0x2de2: 0x000c, 0x2de3: 0x000c, -+ 0x2de4: 0x000c, 0x2de5: 0x000c, 0x2de7: 0x000c, 0x2de8: 0x000c, 0x2de9: 0x000c, -+ 0x2dea: 0x000c, 0x2deb: 0x000c, -+ // Block 0xb8, offset 0x2e00 -+ 0x2e2f: 0x000c, -+ 0x2e30: 0x000c, 0x2e31: 0x000c, 0x2e32: 0x000c, 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c, -+ 0x2e36: 0x000c, 0x2e37: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, -+ // Block 0xb9, offset 0x2e40 -+ 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, 0x2e57: 0x000c, -+ 0x2e5a: 0x000c, 0x2e5b: 0x000c, -+ 0x2e60: 0x000c, -+ // Block 0xba, offset 0x2e80 -+ 0x2e81: 0x000c, 0x2e82: 0x000c, 0x2e83: 0x000c, 0x2e84: 0x000c, 0x2e85: 0x000c, -+ 0x2e86: 0x000c, 0x2e89: 0x000c, 0x2e8a: 0x000c, -+ 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, -+ 0x2eb6: 0x000c, 0x2eb7: 0x000c, 0x2eb8: 0x000c, 0x2ebb: 0x000c, -+ 0x2ebc: 0x000c, 0x2ebd: 0x000c, 0x2ebe: 0x000c, -+ // Block 0xbb, offset 0x2ec0 -+ 0x2ec7: 0x000c, -+ 0x2ed1: 0x000c, -+ 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, -+ 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, -+ // Block 0xbc, offset 0x2f00 -+ 0x2f0a: 0x000c, 0x2f0b: 0x000c, -+ 0x2f0c: 0x000c, 0x2f0d: 0x000c, 0x2f0e: 0x000c, 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c, -+ 0x2f12: 0x000c, 0x2f13: 0x000c, 0x2f14: 0x000c, 0x2f15: 0x000c, 0x2f16: 0x000c, -+ 0x2f18: 0x000c, 0x2f19: 0x000c, -+ // Block 0xbd, offset 0x2f40 -+ 0x2f70: 0x000c, 0x2f71: 0x000c, 0x2f72: 0x000c, 0x2f73: 0x000c, 0x2f74: 0x000c, 0x2f75: 0x000c, -+ 0x2f76: 0x000c, 0x2f78: 0x000c, 0x2f79: 0x000c, 0x2f7a: 0x000c, 0x2f7b: 0x000c, -+ 0x2f7c: 0x000c, 0x2f7d: 0x000c, -+ // Block 0xbe, offset 0x2f80 -+ 0x2f92: 0x000c, 0x2f93: 0x000c, 0x2f94: 0x000c, 0x2f95: 0x000c, 0x2f96: 0x000c, 0x2f97: 0x000c, -+ 0x2f98: 0x000c, 0x2f99: 0x000c, 0x2f9a: 0x000c, 0x2f9b: 0x000c, 0x2f9c: 0x000c, 0x2f9d: 0x000c, -+ 0x2f9e: 0x000c, 0x2f9f: 0x000c, 0x2fa0: 0x000c, 0x2fa1: 0x000c, 0x2fa2: 0x000c, 0x2fa3: 0x000c, -+ 0x2fa4: 0x000c, 0x2fa5: 0x000c, 0x2fa6: 0x000c, 0x2fa7: 0x000c, -+ 0x2faa: 0x000c, 0x2fab: 0x000c, 0x2fac: 0x000c, 0x2fad: 0x000c, 0x2fae: 0x000c, 0x2faf: 0x000c, -+ 0x2fb0: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb5: 0x000c, -+ 0x2fb6: 0x000c, -+ // Block 0xbf, offset 0x2fc0 -+ 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, -+ 0x2ff6: 0x000c, 0x2ffa: 0x000c, -+ 0x2ffc: 0x000c, 0x2ffd: 0x000c, 0x2fff: 0x000c, -+ // Block 0xc0, offset 0x3000 -+ 0x3000: 0x000c, 0x3001: 0x000c, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000c, -+ 0x3007: 0x000c, -+ // Block 0xc1, offset 0x3040 -+ 0x3050: 0x000c, 0x3051: 0x000c, -+ 0x3055: 0x000c, 0x3057: 0x000c, -+ // Block 0xc2, offset 0x3080 -+ 0x30b3: 0x000c, 0x30b4: 0x000c, -+ // Block 0xc3, offset 0x30c0 -+ 0x30d5: 0x000a, 0x30d6: 0x000a, 0x30d7: 0x000a, -+ 0x30d8: 0x000a, 0x30d9: 0x000a, 0x30da: 0x000a, 0x30db: 0x000a, 0x30dc: 0x000a, 0x30dd: 0x0004, -+ 0x30de: 0x0004, 0x30df: 0x0004, 0x30e0: 0x0004, 0x30e1: 0x000a, 0x30e2: 0x000a, 0x30e3: 0x000a, -+ 0x30e4: 0x000a, 0x30e5: 0x000a, 0x30e6: 0x000a, 0x30e7: 0x000a, 0x30e8: 0x000a, 0x30e9: 0x000a, -+ 0x30ea: 0x000a, 0x30eb: 0x000a, 0x30ec: 0x000a, 0x30ed: 0x000a, 0x30ee: 0x000a, 0x30ef: 0x000a, -+ 0x30f0: 0x000a, 0x30f1: 0x000a, -+ // Block 0xc4, offset 0x3100 -+ 0x3130: 0x000c, 0x3131: 0x000c, 0x3132: 0x000c, 0x3133: 0x000c, 0x3134: 0x000c, -+ // Block 0xc5, offset 0x3140 -+ 0x3170: 0x000c, 0x3171: 0x000c, 0x3172: 0x000c, 0x3173: 0x000c, 0x3174: 0x000c, 0x3175: 0x000c, -+ 0x3176: 0x000c, -+ // Block 0xc6, offset 0x3180 -+ 0x318f: 0x000c, -+ // Block 0xc7, offset 0x31c0 -+ 0x31cf: 0x000c, 0x31d0: 0x000c, 0x31d1: 0x000c, -+ 0x31d2: 0x000c, -+ // Block 0xc8, offset 0x3200 -+ 0x3222: 0x000a, -+ // Block 0xc9, offset 0x3240 -+ 0x325d: 0x000c, -+ 0x325e: 0x000c, 0x3260: 0x000b, 0x3261: 0x000b, 0x3262: 0x000b, 0x3263: 0x000b, -+ // Block 0xca, offset 0x3280 -+ 0x32a7: 0x000c, 0x32a8: 0x000c, 0x32a9: 0x000c, -+ 0x32b3: 0x000b, 0x32b4: 0x000b, 0x32b5: 0x000b, -+ 0x32b6: 0x000b, 0x32b7: 0x000b, 0x32b8: 0x000b, 0x32b9: 0x000b, 0x32ba: 0x000b, 0x32bb: 0x000c, -+ 0x32bc: 0x000c, 0x32bd: 0x000c, 0x32be: 0x000c, 0x32bf: 0x000c, -+ // Block 0xcb, offset 0x32c0 -+ 0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c5: 0x000c, -+ 0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c, -+ 0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, -+ // Block 0xcc, offset 0x3300 -+ 0x3300: 0x000a, 0x3301: 0x000a, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000a, -+ // Block 0xcd, offset 0x3340 -+ 0x3340: 0x000a, 0x3341: 0x000a, 0x3342: 0x000a, 0x3343: 0x000a, 0x3344: 0x000a, 0x3345: 0x000a, -+ 0x3346: 0x000a, 0x3347: 0x000a, 0x3348: 0x000a, 0x3349: 0x000a, 0x334a: 0x000a, 0x334b: 0x000a, -+ 0x334c: 0x000a, 0x334d: 0x000a, 0x334e: 0x000a, 0x334f: 0x000a, 0x3350: 0x000a, 0x3351: 0x000a, -+ 0x3352: 0x000a, 0x3353: 0x000a, 0x3354: 0x000a, 0x3355: 0x000a, 0x3356: 0x000a, -+ // Block 0xce, offset 0x3380 -+ 0x339b: 0x000a, -+ // Block 0xcf, offset 0x33c0 -+ 0x33d5: 0x000a, -+ // Block 0xd0, offset 0x3400 -+ 0x340f: 0x000a, -+ // Block 0xd1, offset 0x3440 -+ 0x3449: 0x000a, -+ // Block 0xd2, offset 0x3480 -+ 0x3483: 0x000a, -+ 0x348e: 0x0002, 0x348f: 0x0002, 0x3490: 0x0002, 0x3491: 0x0002, -+ 0x3492: 0x0002, 0x3493: 0x0002, 0x3494: 0x0002, 0x3495: 0x0002, 0x3496: 0x0002, 0x3497: 0x0002, -+ 0x3498: 0x0002, 0x3499: 0x0002, 0x349a: 0x0002, 0x349b: 0x0002, 0x349c: 0x0002, 0x349d: 0x0002, -+ 0x349e: 0x0002, 0x349f: 0x0002, 0x34a0: 0x0002, 0x34a1: 0x0002, 0x34a2: 0x0002, 0x34a3: 0x0002, -+ 0x34a4: 0x0002, 0x34a5: 0x0002, 0x34a6: 0x0002, 0x34a7: 0x0002, 0x34a8: 0x0002, 0x34a9: 0x0002, -+ 0x34aa: 0x0002, 0x34ab: 0x0002, 0x34ac: 0x0002, 0x34ad: 0x0002, 0x34ae: 0x0002, 0x34af: 0x0002, -+ 0x34b0: 0x0002, 0x34b1: 0x0002, 0x34b2: 0x0002, 0x34b3: 0x0002, 0x34b4: 0x0002, 0x34b5: 0x0002, -+ 0x34b6: 0x0002, 0x34b7: 0x0002, 0x34b8: 0x0002, 0x34b9: 0x0002, 0x34ba: 0x0002, 0x34bb: 0x0002, -+ 0x34bc: 0x0002, 0x34bd: 0x0002, 0x34be: 0x0002, 0x34bf: 0x0002, -+ // Block 0xd3, offset 0x34c0 -+ 0x34c0: 0x000c, 0x34c1: 0x000c, 0x34c2: 0x000c, 0x34c3: 0x000c, 0x34c4: 0x000c, 0x34c5: 0x000c, -+ 0x34c6: 0x000c, 0x34c7: 0x000c, 0x34c8: 0x000c, 0x34c9: 0x000c, 0x34ca: 0x000c, 0x34cb: 0x000c, -+ 0x34cc: 0x000c, 0x34cd: 0x000c, 0x34ce: 0x000c, 0x34cf: 0x000c, 0x34d0: 0x000c, 0x34d1: 0x000c, -+ 0x34d2: 0x000c, 0x34d3: 0x000c, 0x34d4: 0x000c, 0x34d5: 0x000c, 0x34d6: 0x000c, 0x34d7: 0x000c, -+ 0x34d8: 0x000c, 0x34d9: 0x000c, 0x34da: 0x000c, 0x34db: 0x000c, 0x34dc: 0x000c, 0x34dd: 0x000c, -+ 0x34de: 0x000c, 0x34df: 0x000c, 0x34e0: 0x000c, 0x34e1: 0x000c, 0x34e2: 0x000c, 0x34e3: 0x000c, -+ 0x34e4: 0x000c, 0x34e5: 0x000c, 0x34e6: 0x000c, 0x34e7: 0x000c, 0x34e8: 0x000c, 0x34e9: 0x000c, -+ 0x34ea: 0x000c, 0x34eb: 0x000c, 0x34ec: 0x000c, 0x34ed: 0x000c, 0x34ee: 0x000c, 0x34ef: 0x000c, -+ 0x34f0: 0x000c, 0x34f1: 0x000c, 0x34f2: 0x000c, 0x34f3: 0x000c, 0x34f4: 0x000c, 0x34f5: 0x000c, -+ 0x34f6: 0x000c, 0x34fb: 0x000c, -+ 0x34fc: 0x000c, 0x34fd: 0x000c, 0x34fe: 0x000c, 0x34ff: 0x000c, -+ // Block 0xd4, offset 0x3500 -+ 0x3500: 0x000c, 0x3501: 0x000c, 0x3502: 0x000c, 0x3503: 0x000c, 0x3504: 0x000c, 0x3505: 0x000c, -+ 0x3506: 0x000c, 0x3507: 0x000c, 0x3508: 0x000c, 0x3509: 0x000c, 0x350a: 0x000c, 0x350b: 0x000c, -+ 0x350c: 0x000c, 0x350d: 0x000c, 0x350e: 0x000c, 0x350f: 0x000c, 0x3510: 0x000c, 0x3511: 0x000c, -+ 0x3512: 0x000c, 0x3513: 0x000c, 0x3514: 0x000c, 0x3515: 0x000c, 0x3516: 0x000c, 0x3517: 0x000c, -+ 0x3518: 0x000c, 0x3519: 0x000c, 0x351a: 0x000c, 0x351b: 0x000c, 0x351c: 0x000c, 0x351d: 0x000c, -+ 0x351e: 0x000c, 0x351f: 0x000c, 0x3520: 0x000c, 0x3521: 0x000c, 0x3522: 0x000c, 0x3523: 0x000c, -+ 0x3524: 0x000c, 0x3525: 0x000c, 0x3526: 0x000c, 0x3527: 0x000c, 0x3528: 0x000c, 0x3529: 0x000c, -+ 0x352a: 0x000c, 0x352b: 0x000c, 0x352c: 0x000c, -+ 0x3535: 0x000c, -+ // Block 0xd5, offset 0x3540 -+ 0x3544: 0x000c, -+ 0x355b: 0x000c, 0x355c: 0x000c, 0x355d: 0x000c, -+ 0x355e: 0x000c, 0x355f: 0x000c, 0x3561: 0x000c, 0x3562: 0x000c, 0x3563: 0x000c, -+ 0x3564: 0x000c, 0x3565: 0x000c, 0x3566: 0x000c, 0x3567: 0x000c, 0x3568: 0x000c, 0x3569: 0x000c, -+ 0x356a: 0x000c, 0x356b: 0x000c, 0x356c: 0x000c, 0x356d: 0x000c, 0x356e: 0x000c, 0x356f: 0x000c, -+ // Block 0xd6, offset 0x3580 -+ 0x3580: 0x000c, 0x3581: 0x000c, 0x3582: 0x000c, 0x3583: 0x000c, 0x3584: 0x000c, 0x3585: 0x000c, -+ 0x3586: 0x000c, 0x3588: 0x000c, 0x3589: 0x000c, 0x358a: 0x000c, 0x358b: 0x000c, -+ 0x358c: 0x000c, 0x358d: 0x000c, 0x358e: 0x000c, 0x358f: 0x000c, 0x3590: 0x000c, 0x3591: 0x000c, -+ 0x3592: 0x000c, 0x3593: 0x000c, 0x3594: 0x000c, 0x3595: 0x000c, 0x3596: 0x000c, 0x3597: 0x000c, -+ 0x3598: 0x000c, 0x359b: 0x000c, 0x359c: 0x000c, 0x359d: 0x000c, -+ 0x359e: 0x000c, 0x359f: 0x000c, 0x35a0: 0x000c, 0x35a1: 0x000c, 0x35a3: 0x000c, -+ 0x35a4: 0x000c, 0x35a6: 0x000c, 0x35a7: 0x000c, 0x35a8: 0x000c, 0x35a9: 0x000c, -+ 0x35aa: 0x000c, -+ // Block 0xd7, offset 0x35c0 -+ 0x35ec: 0x000c, 0x35ed: 0x000c, 0x35ee: 0x000c, 0x35ef: 0x000c, -+ 0x35ff: 0x0004, -+ // Block 0xd8, offset 0x3600 -+ 0x3600: 0x0001, 0x3601: 0x0001, 0x3602: 0x0001, 0x3603: 0x0001, 0x3604: 0x0001, 0x3605: 0x0001, -+ 0x3606: 0x0001, 0x3607: 0x0001, 0x3608: 0x0001, 0x3609: 0x0001, 0x360a: 0x0001, 0x360b: 0x0001, -+ 0x360c: 0x0001, 0x360d: 0x0001, 0x360e: 0x0001, 0x360f: 0x0001, 0x3610: 0x000c, 0x3611: 0x000c, -+ 0x3612: 0x000c, 0x3613: 0x000c, 0x3614: 0x000c, 0x3615: 0x000c, 0x3616: 0x000c, 0x3617: 0x0001, -+ 0x3618: 0x0001, 0x3619: 0x0001, 0x361a: 0x0001, 0x361b: 0x0001, 0x361c: 0x0001, 0x361d: 0x0001, -+ 0x361e: 0x0001, 0x361f: 0x0001, 0x3620: 0x0001, 0x3621: 0x0001, 0x3622: 0x0001, 0x3623: 0x0001, -+ 0x3624: 0x0001, 0x3625: 0x0001, 0x3626: 0x0001, 0x3627: 0x0001, 0x3628: 0x0001, 0x3629: 0x0001, -+ 0x362a: 0x0001, 0x362b: 0x0001, 0x362c: 0x0001, 0x362d: 0x0001, 0x362e: 0x0001, 0x362f: 0x0001, -+ 0x3630: 0x0001, 0x3631: 0x0001, 0x3632: 0x0001, 0x3633: 0x0001, 0x3634: 0x0001, 0x3635: 0x0001, -+ 0x3636: 0x0001, 0x3637: 0x0001, 0x3638: 0x0001, 0x3639: 0x0001, 0x363a: 0x0001, 0x363b: 0x0001, -+ 0x363c: 0x0001, 0x363d: 0x0001, 0x363e: 0x0001, 0x363f: 0x0001, -+ // Block 0xd9, offset 0x3640 -+ 0x3640: 0x0001, 0x3641: 0x0001, 0x3642: 0x0001, 0x3643: 0x0001, 0x3644: 0x000c, 0x3645: 0x000c, -+ 0x3646: 0x000c, 0x3647: 0x000c, 0x3648: 0x000c, 0x3649: 0x000c, 0x364a: 0x000c, 0x364b: 0x0001, -+ 0x364c: 0x0001, 0x364d: 0x0001, 0x364e: 0x0001, 0x364f: 0x0001, 0x3650: 0x0001, 0x3651: 0x0001, -+ 0x3652: 0x0001, 0x3653: 0x0001, 0x3654: 0x0001, 0x3655: 0x0001, 0x3656: 0x0001, 0x3657: 0x0001, -+ 0x3658: 0x0001, 0x3659: 0x0001, 0x365a: 0x0001, 0x365b: 0x0001, 0x365c: 0x0001, 0x365d: 0x0001, -+ 0x365e: 0x0001, 0x365f: 0x0001, 0x3660: 0x0001, 0x3661: 0x0001, 0x3662: 0x0001, 0x3663: 0x0001, -+ 0x3664: 0x0001, 0x3665: 0x0001, 0x3666: 0x0001, 0x3667: 0x0001, 0x3668: 0x0001, 0x3669: 0x0001, -+ 0x366a: 0x0001, 0x366b: 0x0001, 0x366c: 0x0001, 0x366d: 0x0001, 0x366e: 0x0001, 0x366f: 0x0001, -+ 0x3670: 0x0001, 0x3671: 0x0001, 0x3672: 0x0001, 0x3673: 0x0001, 0x3674: 0x0001, 0x3675: 0x0001, -+ 0x3676: 0x0001, 0x3677: 0x0001, 0x3678: 0x0001, 0x3679: 0x0001, 0x367a: 0x0001, 0x367b: 0x0001, -+ 0x367c: 0x0001, 0x367d: 0x0001, 0x367e: 0x0001, 0x367f: 0x0001, -+ // Block 0xda, offset 0x3680 -+ 0x3680: 0x000d, 0x3681: 0x000d, 0x3682: 0x000d, 0x3683: 0x000d, 0x3684: 0x000d, 0x3685: 0x000d, -+ 0x3686: 0x000d, 0x3687: 0x000d, 0x3688: 0x000d, 0x3689: 0x000d, 0x368a: 0x000d, 0x368b: 0x000d, -+ 0x368c: 0x000d, 0x368d: 0x000d, 0x368e: 0x000d, 0x368f: 0x000d, 0x3690: 0x0001, 0x3691: 0x0001, -+ 0x3692: 0x0001, 0x3693: 0x0001, 0x3694: 0x0001, 0x3695: 0x0001, 0x3696: 0x0001, 0x3697: 0x0001, -+ 0x3698: 0x0001, 0x3699: 0x0001, 0x369a: 0x0001, 0x369b: 0x0001, 0x369c: 0x0001, 0x369d: 0x0001, -+ 0x369e: 0x0001, 0x369f: 0x0001, 0x36a0: 0x0001, 0x36a1: 0x0001, 0x36a2: 0x0001, 0x36a3: 0x0001, -+ 0x36a4: 0x0001, 0x36a5: 0x0001, 0x36a6: 0x0001, 0x36a7: 0x0001, 0x36a8: 0x0001, 0x36a9: 0x0001, -+ 0x36aa: 0x0001, 0x36ab: 0x0001, 0x36ac: 0x0001, 0x36ad: 0x0001, 0x36ae: 0x0001, 0x36af: 0x0001, -+ 0x36b0: 0x0001, 0x36b1: 0x0001, 0x36b2: 0x0001, 0x36b3: 0x0001, 0x36b4: 0x0001, 0x36b5: 0x0001, -+ 0x36b6: 0x0001, 0x36b7: 0x0001, 0x36b8: 0x0001, 0x36b9: 0x0001, 0x36ba: 0x0001, 0x36bb: 0x0001, -+ 0x36bc: 0x0001, 0x36bd: 0x0001, 0x36be: 0x0001, 0x36bf: 0x0001, -+ // Block 0xdb, offset 0x36c0 -+ 0x36c0: 0x000d, 0x36c1: 0x000d, 0x36c2: 0x000d, 0x36c3: 0x000d, 0x36c4: 0x000d, 0x36c5: 0x000d, -+ 0x36c6: 0x000d, 0x36c7: 0x000d, 0x36c8: 0x000d, 0x36c9: 0x000d, 0x36ca: 0x000d, 0x36cb: 0x000d, -+ 0x36cc: 0x000d, 0x36cd: 0x000d, 0x36ce: 0x000d, 0x36cf: 0x000d, 0x36d0: 0x000d, 0x36d1: 0x000d, -+ 0x36d2: 0x000d, 0x36d3: 0x000d, 0x36d4: 0x000d, 0x36d5: 0x000d, 0x36d6: 0x000d, 0x36d7: 0x000d, -+ 0x36d8: 0x000d, 0x36d9: 0x000d, 0x36da: 0x000d, 0x36db: 0x000d, 0x36dc: 0x000d, 0x36dd: 0x000d, -+ 0x36de: 0x000d, 0x36df: 0x000d, 0x36e0: 0x000d, 0x36e1: 0x000d, 0x36e2: 0x000d, 0x36e3: 0x000d, -+ 0x36e4: 0x000d, 0x36e5: 0x000d, 0x36e6: 0x000d, 0x36e7: 0x000d, 0x36e8: 0x000d, 0x36e9: 0x000d, -+ 0x36ea: 0x000d, 0x36eb: 0x000d, 0x36ec: 0x000d, 0x36ed: 0x000d, 0x36ee: 0x000d, 0x36ef: 0x000d, -+ 0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000d, 0x36f3: 0x000d, 0x36f4: 0x000d, 0x36f5: 0x000d, -+ 0x36f6: 0x000d, 0x36f7: 0x000d, 0x36f8: 0x000d, 0x36f9: 0x000d, 0x36fa: 0x000d, 0x36fb: 0x000d, -+ 0x36fc: 0x000d, 0x36fd: 0x000d, 0x36fe: 0x000d, 0x36ff: 0x000d, -+ // Block 0xdc, offset 0x3700 -+ 0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a, -+ 0x3706: 0x000a, 0x3707: 0x000a, 0x3708: 0x000a, 0x3709: 0x000a, 0x370a: 0x000a, 0x370b: 0x000a, -+ 0x370c: 0x000a, 0x370d: 0x000a, 0x370e: 0x000a, 0x370f: 0x000a, 0x3710: 0x000a, 0x3711: 0x000a, -+ 0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a, -+ 0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a, -+ 0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, -+ 0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a, -+ 0x372a: 0x000a, 0x372b: 0x000a, -+ 0x3730: 0x000a, 0x3731: 0x000a, 0x3732: 0x000a, 0x3733: 0x000a, 0x3734: 0x000a, 0x3735: 0x000a, -+ 0x3736: 0x000a, 0x3737: 0x000a, 0x3738: 0x000a, 0x3739: 0x000a, 0x373a: 0x000a, 0x373b: 0x000a, -+ 0x373c: 0x000a, 0x373d: 0x000a, 0x373e: 0x000a, 0x373f: 0x000a, -+ // Block 0xdd, offset 0x3740 -+ 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, -+ 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, -+ 0x374c: 0x000a, 0x374d: 0x000a, 0x374e: 0x000a, 0x374f: 0x000a, 0x3750: 0x000a, 0x3751: 0x000a, -+ 0x3752: 0x000a, 0x3753: 0x000a, -+ 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, -+ 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, -+ 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, -+ 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, -+ 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a, -+ 0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a, 0x377f: 0x000a, -+ // Block 0xde, offset 0x3780 -+ 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, -+ 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, -+ 0x378c: 0x000a, 0x378d: 0x000a, 0x378e: 0x000a, 0x378f: 0x000a, 0x3791: 0x000a, -+ 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, -+ 0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a, -+ 0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a, -+ 0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a, -+ 0x37aa: 0x000a, 0x37ab: 0x000a, 0x37ac: 0x000a, 0x37ad: 0x000a, 0x37ae: 0x000a, 0x37af: 0x000a, -+ 0x37b0: 0x000a, 0x37b1: 0x000a, 0x37b2: 0x000a, 0x37b3: 0x000a, 0x37b4: 0x000a, 0x37b5: 0x000a, -+ // Block 0xdf, offset 0x37c0 -+ 0x37c0: 0x0002, 0x37c1: 0x0002, 0x37c2: 0x0002, 0x37c3: 0x0002, 0x37c4: 0x0002, 0x37c5: 0x0002, -+ 0x37c6: 0x0002, 0x37c7: 0x0002, 0x37c8: 0x0002, 0x37c9: 0x0002, 0x37ca: 0x0002, 0x37cb: 0x000a, -+ 0x37cc: 0x000a, -+ 0x37ef: 0x000a, -+ // Block 0xe0, offset 0x3800 -+ 0x382a: 0x000a, 0x382b: 0x000a, 0x382c: 0x000a, -+ // Block 0xe1, offset 0x3840 -+ 0x3860: 0x000a, 0x3861: 0x000a, 0x3862: 0x000a, 0x3863: 0x000a, -+ 0x3864: 0x000a, 0x3865: 0x000a, -+ // Block 0xe2, offset 0x3880 -+ 0x3880: 0x000a, 0x3881: 0x000a, 0x3882: 0x000a, 0x3883: 0x000a, 0x3884: 0x000a, 0x3885: 0x000a, -+ 0x3886: 0x000a, 0x3887: 0x000a, 0x3888: 0x000a, 0x3889: 0x000a, 0x388a: 0x000a, 0x388b: 0x000a, -+ 0x388c: 0x000a, 0x388d: 0x000a, 0x388e: 0x000a, 0x388f: 0x000a, 0x3890: 0x000a, 0x3891: 0x000a, -+ 0x3892: 0x000a, 0x3893: 0x000a, 0x3894: 0x000a, 0x3895: 0x000a, -+ 0x38a0: 0x000a, 0x38a1: 0x000a, 0x38a2: 0x000a, 0x38a3: 0x000a, -+ 0x38a4: 0x000a, 0x38a5: 0x000a, 0x38a6: 0x000a, 0x38a7: 0x000a, 0x38a8: 0x000a, 0x38a9: 0x000a, -+ 0x38aa: 0x000a, 0x38ab: 0x000a, 0x38ac: 0x000a, -+ 0x38b0: 0x000a, 0x38b1: 0x000a, 0x38b2: 0x000a, 0x38b3: 0x000a, 0x38b4: 0x000a, 0x38b5: 0x000a, -+ 0x38b6: 0x000a, 0x38b7: 0x000a, 0x38b8: 0x000a, 0x38b9: 0x000a, 0x38ba: 0x000a, -+ // Block 0xe3, offset 0x38c0 -+ 0x38c0: 0x000a, 0x38c1: 0x000a, 0x38c2: 0x000a, 0x38c3: 0x000a, 0x38c4: 0x000a, 0x38c5: 0x000a, -+ 0x38c6: 0x000a, 0x38c7: 0x000a, 0x38c8: 0x000a, 0x38c9: 0x000a, 0x38ca: 0x000a, 0x38cb: 0x000a, -+ 0x38cc: 0x000a, 0x38cd: 0x000a, 0x38ce: 0x000a, 0x38cf: 0x000a, 0x38d0: 0x000a, 0x38d1: 0x000a, -+ 0x38d2: 0x000a, 0x38d3: 0x000a, 0x38d4: 0x000a, 0x38d5: 0x000a, 0x38d6: 0x000a, 0x38d7: 0x000a, -+ 0x38d8: 0x000a, -+ 0x38e0: 0x000a, 0x38e1: 0x000a, 0x38e2: 0x000a, 0x38e3: 0x000a, -+ 0x38e4: 0x000a, 0x38e5: 0x000a, 0x38e6: 0x000a, 0x38e7: 0x000a, 0x38e8: 0x000a, 0x38e9: 0x000a, -+ 0x38ea: 0x000a, 0x38eb: 0x000a, -+ // Block 0xe4, offset 0x3900 -+ 0x3900: 0x000a, 0x3901: 0x000a, 0x3902: 0x000a, 0x3903: 0x000a, 0x3904: 0x000a, 0x3905: 0x000a, -+ 0x3906: 0x000a, 0x3907: 0x000a, 0x3908: 0x000a, 0x3909: 0x000a, 0x390a: 0x000a, 0x390b: 0x000a, -+ 0x3910: 0x000a, 0x3911: 0x000a, -+ 0x3912: 0x000a, 0x3913: 0x000a, 0x3914: 0x000a, 0x3915: 0x000a, 0x3916: 0x000a, 0x3917: 0x000a, -+ 0x3918: 0x000a, 0x3919: 0x000a, 0x391a: 0x000a, 0x391b: 0x000a, 0x391c: 0x000a, 0x391d: 0x000a, -+ 0x391e: 0x000a, 0x391f: 0x000a, 0x3920: 0x000a, 0x3921: 0x000a, 0x3922: 0x000a, 0x3923: 0x000a, -+ 0x3924: 0x000a, 0x3925: 0x000a, 0x3926: 0x000a, 0x3927: 0x000a, 0x3928: 0x000a, 0x3929: 0x000a, -+ 0x392a: 0x000a, 0x392b: 0x000a, 0x392c: 0x000a, 0x392d: 0x000a, 0x392e: 0x000a, 0x392f: 0x000a, -+ 0x3930: 0x000a, 0x3931: 0x000a, 0x3932: 0x000a, 0x3933: 0x000a, 0x3934: 0x000a, 0x3935: 0x000a, -+ 0x3936: 0x000a, 0x3937: 0x000a, 0x3938: 0x000a, 0x3939: 0x000a, 0x393a: 0x000a, 0x393b: 0x000a, -+ 0x393c: 0x000a, 0x393d: 0x000a, 0x393e: 0x000a, 0x393f: 0x000a, -+ // Block 0xe5, offset 0x3940 -+ 0x3940: 0x000a, 0x3941: 0x000a, 0x3942: 0x000a, 0x3943: 0x000a, 0x3944: 0x000a, 0x3945: 0x000a, -+ 0x3946: 0x000a, 0x3947: 0x000a, -+ 0x3950: 0x000a, 0x3951: 0x000a, -+ 0x3952: 0x000a, 0x3953: 0x000a, 0x3954: 0x000a, 0x3955: 0x000a, 0x3956: 0x000a, 0x3957: 0x000a, -+ 0x3958: 0x000a, 0x3959: 0x000a, -+ 0x3960: 0x000a, 0x3961: 0x000a, 0x3962: 0x000a, 0x3963: 0x000a, -+ 0x3964: 0x000a, 0x3965: 0x000a, 0x3966: 0x000a, 0x3967: 0x000a, 0x3968: 0x000a, 0x3969: 0x000a, -+ 0x396a: 0x000a, 0x396b: 0x000a, 0x396c: 0x000a, 0x396d: 0x000a, 0x396e: 0x000a, 0x396f: 0x000a, -+ 0x3970: 0x000a, 0x3971: 0x000a, 0x3972: 0x000a, 0x3973: 0x000a, 0x3974: 0x000a, 0x3975: 0x000a, -+ 0x3976: 0x000a, 0x3977: 0x000a, 0x3978: 0x000a, 0x3979: 0x000a, 0x397a: 0x000a, 0x397b: 0x000a, -+ 0x397c: 0x000a, 0x397d: 0x000a, 0x397e: 0x000a, 0x397f: 0x000a, -+ // Block 0xe6, offset 0x3980 -+ 0x3980: 0x000a, 0x3981: 0x000a, 0x3982: 0x000a, 0x3983: 0x000a, 0x3984: 0x000a, 0x3985: 0x000a, -+ 0x3986: 0x000a, 0x3987: 0x000a, -+ 0x3990: 0x000a, 0x3991: 0x000a, -+ 0x3992: 0x000a, 0x3993: 0x000a, 0x3994: 0x000a, 0x3995: 0x000a, 0x3996: 0x000a, 0x3997: 0x000a, -+ 0x3998: 0x000a, 0x3999: 0x000a, 0x399a: 0x000a, 0x399b: 0x000a, 0x399c: 0x000a, 0x399d: 0x000a, -+ 0x399e: 0x000a, 0x399f: 0x000a, 0x39a0: 0x000a, 0x39a1: 0x000a, 0x39a2: 0x000a, 0x39a3: 0x000a, -+ 0x39a4: 0x000a, 0x39a5: 0x000a, 0x39a6: 0x000a, 0x39a7: 0x000a, 0x39a8: 0x000a, 0x39a9: 0x000a, -+ 0x39aa: 0x000a, 0x39ab: 0x000a, 0x39ac: 0x000a, 0x39ad: 0x000a, -+ // Block 0xe7, offset 0x39c0 -+ 0x39c0: 0x000a, 0x39c1: 0x000a, 0x39c2: 0x000a, 0x39c3: 0x000a, 0x39c4: 0x000a, 0x39c5: 0x000a, -+ 0x39c6: 0x000a, 0x39c7: 0x000a, 0x39c8: 0x000a, 0x39c9: 0x000a, 0x39ca: 0x000a, 0x39cb: 0x000a, -+ 0x39cd: 0x000a, 0x39ce: 0x000a, 0x39cf: 0x000a, 0x39d0: 0x000a, 0x39d1: 0x000a, -+ 0x39d2: 0x000a, 0x39d3: 0x000a, 0x39d4: 0x000a, 0x39d5: 0x000a, 0x39d6: 0x000a, 0x39d7: 0x000a, -+ 0x39d8: 0x000a, 0x39d9: 0x000a, 0x39da: 0x000a, 0x39db: 0x000a, 0x39dc: 0x000a, 0x39dd: 0x000a, -+ 0x39de: 0x000a, 0x39df: 0x000a, 0x39e0: 0x000a, 0x39e1: 0x000a, 0x39e2: 0x000a, 0x39e3: 0x000a, -+ 0x39e4: 0x000a, 0x39e5: 0x000a, 0x39e6: 0x000a, 0x39e7: 0x000a, 0x39e8: 0x000a, 0x39e9: 0x000a, -+ 0x39ea: 0x000a, 0x39eb: 0x000a, 0x39ec: 0x000a, 0x39ed: 0x000a, 0x39ee: 0x000a, 0x39ef: 0x000a, -+ 0x39f0: 0x000a, 0x39f1: 0x000a, 0x39f2: 0x000a, 0x39f3: 0x000a, 0x39f4: 0x000a, 0x39f5: 0x000a, -+ 0x39f6: 0x000a, 0x39f7: 0x000a, 0x39f8: 0x000a, 0x39f9: 0x000a, 0x39fa: 0x000a, 0x39fb: 0x000a, -+ 0x39fc: 0x000a, 0x39fd: 0x000a, 0x39fe: 0x000a, 0x39ff: 0x000a, -+ // Block 0xe8, offset 0x3a00 -+ 0x3a00: 0x000a, 0x3a01: 0x000a, 0x3a02: 0x000a, 0x3a03: 0x000a, 0x3a04: 0x000a, 0x3a05: 0x000a, -+ 0x3a06: 0x000a, 0x3a07: 0x000a, 0x3a08: 0x000a, 0x3a09: 0x000a, 0x3a0a: 0x000a, 0x3a0b: 0x000a, -+ 0x3a0c: 0x000a, 0x3a0d: 0x000a, 0x3a0e: 0x000a, 0x3a0f: 0x000a, 0x3a10: 0x000a, 0x3a11: 0x000a, -+ 0x3a12: 0x000a, 0x3a13: 0x000a, 0x3a14: 0x000a, 0x3a15: 0x000a, 0x3a16: 0x000a, 0x3a17: 0x000a, -+ 0x3a18: 0x000a, 0x3a19: 0x000a, 0x3a1a: 0x000a, 0x3a1b: 0x000a, 0x3a1c: 0x000a, 0x3a1d: 0x000a, -+ 0x3a1e: 0x000a, 0x3a1f: 0x000a, 0x3a20: 0x000a, 0x3a21: 0x000a, 0x3a22: 0x000a, 0x3a23: 0x000a, -+ 0x3a24: 0x000a, 0x3a25: 0x000a, 0x3a26: 0x000a, 0x3a27: 0x000a, 0x3a28: 0x000a, 0x3a29: 0x000a, -+ 0x3a2a: 0x000a, 0x3a2b: 0x000a, 0x3a2c: 0x000a, 0x3a2d: 0x000a, 0x3a2e: 0x000a, 0x3a2f: 0x000a, -+ 0x3a30: 0x000a, 0x3a31: 0x000a, 0x3a33: 0x000a, 0x3a34: 0x000a, 0x3a35: 0x000a, -+ 0x3a36: 0x000a, 0x3a3a: 0x000a, 0x3a3b: 0x000a, -+ 0x3a3c: 0x000a, 0x3a3d: 0x000a, 0x3a3e: 0x000a, 0x3a3f: 0x000a, -+ // Block 0xe9, offset 0x3a40 -+ 0x3a40: 0x000a, 0x3a41: 0x000a, 0x3a42: 0x000a, 0x3a43: 0x000a, 0x3a44: 0x000a, 0x3a45: 0x000a, -+ 0x3a46: 0x000a, 0x3a47: 0x000a, 0x3a48: 0x000a, 0x3a49: 0x000a, 0x3a4a: 0x000a, 0x3a4b: 0x000a, -+ 0x3a4c: 0x000a, 0x3a4d: 0x000a, 0x3a4e: 0x000a, 0x3a4f: 0x000a, 0x3a50: 0x000a, 0x3a51: 0x000a, -+ 0x3a52: 0x000a, 0x3a53: 0x000a, 0x3a54: 0x000a, 0x3a55: 0x000a, 0x3a56: 0x000a, 0x3a57: 0x000a, -+ 0x3a58: 0x000a, 0x3a59: 0x000a, 0x3a5a: 0x000a, 0x3a5b: 0x000a, 0x3a5c: 0x000a, 0x3a5d: 0x000a, -+ 0x3a5e: 0x000a, 0x3a5f: 0x000a, 0x3a60: 0x000a, 0x3a61: 0x000a, 0x3a62: 0x000a, -+ 0x3a65: 0x000a, 0x3a66: 0x000a, 0x3a67: 0x000a, 0x3a68: 0x000a, 0x3a69: 0x000a, -+ 0x3a6a: 0x000a, 0x3a6e: 0x000a, 0x3a6f: 0x000a, -+ 0x3a70: 0x000a, 0x3a71: 0x000a, 0x3a72: 0x000a, 0x3a73: 0x000a, 0x3a74: 0x000a, 0x3a75: 0x000a, -+ 0x3a76: 0x000a, 0x3a77: 0x000a, 0x3a78: 0x000a, 0x3a79: 0x000a, 0x3a7a: 0x000a, 0x3a7b: 0x000a, -+ 0x3a7c: 0x000a, 0x3a7d: 0x000a, 0x3a7e: 0x000a, 0x3a7f: 0x000a, -+ // Block 0xea, offset 0x3a80 -+ 0x3a80: 0x000a, 0x3a81: 0x000a, 0x3a82: 0x000a, 0x3a83: 0x000a, 0x3a84: 0x000a, 0x3a85: 0x000a, -+ 0x3a86: 0x000a, 0x3a87: 0x000a, 0x3a88: 0x000a, 0x3a89: 0x000a, 0x3a8a: 0x000a, -+ 0x3a8d: 0x000a, 0x3a8e: 0x000a, 0x3a8f: 0x000a, 0x3a90: 0x000a, 0x3a91: 0x000a, -+ 0x3a92: 0x000a, 0x3a93: 0x000a, 0x3a94: 0x000a, 0x3a95: 0x000a, 0x3a96: 0x000a, 0x3a97: 0x000a, -+ 0x3a98: 0x000a, 0x3a99: 0x000a, 0x3a9a: 0x000a, 0x3a9b: 0x000a, 0x3a9c: 0x000a, 0x3a9d: 0x000a, -+ 0x3a9e: 0x000a, 0x3a9f: 0x000a, 0x3aa0: 0x000a, 0x3aa1: 0x000a, 0x3aa2: 0x000a, 0x3aa3: 0x000a, -+ 0x3aa4: 0x000a, 0x3aa5: 0x000a, 0x3aa6: 0x000a, 0x3aa7: 0x000a, 0x3aa8: 0x000a, 0x3aa9: 0x000a, -+ 0x3aaa: 0x000a, 0x3aab: 0x000a, 0x3aac: 0x000a, 0x3aad: 0x000a, 0x3aae: 0x000a, 0x3aaf: 0x000a, -+ 0x3ab0: 0x000a, 0x3ab1: 0x000a, 0x3ab2: 0x000a, 0x3ab3: 0x000a, 0x3ab4: 0x000a, 0x3ab5: 0x000a, -+ 0x3ab6: 0x000a, 0x3ab7: 0x000a, 0x3ab8: 0x000a, 0x3ab9: 0x000a, 0x3aba: 0x000a, 0x3abb: 0x000a, -+ 0x3abc: 0x000a, 0x3abd: 0x000a, 0x3abe: 0x000a, 0x3abf: 0x000a, -+ // Block 0xeb, offset 0x3ac0 -+ 0x3ac0: 0x000a, 0x3ac1: 0x000a, 0x3ac2: 0x000a, 0x3ac3: 0x000a, 0x3ac4: 0x000a, 0x3ac5: 0x000a, -+ 0x3ac6: 0x000a, 0x3ac7: 0x000a, 0x3ac8: 0x000a, 0x3ac9: 0x000a, 0x3aca: 0x000a, 0x3acb: 0x000a, -+ 0x3acc: 0x000a, 0x3acd: 0x000a, 0x3ace: 0x000a, 0x3acf: 0x000a, 0x3ad0: 0x000a, 0x3ad1: 0x000a, -+ 0x3ad2: 0x000a, 0x3ad3: 0x000a, -+ 0x3ae0: 0x000a, 0x3ae1: 0x000a, 0x3ae2: 0x000a, 0x3ae3: 0x000a, -+ 0x3ae4: 0x000a, 0x3ae5: 0x000a, 0x3ae6: 0x000a, 0x3ae7: 0x000a, 0x3ae8: 0x000a, 0x3ae9: 0x000a, -+ 0x3aea: 0x000a, 0x3aeb: 0x000a, 0x3aec: 0x000a, 0x3aed: 0x000a, -+ 0x3af0: 0x000a, 0x3af1: 0x000a, 0x3af2: 0x000a, 0x3af3: 0x000a, -+ 0x3af8: 0x000a, 0x3af9: 0x000a, 0x3afa: 0x000a, -+ // Block 0xec, offset 0x3b00 -+ 0x3b00: 0x000a, 0x3b01: 0x000a, 0x3b02: 0x000a, -+ 0x3b10: 0x000a, 0x3b11: 0x000a, -+ 0x3b12: 0x000a, 0x3b13: 0x000a, 0x3b14: 0x000a, 0x3b15: 0x000a, -+ // Block 0xed, offset 0x3b40 -+ 0x3b7e: 0x000b, 0x3b7f: 0x000b, -+ // Block 0xee, offset 0x3b80 -+ 0x3b80: 0x000b, 0x3b81: 0x000b, 0x3b82: 0x000b, 0x3b83: 0x000b, 0x3b84: 0x000b, 0x3b85: 0x000b, -+ 0x3b86: 0x000b, 0x3b87: 0x000b, 0x3b88: 0x000b, 0x3b89: 0x000b, 0x3b8a: 0x000b, 0x3b8b: 0x000b, -+ 0x3b8c: 0x000b, 0x3b8d: 0x000b, 0x3b8e: 0x000b, 0x3b8f: 0x000b, 0x3b90: 0x000b, 0x3b91: 0x000b, -+ 0x3b92: 0x000b, 0x3b93: 0x000b, 0x3b94: 0x000b, 0x3b95: 0x000b, 0x3b96: 0x000b, 0x3b97: 0x000b, -+ 0x3b98: 0x000b, 0x3b99: 0x000b, 0x3b9a: 0x000b, 0x3b9b: 0x000b, 0x3b9c: 0x000b, 0x3b9d: 0x000b, -+ 0x3b9e: 0x000b, 0x3b9f: 0x000b, 0x3ba0: 0x000b, 0x3ba1: 0x000b, 0x3ba2: 0x000b, 0x3ba3: 0x000b, -+ 0x3ba4: 0x000b, 0x3ba5: 0x000b, 0x3ba6: 0x000b, 0x3ba7: 0x000b, 0x3ba8: 0x000b, 0x3ba9: 0x000b, -+ 0x3baa: 0x000b, 0x3bab: 0x000b, 0x3bac: 0x000b, 0x3bad: 0x000b, 0x3bae: 0x000b, 0x3baf: 0x000b, -+ 0x3bb0: 0x000b, 0x3bb1: 0x000b, 0x3bb2: 0x000b, 0x3bb3: 0x000b, 0x3bb4: 0x000b, 0x3bb5: 0x000b, -+ 0x3bb6: 0x000b, 0x3bb7: 0x000b, 0x3bb8: 0x000b, 0x3bb9: 0x000b, 0x3bba: 0x000b, 0x3bbb: 0x000b, -+ 0x3bbc: 0x000b, 0x3bbd: 0x000b, 0x3bbe: 0x000b, 0x3bbf: 0x000b, -+ // Block 0xef, offset 0x3bc0 -+ 0x3bc0: 0x000c, 0x3bc1: 0x000c, 0x3bc2: 0x000c, 0x3bc3: 0x000c, 0x3bc4: 0x000c, 0x3bc5: 0x000c, -+ 0x3bc6: 0x000c, 0x3bc7: 0x000c, 0x3bc8: 0x000c, 0x3bc9: 0x000c, 0x3bca: 0x000c, 0x3bcb: 0x000c, -+ 0x3bcc: 0x000c, 0x3bcd: 0x000c, 0x3bce: 0x000c, 0x3bcf: 0x000c, 0x3bd0: 0x000c, 0x3bd1: 0x000c, -+ 0x3bd2: 0x000c, 0x3bd3: 0x000c, 0x3bd4: 0x000c, 0x3bd5: 0x000c, 0x3bd6: 0x000c, 0x3bd7: 0x000c, -+ 0x3bd8: 0x000c, 0x3bd9: 0x000c, 0x3bda: 0x000c, 0x3bdb: 0x000c, 0x3bdc: 0x000c, 0x3bdd: 0x000c, -+ 0x3bde: 0x000c, 0x3bdf: 0x000c, 0x3be0: 0x000c, 0x3be1: 0x000c, 0x3be2: 0x000c, 0x3be3: 0x000c, -+ 0x3be4: 0x000c, 0x3be5: 0x000c, 0x3be6: 0x000c, 0x3be7: 0x000c, 0x3be8: 0x000c, 0x3be9: 0x000c, -+ 0x3bea: 0x000c, 0x3beb: 0x000c, 0x3bec: 0x000c, 0x3bed: 0x000c, 0x3bee: 0x000c, 0x3bef: 0x000c, -+ 0x3bf0: 0x000b, 0x3bf1: 0x000b, 0x3bf2: 0x000b, 0x3bf3: 0x000b, 0x3bf4: 0x000b, 0x3bf5: 0x000b, -+ 0x3bf6: 0x000b, 0x3bf7: 0x000b, 0x3bf8: 0x000b, 0x3bf9: 0x000b, 0x3bfa: 0x000b, 0x3bfb: 0x000b, -+ 0x3bfc: 0x000b, 0x3bfd: 0x000b, 0x3bfe: 0x000b, 0x3bff: 0x000b, -+} -+ -+// bidiIndex: 24 blocks, 1536 entries, 1536 bytes -+// Block 0 is the zero block. -+var bidiIndex = [1536]uint8{ -+ // Block 0x0, offset 0x0 -+ // Block 0x1, offset 0x40 -+ // Block 0x2, offset 0x80 -+ // Block 0x3, offset 0xc0 -+ 0xc2: 0x01, 0xc3: 0x02, -+ 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, -+ 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, -+ 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, -+ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, -+ 0xea: 0x07, 0xef: 0x08, -+ 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, -+ // Block 0x4, offset 0x100 -+ 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, -+ 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, -+ 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, -+ 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, -+ // Block 0x5, offset 0x140 -+ 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, -+ 0x14d: 0x34, 0x14e: 0x35, -+ 0x150: 0x36, -+ 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, -+ 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, -+ 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, -+ 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, -+ 0x17e: 0x4b, 0x17f: 0x4c, -+ // Block 0x6, offset 0x180 -+ 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, -+ 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, -+ 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, -+ 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, -+ 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, -+ 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x54, -+ 0x1b3: 0x64, 0x1b5: 0x65, 0x1b7: 0x66, -+ 0x1b8: 0x67, 0x1b9: 0x68, 0x1ba: 0x69, 0x1bb: 0x6a, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6b, -+ // Block 0x7, offset 0x1c0 -+ 0x1c0: 0x6c, 0x1c2: 0x6d, 0x1c3: 0x6e, 0x1c7: 0x6f, -+ 0x1c8: 0x70, 0x1c9: 0x71, 0x1ca: 0x72, 0x1cb: 0x73, 0x1cd: 0x74, 0x1cf: 0x75, -+ // Block 0x8, offset 0x200 -+ 0x237: 0x54, -+ // Block 0x9, offset 0x240 -+ 0x252: 0x76, 0x253: 0x77, -+ 0x258: 0x78, 0x259: 0x79, 0x25a: 0x7a, 0x25b: 0x7b, 0x25c: 0x7c, 0x25e: 0x7d, -+ 0x260: 0x7e, 0x261: 0x7f, 0x263: 0x80, 0x264: 0x81, 0x265: 0x82, 0x266: 0x83, 0x267: 0x84, -+ 0x268: 0x85, 0x269: 0x86, 0x26a: 0x87, 0x26b: 0x88, 0x26f: 0x89, -+ // Block 0xa, offset 0x280 -+ 0x2ac: 0x8a, 0x2ad: 0x8b, 0x2ae: 0x0e, 0x2af: 0x0e, -+ 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8c, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8d, -+ 0x2b8: 0x8e, 0x2b9: 0x8f, 0x2ba: 0x0e, 0x2bb: 0x90, 0x2bc: 0x91, 0x2bd: 0x92, 0x2bf: 0x93, -+ // Block 0xb, offset 0x2c0 -+ 0x2c4: 0x94, 0x2c5: 0x54, 0x2c6: 0x95, 0x2c7: 0x96, -+ 0x2cb: 0x97, 0x2cd: 0x98, -+ 0x2e0: 0x99, 0x2e1: 0x99, 0x2e2: 0x99, 0x2e3: 0x99, 0x2e4: 0x9a, 0x2e5: 0x99, 0x2e6: 0x99, 0x2e7: 0x99, -+ 0x2e8: 0x9b, 0x2e9: 0x99, 0x2ea: 0x99, 0x2eb: 0x9c, 0x2ec: 0x9d, 0x2ed: 0x99, 0x2ee: 0x99, 0x2ef: 0x99, -+ 0x2f0: 0x99, 0x2f1: 0x99, 0x2f2: 0x99, 0x2f3: 0x99, 0x2f4: 0x9e, 0x2f5: 0x99, 0x2f6: 0x99, 0x2f7: 0x99, -+ 0x2f8: 0x99, 0x2f9: 0x9f, 0x2fa: 0x99, 0x2fb: 0x99, 0x2fc: 0xa0, 0x2fd: 0xa1, 0x2fe: 0x99, 0x2ff: 0x99, -+ // Block 0xc, offset 0x300 -+ 0x300: 0xa2, 0x301: 0xa3, 0x302: 0xa4, 0x304: 0xa5, 0x305: 0xa6, 0x306: 0xa7, 0x307: 0xa8, -+ 0x308: 0xa9, 0x30b: 0xaa, 0x30c: 0x26, 0x30d: 0xab, -+ 0x310: 0xac, 0x311: 0xad, 0x312: 0xae, 0x313: 0xaf, 0x316: 0xb0, 0x317: 0xb1, -+ 0x318: 0xb2, 0x319: 0xb3, 0x31a: 0xb4, 0x31c: 0xb5, -+ 0x320: 0xb6, 0x327: 0xb7, -+ 0x328: 0xb8, 0x329: 0xb9, 0x32a: 0xba, -+ 0x330: 0xbb, 0x332: 0xbc, 0x334: 0xbd, 0x335: 0xbe, 0x336: 0xbf, -+ 0x33b: 0xc0, 0x33f: 0xc1, -+ // Block 0xd, offset 0x340 -+ 0x36b: 0xc2, 0x36c: 0xc3, -+ 0x37d: 0xc4, 0x37e: 0xc5, 0x37f: 0xc6, -+ // Block 0xe, offset 0x380 -+ 0x3b2: 0xc7, -+ // Block 0xf, offset 0x3c0 -+ 0x3c5: 0xc8, 0x3c6: 0xc9, -+ 0x3c8: 0x54, 0x3c9: 0xca, 0x3cc: 0x54, 0x3cd: 0xcb, -+ 0x3db: 0xcc, 0x3dc: 0xcd, 0x3dd: 0xce, 0x3de: 0xcf, 0x3df: 0xd0, -+ 0x3e8: 0xd1, 0x3e9: 0xd2, 0x3ea: 0xd3, -+ // Block 0x10, offset 0x400 -+ 0x400: 0xd4, 0x404: 0xc3, -+ 0x40b: 0xd5, -+ 0x420: 0x99, 0x421: 0x99, 0x422: 0x99, 0x423: 0xd6, 0x424: 0x99, 0x425: 0xd7, 0x426: 0x99, 0x427: 0x99, -+ 0x428: 0x99, 0x429: 0x99, 0x42a: 0x99, 0x42b: 0x99, 0x42c: 0x99, 0x42d: 0x99, 0x42e: 0x99, 0x42f: 0x99, -+ 0x430: 0x99, 0x431: 0xa0, 0x432: 0x0e, 0x433: 0x99, 0x434: 0x0e, 0x435: 0xd8, 0x436: 0x99, 0x437: 0x99, -+ 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xd9, 0x43c: 0x99, 0x43d: 0x99, 0x43e: 0x99, 0x43f: 0x99, -+ // Block 0x11, offset 0x440 -+ 0x440: 0xda, 0x441: 0x54, 0x442: 0xdb, 0x443: 0xdc, 0x444: 0xdd, 0x445: 0xde, -+ 0x449: 0xdf, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, -+ 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, -+ 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xe0, 0x45c: 0x54, 0x45d: 0x6a, 0x45e: 0x54, 0x45f: 0xe1, -+ 0x460: 0xe2, 0x461: 0xe3, 0x462: 0xe4, 0x464: 0xe5, 0x465: 0xe6, 0x466: 0xe7, 0x467: 0xe8, -+ 0x468: 0x54, 0x469: 0xe9, 0x46a: 0xea, -+ 0x47f: 0xeb, -+ // Block 0x12, offset 0x480 -+ 0x4bf: 0xeb, -+ // Block 0x13, offset 0x4c0 -+ 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, -+ 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, -+ 0x4ef: 0x10, -+ 0x4ff: 0x10, -+ // Block 0x14, offset 0x500 -+ 0x50f: 0x10, -+ 0x51f: 0x10, -+ 0x52f: 0x10, -+ 0x53f: 0x10, -+ // Block 0x15, offset 0x540 -+ 0x540: 0xec, 0x541: 0xec, 0x542: 0xec, 0x543: 0xec, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xed, -+ 0x548: 0xec, 0x549: 0xec, 0x54a: 0xec, 0x54b: 0xec, 0x54c: 0xec, 0x54d: 0xec, 0x54e: 0xec, 0x54f: 0xec, -+ 0x550: 0xec, 0x551: 0xec, 0x552: 0xec, 0x553: 0xec, 0x554: 0xec, 0x555: 0xec, 0x556: 0xec, 0x557: 0xec, -+ 0x558: 0xec, 0x559: 0xec, 0x55a: 0xec, 0x55b: 0xec, 0x55c: 0xec, 0x55d: 0xec, 0x55e: 0xec, 0x55f: 0xec, -+ 0x560: 0xec, 0x561: 0xec, 0x562: 0xec, 0x563: 0xec, 0x564: 0xec, 0x565: 0xec, 0x566: 0xec, 0x567: 0xec, -+ 0x568: 0xec, 0x569: 0xec, 0x56a: 0xec, 0x56b: 0xec, 0x56c: 0xec, 0x56d: 0xec, 0x56e: 0xec, 0x56f: 0xec, -+ 0x570: 0xec, 0x571: 0xec, 0x572: 0xec, 0x573: 0xec, 0x574: 0xec, 0x575: 0xec, 0x576: 0xec, 0x577: 0xec, -+ 0x578: 0xec, 0x579: 0xec, 0x57a: 0xec, 0x57b: 0xec, 0x57c: 0xec, 0x57d: 0xec, 0x57e: 0xec, 0x57f: 0xec, -+ // Block 0x16, offset 0x580 -+ 0x58f: 0x10, -+ 0x59f: 0x10, -+ 0x5a0: 0x13, -+ 0x5af: 0x10, -+ 0x5bf: 0x10, -+ // Block 0x17, offset 0x5c0 -+ 0x5cf: 0x10, -+} -+ -+// Total table size 16952 bytes (16KiB); checksum: F50EF68C -diff --git a/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go -index 7297cce32b..2c58f09baa 100644 ---- a/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go -+++ b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go -@@ -1,6 +1,6 @@ - // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. - --// +build go1.13 -+// +build go1.13,!go1.14 - - package norm - -diff --git a/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go -new file mode 100644 -index 0000000000..10f5202c69 ---- /dev/null -+++ b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go -@@ -0,0 +1,7710 @@ -+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. -+ -+// +build go1.14 -+ -+package norm -+ -+import "sync" -+ -+const ( -+ // Version is the Unicode edition from which the tables are derived. -+ Version = "12.0.0" -+ -+ // MaxTransformChunkSize indicates the maximum number of bytes that Transform -+ // may need to write atomically for any Form. Making a destination buffer at -+ // least this size ensures that Transform can always make progress and that -+ // the user does not need to grow the buffer on an ErrShortDst. -+ MaxTransformChunkSize = 35 + maxNonStarters*4 -+) -+ -+var ccc = [55]uint8{ -+ 0, 1, 7, 8, 9, 10, 11, 12, -+ 13, 14, 15, 16, 17, 18, 19, 20, -+ 21, 22, 23, 24, 25, 26, 27, 28, -+ 29, 30, 31, 32, 33, 34, 35, 36, -+ 84, 91, 103, 107, 118, 122, 129, 130, -+ 132, 202, 214, 216, 218, 220, 222, 224, -+ 226, 228, 230, 232, 233, 234, 240, -+} -+ -+const ( -+ firstMulti = 0x186D -+ firstCCC = 0x2CA1 -+ endMulti = 0x2F63 -+ firstLeadingCCC = 0x49B1 -+ firstCCCZeroExcept = 0x4A7B -+ firstStarterWithNLead = 0x4AA2 -+ lastDecomp = 0x4AA4 -+ maxDecomp = 0x8000 -+) -+ -+// decomps: 19108 bytes -+var decomps = [...]byte{ -+ // Bytes 0 - 3f -+ 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, -+ 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, -+ 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, -+ 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, -+ 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, -+ 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, -+ 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, -+ 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, -+ // Bytes 40 - 7f -+ 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, -+ 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, -+ 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, -+ 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, -+ 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, -+ 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, -+ 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, -+ 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, -+ // Bytes 80 - bf -+ 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, -+ 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, -+ 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, -+ 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, -+ 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, -+ 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, -+ 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, -+ 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, -+ // Bytes c0 - ff -+ 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, -+ 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, -+ 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, -+ 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, -+ 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, -+ 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, -+ 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, -+ 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, -+ // Bytes 100 - 13f -+ 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, -+ 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, -+ 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, -+ 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, -+ 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, -+ 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, -+ 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, -+ 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, -+ // Bytes 140 - 17f -+ 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, -+ 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, -+ 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, -+ 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, -+ 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, -+ 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, -+ 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, -+ 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, -+ // Bytes 180 - 1bf -+ 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, -+ 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, -+ 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, -+ 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, -+ 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, -+ 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, -+ 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, -+ 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, -+ // Bytes 1c0 - 1ff -+ 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, -+ 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, -+ 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, -+ 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, -+ 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, -+ 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, -+ 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, -+ 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, -+ // Bytes 200 - 23f -+ 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, -+ 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, -+ 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, -+ 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, -+ 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, -+ 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, -+ 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, -+ 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, -+ // Bytes 240 - 27f -+ 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, -+ 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, -+ 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, -+ 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, -+ 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, -+ 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, -+ 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, -+ 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, -+ // Bytes 280 - 2bf -+ 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, -+ 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, -+ 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, -+ 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, -+ 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, -+ 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, -+ 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, -+ 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, -+ // Bytes 2c0 - 2ff -+ 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, -+ 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, -+ 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, -+ 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, -+ 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, -+ 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, -+ 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, -+ 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, -+ // Bytes 300 - 33f -+ 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, -+ 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, -+ 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, -+ 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, -+ 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, -+ 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, -+ 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, -+ 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, -+ // Bytes 340 - 37f -+ 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, -+ 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, -+ 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, -+ 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, -+ 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, -+ 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, -+ 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, -+ 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, -+ // Bytes 380 - 3bf -+ 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, -+ 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, -+ 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, -+ 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, -+ 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, -+ 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, -+ 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, -+ 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, -+ // Bytes 3c0 - 3ff -+ 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, -+ 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, -+ 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, -+ 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, -+ 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, -+ 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, -+ 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, -+ 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, -+ // Bytes 400 - 43f -+ 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, -+ 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, -+ 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, -+ 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, -+ 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, -+ 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, -+ 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, -+ 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, -+ // Bytes 440 - 47f -+ 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, -+ 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, -+ 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, -+ 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, -+ 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, -+ 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, -+ 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, -+ 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, -+ // Bytes 480 - 4bf -+ 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, -+ 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, -+ 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, -+ 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, -+ 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, -+ 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, -+ 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, -+ 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, -+ // Bytes 4c0 - 4ff -+ 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, -+ 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, -+ 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, -+ 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, -+ 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, -+ 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, -+ 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, -+ 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, -+ // Bytes 500 - 53f -+ 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, -+ 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, -+ 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, -+ 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, -+ 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, -+ 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, -+ 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, -+ 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, -+ // Bytes 540 - 57f -+ 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, -+ 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, -+ 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, -+ 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, -+ 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, -+ 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, -+ 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, -+ 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, -+ // Bytes 580 - 5bf -+ 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, -+ 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, -+ 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, -+ 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, -+ 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, -+ 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, -+ 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, -+ 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, -+ // Bytes 5c0 - 5ff -+ 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, -+ 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, -+ 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, -+ 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, -+ 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, -+ 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, -+ 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, -+ 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, -+ // Bytes 600 - 63f -+ 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, -+ 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, -+ 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, -+ 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, -+ 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, -+ 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, -+ 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, -+ 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, -+ // Bytes 640 - 67f -+ 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, -+ 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, -+ 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, -+ 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, -+ 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, -+ 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, -+ 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, -+ 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, -+ // Bytes 680 - 6bf -+ 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, -+ 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, -+ 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, -+ 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, -+ 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, -+ 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, -+ 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, -+ 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, -+ // Bytes 6c0 - 6ff -+ 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, -+ 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, -+ 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, -+ 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, -+ 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, -+ 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, -+ 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, -+ 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, -+ // Bytes 700 - 73f -+ 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, -+ 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, -+ 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, -+ 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, -+ 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, -+ 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, -+ 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, -+ 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, -+ // Bytes 740 - 77f -+ 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, -+ 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, -+ 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, -+ 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, -+ 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, -+ 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, -+ 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, -+ 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, -+ // Bytes 780 - 7bf -+ 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, -+ 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, -+ 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, -+ 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, -+ 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, -+ 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, -+ 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, -+ 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, -+ // Bytes 7c0 - 7ff -+ 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, -+ 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, -+ 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, -+ 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, -+ 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, -+ 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, -+ 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, -+ 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, -+ // Bytes 800 - 83f -+ 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, -+ 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, -+ 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, -+ 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, -+ 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, -+ 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, -+ 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, -+ 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, -+ // Bytes 840 - 87f -+ 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, -+ 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, -+ 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, -+ 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, -+ 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, -+ 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, -+ 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, -+ 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, -+ // Bytes 880 - 8bf -+ 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, -+ 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, -+ 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, -+ 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, -+ 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, -+ 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, -+ 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, -+ 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, -+ // Bytes 8c0 - 8ff -+ 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, -+ 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, -+ 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, -+ 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, -+ 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, -+ 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, -+ 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, -+ 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, -+ // Bytes 900 - 93f -+ 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, -+ 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, -+ 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, -+ 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, -+ 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, -+ 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, -+ 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, -+ 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, -+ // Bytes 940 - 97f -+ 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, -+ 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, -+ 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, -+ 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, -+ 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, -+ 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, -+ 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, -+ 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, -+ // Bytes 980 - 9bf -+ 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, -+ 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, -+ 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, -+ 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, -+ 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, -+ 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, -+ 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, -+ 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, -+ // Bytes 9c0 - 9ff -+ 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, -+ 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, -+ 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, -+ 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, -+ 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, -+ 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, -+ 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, -+ 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, -+ // Bytes a00 - a3f -+ 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, -+ 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, -+ 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, -+ 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, -+ 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, -+ 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, -+ 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, -+ 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, -+ // Bytes a40 - a7f -+ 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, -+ 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, -+ 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, -+ 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, -+ 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, -+ 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, -+ 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, -+ 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, -+ // Bytes a80 - abf -+ 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, -+ 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, -+ 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, -+ 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, -+ 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, -+ 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, -+ 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, -+ 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, -+ // Bytes ac0 - aff -+ 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, -+ 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, -+ 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, -+ 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, -+ 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, -+ 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, -+ 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, -+ 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, -+ // Bytes b00 - b3f -+ 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, -+ 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, -+ 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, -+ 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, -+ 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, -+ 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, -+ 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, -+ 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, -+ // Bytes b40 - b7f -+ 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, -+ 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, -+ 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, -+ 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, -+ 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, -+ 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, -+ 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, -+ 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, -+ // Bytes b80 - bbf -+ 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, -+ 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, -+ 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, -+ 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, -+ 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, -+ 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, -+ 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, -+ 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, -+ // Bytes bc0 - bff -+ 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, -+ 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, -+ 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, -+ 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, -+ 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, -+ 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, -+ 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, -+ 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, -+ // Bytes c00 - c3f -+ 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, -+ 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, -+ 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, -+ 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, -+ 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, -+ 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, -+ 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, -+ 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, -+ // Bytes c40 - c7f -+ 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, -+ 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, -+ 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, -+ 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, -+ 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, -+ 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, -+ 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, -+ 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, -+ // Bytes c80 - cbf -+ 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, -+ 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, -+ 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, -+ 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, -+ 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, -+ 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, -+ 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, -+ 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, -+ // Bytes cc0 - cff -+ 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, -+ 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, -+ 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, -+ 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, -+ 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, -+ 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, -+ 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, -+ 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, -+ // Bytes d00 - d3f -+ 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, -+ 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, -+ 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, -+ 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, -+ 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, -+ 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, -+ 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, -+ 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, -+ // Bytes d40 - d7f -+ 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, -+ 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, -+ 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, -+ 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, -+ 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, -+ 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, -+ 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, -+ 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, -+ // Bytes d80 - dbf -+ 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, -+ 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, -+ 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, -+ 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, -+ 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, -+ 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, -+ 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, -+ 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, -+ // Bytes dc0 - dff -+ 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, -+ 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, -+ 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, -+ 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, -+ 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, -+ 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, -+ 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, -+ 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, -+ // Bytes e00 - e3f -+ 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, -+ 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, -+ 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, -+ 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, -+ 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, -+ 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, -+ 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, -+ 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, -+ // Bytes e40 - e7f -+ 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, -+ 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, -+ 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, -+ 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, -+ 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, -+ 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, -+ 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, -+ 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, -+ // Bytes e80 - ebf -+ 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, -+ 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, -+ 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, -+ 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, -+ 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, -+ 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, -+ 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, -+ 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, -+ // Bytes ec0 - eff -+ 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, -+ 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, -+ 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, -+ 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, -+ 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, -+ 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, -+ 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, -+ 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, -+ // Bytes f00 - f3f -+ 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, -+ 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, -+ 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, -+ 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, -+ 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, -+ 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, -+ 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, -+ 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, -+ // Bytes f40 - f7f -+ 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, -+ 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, -+ 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, -+ 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, -+ 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, -+ 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, -+ 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, -+ 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, -+ // Bytes f80 - fbf -+ 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, -+ 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, -+ 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, -+ 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, -+ 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, -+ 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, -+ 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, -+ 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, -+ // Bytes fc0 - fff -+ 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, -+ 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, -+ 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, -+ 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, -+ 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, -+ 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, -+ 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, -+ 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, -+ // Bytes 1000 - 103f -+ 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, -+ 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, -+ 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, -+ 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, -+ 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, -+ 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, -+ 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, -+ 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, -+ // Bytes 1040 - 107f -+ 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, -+ 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, -+ 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, -+ 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, -+ 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, -+ 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, -+ 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, -+ 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, -+ // Bytes 1080 - 10bf -+ 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, -+ 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, -+ 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, -+ 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, -+ 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, -+ 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, -+ 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, -+ 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, -+ // Bytes 10c0 - 10ff -+ 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, -+ 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, -+ 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, -+ 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, -+ 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, -+ 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, -+ 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, -+ 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, -+ // Bytes 1100 - 113f -+ 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, -+ 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, -+ 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, -+ 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, -+ 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, -+ 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, -+ 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, -+ 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, -+ // Bytes 1140 - 117f -+ 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, -+ 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, -+ 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, -+ 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, -+ 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, -+ 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, -+ 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, -+ 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, -+ // Bytes 1180 - 11bf -+ 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, -+ 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, -+ 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, -+ 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, -+ 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, -+ 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, -+ 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, -+ 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, -+ // Bytes 11c0 - 11ff -+ 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, -+ 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, -+ 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, -+ 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, -+ 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, -+ 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, -+ 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, -+ 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, -+ // Bytes 1200 - 123f -+ 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, -+ 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, -+ 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, -+ 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, -+ 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, -+ 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, -+ 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, -+ 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, -+ // Bytes 1240 - 127f -+ 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, -+ 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, -+ 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, -+ 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, -+ 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, -+ 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, -+ 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, -+ 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, -+ // Bytes 1280 - 12bf -+ 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, -+ 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, -+ 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, -+ 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, -+ 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, -+ 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, -+ 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, -+ 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, -+ // Bytes 12c0 - 12ff -+ 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, -+ 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, -+ 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, -+ 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, -+ 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, -+ 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, -+ 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, -+ 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, -+ // Bytes 1300 - 133f -+ 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, -+ 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, -+ 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, -+ 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, -+ 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, -+ 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, -+ 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, -+ 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, -+ // Bytes 1340 - 137f -+ 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, -+ 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, -+ 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, -+ 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, -+ 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, -+ 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, -+ 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, -+ 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, -+ // Bytes 1380 - 13bf -+ 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, -+ 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, -+ 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, -+ 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, -+ 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, -+ 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, -+ 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, -+ 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, -+ // Bytes 13c0 - 13ff -+ 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, -+ 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, -+ 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, -+ 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, -+ 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, -+ 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, -+ 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, -+ 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, -+ // Bytes 1400 - 143f -+ 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, -+ 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, -+ 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, -+ 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, -+ 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, -+ 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, -+ 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, -+ 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, -+ // Bytes 1440 - 147f -+ 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, -+ 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, -+ 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, -+ 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, -+ 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, -+ 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, -+ 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, -+ 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, -+ // Bytes 1480 - 14bf -+ 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, -+ 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, -+ 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, -+ 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, -+ 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, -+ 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, -+ 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, -+ 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, -+ // Bytes 14c0 - 14ff -+ 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, -+ 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, -+ 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, -+ 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, -+ 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, -+ 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, -+ 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, -+ 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, -+ // Bytes 1500 - 153f -+ 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, -+ 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, -+ 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, -+ 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, -+ 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, -+ 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, -+ 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, -+ 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, -+ // Bytes 1540 - 157f -+ 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, -+ 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, -+ 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, -+ 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, -+ 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, -+ 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, -+ 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, -+ 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, -+ // Bytes 1580 - 15bf -+ 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, -+ 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, -+ 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, -+ 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, -+ 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, -+ 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, -+ 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, -+ 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, -+ // Bytes 15c0 - 15ff -+ 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, -+ 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, -+ 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, -+ 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, -+ 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, -+ 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, -+ 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, -+ 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, -+ // Bytes 1600 - 163f -+ 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, -+ 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, -+ 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, -+ 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, -+ 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, -+ 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, -+ 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, -+ 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, -+ // Bytes 1640 - 167f -+ 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, -+ 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, -+ 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, -+ 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, -+ 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, -+ 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, -+ 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, -+ 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, -+ // Bytes 1680 - 16bf -+ 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, -+ 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, -+ 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, -+ 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, -+ 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, -+ 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, -+ 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, -+ 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, -+ // Bytes 16c0 - 16ff -+ 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, -+ 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, -+ 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, -+ 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, -+ 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, -+ 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, -+ 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, -+ 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, -+ // Bytes 1700 - 173f -+ 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, -+ 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, -+ 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, -+ 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, -+ 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, -+ 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, -+ 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, -+ 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, -+ // Bytes 1740 - 177f -+ 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, -+ 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, -+ 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, -+ 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, -+ 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, -+ 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, -+ 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, -+ 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, -+ // Bytes 1780 - 17bf -+ 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, -+ 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, -+ 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, -+ 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, -+ 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, -+ 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, -+ 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, -+ 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, -+ // Bytes 17c0 - 17ff -+ 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, -+ 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, -+ 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, -+ 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, -+ 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, -+ 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, -+ 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, -+ 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, -+ // Bytes 1800 - 183f -+ 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, -+ 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, -+ 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, -+ 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, -+ 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, -+ 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, -+ 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, -+ 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, -+ // Bytes 1840 - 187f -+ 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, -+ 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, -+ 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, -+ 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, -+ 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, -+ 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, -+ 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, -+ 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, -+ // Bytes 1880 - 18bf -+ 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, -+ 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, -+ 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, -+ 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, -+ 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, -+ 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, -+ 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, -+ 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, -+ // Bytes 18c0 - 18ff -+ 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, -+ 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, -+ 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, -+ 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, -+ 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, -+ 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, -+ 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, -+ 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, -+ // Bytes 1900 - 193f -+ 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, -+ 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, -+ 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, -+ 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, -+ 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, -+ 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, -+ 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, -+ 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, -+ // Bytes 1940 - 197f -+ 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, -+ 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, -+ 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, -+ 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, -+ 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, -+ 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, -+ 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, -+ 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, -+ // Bytes 1980 - 19bf -+ 0x44, 0x42, 0x4D, 0x52, 0x42, 0x4D, 0x56, 0x42, -+ 0x4D, 0x57, 0x42, 0x4E, 0x4A, 0x42, 0x4E, 0x6A, -+ 0x42, 0x4E, 0x6F, 0x42, 0x50, 0x48, 0x42, 0x50, -+ 0x52, 0x42, 0x50, 0x61, 0x42, 0x52, 0x73, 0x42, -+ 0x53, 0x44, 0x42, 0x53, 0x4D, 0x42, 0x53, 0x53, -+ 0x42, 0x53, 0x76, 0x42, 0x54, 0x4D, 0x42, 0x56, -+ 0x49, 0x42, 0x57, 0x43, 0x42, 0x57, 0x5A, 0x42, -+ 0x57, 0x62, 0x42, 0x58, 0x49, 0x42, 0x63, 0x63, -+ // Bytes 19c0 - 19ff -+ 0x42, 0x63, 0x64, 0x42, 0x63, 0x6D, 0x42, 0x64, -+ 0x42, 0x42, 0x64, 0x61, 0x42, 0x64, 0x6C, 0x42, -+ 0x64, 0x6D, 0x42, 0x64, 0x7A, 0x42, 0x65, 0x56, -+ 0x42, 0x66, 0x66, 0x42, 0x66, 0x69, 0x42, 0x66, -+ 0x6C, 0x42, 0x66, 0x6D, 0x42, 0x68, 0x61, 0x42, -+ 0x69, 0x69, 0x42, 0x69, 0x6A, 0x42, 0x69, 0x6E, -+ 0x42, 0x69, 0x76, 0x42, 0x69, 0x78, 0x42, 0x6B, -+ 0x41, 0x42, 0x6B, 0x56, 0x42, 0x6B, 0x57, 0x42, -+ // Bytes 1a00 - 1a3f -+ 0x6B, 0x67, 0x42, 0x6B, 0x6C, 0x42, 0x6B, 0x6D, -+ 0x42, 0x6B, 0x74, 0x42, 0x6C, 0x6A, 0x42, 0x6C, -+ 0x6D, 0x42, 0x6C, 0x6E, 0x42, 0x6C, 0x78, 0x42, -+ 0x6D, 0x32, 0x42, 0x6D, 0x33, 0x42, 0x6D, 0x41, -+ 0x42, 0x6D, 0x56, 0x42, 0x6D, 0x57, 0x42, 0x6D, -+ 0x62, 0x42, 0x6D, 0x67, 0x42, 0x6D, 0x6C, 0x42, -+ 0x6D, 0x6D, 0x42, 0x6D, 0x73, 0x42, 0x6E, 0x41, -+ 0x42, 0x6E, 0x46, 0x42, 0x6E, 0x56, 0x42, 0x6E, -+ // Bytes 1a40 - 1a7f -+ 0x57, 0x42, 0x6E, 0x6A, 0x42, 0x6E, 0x6D, 0x42, -+ 0x6E, 0x73, 0x42, 0x6F, 0x56, 0x42, 0x70, 0x41, -+ 0x42, 0x70, 0x46, 0x42, 0x70, 0x56, 0x42, 0x70, -+ 0x57, 0x42, 0x70, 0x63, 0x42, 0x70, 0x73, 0x42, -+ 0x73, 0x72, 0x42, 0x73, 0x74, 0x42, 0x76, 0x69, -+ 0x42, 0x78, 0x69, 0x43, 0x28, 0x31, 0x29, 0x43, -+ 0x28, 0x32, 0x29, 0x43, 0x28, 0x33, 0x29, 0x43, -+ 0x28, 0x34, 0x29, 0x43, 0x28, 0x35, 0x29, 0x43, -+ // Bytes 1a80 - 1abf -+ 0x28, 0x36, 0x29, 0x43, 0x28, 0x37, 0x29, 0x43, -+ 0x28, 0x38, 0x29, 0x43, 0x28, 0x39, 0x29, 0x43, -+ 0x28, 0x41, 0x29, 0x43, 0x28, 0x42, 0x29, 0x43, -+ 0x28, 0x43, 0x29, 0x43, 0x28, 0x44, 0x29, 0x43, -+ 0x28, 0x45, 0x29, 0x43, 0x28, 0x46, 0x29, 0x43, -+ 0x28, 0x47, 0x29, 0x43, 0x28, 0x48, 0x29, 0x43, -+ 0x28, 0x49, 0x29, 0x43, 0x28, 0x4A, 0x29, 0x43, -+ 0x28, 0x4B, 0x29, 0x43, 0x28, 0x4C, 0x29, 0x43, -+ // Bytes 1ac0 - 1aff -+ 0x28, 0x4D, 0x29, 0x43, 0x28, 0x4E, 0x29, 0x43, -+ 0x28, 0x4F, 0x29, 0x43, 0x28, 0x50, 0x29, 0x43, -+ 0x28, 0x51, 0x29, 0x43, 0x28, 0x52, 0x29, 0x43, -+ 0x28, 0x53, 0x29, 0x43, 0x28, 0x54, 0x29, 0x43, -+ 0x28, 0x55, 0x29, 0x43, 0x28, 0x56, 0x29, 0x43, -+ 0x28, 0x57, 0x29, 0x43, 0x28, 0x58, 0x29, 0x43, -+ 0x28, 0x59, 0x29, 0x43, 0x28, 0x5A, 0x29, 0x43, -+ 0x28, 0x61, 0x29, 0x43, 0x28, 0x62, 0x29, 0x43, -+ // Bytes 1b00 - 1b3f -+ 0x28, 0x63, 0x29, 0x43, 0x28, 0x64, 0x29, 0x43, -+ 0x28, 0x65, 0x29, 0x43, 0x28, 0x66, 0x29, 0x43, -+ 0x28, 0x67, 0x29, 0x43, 0x28, 0x68, 0x29, 0x43, -+ 0x28, 0x69, 0x29, 0x43, 0x28, 0x6A, 0x29, 0x43, -+ 0x28, 0x6B, 0x29, 0x43, 0x28, 0x6C, 0x29, 0x43, -+ 0x28, 0x6D, 0x29, 0x43, 0x28, 0x6E, 0x29, 0x43, -+ 0x28, 0x6F, 0x29, 0x43, 0x28, 0x70, 0x29, 0x43, -+ 0x28, 0x71, 0x29, 0x43, 0x28, 0x72, 0x29, 0x43, -+ // Bytes 1b40 - 1b7f -+ 0x28, 0x73, 0x29, 0x43, 0x28, 0x74, 0x29, 0x43, -+ 0x28, 0x75, 0x29, 0x43, 0x28, 0x76, 0x29, 0x43, -+ 0x28, 0x77, 0x29, 0x43, 0x28, 0x78, 0x29, 0x43, -+ 0x28, 0x79, 0x29, 0x43, 0x28, 0x7A, 0x29, 0x43, -+ 0x2E, 0x2E, 0x2E, 0x43, 0x31, 0x30, 0x2E, 0x43, -+ 0x31, 0x31, 0x2E, 0x43, 0x31, 0x32, 0x2E, 0x43, -+ 0x31, 0x33, 0x2E, 0x43, 0x31, 0x34, 0x2E, 0x43, -+ 0x31, 0x35, 0x2E, 0x43, 0x31, 0x36, 0x2E, 0x43, -+ // Bytes 1b80 - 1bbf -+ 0x31, 0x37, 0x2E, 0x43, 0x31, 0x38, 0x2E, 0x43, -+ 0x31, 0x39, 0x2E, 0x43, 0x32, 0x30, 0x2E, 0x43, -+ 0x3A, 0x3A, 0x3D, 0x43, 0x3D, 0x3D, 0x3D, 0x43, -+ 0x43, 0x6F, 0x2E, 0x43, 0x46, 0x41, 0x58, 0x43, -+ 0x47, 0x48, 0x7A, 0x43, 0x47, 0x50, 0x61, 0x43, -+ 0x49, 0x49, 0x49, 0x43, 0x4C, 0x54, 0x44, 0x43, -+ 0x4C, 0xC2, 0xB7, 0x43, 0x4D, 0x48, 0x7A, 0x43, -+ 0x4D, 0x50, 0x61, 0x43, 0x4D, 0xCE, 0xA9, 0x43, -+ // Bytes 1bc0 - 1bff -+ 0x50, 0x50, 0x4D, 0x43, 0x50, 0x50, 0x56, 0x43, -+ 0x50, 0x54, 0x45, 0x43, 0x54, 0x45, 0x4C, 0x43, -+ 0x54, 0x48, 0x7A, 0x43, 0x56, 0x49, 0x49, 0x43, -+ 0x58, 0x49, 0x49, 0x43, 0x61, 0x2F, 0x63, 0x43, -+ 0x61, 0x2F, 0x73, 0x43, 0x61, 0xCA, 0xBE, 0x43, -+ 0x62, 0x61, 0x72, 0x43, 0x63, 0x2F, 0x6F, 0x43, -+ 0x63, 0x2F, 0x75, 0x43, 0x63, 0x61, 0x6C, 0x43, -+ 0x63, 0x6D, 0x32, 0x43, 0x63, 0x6D, 0x33, 0x43, -+ // Bytes 1c00 - 1c3f -+ 0x64, 0x6D, 0x32, 0x43, 0x64, 0x6D, 0x33, 0x43, -+ 0x65, 0x72, 0x67, 0x43, 0x66, 0x66, 0x69, 0x43, -+ 0x66, 0x66, 0x6C, 0x43, 0x67, 0x61, 0x6C, 0x43, -+ 0x68, 0x50, 0x61, 0x43, 0x69, 0x69, 0x69, 0x43, -+ 0x6B, 0x48, 0x7A, 0x43, 0x6B, 0x50, 0x61, 0x43, -+ 0x6B, 0x6D, 0x32, 0x43, 0x6B, 0x6D, 0x33, 0x43, -+ 0x6B, 0xCE, 0xA9, 0x43, 0x6C, 0x6F, 0x67, 0x43, -+ 0x6C, 0xC2, 0xB7, 0x43, 0x6D, 0x69, 0x6C, 0x43, -+ // Bytes 1c40 - 1c7f -+ 0x6D, 0x6D, 0x32, 0x43, 0x6D, 0x6D, 0x33, 0x43, -+ 0x6D, 0x6F, 0x6C, 0x43, 0x72, 0x61, 0x64, 0x43, -+ 0x76, 0x69, 0x69, 0x43, 0x78, 0x69, 0x69, 0x43, -+ 0xC2, 0xB0, 0x43, 0x43, 0xC2, 0xB0, 0x46, 0x43, -+ 0xCA, 0xBC, 0x6E, 0x43, 0xCE, 0xBC, 0x41, 0x43, -+ 0xCE, 0xBC, 0x46, 0x43, 0xCE, 0xBC, 0x56, 0x43, -+ 0xCE, 0xBC, 0x57, 0x43, 0xCE, 0xBC, 0x67, 0x43, -+ 0xCE, 0xBC, 0x6C, 0x43, 0xCE, 0xBC, 0x6D, 0x43, -+ // Bytes 1c80 - 1cbf -+ 0xCE, 0xBC, 0x73, 0x44, 0x28, 0x31, 0x30, 0x29, -+ 0x44, 0x28, 0x31, 0x31, 0x29, 0x44, 0x28, 0x31, -+ 0x32, 0x29, 0x44, 0x28, 0x31, 0x33, 0x29, 0x44, -+ 0x28, 0x31, 0x34, 0x29, 0x44, 0x28, 0x31, 0x35, -+ 0x29, 0x44, 0x28, 0x31, 0x36, 0x29, 0x44, 0x28, -+ 0x31, 0x37, 0x29, 0x44, 0x28, 0x31, 0x38, 0x29, -+ 0x44, 0x28, 0x31, 0x39, 0x29, 0x44, 0x28, 0x32, -+ 0x30, 0x29, 0x44, 0x30, 0xE7, 0x82, 0xB9, 0x44, -+ // Bytes 1cc0 - 1cff -+ 0x31, 0xE2, 0x81, 0x84, 0x44, 0x31, 0xE6, 0x97, -+ 0xA5, 0x44, 0x31, 0xE6, 0x9C, 0x88, 0x44, 0x31, -+ 0xE7, 0x82, 0xB9, 0x44, 0x32, 0xE6, 0x97, 0xA5, -+ 0x44, 0x32, 0xE6, 0x9C, 0x88, 0x44, 0x32, 0xE7, -+ 0x82, 0xB9, 0x44, 0x33, 0xE6, 0x97, 0xA5, 0x44, -+ 0x33, 0xE6, 0x9C, 0x88, 0x44, 0x33, 0xE7, 0x82, -+ 0xB9, 0x44, 0x34, 0xE6, 0x97, 0xA5, 0x44, 0x34, -+ 0xE6, 0x9C, 0x88, 0x44, 0x34, 0xE7, 0x82, 0xB9, -+ // Bytes 1d00 - 1d3f -+ 0x44, 0x35, 0xE6, 0x97, 0xA5, 0x44, 0x35, 0xE6, -+ 0x9C, 0x88, 0x44, 0x35, 0xE7, 0x82, 0xB9, 0x44, -+ 0x36, 0xE6, 0x97, 0xA5, 0x44, 0x36, 0xE6, 0x9C, -+ 0x88, 0x44, 0x36, 0xE7, 0x82, 0xB9, 0x44, 0x37, -+ 0xE6, 0x97, 0xA5, 0x44, 0x37, 0xE6, 0x9C, 0x88, -+ 0x44, 0x37, 0xE7, 0x82, 0xB9, 0x44, 0x38, 0xE6, -+ 0x97, 0xA5, 0x44, 0x38, 0xE6, 0x9C, 0x88, 0x44, -+ 0x38, 0xE7, 0x82, 0xB9, 0x44, 0x39, 0xE6, 0x97, -+ // Bytes 1d40 - 1d7f -+ 0xA5, 0x44, 0x39, 0xE6, 0x9C, 0x88, 0x44, 0x39, -+ 0xE7, 0x82, 0xB9, 0x44, 0x56, 0x49, 0x49, 0x49, -+ 0x44, 0x61, 0x2E, 0x6D, 0x2E, 0x44, 0x6B, 0x63, -+ 0x61, 0x6C, 0x44, 0x70, 0x2E, 0x6D, 0x2E, 0x44, -+ 0x76, 0x69, 0x69, 0x69, 0x44, 0xD5, 0xA5, 0xD6, -+ 0x82, 0x44, 0xD5, 0xB4, 0xD5, 0xA5, 0x44, 0xD5, -+ 0xB4, 0xD5, 0xAB, 0x44, 0xD5, 0xB4, 0xD5, 0xAD, -+ 0x44, 0xD5, 0xB4, 0xD5, 0xB6, 0x44, 0xD5, 0xBE, -+ // Bytes 1d80 - 1dbf -+ 0xD5, 0xB6, 0x44, 0xD7, 0x90, 0xD7, 0x9C, 0x44, -+ 0xD8, 0xA7, 0xD9, 0xB4, 0x44, 0xD8, 0xA8, 0xD8, -+ 0xAC, 0x44, 0xD8, 0xA8, 0xD8, 0xAD, 0x44, 0xD8, -+ 0xA8, 0xD8, 0xAE, 0x44, 0xD8, 0xA8, 0xD8, 0xB1, -+ 0x44, 0xD8, 0xA8, 0xD8, 0xB2, 0x44, 0xD8, 0xA8, -+ 0xD9, 0x85, 0x44, 0xD8, 0xA8, 0xD9, 0x86, 0x44, -+ 0xD8, 0xA8, 0xD9, 0x87, 0x44, 0xD8, 0xA8, 0xD9, -+ 0x89, 0x44, 0xD8, 0xA8, 0xD9, 0x8A, 0x44, 0xD8, -+ // Bytes 1dc0 - 1dff -+ 0xAA, 0xD8, 0xAC, 0x44, 0xD8, 0xAA, 0xD8, 0xAD, -+ 0x44, 0xD8, 0xAA, 0xD8, 0xAE, 0x44, 0xD8, 0xAA, -+ 0xD8, 0xB1, 0x44, 0xD8, 0xAA, 0xD8, 0xB2, 0x44, -+ 0xD8, 0xAA, 0xD9, 0x85, 0x44, 0xD8, 0xAA, 0xD9, -+ 0x86, 0x44, 0xD8, 0xAA, 0xD9, 0x87, 0x44, 0xD8, -+ 0xAA, 0xD9, 0x89, 0x44, 0xD8, 0xAA, 0xD9, 0x8A, -+ 0x44, 0xD8, 0xAB, 0xD8, 0xAC, 0x44, 0xD8, 0xAB, -+ 0xD8, 0xB1, 0x44, 0xD8, 0xAB, 0xD8, 0xB2, 0x44, -+ // Bytes 1e00 - 1e3f -+ 0xD8, 0xAB, 0xD9, 0x85, 0x44, 0xD8, 0xAB, 0xD9, -+ 0x86, 0x44, 0xD8, 0xAB, 0xD9, 0x87, 0x44, 0xD8, -+ 0xAB, 0xD9, 0x89, 0x44, 0xD8, 0xAB, 0xD9, 0x8A, -+ 0x44, 0xD8, 0xAC, 0xD8, 0xAD, 0x44, 0xD8, 0xAC, -+ 0xD9, 0x85, 0x44, 0xD8, 0xAC, 0xD9, 0x89, 0x44, -+ 0xD8, 0xAC, 0xD9, 0x8A, 0x44, 0xD8, 0xAD, 0xD8, -+ 0xAC, 0x44, 0xD8, 0xAD, 0xD9, 0x85, 0x44, 0xD8, -+ 0xAD, 0xD9, 0x89, 0x44, 0xD8, 0xAD, 0xD9, 0x8A, -+ // Bytes 1e40 - 1e7f -+ 0x44, 0xD8, 0xAE, 0xD8, 0xAC, 0x44, 0xD8, 0xAE, -+ 0xD8, 0xAD, 0x44, 0xD8, 0xAE, 0xD9, 0x85, 0x44, -+ 0xD8, 0xAE, 0xD9, 0x89, 0x44, 0xD8, 0xAE, 0xD9, -+ 0x8A, 0x44, 0xD8, 0xB3, 0xD8, 0xAC, 0x44, 0xD8, -+ 0xB3, 0xD8, 0xAD, 0x44, 0xD8, 0xB3, 0xD8, 0xAE, -+ 0x44, 0xD8, 0xB3, 0xD8, 0xB1, 0x44, 0xD8, 0xB3, -+ 0xD9, 0x85, 0x44, 0xD8, 0xB3, 0xD9, 0x87, 0x44, -+ 0xD8, 0xB3, 0xD9, 0x89, 0x44, 0xD8, 0xB3, 0xD9, -+ // Bytes 1e80 - 1ebf -+ 0x8A, 0x44, 0xD8, 0xB4, 0xD8, 0xAC, 0x44, 0xD8, -+ 0xB4, 0xD8, 0xAD, 0x44, 0xD8, 0xB4, 0xD8, 0xAE, -+ 0x44, 0xD8, 0xB4, 0xD8, 0xB1, 0x44, 0xD8, 0xB4, -+ 0xD9, 0x85, 0x44, 0xD8, 0xB4, 0xD9, 0x87, 0x44, -+ 0xD8, 0xB4, 0xD9, 0x89, 0x44, 0xD8, 0xB4, 0xD9, -+ 0x8A, 0x44, 0xD8, 0xB5, 0xD8, 0xAD, 0x44, 0xD8, -+ 0xB5, 0xD8, 0xAE, 0x44, 0xD8, 0xB5, 0xD8, 0xB1, -+ 0x44, 0xD8, 0xB5, 0xD9, 0x85, 0x44, 0xD8, 0xB5, -+ // Bytes 1ec0 - 1eff -+ 0xD9, 0x89, 0x44, 0xD8, 0xB5, 0xD9, 0x8A, 0x44, -+ 0xD8, 0xB6, 0xD8, 0xAC, 0x44, 0xD8, 0xB6, 0xD8, -+ 0xAD, 0x44, 0xD8, 0xB6, 0xD8, 0xAE, 0x44, 0xD8, -+ 0xB6, 0xD8, 0xB1, 0x44, 0xD8, 0xB6, 0xD9, 0x85, -+ 0x44, 0xD8, 0xB6, 0xD9, 0x89, 0x44, 0xD8, 0xB6, -+ 0xD9, 0x8A, 0x44, 0xD8, 0xB7, 0xD8, 0xAD, 0x44, -+ 0xD8, 0xB7, 0xD9, 0x85, 0x44, 0xD8, 0xB7, 0xD9, -+ 0x89, 0x44, 0xD8, 0xB7, 0xD9, 0x8A, 0x44, 0xD8, -+ // Bytes 1f00 - 1f3f -+ 0xB8, 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD8, 0xAC, -+ 0x44, 0xD8, 0xB9, 0xD9, 0x85, 0x44, 0xD8, 0xB9, -+ 0xD9, 0x89, 0x44, 0xD8, 0xB9, 0xD9, 0x8A, 0x44, -+ 0xD8, 0xBA, 0xD8, 0xAC, 0x44, 0xD8, 0xBA, 0xD9, -+ 0x85, 0x44, 0xD8, 0xBA, 0xD9, 0x89, 0x44, 0xD8, -+ 0xBA, 0xD9, 0x8A, 0x44, 0xD9, 0x81, 0xD8, 0xAC, -+ 0x44, 0xD9, 0x81, 0xD8, 0xAD, 0x44, 0xD9, 0x81, -+ 0xD8, 0xAE, 0x44, 0xD9, 0x81, 0xD9, 0x85, 0x44, -+ // Bytes 1f40 - 1f7f -+ 0xD9, 0x81, 0xD9, 0x89, 0x44, 0xD9, 0x81, 0xD9, -+ 0x8A, 0x44, 0xD9, 0x82, 0xD8, 0xAD, 0x44, 0xD9, -+ 0x82, 0xD9, 0x85, 0x44, 0xD9, 0x82, 0xD9, 0x89, -+ 0x44, 0xD9, 0x82, 0xD9, 0x8A, 0x44, 0xD9, 0x83, -+ 0xD8, 0xA7, 0x44, 0xD9, 0x83, 0xD8, 0xAC, 0x44, -+ 0xD9, 0x83, 0xD8, 0xAD, 0x44, 0xD9, 0x83, 0xD8, -+ 0xAE, 0x44, 0xD9, 0x83, 0xD9, 0x84, 0x44, 0xD9, -+ 0x83, 0xD9, 0x85, 0x44, 0xD9, 0x83, 0xD9, 0x89, -+ // Bytes 1f80 - 1fbf -+ 0x44, 0xD9, 0x83, 0xD9, 0x8A, 0x44, 0xD9, 0x84, -+ 0xD8, 0xA7, 0x44, 0xD9, 0x84, 0xD8, 0xAC, 0x44, -+ 0xD9, 0x84, 0xD8, 0xAD, 0x44, 0xD9, 0x84, 0xD8, -+ 0xAE, 0x44, 0xD9, 0x84, 0xD9, 0x85, 0x44, 0xD9, -+ 0x84, 0xD9, 0x87, 0x44, 0xD9, 0x84, 0xD9, 0x89, -+ 0x44, 0xD9, 0x84, 0xD9, 0x8A, 0x44, 0xD9, 0x85, -+ 0xD8, 0xA7, 0x44, 0xD9, 0x85, 0xD8, 0xAC, 0x44, -+ 0xD9, 0x85, 0xD8, 0xAD, 0x44, 0xD9, 0x85, 0xD8, -+ // Bytes 1fc0 - 1fff -+ 0xAE, 0x44, 0xD9, 0x85, 0xD9, 0x85, 0x44, 0xD9, -+ 0x85, 0xD9, 0x89, 0x44, 0xD9, 0x85, 0xD9, 0x8A, -+ 0x44, 0xD9, 0x86, 0xD8, 0xAC, 0x44, 0xD9, 0x86, -+ 0xD8, 0xAD, 0x44, 0xD9, 0x86, 0xD8, 0xAE, 0x44, -+ 0xD9, 0x86, 0xD8, 0xB1, 0x44, 0xD9, 0x86, 0xD8, -+ 0xB2, 0x44, 0xD9, 0x86, 0xD9, 0x85, 0x44, 0xD9, -+ 0x86, 0xD9, 0x86, 0x44, 0xD9, 0x86, 0xD9, 0x87, -+ 0x44, 0xD9, 0x86, 0xD9, 0x89, 0x44, 0xD9, 0x86, -+ // Bytes 2000 - 203f -+ 0xD9, 0x8A, 0x44, 0xD9, 0x87, 0xD8, 0xAC, 0x44, -+ 0xD9, 0x87, 0xD9, 0x85, 0x44, 0xD9, 0x87, 0xD9, -+ 0x89, 0x44, 0xD9, 0x87, 0xD9, 0x8A, 0x44, 0xD9, -+ 0x88, 0xD9, 0xB4, 0x44, 0xD9, 0x8A, 0xD8, 0xAC, -+ 0x44, 0xD9, 0x8A, 0xD8, 0xAD, 0x44, 0xD9, 0x8A, -+ 0xD8, 0xAE, 0x44, 0xD9, 0x8A, 0xD8, 0xB1, 0x44, -+ 0xD9, 0x8A, 0xD8, 0xB2, 0x44, 0xD9, 0x8A, 0xD9, -+ 0x85, 0x44, 0xD9, 0x8A, 0xD9, 0x86, 0x44, 0xD9, -+ // Bytes 2040 - 207f -+ 0x8A, 0xD9, 0x87, 0x44, 0xD9, 0x8A, 0xD9, 0x89, -+ 0x44, 0xD9, 0x8A, 0xD9, 0x8A, 0x44, 0xD9, 0x8A, -+ 0xD9, 0xB4, 0x44, 0xDB, 0x87, 0xD9, 0xB4, 0x45, -+ 0x28, 0xE1, 0x84, 0x80, 0x29, 0x45, 0x28, 0xE1, -+ 0x84, 0x82, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x83, -+ 0x29, 0x45, 0x28, 0xE1, 0x84, 0x85, 0x29, 0x45, -+ 0x28, 0xE1, 0x84, 0x86, 0x29, 0x45, 0x28, 0xE1, -+ 0x84, 0x87, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x89, -+ // Bytes 2080 - 20bf -+ 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8B, 0x29, 0x45, -+ 0x28, 0xE1, 0x84, 0x8C, 0x29, 0x45, 0x28, 0xE1, -+ 0x84, 0x8E, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8F, -+ 0x29, 0x45, 0x28, 0xE1, 0x84, 0x90, 0x29, 0x45, -+ 0x28, 0xE1, 0x84, 0x91, 0x29, 0x45, 0x28, 0xE1, -+ 0x84, 0x92, 0x29, 0x45, 0x28, 0xE4, 0xB8, 0x80, -+ 0x29, 0x45, 0x28, 0xE4, 0xB8, 0x83, 0x29, 0x45, -+ 0x28, 0xE4, 0xB8, 0x89, 0x29, 0x45, 0x28, 0xE4, -+ // Bytes 20c0 - 20ff -+ 0xB9, 0x9D, 0x29, 0x45, 0x28, 0xE4, 0xBA, 0x8C, -+ 0x29, 0x45, 0x28, 0xE4, 0xBA, 0x94, 0x29, 0x45, -+ 0x28, 0xE4, 0xBB, 0xA3, 0x29, 0x45, 0x28, 0xE4, -+ 0xBC, 0x81, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x91, -+ 0x29, 0x45, 0x28, 0xE5, 0x85, 0xAB, 0x29, 0x45, -+ 0x28, 0xE5, 0x85, 0xAD, 0x29, 0x45, 0x28, 0xE5, -+ 0x8A, 0xB4, 0x29, 0x45, 0x28, 0xE5, 0x8D, 0x81, -+ 0x29, 0x45, 0x28, 0xE5, 0x8D, 0x94, 0x29, 0x45, -+ // Bytes 2100 - 213f -+ 0x28, 0xE5, 0x90, 0x8D, 0x29, 0x45, 0x28, 0xE5, -+ 0x91, 0xBC, 0x29, 0x45, 0x28, 0xE5, 0x9B, 0x9B, -+ 0x29, 0x45, 0x28, 0xE5, 0x9C, 0x9F, 0x29, 0x45, -+ 0x28, 0xE5, 0xAD, 0xA6, 0x29, 0x45, 0x28, 0xE6, -+ 0x97, 0xA5, 0x29, 0x45, 0x28, 0xE6, 0x9C, 0x88, -+ 0x29, 0x45, 0x28, 0xE6, 0x9C, 0x89, 0x29, 0x45, -+ 0x28, 0xE6, 0x9C, 0xA8, 0x29, 0x45, 0x28, 0xE6, -+ 0xA0, 0xAA, 0x29, 0x45, 0x28, 0xE6, 0xB0, 0xB4, -+ // Bytes 2140 - 217f -+ 0x29, 0x45, 0x28, 0xE7, 0x81, 0xAB, 0x29, 0x45, -+ 0x28, 0xE7, 0x89, 0xB9, 0x29, 0x45, 0x28, 0xE7, -+ 0x9B, 0xA3, 0x29, 0x45, 0x28, 0xE7, 0xA4, 0xBE, -+ 0x29, 0x45, 0x28, 0xE7, 0xA5, 0x9D, 0x29, 0x45, -+ 0x28, 0xE7, 0xA5, 0xAD, 0x29, 0x45, 0x28, 0xE8, -+ 0x87, 0xAA, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xB3, -+ 0x29, 0x45, 0x28, 0xE8, 0xB2, 0xA1, 0x29, 0x45, -+ 0x28, 0xE8, 0xB3, 0x87, 0x29, 0x45, 0x28, 0xE9, -+ // Bytes 2180 - 21bf -+ 0x87, 0x91, 0x29, 0x45, 0x30, 0xE2, 0x81, 0x84, -+ 0x33, 0x45, 0x31, 0x30, 0xE6, 0x97, 0xA5, 0x45, -+ 0x31, 0x30, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x30, -+ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x31, 0xE6, 0x97, -+ 0xA5, 0x45, 0x31, 0x31, 0xE6, 0x9C, 0x88, 0x45, -+ 0x31, 0x31, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x32, -+ 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x32, 0xE6, 0x9C, -+ 0x88, 0x45, 0x31, 0x32, 0xE7, 0x82, 0xB9, 0x45, -+ // Bytes 21c0 - 21ff -+ 0x31, 0x33, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x33, -+ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x34, 0xE6, 0x97, -+ 0xA5, 0x45, 0x31, 0x34, 0xE7, 0x82, 0xB9, 0x45, -+ 0x31, 0x35, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x35, -+ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x36, 0xE6, 0x97, -+ 0xA5, 0x45, 0x31, 0x36, 0xE7, 0x82, 0xB9, 0x45, -+ 0x31, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x37, -+ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x38, 0xE6, 0x97, -+ // Bytes 2200 - 223f -+ 0xA5, 0x45, 0x31, 0x38, 0xE7, 0x82, 0xB9, 0x45, -+ 0x31, 0x39, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x39, -+ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0xE2, 0x81, 0x84, -+ 0x32, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x33, 0x45, -+ 0x31, 0xE2, 0x81, 0x84, 0x34, 0x45, 0x31, 0xE2, -+ 0x81, 0x84, 0x35, 0x45, 0x31, 0xE2, 0x81, 0x84, -+ 0x36, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x37, 0x45, -+ 0x31, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x31, 0xE2, -+ // Bytes 2240 - 227f -+ 0x81, 0x84, 0x39, 0x45, 0x32, 0x30, 0xE6, 0x97, -+ 0xA5, 0x45, 0x32, 0x30, 0xE7, 0x82, 0xB9, 0x45, -+ 0x32, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x31, -+ 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x32, 0xE6, 0x97, -+ 0xA5, 0x45, 0x32, 0x32, 0xE7, 0x82, 0xB9, 0x45, -+ 0x32, 0x33, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x33, -+ 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x34, 0xE6, 0x97, -+ 0xA5, 0x45, 0x32, 0x34, 0xE7, 0x82, 0xB9, 0x45, -+ // Bytes 2280 - 22bf -+ 0x32, 0x35, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x36, -+ 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x37, 0xE6, 0x97, -+ 0xA5, 0x45, 0x32, 0x38, 0xE6, 0x97, 0xA5, 0x45, -+ 0x32, 0x39, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0xE2, -+ 0x81, 0x84, 0x33, 0x45, 0x32, 0xE2, 0x81, 0x84, -+ 0x35, 0x45, 0x33, 0x30, 0xE6, 0x97, 0xA5, 0x45, -+ 0x33, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0xE2, -+ 0x81, 0x84, 0x34, 0x45, 0x33, 0xE2, 0x81, 0x84, -+ // Bytes 22c0 - 22ff -+ 0x35, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x38, 0x45, -+ 0x34, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x35, 0xE2, -+ 0x81, 0x84, 0x36, 0x45, 0x35, 0xE2, 0x81, 0x84, -+ 0x38, 0x45, 0x37, 0xE2, 0x81, 0x84, 0x38, 0x45, -+ 0x41, 0xE2, 0x88, 0x95, 0x6D, 0x45, 0x56, 0xE2, -+ 0x88, 0x95, 0x6D, 0x45, 0x6D, 0xE2, 0x88, 0x95, -+ 0x73, 0x46, 0x31, 0xE2, 0x81, 0x84, 0x31, 0x30, -+ 0x46, 0x43, 0xE2, 0x88, 0x95, 0x6B, 0x67, 0x46, -+ // Bytes 2300 - 233f -+ 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x46, 0xD8, -+ 0xA8, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xA8, -+ 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD8, 0xAA, 0xD8, -+ 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, -+ 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, -+ 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, -+ 0x46, 0xD8, 0xAA, 0xD8, 0xAD, 0xD9, 0x85, 0x46, -+ 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD8, -+ // Bytes 2340 - 237f -+ 0xAA, 0xD8, 0xAE, 0xD9, 0x89, 0x46, 0xD8, 0xAA, -+ 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD8, 0xAA, 0xD9, -+ 0x85, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, 0xD9, 0x85, -+ 0xD8, 0xAD, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, -+ 0xAE, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x89, -+ 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, -+ 0xD8, 0xAC, 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD8, -+ 0xAC, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, -+ // Bytes 2380 - 23bf -+ 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xAC, 0xD9, -+ 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD9, 0x85, -+ 0xD9, 0x8A, 0x46, 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, -+ 0x8A, 0x46, 0xD8, 0xAD, 0xD9, 0x85, 0xD9, 0x89, -+ 0x46, 0xD8, 0xAD, 0xD9, 0x85, 0xD9, 0x8A, 0x46, -+ 0xD8, 0xB3, 0xD8, 0xAC, 0xD8, 0xAD, 0x46, 0xD8, -+ 0xB3, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD8, 0xB3, -+ 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xB3, 0xD8, -+ // Bytes 23c0 - 23ff -+ 0xAE, 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, -+ 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD9, 0x85, 0xD8, -+ 0xAC, 0x46, 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAD, -+ 0x46, 0xD8, 0xB3, 0xD9, 0x85, 0xD9, 0x85, 0x46, -+ 0xD8, 0xB4, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, -+ 0xB4, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xB4, -+ 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD9, -+ 0x85, 0xD8, 0xAE, 0x46, 0xD8, 0xB4, 0xD9, 0x85, -+ // Bytes 2400 - 243f -+ 0xD9, 0x85, 0x46, 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, -+ 0xAD, 0x46, 0xD8, 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, -+ 0x46, 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, 0x46, -+ 0xD8, 0xB5, 0xD9, 0x84, 0xDB, 0x92, 0x46, 0xD8, -+ 0xB5, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB6, -+ 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xB6, 0xD8, -+ 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB6, 0xD8, 0xAE, -+ 0xD9, 0x85, 0x46, 0xD8, 0xB7, 0xD9, 0x85, 0xD8, -+ // Bytes 2440 - 247f -+ 0xAD, 0x46, 0xD8, 0xB7, 0xD9, 0x85, 0xD9, 0x85, -+ 0x46, 0xD8, 0xB7, 0xD9, 0x85, 0xD9, 0x8A, 0x46, -+ 0xD8, 0xB9, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD8, -+ 0xB9, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB9, -+ 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xB9, 0xD9, -+ 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xBA, 0xD9, 0x85, -+ 0xD9, 0x85, 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, -+ 0x89, 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x8A, -+ // Bytes 2480 - 24bf -+ 0x46, 0xD9, 0x81, 0xD8, 0xAE, 0xD9, 0x85, 0x46, -+ 0xD9, 0x81, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, -+ 0x82, 0xD9, 0x84, 0xDB, 0x92, 0x46, 0xD9, 0x82, -+ 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x82, 0xD9, -+ 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x82, 0xD9, 0x85, -+ 0xD9, 0x8A, 0x46, 0xD9, 0x83, 0xD9, 0x85, 0xD9, -+ 0x85, 0x46, 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x8A, -+ 0x46, 0xD9, 0x84, 0xD8, 0xAC, 0xD8, 0xAC, 0x46, -+ // Bytes 24c0 - 24ff -+ 0xD9, 0x84, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD9, -+ 0x84, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x84, -+ 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, -+ 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x84, 0xD8, 0xAD, -+ 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAE, 0xD9, -+ 0x85, 0x46, 0xD9, 0x84, 0xD9, 0x85, 0xD8, 0xAD, -+ 0x46, 0xD9, 0x84, 0xD9, 0x85, 0xD9, 0x8A, 0x46, -+ 0xD9, 0x85, 0xD8, 0xAC, 0xD8, 0xAD, 0x46, 0xD9, -+ // Bytes 2500 - 253f -+ 0x85, 0xD8, 0xAC, 0xD8, 0xAE, 0x46, 0xD9, 0x85, -+ 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, -+ 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, 0xAD, -+ 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD9, -+ 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x8A, -+ 0x46, 0xD9, 0x85, 0xD8, 0xAE, 0xD8, 0xAC, 0x46, -+ 0xD9, 0x85, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, -+ 0x85, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD9, 0x85, -+ // Bytes 2540 - 257f -+ 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD8, -+ 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x86, 0xD8, 0xAC, -+ 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, -+ 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x8A, -+ 0x46, 0xD9, 0x86, 0xD8, 0xAD, 0xD9, 0x85, 0x46, -+ 0xD9, 0x86, 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD9, -+ 0x86, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x86, -+ 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD9, -+ // Bytes 2580 - 25bf -+ 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x87, 0xD9, 0x85, -+ 0xD8, 0xAC, 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD9, -+ 0x85, 0x46, 0xD9, 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, -+ 0x46, 0xD9, 0x8A, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, -+ 0xD9, 0x8A, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, -+ 0x8A, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, -+ 0xD9, 0x94, 0xD8, 0xA7, 0x46, 0xD9, 0x8A, 0xD9, -+ 0x94, 0xD8, 0xAC, 0x46, 0xD9, 0x8A, 0xD9, 0x94, -+ // Bytes 25c0 - 25ff -+ 0xD8, 0xAD, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, -+ 0xAE, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xB1, -+ 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xB2, 0x46, -+ 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x85, 0x46, 0xD9, -+ 0x8A, 0xD9, 0x94, 0xD9, 0x86, 0x46, 0xD9, 0x8A, -+ 0xD9, 0x94, 0xD9, 0x87, 0x46, 0xD9, 0x8A, 0xD9, -+ 0x94, 0xD9, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, -+ 0xD9, 0x89, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, -+ // Bytes 2600 - 263f -+ 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x86, -+ 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x87, 0x46, -+ 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x88, 0x46, 0xD9, -+ 0x8A, 0xD9, 0x94, 0xDB, 0x90, 0x46, 0xD9, 0x8A, -+ 0xD9, 0x94, 0xDB, 0x95, 0x46, 0xE0, 0xB9, 0x8D, -+ 0xE0, 0xB8, 0xB2, 0x46, 0xE0, 0xBA, 0xAB, 0xE0, -+ 0xBA, 0x99, 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, -+ 0xA1, 0x46, 0xE0, 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, -+ // Bytes 2640 - 267f -+ 0x46, 0xE0, 0xBD, 0x80, 0xE0, 0xBE, 0xB5, 0x46, -+ 0xE0, 0xBD, 0x82, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, -+ 0xBD, 0x8C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, -+ 0x91, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x96, -+ 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x9B, 0xE0, -+ 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0x90, 0xE0, 0xBE, -+ 0xB5, 0x46, 0xE0, 0xBE, 0x92, 0xE0, 0xBE, 0xB7, -+ 0x46, 0xE0, 0xBE, 0x9C, 0xE0, 0xBE, 0xB7, 0x46, -+ // Bytes 2680 - 26bf -+ 0xE0, 0xBE, 0xA1, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, -+ 0xBE, 0xA6, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, -+ 0xAB, 0xE0, 0xBE, 0xB7, 0x46, 0xE2, 0x80, 0xB2, -+ 0xE2, 0x80, 0xB2, 0x46, 0xE2, 0x80, 0xB5, 0xE2, -+ 0x80, 0xB5, 0x46, 0xE2, 0x88, 0xAB, 0xE2, 0x88, -+ 0xAB, 0x46, 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, -+ 0x46, 0xE3, 0x81, 0xBB, 0xE3, 0x81, 0x8B, 0x46, -+ 0xE3, 0x82, 0x88, 0xE3, 0x82, 0x8A, 0x46, 0xE3, -+ // Bytes 26c0 - 26ff -+ 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0x46, 0xE3, 0x82, -+ 0xB3, 0xE3, 0x82, 0xB3, 0x46, 0xE3, 0x82, 0xB3, -+ 0xE3, 0x83, 0x88, 0x46, 0xE3, 0x83, 0x88, 0xE3, -+ 0x83, 0xB3, 0x46, 0xE3, 0x83, 0x8A, 0xE3, 0x83, -+ 0x8E, 0x46, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xB3, -+ 0x46, 0xE3, 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0x46, -+ 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xA9, 0x46, 0xE3, -+ 0x83, 0xAC, 0xE3, 0x83, 0xA0, 0x46, 0xE5, 0xA4, -+ // Bytes 2700 - 273f -+ 0xA7, 0xE6, 0xAD, 0xA3, 0x46, 0xE5, 0xB9, 0xB3, -+ 0xE6, 0x88, 0x90, 0x46, 0xE6, 0x98, 0x8E, 0xE6, -+ 0xB2, 0xBB, 0x46, 0xE6, 0x98, 0xAD, 0xE5, 0x92, -+ 0x8C, 0x47, 0x72, 0x61, 0x64, 0xE2, 0x88, 0x95, -+ 0x73, 0x47, 0xE3, 0x80, 0x94, 0x53, 0xE3, 0x80, -+ 0x95, 0x48, 0x28, 0xE1, 0x84, 0x80, 0xE1, 0x85, -+ 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x82, 0xE1, -+ 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x83, -+ // Bytes 2740 - 277f -+ 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, -+ 0x85, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, -+ 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, -+ 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x29, 0x48, -+ 0x28, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x29, -+ 0x48, 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, -+ 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, -+ 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8C, 0xE1, -+ // Bytes 2780 - 27bf -+ 0x85, 0xAE, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8E, -+ 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, -+ 0x8F, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, -+ 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, -+ 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x29, 0x48, -+ 0x28, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x29, -+ 0x48, 0x72, 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, -+ 0x32, 0x48, 0xD8, 0xA7, 0xD9, 0x83, 0xD8, 0xA8, -+ // Bytes 27c0 - 27ff -+ 0xD8, 0xB1, 0x48, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, -+ 0x84, 0xD9, 0x87, 0x48, 0xD8, 0xB1, 0xD8, 0xB3, -+ 0xD9, 0x88, 0xD9, 0x84, 0x48, 0xD8, 0xB1, 0xDB, -+ 0x8C, 0xD8, 0xA7, 0xD9, 0x84, 0x48, 0xD8, 0xB5, -+ 0xD9, 0x84, 0xD8, 0xB9, 0xD9, 0x85, 0x48, 0xD8, -+ 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x48, -+ 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0xD8, 0xAF, -+ 0x48, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, 0x84, 0xD9, -+ // Bytes 2800 - 283f -+ 0x85, 0x49, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, -+ 0xE2, 0x80, 0xB2, 0x49, 0xE2, 0x80, 0xB5, 0xE2, -+ 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x49, 0xE2, 0x88, -+ 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x49, -+ 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0xE2, 0x88, -+ 0xAE, 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xB8, 0x89, -+ 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE4, -+ 0xBA, 0x8C, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, -+ // Bytes 2840 - 287f -+ 0x94, 0xE5, 0x8B, 0x9D, 0xE3, 0x80, 0x95, 0x49, -+ 0xE3, 0x80, 0x94, 0xE5, 0xAE, 0x89, 0xE3, 0x80, -+ 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x89, 0x93, -+ 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, -+ 0x95, 0x97, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, -+ 0x94, 0xE6, 0x9C, 0xAC, 0xE3, 0x80, 0x95, 0x49, -+ 0xE3, 0x80, 0x94, 0xE7, 0x82, 0xB9, 0xE3, 0x80, -+ 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE7, 0x9B, 0x97, -+ // Bytes 2880 - 28bf -+ 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x82, 0xA2, 0xE3, -+ 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x82, -+ 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0x49, -+ 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0xA9, 0xE3, 0x83, -+ 0xB3, 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, -+ 0xE3, 0x82, 0xB9, 0x49, 0xE3, 0x82, 0xAA, 0xE3, -+ 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0x49, 0xE3, 0x82, -+ 0xAB, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xAA, 0x49, -+ // Bytes 28c0 - 28ff -+ 0xE3, 0x82, 0xB1, 0xE3, 0x83, 0xBC, 0xE3, 0x82, -+ 0xB9, 0x49, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xAB, -+ 0xE3, 0x83, 0x8A, 0x49, 0xE3, 0x82, 0xBB, 0xE3, -+ 0x83, 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, -+ 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0x49, -+ 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0xE3, 0x82, -+ 0xB7, 0x49, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, -+ 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x8E, 0xE3, -+ // Bytes 2900 - 293f -+ 0x83, 0x83, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, -+ 0x8F, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x84, 0x49, -+ 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0xE3, 0x83, -+ 0xAB, 0x49, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, -+ 0xE3, 0x82, 0xB3, 0x49, 0xE3, 0x83, 0x95, 0xE3, -+ 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, -+ 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xBD, 0x49, -+ 0xE3, 0x83, 0x98, 0xE3, 0x83, 0xAB, 0xE3, 0x83, -+ // Bytes 2940 - 297f -+ 0x84, 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, -+ 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9B, 0xE3, -+ 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, -+ 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xAB, 0x49, -+ 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0x83, 0xE3, 0x83, -+ 0x8F, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0xAB, -+ 0xE3, 0x82, 0xAF, 0x49, 0xE3, 0x83, 0xA4, 0xE3, -+ 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, -+ // Bytes 2980 - 29bf -+ 0xA6, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xB3, 0x49, -+ 0xE3, 0x83, 0xAF, 0xE3, 0x83, 0x83, 0xE3, 0x83, -+ 0x88, 0x4C, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, -+ 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0x4C, 0xE2, -+ 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, -+ 0xE2, 0x88, 0xAB, 0x4C, 0xE3, 0x82, 0xA2, 0xE3, -+ 0x83, 0xAB, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0xA1, -+ 0x4C, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xBC, 0xE3, -+ // Bytes 29c0 - 29ff -+ 0x82, 0xAB, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, -+ 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAD, 0xE3, -+ 0x83, 0xB3, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, -+ 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x9E, 0x4C, -+ 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xA9, 0xE3, 0x83, -+ 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x82, 0xAB, -+ 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAA, 0xE3, 0x83, -+ 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, -+ // Bytes 2a00 - 2a3f -+ 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, -+ 0x82, 0xAD, 0xE3, 0x83, 0xA5, 0xE3, 0x83, 0xAA, -+ 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAF, 0xE3, -+ 0x82, 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xA0, -+ 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, -+ 0x83, 0xBC, 0xE3, 0x83, 0x8D, 0x4C, 0xE3, 0x82, -+ 0xB5, 0xE3, 0x82, 0xA4, 0xE3, 0x82, 0xAF, 0xE3, -+ 0x83, 0xAB, 0x4C, 0xE3, 0x82, 0xBF, 0xE3, 0x82, -+ // Bytes 2a40 - 2a7f -+ 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x4C, -+ 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, -+ 0xBC, 0xE3, 0x83, 0x84, 0x4C, 0xE3, 0x83, 0x92, -+ 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xAF, 0xE3, 0x83, -+ 0xAB, 0x4C, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0xA3, -+ 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0x4C, 0xE3, -+ 0x83, 0x98, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, -+ 0xE3, 0x82, 0xBF, 0x4C, 0xE3, 0x83, 0x98, 0xE3, -+ // Bytes 2a80 - 2abf -+ 0x82, 0x9A, 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0x92, -+ 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, -+ 0x83, 0xB3, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, -+ 0x9B, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0xE3, -+ 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x9E, 0xE3, 0x82, -+ 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0x4C, -+ 0xE3, 0x83, 0x9F, 0xE3, 0x82, 0xAF, 0xE3, 0x83, -+ 0xAD, 0xE3, 0x83, 0xB3, 0x4C, 0xE3, 0x83, 0xA1, -+ // Bytes 2ac0 - 2aff -+ 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, -+ 0xAB, 0x4C, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x83, -+ 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, -+ 0x83, 0xAB, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, -+ 0xE3, 0x83, 0xBC, 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, -+ 0xBC, 0x8F, 0xE4, 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, -+ 0x4E, 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA9, -+ 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xAE, 0x29, 0x4F, -+ // Bytes 2b00 - 2b3f -+ 0xD8, 0xAC, 0xD9, 0x84, 0x20, 0xD8, 0xAC, 0xD9, -+ 0x84, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x87, 0x4F, -+ 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0x8F, 0xE3, 0x82, -+ 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0x4F, -+ 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xB3, 0xE3, 0x83, -+ 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA2, 0x4F, -+ 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0xE3, 0x83, -+ 0xAF, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4F, -+ // Bytes 2b40 - 2b7f -+ 0xE3, 0x82, 0xB5, 0xE3, 0x83, 0xB3, 0xE3, 0x83, -+ 0x81, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0x4F, -+ 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0xE3, 0x83, -+ 0xBC, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xAB, 0x4F, -+ 0xE3, 0x83, 0x98, 0xE3, 0x82, 0xAF, 0xE3, 0x82, -+ 0xBF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x4F, -+ 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x82, -+ 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0x4F, -+ // Bytes 2b80 - 2bbf -+ 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0xB3, 0xE3, 0x82, -+ 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0xB3, 0x4F, -+ 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, 0x82, -+ 0x99, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x4F, -+ 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0xBC, 0xE3, 0x83, -+ 0x95, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x51, -+ 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, -+ 0x84, 0x8C, 0xE1, 0x85, 0xA5, 0xE1, 0x86, 0xAB, -+ // Bytes 2bc0 - 2bff -+ 0x29, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, -+ 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xBF, 0xE3, 0x82, -+ 0x99, 0xE3, 0x83, 0xBC, 0x52, 0xE3, 0x82, 0xAD, -+ 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xAF, 0xE3, 0x82, -+ 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x52, -+ 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0xE3, 0x83, -+ 0xA1, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, -+ 0x83, 0xAB, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x82, -+ // Bytes 2c00 - 2c3f -+ 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0xE3, -+ 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x52, 0xE3, 0x82, -+ 0xAF, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xBB, 0xE3, -+ 0x82, 0x99, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xAD, -+ 0x52, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, -+ 0x83, 0xBC, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, -+ 0xE3, 0x83, 0x88, 0x52, 0xE3, 0x83, 0x92, 0xE3, -+ 0x82, 0x9A, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xB9, -+ // Bytes 2c40 - 2c7f -+ 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, 0xE3, -+ 0x83, 0x95, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x83, -+ 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0xA7, 0xE3, 0x83, -+ 0xAB, 0x52, 0xE3, 0x83, 0x9F, 0xE3, 0x83, 0xAA, -+ 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0xE3, 0x83, -+ 0xBC, 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0xAC, -+ 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, -+ 0xB1, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xB3, 0x61, -+ // Bytes 2c80 - 2cbf -+ 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, 0x20, 0xD8, -+ 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, 0x20, -+ 0xD8, 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, 0x87, -+ 0x20, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, 0x84, 0xD9, -+ 0x85, 0x06, 0xE0, 0xA7, 0x87, 0xE0, 0xA6, 0xBE, -+ 0x01, 0x06, 0xE0, 0xA7, 0x87, 0xE0, 0xA7, 0x97, -+ 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, 0xAC, 0xBE, -+ 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, 0xAD, 0x96, -+ // Bytes 2cc0 - 2cff -+ 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, 0xAD, 0x97, -+ 0x01, 0x06, 0xE0, 0xAE, 0x92, 0xE0, 0xAF, 0x97, -+ 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xBE, -+ 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, 0xAF, 0x97, -+ 0x01, 0x06, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xBE, -+ 0x01, 0x06, 0xE0, 0xB2, 0xBF, 0xE0, 0xB3, 0x95, -+ 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x95, -+ 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x96, -+ // Bytes 2d00 - 2d3f -+ 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, 0xB4, 0xBE, -+ 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, 0xB5, 0x97, -+ 0x01, 0x06, 0xE0, 0xB5, 0x87, 0xE0, 0xB4, 0xBE, -+ 0x01, 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x9F, -+ 0x01, 0x06, 0xE1, 0x80, 0xA5, 0xE1, 0x80, 0xAE, -+ 0x01, 0x06, 0xE1, 0xAC, 0x85, 0xE1, 0xAC, 0xB5, -+ 0x01, 0x06, 0xE1, 0xAC, 0x87, 0xE1, 0xAC, 0xB5, -+ 0x01, 0x06, 0xE1, 0xAC, 0x89, 0xE1, 0xAC, 0xB5, -+ // Bytes 2d40 - 2d7f -+ 0x01, 0x06, 0xE1, 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, -+ 0x01, 0x06, 0xE1, 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, -+ 0x01, 0x06, 0xE1, 0xAC, 0x91, 0xE1, 0xAC, 0xB5, -+ 0x01, 0x06, 0xE1, 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, -+ 0x01, 0x06, 0xE1, 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, -+ 0x01, 0x06, 0xE1, 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, -+ 0x01, 0x06, 0xE1, 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, -+ 0x01, 0x06, 0xE1, 0xAD, 0x82, 0xE1, 0xAC, 0xB5, -+ // Bytes 2d80 - 2dbf -+ 0x01, 0x08, 0xF0, 0x91, 0x84, 0xB1, 0xF0, 0x91, -+ 0x84, 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x84, 0xB2, -+ 0xF0, 0x91, 0x84, 0xA7, 0x01, 0x08, 0xF0, 0x91, -+ 0x8D, 0x87, 0xF0, 0x91, 0x8C, 0xBE, 0x01, 0x08, -+ 0xF0, 0x91, 0x8D, 0x87, 0xF0, 0x91, 0x8D, 0x97, -+ 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, -+ 0x92, 0xB0, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, -+ 0xF0, 0x91, 0x92, 0xBA, 0x01, 0x08, 0xF0, 0x91, -+ // Bytes 2dc0 - 2dff -+ 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xBD, 0x01, 0x08, -+ 0xF0, 0x91, 0x96, 0xB8, 0xF0, 0x91, 0x96, 0xAF, -+ 0x01, 0x08, 0xF0, 0x91, 0x96, 0xB9, 0xF0, 0x91, -+ 0x96, 0xAF, 0x01, 0x09, 0xE0, 0xB3, 0x86, 0xE0, -+ 0xB3, 0x82, 0xE0, 0xB3, 0x95, 0x02, 0x09, 0xE0, -+ 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, -+ 0x12, 0x44, 0x44, 0x5A, 0xCC, 0x8C, 0xC9, 0x44, -+ 0x44, 0x7A, 0xCC, 0x8C, 0xC9, 0x44, 0x64, 0x7A, -+ // Bytes 2e00 - 2e3f -+ 0xCC, 0x8C, 0xC9, 0x46, 0xD9, 0x84, 0xD8, 0xA7, -+ 0xD9, 0x93, 0xC9, 0x46, 0xD9, 0x84, 0xD8, 0xA7, -+ 0xD9, 0x94, 0xC9, 0x46, 0xD9, 0x84, 0xD8, 0xA7, -+ 0xD9, 0x95, 0xB5, 0x46, 0xE1, 0x84, 0x80, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x82, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x83, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x85, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x86, 0xE1, -+ // Bytes 2e40 - 2e7f -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x87, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x89, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8B, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8B, 0xE1, -+ 0x85, 0xAE, 0x01, 0x46, 0xE1, 0x84, 0x8C, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8E, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8F, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x90, 0xE1, -+ // Bytes 2e80 - 2ebf -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x91, 0xE1, -+ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x92, 0xE1, -+ 0x85, 0xA1, 0x01, 0x49, 0xE3, 0x83, 0xA1, 0xE3, -+ 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, 0xE1, -+ 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0xE1, 0x84, 0x8B, -+ 0xE1, 0x85, 0xB4, 0x01, 0x4C, 0xE3, 0x82, 0xAD, -+ 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xAB, 0xE3, 0x82, -+ 0x99, 0x0D, 0x4C, 0xE3, 0x82, 0xB3, 0xE3, 0x83, -+ // Bytes 2ec0 - 2eff -+ 0xBC, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, -+ 0x4C, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, -+ 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE1, -+ 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0xE1, 0x86, 0xB7, -+ 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA9, 0x01, 0x4F, -+ 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x8B, 0xE3, 0x83, -+ 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, -+ 0x4F, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xAA, 0xE3, -+ // Bytes 2f00 - 2f3f -+ 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, -+ 0x0D, 0x4F, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, -+ 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x82, -+ 0x99, 0x0D, 0x4F, 0xE3, 0x83, 0x9B, 0xE3, 0x82, -+ 0x9A, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, -+ 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x82, 0xA8, 0xE3, -+ 0x82, 0xB9, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xBC, -+ 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, 0x52, -+ // Bytes 2f40 - 2f7f -+ 0xE3, 0x83, 0x95, 0xE3, 0x82, 0xA1, 0xE3, 0x83, -+ 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, -+ 0x82, 0x99, 0x0D, 0x86, 0xE0, 0xB3, 0x86, 0xE0, -+ 0xB3, 0x82, 0x01, 0x86, 0xE0, 0xB7, 0x99, 0xE0, -+ 0xB7, 0x8F, 0x01, 0x03, 0x3C, 0xCC, 0xB8, 0x05, -+ 0x03, 0x3D, 0xCC, 0xB8, 0x05, 0x03, 0x3E, 0xCC, -+ 0xB8, 0x05, 0x03, 0x41, 0xCC, 0x80, 0xC9, 0x03, -+ 0x41, 0xCC, 0x81, 0xC9, 0x03, 0x41, 0xCC, 0x83, -+ // Bytes 2f80 - 2fbf -+ 0xC9, 0x03, 0x41, 0xCC, 0x84, 0xC9, 0x03, 0x41, -+ 0xCC, 0x89, 0xC9, 0x03, 0x41, 0xCC, 0x8C, 0xC9, -+ 0x03, 0x41, 0xCC, 0x8F, 0xC9, 0x03, 0x41, 0xCC, -+ 0x91, 0xC9, 0x03, 0x41, 0xCC, 0xA5, 0xB5, 0x03, -+ 0x41, 0xCC, 0xA8, 0xA5, 0x03, 0x42, 0xCC, 0x87, -+ 0xC9, 0x03, 0x42, 0xCC, 0xA3, 0xB5, 0x03, 0x42, -+ 0xCC, 0xB1, 0xB5, 0x03, 0x43, 0xCC, 0x81, 0xC9, -+ 0x03, 0x43, 0xCC, 0x82, 0xC9, 0x03, 0x43, 0xCC, -+ // Bytes 2fc0 - 2fff -+ 0x87, 0xC9, 0x03, 0x43, 0xCC, 0x8C, 0xC9, 0x03, -+ 0x44, 0xCC, 0x87, 0xC9, 0x03, 0x44, 0xCC, 0x8C, -+ 0xC9, 0x03, 0x44, 0xCC, 0xA3, 0xB5, 0x03, 0x44, -+ 0xCC, 0xA7, 0xA5, 0x03, 0x44, 0xCC, 0xAD, 0xB5, -+ 0x03, 0x44, 0xCC, 0xB1, 0xB5, 0x03, 0x45, 0xCC, -+ 0x80, 0xC9, 0x03, 0x45, 0xCC, 0x81, 0xC9, 0x03, -+ 0x45, 0xCC, 0x83, 0xC9, 0x03, 0x45, 0xCC, 0x86, -+ 0xC9, 0x03, 0x45, 0xCC, 0x87, 0xC9, 0x03, 0x45, -+ // Bytes 3000 - 303f -+ 0xCC, 0x88, 0xC9, 0x03, 0x45, 0xCC, 0x89, 0xC9, -+ 0x03, 0x45, 0xCC, 0x8C, 0xC9, 0x03, 0x45, 0xCC, -+ 0x8F, 0xC9, 0x03, 0x45, 0xCC, 0x91, 0xC9, 0x03, -+ 0x45, 0xCC, 0xA8, 0xA5, 0x03, 0x45, 0xCC, 0xAD, -+ 0xB5, 0x03, 0x45, 0xCC, 0xB0, 0xB5, 0x03, 0x46, -+ 0xCC, 0x87, 0xC9, 0x03, 0x47, 0xCC, 0x81, 0xC9, -+ 0x03, 0x47, 0xCC, 0x82, 0xC9, 0x03, 0x47, 0xCC, -+ 0x84, 0xC9, 0x03, 0x47, 0xCC, 0x86, 0xC9, 0x03, -+ // Bytes 3040 - 307f -+ 0x47, 0xCC, 0x87, 0xC9, 0x03, 0x47, 0xCC, 0x8C, -+ 0xC9, 0x03, 0x47, 0xCC, 0xA7, 0xA5, 0x03, 0x48, -+ 0xCC, 0x82, 0xC9, 0x03, 0x48, 0xCC, 0x87, 0xC9, -+ 0x03, 0x48, 0xCC, 0x88, 0xC9, 0x03, 0x48, 0xCC, -+ 0x8C, 0xC9, 0x03, 0x48, 0xCC, 0xA3, 0xB5, 0x03, -+ 0x48, 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0xAE, -+ 0xB5, 0x03, 0x49, 0xCC, 0x80, 0xC9, 0x03, 0x49, -+ 0xCC, 0x81, 0xC9, 0x03, 0x49, 0xCC, 0x82, 0xC9, -+ // Bytes 3080 - 30bf -+ 0x03, 0x49, 0xCC, 0x83, 0xC9, 0x03, 0x49, 0xCC, -+ 0x84, 0xC9, 0x03, 0x49, 0xCC, 0x86, 0xC9, 0x03, -+ 0x49, 0xCC, 0x87, 0xC9, 0x03, 0x49, 0xCC, 0x89, -+ 0xC9, 0x03, 0x49, 0xCC, 0x8C, 0xC9, 0x03, 0x49, -+ 0xCC, 0x8F, 0xC9, 0x03, 0x49, 0xCC, 0x91, 0xC9, -+ 0x03, 0x49, 0xCC, 0xA3, 0xB5, 0x03, 0x49, 0xCC, -+ 0xA8, 0xA5, 0x03, 0x49, 0xCC, 0xB0, 0xB5, 0x03, -+ 0x4A, 0xCC, 0x82, 0xC9, 0x03, 0x4B, 0xCC, 0x81, -+ // Bytes 30c0 - 30ff -+ 0xC9, 0x03, 0x4B, 0xCC, 0x8C, 0xC9, 0x03, 0x4B, -+ 0xCC, 0xA3, 0xB5, 0x03, 0x4B, 0xCC, 0xA7, 0xA5, -+ 0x03, 0x4B, 0xCC, 0xB1, 0xB5, 0x03, 0x4C, 0xCC, -+ 0x81, 0xC9, 0x03, 0x4C, 0xCC, 0x8C, 0xC9, 0x03, -+ 0x4C, 0xCC, 0xA7, 0xA5, 0x03, 0x4C, 0xCC, 0xAD, -+ 0xB5, 0x03, 0x4C, 0xCC, 0xB1, 0xB5, 0x03, 0x4D, -+ 0xCC, 0x81, 0xC9, 0x03, 0x4D, 0xCC, 0x87, 0xC9, -+ 0x03, 0x4D, 0xCC, 0xA3, 0xB5, 0x03, 0x4E, 0xCC, -+ // Bytes 3100 - 313f -+ 0x80, 0xC9, 0x03, 0x4E, 0xCC, 0x81, 0xC9, 0x03, -+ 0x4E, 0xCC, 0x83, 0xC9, 0x03, 0x4E, 0xCC, 0x87, -+ 0xC9, 0x03, 0x4E, 0xCC, 0x8C, 0xC9, 0x03, 0x4E, -+ 0xCC, 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0xA7, 0xA5, -+ 0x03, 0x4E, 0xCC, 0xAD, 0xB5, 0x03, 0x4E, 0xCC, -+ 0xB1, 0xB5, 0x03, 0x4F, 0xCC, 0x80, 0xC9, 0x03, -+ 0x4F, 0xCC, 0x81, 0xC9, 0x03, 0x4F, 0xCC, 0x86, -+ 0xC9, 0x03, 0x4F, 0xCC, 0x89, 0xC9, 0x03, 0x4F, -+ // Bytes 3140 - 317f -+ 0xCC, 0x8B, 0xC9, 0x03, 0x4F, 0xCC, 0x8C, 0xC9, -+ 0x03, 0x4F, 0xCC, 0x8F, 0xC9, 0x03, 0x4F, 0xCC, -+ 0x91, 0xC9, 0x03, 0x50, 0xCC, 0x81, 0xC9, 0x03, -+ 0x50, 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x81, -+ 0xC9, 0x03, 0x52, 0xCC, 0x87, 0xC9, 0x03, 0x52, -+ 0xCC, 0x8C, 0xC9, 0x03, 0x52, 0xCC, 0x8F, 0xC9, -+ 0x03, 0x52, 0xCC, 0x91, 0xC9, 0x03, 0x52, 0xCC, -+ 0xA7, 0xA5, 0x03, 0x52, 0xCC, 0xB1, 0xB5, 0x03, -+ // Bytes 3180 - 31bf -+ 0x53, 0xCC, 0x82, 0xC9, 0x03, 0x53, 0xCC, 0x87, -+ 0xC9, 0x03, 0x53, 0xCC, 0xA6, 0xB5, 0x03, 0x53, -+ 0xCC, 0xA7, 0xA5, 0x03, 0x54, 0xCC, 0x87, 0xC9, -+ 0x03, 0x54, 0xCC, 0x8C, 0xC9, 0x03, 0x54, 0xCC, -+ 0xA3, 0xB5, 0x03, 0x54, 0xCC, 0xA6, 0xB5, 0x03, -+ 0x54, 0xCC, 0xA7, 0xA5, 0x03, 0x54, 0xCC, 0xAD, -+ 0xB5, 0x03, 0x54, 0xCC, 0xB1, 0xB5, 0x03, 0x55, -+ 0xCC, 0x80, 0xC9, 0x03, 0x55, 0xCC, 0x81, 0xC9, -+ // Bytes 31c0 - 31ff -+ 0x03, 0x55, 0xCC, 0x82, 0xC9, 0x03, 0x55, 0xCC, -+ 0x86, 0xC9, 0x03, 0x55, 0xCC, 0x89, 0xC9, 0x03, -+ 0x55, 0xCC, 0x8A, 0xC9, 0x03, 0x55, 0xCC, 0x8B, -+ 0xC9, 0x03, 0x55, 0xCC, 0x8C, 0xC9, 0x03, 0x55, -+ 0xCC, 0x8F, 0xC9, 0x03, 0x55, 0xCC, 0x91, 0xC9, -+ 0x03, 0x55, 0xCC, 0xA3, 0xB5, 0x03, 0x55, 0xCC, -+ 0xA4, 0xB5, 0x03, 0x55, 0xCC, 0xA8, 0xA5, 0x03, -+ 0x55, 0xCC, 0xAD, 0xB5, 0x03, 0x55, 0xCC, 0xB0, -+ // Bytes 3200 - 323f -+ 0xB5, 0x03, 0x56, 0xCC, 0x83, 0xC9, 0x03, 0x56, -+ 0xCC, 0xA3, 0xB5, 0x03, 0x57, 0xCC, 0x80, 0xC9, -+ 0x03, 0x57, 0xCC, 0x81, 0xC9, 0x03, 0x57, 0xCC, -+ 0x82, 0xC9, 0x03, 0x57, 0xCC, 0x87, 0xC9, 0x03, -+ 0x57, 0xCC, 0x88, 0xC9, 0x03, 0x57, 0xCC, 0xA3, -+ 0xB5, 0x03, 0x58, 0xCC, 0x87, 0xC9, 0x03, 0x58, -+ 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x80, 0xC9, -+ 0x03, 0x59, 0xCC, 0x81, 0xC9, 0x03, 0x59, 0xCC, -+ // Bytes 3240 - 327f -+ 0x82, 0xC9, 0x03, 0x59, 0xCC, 0x83, 0xC9, 0x03, -+ 0x59, 0xCC, 0x84, 0xC9, 0x03, 0x59, 0xCC, 0x87, -+ 0xC9, 0x03, 0x59, 0xCC, 0x88, 0xC9, 0x03, 0x59, -+ 0xCC, 0x89, 0xC9, 0x03, 0x59, 0xCC, 0xA3, 0xB5, -+ 0x03, 0x5A, 0xCC, 0x81, 0xC9, 0x03, 0x5A, 0xCC, -+ 0x82, 0xC9, 0x03, 0x5A, 0xCC, 0x87, 0xC9, 0x03, -+ 0x5A, 0xCC, 0x8C, 0xC9, 0x03, 0x5A, 0xCC, 0xA3, -+ 0xB5, 0x03, 0x5A, 0xCC, 0xB1, 0xB5, 0x03, 0x61, -+ // Bytes 3280 - 32bf -+ 0xCC, 0x80, 0xC9, 0x03, 0x61, 0xCC, 0x81, 0xC9, -+ 0x03, 0x61, 0xCC, 0x83, 0xC9, 0x03, 0x61, 0xCC, -+ 0x84, 0xC9, 0x03, 0x61, 0xCC, 0x89, 0xC9, 0x03, -+ 0x61, 0xCC, 0x8C, 0xC9, 0x03, 0x61, 0xCC, 0x8F, -+ 0xC9, 0x03, 0x61, 0xCC, 0x91, 0xC9, 0x03, 0x61, -+ 0xCC, 0xA5, 0xB5, 0x03, 0x61, 0xCC, 0xA8, 0xA5, -+ 0x03, 0x62, 0xCC, 0x87, 0xC9, 0x03, 0x62, 0xCC, -+ 0xA3, 0xB5, 0x03, 0x62, 0xCC, 0xB1, 0xB5, 0x03, -+ // Bytes 32c0 - 32ff -+ 0x63, 0xCC, 0x81, 0xC9, 0x03, 0x63, 0xCC, 0x82, -+ 0xC9, 0x03, 0x63, 0xCC, 0x87, 0xC9, 0x03, 0x63, -+ 0xCC, 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0x87, 0xC9, -+ 0x03, 0x64, 0xCC, 0x8C, 0xC9, 0x03, 0x64, 0xCC, -+ 0xA3, 0xB5, 0x03, 0x64, 0xCC, 0xA7, 0xA5, 0x03, -+ 0x64, 0xCC, 0xAD, 0xB5, 0x03, 0x64, 0xCC, 0xB1, -+ 0xB5, 0x03, 0x65, 0xCC, 0x80, 0xC9, 0x03, 0x65, -+ 0xCC, 0x81, 0xC9, 0x03, 0x65, 0xCC, 0x83, 0xC9, -+ // Bytes 3300 - 333f -+ 0x03, 0x65, 0xCC, 0x86, 0xC9, 0x03, 0x65, 0xCC, -+ 0x87, 0xC9, 0x03, 0x65, 0xCC, 0x88, 0xC9, 0x03, -+ 0x65, 0xCC, 0x89, 0xC9, 0x03, 0x65, 0xCC, 0x8C, -+ 0xC9, 0x03, 0x65, 0xCC, 0x8F, 0xC9, 0x03, 0x65, -+ 0xCC, 0x91, 0xC9, 0x03, 0x65, 0xCC, 0xA8, 0xA5, -+ 0x03, 0x65, 0xCC, 0xAD, 0xB5, 0x03, 0x65, 0xCC, -+ 0xB0, 0xB5, 0x03, 0x66, 0xCC, 0x87, 0xC9, 0x03, -+ 0x67, 0xCC, 0x81, 0xC9, 0x03, 0x67, 0xCC, 0x82, -+ // Bytes 3340 - 337f -+ 0xC9, 0x03, 0x67, 0xCC, 0x84, 0xC9, 0x03, 0x67, -+ 0xCC, 0x86, 0xC9, 0x03, 0x67, 0xCC, 0x87, 0xC9, -+ 0x03, 0x67, 0xCC, 0x8C, 0xC9, 0x03, 0x67, 0xCC, -+ 0xA7, 0xA5, 0x03, 0x68, 0xCC, 0x82, 0xC9, 0x03, -+ 0x68, 0xCC, 0x87, 0xC9, 0x03, 0x68, 0xCC, 0x88, -+ 0xC9, 0x03, 0x68, 0xCC, 0x8C, 0xC9, 0x03, 0x68, -+ 0xCC, 0xA3, 0xB5, 0x03, 0x68, 0xCC, 0xA7, 0xA5, -+ 0x03, 0x68, 0xCC, 0xAE, 0xB5, 0x03, 0x68, 0xCC, -+ // Bytes 3380 - 33bf -+ 0xB1, 0xB5, 0x03, 0x69, 0xCC, 0x80, 0xC9, 0x03, -+ 0x69, 0xCC, 0x81, 0xC9, 0x03, 0x69, 0xCC, 0x82, -+ 0xC9, 0x03, 0x69, 0xCC, 0x83, 0xC9, 0x03, 0x69, -+ 0xCC, 0x84, 0xC9, 0x03, 0x69, 0xCC, 0x86, 0xC9, -+ 0x03, 0x69, 0xCC, 0x89, 0xC9, 0x03, 0x69, 0xCC, -+ 0x8C, 0xC9, 0x03, 0x69, 0xCC, 0x8F, 0xC9, 0x03, -+ 0x69, 0xCC, 0x91, 0xC9, 0x03, 0x69, 0xCC, 0xA3, -+ 0xB5, 0x03, 0x69, 0xCC, 0xA8, 0xA5, 0x03, 0x69, -+ // Bytes 33c0 - 33ff -+ 0xCC, 0xB0, 0xB5, 0x03, 0x6A, 0xCC, 0x82, 0xC9, -+ 0x03, 0x6A, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, -+ 0x81, 0xC9, 0x03, 0x6B, 0xCC, 0x8C, 0xC9, 0x03, -+ 0x6B, 0xCC, 0xA3, 0xB5, 0x03, 0x6B, 0xCC, 0xA7, -+ 0xA5, 0x03, 0x6B, 0xCC, 0xB1, 0xB5, 0x03, 0x6C, -+ 0xCC, 0x81, 0xC9, 0x03, 0x6C, 0xCC, 0x8C, 0xC9, -+ 0x03, 0x6C, 0xCC, 0xA7, 0xA5, 0x03, 0x6C, 0xCC, -+ 0xAD, 0xB5, 0x03, 0x6C, 0xCC, 0xB1, 0xB5, 0x03, -+ // Bytes 3400 - 343f -+ 0x6D, 0xCC, 0x81, 0xC9, 0x03, 0x6D, 0xCC, 0x87, -+ 0xC9, 0x03, 0x6D, 0xCC, 0xA3, 0xB5, 0x03, 0x6E, -+ 0xCC, 0x80, 0xC9, 0x03, 0x6E, 0xCC, 0x81, 0xC9, -+ 0x03, 0x6E, 0xCC, 0x83, 0xC9, 0x03, 0x6E, 0xCC, -+ 0x87, 0xC9, 0x03, 0x6E, 0xCC, 0x8C, 0xC9, 0x03, -+ 0x6E, 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0xA7, -+ 0xA5, 0x03, 0x6E, 0xCC, 0xAD, 0xB5, 0x03, 0x6E, -+ 0xCC, 0xB1, 0xB5, 0x03, 0x6F, 0xCC, 0x80, 0xC9, -+ // Bytes 3440 - 347f -+ 0x03, 0x6F, 0xCC, 0x81, 0xC9, 0x03, 0x6F, 0xCC, -+ 0x86, 0xC9, 0x03, 0x6F, 0xCC, 0x89, 0xC9, 0x03, -+ 0x6F, 0xCC, 0x8B, 0xC9, 0x03, 0x6F, 0xCC, 0x8C, -+ 0xC9, 0x03, 0x6F, 0xCC, 0x8F, 0xC9, 0x03, 0x6F, -+ 0xCC, 0x91, 0xC9, 0x03, 0x70, 0xCC, 0x81, 0xC9, -+ 0x03, 0x70, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, -+ 0x81, 0xC9, 0x03, 0x72, 0xCC, 0x87, 0xC9, 0x03, -+ 0x72, 0xCC, 0x8C, 0xC9, 0x03, 0x72, 0xCC, 0x8F, -+ // Bytes 3480 - 34bf -+ 0xC9, 0x03, 0x72, 0xCC, 0x91, 0xC9, 0x03, 0x72, -+ 0xCC, 0xA7, 0xA5, 0x03, 0x72, 0xCC, 0xB1, 0xB5, -+ 0x03, 0x73, 0xCC, 0x82, 0xC9, 0x03, 0x73, 0xCC, -+ 0x87, 0xC9, 0x03, 0x73, 0xCC, 0xA6, 0xB5, 0x03, -+ 0x73, 0xCC, 0xA7, 0xA5, 0x03, 0x74, 0xCC, 0x87, -+ 0xC9, 0x03, 0x74, 0xCC, 0x88, 0xC9, 0x03, 0x74, -+ 0xCC, 0x8C, 0xC9, 0x03, 0x74, 0xCC, 0xA3, 0xB5, -+ 0x03, 0x74, 0xCC, 0xA6, 0xB5, 0x03, 0x74, 0xCC, -+ // Bytes 34c0 - 34ff -+ 0xA7, 0xA5, 0x03, 0x74, 0xCC, 0xAD, 0xB5, 0x03, -+ 0x74, 0xCC, 0xB1, 0xB5, 0x03, 0x75, 0xCC, 0x80, -+ 0xC9, 0x03, 0x75, 0xCC, 0x81, 0xC9, 0x03, 0x75, -+ 0xCC, 0x82, 0xC9, 0x03, 0x75, 0xCC, 0x86, 0xC9, -+ 0x03, 0x75, 0xCC, 0x89, 0xC9, 0x03, 0x75, 0xCC, -+ 0x8A, 0xC9, 0x03, 0x75, 0xCC, 0x8B, 0xC9, 0x03, -+ 0x75, 0xCC, 0x8C, 0xC9, 0x03, 0x75, 0xCC, 0x8F, -+ 0xC9, 0x03, 0x75, 0xCC, 0x91, 0xC9, 0x03, 0x75, -+ // Bytes 3500 - 353f -+ 0xCC, 0xA3, 0xB5, 0x03, 0x75, 0xCC, 0xA4, 0xB5, -+ 0x03, 0x75, 0xCC, 0xA8, 0xA5, 0x03, 0x75, 0xCC, -+ 0xAD, 0xB5, 0x03, 0x75, 0xCC, 0xB0, 0xB5, 0x03, -+ 0x76, 0xCC, 0x83, 0xC9, 0x03, 0x76, 0xCC, 0xA3, -+ 0xB5, 0x03, 0x77, 0xCC, 0x80, 0xC9, 0x03, 0x77, -+ 0xCC, 0x81, 0xC9, 0x03, 0x77, 0xCC, 0x82, 0xC9, -+ 0x03, 0x77, 0xCC, 0x87, 0xC9, 0x03, 0x77, 0xCC, -+ 0x88, 0xC9, 0x03, 0x77, 0xCC, 0x8A, 0xC9, 0x03, -+ // Bytes 3540 - 357f -+ 0x77, 0xCC, 0xA3, 0xB5, 0x03, 0x78, 0xCC, 0x87, -+ 0xC9, 0x03, 0x78, 0xCC, 0x88, 0xC9, 0x03, 0x79, -+ 0xCC, 0x80, 0xC9, 0x03, 0x79, 0xCC, 0x81, 0xC9, -+ 0x03, 0x79, 0xCC, 0x82, 0xC9, 0x03, 0x79, 0xCC, -+ 0x83, 0xC9, 0x03, 0x79, 0xCC, 0x84, 0xC9, 0x03, -+ 0x79, 0xCC, 0x87, 0xC9, 0x03, 0x79, 0xCC, 0x88, -+ 0xC9, 0x03, 0x79, 0xCC, 0x89, 0xC9, 0x03, 0x79, -+ 0xCC, 0x8A, 0xC9, 0x03, 0x79, 0xCC, 0xA3, 0xB5, -+ // Bytes 3580 - 35bf -+ 0x03, 0x7A, 0xCC, 0x81, 0xC9, 0x03, 0x7A, 0xCC, -+ 0x82, 0xC9, 0x03, 0x7A, 0xCC, 0x87, 0xC9, 0x03, -+ 0x7A, 0xCC, 0x8C, 0xC9, 0x03, 0x7A, 0xCC, 0xA3, -+ 0xB5, 0x03, 0x7A, 0xCC, 0xB1, 0xB5, 0x04, 0xC2, -+ 0xA8, 0xCC, 0x80, 0xCA, 0x04, 0xC2, 0xA8, 0xCC, -+ 0x81, 0xCA, 0x04, 0xC2, 0xA8, 0xCD, 0x82, 0xCA, -+ 0x04, 0xC3, 0x86, 0xCC, 0x81, 0xC9, 0x04, 0xC3, -+ 0x86, 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0x98, 0xCC, -+ // Bytes 35c0 - 35ff -+ 0x81, 0xC9, 0x04, 0xC3, 0xA6, 0xCC, 0x81, 0xC9, -+ 0x04, 0xC3, 0xA6, 0xCC, 0x84, 0xC9, 0x04, 0xC3, -+ 0xB8, 0xCC, 0x81, 0xC9, 0x04, 0xC5, 0xBF, 0xCC, -+ 0x87, 0xC9, 0x04, 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, -+ 0x04, 0xCA, 0x92, 0xCC, 0x8C, 0xC9, 0x04, 0xCE, -+ 0x91, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x91, 0xCC, -+ 0x81, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x84, 0xC9, -+ 0x04, 0xCE, 0x91, 0xCC, 0x86, 0xC9, 0x04, 0xCE, -+ // Bytes 3600 - 363f -+ 0x91, 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0x95, 0xCC, -+ 0x80, 0xC9, 0x04, 0xCE, 0x95, 0xCC, 0x81, 0xC9, -+ 0x04, 0xCE, 0x97, 0xCC, 0x80, 0xC9, 0x04, 0xCE, -+ 0x97, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, 0xCD, -+ 0x85, 0xD9, 0x04, 0xCE, 0x99, 0xCC, 0x80, 0xC9, -+ 0x04, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x04, 0xCE, -+ 0x99, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x99, 0xCC, -+ 0x86, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x88, 0xC9, -+ // Bytes 3640 - 367f -+ 0x04, 0xCE, 0x9F, 0xCC, 0x80, 0xC9, 0x04, 0xCE, -+ 0x9F, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA1, 0xCC, -+ 0x94, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x80, 0xC9, -+ 0x04, 0xCE, 0xA5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, -+ 0xA5, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, -+ 0x86, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, -+ 0x04, 0xCE, 0xA9, 0xCC, 0x80, 0xC9, 0x04, 0xCE, -+ 0xA9, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA9, 0xCD, -+ // Bytes 3680 - 36bf -+ 0x85, 0xD9, 0x04, 0xCE, 0xB1, 0xCC, 0x84, 0xC9, -+ 0x04, 0xCE, 0xB1, 0xCC, 0x86, 0xC9, 0x04, 0xCE, -+ 0xB1, 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB5, 0xCC, -+ 0x80, 0xC9, 0x04, 0xCE, 0xB5, 0xCC, 0x81, 0xC9, -+ 0x04, 0xCE, 0xB7, 0xCD, 0x85, 0xD9, 0x04, 0xCE, -+ 0xB9, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xB9, 0xCC, -+ 0x81, 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x84, 0xC9, -+ 0x04, 0xCE, 0xB9, 0xCC, 0x86, 0xC9, 0x04, 0xCE, -+ // Bytes 36c0 - 36ff -+ 0xB9, 0xCD, 0x82, 0xC9, 0x04, 0xCE, 0xBF, 0xCC, -+ 0x80, 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x81, 0xC9, -+ 0x04, 0xCF, 0x81, 0xCC, 0x93, 0xC9, 0x04, 0xCF, -+ 0x81, 0xCC, 0x94, 0xC9, 0x04, 0xCF, 0x85, 0xCC, -+ 0x80, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x81, 0xC9, -+ 0x04, 0xCF, 0x85, 0xCC, 0x84, 0xC9, 0x04, 0xCF, -+ 0x85, 0xCC, 0x86, 0xC9, 0x04, 0xCF, 0x85, 0xCD, -+ 0x82, 0xC9, 0x04, 0xCF, 0x89, 0xCD, 0x85, 0xD9, -+ // Bytes 3700 - 373f -+ 0x04, 0xCF, 0x92, 0xCC, 0x81, 0xC9, 0x04, 0xCF, -+ 0x92, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x86, 0xCC, -+ 0x88, 0xC9, 0x04, 0xD0, 0x90, 0xCC, 0x86, 0xC9, -+ 0x04, 0xD0, 0x90, 0xCC, 0x88, 0xC9, 0x04, 0xD0, -+ 0x93, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x95, 0xCC, -+ 0x80, 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x86, 0xC9, -+ 0x04, 0xD0, 0x95, 0xCC, 0x88, 0xC9, 0x04, 0xD0, -+ 0x96, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x96, 0xCC, -+ // Bytes 3740 - 377f -+ 0x88, 0xC9, 0x04, 0xD0, 0x97, 0xCC, 0x88, 0xC9, -+ 0x04, 0xD0, 0x98, 0xCC, 0x80, 0xC9, 0x04, 0xD0, -+ 0x98, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0x98, 0xCC, -+ 0x86, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x88, 0xC9, -+ 0x04, 0xD0, 0x9A, 0xCC, 0x81, 0xC9, 0x04, 0xD0, -+ 0x9E, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, -+ 0x84, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x86, 0xC9, -+ 0x04, 0xD0, 0xA3, 0xCC, 0x88, 0xC9, 0x04, 0xD0, -+ // Bytes 3780 - 37bf -+ 0xA3, 0xCC, 0x8B, 0xC9, 0x04, 0xD0, 0xA7, 0xCC, -+ 0x88, 0xC9, 0x04, 0xD0, 0xAB, 0xCC, 0x88, 0xC9, -+ 0x04, 0xD0, 0xAD, 0xCC, 0x88, 0xC9, 0x04, 0xD0, -+ 0xB0, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, -+ 0x88, 0xC9, 0x04, 0xD0, 0xB3, 0xCC, 0x81, 0xC9, -+ 0x04, 0xD0, 0xB5, 0xCC, 0x80, 0xC9, 0x04, 0xD0, -+ 0xB5, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, -+ 0x88, 0xC9, 0x04, 0xD0, 0xB6, 0xCC, 0x86, 0xC9, -+ // Bytes 37c0 - 37ff -+ 0x04, 0xD0, 0xB6, 0xCC, 0x88, 0xC9, 0x04, 0xD0, -+ 0xB7, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, -+ 0x80, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x84, 0xC9, -+ 0x04, 0xD0, 0xB8, 0xCC, 0x86, 0xC9, 0x04, 0xD0, -+ 0xB8, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xBA, 0xCC, -+ 0x81, 0xC9, 0x04, 0xD0, 0xBE, 0xCC, 0x88, 0xC9, -+ 0x04, 0xD1, 0x83, 0xCC, 0x84, 0xC9, 0x04, 0xD1, -+ 0x83, 0xCC, 0x86, 0xC9, 0x04, 0xD1, 0x83, 0xCC, -+ // Bytes 3800 - 383f -+ 0x88, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x8B, 0xC9, -+ 0x04, 0xD1, 0x87, 0xCC, 0x88, 0xC9, 0x04, 0xD1, -+ 0x8B, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8D, 0xCC, -+ 0x88, 0xC9, 0x04, 0xD1, 0x96, 0xCC, 0x88, 0xC9, -+ 0x04, 0xD1, 0xB4, 0xCC, 0x8F, 0xC9, 0x04, 0xD1, -+ 0xB5, 0xCC, 0x8F, 0xC9, 0x04, 0xD3, 0x98, 0xCC, -+ 0x88, 0xC9, 0x04, 0xD3, 0x99, 0xCC, 0x88, 0xC9, -+ 0x04, 0xD3, 0xA8, 0xCC, 0x88, 0xC9, 0x04, 0xD3, -+ // Bytes 3840 - 387f -+ 0xA9, 0xCC, 0x88, 0xC9, 0x04, 0xD8, 0xA7, 0xD9, -+ 0x93, 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, -+ 0x04, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, 0x04, 0xD9, -+ 0x88, 0xD9, 0x94, 0xC9, 0x04, 0xD9, 0x8A, 0xD9, -+ 0x94, 0xC9, 0x04, 0xDB, 0x81, 0xD9, 0x94, 0xC9, -+ 0x04, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x04, 0xDB, -+ 0x95, 0xD9, 0x94, 0xC9, 0x05, 0x41, 0xCC, 0x82, -+ 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x82, 0xCC, -+ // Bytes 3880 - 38bf -+ 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x83, -+ 0xCA, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x89, 0xCA, -+ 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x80, 0xCA, 0x05, -+ 0x41, 0xCC, 0x86, 0xCC, 0x81, 0xCA, 0x05, 0x41, -+ 0xCC, 0x86, 0xCC, 0x83, 0xCA, 0x05, 0x41, 0xCC, -+ 0x86, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, 0x87, -+ 0xCC, 0x84, 0xCA, 0x05, 0x41, 0xCC, 0x88, 0xCC, -+ 0x84, 0xCA, 0x05, 0x41, 0xCC, 0x8A, 0xCC, 0x81, -+ // Bytes 38c0 - 38ff -+ 0xCA, 0x05, 0x41, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, -+ 0x05, 0x41, 0xCC, 0xA3, 0xCC, 0x86, 0xCA, 0x05, -+ 0x43, 0xCC, 0xA7, 0xCC, 0x81, 0xCA, 0x05, 0x45, -+ 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, 0x45, 0xCC, -+ 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, -+ 0xCC, 0x83, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, -+ 0x89, 0xCA, 0x05, 0x45, 0xCC, 0x84, 0xCC, 0x80, -+ 0xCA, 0x05, 0x45, 0xCC, 0x84, 0xCC, 0x81, 0xCA, -+ // Bytes 3900 - 393f -+ 0x05, 0x45, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, -+ 0x45, 0xCC, 0xA7, 0xCC, 0x86, 0xCA, 0x05, 0x49, -+ 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x4C, 0xCC, -+ 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x82, -+ 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, -+ 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x83, -+ 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x89, 0xCA, -+ 0x05, 0x4F, 0xCC, 0x83, 0xCC, 0x81, 0xCA, 0x05, -+ // Bytes 3940 - 397f -+ 0x4F, 0xCC, 0x83, 0xCC, 0x84, 0xCA, 0x05, 0x4F, -+ 0xCC, 0x83, 0xCC, 0x88, 0xCA, 0x05, 0x4F, 0xCC, -+ 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, 0x84, -+ 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x87, 0xCC, -+ 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x88, 0xCC, 0x84, -+ 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, -+ 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, -+ 0x4F, 0xCC, 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x4F, -+ // Bytes 3980 - 39bf -+ 0xCC, 0x9B, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, -+ 0x9B, 0xCC, 0xA3, 0xB6, 0x05, 0x4F, 0xCC, 0xA3, -+ 0xCC, 0x82, 0xCA, 0x05, 0x4F, 0xCC, 0xA8, 0xCC, -+ 0x84, 0xCA, 0x05, 0x52, 0xCC, 0xA3, 0xCC, 0x84, -+ 0xCA, 0x05, 0x53, 0xCC, 0x81, 0xCC, 0x87, 0xCA, -+ 0x05, 0x53, 0xCC, 0x8C, 0xCC, 0x87, 0xCA, 0x05, -+ 0x53, 0xCC, 0xA3, 0xCC, 0x87, 0xCA, 0x05, 0x55, -+ 0xCC, 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, -+ // Bytes 39c0 - 39ff -+ 0x84, 0xCC, 0x88, 0xCA, 0x05, 0x55, 0xCC, 0x88, -+ 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, -+ 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x84, -+ 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x8C, 0xCA, -+ 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, -+ 0x55, 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x55, -+ 0xCC, 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x55, 0xCC, -+ 0x9B, 0xCC, 0x89, 0xCA, 0x05, 0x55, 0xCC, 0x9B, -+ // Bytes 3a00 - 3a3f -+ 0xCC, 0xA3, 0xB6, 0x05, 0x61, 0xCC, 0x82, 0xCC, -+ 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x81, -+ 0xCA, 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x83, 0xCA, -+ 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, -+ 0x61, 0xCC, 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x61, -+ 0xCC, 0x86, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, -+ 0x86, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, 0x86, -+ 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x87, 0xCC, -+ // Bytes 3a40 - 3a7f -+ 0x84, 0xCA, 0x05, 0x61, 0xCC, 0x88, 0xCC, 0x84, -+ 0xCA, 0x05, 0x61, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, -+ 0x05, 0x61, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, -+ 0x61, 0xCC, 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x63, -+ 0xCC, 0xA7, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, -+ 0x82, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, 0x82, -+ 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, -+ 0x83, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x89, -+ // Bytes 3a80 - 3abf -+ 0xCA, 0x05, 0x65, 0xCC, 0x84, 0xCC, 0x80, 0xCA, -+ 0x05, 0x65, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, -+ 0x65, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x65, -+ 0xCC, 0xA7, 0xCC, 0x86, 0xCA, 0x05, 0x69, 0xCC, -+ 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x6C, 0xCC, 0xA3, -+ 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x82, 0xCC, -+ 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x81, -+ 0xCA, 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, -+ // Bytes 3ac0 - 3aff -+ 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, -+ 0x6F, 0xCC, 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x6F, -+ 0xCC, 0x83, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, -+ 0x83, 0xCC, 0x88, 0xCA, 0x05, 0x6F, 0xCC, 0x84, -+ 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, -+ 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x87, 0xCC, 0x84, -+ 0xCA, 0x05, 0x6F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, -+ 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, -+ // Bytes 3b00 - 3b3f -+ 0x6F, 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x6F, -+ 0xCC, 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, -+ 0x9B, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, -+ 0xCC, 0xA3, 0xB6, 0x05, 0x6F, 0xCC, 0xA3, 0xCC, -+ 0x82, 0xCA, 0x05, 0x6F, 0xCC, 0xA8, 0xCC, 0x84, -+ 0xCA, 0x05, 0x72, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, -+ 0x05, 0x73, 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, -+ 0x73, 0xCC, 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x73, -+ // Bytes 3b40 - 3b7f -+ 0xCC, 0xA3, 0xCC, 0x87, 0xCA, 0x05, 0x75, 0xCC, -+ 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x84, -+ 0xCC, 0x88, 0xCA, 0x05, 0x75, 0xCC, 0x88, 0xCC, -+ 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x81, -+ 0xCA, 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x84, 0xCA, -+ 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, -+ 0x75, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x75, -+ 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x75, 0xCC, -+ // Bytes 3b80 - 3bbf -+ 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x75, 0xCC, 0x9B, -+ 0xCC, 0x89, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, -+ 0xA3, 0xB6, 0x05, 0xE1, 0xBE, 0xBF, 0xCC, 0x80, -+ 0xCA, 0x05, 0xE1, 0xBE, 0xBF, 0xCC, 0x81, 0xCA, -+ 0x05, 0xE1, 0xBE, 0xBF, 0xCD, 0x82, 0xCA, 0x05, -+ 0xE1, 0xBF, 0xBE, 0xCC, 0x80, 0xCA, 0x05, 0xE1, -+ 0xBF, 0xBE, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBF, -+ 0xBE, 0xCD, 0x82, 0xCA, 0x05, 0xE2, 0x86, 0x90, -+ // Bytes 3bc0 - 3bff -+ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x86, 0x92, 0xCC, -+ 0xB8, 0x05, 0x05, 0xE2, 0x86, 0x94, 0xCC, 0xB8, -+ 0x05, 0x05, 0xE2, 0x87, 0x90, 0xCC, 0xB8, 0x05, -+ 0x05, 0xE2, 0x87, 0x92, 0xCC, 0xB8, 0x05, 0x05, -+ 0xE2, 0x87, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, -+ 0x88, 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, -+ 0x88, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x8B, -+ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0xA3, 0xCC, -+ // Bytes 3c00 - 3c3f -+ 0xB8, 0x05, 0x05, 0xE2, 0x88, 0xA5, 0xCC, 0xB8, -+ 0x05, 0x05, 0xE2, 0x88, 0xBC, 0xCC, 0xB8, 0x05, -+ 0x05, 0xE2, 0x89, 0x83, 0xCC, 0xB8, 0x05, 0x05, -+ 0xE2, 0x89, 0x85, 0xCC, 0xB8, 0x05, 0x05, 0xE2, -+ 0x89, 0x88, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, -+ 0x8D, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xA1, -+ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xA4, 0xCC, -+ 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xA5, 0xCC, 0xB8, -+ // Bytes 3c40 - 3c7f -+ 0x05, 0x05, 0xE2, 0x89, 0xB2, 0xCC, 0xB8, 0x05, -+ 0x05, 0xE2, 0x89, 0xB3, 0xCC, 0xB8, 0x05, 0x05, -+ 0xE2, 0x89, 0xB6, 0xCC, 0xB8, 0x05, 0x05, 0xE2, -+ 0x89, 0xB7, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, -+ 0xBA, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBB, -+ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBC, 0xCC, -+ 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBD, 0xCC, 0xB8, -+ 0x05, 0x05, 0xE2, 0x8A, 0x82, 0xCC, 0xB8, 0x05, -+ // Bytes 3c80 - 3cbf -+ 0x05, 0xE2, 0x8A, 0x83, 0xCC, 0xB8, 0x05, 0x05, -+ 0xE2, 0x8A, 0x86, 0xCC, 0xB8, 0x05, 0x05, 0xE2, -+ 0x8A, 0x87, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, -+ 0x91, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x92, -+ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xA2, 0xCC, -+ 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, -+ 0x05, 0x05, 0xE2, 0x8A, 0xA9, 0xCC, 0xB8, 0x05, -+ 0x05, 0xE2, 0x8A, 0xAB, 0xCC, 0xB8, 0x05, 0x05, -+ // Bytes 3cc0 - 3cff -+ 0xE2, 0x8A, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, -+ 0x8A, 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, -+ 0xB4, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB5, -+ 0xCC, 0xB8, 0x05, 0x06, 0xCE, 0x91, 0xCC, 0x93, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x91, 0xCC, 0x94, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x95, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x95, 0xCC, 0x93, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x95, 0xCC, 0x94, -+ // Bytes 3d00 - 3d3f -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x95, 0xCC, 0x94, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x97, 0xCC, 0x93, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x97, 0xCC, 0x94, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x99, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x93, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x93, -+ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x94, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x94, -+ // Bytes 3d40 - 3d7f -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x94, -+ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x93, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x94, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x94, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xA5, 0xCC, 0x94, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xA5, 0xCC, 0x94, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xA5, 0xCC, 0x94, -+ // Bytes 3d80 - 3dbf -+ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xA9, 0xCC, 0x93, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xA9, 0xCC, 0x94, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x80, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x81, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x93, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x94, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCD, 0x82, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB5, 0xCC, 0x93, -+ // Bytes 3dc0 - 3dff -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB5, 0xCC, 0x93, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB5, 0xCC, 0x94, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB5, 0xCC, 0x94, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB7, 0xCC, 0x80, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCC, 0x81, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCC, 0x93, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCC, 0x94, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCD, 0x82, -+ // Bytes 3e00 - 3e3f -+ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB9, 0xCC, 0x88, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x88, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x88, -+ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x93, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x93, -+ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x94, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x94, -+ // Bytes 3e40 - 3e7f -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x94, -+ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x93, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x94, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x94, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x88, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x88, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x88, -+ // Bytes 3e80 - 3ebf -+ 0xCD, 0x82, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x93, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x93, -+ 0xCD, 0x82, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x94, -+ 0xCC, 0x80, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x94, -+ 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x94, -+ 0xCD, 0x82, 0xCA, 0x06, 0xCF, 0x89, 0xCC, 0x80, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCC, 0x81, -+ // Bytes 3ec0 - 3eff -+ 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCC, 0x93, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCC, 0x94, -+ 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCD, 0x82, -+ 0xCD, 0x85, 0xDA, 0x06, 0xE0, 0xA4, 0xA8, 0xE0, -+ 0xA4, 0xBC, 0x09, 0x06, 0xE0, 0xA4, 0xB0, 0xE0, -+ 0xA4, 0xBC, 0x09, 0x06, 0xE0, 0xA4, 0xB3, 0xE0, -+ 0xA4, 0xBC, 0x09, 0x06, 0xE0, 0xB1, 0x86, 0xE0, -+ 0xB1, 0x96, 0x85, 0x06, 0xE0, 0xB7, 0x99, 0xE0, -+ // Bytes 3f00 - 3f3f -+ 0xB7, 0x8A, 0x11, 0x06, 0xE3, 0x81, 0x86, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x8B, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x8D, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x8F, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x91, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x93, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x95, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x97, 0xE3, -+ // Bytes 3f40 - 3f7f -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x99, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x9B, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x9D, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x9F, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA1, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA4, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA6, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA8, 0xE3, -+ // Bytes 3f80 - 3fbf -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xAF, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xAF, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xB2, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xB2, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xB5, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xB5, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xB8, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xB8, 0xE3, -+ // Bytes 3fc0 - 3fff -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xBB, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xBB, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x82, 0x9D, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xA6, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xAB, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xAD, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xAF, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB1, 0xE3, -+ // Bytes 4000 - 403f -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB3, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB5, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB7, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB9, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xBB, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xBD, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xBF, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x81, 0xE3, -+ // Bytes 4040 - 407f -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x84, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x86, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x88, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x8F, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x8F, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x92, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x92, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x95, 0xE3, -+ // Bytes 4080 - 40bf -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x95, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x98, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x98, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x9B, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x9B, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0xAF, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xB0, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xB1, 0xE3, -+ // Bytes 40c0 - 40ff -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xB2, 0xE3, -+ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xBD, 0xE3, -+ 0x82, 0x99, 0x0D, 0x08, 0xCE, 0x91, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, -+ 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, -+ 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, -+ 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x80, -+ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, -+ // Bytes 4100 - 413f -+ 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, -+ 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, -+ 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, -+ 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x81, -+ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x93, -+ 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, -+ 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, -+ 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, -+ // Bytes 4140 - 417f -+ 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x82, -+ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, -+ 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, -+ 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, -+ 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x80, -+ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, -+ 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, -+ // Bytes 4180 - 41bf -+ 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, -+ 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, -+ 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x81, -+ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x93, -+ 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, -+ 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, -+ 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, -+ 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x82, -+ // Bytes 41c0 - 41ff -+ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, -+ 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, -+ 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, -+ 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x80, -+ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, -+ 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, -+ 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, -+ // Bytes 4200 - 423f -+ 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, -+ 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x81, -+ 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x93, -+ 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, -+ 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, -+ 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, -+ 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x82, -+ 0xCD, 0x85, 0xDB, 0x08, 0xF0, 0x91, 0x82, 0x99, -+ // Bytes 4240 - 427f -+ 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, -+ 0x82, 0x9B, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x08, -+ 0xF0, 0x91, 0x82, 0xA5, 0xF0, 0x91, 0x82, 0xBA, -+ 0x09, 0x42, 0xC2, 0xB4, 0x01, 0x43, 0x20, 0xCC, -+ 0x81, 0xC9, 0x43, 0x20, 0xCC, 0x83, 0xC9, 0x43, -+ 0x20, 0xCC, 0x84, 0xC9, 0x43, 0x20, 0xCC, 0x85, -+ 0xC9, 0x43, 0x20, 0xCC, 0x86, 0xC9, 0x43, 0x20, -+ 0xCC, 0x87, 0xC9, 0x43, 0x20, 0xCC, 0x88, 0xC9, -+ // Bytes 4280 - 42bf -+ 0x43, 0x20, 0xCC, 0x8A, 0xC9, 0x43, 0x20, 0xCC, -+ 0x8B, 0xC9, 0x43, 0x20, 0xCC, 0x93, 0xC9, 0x43, -+ 0x20, 0xCC, 0x94, 0xC9, 0x43, 0x20, 0xCC, 0xA7, -+ 0xA5, 0x43, 0x20, 0xCC, 0xA8, 0xA5, 0x43, 0x20, -+ 0xCC, 0xB3, 0xB5, 0x43, 0x20, 0xCD, 0x82, 0xC9, -+ 0x43, 0x20, 0xCD, 0x85, 0xD9, 0x43, 0x20, 0xD9, -+ 0x8B, 0x59, 0x43, 0x20, 0xD9, 0x8C, 0x5D, 0x43, -+ 0x20, 0xD9, 0x8D, 0x61, 0x43, 0x20, 0xD9, 0x8E, -+ // Bytes 42c0 - 42ff -+ 0x65, 0x43, 0x20, 0xD9, 0x8F, 0x69, 0x43, 0x20, -+ 0xD9, 0x90, 0x6D, 0x43, 0x20, 0xD9, 0x91, 0x71, -+ 0x43, 0x20, 0xD9, 0x92, 0x75, 0x43, 0x41, 0xCC, -+ 0x8A, 0xC9, 0x43, 0x73, 0xCC, 0x87, 0xC9, 0x44, -+ 0x20, 0xE3, 0x82, 0x99, 0x0D, 0x44, 0x20, 0xE3, -+ 0x82, 0x9A, 0x0D, 0x44, 0xC2, 0xA8, 0xCC, 0x81, -+ 0xCA, 0x44, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x44, -+ 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x97, -+ // Bytes 4300 - 433f -+ 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x99, 0xCC, 0x81, -+ 0xC9, 0x44, 0xCE, 0x9F, 0xCC, 0x81, 0xC9, 0x44, -+ 0xCE, 0xA5, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, -+ 0xCC, 0x88, 0xC9, 0x44, 0xCE, 0xA9, 0xCC, 0x81, -+ 0xC9, 0x44, 0xCE, 0xB1, 0xCC, 0x81, 0xC9, 0x44, -+ 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB7, -+ 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB9, 0xCC, 0x81, -+ 0xC9, 0x44, 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x44, -+ // Bytes 4340 - 437f -+ 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x89, -+ 0xCC, 0x81, 0xC9, 0x44, 0xD7, 0x90, 0xD6, 0xB7, -+ 0x31, 0x44, 0xD7, 0x90, 0xD6, 0xB8, 0x35, 0x44, -+ 0xD7, 0x90, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x91, -+ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBF, -+ 0x49, 0x44, 0xD7, 0x92, 0xD6, 0xBC, 0x41, 0x44, -+ 0xD7, 0x93, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x94, -+ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x95, 0xD6, 0xB9, -+ // Bytes 4380 - 43bf -+ 0x39, 0x44, 0xD7, 0x95, 0xD6, 0xBC, 0x41, 0x44, -+ 0xD7, 0x96, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x98, -+ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x99, 0xD6, 0xB4, -+ 0x25, 0x44, 0xD7, 0x99, 0xD6, 0xBC, 0x41, 0x44, -+ 0xD7, 0x9A, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9B, -+ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBF, -+ 0x49, 0x44, 0xD7, 0x9C, 0xD6, 0xBC, 0x41, 0x44, -+ 0xD7, 0x9E, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA0, -+ // Bytes 43c0 - 43ff -+ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA1, 0xD6, 0xBC, -+ 0x41, 0x44, 0xD7, 0xA3, 0xD6, 0xBC, 0x41, 0x44, -+ 0xD7, 0xA4, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, -+ 0xD6, 0xBF, 0x49, 0x44, 0xD7, 0xA6, 0xD6, 0xBC, -+ 0x41, 0x44, 0xD7, 0xA7, 0xD6, 0xBC, 0x41, 0x44, -+ 0xD7, 0xA8, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA9, -+ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD7, 0x81, -+ 0x4D, 0x44, 0xD7, 0xA9, 0xD7, 0x82, 0x51, 0x44, -+ // Bytes 4400 - 443f -+ 0xD7, 0xAA, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xB2, -+ 0xD6, 0xB7, 0x31, 0x44, 0xD8, 0xA7, 0xD9, 0x8B, -+ 0x59, 0x44, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x44, -+ 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x44, 0xD8, 0xA7, -+ 0xD9, 0x95, 0xB5, 0x44, 0xD8, 0xB0, 0xD9, 0xB0, -+ 0x79, 0x44, 0xD8, 0xB1, 0xD9, 0xB0, 0x79, 0x44, -+ 0xD9, 0x80, 0xD9, 0x8B, 0x59, 0x44, 0xD9, 0x80, -+ 0xD9, 0x8E, 0x65, 0x44, 0xD9, 0x80, 0xD9, 0x8F, -+ // Bytes 4440 - 447f -+ 0x69, 0x44, 0xD9, 0x80, 0xD9, 0x90, 0x6D, 0x44, -+ 0xD9, 0x80, 0xD9, 0x91, 0x71, 0x44, 0xD9, 0x80, -+ 0xD9, 0x92, 0x75, 0x44, 0xD9, 0x87, 0xD9, 0xB0, -+ 0x79, 0x44, 0xD9, 0x88, 0xD9, 0x94, 0xC9, 0x44, -+ 0xD9, 0x89, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x8A, -+ 0xD9, 0x94, 0xC9, 0x44, 0xDB, 0x92, 0xD9, 0x94, -+ 0xC9, 0x44, 0xDB, 0x95, 0xD9, 0x94, 0xC9, 0x45, -+ 0x20, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x45, 0x20, -+ // Bytes 4480 - 44bf -+ 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, -+ 0x88, 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xCC, 0x93, -+ 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, -+ 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCD, 0x82, -+ 0xCA, 0x45, 0x20, 0xCC, 0x94, 0xCC, 0x80, 0xCA, -+ 0x45, 0x20, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x45, -+ 0x20, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x45, 0x20, -+ 0xD9, 0x8C, 0xD9, 0x91, 0x72, 0x45, 0x20, 0xD9, -+ // Bytes 44c0 - 44ff -+ 0x8D, 0xD9, 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8E, -+ 0xD9, 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8F, 0xD9, -+ 0x91, 0x72, 0x45, 0x20, 0xD9, 0x90, 0xD9, 0x91, -+ 0x72, 0x45, 0x20, 0xD9, 0x91, 0xD9, 0xB0, 0x7A, -+ 0x45, 0xE2, 0xAB, 0x9D, 0xCC, 0xB8, 0x05, 0x46, -+ 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x46, -+ 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x46, -+ 0xD7, 0xA9, 0xD6, 0xBC, 0xD7, 0x81, 0x4E, 0x46, -+ // Bytes 4500 - 453f -+ 0xD7, 0xA9, 0xD6, 0xBC, 0xD7, 0x82, 0x52, 0x46, -+ 0xD9, 0x80, 0xD9, 0x8E, 0xD9, 0x91, 0x72, 0x46, -+ 0xD9, 0x80, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x46, -+ 0xD9, 0x80, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x46, -+ 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA4, 0x96, 0xE0, 0xA4, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA4, 0x9C, 0xE0, 0xA4, 0xBC, 0x09, 0x46, -+ // Bytes 4540 - 457f -+ 0xE0, 0xA4, 0xA1, 0xE0, 0xA4, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA4, 0xA2, 0xE0, 0xA4, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA4, 0xAB, 0xE0, 0xA4, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA6, 0xA1, 0xE0, 0xA6, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA6, 0xA2, 0xE0, 0xA6, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA6, 0xAF, 0xE0, 0xA6, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA8, 0x96, 0xE0, 0xA8, 0xBC, 0x09, 0x46, -+ // Bytes 4580 - 45bf -+ 0xE0, 0xA8, 0x97, 0xE0, 0xA8, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA8, 0x9C, 0xE0, 0xA8, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA8, 0xAB, 0xE0, 0xA8, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA8, 0xB2, 0xE0, 0xA8, 0xBC, 0x09, 0x46, -+ 0xE0, 0xA8, 0xB8, 0xE0, 0xA8, 0xBC, 0x09, 0x46, -+ 0xE0, 0xAC, 0xA1, 0xE0, 0xAC, 0xBC, 0x09, 0x46, -+ 0xE0, 0xAC, 0xA2, 0xE0, 0xAC, 0xBC, 0x09, 0x46, -+ 0xE0, 0xBE, 0xB2, 0xE0, 0xBE, 0x80, 0x9D, 0x46, -+ // Bytes 45c0 - 45ff -+ 0xE0, 0xBE, 0xB3, 0xE0, 0xBE, 0x80, 0x9D, 0x46, -+ 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, 0x48, -+ 0xF0, 0x9D, 0x85, 0x97, 0xF0, 0x9D, 0x85, 0xA5, -+ 0xAD, 0x48, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, -+ 0x85, 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xB9, -+ 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, 0x9D, -+ 0x86, 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x49, -+ 0xE0, 0xBE, 0xB2, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, -+ // Bytes 4600 - 463f -+ 0x80, 0x9E, 0x49, 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, -+ 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x4C, 0xF0, 0x9D, -+ 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, -+ 0x85, 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, -+ 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, -+ 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, -+ 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB0, 0xAE, 0x4C, -+ 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, -+ // Bytes 4640 - 467f -+ 0xF0, 0x9D, 0x85, 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, -+ 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, -+ 0x85, 0xB2, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xB9, -+ 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, -+ 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, -+ 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, -+ 0xF0, 0x9D, 0x86, 0xBA, 0xF0, 0x9D, 0x85, 0xA5, -+ 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, -+ // Bytes 4680 - 46bf -+ 0x86, 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, -+ 0x85, 0xAF, 0xAE, 0x83, 0x41, 0xCC, 0x82, 0xC9, -+ 0x83, 0x41, 0xCC, 0x86, 0xC9, 0x83, 0x41, 0xCC, -+ 0x87, 0xC9, 0x83, 0x41, 0xCC, 0x88, 0xC9, 0x83, -+ 0x41, 0xCC, 0x8A, 0xC9, 0x83, 0x41, 0xCC, 0xA3, -+ 0xB5, 0x83, 0x43, 0xCC, 0xA7, 0xA5, 0x83, 0x45, -+ 0xCC, 0x82, 0xC9, 0x83, 0x45, 0xCC, 0x84, 0xC9, -+ 0x83, 0x45, 0xCC, 0xA3, 0xB5, 0x83, 0x45, 0xCC, -+ // Bytes 46c0 - 46ff -+ 0xA7, 0xA5, 0x83, 0x49, 0xCC, 0x88, 0xC9, 0x83, -+ 0x4C, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0x82, -+ 0xC9, 0x83, 0x4F, 0xCC, 0x83, 0xC9, 0x83, 0x4F, -+ 0xCC, 0x84, 0xC9, 0x83, 0x4F, 0xCC, 0x87, 0xC9, -+ 0x83, 0x4F, 0xCC, 0x88, 0xC9, 0x83, 0x4F, 0xCC, -+ 0x9B, 0xAD, 0x83, 0x4F, 0xCC, 0xA3, 0xB5, 0x83, -+ 0x4F, 0xCC, 0xA8, 0xA5, 0x83, 0x52, 0xCC, 0xA3, -+ 0xB5, 0x83, 0x53, 0xCC, 0x81, 0xC9, 0x83, 0x53, -+ // Bytes 4700 - 473f -+ 0xCC, 0x8C, 0xC9, 0x83, 0x53, 0xCC, 0xA3, 0xB5, -+ 0x83, 0x55, 0xCC, 0x83, 0xC9, 0x83, 0x55, 0xCC, -+ 0x84, 0xC9, 0x83, 0x55, 0xCC, 0x88, 0xC9, 0x83, -+ 0x55, 0xCC, 0x9B, 0xAD, 0x83, 0x61, 0xCC, 0x82, -+ 0xC9, 0x83, 0x61, 0xCC, 0x86, 0xC9, 0x83, 0x61, -+ 0xCC, 0x87, 0xC9, 0x83, 0x61, 0xCC, 0x88, 0xC9, -+ 0x83, 0x61, 0xCC, 0x8A, 0xC9, 0x83, 0x61, 0xCC, -+ 0xA3, 0xB5, 0x83, 0x63, 0xCC, 0xA7, 0xA5, 0x83, -+ // Bytes 4740 - 477f -+ 0x65, 0xCC, 0x82, 0xC9, 0x83, 0x65, 0xCC, 0x84, -+ 0xC9, 0x83, 0x65, 0xCC, 0xA3, 0xB5, 0x83, 0x65, -+ 0xCC, 0xA7, 0xA5, 0x83, 0x69, 0xCC, 0x88, 0xC9, -+ 0x83, 0x6C, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, -+ 0x82, 0xC9, 0x83, 0x6F, 0xCC, 0x83, 0xC9, 0x83, -+ 0x6F, 0xCC, 0x84, 0xC9, 0x83, 0x6F, 0xCC, 0x87, -+ 0xC9, 0x83, 0x6F, 0xCC, 0x88, 0xC9, 0x83, 0x6F, -+ 0xCC, 0x9B, 0xAD, 0x83, 0x6F, 0xCC, 0xA3, 0xB5, -+ // Bytes 4780 - 47bf -+ 0x83, 0x6F, 0xCC, 0xA8, 0xA5, 0x83, 0x72, 0xCC, -+ 0xA3, 0xB5, 0x83, 0x73, 0xCC, 0x81, 0xC9, 0x83, -+ 0x73, 0xCC, 0x8C, 0xC9, 0x83, 0x73, 0xCC, 0xA3, -+ 0xB5, 0x83, 0x75, 0xCC, 0x83, 0xC9, 0x83, 0x75, -+ 0xCC, 0x84, 0xC9, 0x83, 0x75, 0xCC, 0x88, 0xC9, -+ 0x83, 0x75, 0xCC, 0x9B, 0xAD, 0x84, 0xCE, 0x91, -+ 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x91, 0xCC, 0x94, -+ 0xC9, 0x84, 0xCE, 0x95, 0xCC, 0x93, 0xC9, 0x84, -+ // Bytes 47c0 - 47ff -+ 0xCE, 0x95, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0x97, -+ 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x94, -+ 0xC9, 0x84, 0xCE, 0x99, 0xCC, 0x93, 0xC9, 0x84, -+ 0xCE, 0x99, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0x9F, -+ 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x94, -+ 0xC9, 0x84, 0xCE, 0xA5, 0xCC, 0x94, 0xC9, 0x84, -+ 0xCE, 0xA9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xA9, -+ 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x80, -+ // Bytes 4800 - 483f -+ 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x81, 0xC9, 0x84, -+ 0xCE, 0xB1, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB1, -+ 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB1, 0xCD, 0x82, -+ 0xC9, 0x84, 0xCE, 0xB5, 0xCC, 0x93, 0xC9, 0x84, -+ 0xCE, 0xB5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB7, -+ 0xCC, 0x80, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x81, -+ 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x93, 0xC9, 0x84, -+ 0xCE, 0xB7, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB7, -+ // Bytes 4840 - 487f -+ 0xCD, 0x82, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, 0x88, -+ 0xC9, 0x84, 0xCE, 0xB9, 0xCC, 0x93, 0xC9, 0x84, -+ 0xCE, 0xB9, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xBF, -+ 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x94, -+ 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x88, 0xC9, 0x84, -+ 0xCF, 0x85, 0xCC, 0x93, 0xC9, 0x84, 0xCF, 0x85, -+ 0xCC, 0x94, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x80, -+ 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x81, 0xC9, 0x84, -+ // Bytes 4880 - 48bf -+ 0xCF, 0x89, 0xCC, 0x93, 0xC9, 0x84, 0xCF, 0x89, -+ 0xCC, 0x94, 0xC9, 0x84, 0xCF, 0x89, 0xCD, 0x82, -+ 0xC9, 0x86, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x82, -+ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x82, -+ // Bytes 48c0 - 48ff -+ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, -+ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x82, -+ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x81, -+ // Bytes 4900 - 493f -+ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x82, -+ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x82, -+ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, -+ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x80, -+ // Bytes 4940 - 497f -+ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x82, -+ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x82, -+ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x82, -+ // Bytes 4980 - 49bf -+ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, -+ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x80, -+ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x81, -+ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x82, -+ 0xCA, 0x42, 0xCC, 0x80, 0xC9, 0x32, 0x42, 0xCC, -+ 0x81, 0xC9, 0x32, 0x42, 0xCC, 0x93, 0xC9, 0x32, -+ // Bytes 49c0 - 49ff -+ 0x43, 0xE1, 0x85, 0xA1, 0x01, 0x00, 0x43, 0xE1, -+ 0x85, 0xA2, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA3, -+ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA4, 0x01, 0x00, -+ 0x43, 0xE1, 0x85, 0xA5, 0x01, 0x00, 0x43, 0xE1, -+ 0x85, 0xA6, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA7, -+ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA8, 0x01, 0x00, -+ 0x43, 0xE1, 0x85, 0xA9, 0x01, 0x00, 0x43, 0xE1, -+ 0x85, 0xAA, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAB, -+ // Bytes 4a00 - 4a3f -+ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAC, 0x01, 0x00, -+ 0x43, 0xE1, 0x85, 0xAD, 0x01, 0x00, 0x43, 0xE1, -+ 0x85, 0xAE, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAF, -+ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB0, 0x01, 0x00, -+ 0x43, 0xE1, 0x85, 0xB1, 0x01, 0x00, 0x43, 0xE1, -+ 0x85, 0xB2, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB3, -+ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB4, 0x01, 0x00, -+ 0x43, 0xE1, 0x85, 0xB5, 0x01, 0x00, 0x43, 0xE1, -+ // Bytes 4a40 - 4a7f -+ 0x86, 0xAA, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAC, -+ 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAD, 0x01, 0x00, -+ 0x43, 0xE1, 0x86, 0xB0, 0x01, 0x00, 0x43, 0xE1, -+ 0x86, 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB2, -+ 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB3, 0x01, 0x00, -+ 0x43, 0xE1, 0x86, 0xB4, 0x01, 0x00, 0x43, 0xE1, -+ 0x86, 0xB5, 0x01, 0x00, 0x44, 0xCC, 0x88, 0xCC, -+ 0x81, 0xCA, 0x32, 0x43, 0xE3, 0x82, 0x99, 0x0D, -+ // Bytes 4a80 - 4abf -+ 0x03, 0x43, 0xE3, 0x82, 0x9A, 0x0D, 0x03, 0x46, -+ 0xE0, 0xBD, 0xB1, 0xE0, 0xBD, 0xB2, 0x9E, 0x26, -+ 0x46, 0xE0, 0xBD, 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, -+ 0x26, 0x46, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, -+ 0x9E, 0x26, 0x00, 0x01, -+} -+ -+// lookup returns the trie value for the first UTF-8 encoding in s and -+// the width in bytes of this encoding. The size will be 0 if s does not -+// hold enough bytes to complete the encoding. len(s) must be greater than 0. -+func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { -+ c0 := s[0] -+ switch { -+ case c0 < 0x80: // is ASCII -+ return nfcValues[c0], 1 -+ case c0 < 0xC2: -+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. -+ case c0 < 0xE0: // 2-byte UTF-8 -+ if len(s) < 2 { -+ return 0, 0 -+ } -+ i := nfcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c1), 2 -+ case c0 < 0xF0: // 3-byte UTF-8 -+ if len(s) < 3 { -+ return 0, 0 -+ } -+ i := nfcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = nfcIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c2), 3 -+ case c0 < 0xF8: // 4-byte UTF-8 -+ if len(s) < 4 { -+ return 0, 0 -+ } -+ i := nfcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = nfcIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ o = uint32(i)<<6 + uint32(c2) -+ i = nfcIndex[o] -+ c3 := s[3] -+ if c3 < 0x80 || 0xC0 <= c3 { -+ return 0, 3 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c3), 4 -+ } -+ // Illegal rune -+ return 0, 1 -+} -+ -+// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. -+// s must start with a full and valid UTF-8 encoded rune. -+func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { -+ c0 := s[0] -+ if c0 < 0x80 { // is ASCII -+ return nfcValues[c0] -+ } -+ i := nfcIndex[c0] -+ if c0 < 0xE0 { // 2-byte UTF-8 -+ return t.lookupValue(uint32(i), s[1]) -+ } -+ i = nfcIndex[uint32(i)<<6+uint32(s[1])] -+ if c0 < 0xF0 { // 3-byte UTF-8 -+ return t.lookupValue(uint32(i), s[2]) -+ } -+ i = nfcIndex[uint32(i)<<6+uint32(s[2])] -+ if c0 < 0xF8 { // 4-byte UTF-8 -+ return t.lookupValue(uint32(i), s[3]) -+ } -+ return 0 -+} -+ -+// lookupString returns the trie value for the first UTF-8 encoding in s and -+// the width in bytes of this encoding. The size will be 0 if s does not -+// hold enough bytes to complete the encoding. len(s) must be greater than 0. -+func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { -+ c0 := s[0] -+ switch { -+ case c0 < 0x80: // is ASCII -+ return nfcValues[c0], 1 -+ case c0 < 0xC2: -+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. -+ case c0 < 0xE0: // 2-byte UTF-8 -+ if len(s) < 2 { -+ return 0, 0 -+ } -+ i := nfcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c1), 2 -+ case c0 < 0xF0: // 3-byte UTF-8 -+ if len(s) < 3 { -+ return 0, 0 -+ } -+ i := nfcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = nfcIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c2), 3 -+ case c0 < 0xF8: // 4-byte UTF-8 -+ if len(s) < 4 { -+ return 0, 0 -+ } -+ i := nfcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = nfcIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ o = uint32(i)<<6 + uint32(c2) -+ i = nfcIndex[o] -+ c3 := s[3] -+ if c3 < 0x80 || 0xC0 <= c3 { -+ return 0, 3 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c3), 4 -+ } -+ // Illegal rune -+ return 0, 1 -+} -+ -+// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. -+// s must start with a full and valid UTF-8 encoded rune. -+func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { -+ c0 := s[0] -+ if c0 < 0x80 { // is ASCII -+ return nfcValues[c0] -+ } -+ i := nfcIndex[c0] -+ if c0 < 0xE0 { // 2-byte UTF-8 -+ return t.lookupValue(uint32(i), s[1]) -+ } -+ i = nfcIndex[uint32(i)<<6+uint32(s[1])] -+ if c0 < 0xF0 { // 3-byte UTF-8 -+ return t.lookupValue(uint32(i), s[2]) -+ } -+ i = nfcIndex[uint32(i)<<6+uint32(s[2])] -+ if c0 < 0xF8 { // 4-byte UTF-8 -+ return t.lookupValue(uint32(i), s[3]) -+ } -+ return 0 -+} -+ -+// nfcTrie. Total size: 10610 bytes (10.36 KiB). Checksum: 95e8869a9f81e5e6. -+type nfcTrie struct{} -+ -+func newNfcTrie(i int) *nfcTrie { -+ return &nfcTrie{} -+} -+ -+// lookupValue determines the type of block n and looks up the value for b. -+func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { -+ switch { -+ case n < 46: -+ return uint16(nfcValues[n<<6+uint32(b)]) -+ default: -+ n -= 46 -+ return uint16(nfcSparse.lookup(n, b)) -+ } -+} -+ -+// nfcValues: 48 blocks, 3072 entries, 6144 bytes -+// The third block is the zero block. -+var nfcValues = [3072]uint16{ -+ // Block 0x0, offset 0x0 -+ 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, -+ // Block 0x1, offset 0x40 -+ 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, -+ 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, -+ 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, -+ 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, -+ 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, -+ 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, -+ 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, -+ 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, -+ 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, -+ 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, -+ // Block 0x2, offset 0x80 -+ // Block 0x3, offset 0xc0 -+ 0xc0: 0x2f72, 0xc1: 0x2f77, 0xc2: 0x468b, 0xc3: 0x2f7c, 0xc4: 0x469a, 0xc5: 0x469f, -+ 0xc6: 0xa000, 0xc7: 0x46a9, 0xc8: 0x2fe5, 0xc9: 0x2fea, 0xca: 0x46ae, 0xcb: 0x2ffe, -+ 0xcc: 0x3071, 0xcd: 0x3076, 0xce: 0x307b, 0xcf: 0x46c2, 0xd1: 0x3107, -+ 0xd2: 0x312a, 0xd3: 0x312f, 0xd4: 0x46cc, 0xd5: 0x46d1, 0xd6: 0x46e0, -+ 0xd8: 0xa000, 0xd9: 0x31b6, 0xda: 0x31bb, 0xdb: 0x31c0, 0xdc: 0x4712, 0xdd: 0x3238, -+ 0xe0: 0x327e, 0xe1: 0x3283, 0xe2: 0x471c, 0xe3: 0x3288, -+ 0xe4: 0x472b, 0xe5: 0x4730, 0xe6: 0xa000, 0xe7: 0x473a, 0xe8: 0x32f1, 0xe9: 0x32f6, -+ 0xea: 0x473f, 0xeb: 0x330a, 0xec: 0x3382, 0xed: 0x3387, 0xee: 0x338c, 0xef: 0x4753, -+ 0xf1: 0x3418, 0xf2: 0x343b, 0xf3: 0x3440, 0xf4: 0x475d, 0xf5: 0x4762, -+ 0xf6: 0x4771, 0xf8: 0xa000, 0xf9: 0x34cc, 0xfa: 0x34d1, 0xfb: 0x34d6, -+ 0xfc: 0x47a3, 0xfd: 0x3553, 0xff: 0x356c, -+ // Block 0x4, offset 0x100 -+ 0x100: 0x2f81, 0x101: 0x328d, 0x102: 0x4690, 0x103: 0x4721, 0x104: 0x2f9f, 0x105: 0x32ab, -+ 0x106: 0x2fb3, 0x107: 0x32bf, 0x108: 0x2fb8, 0x109: 0x32c4, 0x10a: 0x2fbd, 0x10b: 0x32c9, -+ 0x10c: 0x2fc2, 0x10d: 0x32ce, 0x10e: 0x2fcc, 0x10f: 0x32d8, -+ 0x112: 0x46b3, 0x113: 0x4744, 0x114: 0x2ff4, 0x115: 0x3300, 0x116: 0x2ff9, 0x117: 0x3305, -+ 0x118: 0x3017, 0x119: 0x3323, 0x11a: 0x3008, 0x11b: 0x3314, 0x11c: 0x3030, 0x11d: 0x333c, -+ 0x11e: 0x303a, 0x11f: 0x3346, 0x120: 0x303f, 0x121: 0x334b, 0x122: 0x3049, 0x123: 0x3355, -+ 0x124: 0x304e, 0x125: 0x335a, 0x128: 0x3080, 0x129: 0x3391, -+ 0x12a: 0x3085, 0x12b: 0x3396, 0x12c: 0x308a, 0x12d: 0x339b, 0x12e: 0x30ad, 0x12f: 0x33b9, -+ 0x130: 0x308f, 0x134: 0x30b7, 0x135: 0x33c3, -+ 0x136: 0x30cb, 0x137: 0x33dc, 0x139: 0x30d5, 0x13a: 0x33e6, 0x13b: 0x30df, -+ 0x13c: 0x33f0, 0x13d: 0x30da, 0x13e: 0x33eb, -+ // Block 0x5, offset 0x140 -+ 0x143: 0x3102, 0x144: 0x3413, 0x145: 0x311b, -+ 0x146: 0x342c, 0x147: 0x3111, 0x148: 0x3422, -+ 0x14c: 0x46d6, 0x14d: 0x4767, 0x14e: 0x3134, 0x14f: 0x3445, 0x150: 0x313e, 0x151: 0x344f, -+ 0x154: 0x315c, 0x155: 0x346d, 0x156: 0x3175, 0x157: 0x3486, -+ 0x158: 0x3166, 0x159: 0x3477, 0x15a: 0x46f9, 0x15b: 0x478a, 0x15c: 0x317f, 0x15d: 0x3490, -+ 0x15e: 0x318e, 0x15f: 0x349f, 0x160: 0x46fe, 0x161: 0x478f, 0x162: 0x31a7, 0x163: 0x34bd, -+ 0x164: 0x3198, 0x165: 0x34ae, 0x168: 0x4708, 0x169: 0x4799, -+ 0x16a: 0x470d, 0x16b: 0x479e, 0x16c: 0x31c5, 0x16d: 0x34db, 0x16e: 0x31cf, 0x16f: 0x34e5, -+ 0x170: 0x31d4, 0x171: 0x34ea, 0x172: 0x31f2, 0x173: 0x3508, 0x174: 0x3215, 0x175: 0x352b, -+ 0x176: 0x323d, 0x177: 0x3558, 0x178: 0x3251, 0x179: 0x3260, 0x17a: 0x3580, 0x17b: 0x326a, -+ 0x17c: 0x358a, 0x17d: 0x326f, 0x17e: 0x358f, 0x17f: 0xa000, -+ // Block 0x6, offset 0x180 -+ 0x184: 0x8100, 0x185: 0x8100, -+ 0x186: 0x8100, -+ 0x18d: 0x2f8b, 0x18e: 0x3297, 0x18f: 0x3099, 0x190: 0x33a5, 0x191: 0x3143, -+ 0x192: 0x3454, 0x193: 0x31d9, 0x194: 0x34ef, 0x195: 0x39d2, 0x196: 0x3b61, 0x197: 0x39cb, -+ 0x198: 0x3b5a, 0x199: 0x39d9, 0x19a: 0x3b68, 0x19b: 0x39c4, 0x19c: 0x3b53, -+ 0x19e: 0x38b3, 0x19f: 0x3a42, 0x1a0: 0x38ac, 0x1a1: 0x3a3b, 0x1a2: 0x35b6, 0x1a3: 0x35c8, -+ 0x1a6: 0x3044, 0x1a7: 0x3350, 0x1a8: 0x30c1, 0x1a9: 0x33d2, -+ 0x1aa: 0x46ef, 0x1ab: 0x4780, 0x1ac: 0x3993, 0x1ad: 0x3b22, 0x1ae: 0x35da, 0x1af: 0x35e0, -+ 0x1b0: 0x33c8, 0x1b4: 0x302b, 0x1b5: 0x3337, -+ 0x1b8: 0x30fd, 0x1b9: 0x340e, 0x1ba: 0x38ba, 0x1bb: 0x3a49, -+ 0x1bc: 0x35b0, 0x1bd: 0x35c2, 0x1be: 0x35bc, 0x1bf: 0x35ce, -+ // Block 0x7, offset 0x1c0 -+ 0x1c0: 0x2f90, 0x1c1: 0x329c, 0x1c2: 0x2f95, 0x1c3: 0x32a1, 0x1c4: 0x300d, 0x1c5: 0x3319, -+ 0x1c6: 0x3012, 0x1c7: 0x331e, 0x1c8: 0x309e, 0x1c9: 0x33aa, 0x1ca: 0x30a3, 0x1cb: 0x33af, -+ 0x1cc: 0x3148, 0x1cd: 0x3459, 0x1ce: 0x314d, 0x1cf: 0x345e, 0x1d0: 0x316b, 0x1d1: 0x347c, -+ 0x1d2: 0x3170, 0x1d3: 0x3481, 0x1d4: 0x31de, 0x1d5: 0x34f4, 0x1d6: 0x31e3, 0x1d7: 0x34f9, -+ 0x1d8: 0x3189, 0x1d9: 0x349a, 0x1da: 0x31a2, 0x1db: 0x34b8, -+ 0x1de: 0x305d, 0x1df: 0x3369, -+ 0x1e6: 0x4695, 0x1e7: 0x4726, 0x1e8: 0x46bd, 0x1e9: 0x474e, -+ 0x1ea: 0x3962, 0x1eb: 0x3af1, 0x1ec: 0x393f, 0x1ed: 0x3ace, 0x1ee: 0x46db, 0x1ef: 0x476c, -+ 0x1f0: 0x395b, 0x1f1: 0x3aea, 0x1f2: 0x3247, 0x1f3: 0x3562, -+ // Block 0x8, offset 0x200 -+ 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, -+ 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, -+ 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, -+ 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, -+ 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, -+ 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, -+ 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, -+ 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, -+ 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, -+ 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, -+ 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, -+ // Block 0x9, offset 0x240 -+ 0x240: 0x49b1, 0x241: 0x49b6, 0x242: 0x9932, 0x243: 0x49bb, 0x244: 0x4a74, 0x245: 0x9936, -+ 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, -+ 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, -+ 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, -+ 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, -+ 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, -+ 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, -+ 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, -+ 0x274: 0x0170, -+ 0x27a: 0x8100, -+ 0x27e: 0x0037, -+ // Block 0xa, offset 0x280 -+ 0x284: 0x8100, 0x285: 0x35a4, -+ 0x286: 0x35ec, 0x287: 0x00ce, 0x288: 0x360a, 0x289: 0x3616, 0x28a: 0x3628, -+ 0x28c: 0x3646, 0x28e: 0x3658, 0x28f: 0x3676, 0x290: 0x3e0b, 0x291: 0xa000, -+ 0x295: 0xa000, 0x297: 0xa000, -+ 0x299: 0xa000, -+ 0x29f: 0xa000, 0x2a1: 0xa000, -+ 0x2a5: 0xa000, 0x2a9: 0xa000, -+ 0x2aa: 0x363a, 0x2ab: 0x366a, 0x2ac: 0x4801, 0x2ad: 0x369a, 0x2ae: 0x482b, 0x2af: 0x36ac, -+ 0x2b0: 0x3e73, 0x2b1: 0xa000, 0x2b5: 0xa000, -+ 0x2b7: 0xa000, 0x2b9: 0xa000, -+ 0x2bf: 0xa000, -+ // Block 0xb, offset 0x2c0 -+ 0x2c0: 0x3724, 0x2c1: 0x3730, 0x2c3: 0x371e, -+ 0x2c6: 0xa000, 0x2c7: 0x370c, -+ 0x2cc: 0x3760, 0x2cd: 0x3748, 0x2ce: 0x3772, 0x2d0: 0xa000, -+ 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, -+ 0x2d8: 0xa000, 0x2d9: 0x3754, 0x2da: 0xa000, -+ 0x2de: 0xa000, 0x2e3: 0xa000, -+ 0x2e7: 0xa000, -+ 0x2eb: 0xa000, 0x2ed: 0xa000, -+ 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, -+ 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d8, 0x2fa: 0xa000, -+ 0x2fe: 0xa000, -+ // Block 0xc, offset 0x300 -+ 0x301: 0x3736, 0x302: 0x37ba, -+ 0x310: 0x3712, 0x311: 0x3796, -+ 0x312: 0x3718, 0x313: 0x379c, 0x316: 0x372a, 0x317: 0x37ae, -+ 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x382c, 0x31b: 0x3832, 0x31c: 0x373c, 0x31d: 0x37c0, -+ 0x31e: 0x3742, 0x31f: 0x37c6, 0x322: 0x374e, 0x323: 0x37d2, -+ 0x324: 0x375a, 0x325: 0x37de, 0x326: 0x3766, 0x327: 0x37ea, 0x328: 0xa000, 0x329: 0xa000, -+ 0x32a: 0x3838, 0x32b: 0x383e, 0x32c: 0x3790, 0x32d: 0x3814, 0x32e: 0x376c, 0x32f: 0x37f0, -+ 0x330: 0x3778, 0x331: 0x37fc, 0x332: 0x377e, 0x333: 0x3802, 0x334: 0x3784, 0x335: 0x3808, -+ 0x338: 0x378a, 0x339: 0x380e, -+ // Block 0xd, offset 0x340 -+ 0x351: 0x812d, -+ 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, -+ 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, -+ 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, -+ 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, -+ 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, -+ 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, -+ 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, -+ 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, -+ // Block 0xe, offset 0x380 -+ 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, -+ 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, -+ 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, -+ 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, -+ 0x39e: 0x8132, 0x39f: 0x812d, -+ 0x3b0: 0x811e, -+ // Block 0xf, offset 0x3c0 -+ 0x3d3: 0x812d, 0x3d4: 0x8132, 0x3d5: 0x8132, 0x3d6: 0x8132, 0x3d7: 0x8132, -+ 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x8132, 0x3dd: 0x8132, -+ 0x3de: 0x8132, 0x3df: 0x8132, 0x3e0: 0x8132, 0x3e1: 0x8132, 0x3e3: 0x812d, -+ 0x3e4: 0x8132, 0x3e5: 0x8132, 0x3e6: 0x812d, 0x3e7: 0x8132, 0x3e8: 0x8132, 0x3e9: 0x812d, -+ 0x3ea: 0x8132, 0x3eb: 0x8132, 0x3ec: 0x8132, 0x3ed: 0x812d, 0x3ee: 0x812d, 0x3ef: 0x812d, -+ 0x3f0: 0x8116, 0x3f1: 0x8117, 0x3f2: 0x8118, 0x3f3: 0x8132, 0x3f4: 0x8132, 0x3f5: 0x8132, -+ 0x3f6: 0x812d, 0x3f7: 0x8132, 0x3f8: 0x8132, 0x3f9: 0x812d, 0x3fa: 0x812d, 0x3fb: 0x8132, -+ 0x3fc: 0x8132, 0x3fd: 0x8132, 0x3fe: 0x8132, 0x3ff: 0x8132, -+ // Block 0x10, offset 0x400 -+ 0x405: 0xa000, -+ 0x406: 0x2d29, 0x407: 0xa000, 0x408: 0x2d31, 0x409: 0xa000, 0x40a: 0x2d39, 0x40b: 0xa000, -+ 0x40c: 0x2d41, 0x40d: 0xa000, 0x40e: 0x2d49, 0x411: 0xa000, -+ 0x412: 0x2d51, -+ 0x434: 0x8102, 0x435: 0x9900, -+ 0x43a: 0xa000, 0x43b: 0x2d59, -+ 0x43c: 0xa000, 0x43d: 0x2d61, 0x43e: 0xa000, 0x43f: 0xa000, -+ // Block 0x11, offset 0x440 -+ 0x440: 0x8132, 0x441: 0x8132, 0x442: 0x812d, 0x443: 0x8132, 0x444: 0x8132, 0x445: 0x8132, -+ 0x446: 0x8132, 0x447: 0x8132, 0x448: 0x8132, 0x449: 0x8132, 0x44a: 0x812d, 0x44b: 0x8132, -+ 0x44c: 0x8132, 0x44d: 0x8135, 0x44e: 0x812a, 0x44f: 0x812d, 0x450: 0x8129, 0x451: 0x8132, -+ 0x452: 0x8132, 0x453: 0x8132, 0x454: 0x8132, 0x455: 0x8132, 0x456: 0x8132, 0x457: 0x8132, -+ 0x458: 0x8132, 0x459: 0x8132, 0x45a: 0x8132, 0x45b: 0x8132, 0x45c: 0x8132, 0x45d: 0x8132, -+ 0x45e: 0x8132, 0x45f: 0x8132, 0x460: 0x8132, 0x461: 0x8132, 0x462: 0x8132, 0x463: 0x8132, -+ 0x464: 0x8132, 0x465: 0x8132, 0x466: 0x8132, 0x467: 0x8132, 0x468: 0x8132, 0x469: 0x8132, -+ 0x46a: 0x8132, 0x46b: 0x8132, 0x46c: 0x8132, 0x46d: 0x8132, 0x46e: 0x8132, 0x46f: 0x8132, -+ 0x470: 0x8132, 0x471: 0x8132, 0x472: 0x8132, 0x473: 0x8132, 0x474: 0x8132, 0x475: 0x8132, -+ 0x476: 0x8133, 0x477: 0x8131, 0x478: 0x8131, 0x479: 0x812d, 0x47b: 0x8132, -+ 0x47c: 0x8134, 0x47d: 0x812d, 0x47e: 0x8132, 0x47f: 0x812d, -+ // Block 0x12, offset 0x480 -+ 0x480: 0x2f9a, 0x481: 0x32a6, 0x482: 0x2fa4, 0x483: 0x32b0, 0x484: 0x2fa9, 0x485: 0x32b5, -+ 0x486: 0x2fae, 0x487: 0x32ba, 0x488: 0x38cf, 0x489: 0x3a5e, 0x48a: 0x2fc7, 0x48b: 0x32d3, -+ 0x48c: 0x2fd1, 0x48d: 0x32dd, 0x48e: 0x2fe0, 0x48f: 0x32ec, 0x490: 0x2fd6, 0x491: 0x32e2, -+ 0x492: 0x2fdb, 0x493: 0x32e7, 0x494: 0x38f2, 0x495: 0x3a81, 0x496: 0x38f9, 0x497: 0x3a88, -+ 0x498: 0x301c, 0x499: 0x3328, 0x49a: 0x3021, 0x49b: 0x332d, 0x49c: 0x3907, 0x49d: 0x3a96, -+ 0x49e: 0x3026, 0x49f: 0x3332, 0x4a0: 0x3035, 0x4a1: 0x3341, 0x4a2: 0x3053, 0x4a3: 0x335f, -+ 0x4a4: 0x3062, 0x4a5: 0x336e, 0x4a6: 0x3058, 0x4a7: 0x3364, 0x4a8: 0x3067, 0x4a9: 0x3373, -+ 0x4aa: 0x306c, 0x4ab: 0x3378, 0x4ac: 0x30b2, 0x4ad: 0x33be, 0x4ae: 0x390e, 0x4af: 0x3a9d, -+ 0x4b0: 0x30bc, 0x4b1: 0x33cd, 0x4b2: 0x30c6, 0x4b3: 0x33d7, 0x4b4: 0x30d0, 0x4b5: 0x33e1, -+ 0x4b6: 0x46c7, 0x4b7: 0x4758, 0x4b8: 0x3915, 0x4b9: 0x3aa4, 0x4ba: 0x30e9, 0x4bb: 0x33fa, -+ 0x4bc: 0x30e4, 0x4bd: 0x33f5, 0x4be: 0x30ee, 0x4bf: 0x33ff, -+ // Block 0x13, offset 0x4c0 -+ 0x4c0: 0x30f3, 0x4c1: 0x3404, 0x4c2: 0x30f8, 0x4c3: 0x3409, 0x4c4: 0x310c, 0x4c5: 0x341d, -+ 0x4c6: 0x3116, 0x4c7: 0x3427, 0x4c8: 0x3125, 0x4c9: 0x3436, 0x4ca: 0x3120, 0x4cb: 0x3431, -+ 0x4cc: 0x3938, 0x4cd: 0x3ac7, 0x4ce: 0x3946, 0x4cf: 0x3ad5, 0x4d0: 0x394d, 0x4d1: 0x3adc, -+ 0x4d2: 0x3954, 0x4d3: 0x3ae3, 0x4d4: 0x3152, 0x4d5: 0x3463, 0x4d6: 0x3157, 0x4d7: 0x3468, -+ 0x4d8: 0x3161, 0x4d9: 0x3472, 0x4da: 0x46f4, 0x4db: 0x4785, 0x4dc: 0x399a, 0x4dd: 0x3b29, -+ 0x4de: 0x317a, 0x4df: 0x348b, 0x4e0: 0x3184, 0x4e1: 0x3495, 0x4e2: 0x4703, 0x4e3: 0x4794, -+ 0x4e4: 0x39a1, 0x4e5: 0x3b30, 0x4e6: 0x39a8, 0x4e7: 0x3b37, 0x4e8: 0x39af, 0x4e9: 0x3b3e, -+ 0x4ea: 0x3193, 0x4eb: 0x34a4, 0x4ec: 0x319d, 0x4ed: 0x34b3, 0x4ee: 0x31b1, 0x4ef: 0x34c7, -+ 0x4f0: 0x31ac, 0x4f1: 0x34c2, 0x4f2: 0x31ed, 0x4f3: 0x3503, 0x4f4: 0x31fc, 0x4f5: 0x3512, -+ 0x4f6: 0x31f7, 0x4f7: 0x350d, 0x4f8: 0x39b6, 0x4f9: 0x3b45, 0x4fa: 0x39bd, 0x4fb: 0x3b4c, -+ 0x4fc: 0x3201, 0x4fd: 0x3517, 0x4fe: 0x3206, 0x4ff: 0x351c, -+ // Block 0x14, offset 0x500 -+ 0x500: 0x320b, 0x501: 0x3521, 0x502: 0x3210, 0x503: 0x3526, 0x504: 0x321f, 0x505: 0x3535, -+ 0x506: 0x321a, 0x507: 0x3530, 0x508: 0x3224, 0x509: 0x353f, 0x50a: 0x3229, 0x50b: 0x3544, -+ 0x50c: 0x322e, 0x50d: 0x3549, 0x50e: 0x324c, 0x50f: 0x3567, 0x510: 0x3265, 0x511: 0x3585, -+ 0x512: 0x3274, 0x513: 0x3594, 0x514: 0x3279, 0x515: 0x3599, 0x516: 0x337d, 0x517: 0x34a9, -+ 0x518: 0x353a, 0x519: 0x3576, 0x51b: 0x35d4, -+ 0x520: 0x46a4, 0x521: 0x4735, 0x522: 0x2f86, 0x523: 0x3292, -+ 0x524: 0x387b, 0x525: 0x3a0a, 0x526: 0x3874, 0x527: 0x3a03, 0x528: 0x3889, 0x529: 0x3a18, -+ 0x52a: 0x3882, 0x52b: 0x3a11, 0x52c: 0x38c1, 0x52d: 0x3a50, 0x52e: 0x3897, 0x52f: 0x3a26, -+ 0x530: 0x3890, 0x531: 0x3a1f, 0x532: 0x38a5, 0x533: 0x3a34, 0x534: 0x389e, 0x535: 0x3a2d, -+ 0x536: 0x38c8, 0x537: 0x3a57, 0x538: 0x46b8, 0x539: 0x4749, 0x53a: 0x3003, 0x53b: 0x330f, -+ 0x53c: 0x2fef, 0x53d: 0x32fb, 0x53e: 0x38dd, 0x53f: 0x3a6c, -+ // Block 0x15, offset 0x540 -+ 0x540: 0x38d6, 0x541: 0x3a65, 0x542: 0x38eb, 0x543: 0x3a7a, 0x544: 0x38e4, 0x545: 0x3a73, -+ 0x546: 0x3900, 0x547: 0x3a8f, 0x548: 0x3094, 0x549: 0x33a0, 0x54a: 0x30a8, 0x54b: 0x33b4, -+ 0x54c: 0x46ea, 0x54d: 0x477b, 0x54e: 0x3139, 0x54f: 0x344a, 0x550: 0x3923, 0x551: 0x3ab2, -+ 0x552: 0x391c, 0x553: 0x3aab, 0x554: 0x3931, 0x555: 0x3ac0, 0x556: 0x392a, 0x557: 0x3ab9, -+ 0x558: 0x398c, 0x559: 0x3b1b, 0x55a: 0x3970, 0x55b: 0x3aff, 0x55c: 0x3969, 0x55d: 0x3af8, -+ 0x55e: 0x397e, 0x55f: 0x3b0d, 0x560: 0x3977, 0x561: 0x3b06, 0x562: 0x3985, 0x563: 0x3b14, -+ 0x564: 0x31e8, 0x565: 0x34fe, 0x566: 0x31ca, 0x567: 0x34e0, 0x568: 0x39e7, 0x569: 0x3b76, -+ 0x56a: 0x39e0, 0x56b: 0x3b6f, 0x56c: 0x39f5, 0x56d: 0x3b84, 0x56e: 0x39ee, 0x56f: 0x3b7d, -+ 0x570: 0x39fc, 0x571: 0x3b8b, 0x572: 0x3233, 0x573: 0x354e, 0x574: 0x325b, 0x575: 0x357b, -+ 0x576: 0x3256, 0x577: 0x3571, 0x578: 0x3242, 0x579: 0x355d, -+ // Block 0x16, offset 0x580 -+ 0x580: 0x4807, 0x581: 0x480d, 0x582: 0x4921, 0x583: 0x4939, 0x584: 0x4929, 0x585: 0x4941, -+ 0x586: 0x4931, 0x587: 0x4949, 0x588: 0x47ad, 0x589: 0x47b3, 0x58a: 0x4891, 0x58b: 0x48a9, -+ 0x58c: 0x4899, 0x58d: 0x48b1, 0x58e: 0x48a1, 0x58f: 0x48b9, 0x590: 0x4819, 0x591: 0x481f, -+ 0x592: 0x3dbb, 0x593: 0x3dcb, 0x594: 0x3dc3, 0x595: 0x3dd3, -+ 0x598: 0x47b9, 0x599: 0x47bf, 0x59a: 0x3ceb, 0x59b: 0x3cfb, 0x59c: 0x3cf3, 0x59d: 0x3d03, -+ 0x5a0: 0x4831, 0x5a1: 0x4837, 0x5a2: 0x4951, 0x5a3: 0x4969, -+ 0x5a4: 0x4959, 0x5a5: 0x4971, 0x5a6: 0x4961, 0x5a7: 0x4979, 0x5a8: 0x47c5, 0x5a9: 0x47cb, -+ 0x5aa: 0x48c1, 0x5ab: 0x48d9, 0x5ac: 0x48c9, 0x5ad: 0x48e1, 0x5ae: 0x48d1, 0x5af: 0x48e9, -+ 0x5b0: 0x4849, 0x5b1: 0x484f, 0x5b2: 0x3e1b, 0x5b3: 0x3e33, 0x5b4: 0x3e23, 0x5b5: 0x3e3b, -+ 0x5b6: 0x3e2b, 0x5b7: 0x3e43, 0x5b8: 0x47d1, 0x5b9: 0x47d7, 0x5ba: 0x3d1b, 0x5bb: 0x3d33, -+ 0x5bc: 0x3d23, 0x5bd: 0x3d3b, 0x5be: 0x3d2b, 0x5bf: 0x3d43, -+ // Block 0x17, offset 0x5c0 -+ 0x5c0: 0x4855, 0x5c1: 0x485b, 0x5c2: 0x3e4b, 0x5c3: 0x3e5b, 0x5c4: 0x3e53, 0x5c5: 0x3e63, -+ 0x5c8: 0x47dd, 0x5c9: 0x47e3, 0x5ca: 0x3d4b, 0x5cb: 0x3d5b, -+ 0x5cc: 0x3d53, 0x5cd: 0x3d63, 0x5d0: 0x4867, 0x5d1: 0x486d, -+ 0x5d2: 0x3e83, 0x5d3: 0x3e9b, 0x5d4: 0x3e8b, 0x5d5: 0x3ea3, 0x5d6: 0x3e93, 0x5d7: 0x3eab, -+ 0x5d9: 0x47e9, 0x5db: 0x3d6b, 0x5dd: 0x3d73, -+ 0x5df: 0x3d7b, 0x5e0: 0x487f, 0x5e1: 0x4885, 0x5e2: 0x4981, 0x5e3: 0x4999, -+ 0x5e4: 0x4989, 0x5e5: 0x49a1, 0x5e6: 0x4991, 0x5e7: 0x49a9, 0x5e8: 0x47ef, 0x5e9: 0x47f5, -+ 0x5ea: 0x48f1, 0x5eb: 0x4909, 0x5ec: 0x48f9, 0x5ed: 0x4911, 0x5ee: 0x4901, 0x5ef: 0x4919, -+ 0x5f0: 0x47fb, 0x5f1: 0x4321, 0x5f2: 0x3694, 0x5f3: 0x4327, 0x5f4: 0x4825, 0x5f5: 0x432d, -+ 0x5f6: 0x36a6, 0x5f7: 0x4333, 0x5f8: 0x36c4, 0x5f9: 0x4339, 0x5fa: 0x36dc, 0x5fb: 0x433f, -+ 0x5fc: 0x4873, 0x5fd: 0x4345, -+ // Block 0x18, offset 0x600 -+ 0x600: 0x3da3, 0x601: 0x3dab, 0x602: 0x4187, 0x603: 0x41a5, 0x604: 0x4191, 0x605: 0x41af, -+ 0x606: 0x419b, 0x607: 0x41b9, 0x608: 0x3cdb, 0x609: 0x3ce3, 0x60a: 0x40d3, 0x60b: 0x40f1, -+ 0x60c: 0x40dd, 0x60d: 0x40fb, 0x60e: 0x40e7, 0x60f: 0x4105, 0x610: 0x3deb, 0x611: 0x3df3, -+ 0x612: 0x41c3, 0x613: 0x41e1, 0x614: 0x41cd, 0x615: 0x41eb, 0x616: 0x41d7, 0x617: 0x41f5, -+ 0x618: 0x3d0b, 0x619: 0x3d13, 0x61a: 0x410f, 0x61b: 0x412d, 0x61c: 0x4119, 0x61d: 0x4137, -+ 0x61e: 0x4123, 0x61f: 0x4141, 0x620: 0x3ec3, 0x621: 0x3ecb, 0x622: 0x41ff, 0x623: 0x421d, -+ 0x624: 0x4209, 0x625: 0x4227, 0x626: 0x4213, 0x627: 0x4231, 0x628: 0x3d83, 0x629: 0x3d8b, -+ 0x62a: 0x414b, 0x62b: 0x4169, 0x62c: 0x4155, 0x62d: 0x4173, 0x62e: 0x415f, 0x62f: 0x417d, -+ 0x630: 0x3688, 0x631: 0x3682, 0x632: 0x3d93, 0x633: 0x368e, 0x634: 0x3d9b, -+ 0x636: 0x4813, 0x637: 0x3db3, 0x638: 0x35f8, 0x639: 0x35f2, 0x63a: 0x35e6, 0x63b: 0x42f1, -+ 0x63c: 0x35fe, 0x63d: 0x8100, 0x63e: 0x01d3, 0x63f: 0xa100, -+ // Block 0x19, offset 0x640 -+ 0x640: 0x8100, 0x641: 0x35aa, 0x642: 0x3ddb, 0x643: 0x36a0, 0x644: 0x3de3, -+ 0x646: 0x483d, 0x647: 0x3dfb, 0x648: 0x3604, 0x649: 0x42f7, 0x64a: 0x3610, 0x64b: 0x42fd, -+ 0x64c: 0x361c, 0x64d: 0x3b92, 0x64e: 0x3b99, 0x64f: 0x3ba0, 0x650: 0x36b8, 0x651: 0x36b2, -+ 0x652: 0x3e03, 0x653: 0x44e7, 0x656: 0x36be, 0x657: 0x3e13, -+ 0x658: 0x3634, 0x659: 0x362e, 0x65a: 0x3622, 0x65b: 0x4303, 0x65d: 0x3ba7, -+ 0x65e: 0x3bae, 0x65f: 0x3bb5, 0x660: 0x36ee, 0x661: 0x36e8, 0x662: 0x3e6b, 0x663: 0x44ef, -+ 0x664: 0x36d0, 0x665: 0x36d6, 0x666: 0x36f4, 0x667: 0x3e7b, 0x668: 0x3664, 0x669: 0x365e, -+ 0x66a: 0x3652, 0x66b: 0x430f, 0x66c: 0x364c, 0x66d: 0x359e, 0x66e: 0x42eb, 0x66f: 0x0081, -+ 0x672: 0x3eb3, 0x673: 0x36fa, 0x674: 0x3ebb, -+ 0x676: 0x488b, 0x677: 0x3ed3, 0x678: 0x3640, 0x679: 0x4309, 0x67a: 0x3670, 0x67b: 0x431b, -+ 0x67c: 0x367c, 0x67d: 0x4259, 0x67e: 0xa100, -+ // Block 0x1a, offset 0x680 -+ 0x681: 0x3c09, 0x683: 0xa000, 0x684: 0x3c10, 0x685: 0xa000, -+ 0x687: 0x3c17, 0x688: 0xa000, 0x689: 0x3c1e, -+ 0x68d: 0xa000, -+ 0x6a0: 0x2f68, 0x6a1: 0xa000, 0x6a2: 0x3c2c, -+ 0x6a4: 0xa000, 0x6a5: 0xa000, -+ 0x6ad: 0x3c25, 0x6ae: 0x2f63, 0x6af: 0x2f6d, -+ 0x6b0: 0x3c33, 0x6b1: 0x3c3a, 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0x3c41, 0x6b5: 0x3c48, -+ 0x6b6: 0xa000, 0x6b7: 0xa000, 0x6b8: 0x3c4f, 0x6b9: 0x3c56, 0x6ba: 0xa000, 0x6bb: 0xa000, -+ 0x6bc: 0xa000, 0x6bd: 0xa000, -+ // Block 0x1b, offset 0x6c0 -+ 0x6c0: 0x3c5d, 0x6c1: 0x3c64, 0x6c2: 0xa000, 0x6c3: 0xa000, 0x6c4: 0x3c79, 0x6c5: 0x3c80, -+ 0x6c6: 0xa000, 0x6c7: 0xa000, 0x6c8: 0x3c87, 0x6c9: 0x3c8e, -+ 0x6d1: 0xa000, -+ 0x6d2: 0xa000, -+ 0x6e2: 0xa000, -+ 0x6e8: 0xa000, 0x6e9: 0xa000, -+ 0x6eb: 0xa000, 0x6ec: 0x3ca3, 0x6ed: 0x3caa, 0x6ee: 0x3cb1, 0x6ef: 0x3cb8, -+ 0x6f2: 0xa000, 0x6f3: 0xa000, 0x6f4: 0xa000, 0x6f5: 0xa000, -+ // Block 0x1c, offset 0x700 -+ 0x706: 0xa000, 0x70b: 0xa000, -+ 0x70c: 0x3f0b, 0x70d: 0xa000, 0x70e: 0x3f13, 0x70f: 0xa000, 0x710: 0x3f1b, 0x711: 0xa000, -+ 0x712: 0x3f23, 0x713: 0xa000, 0x714: 0x3f2b, 0x715: 0xa000, 0x716: 0x3f33, 0x717: 0xa000, -+ 0x718: 0x3f3b, 0x719: 0xa000, 0x71a: 0x3f43, 0x71b: 0xa000, 0x71c: 0x3f4b, 0x71d: 0xa000, -+ 0x71e: 0x3f53, 0x71f: 0xa000, 0x720: 0x3f5b, 0x721: 0xa000, 0x722: 0x3f63, -+ 0x724: 0xa000, 0x725: 0x3f6b, 0x726: 0xa000, 0x727: 0x3f73, 0x728: 0xa000, 0x729: 0x3f7b, -+ 0x72f: 0xa000, -+ 0x730: 0x3f83, 0x731: 0x3f8b, 0x732: 0xa000, 0x733: 0x3f93, 0x734: 0x3f9b, 0x735: 0xa000, -+ 0x736: 0x3fa3, 0x737: 0x3fab, 0x738: 0xa000, 0x739: 0x3fb3, 0x73a: 0x3fbb, 0x73b: 0xa000, -+ 0x73c: 0x3fc3, 0x73d: 0x3fcb, -+ // Block 0x1d, offset 0x740 -+ 0x754: 0x3f03, -+ 0x759: 0x9903, 0x75a: 0x9903, 0x75b: 0x8100, 0x75c: 0x8100, 0x75d: 0xa000, -+ 0x75e: 0x3fd3, -+ 0x766: 0xa000, -+ 0x76b: 0xa000, 0x76c: 0x3fe3, 0x76d: 0xa000, 0x76e: 0x3feb, 0x76f: 0xa000, -+ 0x770: 0x3ff3, 0x771: 0xa000, 0x772: 0x3ffb, 0x773: 0xa000, 0x774: 0x4003, 0x775: 0xa000, -+ 0x776: 0x400b, 0x777: 0xa000, 0x778: 0x4013, 0x779: 0xa000, 0x77a: 0x401b, 0x77b: 0xa000, -+ 0x77c: 0x4023, 0x77d: 0xa000, 0x77e: 0x402b, 0x77f: 0xa000, -+ // Block 0x1e, offset 0x780 -+ 0x780: 0x4033, 0x781: 0xa000, 0x782: 0x403b, 0x784: 0xa000, 0x785: 0x4043, -+ 0x786: 0xa000, 0x787: 0x404b, 0x788: 0xa000, 0x789: 0x4053, -+ 0x78f: 0xa000, 0x790: 0x405b, 0x791: 0x4063, -+ 0x792: 0xa000, 0x793: 0x406b, 0x794: 0x4073, 0x795: 0xa000, 0x796: 0x407b, 0x797: 0x4083, -+ 0x798: 0xa000, 0x799: 0x408b, 0x79a: 0x4093, 0x79b: 0xa000, 0x79c: 0x409b, 0x79d: 0x40a3, -+ 0x7af: 0xa000, -+ 0x7b0: 0xa000, 0x7b1: 0xa000, 0x7b2: 0xa000, 0x7b4: 0x3fdb, -+ 0x7b7: 0x40ab, 0x7b8: 0x40b3, 0x7b9: 0x40bb, 0x7ba: 0x40c3, -+ 0x7bd: 0xa000, 0x7be: 0x40cb, -+ // Block 0x1f, offset 0x7c0 -+ 0x7c0: 0x1377, 0x7c1: 0x0cfb, 0x7c2: 0x13d3, 0x7c3: 0x139f, 0x7c4: 0x0e57, 0x7c5: 0x06eb, -+ 0x7c6: 0x08df, 0x7c7: 0x162b, 0x7c8: 0x162b, 0x7c9: 0x0a0b, 0x7ca: 0x145f, 0x7cb: 0x0943, -+ 0x7cc: 0x0a07, 0x7cd: 0x0bef, 0x7ce: 0x0fcf, 0x7cf: 0x115f, 0x7d0: 0x1297, 0x7d1: 0x12d3, -+ 0x7d2: 0x1307, 0x7d3: 0x141b, 0x7d4: 0x0d73, 0x7d5: 0x0dff, 0x7d6: 0x0eab, 0x7d7: 0x0f43, -+ 0x7d8: 0x125f, 0x7d9: 0x1447, 0x7da: 0x1573, 0x7db: 0x070f, 0x7dc: 0x08b3, 0x7dd: 0x0d87, -+ 0x7de: 0x0ecf, 0x7df: 0x1293, 0x7e0: 0x15c3, 0x7e1: 0x0ab3, 0x7e2: 0x0e77, 0x7e3: 0x1283, -+ 0x7e4: 0x1317, 0x7e5: 0x0c23, 0x7e6: 0x11bb, 0x7e7: 0x12df, 0x7e8: 0x0b1f, 0x7e9: 0x0d0f, -+ 0x7ea: 0x0e17, 0x7eb: 0x0f1b, 0x7ec: 0x1427, 0x7ed: 0x074f, 0x7ee: 0x07e7, 0x7ef: 0x0853, -+ 0x7f0: 0x0c8b, 0x7f1: 0x0d7f, 0x7f2: 0x0ecb, 0x7f3: 0x0fef, 0x7f4: 0x1177, 0x7f5: 0x128b, -+ 0x7f6: 0x12a3, 0x7f7: 0x13c7, 0x7f8: 0x14ef, 0x7f9: 0x15a3, 0x7fa: 0x15bf, 0x7fb: 0x102b, -+ 0x7fc: 0x106b, 0x7fd: 0x1123, 0x7fe: 0x1243, 0x7ff: 0x147b, -+ // Block 0x20, offset 0x800 -+ 0x800: 0x15cb, 0x801: 0x134b, 0x802: 0x09c7, 0x803: 0x0b3b, 0x804: 0x10db, 0x805: 0x119b, -+ 0x806: 0x0eff, 0x807: 0x1033, 0x808: 0x1397, 0x809: 0x14e7, 0x80a: 0x09c3, 0x80b: 0x0a8f, -+ 0x80c: 0x0d77, 0x80d: 0x0e2b, 0x80e: 0x0e5f, 0x80f: 0x1113, 0x810: 0x113b, 0x811: 0x14a7, -+ 0x812: 0x084f, 0x813: 0x11a7, 0x814: 0x07f3, 0x815: 0x07ef, 0x816: 0x1097, 0x817: 0x1127, -+ 0x818: 0x125b, 0x819: 0x14af, 0x81a: 0x1367, 0x81b: 0x0c27, 0x81c: 0x0d73, 0x81d: 0x1357, -+ 0x81e: 0x06f7, 0x81f: 0x0a63, 0x820: 0x0b93, 0x821: 0x0f2f, 0x822: 0x0faf, 0x823: 0x0873, -+ 0x824: 0x103b, 0x825: 0x075f, 0x826: 0x0b77, 0x827: 0x06d7, 0x828: 0x0deb, 0x829: 0x0ca3, -+ 0x82a: 0x110f, 0x82b: 0x08c7, 0x82c: 0x09b3, 0x82d: 0x0ffb, 0x82e: 0x1263, 0x82f: 0x133b, -+ 0x830: 0x0db7, 0x831: 0x13f7, 0x832: 0x0de3, 0x833: 0x0c37, 0x834: 0x121b, 0x835: 0x0c57, -+ 0x836: 0x0fab, 0x837: 0x072b, 0x838: 0x07a7, 0x839: 0x07eb, 0x83a: 0x0d53, 0x83b: 0x10fb, -+ 0x83c: 0x11f3, 0x83d: 0x1347, 0x83e: 0x145b, 0x83f: 0x085b, -+ // Block 0x21, offset 0x840 -+ 0x840: 0x090f, 0x841: 0x0a17, 0x842: 0x0b2f, 0x843: 0x0cbf, 0x844: 0x0e7b, 0x845: 0x103f, -+ 0x846: 0x1497, 0x847: 0x157b, 0x848: 0x15cf, 0x849: 0x15e7, 0x84a: 0x0837, 0x84b: 0x0cf3, -+ 0x84c: 0x0da3, 0x84d: 0x13eb, 0x84e: 0x0afb, 0x84f: 0x0bd7, 0x850: 0x0bf3, 0x851: 0x0c83, -+ 0x852: 0x0e6b, 0x853: 0x0eb7, 0x854: 0x0f67, 0x855: 0x108b, 0x856: 0x112f, 0x857: 0x1193, -+ 0x858: 0x13db, 0x859: 0x126b, 0x85a: 0x1403, 0x85b: 0x147f, 0x85c: 0x080f, 0x85d: 0x083b, -+ 0x85e: 0x0923, 0x85f: 0x0ea7, 0x860: 0x12f3, 0x861: 0x133b, 0x862: 0x0b1b, 0x863: 0x0b8b, -+ 0x864: 0x0c4f, 0x865: 0x0daf, 0x866: 0x10d7, 0x867: 0x0f23, 0x868: 0x073b, 0x869: 0x097f, -+ 0x86a: 0x0a63, 0x86b: 0x0ac7, 0x86c: 0x0b97, 0x86d: 0x0f3f, 0x86e: 0x0f5b, 0x86f: 0x116b, -+ 0x870: 0x118b, 0x871: 0x1463, 0x872: 0x14e3, 0x873: 0x14f3, 0x874: 0x152f, 0x875: 0x0753, -+ 0x876: 0x107f, 0x877: 0x144f, 0x878: 0x14cb, 0x879: 0x0baf, 0x87a: 0x0717, 0x87b: 0x0777, -+ 0x87c: 0x0a67, 0x87d: 0x0a87, 0x87e: 0x0caf, 0x87f: 0x0d73, -+ // Block 0x22, offset 0x880 -+ 0x880: 0x0ec3, 0x881: 0x0fcb, 0x882: 0x1277, 0x883: 0x1417, 0x884: 0x1623, 0x885: 0x0ce3, -+ 0x886: 0x14a3, 0x887: 0x0833, 0x888: 0x0d2f, 0x889: 0x0d3b, 0x88a: 0x0e0f, 0x88b: 0x0e47, -+ 0x88c: 0x0f4b, 0x88d: 0x0fa7, 0x88e: 0x1027, 0x88f: 0x110b, 0x890: 0x153b, 0x891: 0x07af, -+ 0x892: 0x0c03, 0x893: 0x14b3, 0x894: 0x0767, 0x895: 0x0aab, 0x896: 0x0e2f, 0x897: 0x13df, -+ 0x898: 0x0b67, 0x899: 0x0bb7, 0x89a: 0x0d43, 0x89b: 0x0f2f, 0x89c: 0x14bb, 0x89d: 0x0817, -+ 0x89e: 0x08ff, 0x89f: 0x0a97, 0x8a0: 0x0cd3, 0x8a1: 0x0d1f, 0x8a2: 0x0d5f, 0x8a3: 0x0df3, -+ 0x8a4: 0x0f47, 0x8a5: 0x0fbb, 0x8a6: 0x1157, 0x8a7: 0x12f7, 0x8a8: 0x1303, 0x8a9: 0x1457, -+ 0x8aa: 0x14d7, 0x8ab: 0x0883, 0x8ac: 0x0e4b, 0x8ad: 0x0903, 0x8ae: 0x0ec7, 0x8af: 0x0f6b, -+ 0x8b0: 0x1287, 0x8b1: 0x14bf, 0x8b2: 0x15ab, 0x8b3: 0x15d3, 0x8b4: 0x0d37, 0x8b5: 0x0e27, -+ 0x8b6: 0x11c3, 0x8b7: 0x10b7, 0x8b8: 0x10c3, 0x8b9: 0x10e7, 0x8ba: 0x0f17, 0x8bb: 0x0e9f, -+ 0x8bc: 0x1363, 0x8bd: 0x0733, 0x8be: 0x122b, 0x8bf: 0x081b, -+ // Block 0x23, offset 0x8c0 -+ 0x8c0: 0x080b, 0x8c1: 0x0b0b, 0x8c2: 0x0c2b, 0x8c3: 0x10f3, 0x8c4: 0x0a53, 0x8c5: 0x0e03, -+ 0x8c6: 0x0cef, 0x8c7: 0x13e7, 0x8c8: 0x12e7, 0x8c9: 0x14ab, 0x8ca: 0x1323, 0x8cb: 0x0b27, -+ 0x8cc: 0x0787, 0x8cd: 0x095b, 0x8d0: 0x09af, -+ 0x8d2: 0x0cdf, 0x8d5: 0x07f7, 0x8d6: 0x0f1f, 0x8d7: 0x0fe3, -+ 0x8d8: 0x1047, 0x8d9: 0x1063, 0x8da: 0x1067, 0x8db: 0x107b, 0x8dc: 0x14fb, 0x8dd: 0x10eb, -+ 0x8de: 0x116f, 0x8e0: 0x128f, 0x8e2: 0x1353, -+ 0x8e5: 0x1407, 0x8e6: 0x1433, -+ 0x8ea: 0x154f, 0x8eb: 0x1553, 0x8ec: 0x1557, 0x8ed: 0x15bb, 0x8ee: 0x142b, 0x8ef: 0x14c7, -+ 0x8f0: 0x0757, 0x8f1: 0x077b, 0x8f2: 0x078f, 0x8f3: 0x084b, 0x8f4: 0x0857, 0x8f5: 0x0897, -+ 0x8f6: 0x094b, 0x8f7: 0x0967, 0x8f8: 0x096f, 0x8f9: 0x09ab, 0x8fa: 0x09b7, 0x8fb: 0x0a93, -+ 0x8fc: 0x0a9b, 0x8fd: 0x0ba3, 0x8fe: 0x0bcb, 0x8ff: 0x0bd3, -+ // Block 0x24, offset 0x900 -+ 0x900: 0x0beb, 0x901: 0x0c97, 0x902: 0x0cc7, 0x903: 0x0ce7, 0x904: 0x0d57, 0x905: 0x0e1b, -+ 0x906: 0x0e37, 0x907: 0x0e67, 0x908: 0x0ebb, 0x909: 0x0edb, 0x90a: 0x0f4f, 0x90b: 0x102f, -+ 0x90c: 0x104b, 0x90d: 0x1053, 0x90e: 0x104f, 0x90f: 0x1057, 0x910: 0x105b, 0x911: 0x105f, -+ 0x912: 0x1073, 0x913: 0x1077, 0x914: 0x109b, 0x915: 0x10af, 0x916: 0x10cb, 0x917: 0x112f, -+ 0x918: 0x1137, 0x919: 0x113f, 0x91a: 0x1153, 0x91b: 0x117b, 0x91c: 0x11cb, 0x91d: 0x11ff, -+ 0x91e: 0x11ff, 0x91f: 0x1267, 0x920: 0x130f, 0x921: 0x1327, 0x922: 0x135b, 0x923: 0x135f, -+ 0x924: 0x13a3, 0x925: 0x13a7, 0x926: 0x13ff, 0x927: 0x1407, 0x928: 0x14db, 0x929: 0x151f, -+ 0x92a: 0x1537, 0x92b: 0x0b9b, 0x92c: 0x171e, 0x92d: 0x11e3, -+ 0x930: 0x06df, 0x931: 0x07e3, 0x932: 0x07a3, 0x933: 0x074b, 0x934: 0x078b, 0x935: 0x07b7, -+ 0x936: 0x0847, 0x937: 0x0863, 0x938: 0x094b, 0x939: 0x0937, 0x93a: 0x0947, 0x93b: 0x0963, -+ 0x93c: 0x09af, 0x93d: 0x09bf, 0x93e: 0x0a03, 0x93f: 0x0a0f, -+ // Block 0x25, offset 0x940 -+ 0x940: 0x0a2b, 0x941: 0x0a3b, 0x942: 0x0b23, 0x943: 0x0b2b, 0x944: 0x0b5b, 0x945: 0x0b7b, -+ 0x946: 0x0bab, 0x947: 0x0bc3, 0x948: 0x0bb3, 0x949: 0x0bd3, 0x94a: 0x0bc7, 0x94b: 0x0beb, -+ 0x94c: 0x0c07, 0x94d: 0x0c5f, 0x94e: 0x0c6b, 0x94f: 0x0c73, 0x950: 0x0c9b, 0x951: 0x0cdf, -+ 0x952: 0x0d0f, 0x953: 0x0d13, 0x954: 0x0d27, 0x955: 0x0da7, 0x956: 0x0db7, 0x957: 0x0e0f, -+ 0x958: 0x0e5b, 0x959: 0x0e53, 0x95a: 0x0e67, 0x95b: 0x0e83, 0x95c: 0x0ebb, 0x95d: 0x1013, -+ 0x95e: 0x0edf, 0x95f: 0x0f13, 0x960: 0x0f1f, 0x961: 0x0f5f, 0x962: 0x0f7b, 0x963: 0x0f9f, -+ 0x964: 0x0fc3, 0x965: 0x0fc7, 0x966: 0x0fe3, 0x967: 0x0fe7, 0x968: 0x0ff7, 0x969: 0x100b, -+ 0x96a: 0x1007, 0x96b: 0x1037, 0x96c: 0x10b3, 0x96d: 0x10cb, 0x96e: 0x10e3, 0x96f: 0x111b, -+ 0x970: 0x112f, 0x971: 0x114b, 0x972: 0x117b, 0x973: 0x122f, 0x974: 0x1257, 0x975: 0x12cb, -+ 0x976: 0x1313, 0x977: 0x131f, 0x978: 0x1327, 0x979: 0x133f, 0x97a: 0x1353, 0x97b: 0x1343, -+ 0x97c: 0x135b, 0x97d: 0x1357, 0x97e: 0x134f, 0x97f: 0x135f, -+ // Block 0x26, offset 0x980 -+ 0x980: 0x136b, 0x981: 0x13a7, 0x982: 0x13e3, 0x983: 0x1413, 0x984: 0x144b, 0x985: 0x146b, -+ 0x986: 0x14b7, 0x987: 0x14db, 0x988: 0x14fb, 0x989: 0x150f, 0x98a: 0x151f, 0x98b: 0x152b, -+ 0x98c: 0x1537, 0x98d: 0x158b, 0x98e: 0x162b, 0x98f: 0x16b5, 0x990: 0x16b0, 0x991: 0x16e2, -+ 0x992: 0x0607, 0x993: 0x062f, 0x994: 0x0633, 0x995: 0x1764, 0x996: 0x1791, 0x997: 0x1809, -+ 0x998: 0x1617, 0x999: 0x1627, -+ // Block 0x27, offset 0x9c0 -+ 0x9c0: 0x06fb, 0x9c1: 0x06f3, 0x9c2: 0x0703, 0x9c3: 0x1647, 0x9c4: 0x0747, 0x9c5: 0x0757, -+ 0x9c6: 0x075b, 0x9c7: 0x0763, 0x9c8: 0x076b, 0x9c9: 0x076f, 0x9ca: 0x077b, 0x9cb: 0x0773, -+ 0x9cc: 0x05b3, 0x9cd: 0x165b, 0x9ce: 0x078f, 0x9cf: 0x0793, 0x9d0: 0x0797, 0x9d1: 0x07b3, -+ 0x9d2: 0x164c, 0x9d3: 0x05b7, 0x9d4: 0x079f, 0x9d5: 0x07bf, 0x9d6: 0x1656, 0x9d7: 0x07cf, -+ 0x9d8: 0x07d7, 0x9d9: 0x0737, 0x9da: 0x07df, 0x9db: 0x07e3, 0x9dc: 0x1831, 0x9dd: 0x07ff, -+ 0x9de: 0x0807, 0x9df: 0x05bf, 0x9e0: 0x081f, 0x9e1: 0x0823, 0x9e2: 0x082b, 0x9e3: 0x082f, -+ 0x9e4: 0x05c3, 0x9e5: 0x0847, 0x9e6: 0x084b, 0x9e7: 0x0857, 0x9e8: 0x0863, 0x9e9: 0x0867, -+ 0x9ea: 0x086b, 0x9eb: 0x0873, 0x9ec: 0x0893, 0x9ed: 0x0897, 0x9ee: 0x089f, 0x9ef: 0x08af, -+ 0x9f0: 0x08b7, 0x9f1: 0x08bb, 0x9f2: 0x08bb, 0x9f3: 0x08bb, 0x9f4: 0x166a, 0x9f5: 0x0e93, -+ 0x9f6: 0x08cf, 0x9f7: 0x08d7, 0x9f8: 0x166f, 0x9f9: 0x08e3, 0x9fa: 0x08eb, 0x9fb: 0x08f3, -+ 0x9fc: 0x091b, 0x9fd: 0x0907, 0x9fe: 0x0913, 0x9ff: 0x0917, -+ // Block 0x28, offset 0xa00 -+ 0xa00: 0x091f, 0xa01: 0x0927, 0xa02: 0x092b, 0xa03: 0x0933, 0xa04: 0x093b, 0xa05: 0x093f, -+ 0xa06: 0x093f, 0xa07: 0x0947, 0xa08: 0x094f, 0xa09: 0x0953, 0xa0a: 0x095f, 0xa0b: 0x0983, -+ 0xa0c: 0x0967, 0xa0d: 0x0987, 0xa0e: 0x096b, 0xa0f: 0x0973, 0xa10: 0x080b, 0xa11: 0x09cf, -+ 0xa12: 0x0997, 0xa13: 0x099b, 0xa14: 0x099f, 0xa15: 0x0993, 0xa16: 0x09a7, 0xa17: 0x09a3, -+ 0xa18: 0x09bb, 0xa19: 0x1674, 0xa1a: 0x09d7, 0xa1b: 0x09db, 0xa1c: 0x09e3, 0xa1d: 0x09ef, -+ 0xa1e: 0x09f7, 0xa1f: 0x0a13, 0xa20: 0x1679, 0xa21: 0x167e, 0xa22: 0x0a1f, 0xa23: 0x0a23, -+ 0xa24: 0x0a27, 0xa25: 0x0a1b, 0xa26: 0x0a2f, 0xa27: 0x05c7, 0xa28: 0x05cb, 0xa29: 0x0a37, -+ 0xa2a: 0x0a3f, 0xa2b: 0x0a3f, 0xa2c: 0x1683, 0xa2d: 0x0a5b, 0xa2e: 0x0a5f, 0xa2f: 0x0a63, -+ 0xa30: 0x0a6b, 0xa31: 0x1688, 0xa32: 0x0a73, 0xa33: 0x0a77, 0xa34: 0x0b4f, 0xa35: 0x0a7f, -+ 0xa36: 0x05cf, 0xa37: 0x0a8b, 0xa38: 0x0a9b, 0xa39: 0x0aa7, 0xa3a: 0x0aa3, 0xa3b: 0x1692, -+ 0xa3c: 0x0aaf, 0xa3d: 0x1697, 0xa3e: 0x0abb, 0xa3f: 0x0ab7, -+ // Block 0x29, offset 0xa40 -+ 0xa40: 0x0abf, 0xa41: 0x0acf, 0xa42: 0x0ad3, 0xa43: 0x05d3, 0xa44: 0x0ae3, 0xa45: 0x0aeb, -+ 0xa46: 0x0aef, 0xa47: 0x0af3, 0xa48: 0x05d7, 0xa49: 0x169c, 0xa4a: 0x05db, 0xa4b: 0x0b0f, -+ 0xa4c: 0x0b13, 0xa4d: 0x0b17, 0xa4e: 0x0b1f, 0xa4f: 0x1863, 0xa50: 0x0b37, 0xa51: 0x16a6, -+ 0xa52: 0x16a6, 0xa53: 0x11d7, 0xa54: 0x0b47, 0xa55: 0x0b47, 0xa56: 0x05df, 0xa57: 0x16c9, -+ 0xa58: 0x179b, 0xa59: 0x0b57, 0xa5a: 0x0b5f, 0xa5b: 0x05e3, 0xa5c: 0x0b73, 0xa5d: 0x0b83, -+ 0xa5e: 0x0b87, 0xa5f: 0x0b8f, 0xa60: 0x0b9f, 0xa61: 0x05eb, 0xa62: 0x05e7, 0xa63: 0x0ba3, -+ 0xa64: 0x16ab, 0xa65: 0x0ba7, 0xa66: 0x0bbb, 0xa67: 0x0bbf, 0xa68: 0x0bc3, 0xa69: 0x0bbf, -+ 0xa6a: 0x0bcf, 0xa6b: 0x0bd3, 0xa6c: 0x0be3, 0xa6d: 0x0bdb, 0xa6e: 0x0bdf, 0xa6f: 0x0be7, -+ 0xa70: 0x0beb, 0xa71: 0x0bef, 0xa72: 0x0bfb, 0xa73: 0x0bff, 0xa74: 0x0c17, 0xa75: 0x0c1f, -+ 0xa76: 0x0c2f, 0xa77: 0x0c43, 0xa78: 0x16ba, 0xa79: 0x0c3f, 0xa7a: 0x0c33, 0xa7b: 0x0c4b, -+ 0xa7c: 0x0c53, 0xa7d: 0x0c67, 0xa7e: 0x16bf, 0xa7f: 0x0c6f, -+ // Block 0x2a, offset 0xa80 -+ 0xa80: 0x0c63, 0xa81: 0x0c5b, 0xa82: 0x05ef, 0xa83: 0x0c77, 0xa84: 0x0c7f, 0xa85: 0x0c87, -+ 0xa86: 0x0c7b, 0xa87: 0x05f3, 0xa88: 0x0c97, 0xa89: 0x0c9f, 0xa8a: 0x16c4, 0xa8b: 0x0ccb, -+ 0xa8c: 0x0cff, 0xa8d: 0x0cdb, 0xa8e: 0x05ff, 0xa8f: 0x0ce7, 0xa90: 0x05fb, 0xa91: 0x05f7, -+ 0xa92: 0x07c3, 0xa93: 0x07c7, 0xa94: 0x0d03, 0xa95: 0x0ceb, 0xa96: 0x11ab, 0xa97: 0x0663, -+ 0xa98: 0x0d0f, 0xa99: 0x0d13, 0xa9a: 0x0d17, 0xa9b: 0x0d2b, 0xa9c: 0x0d23, 0xa9d: 0x16dd, -+ 0xa9e: 0x0603, 0xa9f: 0x0d3f, 0xaa0: 0x0d33, 0xaa1: 0x0d4f, 0xaa2: 0x0d57, 0xaa3: 0x16e7, -+ 0xaa4: 0x0d5b, 0xaa5: 0x0d47, 0xaa6: 0x0d63, 0xaa7: 0x0607, 0xaa8: 0x0d67, 0xaa9: 0x0d6b, -+ 0xaaa: 0x0d6f, 0xaab: 0x0d7b, 0xaac: 0x16ec, 0xaad: 0x0d83, 0xaae: 0x060b, 0xaaf: 0x0d8f, -+ 0xab0: 0x16f1, 0xab1: 0x0d93, 0xab2: 0x060f, 0xab3: 0x0d9f, 0xab4: 0x0dab, 0xab5: 0x0db7, -+ 0xab6: 0x0dbb, 0xab7: 0x16f6, 0xab8: 0x168d, 0xab9: 0x16fb, 0xaba: 0x0ddb, 0xabb: 0x1700, -+ 0xabc: 0x0de7, 0xabd: 0x0def, 0xabe: 0x0ddf, 0xabf: 0x0dfb, -+ // Block 0x2b, offset 0xac0 -+ 0xac0: 0x0e0b, 0xac1: 0x0e1b, 0xac2: 0x0e0f, 0xac3: 0x0e13, 0xac4: 0x0e1f, 0xac5: 0x0e23, -+ 0xac6: 0x1705, 0xac7: 0x0e07, 0xac8: 0x0e3b, 0xac9: 0x0e3f, 0xaca: 0x0613, 0xacb: 0x0e53, -+ 0xacc: 0x0e4f, 0xacd: 0x170a, 0xace: 0x0e33, 0xacf: 0x0e6f, 0xad0: 0x170f, 0xad1: 0x1714, -+ 0xad2: 0x0e73, 0xad3: 0x0e87, 0xad4: 0x0e83, 0xad5: 0x0e7f, 0xad6: 0x0617, 0xad7: 0x0e8b, -+ 0xad8: 0x0e9b, 0xad9: 0x0e97, 0xada: 0x0ea3, 0xadb: 0x1651, 0xadc: 0x0eb3, 0xadd: 0x1719, -+ 0xade: 0x0ebf, 0xadf: 0x1723, 0xae0: 0x0ed3, 0xae1: 0x0edf, 0xae2: 0x0ef3, 0xae3: 0x1728, -+ 0xae4: 0x0f07, 0xae5: 0x0f0b, 0xae6: 0x172d, 0xae7: 0x1732, 0xae8: 0x0f27, 0xae9: 0x0f37, -+ 0xaea: 0x061b, 0xaeb: 0x0f3b, 0xaec: 0x061f, 0xaed: 0x061f, 0xaee: 0x0f53, 0xaef: 0x0f57, -+ 0xaf0: 0x0f5f, 0xaf1: 0x0f63, 0xaf2: 0x0f6f, 0xaf3: 0x0623, 0xaf4: 0x0f87, 0xaf5: 0x1737, -+ 0xaf6: 0x0fa3, 0xaf7: 0x173c, 0xaf8: 0x0faf, 0xaf9: 0x16a1, 0xafa: 0x0fbf, 0xafb: 0x1741, -+ 0xafc: 0x1746, 0xafd: 0x174b, 0xafe: 0x0627, 0xaff: 0x062b, -+ // Block 0x2c, offset 0xb00 -+ 0xb00: 0x0ff7, 0xb01: 0x1755, 0xb02: 0x1750, 0xb03: 0x175a, 0xb04: 0x175f, 0xb05: 0x0fff, -+ 0xb06: 0x1003, 0xb07: 0x1003, 0xb08: 0x100b, 0xb09: 0x0633, 0xb0a: 0x100f, 0xb0b: 0x0637, -+ 0xb0c: 0x063b, 0xb0d: 0x1769, 0xb0e: 0x1023, 0xb0f: 0x102b, 0xb10: 0x1037, 0xb11: 0x063f, -+ 0xb12: 0x176e, 0xb13: 0x105b, 0xb14: 0x1773, 0xb15: 0x1778, 0xb16: 0x107b, 0xb17: 0x1093, -+ 0xb18: 0x0643, 0xb19: 0x109b, 0xb1a: 0x109f, 0xb1b: 0x10a3, 0xb1c: 0x177d, 0xb1d: 0x1782, -+ 0xb1e: 0x1782, 0xb1f: 0x10bb, 0xb20: 0x0647, 0xb21: 0x1787, 0xb22: 0x10cf, 0xb23: 0x10d3, -+ 0xb24: 0x064b, 0xb25: 0x178c, 0xb26: 0x10ef, 0xb27: 0x064f, 0xb28: 0x10ff, 0xb29: 0x10f7, -+ 0xb2a: 0x1107, 0xb2b: 0x1796, 0xb2c: 0x111f, 0xb2d: 0x0653, 0xb2e: 0x112b, 0xb2f: 0x1133, -+ 0xb30: 0x1143, 0xb31: 0x0657, 0xb32: 0x17a0, 0xb33: 0x17a5, 0xb34: 0x065b, 0xb35: 0x17aa, -+ 0xb36: 0x115b, 0xb37: 0x17af, 0xb38: 0x1167, 0xb39: 0x1173, 0xb3a: 0x117b, 0xb3b: 0x17b4, -+ 0xb3c: 0x17b9, 0xb3d: 0x118f, 0xb3e: 0x17be, 0xb3f: 0x1197, -+ // Block 0x2d, offset 0xb40 -+ 0xb40: 0x16ce, 0xb41: 0x065f, 0xb42: 0x11af, 0xb43: 0x11b3, 0xb44: 0x0667, 0xb45: 0x11b7, -+ 0xb46: 0x0a33, 0xb47: 0x17c3, 0xb48: 0x17c8, 0xb49: 0x16d3, 0xb4a: 0x16d8, 0xb4b: 0x11d7, -+ 0xb4c: 0x11db, 0xb4d: 0x13f3, 0xb4e: 0x066b, 0xb4f: 0x1207, 0xb50: 0x1203, 0xb51: 0x120b, -+ 0xb52: 0x083f, 0xb53: 0x120f, 0xb54: 0x1213, 0xb55: 0x1217, 0xb56: 0x121f, 0xb57: 0x17cd, -+ 0xb58: 0x121b, 0xb59: 0x1223, 0xb5a: 0x1237, 0xb5b: 0x123b, 0xb5c: 0x1227, 0xb5d: 0x123f, -+ 0xb5e: 0x1253, 0xb5f: 0x1267, 0xb60: 0x1233, 0xb61: 0x1247, 0xb62: 0x124b, 0xb63: 0x124f, -+ 0xb64: 0x17d2, 0xb65: 0x17dc, 0xb66: 0x17d7, 0xb67: 0x066f, 0xb68: 0x126f, 0xb69: 0x1273, -+ 0xb6a: 0x127b, 0xb6b: 0x17f0, 0xb6c: 0x127f, 0xb6d: 0x17e1, 0xb6e: 0x0673, 0xb6f: 0x0677, -+ 0xb70: 0x17e6, 0xb71: 0x17eb, 0xb72: 0x067b, 0xb73: 0x129f, 0xb74: 0x12a3, 0xb75: 0x12a7, -+ 0xb76: 0x12ab, 0xb77: 0x12b7, 0xb78: 0x12b3, 0xb79: 0x12bf, 0xb7a: 0x12bb, 0xb7b: 0x12cb, -+ 0xb7c: 0x12c3, 0xb7d: 0x12c7, 0xb7e: 0x12cf, 0xb7f: 0x067f, -+ // Block 0x2e, offset 0xb80 -+ 0xb80: 0x12d7, 0xb81: 0x12db, 0xb82: 0x0683, 0xb83: 0x12eb, 0xb84: 0x12ef, 0xb85: 0x17f5, -+ 0xb86: 0x12fb, 0xb87: 0x12ff, 0xb88: 0x0687, 0xb89: 0x130b, 0xb8a: 0x05bb, 0xb8b: 0x17fa, -+ 0xb8c: 0x17ff, 0xb8d: 0x068b, 0xb8e: 0x068f, 0xb8f: 0x1337, 0xb90: 0x134f, 0xb91: 0x136b, -+ 0xb92: 0x137b, 0xb93: 0x1804, 0xb94: 0x138f, 0xb95: 0x1393, 0xb96: 0x13ab, 0xb97: 0x13b7, -+ 0xb98: 0x180e, 0xb99: 0x1660, 0xb9a: 0x13c3, 0xb9b: 0x13bf, 0xb9c: 0x13cb, 0xb9d: 0x1665, -+ 0xb9e: 0x13d7, 0xb9f: 0x13e3, 0xba0: 0x1813, 0xba1: 0x1818, 0xba2: 0x1423, 0xba3: 0x142f, -+ 0xba4: 0x1437, 0xba5: 0x181d, 0xba6: 0x143b, 0xba7: 0x1467, 0xba8: 0x1473, 0xba9: 0x1477, -+ 0xbaa: 0x146f, 0xbab: 0x1483, 0xbac: 0x1487, 0xbad: 0x1822, 0xbae: 0x1493, 0xbaf: 0x0693, -+ 0xbb0: 0x149b, 0xbb1: 0x1827, 0xbb2: 0x0697, 0xbb3: 0x14d3, 0xbb4: 0x0ac3, 0xbb5: 0x14eb, -+ 0xbb6: 0x182c, 0xbb7: 0x1836, 0xbb8: 0x069b, 0xbb9: 0x069f, 0xbba: 0x1513, 0xbbb: 0x183b, -+ 0xbbc: 0x06a3, 0xbbd: 0x1840, 0xbbe: 0x152b, 0xbbf: 0x152b, -+ // Block 0x2f, offset 0xbc0 -+ 0xbc0: 0x1533, 0xbc1: 0x1845, 0xbc2: 0x154b, 0xbc3: 0x06a7, 0xbc4: 0x155b, 0xbc5: 0x1567, -+ 0xbc6: 0x156f, 0xbc7: 0x1577, 0xbc8: 0x06ab, 0xbc9: 0x184a, 0xbca: 0x158b, 0xbcb: 0x15a7, -+ 0xbcc: 0x15b3, 0xbcd: 0x06af, 0xbce: 0x06b3, 0xbcf: 0x15b7, 0xbd0: 0x184f, 0xbd1: 0x06b7, -+ 0xbd2: 0x1854, 0xbd3: 0x1859, 0xbd4: 0x185e, 0xbd5: 0x15db, 0xbd6: 0x06bb, 0xbd7: 0x15ef, -+ 0xbd8: 0x15f7, 0xbd9: 0x15fb, 0xbda: 0x1603, 0xbdb: 0x160b, 0xbdc: 0x1613, 0xbdd: 0x1868, -+} -+ -+// nfcIndex: 22 blocks, 1408 entries, 1408 bytes -+// Block 0 is the zero block. -+var nfcIndex = [1408]uint8{ -+ // Block 0x0, offset 0x0 -+ // Block 0x1, offset 0x40 -+ // Block 0x2, offset 0x80 -+ // Block 0x3, offset 0xc0 -+ 0xc2: 0x2e, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2f, 0xc7: 0x04, -+ 0xc8: 0x05, 0xca: 0x30, 0xcb: 0x31, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x32, -+ 0xd0: 0x09, 0xd1: 0x33, 0xd2: 0x34, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x35, -+ 0xd8: 0x36, 0xd9: 0x0c, 0xdb: 0x37, 0xdc: 0x38, 0xdd: 0x39, 0xdf: 0x3a, -+ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, -+ 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, -+ 0xf0: 0x13, -+ // Block 0x4, offset 0x100 -+ 0x120: 0x3b, 0x121: 0x3c, 0x123: 0x0d, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, -+ 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, -+ 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, -+ 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, -+ // Block 0x5, offset 0x140 -+ 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, -+ 0x14d: 0x5c, -+ 0x15c: 0x5d, 0x15f: 0x5e, -+ 0x162: 0x5f, 0x164: 0x60, -+ 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0e, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66, -+ 0x170: 0x67, 0x173: 0x68, 0x177: 0x0f, -+ 0x178: 0x10, 0x179: 0x11, 0x17a: 0x12, 0x17b: 0x13, 0x17c: 0x14, 0x17d: 0x15, 0x17e: 0x16, 0x17f: 0x17, -+ // Block 0x6, offset 0x180 -+ 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, -+ 0x188: 0x6e, 0x189: 0x18, 0x18a: 0x19, 0x18b: 0x6f, 0x18c: 0x70, -+ 0x1ab: 0x71, -+ 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, -+ // Block 0x7, offset 0x1c0 -+ 0x1c0: 0x75, 0x1c1: 0x1a, 0x1c2: 0x1b, 0x1c3: 0x1c, 0x1c4: 0x76, 0x1c5: 0x77, -+ 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, -+ // Block 0x8, offset 0x200 -+ 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, -+ 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, -+ 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, -+ 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, -+ 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, -+ // Block 0x9, offset 0x240 -+ 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, -+ 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, -+ 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, -+ 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, -+ 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, -+ 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, -+ 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, -+ 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, -+ // Block 0xa, offset 0x280 -+ 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, -+ 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, -+ 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, -+ 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, -+ 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, -+ 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, -+ 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, -+ 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, -+ // Block 0xb, offset 0x2c0 -+ 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, -+ 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, -+ 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, -+ 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, -+ // Block 0xc, offset 0x300 -+ 0x324: 0x1d, 0x325: 0x1e, 0x326: 0x1f, 0x327: 0x20, -+ 0x328: 0x21, 0x329: 0x22, 0x32a: 0x23, 0x32b: 0x24, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, -+ 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, -+ 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, -+ // Block 0xd, offset 0x340 -+ 0x347: 0x9c, -+ 0x34b: 0x9d, 0x34d: 0x9e, -+ 0x368: 0x9f, 0x36b: 0xa0, -+ 0x374: 0xa1, -+ 0x37d: 0xa2, -+ // Block 0xe, offset 0x380 -+ 0x381: 0xa3, 0x382: 0xa4, 0x384: 0xa5, 0x385: 0x82, 0x387: 0xa6, -+ 0x388: 0xa7, 0x38b: 0xa8, 0x38c: 0xa9, 0x38d: 0xaa, -+ 0x391: 0xab, 0x392: 0xac, 0x393: 0xad, 0x396: 0xae, 0x397: 0xaf, -+ 0x398: 0x73, 0x39a: 0xb0, 0x39c: 0xb1, -+ 0x3a0: 0xb2, 0x3a7: 0xb3, -+ 0x3a8: 0xb4, 0x3a9: 0xb5, 0x3aa: 0xb6, -+ 0x3b0: 0x73, 0x3b5: 0xb7, 0x3b6: 0xb8, -+ // Block 0xf, offset 0x3c0 -+ 0x3eb: 0xb9, 0x3ec: 0xba, -+ // Block 0x10, offset 0x400 -+ 0x432: 0xbb, -+ // Block 0x11, offset 0x440 -+ 0x445: 0xbc, 0x446: 0xbd, 0x447: 0xbe, -+ 0x449: 0xbf, -+ // Block 0x12, offset 0x480 -+ 0x480: 0xc0, 0x484: 0xba, -+ 0x48b: 0xc1, -+ 0x4a3: 0xc2, 0x4a5: 0xc3, -+ // Block 0x13, offset 0x4c0 -+ 0x4c8: 0xc4, -+ // Block 0x14, offset 0x500 -+ 0x520: 0x25, 0x521: 0x26, 0x522: 0x27, 0x523: 0x28, 0x524: 0x29, 0x525: 0x2a, 0x526: 0x2b, 0x527: 0x2c, -+ 0x528: 0x2d, -+ // Block 0x15, offset 0x540 -+ 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, -+ 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, -+ 0x56f: 0x12, -+} -+ -+// nfcSparseOffset: 151 entries, 302 bytes -+var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x63, 0x68, 0x6a, 0x72, 0x79, 0x7c, 0x84, 0x88, 0x8c, 0x8e, 0x90, 0x99, 0x9d, 0xa4, 0xa9, 0xac, 0xb6, 0xb9, 0xc0, 0xc8, 0xcb, 0xcd, 0xd0, 0xd2, 0xd7, 0xe8, 0xf4, 0xf6, 0xfc, 0xfe, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10b, 0x10e, 0x110, 0x113, 0x116, 0x11a, 0x11f, 0x128, 0x12a, 0x12d, 0x12f, 0x13a, 0x13e, 0x14c, 0x14f, 0x155, 0x15b, 0x166, 0x16a, 0x16c, 0x16e, 0x170, 0x172, 0x174, 0x17a, 0x17e, 0x180, 0x182, 0x18a, 0x18e, 0x191, 0x193, 0x195, 0x197, 0x19a, 0x19c, 0x19e, 0x1a0, 0x1a2, 0x1a8, 0x1ab, 0x1ad, 0x1b4, 0x1ba, 0x1c0, 0x1c8, 0x1ce, 0x1d4, 0x1da, 0x1de, 0x1ec, 0x1f5, 0x1f8, 0x1fb, 0x1fd, 0x200, 0x202, 0x206, 0x20b, 0x20d, 0x20f, 0x214, 0x21a, 0x21c, 0x21e, 0x220, 0x226, 0x229, 0x22b, 0x231, 0x234, 0x23c, 0x243, 0x246, 0x249, 0x24b, 0x24e, 0x256, 0x25a, 0x261, 0x264, 0x26a, 0x26c, 0x26f, 0x271, 0x274, 0x276, 0x278, 0x27a, 0x27c, 0x27f, 0x281, 0x283, 0x285, 0x287, 0x294, 0x29e, 0x2a0, 0x2a2, 0x2a8, 0x2aa, 0x2ac, 0x2af} -+ -+// nfcSparseValues: 689 entries, 2756 bytes -+var nfcSparseValues = [689]valueRange{ -+ // Block 0x0, offset 0x0 -+ {value: 0x0000, lo: 0x04}, -+ {value: 0xa100, lo: 0xa8, hi: 0xa8}, -+ {value: 0x8100, lo: 0xaf, hi: 0xaf}, -+ {value: 0x8100, lo: 0xb4, hi: 0xb4}, -+ {value: 0x8100, lo: 0xb8, hi: 0xb8}, -+ // Block 0x1, offset 0x5 -+ {value: 0x0091, lo: 0x03}, -+ {value: 0x46e5, lo: 0xa0, hi: 0xa1}, -+ {value: 0x4717, lo: 0xaf, hi: 0xb0}, -+ {value: 0xa000, lo: 0xb7, hi: 0xb7}, -+ // Block 0x2, offset 0x9 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ // Block 0x3, offset 0xb -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8100, lo: 0x98, hi: 0x9d}, -+ // Block 0x4, offset 0xd -+ {value: 0x0006, lo: 0x0a}, -+ {value: 0xa000, lo: 0x81, hi: 0x81}, -+ {value: 0xa000, lo: 0x85, hi: 0x85}, -+ {value: 0xa000, lo: 0x89, hi: 0x89}, -+ {value: 0x4843, lo: 0x8a, hi: 0x8a}, -+ {value: 0x4861, lo: 0x8b, hi: 0x8b}, -+ {value: 0x36ca, lo: 0x8c, hi: 0x8c}, -+ {value: 0x36e2, lo: 0x8d, hi: 0x8d}, -+ {value: 0x4879, lo: 0x8e, hi: 0x8e}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0x3700, lo: 0x93, hi: 0x94}, -+ // Block 0x5, offset 0x18 -+ {value: 0x0000, lo: 0x0f}, -+ {value: 0xa000, lo: 0x83, hi: 0x83}, -+ {value: 0xa000, lo: 0x87, hi: 0x87}, -+ {value: 0xa000, lo: 0x8b, hi: 0x8b}, -+ {value: 0xa000, lo: 0x8d, hi: 0x8d}, -+ {value: 0x37a8, lo: 0x90, hi: 0x90}, -+ {value: 0x37b4, lo: 0x91, hi: 0x91}, -+ {value: 0x37a2, lo: 0x93, hi: 0x93}, -+ {value: 0xa000, lo: 0x96, hi: 0x96}, -+ {value: 0x381a, lo: 0x97, hi: 0x97}, -+ {value: 0x37e4, lo: 0x9c, hi: 0x9c}, -+ {value: 0x37cc, lo: 0x9d, hi: 0x9d}, -+ {value: 0x37f6, lo: 0x9e, hi: 0x9e}, -+ {value: 0xa000, lo: 0xb4, hi: 0xb5}, -+ {value: 0x3820, lo: 0xb6, hi: 0xb6}, -+ {value: 0x3826, lo: 0xb7, hi: 0xb7}, -+ // Block 0x6, offset 0x28 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0x83, hi: 0x87}, -+ // Block 0x7, offset 0x2a -+ {value: 0x0001, lo: 0x04}, -+ {value: 0x8113, lo: 0x81, hi: 0x82}, -+ {value: 0x8132, lo: 0x84, hi: 0x84}, -+ {value: 0x812d, lo: 0x85, hi: 0x85}, -+ {value: 0x810d, lo: 0x87, hi: 0x87}, -+ // Block 0x8, offset 0x2f -+ {value: 0x0000, lo: 0x0a}, -+ {value: 0x8132, lo: 0x90, hi: 0x97}, -+ {value: 0x8119, lo: 0x98, hi: 0x98}, -+ {value: 0x811a, lo: 0x99, hi: 0x99}, -+ {value: 0x811b, lo: 0x9a, hi: 0x9a}, -+ {value: 0x3844, lo: 0xa2, hi: 0xa2}, -+ {value: 0x384a, lo: 0xa3, hi: 0xa3}, -+ {value: 0x3856, lo: 0xa4, hi: 0xa4}, -+ {value: 0x3850, lo: 0xa5, hi: 0xa5}, -+ {value: 0x385c, lo: 0xa6, hi: 0xa6}, -+ {value: 0xa000, lo: 0xa7, hi: 0xa7}, -+ // Block 0x9, offset 0x3a -+ {value: 0x0000, lo: 0x0e}, -+ {value: 0x386e, lo: 0x80, hi: 0x80}, -+ {value: 0xa000, lo: 0x81, hi: 0x81}, -+ {value: 0x3862, lo: 0x82, hi: 0x82}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0x3868, lo: 0x93, hi: 0x93}, -+ {value: 0xa000, lo: 0x95, hi: 0x95}, -+ {value: 0x8132, lo: 0x96, hi: 0x9c}, -+ {value: 0x8132, lo: 0x9f, hi: 0xa2}, -+ {value: 0x812d, lo: 0xa3, hi: 0xa3}, -+ {value: 0x8132, lo: 0xa4, hi: 0xa4}, -+ {value: 0x8132, lo: 0xa7, hi: 0xa8}, -+ {value: 0x812d, lo: 0xaa, hi: 0xaa}, -+ {value: 0x8132, lo: 0xab, hi: 0xac}, -+ {value: 0x812d, lo: 0xad, hi: 0xad}, -+ // Block 0xa, offset 0x49 -+ {value: 0x0000, lo: 0x0c}, -+ {value: 0x811f, lo: 0x91, hi: 0x91}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb0}, -+ {value: 0x812d, lo: 0xb1, hi: 0xb1}, -+ {value: 0x8132, lo: 0xb2, hi: 0xb3}, -+ {value: 0x812d, lo: 0xb4, hi: 0xb4}, -+ {value: 0x8132, lo: 0xb5, hi: 0xb6}, -+ {value: 0x812d, lo: 0xb7, hi: 0xb9}, -+ {value: 0x8132, lo: 0xba, hi: 0xba}, -+ {value: 0x812d, lo: 0xbb, hi: 0xbc}, -+ {value: 0x8132, lo: 0xbd, hi: 0xbd}, -+ {value: 0x812d, lo: 0xbe, hi: 0xbe}, -+ {value: 0x8132, lo: 0xbf, hi: 0xbf}, -+ // Block 0xb, offset 0x56 -+ {value: 0x0005, lo: 0x07}, -+ {value: 0x8132, lo: 0x80, hi: 0x80}, -+ {value: 0x8132, lo: 0x81, hi: 0x81}, -+ {value: 0x812d, lo: 0x82, hi: 0x83}, -+ {value: 0x812d, lo: 0x84, hi: 0x85}, -+ {value: 0x812d, lo: 0x86, hi: 0x87}, -+ {value: 0x812d, lo: 0x88, hi: 0x89}, -+ {value: 0x8132, lo: 0x8a, hi: 0x8a}, -+ // Block 0xc, offset 0x5e -+ {value: 0x0000, lo: 0x04}, -+ {value: 0x8132, lo: 0xab, hi: 0xb1}, -+ {value: 0x812d, lo: 0xb2, hi: 0xb2}, -+ {value: 0x8132, lo: 0xb3, hi: 0xb3}, -+ {value: 0x812d, lo: 0xbd, hi: 0xbd}, -+ // Block 0xd, offset 0x63 -+ {value: 0x0000, lo: 0x04}, -+ {value: 0x8132, lo: 0x96, hi: 0x99}, -+ {value: 0x8132, lo: 0x9b, hi: 0xa3}, -+ {value: 0x8132, lo: 0xa5, hi: 0xa7}, -+ {value: 0x8132, lo: 0xa9, hi: 0xad}, -+ // Block 0xe, offset 0x68 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0x99, hi: 0x9b}, -+ // Block 0xf, offset 0x6a -+ {value: 0x0000, lo: 0x07}, -+ {value: 0xa000, lo: 0xa8, hi: 0xa8}, -+ {value: 0x3edb, lo: 0xa9, hi: 0xa9}, -+ {value: 0xa000, lo: 0xb0, hi: 0xb0}, -+ {value: 0x3ee3, lo: 0xb1, hi: 0xb1}, -+ {value: 0xa000, lo: 0xb3, hi: 0xb3}, -+ {value: 0x3eeb, lo: 0xb4, hi: 0xb4}, -+ {value: 0x9902, lo: 0xbc, hi: 0xbc}, -+ // Block 0x10, offset 0x72 -+ {value: 0x0008, lo: 0x06}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x8132, lo: 0x91, hi: 0x91}, -+ {value: 0x812d, lo: 0x92, hi: 0x92}, -+ {value: 0x8132, lo: 0x93, hi: 0x93}, -+ {value: 0x8132, lo: 0x94, hi: 0x94}, -+ {value: 0x451f, lo: 0x98, hi: 0x9f}, -+ // Block 0x11, offset 0x79 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0xbc, hi: 0xbc}, -+ {value: 0x9900, lo: 0xbe, hi: 0xbe}, -+ // Block 0x12, offset 0x7c -+ {value: 0x0008, lo: 0x07}, -+ {value: 0xa000, lo: 0x87, hi: 0x87}, -+ {value: 0x2ca1, lo: 0x8b, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x97, hi: 0x97}, -+ {value: 0x455f, lo: 0x9c, hi: 0x9d}, -+ {value: 0x456f, lo: 0x9f, hi: 0x9f}, -+ {value: 0x8132, lo: 0xbe, hi: 0xbe}, -+ // Block 0x13, offset 0x84 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x4597, lo: 0xb3, hi: 0xb3}, -+ {value: 0x459f, lo: 0xb6, hi: 0xb6}, -+ {value: 0x8102, lo: 0xbc, hi: 0xbc}, -+ // Block 0x14, offset 0x88 -+ {value: 0x0008, lo: 0x03}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x4577, lo: 0x99, hi: 0x9b}, -+ {value: 0x458f, lo: 0x9e, hi: 0x9e}, -+ // Block 0x15, offset 0x8c -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8102, lo: 0xbc, hi: 0xbc}, -+ // Block 0x16, offset 0x8e -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ // Block 0x17, offset 0x90 -+ {value: 0x0000, lo: 0x08}, -+ {value: 0xa000, lo: 0x87, hi: 0x87}, -+ {value: 0x2cb9, lo: 0x88, hi: 0x88}, -+ {value: 0x2cb1, lo: 0x8b, hi: 0x8b}, -+ {value: 0x2cc1, lo: 0x8c, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x96, hi: 0x97}, -+ {value: 0x45a7, lo: 0x9c, hi: 0x9c}, -+ {value: 0x45af, lo: 0x9d, hi: 0x9d}, -+ // Block 0x18, offset 0x99 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0x2cc9, lo: 0x94, hi: 0x94}, -+ {value: 0x9900, lo: 0xbe, hi: 0xbe}, -+ // Block 0x19, offset 0x9d -+ {value: 0x0000, lo: 0x06}, -+ {value: 0xa000, lo: 0x86, hi: 0x87}, -+ {value: 0x2cd1, lo: 0x8a, hi: 0x8a}, -+ {value: 0x2ce1, lo: 0x8b, hi: 0x8b}, -+ {value: 0x2cd9, lo: 0x8c, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x97, hi: 0x97}, -+ // Block 0x1a, offset 0xa4 -+ {value: 0x1801, lo: 0x04}, -+ {value: 0xa000, lo: 0x86, hi: 0x86}, -+ {value: 0x3ef3, lo: 0x88, hi: 0x88}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x8120, lo: 0x95, hi: 0x96}, -+ // Block 0x1b, offset 0xa9 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0xbc, hi: 0xbc}, -+ {value: 0xa000, lo: 0xbf, hi: 0xbf}, -+ // Block 0x1c, offset 0xac -+ {value: 0x0000, lo: 0x09}, -+ {value: 0x2ce9, lo: 0x80, hi: 0x80}, -+ {value: 0x9900, lo: 0x82, hi: 0x82}, -+ {value: 0xa000, lo: 0x86, hi: 0x86}, -+ {value: 0x2cf1, lo: 0x87, hi: 0x87}, -+ {value: 0x2cf9, lo: 0x88, hi: 0x88}, -+ {value: 0x2f53, lo: 0x8a, hi: 0x8a}, -+ {value: 0x2ddb, lo: 0x8b, hi: 0x8b}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x95, hi: 0x96}, -+ // Block 0x1d, offset 0xb6 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0xbb, hi: 0xbc}, -+ {value: 0x9900, lo: 0xbe, hi: 0xbe}, -+ // Block 0x1e, offset 0xb9 -+ {value: 0x0000, lo: 0x06}, -+ {value: 0xa000, lo: 0x86, hi: 0x87}, -+ {value: 0x2d01, lo: 0x8a, hi: 0x8a}, -+ {value: 0x2d11, lo: 0x8b, hi: 0x8b}, -+ {value: 0x2d09, lo: 0x8c, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x97, hi: 0x97}, -+ // Block 0x1f, offset 0xc0 -+ {value: 0x6be7, lo: 0x07}, -+ {value: 0x9904, lo: 0x8a, hi: 0x8a}, -+ {value: 0x9900, lo: 0x8f, hi: 0x8f}, -+ {value: 0xa000, lo: 0x99, hi: 0x99}, -+ {value: 0x3efb, lo: 0x9a, hi: 0x9a}, -+ {value: 0x2f5b, lo: 0x9c, hi: 0x9c}, -+ {value: 0x2de6, lo: 0x9d, hi: 0x9d}, -+ {value: 0x2d19, lo: 0x9e, hi: 0x9f}, -+ // Block 0x20, offset 0xc8 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8122, lo: 0xb8, hi: 0xb9}, -+ {value: 0x8104, lo: 0xba, hi: 0xba}, -+ // Block 0x21, offset 0xcb -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8123, lo: 0x88, hi: 0x8b}, -+ // Block 0x22, offset 0xcd -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8124, lo: 0xb8, hi: 0xb9}, -+ {value: 0x8104, lo: 0xba, hi: 0xba}, -+ // Block 0x23, offset 0xd0 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8125, lo: 0x88, hi: 0x8b}, -+ // Block 0x24, offset 0xd2 -+ {value: 0x0000, lo: 0x04}, -+ {value: 0x812d, lo: 0x98, hi: 0x99}, -+ {value: 0x812d, lo: 0xb5, hi: 0xb5}, -+ {value: 0x812d, lo: 0xb7, hi: 0xb7}, -+ {value: 0x812b, lo: 0xb9, hi: 0xb9}, -+ // Block 0x25, offset 0xd7 -+ {value: 0x0000, lo: 0x10}, -+ {value: 0x2647, lo: 0x83, hi: 0x83}, -+ {value: 0x264e, lo: 0x8d, hi: 0x8d}, -+ {value: 0x2655, lo: 0x92, hi: 0x92}, -+ {value: 0x265c, lo: 0x97, hi: 0x97}, -+ {value: 0x2663, lo: 0x9c, hi: 0x9c}, -+ {value: 0x2640, lo: 0xa9, hi: 0xa9}, -+ {value: 0x8126, lo: 0xb1, hi: 0xb1}, -+ {value: 0x8127, lo: 0xb2, hi: 0xb2}, -+ {value: 0x4a87, lo: 0xb3, hi: 0xb3}, -+ {value: 0x8128, lo: 0xb4, hi: 0xb4}, -+ {value: 0x4a90, lo: 0xb5, hi: 0xb5}, -+ {value: 0x45b7, lo: 0xb6, hi: 0xb6}, -+ {value: 0x8200, lo: 0xb7, hi: 0xb7}, -+ {value: 0x45bf, lo: 0xb8, hi: 0xb8}, -+ {value: 0x8200, lo: 0xb9, hi: 0xb9}, -+ {value: 0x8127, lo: 0xba, hi: 0xbd}, -+ // Block 0x26, offset 0xe8 -+ {value: 0x0000, lo: 0x0b}, -+ {value: 0x8127, lo: 0x80, hi: 0x80}, -+ {value: 0x4a99, lo: 0x81, hi: 0x81}, -+ {value: 0x8132, lo: 0x82, hi: 0x83}, -+ {value: 0x8104, lo: 0x84, hi: 0x84}, -+ {value: 0x8132, lo: 0x86, hi: 0x87}, -+ {value: 0x2671, lo: 0x93, hi: 0x93}, -+ {value: 0x2678, lo: 0x9d, hi: 0x9d}, -+ {value: 0x267f, lo: 0xa2, hi: 0xa2}, -+ {value: 0x2686, lo: 0xa7, hi: 0xa7}, -+ {value: 0x268d, lo: 0xac, hi: 0xac}, -+ {value: 0x266a, lo: 0xb9, hi: 0xb9}, -+ // Block 0x27, offset 0xf4 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0x86, hi: 0x86}, -+ // Block 0x28, offset 0xf6 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xa000, lo: 0xa5, hi: 0xa5}, -+ {value: 0x2d21, lo: 0xa6, hi: 0xa6}, -+ {value: 0x9900, lo: 0xae, hi: 0xae}, -+ {value: 0x8102, lo: 0xb7, hi: 0xb7}, -+ {value: 0x8104, lo: 0xb9, hi: 0xba}, -+ // Block 0x29, offset 0xfc -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0x8d, hi: 0x8d}, -+ // Block 0x2a, offset 0xfe -+ {value: 0x0000, lo: 0x01}, -+ {value: 0xa000, lo: 0x80, hi: 0x92}, -+ // Block 0x2b, offset 0x100 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0xb900, lo: 0xa1, hi: 0xb5}, -+ // Block 0x2c, offset 0x102 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x9900, lo: 0xa8, hi: 0xbf}, -+ // Block 0x2d, offset 0x104 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x9900, lo: 0x80, hi: 0x82}, -+ // Block 0x2e, offset 0x106 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0x9d, hi: 0x9f}, -+ // Block 0x2f, offset 0x108 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x94, hi: 0x94}, -+ {value: 0x8104, lo: 0xb4, hi: 0xb4}, -+ // Block 0x30, offset 0x10b -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x92, hi: 0x92}, -+ {value: 0x8132, lo: 0x9d, hi: 0x9d}, -+ // Block 0x31, offset 0x10e -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8131, lo: 0xa9, hi: 0xa9}, -+ // Block 0x32, offset 0x110 -+ {value: 0x0004, lo: 0x02}, -+ {value: 0x812e, lo: 0xb9, hi: 0xba}, -+ {value: 0x812d, lo: 0xbb, hi: 0xbb}, -+ // Block 0x33, offset 0x113 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0x97, hi: 0x97}, -+ {value: 0x812d, lo: 0x98, hi: 0x98}, -+ // Block 0x34, offset 0x116 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x8104, lo: 0xa0, hi: 0xa0}, -+ {value: 0x8132, lo: 0xb5, hi: 0xbc}, -+ {value: 0x812d, lo: 0xbf, hi: 0xbf}, -+ // Block 0x35, offset 0x11a -+ {value: 0x0000, lo: 0x04}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb4}, -+ {value: 0x812d, lo: 0xb5, hi: 0xba}, -+ {value: 0x8132, lo: 0xbb, hi: 0xbc}, -+ {value: 0x812d, lo: 0xbd, hi: 0xbd}, -+ // Block 0x36, offset 0x11f -+ {value: 0x0000, lo: 0x08}, -+ {value: 0x2d69, lo: 0x80, hi: 0x80}, -+ {value: 0x2d71, lo: 0x81, hi: 0x81}, -+ {value: 0xa000, lo: 0x82, hi: 0x82}, -+ {value: 0x2d79, lo: 0x83, hi: 0x83}, -+ {value: 0x8104, lo: 0x84, hi: 0x84}, -+ {value: 0x8132, lo: 0xab, hi: 0xab}, -+ {value: 0x812d, lo: 0xac, hi: 0xac}, -+ {value: 0x8132, lo: 0xad, hi: 0xb3}, -+ // Block 0x37, offset 0x128 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xaa, hi: 0xab}, -+ // Block 0x38, offset 0x12a -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0xa6, hi: 0xa6}, -+ {value: 0x8104, lo: 0xb2, hi: 0xb3}, -+ // Block 0x39, offset 0x12d -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8102, lo: 0xb7, hi: 0xb7}, -+ // Block 0x3a, offset 0x12f -+ {value: 0x0000, lo: 0x0a}, -+ {value: 0x8132, lo: 0x90, hi: 0x92}, -+ {value: 0x8101, lo: 0x94, hi: 0x94}, -+ {value: 0x812d, lo: 0x95, hi: 0x99}, -+ {value: 0x8132, lo: 0x9a, hi: 0x9b}, -+ {value: 0x812d, lo: 0x9c, hi: 0x9f}, -+ {value: 0x8132, lo: 0xa0, hi: 0xa0}, -+ {value: 0x8101, lo: 0xa2, hi: 0xa8}, -+ {value: 0x812d, lo: 0xad, hi: 0xad}, -+ {value: 0x8132, lo: 0xb4, hi: 0xb4}, -+ {value: 0x8132, lo: 0xb8, hi: 0xb9}, -+ // Block 0x3b, offset 0x13a -+ {value: 0x0004, lo: 0x03}, -+ {value: 0x0433, lo: 0x80, hi: 0x81}, -+ {value: 0x8100, lo: 0x97, hi: 0x97}, -+ {value: 0x8100, lo: 0xbe, hi: 0xbe}, -+ // Block 0x3c, offset 0x13e -+ {value: 0x0000, lo: 0x0d}, -+ {value: 0x8132, lo: 0x90, hi: 0x91}, -+ {value: 0x8101, lo: 0x92, hi: 0x93}, -+ {value: 0x8132, lo: 0x94, hi: 0x97}, -+ {value: 0x8101, lo: 0x98, hi: 0x9a}, -+ {value: 0x8132, lo: 0x9b, hi: 0x9c}, -+ {value: 0x8132, lo: 0xa1, hi: 0xa1}, -+ {value: 0x8101, lo: 0xa5, hi: 0xa6}, -+ {value: 0x8132, lo: 0xa7, hi: 0xa7}, -+ {value: 0x812d, lo: 0xa8, hi: 0xa8}, -+ {value: 0x8132, lo: 0xa9, hi: 0xa9}, -+ {value: 0x8101, lo: 0xaa, hi: 0xab}, -+ {value: 0x812d, lo: 0xac, hi: 0xaf}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb0}, -+ // Block 0x3d, offset 0x14c -+ {value: 0x427e, lo: 0x02}, -+ {value: 0x01b8, lo: 0xa6, hi: 0xa6}, -+ {value: 0x0057, lo: 0xaa, hi: 0xab}, -+ // Block 0x3e, offset 0x14f -+ {value: 0x0007, lo: 0x05}, -+ {value: 0xa000, lo: 0x90, hi: 0x90}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0xa000, lo: 0x94, hi: 0x94}, -+ {value: 0x3bbc, lo: 0x9a, hi: 0x9b}, -+ {value: 0x3bca, lo: 0xae, hi: 0xae}, -+ // Block 0x3f, offset 0x155 -+ {value: 0x000e, lo: 0x05}, -+ {value: 0x3bd1, lo: 0x8d, hi: 0x8e}, -+ {value: 0x3bd8, lo: 0x8f, hi: 0x8f}, -+ {value: 0xa000, lo: 0x90, hi: 0x90}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0xa000, lo: 0x94, hi: 0x94}, -+ // Block 0x40, offset 0x15b -+ {value: 0x6405, lo: 0x0a}, -+ {value: 0xa000, lo: 0x83, hi: 0x83}, -+ {value: 0x3be6, lo: 0x84, hi: 0x84}, -+ {value: 0xa000, lo: 0x88, hi: 0x88}, -+ {value: 0x3bed, lo: 0x89, hi: 0x89}, -+ {value: 0xa000, lo: 0x8b, hi: 0x8b}, -+ {value: 0x3bf4, lo: 0x8c, hi: 0x8c}, -+ {value: 0xa000, lo: 0xa3, hi: 0xa3}, -+ {value: 0x3bfb, lo: 0xa4, hi: 0xa5}, -+ {value: 0x3c02, lo: 0xa6, hi: 0xa6}, -+ {value: 0xa000, lo: 0xbc, hi: 0xbc}, -+ // Block 0x41, offset 0x166 -+ {value: 0x0007, lo: 0x03}, -+ {value: 0x3c6b, lo: 0xa0, hi: 0xa1}, -+ {value: 0x3c95, lo: 0xa2, hi: 0xa3}, -+ {value: 0x3cbf, lo: 0xaa, hi: 0xad}, -+ // Block 0x42, offset 0x16a -+ {value: 0x0004, lo: 0x01}, -+ {value: 0x048b, lo: 0xa9, hi: 0xaa}, -+ // Block 0x43, offset 0x16c -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x44e0, lo: 0x9c, hi: 0x9c}, -+ // Block 0x44, offset 0x16e -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xaf, hi: 0xb1}, -+ // Block 0x45, offset 0x170 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xbf, hi: 0xbf}, -+ // Block 0x46, offset 0x172 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xa0, hi: 0xbf}, -+ // Block 0x47, offset 0x174 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x812c, lo: 0xaa, hi: 0xaa}, -+ {value: 0x8131, lo: 0xab, hi: 0xab}, -+ {value: 0x8133, lo: 0xac, hi: 0xac}, -+ {value: 0x812e, lo: 0xad, hi: 0xad}, -+ {value: 0x812f, lo: 0xae, hi: 0xaf}, -+ // Block 0x48, offset 0x17a -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x4aa2, lo: 0xb3, hi: 0xb3}, -+ {value: 0x4aa2, lo: 0xb5, hi: 0xb6}, -+ {value: 0x4aa2, lo: 0xba, hi: 0xbf}, -+ // Block 0x49, offset 0x17e -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x4aa2, lo: 0x8f, hi: 0xa3}, -+ // Block 0x4a, offset 0x180 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8100, lo: 0xae, hi: 0xbe}, -+ // Block 0x4b, offset 0x182 -+ {value: 0x0000, lo: 0x07}, -+ {value: 0x8100, lo: 0x84, hi: 0x84}, -+ {value: 0x8100, lo: 0x87, hi: 0x87}, -+ {value: 0x8100, lo: 0x90, hi: 0x90}, -+ {value: 0x8100, lo: 0x9e, hi: 0x9e}, -+ {value: 0x8100, lo: 0xa1, hi: 0xa1}, -+ {value: 0x8100, lo: 0xb2, hi: 0xb2}, -+ {value: 0x8100, lo: 0xbb, hi: 0xbb}, -+ // Block 0x4c, offset 0x18a -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x8100, lo: 0x80, hi: 0x80}, -+ {value: 0x8100, lo: 0x8b, hi: 0x8b}, -+ {value: 0x8100, lo: 0x8e, hi: 0x8e}, -+ // Block 0x4d, offset 0x18e -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0xaf, hi: 0xaf}, -+ {value: 0x8132, lo: 0xb4, hi: 0xbd}, -+ // Block 0x4e, offset 0x191 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0x9e, hi: 0x9f}, -+ // Block 0x4f, offset 0x193 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb1}, -+ // Block 0x50, offset 0x195 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x86, hi: 0x86}, -+ // Block 0x51, offset 0x197 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x84, hi: 0x84}, -+ {value: 0x8132, lo: 0xa0, hi: 0xb1}, -+ // Block 0x52, offset 0x19a -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0xab, hi: 0xad}, -+ // Block 0x53, offset 0x19c -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x93, hi: 0x93}, -+ // Block 0x54, offset 0x19e -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8102, lo: 0xb3, hi: 0xb3}, -+ // Block 0x55, offset 0x1a0 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x80, hi: 0x80}, -+ // Block 0x56, offset 0x1a2 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb0}, -+ {value: 0x8132, lo: 0xb2, hi: 0xb3}, -+ {value: 0x812d, lo: 0xb4, hi: 0xb4}, -+ {value: 0x8132, lo: 0xb7, hi: 0xb8}, -+ {value: 0x8132, lo: 0xbe, hi: 0xbf}, -+ // Block 0x57, offset 0x1a8 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0x81, hi: 0x81}, -+ {value: 0x8104, lo: 0xb6, hi: 0xb6}, -+ // Block 0x58, offset 0x1ab -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xad, hi: 0xad}, -+ // Block 0x59, offset 0x1ad -+ {value: 0x0000, lo: 0x06}, -+ {value: 0xe500, lo: 0x80, hi: 0x80}, -+ {value: 0xc600, lo: 0x81, hi: 0x9b}, -+ {value: 0xe500, lo: 0x9c, hi: 0x9c}, -+ {value: 0xc600, lo: 0x9d, hi: 0xb7}, -+ {value: 0xe500, lo: 0xb8, hi: 0xb8}, -+ {value: 0xc600, lo: 0xb9, hi: 0xbf}, -+ // Block 0x5a, offset 0x1b4 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x93}, -+ {value: 0xe500, lo: 0x94, hi: 0x94}, -+ {value: 0xc600, lo: 0x95, hi: 0xaf}, -+ {value: 0xe500, lo: 0xb0, hi: 0xb0}, -+ {value: 0xc600, lo: 0xb1, hi: 0xbf}, -+ // Block 0x5b, offset 0x1ba -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x8b}, -+ {value: 0xe500, lo: 0x8c, hi: 0x8c}, -+ {value: 0xc600, lo: 0x8d, hi: 0xa7}, -+ {value: 0xe500, lo: 0xa8, hi: 0xa8}, -+ {value: 0xc600, lo: 0xa9, hi: 0xbf}, -+ // Block 0x5c, offset 0x1c0 -+ {value: 0x0000, lo: 0x07}, -+ {value: 0xc600, lo: 0x80, hi: 0x83}, -+ {value: 0xe500, lo: 0x84, hi: 0x84}, -+ {value: 0xc600, lo: 0x85, hi: 0x9f}, -+ {value: 0xe500, lo: 0xa0, hi: 0xa0}, -+ {value: 0xc600, lo: 0xa1, hi: 0xbb}, -+ {value: 0xe500, lo: 0xbc, hi: 0xbc}, -+ {value: 0xc600, lo: 0xbd, hi: 0xbf}, -+ // Block 0x5d, offset 0x1c8 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x97}, -+ {value: 0xe500, lo: 0x98, hi: 0x98}, -+ {value: 0xc600, lo: 0x99, hi: 0xb3}, -+ {value: 0xe500, lo: 0xb4, hi: 0xb4}, -+ {value: 0xc600, lo: 0xb5, hi: 0xbf}, -+ // Block 0x5e, offset 0x1ce -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x8f}, -+ {value: 0xe500, lo: 0x90, hi: 0x90}, -+ {value: 0xc600, lo: 0x91, hi: 0xab}, -+ {value: 0xe500, lo: 0xac, hi: 0xac}, -+ {value: 0xc600, lo: 0xad, hi: 0xbf}, -+ // Block 0x5f, offset 0x1d4 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x87}, -+ {value: 0xe500, lo: 0x88, hi: 0x88}, -+ {value: 0xc600, lo: 0x89, hi: 0xa3}, -+ {value: 0xe500, lo: 0xa4, hi: 0xa4}, -+ {value: 0xc600, lo: 0xa5, hi: 0xbf}, -+ // Block 0x60, offset 0x1da -+ {value: 0x0000, lo: 0x03}, -+ {value: 0xc600, lo: 0x80, hi: 0x87}, -+ {value: 0xe500, lo: 0x88, hi: 0x88}, -+ {value: 0xc600, lo: 0x89, hi: 0xa3}, -+ // Block 0x61, offset 0x1de -+ {value: 0x0006, lo: 0x0d}, -+ {value: 0x4393, lo: 0x9d, hi: 0x9d}, -+ {value: 0x8115, lo: 0x9e, hi: 0x9e}, -+ {value: 0x4405, lo: 0x9f, hi: 0x9f}, -+ {value: 0x43f3, lo: 0xaa, hi: 0xab}, -+ {value: 0x44f7, lo: 0xac, hi: 0xac}, -+ {value: 0x44ff, lo: 0xad, hi: 0xad}, -+ {value: 0x434b, lo: 0xae, hi: 0xb1}, -+ {value: 0x4369, lo: 0xb2, hi: 0xb4}, -+ {value: 0x4381, lo: 0xb5, hi: 0xb6}, -+ {value: 0x438d, lo: 0xb8, hi: 0xb8}, -+ {value: 0x4399, lo: 0xb9, hi: 0xbb}, -+ {value: 0x43b1, lo: 0xbc, hi: 0xbc}, -+ {value: 0x43b7, lo: 0xbe, hi: 0xbe}, -+ // Block 0x62, offset 0x1ec -+ {value: 0x0006, lo: 0x08}, -+ {value: 0x43bd, lo: 0x80, hi: 0x81}, -+ {value: 0x43c9, lo: 0x83, hi: 0x84}, -+ {value: 0x43db, lo: 0x86, hi: 0x89}, -+ {value: 0x43ff, lo: 0x8a, hi: 0x8a}, -+ {value: 0x437b, lo: 0x8b, hi: 0x8b}, -+ {value: 0x4363, lo: 0x8c, hi: 0x8c}, -+ {value: 0x43ab, lo: 0x8d, hi: 0x8d}, -+ {value: 0x43d5, lo: 0x8e, hi: 0x8e}, -+ // Block 0x63, offset 0x1f5 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8100, lo: 0xa4, hi: 0xa5}, -+ {value: 0x8100, lo: 0xb0, hi: 0xb1}, -+ // Block 0x64, offset 0x1f8 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8100, lo: 0x9b, hi: 0x9d}, -+ {value: 0x8200, lo: 0x9e, hi: 0xa3}, -+ // Block 0x65, offset 0x1fb -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8100, lo: 0x90, hi: 0x90}, -+ // Block 0x66, offset 0x1fd -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8100, lo: 0x99, hi: 0x99}, -+ {value: 0x8200, lo: 0xb2, hi: 0xb4}, -+ // Block 0x67, offset 0x200 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8100, lo: 0xbc, hi: 0xbd}, -+ // Block 0x68, offset 0x202 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x8132, lo: 0xa0, hi: 0xa6}, -+ {value: 0x812d, lo: 0xa7, hi: 0xad}, -+ {value: 0x8132, lo: 0xae, hi: 0xaf}, -+ // Block 0x69, offset 0x206 -+ {value: 0x0000, lo: 0x04}, -+ {value: 0x8100, lo: 0x89, hi: 0x8c}, -+ {value: 0x8100, lo: 0xb0, hi: 0xb2}, -+ {value: 0x8100, lo: 0xb4, hi: 0xb4}, -+ {value: 0x8100, lo: 0xb6, hi: 0xbf}, -+ // Block 0x6a, offset 0x20b -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8100, lo: 0x81, hi: 0x8c}, -+ // Block 0x6b, offset 0x20d -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8100, lo: 0xb5, hi: 0xba}, -+ // Block 0x6c, offset 0x20f -+ {value: 0x0000, lo: 0x04}, -+ {value: 0x4aa2, lo: 0x9e, hi: 0x9f}, -+ {value: 0x4aa2, lo: 0xa3, hi: 0xa3}, -+ {value: 0x4aa2, lo: 0xa5, hi: 0xa6}, -+ {value: 0x4aa2, lo: 0xaa, hi: 0xaf}, -+ // Block 0x6d, offset 0x214 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x4aa2, lo: 0x82, hi: 0x87}, -+ {value: 0x4aa2, lo: 0x8a, hi: 0x8f}, -+ {value: 0x4aa2, lo: 0x92, hi: 0x97}, -+ {value: 0x4aa2, lo: 0x9a, hi: 0x9c}, -+ {value: 0x8100, lo: 0xa3, hi: 0xa3}, -+ // Block 0x6e, offset 0x21a -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0xbd, hi: 0xbd}, -+ // Block 0x6f, offset 0x21c -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0xa0, hi: 0xa0}, -+ // Block 0x70, offset 0x21e -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xb6, hi: 0xba}, -+ // Block 0x71, offset 0x220 -+ {value: 0x002c, lo: 0x05}, -+ {value: 0x812d, lo: 0x8d, hi: 0x8d}, -+ {value: 0x8132, lo: 0x8f, hi: 0x8f}, -+ {value: 0x8132, lo: 0xb8, hi: 0xb8}, -+ {value: 0x8101, lo: 0xb9, hi: 0xba}, -+ {value: 0x8104, lo: 0xbf, hi: 0xbf}, -+ // Block 0x72, offset 0x226 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0xa5, hi: 0xa5}, -+ {value: 0x812d, lo: 0xa6, hi: 0xa6}, -+ // Block 0x73, offset 0x229 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xa4, hi: 0xa7}, -+ // Block 0x74, offset 0x22b -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x812d, lo: 0x86, hi: 0x87}, -+ {value: 0x8132, lo: 0x88, hi: 0x8a}, -+ {value: 0x812d, lo: 0x8b, hi: 0x8b}, -+ {value: 0x8132, lo: 0x8c, hi: 0x8c}, -+ {value: 0x812d, lo: 0x8d, hi: 0x90}, -+ // Block 0x75, offset 0x231 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x86, hi: 0x86}, -+ {value: 0x8104, lo: 0xbf, hi: 0xbf}, -+ // Block 0x76, offset 0x234 -+ {value: 0x17fe, lo: 0x07}, -+ {value: 0xa000, lo: 0x99, hi: 0x99}, -+ {value: 0x423b, lo: 0x9a, hi: 0x9a}, -+ {value: 0xa000, lo: 0x9b, hi: 0x9b}, -+ {value: 0x4245, lo: 0x9c, hi: 0x9c}, -+ {value: 0xa000, lo: 0xa5, hi: 0xa5}, -+ {value: 0x424f, lo: 0xab, hi: 0xab}, -+ {value: 0x8104, lo: 0xb9, hi: 0xba}, -+ // Block 0x77, offset 0x23c -+ {value: 0x0000, lo: 0x06}, -+ {value: 0x8132, lo: 0x80, hi: 0x82}, -+ {value: 0x9900, lo: 0xa7, hi: 0xa7}, -+ {value: 0x2d81, lo: 0xae, hi: 0xae}, -+ {value: 0x2d8b, lo: 0xaf, hi: 0xaf}, -+ {value: 0xa000, lo: 0xb1, hi: 0xb2}, -+ {value: 0x8104, lo: 0xb3, hi: 0xb4}, -+ // Block 0x78, offset 0x243 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x80, hi: 0x80}, -+ {value: 0x8102, lo: 0x8a, hi: 0x8a}, -+ // Block 0x79, offset 0x246 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0xb5, hi: 0xb5}, -+ {value: 0x8102, lo: 0xb6, hi: 0xb6}, -+ // Block 0x7a, offset 0x249 -+ {value: 0x0002, lo: 0x01}, -+ {value: 0x8102, lo: 0xa9, hi: 0xaa}, -+ // Block 0x7b, offset 0x24b -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0xbb, hi: 0xbc}, -+ {value: 0x9900, lo: 0xbe, hi: 0xbe}, -+ // Block 0x7c, offset 0x24e -+ {value: 0x0000, lo: 0x07}, -+ {value: 0xa000, lo: 0x87, hi: 0x87}, -+ {value: 0x2d95, lo: 0x8b, hi: 0x8b}, -+ {value: 0x2d9f, lo: 0x8c, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x97, hi: 0x97}, -+ {value: 0x8132, lo: 0xa6, hi: 0xac}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb4}, -+ // Block 0x7d, offset 0x256 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x8104, lo: 0x82, hi: 0x82}, -+ {value: 0x8102, lo: 0x86, hi: 0x86}, -+ {value: 0x8132, lo: 0x9e, hi: 0x9e}, -+ // Block 0x7e, offset 0x25a -+ {value: 0x6b57, lo: 0x06}, -+ {value: 0x9900, lo: 0xb0, hi: 0xb0}, -+ {value: 0xa000, lo: 0xb9, hi: 0xb9}, -+ {value: 0x9900, lo: 0xba, hi: 0xba}, -+ {value: 0x2db3, lo: 0xbb, hi: 0xbb}, -+ {value: 0x2da9, lo: 0xbc, hi: 0xbd}, -+ {value: 0x2dbd, lo: 0xbe, hi: 0xbe}, -+ // Block 0x7f, offset 0x261 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x82, hi: 0x82}, -+ {value: 0x8102, lo: 0x83, hi: 0x83}, -+ // Block 0x80, offset 0x264 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x9900, lo: 0xaf, hi: 0xaf}, -+ {value: 0xa000, lo: 0xb8, hi: 0xb9}, -+ {value: 0x2dc7, lo: 0xba, hi: 0xba}, -+ {value: 0x2dd1, lo: 0xbb, hi: 0xbb}, -+ {value: 0x8104, lo: 0xbf, hi: 0xbf}, -+ // Block 0x81, offset 0x26a -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8102, lo: 0x80, hi: 0x80}, -+ // Block 0x82, offset 0x26c -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0xb6, hi: 0xb6}, -+ {value: 0x8102, lo: 0xb7, hi: 0xb7}, -+ // Block 0x83, offset 0x26f -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xab, hi: 0xab}, -+ // Block 0x84, offset 0x271 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0xb9, hi: 0xb9}, -+ {value: 0x8102, lo: 0xba, hi: 0xba}, -+ // Block 0x85, offset 0x274 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xa0, hi: 0xa0}, -+ // Block 0x86, offset 0x276 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xb4, hi: 0xb4}, -+ // Block 0x87, offset 0x278 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x87, hi: 0x87}, -+ // Block 0x88, offset 0x27a -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x99, hi: 0x99}, -+ // Block 0x89, offset 0x27c -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0x82, hi: 0x82}, -+ {value: 0x8104, lo: 0x84, hi: 0x85}, -+ // Block 0x8a, offset 0x27f -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x97, hi: 0x97}, -+ // Block 0x8b, offset 0x281 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8101, lo: 0xb0, hi: 0xb4}, -+ // Block 0x8c, offset 0x283 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb6}, -+ // Block 0x8d, offset 0x285 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8101, lo: 0x9e, hi: 0x9e}, -+ // Block 0x8e, offset 0x287 -+ {value: 0x0000, lo: 0x0c}, -+ {value: 0x45cf, lo: 0x9e, hi: 0x9e}, -+ {value: 0x45d9, lo: 0x9f, hi: 0x9f}, -+ {value: 0x460d, lo: 0xa0, hi: 0xa0}, -+ {value: 0x461b, lo: 0xa1, hi: 0xa1}, -+ {value: 0x4629, lo: 0xa2, hi: 0xa2}, -+ {value: 0x4637, lo: 0xa3, hi: 0xa3}, -+ {value: 0x4645, lo: 0xa4, hi: 0xa4}, -+ {value: 0x812b, lo: 0xa5, hi: 0xa6}, -+ {value: 0x8101, lo: 0xa7, hi: 0xa9}, -+ {value: 0x8130, lo: 0xad, hi: 0xad}, -+ {value: 0x812b, lo: 0xae, hi: 0xb2}, -+ {value: 0x812d, lo: 0xbb, hi: 0xbf}, -+ // Block 0x8f, offset 0x294 -+ {value: 0x0000, lo: 0x09}, -+ {value: 0x812d, lo: 0x80, hi: 0x82}, -+ {value: 0x8132, lo: 0x85, hi: 0x89}, -+ {value: 0x812d, lo: 0x8a, hi: 0x8b}, -+ {value: 0x8132, lo: 0xaa, hi: 0xad}, -+ {value: 0x45e3, lo: 0xbb, hi: 0xbb}, -+ {value: 0x45ed, lo: 0xbc, hi: 0xbc}, -+ {value: 0x4653, lo: 0xbd, hi: 0xbd}, -+ {value: 0x466f, lo: 0xbe, hi: 0xbe}, -+ {value: 0x4661, lo: 0xbf, hi: 0xbf}, -+ // Block 0x90, offset 0x29e -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x467d, lo: 0x80, hi: 0x80}, -+ // Block 0x91, offset 0x2a0 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0x82, hi: 0x84}, -+ // Block 0x92, offset 0x2a2 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x8132, lo: 0x80, hi: 0x86}, -+ {value: 0x8132, lo: 0x88, hi: 0x98}, -+ {value: 0x8132, lo: 0x9b, hi: 0xa1}, -+ {value: 0x8132, lo: 0xa3, hi: 0xa4}, -+ {value: 0x8132, lo: 0xa6, hi: 0xaa}, -+ // Block 0x93, offset 0x2a8 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xac, hi: 0xaf}, -+ // Block 0x94, offset 0x2aa -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0x90, hi: 0x96}, -+ // Block 0x95, offset 0x2ac -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0x84, hi: 0x89}, -+ {value: 0x8102, lo: 0x8a, hi: 0x8a}, -+ // Block 0x96, offset 0x2af -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8100, lo: 0x93, hi: 0x93}, -+} -+ -+// lookup returns the trie value for the first UTF-8 encoding in s and -+// the width in bytes of this encoding. The size will be 0 if s does not -+// hold enough bytes to complete the encoding. len(s) must be greater than 0. -+func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { -+ c0 := s[0] -+ switch { -+ case c0 < 0x80: // is ASCII -+ return nfkcValues[c0], 1 -+ case c0 < 0xC2: -+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. -+ case c0 < 0xE0: // 2-byte UTF-8 -+ if len(s) < 2 { -+ return 0, 0 -+ } -+ i := nfkcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c1), 2 -+ case c0 < 0xF0: // 3-byte UTF-8 -+ if len(s) < 3 { -+ return 0, 0 -+ } -+ i := nfkcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = nfkcIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c2), 3 -+ case c0 < 0xF8: // 4-byte UTF-8 -+ if len(s) < 4 { -+ return 0, 0 -+ } -+ i := nfkcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = nfkcIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ o = uint32(i)<<6 + uint32(c2) -+ i = nfkcIndex[o] -+ c3 := s[3] -+ if c3 < 0x80 || 0xC0 <= c3 { -+ return 0, 3 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c3), 4 -+ } -+ // Illegal rune -+ return 0, 1 -+} -+ -+// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. -+// s must start with a full and valid UTF-8 encoded rune. -+func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { -+ c0 := s[0] -+ if c0 < 0x80 { // is ASCII -+ return nfkcValues[c0] -+ } -+ i := nfkcIndex[c0] -+ if c0 < 0xE0 { // 2-byte UTF-8 -+ return t.lookupValue(uint32(i), s[1]) -+ } -+ i = nfkcIndex[uint32(i)<<6+uint32(s[1])] -+ if c0 < 0xF0 { // 3-byte UTF-8 -+ return t.lookupValue(uint32(i), s[2]) -+ } -+ i = nfkcIndex[uint32(i)<<6+uint32(s[2])] -+ if c0 < 0xF8 { // 4-byte UTF-8 -+ return t.lookupValue(uint32(i), s[3]) -+ } -+ return 0 -+} -+ -+// lookupString returns the trie value for the first UTF-8 encoding in s and -+// the width in bytes of this encoding. The size will be 0 if s does not -+// hold enough bytes to complete the encoding. len(s) must be greater than 0. -+func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { -+ c0 := s[0] -+ switch { -+ case c0 < 0x80: // is ASCII -+ return nfkcValues[c0], 1 -+ case c0 < 0xC2: -+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. -+ case c0 < 0xE0: // 2-byte UTF-8 -+ if len(s) < 2 { -+ return 0, 0 -+ } -+ i := nfkcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c1), 2 -+ case c0 < 0xF0: // 3-byte UTF-8 -+ if len(s) < 3 { -+ return 0, 0 -+ } -+ i := nfkcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = nfkcIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c2), 3 -+ case c0 < 0xF8: // 4-byte UTF-8 -+ if len(s) < 4 { -+ return 0, 0 -+ } -+ i := nfkcIndex[c0] -+ c1 := s[1] -+ if c1 < 0x80 || 0xC0 <= c1 { -+ return 0, 1 // Illegal UTF-8: not a continuation byte. -+ } -+ o := uint32(i)<<6 + uint32(c1) -+ i = nfkcIndex[o] -+ c2 := s[2] -+ if c2 < 0x80 || 0xC0 <= c2 { -+ return 0, 2 // Illegal UTF-8: not a continuation byte. -+ } -+ o = uint32(i)<<6 + uint32(c2) -+ i = nfkcIndex[o] -+ c3 := s[3] -+ if c3 < 0x80 || 0xC0 <= c3 { -+ return 0, 3 // Illegal UTF-8: not a continuation byte. -+ } -+ return t.lookupValue(uint32(i), c3), 4 -+ } -+ // Illegal rune -+ return 0, 1 -+} -+ -+// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. -+// s must start with a full and valid UTF-8 encoded rune. -+func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { -+ c0 := s[0] -+ if c0 < 0x80 { // is ASCII -+ return nfkcValues[c0] -+ } -+ i := nfkcIndex[c0] -+ if c0 < 0xE0 { // 2-byte UTF-8 -+ return t.lookupValue(uint32(i), s[1]) -+ } -+ i = nfkcIndex[uint32(i)<<6+uint32(s[1])] -+ if c0 < 0xF0 { // 3-byte UTF-8 -+ return t.lookupValue(uint32(i), s[2]) -+ } -+ i = nfkcIndex[uint32(i)<<6+uint32(s[2])] -+ if c0 < 0xF8 { // 4-byte UTF-8 -+ return t.lookupValue(uint32(i), s[3]) -+ } -+ return 0 -+} -+ -+// nfkcTrie. Total size: 18684 bytes (18.25 KiB). Checksum: 113e23c477adfabd. -+type nfkcTrie struct{} -+ -+func newNfkcTrie(i int) *nfkcTrie { -+ return &nfkcTrie{} -+} -+ -+// lookupValue determines the type of block n and looks up the value for b. -+func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { -+ switch { -+ case n < 92: -+ return uint16(nfkcValues[n<<6+uint32(b)]) -+ default: -+ n -= 92 -+ return uint16(nfkcSparse.lookup(n, b)) -+ } -+} -+ -+// nfkcValues: 94 blocks, 6016 entries, 12032 bytes -+// The third block is the zero block. -+var nfkcValues = [6016]uint16{ -+ // Block 0x0, offset 0x0 -+ 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, -+ // Block 0x1, offset 0x40 -+ 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, -+ 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, -+ 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, -+ 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, -+ 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, -+ 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, -+ 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, -+ 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, -+ 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, -+ 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, -+ // Block 0x2, offset 0x80 -+ // Block 0x3, offset 0xc0 -+ 0xc0: 0x2f72, 0xc1: 0x2f77, 0xc2: 0x468b, 0xc3: 0x2f7c, 0xc4: 0x469a, 0xc5: 0x469f, -+ 0xc6: 0xa000, 0xc7: 0x46a9, 0xc8: 0x2fe5, 0xc9: 0x2fea, 0xca: 0x46ae, 0xcb: 0x2ffe, -+ 0xcc: 0x3071, 0xcd: 0x3076, 0xce: 0x307b, 0xcf: 0x46c2, 0xd1: 0x3107, -+ 0xd2: 0x312a, 0xd3: 0x312f, 0xd4: 0x46cc, 0xd5: 0x46d1, 0xd6: 0x46e0, -+ 0xd8: 0xa000, 0xd9: 0x31b6, 0xda: 0x31bb, 0xdb: 0x31c0, 0xdc: 0x4712, 0xdd: 0x3238, -+ 0xe0: 0x327e, 0xe1: 0x3283, 0xe2: 0x471c, 0xe3: 0x3288, -+ 0xe4: 0x472b, 0xe5: 0x4730, 0xe6: 0xa000, 0xe7: 0x473a, 0xe8: 0x32f1, 0xe9: 0x32f6, -+ 0xea: 0x473f, 0xeb: 0x330a, 0xec: 0x3382, 0xed: 0x3387, 0xee: 0x338c, 0xef: 0x4753, -+ 0xf1: 0x3418, 0xf2: 0x343b, 0xf3: 0x3440, 0xf4: 0x475d, 0xf5: 0x4762, -+ 0xf6: 0x4771, 0xf8: 0xa000, 0xf9: 0x34cc, 0xfa: 0x34d1, 0xfb: 0x34d6, -+ 0xfc: 0x47a3, 0xfd: 0x3553, 0xff: 0x356c, -+ // Block 0x4, offset 0x100 -+ 0x100: 0x2f81, 0x101: 0x328d, 0x102: 0x4690, 0x103: 0x4721, 0x104: 0x2f9f, 0x105: 0x32ab, -+ 0x106: 0x2fb3, 0x107: 0x32bf, 0x108: 0x2fb8, 0x109: 0x32c4, 0x10a: 0x2fbd, 0x10b: 0x32c9, -+ 0x10c: 0x2fc2, 0x10d: 0x32ce, 0x10e: 0x2fcc, 0x10f: 0x32d8, -+ 0x112: 0x46b3, 0x113: 0x4744, 0x114: 0x2ff4, 0x115: 0x3300, 0x116: 0x2ff9, 0x117: 0x3305, -+ 0x118: 0x3017, 0x119: 0x3323, 0x11a: 0x3008, 0x11b: 0x3314, 0x11c: 0x3030, 0x11d: 0x333c, -+ 0x11e: 0x303a, 0x11f: 0x3346, 0x120: 0x303f, 0x121: 0x334b, 0x122: 0x3049, 0x123: 0x3355, -+ 0x124: 0x304e, 0x125: 0x335a, 0x128: 0x3080, 0x129: 0x3391, -+ 0x12a: 0x3085, 0x12b: 0x3396, 0x12c: 0x308a, 0x12d: 0x339b, 0x12e: 0x30ad, 0x12f: 0x33b9, -+ 0x130: 0x308f, 0x132: 0x195d, 0x133: 0x19ea, 0x134: 0x30b7, 0x135: 0x33c3, -+ 0x136: 0x30cb, 0x137: 0x33dc, 0x139: 0x30d5, 0x13a: 0x33e6, 0x13b: 0x30df, -+ 0x13c: 0x33f0, 0x13d: 0x30da, 0x13e: 0x33eb, 0x13f: 0x1baf, -+ // Block 0x5, offset 0x140 -+ 0x140: 0x1c37, 0x143: 0x3102, 0x144: 0x3413, 0x145: 0x311b, -+ 0x146: 0x342c, 0x147: 0x3111, 0x148: 0x3422, 0x149: 0x1c5f, -+ 0x14c: 0x46d6, 0x14d: 0x4767, 0x14e: 0x3134, 0x14f: 0x3445, 0x150: 0x313e, 0x151: 0x344f, -+ 0x154: 0x315c, 0x155: 0x346d, 0x156: 0x3175, 0x157: 0x3486, -+ 0x158: 0x3166, 0x159: 0x3477, 0x15a: 0x46f9, 0x15b: 0x478a, 0x15c: 0x317f, 0x15d: 0x3490, -+ 0x15e: 0x318e, 0x15f: 0x349f, 0x160: 0x46fe, 0x161: 0x478f, 0x162: 0x31a7, 0x163: 0x34bd, -+ 0x164: 0x3198, 0x165: 0x34ae, 0x168: 0x4708, 0x169: 0x4799, -+ 0x16a: 0x470d, 0x16b: 0x479e, 0x16c: 0x31c5, 0x16d: 0x34db, 0x16e: 0x31cf, 0x16f: 0x34e5, -+ 0x170: 0x31d4, 0x171: 0x34ea, 0x172: 0x31f2, 0x173: 0x3508, 0x174: 0x3215, 0x175: 0x352b, -+ 0x176: 0x323d, 0x177: 0x3558, 0x178: 0x3251, 0x179: 0x3260, 0x17a: 0x3580, 0x17b: 0x326a, -+ 0x17c: 0x358a, 0x17d: 0x326f, 0x17e: 0x358f, 0x17f: 0x00a7, -+ // Block 0x6, offset 0x180 -+ 0x184: 0x2df1, 0x185: 0x2df7, -+ 0x186: 0x2dfd, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a0b, 0x18a: 0x198a, 0x18b: 0x198d, -+ 0x18c: 0x1a41, 0x18d: 0x2f8b, 0x18e: 0x3297, 0x18f: 0x3099, 0x190: 0x33a5, 0x191: 0x3143, -+ 0x192: 0x3454, 0x193: 0x31d9, 0x194: 0x34ef, 0x195: 0x39d2, 0x196: 0x3b61, 0x197: 0x39cb, -+ 0x198: 0x3b5a, 0x199: 0x39d9, 0x19a: 0x3b68, 0x19b: 0x39c4, 0x19c: 0x3b53, -+ 0x19e: 0x38b3, 0x19f: 0x3a42, 0x1a0: 0x38ac, 0x1a1: 0x3a3b, 0x1a2: 0x35b6, 0x1a3: 0x35c8, -+ 0x1a6: 0x3044, 0x1a7: 0x3350, 0x1a8: 0x30c1, 0x1a9: 0x33d2, -+ 0x1aa: 0x46ef, 0x1ab: 0x4780, 0x1ac: 0x3993, 0x1ad: 0x3b22, 0x1ae: 0x35da, 0x1af: 0x35e0, -+ 0x1b0: 0x33c8, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19d2, 0x1b4: 0x302b, 0x1b5: 0x3337, -+ 0x1b8: 0x30fd, 0x1b9: 0x340e, 0x1ba: 0x38ba, 0x1bb: 0x3a49, -+ 0x1bc: 0x35b0, 0x1bd: 0x35c2, 0x1be: 0x35bc, 0x1bf: 0x35ce, -+ // Block 0x7, offset 0x1c0 -+ 0x1c0: 0x2f90, 0x1c1: 0x329c, 0x1c2: 0x2f95, 0x1c3: 0x32a1, 0x1c4: 0x300d, 0x1c5: 0x3319, -+ 0x1c6: 0x3012, 0x1c7: 0x331e, 0x1c8: 0x309e, 0x1c9: 0x33aa, 0x1ca: 0x30a3, 0x1cb: 0x33af, -+ 0x1cc: 0x3148, 0x1cd: 0x3459, 0x1ce: 0x314d, 0x1cf: 0x345e, 0x1d0: 0x316b, 0x1d1: 0x347c, -+ 0x1d2: 0x3170, 0x1d3: 0x3481, 0x1d4: 0x31de, 0x1d5: 0x34f4, 0x1d6: 0x31e3, 0x1d7: 0x34f9, -+ 0x1d8: 0x3189, 0x1d9: 0x349a, 0x1da: 0x31a2, 0x1db: 0x34b8, -+ 0x1de: 0x305d, 0x1df: 0x3369, -+ 0x1e6: 0x4695, 0x1e7: 0x4726, 0x1e8: 0x46bd, 0x1e9: 0x474e, -+ 0x1ea: 0x3962, 0x1eb: 0x3af1, 0x1ec: 0x393f, 0x1ed: 0x3ace, 0x1ee: 0x46db, 0x1ef: 0x476c, -+ 0x1f0: 0x395b, 0x1f1: 0x3aea, 0x1f2: 0x3247, 0x1f3: 0x3562, -+ // Block 0x8, offset 0x200 -+ 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, -+ 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, -+ 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, -+ 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, -+ 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, -+ 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, -+ 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, -+ 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, -+ 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, -+ 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, -+ 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, -+ // Block 0x9, offset 0x240 -+ 0x240: 0x49b1, 0x241: 0x49b6, 0x242: 0x9932, 0x243: 0x49bb, 0x244: 0x4a74, 0x245: 0x9936, -+ 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, -+ 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, -+ 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, -+ 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, -+ 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, -+ 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, -+ 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, -+ 0x274: 0x0170, -+ 0x27a: 0x42a8, -+ 0x27e: 0x0037, -+ // Block 0xa, offset 0x280 -+ 0x284: 0x425d, 0x285: 0x447e, -+ 0x286: 0x35ec, 0x287: 0x00ce, 0x288: 0x360a, 0x289: 0x3616, 0x28a: 0x3628, -+ 0x28c: 0x3646, 0x28e: 0x3658, 0x28f: 0x3676, 0x290: 0x3e0b, 0x291: 0xa000, -+ 0x295: 0xa000, 0x297: 0xa000, -+ 0x299: 0xa000, -+ 0x29f: 0xa000, 0x2a1: 0xa000, -+ 0x2a5: 0xa000, 0x2a9: 0xa000, -+ 0x2aa: 0x363a, 0x2ab: 0x366a, 0x2ac: 0x4801, 0x2ad: 0x369a, 0x2ae: 0x482b, 0x2af: 0x36ac, -+ 0x2b0: 0x3e73, 0x2b1: 0xa000, 0x2b5: 0xa000, -+ 0x2b7: 0xa000, 0x2b9: 0xa000, -+ 0x2bf: 0xa000, -+ // Block 0xb, offset 0x2c0 -+ 0x2c1: 0xa000, 0x2c5: 0xa000, -+ 0x2c9: 0xa000, 0x2ca: 0x4843, 0x2cb: 0x4861, -+ 0x2cc: 0x36ca, 0x2cd: 0x36e2, 0x2ce: 0x4879, 0x2d0: 0x01be, 0x2d1: 0x01d0, -+ 0x2d2: 0x01ac, 0x2d3: 0x430f, 0x2d4: 0x4315, 0x2d5: 0x01fa, 0x2d6: 0x01e8, -+ 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, -+ 0x2f9: 0x01a6, -+ // Block 0xc, offset 0x300 -+ 0x300: 0x3724, 0x301: 0x3730, 0x303: 0x371e, -+ 0x306: 0xa000, 0x307: 0x370c, -+ 0x30c: 0x3760, 0x30d: 0x3748, 0x30e: 0x3772, 0x310: 0xa000, -+ 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, -+ 0x318: 0xa000, 0x319: 0x3754, 0x31a: 0xa000, -+ 0x31e: 0xa000, 0x323: 0xa000, -+ 0x327: 0xa000, -+ 0x32b: 0xa000, 0x32d: 0xa000, -+ 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, -+ 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d8, 0x33a: 0xa000, -+ 0x33e: 0xa000, -+ // Block 0xd, offset 0x340 -+ 0x341: 0x3736, 0x342: 0x37ba, -+ 0x350: 0x3712, 0x351: 0x3796, -+ 0x352: 0x3718, 0x353: 0x379c, 0x356: 0x372a, 0x357: 0x37ae, -+ 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x382c, 0x35b: 0x3832, 0x35c: 0x373c, 0x35d: 0x37c0, -+ 0x35e: 0x3742, 0x35f: 0x37c6, 0x362: 0x374e, 0x363: 0x37d2, -+ 0x364: 0x375a, 0x365: 0x37de, 0x366: 0x3766, 0x367: 0x37ea, 0x368: 0xa000, 0x369: 0xa000, -+ 0x36a: 0x3838, 0x36b: 0x383e, 0x36c: 0x3790, 0x36d: 0x3814, 0x36e: 0x376c, 0x36f: 0x37f0, -+ 0x370: 0x3778, 0x371: 0x37fc, 0x372: 0x377e, 0x373: 0x3802, 0x374: 0x3784, 0x375: 0x3808, -+ 0x378: 0x378a, 0x379: 0x380e, -+ // Block 0xe, offset 0x380 -+ 0x387: 0x1d64, -+ 0x391: 0x812d, -+ 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, -+ 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, -+ 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, -+ 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, -+ 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, -+ 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, -+ 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, -+ 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, -+ // Block 0xf, offset 0x3c0 -+ 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, -+ 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, -+ 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, -+ 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, -+ 0x3de: 0x8132, 0x3df: 0x812d, -+ 0x3f0: 0x811e, 0x3f5: 0x1d87, -+ 0x3f6: 0x2016, 0x3f7: 0x2052, 0x3f8: 0x204d, -+ // Block 0x10, offset 0x400 -+ 0x413: 0x812d, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132, -+ 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132, -+ 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x423: 0x812d, -+ 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x812d, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x812d, -+ 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x812d, 0x42e: 0x812d, 0x42f: 0x812d, -+ 0x430: 0x8116, 0x431: 0x8117, 0x432: 0x8118, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132, -+ 0x436: 0x812d, 0x437: 0x8132, 0x438: 0x8132, 0x439: 0x812d, 0x43a: 0x812d, 0x43b: 0x8132, -+ 0x43c: 0x8132, 0x43d: 0x8132, 0x43e: 0x8132, 0x43f: 0x8132, -+ // Block 0x11, offset 0x440 -+ 0x445: 0xa000, -+ 0x446: 0x2d29, 0x447: 0xa000, 0x448: 0x2d31, 0x449: 0xa000, 0x44a: 0x2d39, 0x44b: 0xa000, -+ 0x44c: 0x2d41, 0x44d: 0xa000, 0x44e: 0x2d49, 0x451: 0xa000, -+ 0x452: 0x2d51, -+ 0x474: 0x8102, 0x475: 0x9900, -+ 0x47a: 0xa000, 0x47b: 0x2d59, -+ 0x47c: 0xa000, 0x47d: 0x2d61, 0x47e: 0xa000, 0x47f: 0xa000, -+ // Block 0x12, offset 0x480 -+ 0x480: 0x0069, 0x481: 0x006b, 0x482: 0x006f, 0x483: 0x0083, 0x484: 0x00f5, 0x485: 0x00f8, -+ 0x486: 0x0413, 0x487: 0x0085, 0x488: 0x0089, 0x489: 0x008b, 0x48a: 0x0104, 0x48b: 0x0107, -+ 0x48c: 0x010a, 0x48d: 0x008f, 0x48f: 0x0097, 0x490: 0x009b, 0x491: 0x00e0, -+ 0x492: 0x009f, 0x493: 0x00fe, 0x494: 0x0417, 0x495: 0x041b, 0x496: 0x00a1, 0x497: 0x00a9, -+ 0x498: 0x00ab, 0x499: 0x0423, 0x49a: 0x012b, 0x49b: 0x00ad, 0x49c: 0x0427, 0x49d: 0x01be, -+ 0x49e: 0x01c1, 0x49f: 0x01c4, 0x4a0: 0x01fa, 0x4a1: 0x01fd, 0x4a2: 0x0093, 0x4a3: 0x00a5, -+ 0x4a4: 0x00ab, 0x4a5: 0x00ad, 0x4a6: 0x01be, 0x4a7: 0x01c1, 0x4a8: 0x01eb, 0x4a9: 0x01fa, -+ 0x4aa: 0x01fd, -+ 0x4b8: 0x020c, -+ // Block 0x13, offset 0x4c0 -+ 0x4db: 0x00fb, 0x4dc: 0x0087, 0x4dd: 0x0101, -+ 0x4de: 0x00d4, 0x4df: 0x010a, 0x4e0: 0x008d, 0x4e1: 0x010d, 0x4e2: 0x0110, 0x4e3: 0x0116, -+ 0x4e4: 0x011c, 0x4e5: 0x011f, 0x4e6: 0x0122, 0x4e7: 0x042b, 0x4e8: 0x016a, 0x4e9: 0x0128, -+ 0x4ea: 0x042f, 0x4eb: 0x016d, 0x4ec: 0x0131, 0x4ed: 0x012e, 0x4ee: 0x0134, 0x4ef: 0x0137, -+ 0x4f0: 0x013a, 0x4f1: 0x013d, 0x4f2: 0x0140, 0x4f3: 0x014c, 0x4f4: 0x014f, 0x4f5: 0x00ec, -+ 0x4f6: 0x0152, 0x4f7: 0x0155, 0x4f8: 0x041f, 0x4f9: 0x0158, 0x4fa: 0x015b, 0x4fb: 0x00b5, -+ 0x4fc: 0x015e, 0x4fd: 0x0161, 0x4fe: 0x0164, 0x4ff: 0x01d0, -+ // Block 0x14, offset 0x500 -+ 0x500: 0x8132, 0x501: 0x8132, 0x502: 0x812d, 0x503: 0x8132, 0x504: 0x8132, 0x505: 0x8132, -+ 0x506: 0x8132, 0x507: 0x8132, 0x508: 0x8132, 0x509: 0x8132, 0x50a: 0x812d, 0x50b: 0x8132, -+ 0x50c: 0x8132, 0x50d: 0x8135, 0x50e: 0x812a, 0x50f: 0x812d, 0x510: 0x8129, 0x511: 0x8132, -+ 0x512: 0x8132, 0x513: 0x8132, 0x514: 0x8132, 0x515: 0x8132, 0x516: 0x8132, 0x517: 0x8132, -+ 0x518: 0x8132, 0x519: 0x8132, 0x51a: 0x8132, 0x51b: 0x8132, 0x51c: 0x8132, 0x51d: 0x8132, -+ 0x51e: 0x8132, 0x51f: 0x8132, 0x520: 0x8132, 0x521: 0x8132, 0x522: 0x8132, 0x523: 0x8132, -+ 0x524: 0x8132, 0x525: 0x8132, 0x526: 0x8132, 0x527: 0x8132, 0x528: 0x8132, 0x529: 0x8132, -+ 0x52a: 0x8132, 0x52b: 0x8132, 0x52c: 0x8132, 0x52d: 0x8132, 0x52e: 0x8132, 0x52f: 0x8132, -+ 0x530: 0x8132, 0x531: 0x8132, 0x532: 0x8132, 0x533: 0x8132, 0x534: 0x8132, 0x535: 0x8132, -+ 0x536: 0x8133, 0x537: 0x8131, 0x538: 0x8131, 0x539: 0x812d, 0x53b: 0x8132, -+ 0x53c: 0x8134, 0x53d: 0x812d, 0x53e: 0x8132, 0x53f: 0x812d, -+ // Block 0x15, offset 0x540 -+ 0x540: 0x2f9a, 0x541: 0x32a6, 0x542: 0x2fa4, 0x543: 0x32b0, 0x544: 0x2fa9, 0x545: 0x32b5, -+ 0x546: 0x2fae, 0x547: 0x32ba, 0x548: 0x38cf, 0x549: 0x3a5e, 0x54a: 0x2fc7, 0x54b: 0x32d3, -+ 0x54c: 0x2fd1, 0x54d: 0x32dd, 0x54e: 0x2fe0, 0x54f: 0x32ec, 0x550: 0x2fd6, 0x551: 0x32e2, -+ 0x552: 0x2fdb, 0x553: 0x32e7, 0x554: 0x38f2, 0x555: 0x3a81, 0x556: 0x38f9, 0x557: 0x3a88, -+ 0x558: 0x301c, 0x559: 0x3328, 0x55a: 0x3021, 0x55b: 0x332d, 0x55c: 0x3907, 0x55d: 0x3a96, -+ 0x55e: 0x3026, 0x55f: 0x3332, 0x560: 0x3035, 0x561: 0x3341, 0x562: 0x3053, 0x563: 0x335f, -+ 0x564: 0x3062, 0x565: 0x336e, 0x566: 0x3058, 0x567: 0x3364, 0x568: 0x3067, 0x569: 0x3373, -+ 0x56a: 0x306c, 0x56b: 0x3378, 0x56c: 0x30b2, 0x56d: 0x33be, 0x56e: 0x390e, 0x56f: 0x3a9d, -+ 0x570: 0x30bc, 0x571: 0x33cd, 0x572: 0x30c6, 0x573: 0x33d7, 0x574: 0x30d0, 0x575: 0x33e1, -+ 0x576: 0x46c7, 0x577: 0x4758, 0x578: 0x3915, 0x579: 0x3aa4, 0x57a: 0x30e9, 0x57b: 0x33fa, -+ 0x57c: 0x30e4, 0x57d: 0x33f5, 0x57e: 0x30ee, 0x57f: 0x33ff, -+ // Block 0x16, offset 0x580 -+ 0x580: 0x30f3, 0x581: 0x3404, 0x582: 0x30f8, 0x583: 0x3409, 0x584: 0x310c, 0x585: 0x341d, -+ 0x586: 0x3116, 0x587: 0x3427, 0x588: 0x3125, 0x589: 0x3436, 0x58a: 0x3120, 0x58b: 0x3431, -+ 0x58c: 0x3938, 0x58d: 0x3ac7, 0x58e: 0x3946, 0x58f: 0x3ad5, 0x590: 0x394d, 0x591: 0x3adc, -+ 0x592: 0x3954, 0x593: 0x3ae3, 0x594: 0x3152, 0x595: 0x3463, 0x596: 0x3157, 0x597: 0x3468, -+ 0x598: 0x3161, 0x599: 0x3472, 0x59a: 0x46f4, 0x59b: 0x4785, 0x59c: 0x399a, 0x59d: 0x3b29, -+ 0x59e: 0x317a, 0x59f: 0x348b, 0x5a0: 0x3184, 0x5a1: 0x3495, 0x5a2: 0x4703, 0x5a3: 0x4794, -+ 0x5a4: 0x39a1, 0x5a5: 0x3b30, 0x5a6: 0x39a8, 0x5a7: 0x3b37, 0x5a8: 0x39af, 0x5a9: 0x3b3e, -+ 0x5aa: 0x3193, 0x5ab: 0x34a4, 0x5ac: 0x319d, 0x5ad: 0x34b3, 0x5ae: 0x31b1, 0x5af: 0x34c7, -+ 0x5b0: 0x31ac, 0x5b1: 0x34c2, 0x5b2: 0x31ed, 0x5b3: 0x3503, 0x5b4: 0x31fc, 0x5b5: 0x3512, -+ 0x5b6: 0x31f7, 0x5b7: 0x350d, 0x5b8: 0x39b6, 0x5b9: 0x3b45, 0x5ba: 0x39bd, 0x5bb: 0x3b4c, -+ 0x5bc: 0x3201, 0x5bd: 0x3517, 0x5be: 0x3206, 0x5bf: 0x351c, -+ // Block 0x17, offset 0x5c0 -+ 0x5c0: 0x320b, 0x5c1: 0x3521, 0x5c2: 0x3210, 0x5c3: 0x3526, 0x5c4: 0x321f, 0x5c5: 0x3535, -+ 0x5c6: 0x321a, 0x5c7: 0x3530, 0x5c8: 0x3224, 0x5c9: 0x353f, 0x5ca: 0x3229, 0x5cb: 0x3544, -+ 0x5cc: 0x322e, 0x5cd: 0x3549, 0x5ce: 0x324c, 0x5cf: 0x3567, 0x5d0: 0x3265, 0x5d1: 0x3585, -+ 0x5d2: 0x3274, 0x5d3: 0x3594, 0x5d4: 0x3279, 0x5d5: 0x3599, 0x5d6: 0x337d, 0x5d7: 0x34a9, -+ 0x5d8: 0x353a, 0x5d9: 0x3576, 0x5da: 0x1be3, 0x5db: 0x42da, -+ 0x5e0: 0x46a4, 0x5e1: 0x4735, 0x5e2: 0x2f86, 0x5e3: 0x3292, -+ 0x5e4: 0x387b, 0x5e5: 0x3a0a, 0x5e6: 0x3874, 0x5e7: 0x3a03, 0x5e8: 0x3889, 0x5e9: 0x3a18, -+ 0x5ea: 0x3882, 0x5eb: 0x3a11, 0x5ec: 0x38c1, 0x5ed: 0x3a50, 0x5ee: 0x3897, 0x5ef: 0x3a26, -+ 0x5f0: 0x3890, 0x5f1: 0x3a1f, 0x5f2: 0x38a5, 0x5f3: 0x3a34, 0x5f4: 0x389e, 0x5f5: 0x3a2d, -+ 0x5f6: 0x38c8, 0x5f7: 0x3a57, 0x5f8: 0x46b8, 0x5f9: 0x4749, 0x5fa: 0x3003, 0x5fb: 0x330f, -+ 0x5fc: 0x2fef, 0x5fd: 0x32fb, 0x5fe: 0x38dd, 0x5ff: 0x3a6c, -+ // Block 0x18, offset 0x600 -+ 0x600: 0x38d6, 0x601: 0x3a65, 0x602: 0x38eb, 0x603: 0x3a7a, 0x604: 0x38e4, 0x605: 0x3a73, -+ 0x606: 0x3900, 0x607: 0x3a8f, 0x608: 0x3094, 0x609: 0x33a0, 0x60a: 0x30a8, 0x60b: 0x33b4, -+ 0x60c: 0x46ea, 0x60d: 0x477b, 0x60e: 0x3139, 0x60f: 0x344a, 0x610: 0x3923, 0x611: 0x3ab2, -+ 0x612: 0x391c, 0x613: 0x3aab, 0x614: 0x3931, 0x615: 0x3ac0, 0x616: 0x392a, 0x617: 0x3ab9, -+ 0x618: 0x398c, 0x619: 0x3b1b, 0x61a: 0x3970, 0x61b: 0x3aff, 0x61c: 0x3969, 0x61d: 0x3af8, -+ 0x61e: 0x397e, 0x61f: 0x3b0d, 0x620: 0x3977, 0x621: 0x3b06, 0x622: 0x3985, 0x623: 0x3b14, -+ 0x624: 0x31e8, 0x625: 0x34fe, 0x626: 0x31ca, 0x627: 0x34e0, 0x628: 0x39e7, 0x629: 0x3b76, -+ 0x62a: 0x39e0, 0x62b: 0x3b6f, 0x62c: 0x39f5, 0x62d: 0x3b84, 0x62e: 0x39ee, 0x62f: 0x3b7d, -+ 0x630: 0x39fc, 0x631: 0x3b8b, 0x632: 0x3233, 0x633: 0x354e, 0x634: 0x325b, 0x635: 0x357b, -+ 0x636: 0x3256, 0x637: 0x3571, 0x638: 0x3242, 0x639: 0x355d, -+ // Block 0x19, offset 0x640 -+ 0x640: 0x4807, 0x641: 0x480d, 0x642: 0x4921, 0x643: 0x4939, 0x644: 0x4929, 0x645: 0x4941, -+ 0x646: 0x4931, 0x647: 0x4949, 0x648: 0x47ad, 0x649: 0x47b3, 0x64a: 0x4891, 0x64b: 0x48a9, -+ 0x64c: 0x4899, 0x64d: 0x48b1, 0x64e: 0x48a1, 0x64f: 0x48b9, 0x650: 0x4819, 0x651: 0x481f, -+ 0x652: 0x3dbb, 0x653: 0x3dcb, 0x654: 0x3dc3, 0x655: 0x3dd3, -+ 0x658: 0x47b9, 0x659: 0x47bf, 0x65a: 0x3ceb, 0x65b: 0x3cfb, 0x65c: 0x3cf3, 0x65d: 0x3d03, -+ 0x660: 0x4831, 0x661: 0x4837, 0x662: 0x4951, 0x663: 0x4969, -+ 0x664: 0x4959, 0x665: 0x4971, 0x666: 0x4961, 0x667: 0x4979, 0x668: 0x47c5, 0x669: 0x47cb, -+ 0x66a: 0x48c1, 0x66b: 0x48d9, 0x66c: 0x48c9, 0x66d: 0x48e1, 0x66e: 0x48d1, 0x66f: 0x48e9, -+ 0x670: 0x4849, 0x671: 0x484f, 0x672: 0x3e1b, 0x673: 0x3e33, 0x674: 0x3e23, 0x675: 0x3e3b, -+ 0x676: 0x3e2b, 0x677: 0x3e43, 0x678: 0x47d1, 0x679: 0x47d7, 0x67a: 0x3d1b, 0x67b: 0x3d33, -+ 0x67c: 0x3d23, 0x67d: 0x3d3b, 0x67e: 0x3d2b, 0x67f: 0x3d43, -+ // Block 0x1a, offset 0x680 -+ 0x680: 0x4855, 0x681: 0x485b, 0x682: 0x3e4b, 0x683: 0x3e5b, 0x684: 0x3e53, 0x685: 0x3e63, -+ 0x688: 0x47dd, 0x689: 0x47e3, 0x68a: 0x3d4b, 0x68b: 0x3d5b, -+ 0x68c: 0x3d53, 0x68d: 0x3d63, 0x690: 0x4867, 0x691: 0x486d, -+ 0x692: 0x3e83, 0x693: 0x3e9b, 0x694: 0x3e8b, 0x695: 0x3ea3, 0x696: 0x3e93, 0x697: 0x3eab, -+ 0x699: 0x47e9, 0x69b: 0x3d6b, 0x69d: 0x3d73, -+ 0x69f: 0x3d7b, 0x6a0: 0x487f, 0x6a1: 0x4885, 0x6a2: 0x4981, 0x6a3: 0x4999, -+ 0x6a4: 0x4989, 0x6a5: 0x49a1, 0x6a6: 0x4991, 0x6a7: 0x49a9, 0x6a8: 0x47ef, 0x6a9: 0x47f5, -+ 0x6aa: 0x48f1, 0x6ab: 0x4909, 0x6ac: 0x48f9, 0x6ad: 0x4911, 0x6ae: 0x4901, 0x6af: 0x4919, -+ 0x6b0: 0x47fb, 0x6b1: 0x4321, 0x6b2: 0x3694, 0x6b3: 0x4327, 0x6b4: 0x4825, 0x6b5: 0x432d, -+ 0x6b6: 0x36a6, 0x6b7: 0x4333, 0x6b8: 0x36c4, 0x6b9: 0x4339, 0x6ba: 0x36dc, 0x6bb: 0x433f, -+ 0x6bc: 0x4873, 0x6bd: 0x4345, -+ // Block 0x1b, offset 0x6c0 -+ 0x6c0: 0x3da3, 0x6c1: 0x3dab, 0x6c2: 0x4187, 0x6c3: 0x41a5, 0x6c4: 0x4191, 0x6c5: 0x41af, -+ 0x6c6: 0x419b, 0x6c7: 0x41b9, 0x6c8: 0x3cdb, 0x6c9: 0x3ce3, 0x6ca: 0x40d3, 0x6cb: 0x40f1, -+ 0x6cc: 0x40dd, 0x6cd: 0x40fb, 0x6ce: 0x40e7, 0x6cf: 0x4105, 0x6d0: 0x3deb, 0x6d1: 0x3df3, -+ 0x6d2: 0x41c3, 0x6d3: 0x41e1, 0x6d4: 0x41cd, 0x6d5: 0x41eb, 0x6d6: 0x41d7, 0x6d7: 0x41f5, -+ 0x6d8: 0x3d0b, 0x6d9: 0x3d13, 0x6da: 0x410f, 0x6db: 0x412d, 0x6dc: 0x4119, 0x6dd: 0x4137, -+ 0x6de: 0x4123, 0x6df: 0x4141, 0x6e0: 0x3ec3, 0x6e1: 0x3ecb, 0x6e2: 0x41ff, 0x6e3: 0x421d, -+ 0x6e4: 0x4209, 0x6e5: 0x4227, 0x6e6: 0x4213, 0x6e7: 0x4231, 0x6e8: 0x3d83, 0x6e9: 0x3d8b, -+ 0x6ea: 0x414b, 0x6eb: 0x4169, 0x6ec: 0x4155, 0x6ed: 0x4173, 0x6ee: 0x415f, 0x6ef: 0x417d, -+ 0x6f0: 0x3688, 0x6f1: 0x3682, 0x6f2: 0x3d93, 0x6f3: 0x368e, 0x6f4: 0x3d9b, -+ 0x6f6: 0x4813, 0x6f7: 0x3db3, 0x6f8: 0x35f8, 0x6f9: 0x35f2, 0x6fa: 0x35e6, 0x6fb: 0x42f1, -+ 0x6fc: 0x35fe, 0x6fd: 0x428a, 0x6fe: 0x01d3, 0x6ff: 0x428a, -+ // Block 0x1c, offset 0x700 -+ 0x700: 0x42a3, 0x701: 0x4485, 0x702: 0x3ddb, 0x703: 0x36a0, 0x704: 0x3de3, -+ 0x706: 0x483d, 0x707: 0x3dfb, 0x708: 0x3604, 0x709: 0x42f7, 0x70a: 0x3610, 0x70b: 0x42fd, -+ 0x70c: 0x361c, 0x70d: 0x448c, 0x70e: 0x4493, 0x70f: 0x449a, 0x710: 0x36b8, 0x711: 0x36b2, -+ 0x712: 0x3e03, 0x713: 0x44e7, 0x716: 0x36be, 0x717: 0x3e13, -+ 0x718: 0x3634, 0x719: 0x362e, 0x71a: 0x3622, 0x71b: 0x4303, 0x71d: 0x44a1, -+ 0x71e: 0x44a8, 0x71f: 0x44af, 0x720: 0x36ee, 0x721: 0x36e8, 0x722: 0x3e6b, 0x723: 0x44ef, -+ 0x724: 0x36d0, 0x725: 0x36d6, 0x726: 0x36f4, 0x727: 0x3e7b, 0x728: 0x3664, 0x729: 0x365e, -+ 0x72a: 0x3652, 0x72b: 0x430f, 0x72c: 0x364c, 0x72d: 0x4477, 0x72e: 0x447e, 0x72f: 0x0081, -+ 0x732: 0x3eb3, 0x733: 0x36fa, 0x734: 0x3ebb, -+ 0x736: 0x488b, 0x737: 0x3ed3, 0x738: 0x3640, 0x739: 0x4309, 0x73a: 0x3670, 0x73b: 0x431b, -+ 0x73c: 0x367c, 0x73d: 0x425d, 0x73e: 0x428f, -+ // Block 0x1d, offset 0x740 -+ 0x740: 0x1bdb, 0x741: 0x1bdf, 0x742: 0x0047, 0x743: 0x1c57, 0x745: 0x1beb, -+ 0x746: 0x1bef, 0x747: 0x00e9, 0x749: 0x1c5b, 0x74a: 0x008f, 0x74b: 0x0051, -+ 0x74c: 0x0051, 0x74d: 0x0051, 0x74e: 0x0091, 0x74f: 0x00da, 0x750: 0x0053, 0x751: 0x0053, -+ 0x752: 0x0059, 0x753: 0x0099, 0x755: 0x005d, 0x756: 0x1990, -+ 0x759: 0x0061, 0x75a: 0x0063, 0x75b: 0x0065, 0x75c: 0x0065, 0x75d: 0x0065, -+ 0x760: 0x19a2, 0x761: 0x1bcb, 0x762: 0x19ab, -+ 0x764: 0x0075, 0x766: 0x01b8, 0x768: 0x0075, -+ 0x76a: 0x0057, 0x76b: 0x42d5, 0x76c: 0x0045, 0x76d: 0x0047, 0x76f: 0x008b, -+ 0x770: 0x004b, 0x771: 0x004d, 0x773: 0x005b, 0x774: 0x009f, 0x775: 0x0215, -+ 0x776: 0x0218, 0x777: 0x021b, 0x778: 0x021e, 0x779: 0x0093, 0x77b: 0x1b9b, -+ 0x77c: 0x01e8, 0x77d: 0x01c1, 0x77e: 0x0179, 0x77f: 0x01a0, -+ // Block 0x1e, offset 0x780 -+ 0x780: 0x0463, 0x785: 0x0049, -+ 0x786: 0x0089, 0x787: 0x008b, 0x788: 0x0093, 0x789: 0x0095, -+ 0x790: 0x2231, 0x791: 0x223d, -+ 0x792: 0x22f1, 0x793: 0x2219, 0x794: 0x229d, 0x795: 0x2225, 0x796: 0x22a3, 0x797: 0x22bb, -+ 0x798: 0x22c7, 0x799: 0x222b, 0x79a: 0x22cd, 0x79b: 0x2237, 0x79c: 0x22c1, 0x79d: 0x22d3, -+ 0x79e: 0x22d9, 0x79f: 0x1cbf, 0x7a0: 0x0053, 0x7a1: 0x195a, 0x7a2: 0x1ba7, 0x7a3: 0x1963, -+ 0x7a4: 0x006d, 0x7a5: 0x19ae, 0x7a6: 0x1bd3, 0x7a7: 0x1d4b, 0x7a8: 0x1966, 0x7a9: 0x0071, -+ 0x7aa: 0x19ba, 0x7ab: 0x1bd7, 0x7ac: 0x0059, 0x7ad: 0x0047, 0x7ae: 0x0049, 0x7af: 0x005b, -+ 0x7b0: 0x0093, 0x7b1: 0x19e7, 0x7b2: 0x1c1b, 0x7b3: 0x19f0, 0x7b4: 0x00ad, 0x7b5: 0x1a65, -+ 0x7b6: 0x1c4f, 0x7b7: 0x1d5f, 0x7b8: 0x19f3, 0x7b9: 0x00b1, 0x7ba: 0x1a68, 0x7bb: 0x1c53, -+ 0x7bc: 0x0099, 0x7bd: 0x0087, 0x7be: 0x0089, 0x7bf: 0x009b, -+ // Block 0x1f, offset 0x7c0 -+ 0x7c1: 0x3c09, 0x7c3: 0xa000, 0x7c4: 0x3c10, 0x7c5: 0xa000, -+ 0x7c7: 0x3c17, 0x7c8: 0xa000, 0x7c9: 0x3c1e, -+ 0x7cd: 0xa000, -+ 0x7e0: 0x2f68, 0x7e1: 0xa000, 0x7e2: 0x3c2c, -+ 0x7e4: 0xa000, 0x7e5: 0xa000, -+ 0x7ed: 0x3c25, 0x7ee: 0x2f63, 0x7ef: 0x2f6d, -+ 0x7f0: 0x3c33, 0x7f1: 0x3c3a, 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0x3c41, 0x7f5: 0x3c48, -+ 0x7f6: 0xa000, 0x7f7: 0xa000, 0x7f8: 0x3c4f, 0x7f9: 0x3c56, 0x7fa: 0xa000, 0x7fb: 0xa000, -+ 0x7fc: 0xa000, 0x7fd: 0xa000, -+ // Block 0x20, offset 0x800 -+ 0x800: 0x3c5d, 0x801: 0x3c64, 0x802: 0xa000, 0x803: 0xa000, 0x804: 0x3c79, 0x805: 0x3c80, -+ 0x806: 0xa000, 0x807: 0xa000, 0x808: 0x3c87, 0x809: 0x3c8e, -+ 0x811: 0xa000, -+ 0x812: 0xa000, -+ 0x822: 0xa000, -+ 0x828: 0xa000, 0x829: 0xa000, -+ 0x82b: 0xa000, 0x82c: 0x3ca3, 0x82d: 0x3caa, 0x82e: 0x3cb1, 0x82f: 0x3cb8, -+ 0x832: 0xa000, 0x833: 0xa000, 0x834: 0xa000, 0x835: 0xa000, -+ // Block 0x21, offset 0x840 -+ 0x860: 0x0023, 0x861: 0x0025, 0x862: 0x0027, 0x863: 0x0029, -+ 0x864: 0x002b, 0x865: 0x002d, 0x866: 0x002f, 0x867: 0x0031, 0x868: 0x0033, 0x869: 0x1882, -+ 0x86a: 0x1885, 0x86b: 0x1888, 0x86c: 0x188b, 0x86d: 0x188e, 0x86e: 0x1891, 0x86f: 0x1894, -+ 0x870: 0x1897, 0x871: 0x189a, 0x872: 0x189d, 0x873: 0x18a6, 0x874: 0x1a6b, 0x875: 0x1a6f, -+ 0x876: 0x1a73, 0x877: 0x1a77, 0x878: 0x1a7b, 0x879: 0x1a7f, 0x87a: 0x1a83, 0x87b: 0x1a87, -+ 0x87c: 0x1a8b, 0x87d: 0x1c83, 0x87e: 0x1c88, 0x87f: 0x1c8d, -+ // Block 0x22, offset 0x880 -+ 0x880: 0x1c92, 0x881: 0x1c97, 0x882: 0x1c9c, 0x883: 0x1ca1, 0x884: 0x1ca6, 0x885: 0x1cab, -+ 0x886: 0x1cb0, 0x887: 0x1cb5, 0x888: 0x187f, 0x889: 0x18a3, 0x88a: 0x18c7, 0x88b: 0x18eb, -+ 0x88c: 0x190f, 0x88d: 0x1918, 0x88e: 0x191e, 0x88f: 0x1924, 0x890: 0x192a, 0x891: 0x1b63, -+ 0x892: 0x1b67, 0x893: 0x1b6b, 0x894: 0x1b6f, 0x895: 0x1b73, 0x896: 0x1b77, 0x897: 0x1b7b, -+ 0x898: 0x1b7f, 0x899: 0x1b83, 0x89a: 0x1b87, 0x89b: 0x1b8b, 0x89c: 0x1af7, 0x89d: 0x1afb, -+ 0x89e: 0x1aff, 0x89f: 0x1b03, 0x8a0: 0x1b07, 0x8a1: 0x1b0b, 0x8a2: 0x1b0f, 0x8a3: 0x1b13, -+ 0x8a4: 0x1b17, 0x8a5: 0x1b1b, 0x8a6: 0x1b1f, 0x8a7: 0x1b23, 0x8a8: 0x1b27, 0x8a9: 0x1b2b, -+ 0x8aa: 0x1b2f, 0x8ab: 0x1b33, 0x8ac: 0x1b37, 0x8ad: 0x1b3b, 0x8ae: 0x1b3f, 0x8af: 0x1b43, -+ 0x8b0: 0x1b47, 0x8b1: 0x1b4b, 0x8b2: 0x1b4f, 0x8b3: 0x1b53, 0x8b4: 0x1b57, 0x8b5: 0x1b5b, -+ 0x8b6: 0x0043, 0x8b7: 0x0045, 0x8b8: 0x0047, 0x8b9: 0x0049, 0x8ba: 0x004b, 0x8bb: 0x004d, -+ 0x8bc: 0x004f, 0x8bd: 0x0051, 0x8be: 0x0053, 0x8bf: 0x0055, -+ // Block 0x23, offset 0x8c0 -+ 0x8c0: 0x06bf, 0x8c1: 0x06e3, 0x8c2: 0x06ef, 0x8c3: 0x06ff, 0x8c4: 0x0707, 0x8c5: 0x0713, -+ 0x8c6: 0x071b, 0x8c7: 0x0723, 0x8c8: 0x072f, 0x8c9: 0x0783, 0x8ca: 0x079b, 0x8cb: 0x07ab, -+ 0x8cc: 0x07bb, 0x8cd: 0x07cb, 0x8ce: 0x07db, 0x8cf: 0x07fb, 0x8d0: 0x07ff, 0x8d1: 0x0803, -+ 0x8d2: 0x0837, 0x8d3: 0x085f, 0x8d4: 0x086f, 0x8d5: 0x0877, 0x8d6: 0x087b, 0x8d7: 0x0887, -+ 0x8d8: 0x08a3, 0x8d9: 0x08a7, 0x8da: 0x08bf, 0x8db: 0x08c3, 0x8dc: 0x08cb, 0x8dd: 0x08db, -+ 0x8de: 0x0977, 0x8df: 0x098b, 0x8e0: 0x09cb, 0x8e1: 0x09df, 0x8e2: 0x09e7, 0x8e3: 0x09eb, -+ 0x8e4: 0x09fb, 0x8e5: 0x0a17, 0x8e6: 0x0a43, 0x8e7: 0x0a4f, 0x8e8: 0x0a6f, 0x8e9: 0x0a7b, -+ 0x8ea: 0x0a7f, 0x8eb: 0x0a83, 0x8ec: 0x0a9b, 0x8ed: 0x0a9f, 0x8ee: 0x0acb, 0x8ef: 0x0ad7, -+ 0x8f0: 0x0adf, 0x8f1: 0x0ae7, 0x8f2: 0x0af7, 0x8f3: 0x0aff, 0x8f4: 0x0b07, 0x8f5: 0x0b33, -+ 0x8f6: 0x0b37, 0x8f7: 0x0b3f, 0x8f8: 0x0b43, 0x8f9: 0x0b4b, 0x8fa: 0x0b53, 0x8fb: 0x0b63, -+ 0x8fc: 0x0b7f, 0x8fd: 0x0bf7, 0x8fe: 0x0c0b, 0x8ff: 0x0c0f, -+ // Block 0x24, offset 0x900 -+ 0x900: 0x0c8f, 0x901: 0x0c93, 0x902: 0x0ca7, 0x903: 0x0cab, 0x904: 0x0cb3, 0x905: 0x0cbb, -+ 0x906: 0x0cc3, 0x907: 0x0ccf, 0x908: 0x0cf7, 0x909: 0x0d07, 0x90a: 0x0d1b, 0x90b: 0x0d8b, -+ 0x90c: 0x0d97, 0x90d: 0x0da7, 0x90e: 0x0db3, 0x90f: 0x0dbf, 0x910: 0x0dc7, 0x911: 0x0dcb, -+ 0x912: 0x0dcf, 0x913: 0x0dd3, 0x914: 0x0dd7, 0x915: 0x0e8f, 0x916: 0x0ed7, 0x917: 0x0ee3, -+ 0x918: 0x0ee7, 0x919: 0x0eeb, 0x91a: 0x0eef, 0x91b: 0x0ef7, 0x91c: 0x0efb, 0x91d: 0x0f0f, -+ 0x91e: 0x0f2b, 0x91f: 0x0f33, 0x920: 0x0f73, 0x921: 0x0f77, 0x922: 0x0f7f, 0x923: 0x0f83, -+ 0x924: 0x0f8b, 0x925: 0x0f8f, 0x926: 0x0fb3, 0x927: 0x0fb7, 0x928: 0x0fd3, 0x929: 0x0fd7, -+ 0x92a: 0x0fdb, 0x92b: 0x0fdf, 0x92c: 0x0ff3, 0x92d: 0x1017, 0x92e: 0x101b, 0x92f: 0x101f, -+ 0x930: 0x1043, 0x931: 0x1083, 0x932: 0x1087, 0x933: 0x10a7, 0x934: 0x10b7, 0x935: 0x10bf, -+ 0x936: 0x10df, 0x937: 0x1103, 0x938: 0x1147, 0x939: 0x114f, 0x93a: 0x1163, 0x93b: 0x116f, -+ 0x93c: 0x1177, 0x93d: 0x117f, 0x93e: 0x1183, 0x93f: 0x1187, -+ // Block 0x25, offset 0x940 -+ 0x940: 0x119f, 0x941: 0x11a3, 0x942: 0x11bf, 0x943: 0x11c7, 0x944: 0x11cf, 0x945: 0x11d3, -+ 0x946: 0x11df, 0x947: 0x11e7, 0x948: 0x11eb, 0x949: 0x11ef, 0x94a: 0x11f7, 0x94b: 0x11fb, -+ 0x94c: 0x129b, 0x94d: 0x12af, 0x94e: 0x12e3, 0x94f: 0x12e7, 0x950: 0x12ef, 0x951: 0x131b, -+ 0x952: 0x1323, 0x953: 0x132b, 0x954: 0x1333, 0x955: 0x136f, 0x956: 0x1373, 0x957: 0x137b, -+ 0x958: 0x137f, 0x959: 0x1383, 0x95a: 0x13af, 0x95b: 0x13b3, 0x95c: 0x13bb, 0x95d: 0x13cf, -+ 0x95e: 0x13d3, 0x95f: 0x13ef, 0x960: 0x13f7, 0x961: 0x13fb, 0x962: 0x141f, 0x963: 0x143f, -+ 0x964: 0x1453, 0x965: 0x1457, 0x966: 0x145f, 0x967: 0x148b, 0x968: 0x148f, 0x969: 0x149f, -+ 0x96a: 0x14c3, 0x96b: 0x14cf, 0x96c: 0x14df, 0x96d: 0x14f7, 0x96e: 0x14ff, 0x96f: 0x1503, -+ 0x970: 0x1507, 0x971: 0x150b, 0x972: 0x1517, 0x973: 0x151b, 0x974: 0x1523, 0x975: 0x153f, -+ 0x976: 0x1543, 0x977: 0x1547, 0x978: 0x155f, 0x979: 0x1563, 0x97a: 0x156b, 0x97b: 0x157f, -+ 0x97c: 0x1583, 0x97d: 0x1587, 0x97e: 0x158f, 0x97f: 0x1593, -+ // Block 0x26, offset 0x980 -+ 0x986: 0xa000, 0x98b: 0xa000, -+ 0x98c: 0x3f0b, 0x98d: 0xa000, 0x98e: 0x3f13, 0x98f: 0xa000, 0x990: 0x3f1b, 0x991: 0xa000, -+ 0x992: 0x3f23, 0x993: 0xa000, 0x994: 0x3f2b, 0x995: 0xa000, 0x996: 0x3f33, 0x997: 0xa000, -+ 0x998: 0x3f3b, 0x999: 0xa000, 0x99a: 0x3f43, 0x99b: 0xa000, 0x99c: 0x3f4b, 0x99d: 0xa000, -+ 0x99e: 0x3f53, 0x99f: 0xa000, 0x9a0: 0x3f5b, 0x9a1: 0xa000, 0x9a2: 0x3f63, -+ 0x9a4: 0xa000, 0x9a5: 0x3f6b, 0x9a6: 0xa000, 0x9a7: 0x3f73, 0x9a8: 0xa000, 0x9a9: 0x3f7b, -+ 0x9af: 0xa000, -+ 0x9b0: 0x3f83, 0x9b1: 0x3f8b, 0x9b2: 0xa000, 0x9b3: 0x3f93, 0x9b4: 0x3f9b, 0x9b5: 0xa000, -+ 0x9b6: 0x3fa3, 0x9b7: 0x3fab, 0x9b8: 0xa000, 0x9b9: 0x3fb3, 0x9ba: 0x3fbb, 0x9bb: 0xa000, -+ 0x9bc: 0x3fc3, 0x9bd: 0x3fcb, -+ // Block 0x27, offset 0x9c0 -+ 0x9d4: 0x3f03, -+ 0x9d9: 0x9903, 0x9da: 0x9903, 0x9db: 0x42df, 0x9dc: 0x42e5, 0x9dd: 0xa000, -+ 0x9de: 0x3fd3, 0x9df: 0x26b7, -+ 0x9e6: 0xa000, -+ 0x9eb: 0xa000, 0x9ec: 0x3fe3, 0x9ed: 0xa000, 0x9ee: 0x3feb, 0x9ef: 0xa000, -+ 0x9f0: 0x3ff3, 0x9f1: 0xa000, 0x9f2: 0x3ffb, 0x9f3: 0xa000, 0x9f4: 0x4003, 0x9f5: 0xa000, -+ 0x9f6: 0x400b, 0x9f7: 0xa000, 0x9f8: 0x4013, 0x9f9: 0xa000, 0x9fa: 0x401b, 0x9fb: 0xa000, -+ 0x9fc: 0x4023, 0x9fd: 0xa000, 0x9fe: 0x402b, 0x9ff: 0xa000, -+ // Block 0x28, offset 0xa00 -+ 0xa00: 0x4033, 0xa01: 0xa000, 0xa02: 0x403b, 0xa04: 0xa000, 0xa05: 0x4043, -+ 0xa06: 0xa000, 0xa07: 0x404b, 0xa08: 0xa000, 0xa09: 0x4053, -+ 0xa0f: 0xa000, 0xa10: 0x405b, 0xa11: 0x4063, -+ 0xa12: 0xa000, 0xa13: 0x406b, 0xa14: 0x4073, 0xa15: 0xa000, 0xa16: 0x407b, 0xa17: 0x4083, -+ 0xa18: 0xa000, 0xa19: 0x408b, 0xa1a: 0x4093, 0xa1b: 0xa000, 0xa1c: 0x409b, 0xa1d: 0x40a3, -+ 0xa2f: 0xa000, -+ 0xa30: 0xa000, 0xa31: 0xa000, 0xa32: 0xa000, 0xa34: 0x3fdb, -+ 0xa37: 0x40ab, 0xa38: 0x40b3, 0xa39: 0x40bb, 0xa3a: 0x40c3, -+ 0xa3d: 0xa000, 0xa3e: 0x40cb, 0xa3f: 0x26cc, -+ // Block 0x29, offset 0xa40 -+ 0xa40: 0x0367, 0xa41: 0x032b, 0xa42: 0x032f, 0xa43: 0x0333, 0xa44: 0x037b, 0xa45: 0x0337, -+ 0xa46: 0x033b, 0xa47: 0x033f, 0xa48: 0x0343, 0xa49: 0x0347, 0xa4a: 0x034b, 0xa4b: 0x034f, -+ 0xa4c: 0x0353, 0xa4d: 0x0357, 0xa4e: 0x035b, 0xa4f: 0x49c0, 0xa50: 0x49c6, 0xa51: 0x49cc, -+ 0xa52: 0x49d2, 0xa53: 0x49d8, 0xa54: 0x49de, 0xa55: 0x49e4, 0xa56: 0x49ea, 0xa57: 0x49f0, -+ 0xa58: 0x49f6, 0xa59: 0x49fc, 0xa5a: 0x4a02, 0xa5b: 0x4a08, 0xa5c: 0x4a0e, 0xa5d: 0x4a14, -+ 0xa5e: 0x4a1a, 0xa5f: 0x4a20, 0xa60: 0x4a26, 0xa61: 0x4a2c, 0xa62: 0x4a32, 0xa63: 0x4a38, -+ 0xa64: 0x03c3, 0xa65: 0x035f, 0xa66: 0x0363, 0xa67: 0x03e7, 0xa68: 0x03eb, 0xa69: 0x03ef, -+ 0xa6a: 0x03f3, 0xa6b: 0x03f7, 0xa6c: 0x03fb, 0xa6d: 0x03ff, 0xa6e: 0x036b, 0xa6f: 0x0403, -+ 0xa70: 0x0407, 0xa71: 0x036f, 0xa72: 0x0373, 0xa73: 0x0377, 0xa74: 0x037f, 0xa75: 0x0383, -+ 0xa76: 0x0387, 0xa77: 0x038b, 0xa78: 0x038f, 0xa79: 0x0393, 0xa7a: 0x0397, 0xa7b: 0x039b, -+ 0xa7c: 0x039f, 0xa7d: 0x03a3, 0xa7e: 0x03a7, 0xa7f: 0x03ab, -+ // Block 0x2a, offset 0xa80 -+ 0xa80: 0x03af, 0xa81: 0x03b3, 0xa82: 0x040b, 0xa83: 0x040f, 0xa84: 0x03b7, 0xa85: 0x03bb, -+ 0xa86: 0x03bf, 0xa87: 0x03c7, 0xa88: 0x03cb, 0xa89: 0x03cf, 0xa8a: 0x03d3, 0xa8b: 0x03d7, -+ 0xa8c: 0x03db, 0xa8d: 0x03df, 0xa8e: 0x03e3, -+ 0xa92: 0x06bf, 0xa93: 0x071b, 0xa94: 0x06cb, 0xa95: 0x097b, 0xa96: 0x06cf, 0xa97: 0x06e7, -+ 0xa98: 0x06d3, 0xa99: 0x0f93, 0xa9a: 0x0707, 0xa9b: 0x06db, 0xa9c: 0x06c3, 0xa9d: 0x09ff, -+ 0xa9e: 0x098f, 0xa9f: 0x072f, -+ // Block 0x2b, offset 0xac0 -+ 0xac0: 0x2057, 0xac1: 0x205d, 0xac2: 0x2063, 0xac3: 0x2069, 0xac4: 0x206f, 0xac5: 0x2075, -+ 0xac6: 0x207b, 0xac7: 0x2081, 0xac8: 0x2087, 0xac9: 0x208d, 0xaca: 0x2093, 0xacb: 0x2099, -+ 0xacc: 0x209f, 0xacd: 0x20a5, 0xace: 0x2729, 0xacf: 0x2732, 0xad0: 0x273b, 0xad1: 0x2744, -+ 0xad2: 0x274d, 0xad3: 0x2756, 0xad4: 0x275f, 0xad5: 0x2768, 0xad6: 0x2771, 0xad7: 0x2783, -+ 0xad8: 0x278c, 0xad9: 0x2795, 0xada: 0x279e, 0xadb: 0x27a7, 0xadc: 0x277a, 0xadd: 0x2baf, -+ 0xade: 0x2af0, 0xae0: 0x20ab, 0xae1: 0x20c3, 0xae2: 0x20b7, 0xae3: 0x210b, -+ 0xae4: 0x20c9, 0xae5: 0x20e7, 0xae6: 0x20b1, 0xae7: 0x20e1, 0xae8: 0x20bd, 0xae9: 0x20f3, -+ 0xaea: 0x2123, 0xaeb: 0x2141, 0xaec: 0x213b, 0xaed: 0x212f, 0xaee: 0x217d, 0xaef: 0x2111, -+ 0xaf0: 0x211d, 0xaf1: 0x2135, 0xaf2: 0x2129, 0xaf3: 0x2153, 0xaf4: 0x20ff, 0xaf5: 0x2147, -+ 0xaf6: 0x2171, 0xaf7: 0x2159, 0xaf8: 0x20ed, 0xaf9: 0x20cf, 0xafa: 0x2105, 0xafb: 0x2117, -+ 0xafc: 0x214d, 0xafd: 0x20d5, 0xafe: 0x2177, 0xaff: 0x20f9, -+ // Block 0x2c, offset 0xb00 -+ 0xb00: 0x215f, 0xb01: 0x20db, 0xb02: 0x2165, 0xb03: 0x216b, 0xb04: 0x092f, 0xb05: 0x0b03, -+ 0xb06: 0x0ca7, 0xb07: 0x10c7, -+ 0xb10: 0x1bc7, 0xb11: 0x18a9, -+ 0xb12: 0x18ac, 0xb13: 0x18af, 0xb14: 0x18b2, 0xb15: 0x18b5, 0xb16: 0x18b8, 0xb17: 0x18bb, -+ 0xb18: 0x18be, 0xb19: 0x18c1, 0xb1a: 0x18ca, 0xb1b: 0x18cd, 0xb1c: 0x18d0, 0xb1d: 0x18d3, -+ 0xb1e: 0x18d6, 0xb1f: 0x18d9, 0xb20: 0x0313, 0xb21: 0x031b, 0xb22: 0x031f, 0xb23: 0x0327, -+ 0xb24: 0x032b, 0xb25: 0x032f, 0xb26: 0x0337, 0xb27: 0x033f, 0xb28: 0x0343, 0xb29: 0x034b, -+ 0xb2a: 0x034f, 0xb2b: 0x0353, 0xb2c: 0x0357, 0xb2d: 0x035b, 0xb2e: 0x2e1b, 0xb2f: 0x2e23, -+ 0xb30: 0x2e2b, 0xb31: 0x2e33, 0xb32: 0x2e3b, 0xb33: 0x2e43, 0xb34: 0x2e4b, 0xb35: 0x2e53, -+ 0xb36: 0x2e63, 0xb37: 0x2e6b, 0xb38: 0x2e73, 0xb39: 0x2e7b, 0xb3a: 0x2e83, 0xb3b: 0x2e8b, -+ 0xb3c: 0x2ed6, 0xb3d: 0x2e9e, 0xb3e: 0x2e5b, -+ // Block 0x2d, offset 0xb40 -+ 0xb40: 0x06bf, 0xb41: 0x071b, 0xb42: 0x06cb, 0xb43: 0x097b, 0xb44: 0x071f, 0xb45: 0x07af, -+ 0xb46: 0x06c7, 0xb47: 0x07ab, 0xb48: 0x070b, 0xb49: 0x0887, 0xb4a: 0x0d07, 0xb4b: 0x0e8f, -+ 0xb4c: 0x0dd7, 0xb4d: 0x0d1b, 0xb4e: 0x145f, 0xb4f: 0x098b, 0xb50: 0x0ccf, 0xb51: 0x0d4b, -+ 0xb52: 0x0d0b, 0xb53: 0x104b, 0xb54: 0x08fb, 0xb55: 0x0f03, 0xb56: 0x1387, 0xb57: 0x105f, -+ 0xb58: 0x0843, 0xb59: 0x108f, 0xb5a: 0x0f9b, 0xb5b: 0x0a17, 0xb5c: 0x140f, 0xb5d: 0x077f, -+ 0xb5e: 0x08ab, 0xb5f: 0x0df7, 0xb60: 0x1527, 0xb61: 0x0743, 0xb62: 0x07d3, 0xb63: 0x0d9b, -+ 0xb64: 0x06cf, 0xb65: 0x06e7, 0xb66: 0x06d3, 0xb67: 0x0adb, 0xb68: 0x08ef, 0xb69: 0x087f, -+ 0xb6a: 0x0a57, 0xb6b: 0x0a4b, 0xb6c: 0x0feb, 0xb6d: 0x073f, 0xb6e: 0x139b, 0xb6f: 0x089b, -+ 0xb70: 0x09f3, 0xb71: 0x18dc, 0xb72: 0x18df, 0xb73: 0x18e2, 0xb74: 0x18e5, 0xb75: 0x18ee, -+ 0xb76: 0x18f1, 0xb77: 0x18f4, 0xb78: 0x18f7, 0xb79: 0x18fa, 0xb7a: 0x18fd, 0xb7b: 0x1900, -+ 0xb7c: 0x1903, 0xb7d: 0x1906, 0xb7e: 0x1909, 0xb7f: 0x1912, -+ // Block 0x2e, offset 0xb80 -+ 0xb80: 0x1cc9, 0xb81: 0x1cd8, 0xb82: 0x1ce7, 0xb83: 0x1cf6, 0xb84: 0x1d05, 0xb85: 0x1d14, -+ 0xb86: 0x1d23, 0xb87: 0x1d32, 0xb88: 0x1d41, 0xb89: 0x218f, 0xb8a: 0x21a1, 0xb8b: 0x21b3, -+ 0xb8c: 0x1954, 0xb8d: 0x1c07, 0xb8e: 0x19d5, 0xb8f: 0x1bab, 0xb90: 0x04cb, 0xb91: 0x04d3, -+ 0xb92: 0x04db, 0xb93: 0x04e3, 0xb94: 0x04eb, 0xb95: 0x04ef, 0xb96: 0x04f3, 0xb97: 0x04f7, -+ 0xb98: 0x04fb, 0xb99: 0x04ff, 0xb9a: 0x0503, 0xb9b: 0x0507, 0xb9c: 0x050b, 0xb9d: 0x050f, -+ 0xb9e: 0x0513, 0xb9f: 0x0517, 0xba0: 0x051b, 0xba1: 0x0523, 0xba2: 0x0527, 0xba3: 0x052b, -+ 0xba4: 0x052f, 0xba5: 0x0533, 0xba6: 0x0537, 0xba7: 0x053b, 0xba8: 0x053f, 0xba9: 0x0543, -+ 0xbaa: 0x0547, 0xbab: 0x054b, 0xbac: 0x054f, 0xbad: 0x0553, 0xbae: 0x0557, 0xbaf: 0x055b, -+ 0xbb0: 0x055f, 0xbb1: 0x0563, 0xbb2: 0x0567, 0xbb3: 0x056f, 0xbb4: 0x0577, 0xbb5: 0x057f, -+ 0xbb6: 0x0583, 0xbb7: 0x0587, 0xbb8: 0x058b, 0xbb9: 0x058f, 0xbba: 0x0593, 0xbbb: 0x0597, -+ 0xbbc: 0x059b, 0xbbd: 0x059f, 0xbbe: 0x05a3, -+ // Block 0x2f, offset 0xbc0 -+ 0xbc0: 0x2b0f, 0xbc1: 0x29ab, 0xbc2: 0x2b1f, 0xbc3: 0x2883, 0xbc4: 0x2ee7, 0xbc5: 0x288d, -+ 0xbc6: 0x2897, 0xbc7: 0x2f2b, 0xbc8: 0x29b8, 0xbc9: 0x28a1, 0xbca: 0x28ab, 0xbcb: 0x28b5, -+ 0xbcc: 0x29df, 0xbcd: 0x29ec, 0xbce: 0x29c5, 0xbcf: 0x29d2, 0xbd0: 0x2eac, 0xbd1: 0x29f9, -+ 0xbd2: 0x2a06, 0xbd3: 0x2bc1, 0xbd4: 0x26be, 0xbd5: 0x2bd4, 0xbd6: 0x2be7, 0xbd7: 0x2b2f, -+ 0xbd8: 0x2a13, 0xbd9: 0x2bfa, 0xbda: 0x2c0d, 0xbdb: 0x2a20, 0xbdc: 0x28bf, 0xbdd: 0x28c9, -+ 0xbde: 0x2eba, 0xbdf: 0x2a2d, 0xbe0: 0x2b3f, 0xbe1: 0x2ef8, 0xbe2: 0x28d3, 0xbe3: 0x28dd, -+ 0xbe4: 0x2a3a, 0xbe5: 0x28e7, 0xbe6: 0x28f1, 0xbe7: 0x26d3, 0xbe8: 0x26da, 0xbe9: 0x28fb, -+ 0xbea: 0x2905, 0xbeb: 0x2c20, 0xbec: 0x2a47, 0xbed: 0x2b4f, 0xbee: 0x2c33, 0xbef: 0x2a54, -+ 0xbf0: 0x2919, 0xbf1: 0x290f, 0xbf2: 0x2f3f, 0xbf3: 0x2a61, 0xbf4: 0x2c46, 0xbf5: 0x2923, -+ 0xbf6: 0x2b5f, 0xbf7: 0x292d, 0xbf8: 0x2a7b, 0xbf9: 0x2937, 0xbfa: 0x2a88, 0xbfb: 0x2f09, -+ 0xbfc: 0x2a6e, 0xbfd: 0x2b6f, 0xbfe: 0x2a95, 0xbff: 0x26e1, -+ // Block 0x30, offset 0xc00 -+ 0xc00: 0x2f1a, 0xc01: 0x2941, 0xc02: 0x294b, 0xc03: 0x2aa2, 0xc04: 0x2955, 0xc05: 0x295f, -+ 0xc06: 0x2969, 0xc07: 0x2b7f, 0xc08: 0x2aaf, 0xc09: 0x26e8, 0xc0a: 0x2c59, 0xc0b: 0x2e93, -+ 0xc0c: 0x2b8f, 0xc0d: 0x2abc, 0xc0e: 0x2ec8, 0xc0f: 0x2973, 0xc10: 0x297d, 0xc11: 0x2ac9, -+ 0xc12: 0x26ef, 0xc13: 0x2ad6, 0xc14: 0x2b9f, 0xc15: 0x26f6, 0xc16: 0x2c6c, 0xc17: 0x2987, -+ 0xc18: 0x1cba, 0xc19: 0x1cce, 0xc1a: 0x1cdd, 0xc1b: 0x1cec, 0xc1c: 0x1cfb, 0xc1d: 0x1d0a, -+ 0xc1e: 0x1d19, 0xc1f: 0x1d28, 0xc20: 0x1d37, 0xc21: 0x1d46, 0xc22: 0x2195, 0xc23: 0x21a7, -+ 0xc24: 0x21b9, 0xc25: 0x21c5, 0xc26: 0x21d1, 0xc27: 0x21dd, 0xc28: 0x21e9, 0xc29: 0x21f5, -+ 0xc2a: 0x2201, 0xc2b: 0x220d, 0xc2c: 0x2249, 0xc2d: 0x2255, 0xc2e: 0x2261, 0xc2f: 0x226d, -+ 0xc30: 0x2279, 0xc31: 0x1c17, 0xc32: 0x19c9, 0xc33: 0x1936, 0xc34: 0x1be7, 0xc35: 0x1a4a, -+ 0xc36: 0x1a59, 0xc37: 0x19cf, 0xc38: 0x1bff, 0xc39: 0x1c03, 0xc3a: 0x1960, 0xc3b: 0x2704, -+ 0xc3c: 0x2712, 0xc3d: 0x26fd, 0xc3e: 0x270b, 0xc3f: 0x2ae3, -+ // Block 0x31, offset 0xc40 -+ 0xc40: 0x1a4d, 0xc41: 0x1a35, 0xc42: 0x1c63, 0xc43: 0x1a1d, 0xc44: 0x19f6, 0xc45: 0x1969, -+ 0xc46: 0x1978, 0xc47: 0x1948, 0xc48: 0x1bf3, 0xc49: 0x1d55, 0xc4a: 0x1a50, 0xc4b: 0x1a38, -+ 0xc4c: 0x1c67, 0xc4d: 0x1c73, 0xc4e: 0x1a29, 0xc4f: 0x19ff, 0xc50: 0x1957, 0xc51: 0x1c1f, -+ 0xc52: 0x1bb3, 0xc53: 0x1b9f, 0xc54: 0x1bcf, 0xc55: 0x1c77, 0xc56: 0x1a2c, 0xc57: 0x19cc, -+ 0xc58: 0x1a02, 0xc59: 0x19e1, 0xc5a: 0x1a44, 0xc5b: 0x1c7b, 0xc5c: 0x1a2f, 0xc5d: 0x19c3, -+ 0xc5e: 0x1a05, 0xc5f: 0x1c3f, 0xc60: 0x1bf7, 0xc61: 0x1a17, 0xc62: 0x1c27, 0xc63: 0x1c43, -+ 0xc64: 0x1bfb, 0xc65: 0x1a1a, 0xc66: 0x1c2b, 0xc67: 0x22eb, 0xc68: 0x22ff, 0xc69: 0x1999, -+ 0xc6a: 0x1c23, 0xc6b: 0x1bb7, 0xc6c: 0x1ba3, 0xc6d: 0x1c4b, 0xc6e: 0x2719, 0xc6f: 0x27b0, -+ 0xc70: 0x1a5c, 0xc71: 0x1a47, 0xc72: 0x1c7f, 0xc73: 0x1a32, 0xc74: 0x1a53, 0xc75: 0x1a3b, -+ 0xc76: 0x1c6b, 0xc77: 0x1a20, 0xc78: 0x19f9, 0xc79: 0x1984, 0xc7a: 0x1a56, 0xc7b: 0x1a3e, -+ 0xc7c: 0x1c6f, 0xc7d: 0x1a23, 0xc7e: 0x19fc, 0xc7f: 0x1987, -+ // Block 0x32, offset 0xc80 -+ 0xc80: 0x1c2f, 0xc81: 0x1bbb, 0xc82: 0x1d50, 0xc83: 0x1939, 0xc84: 0x19bd, 0xc85: 0x19c0, -+ 0xc86: 0x22f8, 0xc87: 0x1b97, 0xc88: 0x19c6, 0xc89: 0x194b, 0xc8a: 0x19e4, 0xc8b: 0x194e, -+ 0xc8c: 0x19ed, 0xc8d: 0x196c, 0xc8e: 0x196f, 0xc8f: 0x1a08, 0xc90: 0x1a0e, 0xc91: 0x1a11, -+ 0xc92: 0x1c33, 0xc93: 0x1a14, 0xc94: 0x1a26, 0xc95: 0x1c3b, 0xc96: 0x1c47, 0xc97: 0x1993, -+ 0xc98: 0x1d5a, 0xc99: 0x1bbf, 0xc9a: 0x1996, 0xc9b: 0x1a5f, 0xc9c: 0x19a8, 0xc9d: 0x19b7, -+ 0xc9e: 0x22e5, 0xc9f: 0x22df, 0xca0: 0x1cc4, 0xca1: 0x1cd3, 0xca2: 0x1ce2, 0xca3: 0x1cf1, -+ 0xca4: 0x1d00, 0xca5: 0x1d0f, 0xca6: 0x1d1e, 0xca7: 0x1d2d, 0xca8: 0x1d3c, 0xca9: 0x2189, -+ 0xcaa: 0x219b, 0xcab: 0x21ad, 0xcac: 0x21bf, 0xcad: 0x21cb, 0xcae: 0x21d7, 0xcaf: 0x21e3, -+ 0xcb0: 0x21ef, 0xcb1: 0x21fb, 0xcb2: 0x2207, 0xcb3: 0x2243, 0xcb4: 0x224f, 0xcb5: 0x225b, -+ 0xcb6: 0x2267, 0xcb7: 0x2273, 0xcb8: 0x227f, 0xcb9: 0x2285, 0xcba: 0x228b, 0xcbb: 0x2291, -+ 0xcbc: 0x2297, 0xcbd: 0x22a9, 0xcbe: 0x22af, 0xcbf: 0x1c13, -+ // Block 0x33, offset 0xcc0 -+ 0xcc0: 0x1377, 0xcc1: 0x0cfb, 0xcc2: 0x13d3, 0xcc3: 0x139f, 0xcc4: 0x0e57, 0xcc5: 0x06eb, -+ 0xcc6: 0x08df, 0xcc7: 0x162b, 0xcc8: 0x162b, 0xcc9: 0x0a0b, 0xcca: 0x145f, 0xccb: 0x0943, -+ 0xccc: 0x0a07, 0xccd: 0x0bef, 0xcce: 0x0fcf, 0xccf: 0x115f, 0xcd0: 0x1297, 0xcd1: 0x12d3, -+ 0xcd2: 0x1307, 0xcd3: 0x141b, 0xcd4: 0x0d73, 0xcd5: 0x0dff, 0xcd6: 0x0eab, 0xcd7: 0x0f43, -+ 0xcd8: 0x125f, 0xcd9: 0x1447, 0xcda: 0x1573, 0xcdb: 0x070f, 0xcdc: 0x08b3, 0xcdd: 0x0d87, -+ 0xcde: 0x0ecf, 0xcdf: 0x1293, 0xce0: 0x15c3, 0xce1: 0x0ab3, 0xce2: 0x0e77, 0xce3: 0x1283, -+ 0xce4: 0x1317, 0xce5: 0x0c23, 0xce6: 0x11bb, 0xce7: 0x12df, 0xce8: 0x0b1f, 0xce9: 0x0d0f, -+ 0xcea: 0x0e17, 0xceb: 0x0f1b, 0xcec: 0x1427, 0xced: 0x074f, 0xcee: 0x07e7, 0xcef: 0x0853, -+ 0xcf0: 0x0c8b, 0xcf1: 0x0d7f, 0xcf2: 0x0ecb, 0xcf3: 0x0fef, 0xcf4: 0x1177, 0xcf5: 0x128b, -+ 0xcf6: 0x12a3, 0xcf7: 0x13c7, 0xcf8: 0x14ef, 0xcf9: 0x15a3, 0xcfa: 0x15bf, 0xcfb: 0x102b, -+ 0xcfc: 0x106b, 0xcfd: 0x1123, 0xcfe: 0x1243, 0xcff: 0x147b, -+ // Block 0x34, offset 0xd00 -+ 0xd00: 0x15cb, 0xd01: 0x134b, 0xd02: 0x09c7, 0xd03: 0x0b3b, 0xd04: 0x10db, 0xd05: 0x119b, -+ 0xd06: 0x0eff, 0xd07: 0x1033, 0xd08: 0x1397, 0xd09: 0x14e7, 0xd0a: 0x09c3, 0xd0b: 0x0a8f, -+ 0xd0c: 0x0d77, 0xd0d: 0x0e2b, 0xd0e: 0x0e5f, 0xd0f: 0x1113, 0xd10: 0x113b, 0xd11: 0x14a7, -+ 0xd12: 0x084f, 0xd13: 0x11a7, 0xd14: 0x07f3, 0xd15: 0x07ef, 0xd16: 0x1097, 0xd17: 0x1127, -+ 0xd18: 0x125b, 0xd19: 0x14af, 0xd1a: 0x1367, 0xd1b: 0x0c27, 0xd1c: 0x0d73, 0xd1d: 0x1357, -+ 0xd1e: 0x06f7, 0xd1f: 0x0a63, 0xd20: 0x0b93, 0xd21: 0x0f2f, 0xd22: 0x0faf, 0xd23: 0x0873, -+ 0xd24: 0x103b, 0xd25: 0x075f, 0xd26: 0x0b77, 0xd27: 0x06d7, 0xd28: 0x0deb, 0xd29: 0x0ca3, -+ 0xd2a: 0x110f, 0xd2b: 0x08c7, 0xd2c: 0x09b3, 0xd2d: 0x0ffb, 0xd2e: 0x1263, 0xd2f: 0x133b, -+ 0xd30: 0x0db7, 0xd31: 0x13f7, 0xd32: 0x0de3, 0xd33: 0x0c37, 0xd34: 0x121b, 0xd35: 0x0c57, -+ 0xd36: 0x0fab, 0xd37: 0x072b, 0xd38: 0x07a7, 0xd39: 0x07eb, 0xd3a: 0x0d53, 0xd3b: 0x10fb, -+ 0xd3c: 0x11f3, 0xd3d: 0x1347, 0xd3e: 0x145b, 0xd3f: 0x085b, -+ // Block 0x35, offset 0xd40 -+ 0xd40: 0x090f, 0xd41: 0x0a17, 0xd42: 0x0b2f, 0xd43: 0x0cbf, 0xd44: 0x0e7b, 0xd45: 0x103f, -+ 0xd46: 0x1497, 0xd47: 0x157b, 0xd48: 0x15cf, 0xd49: 0x15e7, 0xd4a: 0x0837, 0xd4b: 0x0cf3, -+ 0xd4c: 0x0da3, 0xd4d: 0x13eb, 0xd4e: 0x0afb, 0xd4f: 0x0bd7, 0xd50: 0x0bf3, 0xd51: 0x0c83, -+ 0xd52: 0x0e6b, 0xd53: 0x0eb7, 0xd54: 0x0f67, 0xd55: 0x108b, 0xd56: 0x112f, 0xd57: 0x1193, -+ 0xd58: 0x13db, 0xd59: 0x126b, 0xd5a: 0x1403, 0xd5b: 0x147f, 0xd5c: 0x080f, 0xd5d: 0x083b, -+ 0xd5e: 0x0923, 0xd5f: 0x0ea7, 0xd60: 0x12f3, 0xd61: 0x133b, 0xd62: 0x0b1b, 0xd63: 0x0b8b, -+ 0xd64: 0x0c4f, 0xd65: 0x0daf, 0xd66: 0x10d7, 0xd67: 0x0f23, 0xd68: 0x073b, 0xd69: 0x097f, -+ 0xd6a: 0x0a63, 0xd6b: 0x0ac7, 0xd6c: 0x0b97, 0xd6d: 0x0f3f, 0xd6e: 0x0f5b, 0xd6f: 0x116b, -+ 0xd70: 0x118b, 0xd71: 0x1463, 0xd72: 0x14e3, 0xd73: 0x14f3, 0xd74: 0x152f, 0xd75: 0x0753, -+ 0xd76: 0x107f, 0xd77: 0x144f, 0xd78: 0x14cb, 0xd79: 0x0baf, 0xd7a: 0x0717, 0xd7b: 0x0777, -+ 0xd7c: 0x0a67, 0xd7d: 0x0a87, 0xd7e: 0x0caf, 0xd7f: 0x0d73, -+ // Block 0x36, offset 0xd80 -+ 0xd80: 0x0ec3, 0xd81: 0x0fcb, 0xd82: 0x1277, 0xd83: 0x1417, 0xd84: 0x1623, 0xd85: 0x0ce3, -+ 0xd86: 0x14a3, 0xd87: 0x0833, 0xd88: 0x0d2f, 0xd89: 0x0d3b, 0xd8a: 0x0e0f, 0xd8b: 0x0e47, -+ 0xd8c: 0x0f4b, 0xd8d: 0x0fa7, 0xd8e: 0x1027, 0xd8f: 0x110b, 0xd90: 0x153b, 0xd91: 0x07af, -+ 0xd92: 0x0c03, 0xd93: 0x14b3, 0xd94: 0x0767, 0xd95: 0x0aab, 0xd96: 0x0e2f, 0xd97: 0x13df, -+ 0xd98: 0x0b67, 0xd99: 0x0bb7, 0xd9a: 0x0d43, 0xd9b: 0x0f2f, 0xd9c: 0x14bb, 0xd9d: 0x0817, -+ 0xd9e: 0x08ff, 0xd9f: 0x0a97, 0xda0: 0x0cd3, 0xda1: 0x0d1f, 0xda2: 0x0d5f, 0xda3: 0x0df3, -+ 0xda4: 0x0f47, 0xda5: 0x0fbb, 0xda6: 0x1157, 0xda7: 0x12f7, 0xda8: 0x1303, 0xda9: 0x1457, -+ 0xdaa: 0x14d7, 0xdab: 0x0883, 0xdac: 0x0e4b, 0xdad: 0x0903, 0xdae: 0x0ec7, 0xdaf: 0x0f6b, -+ 0xdb0: 0x1287, 0xdb1: 0x14bf, 0xdb2: 0x15ab, 0xdb3: 0x15d3, 0xdb4: 0x0d37, 0xdb5: 0x0e27, -+ 0xdb6: 0x11c3, 0xdb7: 0x10b7, 0xdb8: 0x10c3, 0xdb9: 0x10e7, 0xdba: 0x0f17, 0xdbb: 0x0e9f, -+ 0xdbc: 0x1363, 0xdbd: 0x0733, 0xdbe: 0x122b, 0xdbf: 0x081b, -+ // Block 0x37, offset 0xdc0 -+ 0xdc0: 0x080b, 0xdc1: 0x0b0b, 0xdc2: 0x0c2b, 0xdc3: 0x10f3, 0xdc4: 0x0a53, 0xdc5: 0x0e03, -+ 0xdc6: 0x0cef, 0xdc7: 0x13e7, 0xdc8: 0x12e7, 0xdc9: 0x14ab, 0xdca: 0x1323, 0xdcb: 0x0b27, -+ 0xdcc: 0x0787, 0xdcd: 0x095b, 0xdd0: 0x09af, -+ 0xdd2: 0x0cdf, 0xdd5: 0x07f7, 0xdd6: 0x0f1f, 0xdd7: 0x0fe3, -+ 0xdd8: 0x1047, 0xdd9: 0x1063, 0xdda: 0x1067, 0xddb: 0x107b, 0xddc: 0x14fb, 0xddd: 0x10eb, -+ 0xdde: 0x116f, 0xde0: 0x128f, 0xde2: 0x1353, -+ 0xde5: 0x1407, 0xde6: 0x1433, -+ 0xdea: 0x154f, 0xdeb: 0x1553, 0xdec: 0x1557, 0xded: 0x15bb, 0xdee: 0x142b, 0xdef: 0x14c7, -+ 0xdf0: 0x0757, 0xdf1: 0x077b, 0xdf2: 0x078f, 0xdf3: 0x084b, 0xdf4: 0x0857, 0xdf5: 0x0897, -+ 0xdf6: 0x094b, 0xdf7: 0x0967, 0xdf8: 0x096f, 0xdf9: 0x09ab, 0xdfa: 0x09b7, 0xdfb: 0x0a93, -+ 0xdfc: 0x0a9b, 0xdfd: 0x0ba3, 0xdfe: 0x0bcb, 0xdff: 0x0bd3, -+ // Block 0x38, offset 0xe00 -+ 0xe00: 0x0beb, 0xe01: 0x0c97, 0xe02: 0x0cc7, 0xe03: 0x0ce7, 0xe04: 0x0d57, 0xe05: 0x0e1b, -+ 0xe06: 0x0e37, 0xe07: 0x0e67, 0xe08: 0x0ebb, 0xe09: 0x0edb, 0xe0a: 0x0f4f, 0xe0b: 0x102f, -+ 0xe0c: 0x104b, 0xe0d: 0x1053, 0xe0e: 0x104f, 0xe0f: 0x1057, 0xe10: 0x105b, 0xe11: 0x105f, -+ 0xe12: 0x1073, 0xe13: 0x1077, 0xe14: 0x109b, 0xe15: 0x10af, 0xe16: 0x10cb, 0xe17: 0x112f, -+ 0xe18: 0x1137, 0xe19: 0x113f, 0xe1a: 0x1153, 0xe1b: 0x117b, 0xe1c: 0x11cb, 0xe1d: 0x11ff, -+ 0xe1e: 0x11ff, 0xe1f: 0x1267, 0xe20: 0x130f, 0xe21: 0x1327, 0xe22: 0x135b, 0xe23: 0x135f, -+ 0xe24: 0x13a3, 0xe25: 0x13a7, 0xe26: 0x13ff, 0xe27: 0x1407, 0xe28: 0x14db, 0xe29: 0x151f, -+ 0xe2a: 0x1537, 0xe2b: 0x0b9b, 0xe2c: 0x171e, 0xe2d: 0x11e3, -+ 0xe30: 0x06df, 0xe31: 0x07e3, 0xe32: 0x07a3, 0xe33: 0x074b, 0xe34: 0x078b, 0xe35: 0x07b7, -+ 0xe36: 0x0847, 0xe37: 0x0863, 0xe38: 0x094b, 0xe39: 0x0937, 0xe3a: 0x0947, 0xe3b: 0x0963, -+ 0xe3c: 0x09af, 0xe3d: 0x09bf, 0xe3e: 0x0a03, 0xe3f: 0x0a0f, -+ // Block 0x39, offset 0xe40 -+ 0xe40: 0x0a2b, 0xe41: 0x0a3b, 0xe42: 0x0b23, 0xe43: 0x0b2b, 0xe44: 0x0b5b, 0xe45: 0x0b7b, -+ 0xe46: 0x0bab, 0xe47: 0x0bc3, 0xe48: 0x0bb3, 0xe49: 0x0bd3, 0xe4a: 0x0bc7, 0xe4b: 0x0beb, -+ 0xe4c: 0x0c07, 0xe4d: 0x0c5f, 0xe4e: 0x0c6b, 0xe4f: 0x0c73, 0xe50: 0x0c9b, 0xe51: 0x0cdf, -+ 0xe52: 0x0d0f, 0xe53: 0x0d13, 0xe54: 0x0d27, 0xe55: 0x0da7, 0xe56: 0x0db7, 0xe57: 0x0e0f, -+ 0xe58: 0x0e5b, 0xe59: 0x0e53, 0xe5a: 0x0e67, 0xe5b: 0x0e83, 0xe5c: 0x0ebb, 0xe5d: 0x1013, -+ 0xe5e: 0x0edf, 0xe5f: 0x0f13, 0xe60: 0x0f1f, 0xe61: 0x0f5f, 0xe62: 0x0f7b, 0xe63: 0x0f9f, -+ 0xe64: 0x0fc3, 0xe65: 0x0fc7, 0xe66: 0x0fe3, 0xe67: 0x0fe7, 0xe68: 0x0ff7, 0xe69: 0x100b, -+ 0xe6a: 0x1007, 0xe6b: 0x1037, 0xe6c: 0x10b3, 0xe6d: 0x10cb, 0xe6e: 0x10e3, 0xe6f: 0x111b, -+ 0xe70: 0x112f, 0xe71: 0x114b, 0xe72: 0x117b, 0xe73: 0x122f, 0xe74: 0x1257, 0xe75: 0x12cb, -+ 0xe76: 0x1313, 0xe77: 0x131f, 0xe78: 0x1327, 0xe79: 0x133f, 0xe7a: 0x1353, 0xe7b: 0x1343, -+ 0xe7c: 0x135b, 0xe7d: 0x1357, 0xe7e: 0x134f, 0xe7f: 0x135f, -+ // Block 0x3a, offset 0xe80 -+ 0xe80: 0x136b, 0xe81: 0x13a7, 0xe82: 0x13e3, 0xe83: 0x1413, 0xe84: 0x144b, 0xe85: 0x146b, -+ 0xe86: 0x14b7, 0xe87: 0x14db, 0xe88: 0x14fb, 0xe89: 0x150f, 0xe8a: 0x151f, 0xe8b: 0x152b, -+ 0xe8c: 0x1537, 0xe8d: 0x158b, 0xe8e: 0x162b, 0xe8f: 0x16b5, 0xe90: 0x16b0, 0xe91: 0x16e2, -+ 0xe92: 0x0607, 0xe93: 0x062f, 0xe94: 0x0633, 0xe95: 0x1764, 0xe96: 0x1791, 0xe97: 0x1809, -+ 0xe98: 0x1617, 0xe99: 0x1627, -+ // Block 0x3b, offset 0xec0 -+ 0xec0: 0x19d8, 0xec1: 0x19db, 0xec2: 0x19de, 0xec3: 0x1c0b, 0xec4: 0x1c0f, 0xec5: 0x1a62, -+ 0xec6: 0x1a62, -+ 0xed3: 0x1d78, 0xed4: 0x1d69, 0xed5: 0x1d6e, 0xed6: 0x1d7d, 0xed7: 0x1d73, -+ 0xedd: 0x4393, -+ 0xede: 0x8115, 0xedf: 0x4405, 0xee0: 0x022d, 0xee1: 0x0215, 0xee2: 0x021e, 0xee3: 0x0221, -+ 0xee4: 0x0224, 0xee5: 0x0227, 0xee6: 0x022a, 0xee7: 0x0230, 0xee8: 0x0233, 0xee9: 0x0017, -+ 0xeea: 0x43f3, 0xeeb: 0x43f9, 0xeec: 0x44f7, 0xeed: 0x44ff, 0xeee: 0x434b, 0xeef: 0x4351, -+ 0xef0: 0x4357, 0xef1: 0x435d, 0xef2: 0x4369, 0xef3: 0x436f, 0xef4: 0x4375, 0xef5: 0x4381, -+ 0xef6: 0x4387, 0xef8: 0x438d, 0xef9: 0x4399, 0xefa: 0x439f, 0xefb: 0x43a5, -+ 0xefc: 0x43b1, 0xefe: 0x43b7, -+ // Block 0x3c, offset 0xf00 -+ 0xf00: 0x43bd, 0xf01: 0x43c3, 0xf03: 0x43c9, 0xf04: 0x43cf, -+ 0xf06: 0x43db, 0xf07: 0x43e1, 0xf08: 0x43e7, 0xf09: 0x43ed, 0xf0a: 0x43ff, 0xf0b: 0x437b, -+ 0xf0c: 0x4363, 0xf0d: 0x43ab, 0xf0e: 0x43d5, 0xf0f: 0x1d82, 0xf10: 0x0299, 0xf11: 0x0299, -+ 0xf12: 0x02a2, 0xf13: 0x02a2, 0xf14: 0x02a2, 0xf15: 0x02a2, 0xf16: 0x02a5, 0xf17: 0x02a5, -+ 0xf18: 0x02a5, 0xf19: 0x02a5, 0xf1a: 0x02ab, 0xf1b: 0x02ab, 0xf1c: 0x02ab, 0xf1d: 0x02ab, -+ 0xf1e: 0x029f, 0xf1f: 0x029f, 0xf20: 0x029f, 0xf21: 0x029f, 0xf22: 0x02a8, 0xf23: 0x02a8, -+ 0xf24: 0x02a8, 0xf25: 0x02a8, 0xf26: 0x029c, 0xf27: 0x029c, 0xf28: 0x029c, 0xf29: 0x029c, -+ 0xf2a: 0x02cf, 0xf2b: 0x02cf, 0xf2c: 0x02cf, 0xf2d: 0x02cf, 0xf2e: 0x02d2, 0xf2f: 0x02d2, -+ 0xf30: 0x02d2, 0xf31: 0x02d2, 0xf32: 0x02b1, 0xf33: 0x02b1, 0xf34: 0x02b1, 0xf35: 0x02b1, -+ 0xf36: 0x02ae, 0xf37: 0x02ae, 0xf38: 0x02ae, 0xf39: 0x02ae, 0xf3a: 0x02b4, 0xf3b: 0x02b4, -+ 0xf3c: 0x02b4, 0xf3d: 0x02b4, 0xf3e: 0x02b7, 0xf3f: 0x02b7, -+ // Block 0x3d, offset 0xf40 -+ 0xf40: 0x02b7, 0xf41: 0x02b7, 0xf42: 0x02c0, 0xf43: 0x02c0, 0xf44: 0x02bd, 0xf45: 0x02bd, -+ 0xf46: 0x02c3, 0xf47: 0x02c3, 0xf48: 0x02ba, 0xf49: 0x02ba, 0xf4a: 0x02c9, 0xf4b: 0x02c9, -+ 0xf4c: 0x02c6, 0xf4d: 0x02c6, 0xf4e: 0x02d5, 0xf4f: 0x02d5, 0xf50: 0x02d5, 0xf51: 0x02d5, -+ 0xf52: 0x02db, 0xf53: 0x02db, 0xf54: 0x02db, 0xf55: 0x02db, 0xf56: 0x02e1, 0xf57: 0x02e1, -+ 0xf58: 0x02e1, 0xf59: 0x02e1, 0xf5a: 0x02de, 0xf5b: 0x02de, 0xf5c: 0x02de, 0xf5d: 0x02de, -+ 0xf5e: 0x02e4, 0xf5f: 0x02e4, 0xf60: 0x02e7, 0xf61: 0x02e7, 0xf62: 0x02e7, 0xf63: 0x02e7, -+ 0xf64: 0x4471, 0xf65: 0x4471, 0xf66: 0x02ed, 0xf67: 0x02ed, 0xf68: 0x02ed, 0xf69: 0x02ed, -+ 0xf6a: 0x02ea, 0xf6b: 0x02ea, 0xf6c: 0x02ea, 0xf6d: 0x02ea, 0xf6e: 0x0308, 0xf6f: 0x0308, -+ 0xf70: 0x446b, 0xf71: 0x446b, -+ // Block 0x3e, offset 0xf80 -+ 0xf93: 0x02d8, 0xf94: 0x02d8, 0xf95: 0x02d8, 0xf96: 0x02d8, 0xf97: 0x02f6, -+ 0xf98: 0x02f6, 0xf99: 0x02f3, 0xf9a: 0x02f3, 0xf9b: 0x02f9, 0xf9c: 0x02f9, 0xf9d: 0x2052, -+ 0xf9e: 0x02ff, 0xf9f: 0x02ff, 0xfa0: 0x02f0, 0xfa1: 0x02f0, 0xfa2: 0x02fc, 0xfa3: 0x02fc, -+ 0xfa4: 0x0305, 0xfa5: 0x0305, 0xfa6: 0x0305, 0xfa7: 0x0305, 0xfa8: 0x028d, 0xfa9: 0x028d, -+ 0xfaa: 0x25ad, 0xfab: 0x25ad, 0xfac: 0x261d, 0xfad: 0x261d, 0xfae: 0x25ec, 0xfaf: 0x25ec, -+ 0xfb0: 0x2608, 0xfb1: 0x2608, 0xfb2: 0x2601, 0xfb3: 0x2601, 0xfb4: 0x260f, 0xfb5: 0x260f, -+ 0xfb6: 0x2616, 0xfb7: 0x2616, 0xfb8: 0x2616, 0xfb9: 0x25f3, 0xfba: 0x25f3, 0xfbb: 0x25f3, -+ 0xfbc: 0x0302, 0xfbd: 0x0302, 0xfbe: 0x0302, 0xfbf: 0x0302, -+ // Block 0x3f, offset 0xfc0 -+ 0xfc0: 0x25b4, 0xfc1: 0x25bb, 0xfc2: 0x25d7, 0xfc3: 0x25f3, 0xfc4: 0x25fa, 0xfc5: 0x1d8c, -+ 0xfc6: 0x1d91, 0xfc7: 0x1d96, 0xfc8: 0x1da5, 0xfc9: 0x1db4, 0xfca: 0x1db9, 0xfcb: 0x1dbe, -+ 0xfcc: 0x1dc3, 0xfcd: 0x1dc8, 0xfce: 0x1dd7, 0xfcf: 0x1de6, 0xfd0: 0x1deb, 0xfd1: 0x1df0, -+ 0xfd2: 0x1dff, 0xfd3: 0x1e0e, 0xfd4: 0x1e13, 0xfd5: 0x1e18, 0xfd6: 0x1e1d, 0xfd7: 0x1e2c, -+ 0xfd8: 0x1e31, 0xfd9: 0x1e40, 0xfda: 0x1e45, 0xfdb: 0x1e4a, 0xfdc: 0x1e59, 0xfdd: 0x1e5e, -+ 0xfde: 0x1e63, 0xfdf: 0x1e6d, 0xfe0: 0x1ea9, 0xfe1: 0x1eb8, 0xfe2: 0x1ec7, 0xfe3: 0x1ecc, -+ 0xfe4: 0x1ed1, 0xfe5: 0x1edb, 0xfe6: 0x1eea, 0xfe7: 0x1eef, 0xfe8: 0x1efe, 0xfe9: 0x1f03, -+ 0xfea: 0x1f08, 0xfeb: 0x1f17, 0xfec: 0x1f1c, 0xfed: 0x1f2b, 0xfee: 0x1f30, 0xfef: 0x1f35, -+ 0xff0: 0x1f3a, 0xff1: 0x1f3f, 0xff2: 0x1f44, 0xff3: 0x1f49, 0xff4: 0x1f4e, 0xff5: 0x1f53, -+ 0xff6: 0x1f58, 0xff7: 0x1f5d, 0xff8: 0x1f62, 0xff9: 0x1f67, 0xffa: 0x1f6c, 0xffb: 0x1f71, -+ 0xffc: 0x1f76, 0xffd: 0x1f7b, 0xffe: 0x1f80, 0xfff: 0x1f8a, -+ // Block 0x40, offset 0x1000 -+ 0x1000: 0x1f8f, 0x1001: 0x1f94, 0x1002: 0x1f99, 0x1003: 0x1fa3, 0x1004: 0x1fa8, 0x1005: 0x1fb2, -+ 0x1006: 0x1fb7, 0x1007: 0x1fbc, 0x1008: 0x1fc1, 0x1009: 0x1fc6, 0x100a: 0x1fcb, 0x100b: 0x1fd0, -+ 0x100c: 0x1fd5, 0x100d: 0x1fda, 0x100e: 0x1fe9, 0x100f: 0x1ff8, 0x1010: 0x1ffd, 0x1011: 0x2002, -+ 0x1012: 0x2007, 0x1013: 0x200c, 0x1014: 0x2011, 0x1015: 0x201b, 0x1016: 0x2020, 0x1017: 0x2025, -+ 0x1018: 0x2034, 0x1019: 0x2043, 0x101a: 0x2048, 0x101b: 0x4423, 0x101c: 0x4429, 0x101d: 0x445f, -+ 0x101e: 0x44b6, 0x101f: 0x44bd, 0x1020: 0x44c4, 0x1021: 0x44cb, 0x1022: 0x44d2, 0x1023: 0x44d9, -+ 0x1024: 0x25c9, 0x1025: 0x25d0, 0x1026: 0x25d7, 0x1027: 0x25de, 0x1028: 0x25f3, 0x1029: 0x25fa, -+ 0x102a: 0x1d9b, 0x102b: 0x1da0, 0x102c: 0x1da5, 0x102d: 0x1daa, 0x102e: 0x1db4, 0x102f: 0x1db9, -+ 0x1030: 0x1dcd, 0x1031: 0x1dd2, 0x1032: 0x1dd7, 0x1033: 0x1ddc, 0x1034: 0x1de6, 0x1035: 0x1deb, -+ 0x1036: 0x1df5, 0x1037: 0x1dfa, 0x1038: 0x1dff, 0x1039: 0x1e04, 0x103a: 0x1e0e, 0x103b: 0x1e13, -+ 0x103c: 0x1f3f, 0x103d: 0x1f44, 0x103e: 0x1f53, 0x103f: 0x1f58, -+ // Block 0x41, offset 0x1040 -+ 0x1040: 0x1f5d, 0x1041: 0x1f71, 0x1042: 0x1f76, 0x1043: 0x1f7b, 0x1044: 0x1f80, 0x1045: 0x1f99, -+ 0x1046: 0x1fa3, 0x1047: 0x1fa8, 0x1048: 0x1fad, 0x1049: 0x1fc1, 0x104a: 0x1fdf, 0x104b: 0x1fe4, -+ 0x104c: 0x1fe9, 0x104d: 0x1fee, 0x104e: 0x1ff8, 0x104f: 0x1ffd, 0x1050: 0x445f, 0x1051: 0x202a, -+ 0x1052: 0x202f, 0x1053: 0x2034, 0x1054: 0x2039, 0x1055: 0x2043, 0x1056: 0x2048, 0x1057: 0x25b4, -+ 0x1058: 0x25bb, 0x1059: 0x25c2, 0x105a: 0x25d7, 0x105b: 0x25e5, 0x105c: 0x1d8c, 0x105d: 0x1d91, -+ 0x105e: 0x1d96, 0x105f: 0x1da5, 0x1060: 0x1daf, 0x1061: 0x1dbe, 0x1062: 0x1dc3, 0x1063: 0x1dc8, -+ 0x1064: 0x1dd7, 0x1065: 0x1de1, 0x1066: 0x1dff, 0x1067: 0x1e18, 0x1068: 0x1e1d, 0x1069: 0x1e2c, -+ 0x106a: 0x1e31, 0x106b: 0x1e40, 0x106c: 0x1e4a, 0x106d: 0x1e59, 0x106e: 0x1e5e, 0x106f: 0x1e63, -+ 0x1070: 0x1e6d, 0x1071: 0x1ea9, 0x1072: 0x1eae, 0x1073: 0x1eb8, 0x1074: 0x1ec7, 0x1075: 0x1ecc, -+ 0x1076: 0x1ed1, 0x1077: 0x1edb, 0x1078: 0x1eea, 0x1079: 0x1efe, 0x107a: 0x1f03, 0x107b: 0x1f08, -+ 0x107c: 0x1f17, 0x107d: 0x1f1c, 0x107e: 0x1f2b, 0x107f: 0x1f30, -+ // Block 0x42, offset 0x1080 -+ 0x1080: 0x1f35, 0x1081: 0x1f3a, 0x1082: 0x1f49, 0x1083: 0x1f4e, 0x1084: 0x1f62, 0x1085: 0x1f67, -+ 0x1086: 0x1f6c, 0x1087: 0x1f71, 0x1088: 0x1f76, 0x1089: 0x1f8a, 0x108a: 0x1f8f, 0x108b: 0x1f94, -+ 0x108c: 0x1f99, 0x108d: 0x1f9e, 0x108e: 0x1fb2, 0x108f: 0x1fb7, 0x1090: 0x1fbc, 0x1091: 0x1fc1, -+ 0x1092: 0x1fd0, 0x1093: 0x1fd5, 0x1094: 0x1fda, 0x1095: 0x1fe9, 0x1096: 0x1ff3, 0x1097: 0x2002, -+ 0x1098: 0x2007, 0x1099: 0x4453, 0x109a: 0x201b, 0x109b: 0x2020, 0x109c: 0x2025, 0x109d: 0x2034, -+ 0x109e: 0x203e, 0x109f: 0x25d7, 0x10a0: 0x25e5, 0x10a1: 0x1da5, 0x10a2: 0x1daf, 0x10a3: 0x1dd7, -+ 0x10a4: 0x1de1, 0x10a5: 0x1dff, 0x10a6: 0x1e09, 0x10a7: 0x1e6d, 0x10a8: 0x1e72, 0x10a9: 0x1e95, -+ 0x10aa: 0x1e9a, 0x10ab: 0x1f71, 0x10ac: 0x1f76, 0x10ad: 0x1f99, 0x10ae: 0x1fe9, 0x10af: 0x1ff3, -+ 0x10b0: 0x2034, 0x10b1: 0x203e, 0x10b2: 0x4507, 0x10b3: 0x450f, 0x10b4: 0x4517, 0x10b5: 0x1ef4, -+ 0x10b6: 0x1ef9, 0x10b7: 0x1f0d, 0x10b8: 0x1f12, 0x10b9: 0x1f21, 0x10ba: 0x1f26, 0x10bb: 0x1e77, -+ 0x10bc: 0x1e7c, 0x10bd: 0x1e9f, 0x10be: 0x1ea4, 0x10bf: 0x1e36, -+ // Block 0x43, offset 0x10c0 -+ 0x10c0: 0x1e3b, 0x10c1: 0x1e22, 0x10c2: 0x1e27, 0x10c3: 0x1e4f, 0x10c4: 0x1e54, 0x10c5: 0x1ebd, -+ 0x10c6: 0x1ec2, 0x10c7: 0x1ee0, 0x10c8: 0x1ee5, 0x10c9: 0x1e81, 0x10ca: 0x1e86, 0x10cb: 0x1e8b, -+ 0x10cc: 0x1e95, 0x10cd: 0x1e90, 0x10ce: 0x1e68, 0x10cf: 0x1eb3, 0x10d0: 0x1ed6, 0x10d1: 0x1ef4, -+ 0x10d2: 0x1ef9, 0x10d3: 0x1f0d, 0x10d4: 0x1f12, 0x10d5: 0x1f21, 0x10d6: 0x1f26, 0x10d7: 0x1e77, -+ 0x10d8: 0x1e7c, 0x10d9: 0x1e9f, 0x10da: 0x1ea4, 0x10db: 0x1e36, 0x10dc: 0x1e3b, 0x10dd: 0x1e22, -+ 0x10de: 0x1e27, 0x10df: 0x1e4f, 0x10e0: 0x1e54, 0x10e1: 0x1ebd, 0x10e2: 0x1ec2, 0x10e3: 0x1ee0, -+ 0x10e4: 0x1ee5, 0x10e5: 0x1e81, 0x10e6: 0x1e86, 0x10e7: 0x1e8b, 0x10e8: 0x1e95, 0x10e9: 0x1e90, -+ 0x10ea: 0x1e68, 0x10eb: 0x1eb3, 0x10ec: 0x1ed6, 0x10ed: 0x1e81, 0x10ee: 0x1e86, 0x10ef: 0x1e8b, -+ 0x10f0: 0x1e95, 0x10f1: 0x1e72, 0x10f2: 0x1e9a, 0x10f3: 0x1eef, 0x10f4: 0x1e59, 0x10f5: 0x1e5e, -+ 0x10f6: 0x1e63, 0x10f7: 0x1e81, 0x10f8: 0x1e86, 0x10f9: 0x1e8b, 0x10fa: 0x1eef, 0x10fb: 0x1efe, -+ 0x10fc: 0x440b, 0x10fd: 0x440b, -+ // Block 0x44, offset 0x1100 -+ 0x1110: 0x2314, 0x1111: 0x2329, -+ 0x1112: 0x2329, 0x1113: 0x2330, 0x1114: 0x2337, 0x1115: 0x234c, 0x1116: 0x2353, 0x1117: 0x235a, -+ 0x1118: 0x237d, 0x1119: 0x237d, 0x111a: 0x23a0, 0x111b: 0x2399, 0x111c: 0x23b5, 0x111d: 0x23a7, -+ 0x111e: 0x23ae, 0x111f: 0x23d1, 0x1120: 0x23d1, 0x1121: 0x23ca, 0x1122: 0x23d8, 0x1123: 0x23d8, -+ 0x1124: 0x2402, 0x1125: 0x2402, 0x1126: 0x241e, 0x1127: 0x23e6, 0x1128: 0x23e6, 0x1129: 0x23df, -+ 0x112a: 0x23f4, 0x112b: 0x23f4, 0x112c: 0x23fb, 0x112d: 0x23fb, 0x112e: 0x2425, 0x112f: 0x2433, -+ 0x1130: 0x2433, 0x1131: 0x243a, 0x1132: 0x243a, 0x1133: 0x2441, 0x1134: 0x2448, 0x1135: 0x244f, -+ 0x1136: 0x2456, 0x1137: 0x2456, 0x1138: 0x245d, 0x1139: 0x246b, 0x113a: 0x2479, 0x113b: 0x2472, -+ 0x113c: 0x2480, 0x113d: 0x2480, 0x113e: 0x2495, 0x113f: 0x249c, -+ // Block 0x45, offset 0x1140 -+ 0x1140: 0x24cd, 0x1141: 0x24db, 0x1142: 0x24d4, 0x1143: 0x24b8, 0x1144: 0x24b8, 0x1145: 0x24e2, -+ 0x1146: 0x24e2, 0x1147: 0x24e9, 0x1148: 0x24e9, 0x1149: 0x2513, 0x114a: 0x251a, 0x114b: 0x2521, -+ 0x114c: 0x24f7, 0x114d: 0x2505, 0x114e: 0x2528, 0x114f: 0x252f, -+ 0x1152: 0x24fe, 0x1153: 0x2583, 0x1154: 0x258a, 0x1155: 0x2560, 0x1156: 0x2567, 0x1157: 0x254b, -+ 0x1158: 0x254b, 0x1159: 0x2552, 0x115a: 0x257c, 0x115b: 0x2575, 0x115c: 0x259f, 0x115d: 0x259f, -+ 0x115e: 0x230d, 0x115f: 0x2322, 0x1160: 0x231b, 0x1161: 0x2345, 0x1162: 0x233e, 0x1163: 0x2368, -+ 0x1164: 0x2361, 0x1165: 0x238b, 0x1166: 0x236f, 0x1167: 0x2384, 0x1168: 0x23bc, 0x1169: 0x2409, -+ 0x116a: 0x23ed, 0x116b: 0x242c, 0x116c: 0x24c6, 0x116d: 0x24f0, 0x116e: 0x2598, 0x116f: 0x2591, -+ 0x1170: 0x25a6, 0x1171: 0x253d, 0x1172: 0x24a3, 0x1173: 0x256e, 0x1174: 0x2495, 0x1175: 0x24cd, -+ 0x1176: 0x2464, 0x1177: 0x24b1, 0x1178: 0x2544, 0x1179: 0x2536, 0x117a: 0x24bf, 0x117b: 0x24aa, -+ 0x117c: 0x24bf, 0x117d: 0x2544, 0x117e: 0x2376, 0x117f: 0x2392, -+ // Block 0x46, offset 0x1180 -+ 0x1180: 0x250c, 0x1181: 0x2487, 0x1182: 0x2306, 0x1183: 0x24aa, 0x1184: 0x244f, 0x1185: 0x241e, -+ 0x1186: 0x23c3, 0x1187: 0x2559, -+ 0x11b0: 0x2417, 0x11b1: 0x248e, 0x11b2: 0x27c2, 0x11b3: 0x27b9, 0x11b4: 0x27ef, 0x11b5: 0x27dd, -+ 0x11b6: 0x27cb, 0x11b7: 0x27e6, 0x11b8: 0x27f8, 0x11b9: 0x2410, 0x11ba: 0x2c7f, 0x11bb: 0x2aff, -+ 0x11bc: 0x27d4, -+ // Block 0x47, offset 0x11c0 -+ 0x11d0: 0x0019, 0x11d1: 0x0483, -+ 0x11d2: 0x0487, 0x11d3: 0x0035, 0x11d4: 0x0037, 0x11d5: 0x0003, 0x11d6: 0x003f, 0x11d7: 0x04bf, -+ 0x11d8: 0x04c3, 0x11d9: 0x1b5f, -+ 0x11e0: 0x8132, 0x11e1: 0x8132, 0x11e2: 0x8132, 0x11e3: 0x8132, -+ 0x11e4: 0x8132, 0x11e5: 0x8132, 0x11e6: 0x8132, 0x11e7: 0x812d, 0x11e8: 0x812d, 0x11e9: 0x812d, -+ 0x11ea: 0x812d, 0x11eb: 0x812d, 0x11ec: 0x812d, 0x11ed: 0x812d, 0x11ee: 0x8132, 0x11ef: 0x8132, -+ 0x11f0: 0x1873, 0x11f1: 0x0443, 0x11f2: 0x043f, 0x11f3: 0x007f, 0x11f4: 0x007f, 0x11f5: 0x0011, -+ 0x11f6: 0x0013, 0x11f7: 0x00b7, 0x11f8: 0x00bb, 0x11f9: 0x04b7, 0x11fa: 0x04bb, 0x11fb: 0x04ab, -+ 0x11fc: 0x04af, 0x11fd: 0x0493, 0x11fe: 0x0497, 0x11ff: 0x048b, -+ // Block 0x48, offset 0x1200 -+ 0x1200: 0x048f, 0x1201: 0x049b, 0x1202: 0x049f, 0x1203: 0x04a3, 0x1204: 0x04a7, -+ 0x1207: 0x0077, 0x1208: 0x007b, 0x1209: 0x426c, 0x120a: 0x426c, 0x120b: 0x426c, -+ 0x120c: 0x426c, 0x120d: 0x007f, 0x120e: 0x007f, 0x120f: 0x007f, 0x1210: 0x0019, 0x1211: 0x0483, -+ 0x1212: 0x001d, 0x1214: 0x0037, 0x1215: 0x0035, 0x1216: 0x003f, 0x1217: 0x0003, -+ 0x1218: 0x0443, 0x1219: 0x0011, 0x121a: 0x0013, 0x121b: 0x00b7, 0x121c: 0x00bb, 0x121d: 0x04b7, -+ 0x121e: 0x04bb, 0x121f: 0x0007, 0x1220: 0x000d, 0x1221: 0x0015, 0x1222: 0x0017, 0x1223: 0x001b, -+ 0x1224: 0x0039, 0x1225: 0x003d, 0x1226: 0x003b, 0x1228: 0x0079, 0x1229: 0x0009, -+ 0x122a: 0x000b, 0x122b: 0x0041, -+ 0x1230: 0x42ad, 0x1231: 0x442f, 0x1232: 0x42b2, 0x1234: 0x42b7, -+ 0x1236: 0x42bc, 0x1237: 0x4435, 0x1238: 0x42c1, 0x1239: 0x443b, 0x123a: 0x42c6, 0x123b: 0x4441, -+ 0x123c: 0x42cb, 0x123d: 0x4447, 0x123e: 0x42d0, 0x123f: 0x444d, -+ // Block 0x49, offset 0x1240 -+ 0x1240: 0x0236, 0x1241: 0x4411, 0x1242: 0x4411, 0x1243: 0x4417, 0x1244: 0x4417, 0x1245: 0x4459, -+ 0x1246: 0x4459, 0x1247: 0x441d, 0x1248: 0x441d, 0x1249: 0x4465, 0x124a: 0x4465, 0x124b: 0x4465, -+ 0x124c: 0x4465, 0x124d: 0x0239, 0x124e: 0x0239, 0x124f: 0x023c, 0x1250: 0x023c, 0x1251: 0x023c, -+ 0x1252: 0x023c, 0x1253: 0x023f, 0x1254: 0x023f, 0x1255: 0x0242, 0x1256: 0x0242, 0x1257: 0x0242, -+ 0x1258: 0x0242, 0x1259: 0x0245, 0x125a: 0x0245, 0x125b: 0x0245, 0x125c: 0x0245, 0x125d: 0x0248, -+ 0x125e: 0x0248, 0x125f: 0x0248, 0x1260: 0x0248, 0x1261: 0x024b, 0x1262: 0x024b, 0x1263: 0x024b, -+ 0x1264: 0x024b, 0x1265: 0x024e, 0x1266: 0x024e, 0x1267: 0x024e, 0x1268: 0x024e, 0x1269: 0x0251, -+ 0x126a: 0x0251, 0x126b: 0x0254, 0x126c: 0x0254, 0x126d: 0x0257, 0x126e: 0x0257, 0x126f: 0x025a, -+ 0x1270: 0x025a, 0x1271: 0x025d, 0x1272: 0x025d, 0x1273: 0x025d, 0x1274: 0x025d, 0x1275: 0x0260, -+ 0x1276: 0x0260, 0x1277: 0x0260, 0x1278: 0x0260, 0x1279: 0x0263, 0x127a: 0x0263, 0x127b: 0x0263, -+ 0x127c: 0x0263, 0x127d: 0x0266, 0x127e: 0x0266, 0x127f: 0x0266, -+ // Block 0x4a, offset 0x1280 -+ 0x1280: 0x0266, 0x1281: 0x0269, 0x1282: 0x0269, 0x1283: 0x0269, 0x1284: 0x0269, 0x1285: 0x026c, -+ 0x1286: 0x026c, 0x1287: 0x026c, 0x1288: 0x026c, 0x1289: 0x026f, 0x128a: 0x026f, 0x128b: 0x026f, -+ 0x128c: 0x026f, 0x128d: 0x0272, 0x128e: 0x0272, 0x128f: 0x0272, 0x1290: 0x0272, 0x1291: 0x0275, -+ 0x1292: 0x0275, 0x1293: 0x0275, 0x1294: 0x0275, 0x1295: 0x0278, 0x1296: 0x0278, 0x1297: 0x0278, -+ 0x1298: 0x0278, 0x1299: 0x027b, 0x129a: 0x027b, 0x129b: 0x027b, 0x129c: 0x027b, 0x129d: 0x027e, -+ 0x129e: 0x027e, 0x129f: 0x027e, 0x12a0: 0x027e, 0x12a1: 0x0281, 0x12a2: 0x0281, 0x12a3: 0x0281, -+ 0x12a4: 0x0281, 0x12a5: 0x0284, 0x12a6: 0x0284, 0x12a7: 0x0284, 0x12a8: 0x0284, 0x12a9: 0x0287, -+ 0x12aa: 0x0287, 0x12ab: 0x0287, 0x12ac: 0x0287, 0x12ad: 0x028a, 0x12ae: 0x028a, 0x12af: 0x028d, -+ 0x12b0: 0x028d, 0x12b1: 0x0290, 0x12b2: 0x0290, 0x12b3: 0x0290, 0x12b4: 0x0290, 0x12b5: 0x2e03, -+ 0x12b6: 0x2e03, 0x12b7: 0x2e0b, 0x12b8: 0x2e0b, 0x12b9: 0x2e13, 0x12ba: 0x2e13, 0x12bb: 0x1f85, -+ 0x12bc: 0x1f85, -+ // Block 0x4b, offset 0x12c0 -+ 0x12c0: 0x0081, 0x12c1: 0x0083, 0x12c2: 0x0085, 0x12c3: 0x0087, 0x12c4: 0x0089, 0x12c5: 0x008b, -+ 0x12c6: 0x008d, 0x12c7: 0x008f, 0x12c8: 0x0091, 0x12c9: 0x0093, 0x12ca: 0x0095, 0x12cb: 0x0097, -+ 0x12cc: 0x0099, 0x12cd: 0x009b, 0x12ce: 0x009d, 0x12cf: 0x009f, 0x12d0: 0x00a1, 0x12d1: 0x00a3, -+ 0x12d2: 0x00a5, 0x12d3: 0x00a7, 0x12d4: 0x00a9, 0x12d5: 0x00ab, 0x12d6: 0x00ad, 0x12d7: 0x00af, -+ 0x12d8: 0x00b1, 0x12d9: 0x00b3, 0x12da: 0x00b5, 0x12db: 0x00b7, 0x12dc: 0x00b9, 0x12dd: 0x00bb, -+ 0x12de: 0x00bd, 0x12df: 0x0477, 0x12e0: 0x047b, 0x12e1: 0x0487, 0x12e2: 0x049b, 0x12e3: 0x049f, -+ 0x12e4: 0x0483, 0x12e5: 0x05ab, 0x12e6: 0x05a3, 0x12e7: 0x04c7, 0x12e8: 0x04cf, 0x12e9: 0x04d7, -+ 0x12ea: 0x04df, 0x12eb: 0x04e7, 0x12ec: 0x056b, 0x12ed: 0x0573, 0x12ee: 0x057b, 0x12ef: 0x051f, -+ 0x12f0: 0x05af, 0x12f1: 0x04cb, 0x12f2: 0x04d3, 0x12f3: 0x04db, 0x12f4: 0x04e3, 0x12f5: 0x04eb, -+ 0x12f6: 0x04ef, 0x12f7: 0x04f3, 0x12f8: 0x04f7, 0x12f9: 0x04fb, 0x12fa: 0x04ff, 0x12fb: 0x0503, -+ 0x12fc: 0x0507, 0x12fd: 0x050b, 0x12fe: 0x050f, 0x12ff: 0x0513, -+ // Block 0x4c, offset 0x1300 -+ 0x1300: 0x0517, 0x1301: 0x051b, 0x1302: 0x0523, 0x1303: 0x0527, 0x1304: 0x052b, 0x1305: 0x052f, -+ 0x1306: 0x0533, 0x1307: 0x0537, 0x1308: 0x053b, 0x1309: 0x053f, 0x130a: 0x0543, 0x130b: 0x0547, -+ 0x130c: 0x054b, 0x130d: 0x054f, 0x130e: 0x0553, 0x130f: 0x0557, 0x1310: 0x055b, 0x1311: 0x055f, -+ 0x1312: 0x0563, 0x1313: 0x0567, 0x1314: 0x056f, 0x1315: 0x0577, 0x1316: 0x057f, 0x1317: 0x0583, -+ 0x1318: 0x0587, 0x1319: 0x058b, 0x131a: 0x058f, 0x131b: 0x0593, 0x131c: 0x0597, 0x131d: 0x05a7, -+ 0x131e: 0x4a7b, 0x131f: 0x4a81, 0x1320: 0x03c3, 0x1321: 0x0313, 0x1322: 0x0317, 0x1323: 0x4a3e, -+ 0x1324: 0x031b, 0x1325: 0x4a44, 0x1326: 0x4a4a, 0x1327: 0x031f, 0x1328: 0x0323, 0x1329: 0x0327, -+ 0x132a: 0x4a50, 0x132b: 0x4a56, 0x132c: 0x4a5c, 0x132d: 0x4a62, 0x132e: 0x4a68, 0x132f: 0x4a6e, -+ 0x1330: 0x0367, 0x1331: 0x032b, 0x1332: 0x032f, 0x1333: 0x0333, 0x1334: 0x037b, 0x1335: 0x0337, -+ 0x1336: 0x033b, 0x1337: 0x033f, 0x1338: 0x0343, 0x1339: 0x0347, 0x133a: 0x034b, 0x133b: 0x034f, -+ 0x133c: 0x0353, 0x133d: 0x0357, 0x133e: 0x035b, -+ // Block 0x4d, offset 0x1340 -+ 0x1342: 0x49c0, 0x1343: 0x49c6, 0x1344: 0x49cc, 0x1345: 0x49d2, -+ 0x1346: 0x49d8, 0x1347: 0x49de, 0x134a: 0x49e4, 0x134b: 0x49ea, -+ 0x134c: 0x49f0, 0x134d: 0x49f6, 0x134e: 0x49fc, 0x134f: 0x4a02, -+ 0x1352: 0x4a08, 0x1353: 0x4a0e, 0x1354: 0x4a14, 0x1355: 0x4a1a, 0x1356: 0x4a20, 0x1357: 0x4a26, -+ 0x135a: 0x4a2c, 0x135b: 0x4a32, 0x135c: 0x4a38, -+ 0x1360: 0x00bf, 0x1361: 0x00c2, 0x1362: 0x00cb, 0x1363: 0x4267, -+ 0x1364: 0x00c8, 0x1365: 0x00c5, 0x1366: 0x0447, 0x1368: 0x046b, 0x1369: 0x044b, -+ 0x136a: 0x044f, 0x136b: 0x0453, 0x136c: 0x0457, 0x136d: 0x046f, 0x136e: 0x0473, -+ // Block 0x4e, offset 0x1380 -+ 0x1380: 0x0063, 0x1381: 0x0065, 0x1382: 0x0067, 0x1383: 0x0069, 0x1384: 0x006b, 0x1385: 0x006d, -+ 0x1386: 0x006f, 0x1387: 0x0071, 0x1388: 0x0073, 0x1389: 0x0075, 0x138a: 0x0083, 0x138b: 0x0085, -+ 0x138c: 0x0087, 0x138d: 0x0089, 0x138e: 0x008b, 0x138f: 0x008d, 0x1390: 0x008f, 0x1391: 0x0091, -+ 0x1392: 0x0093, 0x1393: 0x0095, 0x1394: 0x0097, 0x1395: 0x0099, 0x1396: 0x009b, 0x1397: 0x009d, -+ 0x1398: 0x009f, 0x1399: 0x00a1, 0x139a: 0x00a3, 0x139b: 0x00a5, 0x139c: 0x00a7, 0x139d: 0x00a9, -+ 0x139e: 0x00ab, 0x139f: 0x00ad, 0x13a0: 0x00af, 0x13a1: 0x00b1, 0x13a2: 0x00b3, 0x13a3: 0x00b5, -+ 0x13a4: 0x00dd, 0x13a5: 0x00f2, 0x13a8: 0x0173, 0x13a9: 0x0176, -+ 0x13aa: 0x0179, 0x13ab: 0x017c, 0x13ac: 0x017f, 0x13ad: 0x0182, 0x13ae: 0x0185, 0x13af: 0x0188, -+ 0x13b0: 0x018b, 0x13b1: 0x018e, 0x13b2: 0x0191, 0x13b3: 0x0194, 0x13b4: 0x0197, 0x13b5: 0x019a, -+ 0x13b6: 0x019d, 0x13b7: 0x01a0, 0x13b8: 0x01a3, 0x13b9: 0x0188, 0x13ba: 0x01a6, 0x13bb: 0x01a9, -+ 0x13bc: 0x01ac, 0x13bd: 0x01af, 0x13be: 0x01b2, 0x13bf: 0x01b5, -+ // Block 0x4f, offset 0x13c0 -+ 0x13c0: 0x01fd, 0x13c1: 0x0200, 0x13c2: 0x0203, 0x13c3: 0x045b, 0x13c4: 0x01c7, 0x13c5: 0x01d0, -+ 0x13c6: 0x01d6, 0x13c7: 0x01fa, 0x13c8: 0x01eb, 0x13c9: 0x01e8, 0x13ca: 0x0206, 0x13cb: 0x0209, -+ 0x13ce: 0x0021, 0x13cf: 0x0023, 0x13d0: 0x0025, 0x13d1: 0x0027, -+ 0x13d2: 0x0029, 0x13d3: 0x002b, 0x13d4: 0x002d, 0x13d5: 0x002f, 0x13d6: 0x0031, 0x13d7: 0x0033, -+ 0x13d8: 0x0021, 0x13d9: 0x0023, 0x13da: 0x0025, 0x13db: 0x0027, 0x13dc: 0x0029, 0x13dd: 0x002b, -+ 0x13de: 0x002d, 0x13df: 0x002f, 0x13e0: 0x0031, 0x13e1: 0x0033, 0x13e2: 0x0021, 0x13e3: 0x0023, -+ 0x13e4: 0x0025, 0x13e5: 0x0027, 0x13e6: 0x0029, 0x13e7: 0x002b, 0x13e8: 0x002d, 0x13e9: 0x002f, -+ 0x13ea: 0x0031, 0x13eb: 0x0033, 0x13ec: 0x0021, 0x13ed: 0x0023, 0x13ee: 0x0025, 0x13ef: 0x0027, -+ 0x13f0: 0x0029, 0x13f1: 0x002b, 0x13f2: 0x002d, 0x13f3: 0x002f, 0x13f4: 0x0031, 0x13f5: 0x0033, -+ 0x13f6: 0x0021, 0x13f7: 0x0023, 0x13f8: 0x0025, 0x13f9: 0x0027, 0x13fa: 0x0029, 0x13fb: 0x002b, -+ 0x13fc: 0x002d, 0x13fd: 0x002f, 0x13fe: 0x0031, 0x13ff: 0x0033, -+ // Block 0x50, offset 0x1400 -+ 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1405: 0x028a, -+ 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140a: 0x027b, 0x140b: 0x027e, -+ 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263, -+ 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e, -+ 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272, 0x141c: 0x0293, 0x141d: 0x02e4, -+ 0x141e: 0x02cc, 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248, -+ 0x1424: 0x0287, 0x1427: 0x024b, 0x1429: 0x0290, -+ 0x142a: 0x027b, 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, -+ 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242, -+ 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143b: 0x0272, -+ // Block 0x51, offset 0x1440 -+ 0x1442: 0x0248, -+ 0x1447: 0x024b, 0x1449: 0x0290, 0x144b: 0x027e, -+ 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1451: 0x0263, -+ 0x1452: 0x0278, 0x1454: 0x0260, 0x1457: 0x024e, -+ 0x1459: 0x0266, 0x145b: 0x0272, 0x145d: 0x02e4, -+ 0x145f: 0x0296, 0x1461: 0x023c, 0x1462: 0x0248, -+ 0x1464: 0x0287, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290, -+ 0x146a: 0x027b, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f, -+ 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1474: 0x0260, 0x1475: 0x0242, -+ 0x1476: 0x0245, 0x1477: 0x024e, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272, -+ 0x147c: 0x0293, 0x147e: 0x02cc, -+ // Block 0x52, offset 0x1480 -+ 0x1480: 0x0239, 0x1481: 0x023c, 0x1482: 0x0248, 0x1483: 0x0251, 0x1484: 0x0287, 0x1485: 0x028a, -+ 0x1486: 0x025a, 0x1487: 0x024b, 0x1488: 0x0269, 0x1489: 0x0290, 0x148b: 0x027e, -+ 0x148c: 0x0281, 0x148d: 0x0284, 0x148e: 0x025d, 0x148f: 0x026f, 0x1490: 0x0275, 0x1491: 0x0263, -+ 0x1492: 0x0278, 0x1493: 0x0257, 0x1494: 0x0260, 0x1495: 0x0242, 0x1496: 0x0245, 0x1497: 0x024e, -+ 0x1498: 0x0254, 0x1499: 0x0266, 0x149a: 0x026c, 0x149b: 0x0272, -+ 0x14a1: 0x023c, 0x14a2: 0x0248, 0x14a3: 0x0251, -+ 0x14a5: 0x028a, 0x14a6: 0x025a, 0x14a7: 0x024b, 0x14a8: 0x0269, 0x14a9: 0x0290, -+ 0x14ab: 0x027e, 0x14ac: 0x0281, 0x14ad: 0x0284, 0x14ae: 0x025d, 0x14af: 0x026f, -+ 0x14b0: 0x0275, 0x14b1: 0x0263, 0x14b2: 0x0278, 0x14b3: 0x0257, 0x14b4: 0x0260, 0x14b5: 0x0242, -+ 0x14b6: 0x0245, 0x14b7: 0x024e, 0x14b8: 0x0254, 0x14b9: 0x0266, 0x14ba: 0x026c, 0x14bb: 0x0272, -+ // Block 0x53, offset 0x14c0 -+ 0x14c0: 0x1879, 0x14c1: 0x1876, 0x14c2: 0x187c, 0x14c3: 0x18a0, 0x14c4: 0x18c4, 0x14c5: 0x18e8, -+ 0x14c6: 0x190c, 0x14c7: 0x1915, 0x14c8: 0x191b, 0x14c9: 0x1921, 0x14ca: 0x1927, -+ 0x14d0: 0x1a8f, 0x14d1: 0x1a93, -+ 0x14d2: 0x1a97, 0x14d3: 0x1a9b, 0x14d4: 0x1a9f, 0x14d5: 0x1aa3, 0x14d6: 0x1aa7, 0x14d7: 0x1aab, -+ 0x14d8: 0x1aaf, 0x14d9: 0x1ab3, 0x14da: 0x1ab7, 0x14db: 0x1abb, 0x14dc: 0x1abf, 0x14dd: 0x1ac3, -+ 0x14de: 0x1ac7, 0x14df: 0x1acb, 0x14e0: 0x1acf, 0x14e1: 0x1ad3, 0x14e2: 0x1ad7, 0x14e3: 0x1adb, -+ 0x14e4: 0x1adf, 0x14e5: 0x1ae3, 0x14e6: 0x1ae7, 0x14e7: 0x1aeb, 0x14e8: 0x1aef, 0x14e9: 0x1af3, -+ 0x14ea: 0x2721, 0x14eb: 0x0047, 0x14ec: 0x0065, 0x14ed: 0x193c, 0x14ee: 0x19b4, -+ 0x14f0: 0x0043, 0x14f1: 0x0045, 0x14f2: 0x0047, 0x14f3: 0x0049, 0x14f4: 0x004b, 0x14f5: 0x004d, -+ 0x14f6: 0x004f, 0x14f7: 0x0051, 0x14f8: 0x0053, 0x14f9: 0x0055, 0x14fa: 0x0057, 0x14fb: 0x0059, -+ 0x14fc: 0x005b, 0x14fd: 0x005d, 0x14fe: 0x005f, 0x14ff: 0x0061, -+ // Block 0x54, offset 0x1500 -+ 0x1500: 0x26b0, 0x1501: 0x26c5, 0x1502: 0x0503, -+ 0x1510: 0x0c0f, 0x1511: 0x0a47, -+ 0x1512: 0x08d3, 0x1513: 0x45c7, 0x1514: 0x071b, 0x1515: 0x09ef, 0x1516: 0x132f, 0x1517: 0x09ff, -+ 0x1518: 0x0727, 0x1519: 0x0cd7, 0x151a: 0x0eaf, 0x151b: 0x0caf, 0x151c: 0x0827, 0x151d: 0x0b6b, -+ 0x151e: 0x07bf, 0x151f: 0x0cb7, 0x1520: 0x0813, 0x1521: 0x1117, 0x1522: 0x0f83, 0x1523: 0x138b, -+ 0x1524: 0x09d3, 0x1525: 0x090b, 0x1526: 0x0e63, 0x1527: 0x0c1b, 0x1528: 0x0c47, 0x1529: 0x06bf, -+ 0x152a: 0x06cb, 0x152b: 0x140b, 0x152c: 0x0adb, 0x152d: 0x06e7, 0x152e: 0x08ef, 0x152f: 0x0c3b, -+ 0x1530: 0x13b3, 0x1531: 0x0c13, 0x1532: 0x106f, 0x1533: 0x10ab, 0x1534: 0x08f7, 0x1535: 0x0e43, -+ 0x1536: 0x0d0b, 0x1537: 0x0d07, 0x1538: 0x0f97, 0x1539: 0x082b, 0x153a: 0x0957, 0x153b: 0x1443, -+ // Block 0x55, offset 0x1540 -+ 0x1540: 0x06fb, 0x1541: 0x06f3, 0x1542: 0x0703, 0x1543: 0x1647, 0x1544: 0x0747, 0x1545: 0x0757, -+ 0x1546: 0x075b, 0x1547: 0x0763, 0x1548: 0x076b, 0x1549: 0x076f, 0x154a: 0x077b, 0x154b: 0x0773, -+ 0x154c: 0x05b3, 0x154d: 0x165b, 0x154e: 0x078f, 0x154f: 0x0793, 0x1550: 0x0797, 0x1551: 0x07b3, -+ 0x1552: 0x164c, 0x1553: 0x05b7, 0x1554: 0x079f, 0x1555: 0x07bf, 0x1556: 0x1656, 0x1557: 0x07cf, -+ 0x1558: 0x07d7, 0x1559: 0x0737, 0x155a: 0x07df, 0x155b: 0x07e3, 0x155c: 0x1831, 0x155d: 0x07ff, -+ 0x155e: 0x0807, 0x155f: 0x05bf, 0x1560: 0x081f, 0x1561: 0x0823, 0x1562: 0x082b, 0x1563: 0x082f, -+ 0x1564: 0x05c3, 0x1565: 0x0847, 0x1566: 0x084b, 0x1567: 0x0857, 0x1568: 0x0863, 0x1569: 0x0867, -+ 0x156a: 0x086b, 0x156b: 0x0873, 0x156c: 0x0893, 0x156d: 0x0897, 0x156e: 0x089f, 0x156f: 0x08af, -+ 0x1570: 0x08b7, 0x1571: 0x08bb, 0x1572: 0x08bb, 0x1573: 0x08bb, 0x1574: 0x166a, 0x1575: 0x0e93, -+ 0x1576: 0x08cf, 0x1577: 0x08d7, 0x1578: 0x166f, 0x1579: 0x08e3, 0x157a: 0x08eb, 0x157b: 0x08f3, -+ 0x157c: 0x091b, 0x157d: 0x0907, 0x157e: 0x0913, 0x157f: 0x0917, -+ // Block 0x56, offset 0x1580 -+ 0x1580: 0x091f, 0x1581: 0x0927, 0x1582: 0x092b, 0x1583: 0x0933, 0x1584: 0x093b, 0x1585: 0x093f, -+ 0x1586: 0x093f, 0x1587: 0x0947, 0x1588: 0x094f, 0x1589: 0x0953, 0x158a: 0x095f, 0x158b: 0x0983, -+ 0x158c: 0x0967, 0x158d: 0x0987, 0x158e: 0x096b, 0x158f: 0x0973, 0x1590: 0x080b, 0x1591: 0x09cf, -+ 0x1592: 0x0997, 0x1593: 0x099b, 0x1594: 0x099f, 0x1595: 0x0993, 0x1596: 0x09a7, 0x1597: 0x09a3, -+ 0x1598: 0x09bb, 0x1599: 0x1674, 0x159a: 0x09d7, 0x159b: 0x09db, 0x159c: 0x09e3, 0x159d: 0x09ef, -+ 0x159e: 0x09f7, 0x159f: 0x0a13, 0x15a0: 0x1679, 0x15a1: 0x167e, 0x15a2: 0x0a1f, 0x15a3: 0x0a23, -+ 0x15a4: 0x0a27, 0x15a5: 0x0a1b, 0x15a6: 0x0a2f, 0x15a7: 0x05c7, 0x15a8: 0x05cb, 0x15a9: 0x0a37, -+ 0x15aa: 0x0a3f, 0x15ab: 0x0a3f, 0x15ac: 0x1683, 0x15ad: 0x0a5b, 0x15ae: 0x0a5f, 0x15af: 0x0a63, -+ 0x15b0: 0x0a6b, 0x15b1: 0x1688, 0x15b2: 0x0a73, 0x15b3: 0x0a77, 0x15b4: 0x0b4f, 0x15b5: 0x0a7f, -+ 0x15b6: 0x05cf, 0x15b7: 0x0a8b, 0x15b8: 0x0a9b, 0x15b9: 0x0aa7, 0x15ba: 0x0aa3, 0x15bb: 0x1692, -+ 0x15bc: 0x0aaf, 0x15bd: 0x1697, 0x15be: 0x0abb, 0x15bf: 0x0ab7, -+ // Block 0x57, offset 0x15c0 -+ 0x15c0: 0x0abf, 0x15c1: 0x0acf, 0x15c2: 0x0ad3, 0x15c3: 0x05d3, 0x15c4: 0x0ae3, 0x15c5: 0x0aeb, -+ 0x15c6: 0x0aef, 0x15c7: 0x0af3, 0x15c8: 0x05d7, 0x15c9: 0x169c, 0x15ca: 0x05db, 0x15cb: 0x0b0f, -+ 0x15cc: 0x0b13, 0x15cd: 0x0b17, 0x15ce: 0x0b1f, 0x15cf: 0x1863, 0x15d0: 0x0b37, 0x15d1: 0x16a6, -+ 0x15d2: 0x16a6, 0x15d3: 0x11d7, 0x15d4: 0x0b47, 0x15d5: 0x0b47, 0x15d6: 0x05df, 0x15d7: 0x16c9, -+ 0x15d8: 0x179b, 0x15d9: 0x0b57, 0x15da: 0x0b5f, 0x15db: 0x05e3, 0x15dc: 0x0b73, 0x15dd: 0x0b83, -+ 0x15de: 0x0b87, 0x15df: 0x0b8f, 0x15e0: 0x0b9f, 0x15e1: 0x05eb, 0x15e2: 0x05e7, 0x15e3: 0x0ba3, -+ 0x15e4: 0x16ab, 0x15e5: 0x0ba7, 0x15e6: 0x0bbb, 0x15e7: 0x0bbf, 0x15e8: 0x0bc3, 0x15e9: 0x0bbf, -+ 0x15ea: 0x0bcf, 0x15eb: 0x0bd3, 0x15ec: 0x0be3, 0x15ed: 0x0bdb, 0x15ee: 0x0bdf, 0x15ef: 0x0be7, -+ 0x15f0: 0x0beb, 0x15f1: 0x0bef, 0x15f2: 0x0bfb, 0x15f3: 0x0bff, 0x15f4: 0x0c17, 0x15f5: 0x0c1f, -+ 0x15f6: 0x0c2f, 0x15f7: 0x0c43, 0x15f8: 0x16ba, 0x15f9: 0x0c3f, 0x15fa: 0x0c33, 0x15fb: 0x0c4b, -+ 0x15fc: 0x0c53, 0x15fd: 0x0c67, 0x15fe: 0x16bf, 0x15ff: 0x0c6f, -+ // Block 0x58, offset 0x1600 -+ 0x1600: 0x0c63, 0x1601: 0x0c5b, 0x1602: 0x05ef, 0x1603: 0x0c77, 0x1604: 0x0c7f, 0x1605: 0x0c87, -+ 0x1606: 0x0c7b, 0x1607: 0x05f3, 0x1608: 0x0c97, 0x1609: 0x0c9f, 0x160a: 0x16c4, 0x160b: 0x0ccb, -+ 0x160c: 0x0cff, 0x160d: 0x0cdb, 0x160e: 0x05ff, 0x160f: 0x0ce7, 0x1610: 0x05fb, 0x1611: 0x05f7, -+ 0x1612: 0x07c3, 0x1613: 0x07c7, 0x1614: 0x0d03, 0x1615: 0x0ceb, 0x1616: 0x11ab, 0x1617: 0x0663, -+ 0x1618: 0x0d0f, 0x1619: 0x0d13, 0x161a: 0x0d17, 0x161b: 0x0d2b, 0x161c: 0x0d23, 0x161d: 0x16dd, -+ 0x161e: 0x0603, 0x161f: 0x0d3f, 0x1620: 0x0d33, 0x1621: 0x0d4f, 0x1622: 0x0d57, 0x1623: 0x16e7, -+ 0x1624: 0x0d5b, 0x1625: 0x0d47, 0x1626: 0x0d63, 0x1627: 0x0607, 0x1628: 0x0d67, 0x1629: 0x0d6b, -+ 0x162a: 0x0d6f, 0x162b: 0x0d7b, 0x162c: 0x16ec, 0x162d: 0x0d83, 0x162e: 0x060b, 0x162f: 0x0d8f, -+ 0x1630: 0x16f1, 0x1631: 0x0d93, 0x1632: 0x060f, 0x1633: 0x0d9f, 0x1634: 0x0dab, 0x1635: 0x0db7, -+ 0x1636: 0x0dbb, 0x1637: 0x16f6, 0x1638: 0x168d, 0x1639: 0x16fb, 0x163a: 0x0ddb, 0x163b: 0x1700, -+ 0x163c: 0x0de7, 0x163d: 0x0def, 0x163e: 0x0ddf, 0x163f: 0x0dfb, -+ // Block 0x59, offset 0x1640 -+ 0x1640: 0x0e0b, 0x1641: 0x0e1b, 0x1642: 0x0e0f, 0x1643: 0x0e13, 0x1644: 0x0e1f, 0x1645: 0x0e23, -+ 0x1646: 0x1705, 0x1647: 0x0e07, 0x1648: 0x0e3b, 0x1649: 0x0e3f, 0x164a: 0x0613, 0x164b: 0x0e53, -+ 0x164c: 0x0e4f, 0x164d: 0x170a, 0x164e: 0x0e33, 0x164f: 0x0e6f, 0x1650: 0x170f, 0x1651: 0x1714, -+ 0x1652: 0x0e73, 0x1653: 0x0e87, 0x1654: 0x0e83, 0x1655: 0x0e7f, 0x1656: 0x0617, 0x1657: 0x0e8b, -+ 0x1658: 0x0e9b, 0x1659: 0x0e97, 0x165a: 0x0ea3, 0x165b: 0x1651, 0x165c: 0x0eb3, 0x165d: 0x1719, -+ 0x165e: 0x0ebf, 0x165f: 0x1723, 0x1660: 0x0ed3, 0x1661: 0x0edf, 0x1662: 0x0ef3, 0x1663: 0x1728, -+ 0x1664: 0x0f07, 0x1665: 0x0f0b, 0x1666: 0x172d, 0x1667: 0x1732, 0x1668: 0x0f27, 0x1669: 0x0f37, -+ 0x166a: 0x061b, 0x166b: 0x0f3b, 0x166c: 0x061f, 0x166d: 0x061f, 0x166e: 0x0f53, 0x166f: 0x0f57, -+ 0x1670: 0x0f5f, 0x1671: 0x0f63, 0x1672: 0x0f6f, 0x1673: 0x0623, 0x1674: 0x0f87, 0x1675: 0x1737, -+ 0x1676: 0x0fa3, 0x1677: 0x173c, 0x1678: 0x0faf, 0x1679: 0x16a1, 0x167a: 0x0fbf, 0x167b: 0x1741, -+ 0x167c: 0x1746, 0x167d: 0x174b, 0x167e: 0x0627, 0x167f: 0x062b, -+ // Block 0x5a, offset 0x1680 -+ 0x1680: 0x0ff7, 0x1681: 0x1755, 0x1682: 0x1750, 0x1683: 0x175a, 0x1684: 0x175f, 0x1685: 0x0fff, -+ 0x1686: 0x1003, 0x1687: 0x1003, 0x1688: 0x100b, 0x1689: 0x0633, 0x168a: 0x100f, 0x168b: 0x0637, -+ 0x168c: 0x063b, 0x168d: 0x1769, 0x168e: 0x1023, 0x168f: 0x102b, 0x1690: 0x1037, 0x1691: 0x063f, -+ 0x1692: 0x176e, 0x1693: 0x105b, 0x1694: 0x1773, 0x1695: 0x1778, 0x1696: 0x107b, 0x1697: 0x1093, -+ 0x1698: 0x0643, 0x1699: 0x109b, 0x169a: 0x109f, 0x169b: 0x10a3, 0x169c: 0x177d, 0x169d: 0x1782, -+ 0x169e: 0x1782, 0x169f: 0x10bb, 0x16a0: 0x0647, 0x16a1: 0x1787, 0x16a2: 0x10cf, 0x16a3: 0x10d3, -+ 0x16a4: 0x064b, 0x16a5: 0x178c, 0x16a6: 0x10ef, 0x16a7: 0x064f, 0x16a8: 0x10ff, 0x16a9: 0x10f7, -+ 0x16aa: 0x1107, 0x16ab: 0x1796, 0x16ac: 0x111f, 0x16ad: 0x0653, 0x16ae: 0x112b, 0x16af: 0x1133, -+ 0x16b0: 0x1143, 0x16b1: 0x0657, 0x16b2: 0x17a0, 0x16b3: 0x17a5, 0x16b4: 0x065b, 0x16b5: 0x17aa, -+ 0x16b6: 0x115b, 0x16b7: 0x17af, 0x16b8: 0x1167, 0x16b9: 0x1173, 0x16ba: 0x117b, 0x16bb: 0x17b4, -+ 0x16bc: 0x17b9, 0x16bd: 0x118f, 0x16be: 0x17be, 0x16bf: 0x1197, -+ // Block 0x5b, offset 0x16c0 -+ 0x16c0: 0x16ce, 0x16c1: 0x065f, 0x16c2: 0x11af, 0x16c3: 0x11b3, 0x16c4: 0x0667, 0x16c5: 0x11b7, -+ 0x16c6: 0x0a33, 0x16c7: 0x17c3, 0x16c8: 0x17c8, 0x16c9: 0x16d3, 0x16ca: 0x16d8, 0x16cb: 0x11d7, -+ 0x16cc: 0x11db, 0x16cd: 0x13f3, 0x16ce: 0x066b, 0x16cf: 0x1207, 0x16d0: 0x1203, 0x16d1: 0x120b, -+ 0x16d2: 0x083f, 0x16d3: 0x120f, 0x16d4: 0x1213, 0x16d5: 0x1217, 0x16d6: 0x121f, 0x16d7: 0x17cd, -+ 0x16d8: 0x121b, 0x16d9: 0x1223, 0x16da: 0x1237, 0x16db: 0x123b, 0x16dc: 0x1227, 0x16dd: 0x123f, -+ 0x16de: 0x1253, 0x16df: 0x1267, 0x16e0: 0x1233, 0x16e1: 0x1247, 0x16e2: 0x124b, 0x16e3: 0x124f, -+ 0x16e4: 0x17d2, 0x16e5: 0x17dc, 0x16e6: 0x17d7, 0x16e7: 0x066f, 0x16e8: 0x126f, 0x16e9: 0x1273, -+ 0x16ea: 0x127b, 0x16eb: 0x17f0, 0x16ec: 0x127f, 0x16ed: 0x17e1, 0x16ee: 0x0673, 0x16ef: 0x0677, -+ 0x16f0: 0x17e6, 0x16f1: 0x17eb, 0x16f2: 0x067b, 0x16f3: 0x129f, 0x16f4: 0x12a3, 0x16f5: 0x12a7, -+ 0x16f6: 0x12ab, 0x16f7: 0x12b7, 0x16f8: 0x12b3, 0x16f9: 0x12bf, 0x16fa: 0x12bb, 0x16fb: 0x12cb, -+ 0x16fc: 0x12c3, 0x16fd: 0x12c7, 0x16fe: 0x12cf, 0x16ff: 0x067f, -+ // Block 0x5c, offset 0x1700 -+ 0x1700: 0x12d7, 0x1701: 0x12db, 0x1702: 0x0683, 0x1703: 0x12eb, 0x1704: 0x12ef, 0x1705: 0x17f5, -+ 0x1706: 0x12fb, 0x1707: 0x12ff, 0x1708: 0x0687, 0x1709: 0x130b, 0x170a: 0x05bb, 0x170b: 0x17fa, -+ 0x170c: 0x17ff, 0x170d: 0x068b, 0x170e: 0x068f, 0x170f: 0x1337, 0x1710: 0x134f, 0x1711: 0x136b, -+ 0x1712: 0x137b, 0x1713: 0x1804, 0x1714: 0x138f, 0x1715: 0x1393, 0x1716: 0x13ab, 0x1717: 0x13b7, -+ 0x1718: 0x180e, 0x1719: 0x1660, 0x171a: 0x13c3, 0x171b: 0x13bf, 0x171c: 0x13cb, 0x171d: 0x1665, -+ 0x171e: 0x13d7, 0x171f: 0x13e3, 0x1720: 0x1813, 0x1721: 0x1818, 0x1722: 0x1423, 0x1723: 0x142f, -+ 0x1724: 0x1437, 0x1725: 0x181d, 0x1726: 0x143b, 0x1727: 0x1467, 0x1728: 0x1473, 0x1729: 0x1477, -+ 0x172a: 0x146f, 0x172b: 0x1483, 0x172c: 0x1487, 0x172d: 0x1822, 0x172e: 0x1493, 0x172f: 0x0693, -+ 0x1730: 0x149b, 0x1731: 0x1827, 0x1732: 0x0697, 0x1733: 0x14d3, 0x1734: 0x0ac3, 0x1735: 0x14eb, -+ 0x1736: 0x182c, 0x1737: 0x1836, 0x1738: 0x069b, 0x1739: 0x069f, 0x173a: 0x1513, 0x173b: 0x183b, -+ 0x173c: 0x06a3, 0x173d: 0x1840, 0x173e: 0x152b, 0x173f: 0x152b, -+ // Block 0x5d, offset 0x1740 -+ 0x1740: 0x1533, 0x1741: 0x1845, 0x1742: 0x154b, 0x1743: 0x06a7, 0x1744: 0x155b, 0x1745: 0x1567, -+ 0x1746: 0x156f, 0x1747: 0x1577, 0x1748: 0x06ab, 0x1749: 0x184a, 0x174a: 0x158b, 0x174b: 0x15a7, -+ 0x174c: 0x15b3, 0x174d: 0x06af, 0x174e: 0x06b3, 0x174f: 0x15b7, 0x1750: 0x184f, 0x1751: 0x06b7, -+ 0x1752: 0x1854, 0x1753: 0x1859, 0x1754: 0x185e, 0x1755: 0x15db, 0x1756: 0x06bb, 0x1757: 0x15ef, -+ 0x1758: 0x15f7, 0x1759: 0x15fb, 0x175a: 0x1603, 0x175b: 0x160b, 0x175c: 0x1613, 0x175d: 0x1868, -+} -+ -+// nfkcIndex: 22 blocks, 1408 entries, 2816 bytes -+// Block 0 is the zero block. -+var nfkcIndex = [1408]uint16{ -+ // Block 0x0, offset 0x0 -+ // Block 0x1, offset 0x40 -+ // Block 0x2, offset 0x80 -+ // Block 0x3, offset 0xc0 -+ 0xc2: 0x5c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5d, 0xc7: 0x04, -+ 0xc8: 0x05, 0xca: 0x5e, 0xcb: 0x5f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, -+ 0xd0: 0x0a, 0xd1: 0x60, 0xd2: 0x61, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x62, -+ 0xd8: 0x63, 0xd9: 0x0d, 0xdb: 0x64, 0xdc: 0x65, 0xdd: 0x66, 0xdf: 0x67, -+ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, -+ 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, -+ 0xf0: 0x13, -+ // Block 0x4, offset 0x100 -+ 0x120: 0x68, 0x121: 0x69, 0x123: 0x0e, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, -+ 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, -+ 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, -+ 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, -+ // Block 0x5, offset 0x140 -+ 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, -+ 0x14d: 0x8a, -+ 0x15c: 0x8b, 0x15f: 0x8c, -+ 0x162: 0x8d, 0x164: 0x8e, -+ 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0f, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94, -+ 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x10, 0x176: 0x11, 0x177: 0x12, -+ 0x178: 0x13, 0x179: 0x14, 0x17a: 0x15, 0x17b: 0x16, 0x17c: 0x17, 0x17d: 0x18, 0x17e: 0x19, 0x17f: 0x1a, -+ // Block 0x6, offset 0x180 -+ 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1b, 0x185: 0x1c, 0x186: 0x9c, 0x187: 0x9d, -+ 0x188: 0x9e, 0x189: 0x1d, 0x18a: 0x1e, 0x18b: 0x9f, 0x18c: 0xa0, -+ 0x191: 0x1f, 0x192: 0x20, 0x193: 0xa1, -+ 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, -+ 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, -+ 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x21, 0x1bd: 0x22, 0x1be: 0x23, 0x1bf: 0xab, -+ // Block 0x7, offset 0x1c0 -+ 0x1c0: 0xac, 0x1c1: 0x24, 0x1c2: 0x25, 0x1c3: 0x26, 0x1c4: 0xad, 0x1c5: 0x27, 0x1c6: 0x28, -+ 0x1c8: 0x29, 0x1c9: 0x2a, 0x1ca: 0x2b, 0x1cb: 0x2c, 0x1cc: 0x2d, 0x1cd: 0x2e, 0x1ce: 0x2f, 0x1cf: 0x30, -+ // Block 0x8, offset 0x200 -+ 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, -+ 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, -+ 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, -+ 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, -+ 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, -+ // Block 0x9, offset 0x240 -+ 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, -+ 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, -+ 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, -+ 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, -+ 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, -+ 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, -+ 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, -+ 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, -+ // Block 0xa, offset 0x280 -+ 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, -+ 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, -+ 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, -+ 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, -+ 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, -+ 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, -+ 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, -+ 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, -+ // Block 0xb, offset 0x2c0 -+ 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, -+ 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, -+ 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, -+ 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, -+ // Block 0xc, offset 0x300 -+ 0x324: 0x31, 0x325: 0x32, 0x326: 0x33, 0x327: 0x34, -+ 0x328: 0x35, 0x329: 0x36, 0x32a: 0x37, 0x32b: 0x38, 0x32c: 0x39, 0x32d: 0x3a, 0x32e: 0x3b, 0x32f: 0x3c, -+ 0x330: 0x3d, 0x331: 0x3e, 0x332: 0x3f, 0x333: 0x40, 0x334: 0x41, 0x335: 0x42, 0x336: 0x43, 0x337: 0x44, -+ 0x338: 0x45, 0x339: 0x46, 0x33a: 0x47, 0x33b: 0x48, 0x33c: 0xc5, 0x33d: 0x49, 0x33e: 0x4a, 0x33f: 0x4b, -+ // Block 0xd, offset 0x340 -+ 0x347: 0xc6, -+ 0x34b: 0xc7, 0x34d: 0xc8, -+ 0x368: 0xc9, 0x36b: 0xca, -+ 0x374: 0xcb, -+ 0x37d: 0xcc, -+ // Block 0xe, offset 0x380 -+ 0x381: 0xcd, 0x382: 0xce, 0x384: 0xcf, 0x385: 0xb7, 0x387: 0xd0, -+ 0x388: 0xd1, 0x38b: 0xd2, 0x38c: 0xd3, 0x38d: 0xd4, -+ 0x391: 0xd5, 0x392: 0xd6, 0x393: 0xd7, 0x396: 0xd8, 0x397: 0xd9, -+ 0x398: 0xda, 0x39a: 0xdb, 0x39c: 0xdc, -+ 0x3a0: 0xdd, 0x3a7: 0xde, -+ 0x3a8: 0xdf, 0x3a9: 0xe0, 0x3aa: 0xe1, -+ 0x3b0: 0xda, 0x3b5: 0xe2, 0x3b6: 0xe3, -+ // Block 0xf, offset 0x3c0 -+ 0x3eb: 0xe4, 0x3ec: 0xe5, -+ // Block 0x10, offset 0x400 -+ 0x432: 0xe6, -+ // Block 0x11, offset 0x440 -+ 0x445: 0xe7, 0x446: 0xe8, 0x447: 0xe9, -+ 0x449: 0xea, -+ 0x450: 0xeb, 0x451: 0xec, 0x452: 0xed, 0x453: 0xee, 0x454: 0xef, 0x455: 0xf0, 0x456: 0xf1, 0x457: 0xf2, -+ 0x458: 0xf3, 0x459: 0xf4, 0x45a: 0x4c, 0x45b: 0xf5, 0x45c: 0xf6, 0x45d: 0xf7, 0x45e: 0xf8, 0x45f: 0x4d, -+ // Block 0x12, offset 0x480 -+ 0x480: 0xf9, 0x484: 0xe5, -+ 0x48b: 0xfa, -+ 0x4a3: 0xfb, 0x4a5: 0xfc, -+ 0x4b8: 0x4e, 0x4b9: 0x4f, 0x4ba: 0x50, -+ // Block 0x13, offset 0x4c0 -+ 0x4c4: 0x51, 0x4c5: 0xfd, 0x4c6: 0xfe, -+ 0x4c8: 0x52, 0x4c9: 0xff, -+ // Block 0x14, offset 0x500 -+ 0x520: 0x53, 0x521: 0x54, 0x522: 0x55, 0x523: 0x56, 0x524: 0x57, 0x525: 0x58, 0x526: 0x59, 0x527: 0x5a, -+ 0x528: 0x5b, -+ // Block 0x15, offset 0x540 -+ 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, -+ 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, -+ 0x56f: 0x12, -+} -+ -+// nfkcSparseOffset: 164 entries, 328 bytes -+var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x70, 0x75, 0x77, 0x7f, 0x86, 0x89, 0x91, 0x95, 0x99, 0x9b, 0x9d, 0xa6, 0xaa, 0xb1, 0xb6, 0xb9, 0xc3, 0xc6, 0xcd, 0xd5, 0xd9, 0xdb, 0xdf, 0xe3, 0xe9, 0xfa, 0x106, 0x108, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11a, 0x11c, 0x11f, 0x122, 0x124, 0x127, 0x12a, 0x12e, 0x133, 0x13c, 0x13e, 0x141, 0x143, 0x14e, 0x159, 0x167, 0x175, 0x185, 0x193, 0x19a, 0x1a0, 0x1af, 0x1b3, 0x1b5, 0x1b9, 0x1bb, 0x1be, 0x1c0, 0x1c3, 0x1c5, 0x1c8, 0x1ca, 0x1cc, 0x1ce, 0x1da, 0x1e4, 0x1ee, 0x1f1, 0x1f5, 0x1f7, 0x1f9, 0x1fb, 0x1fd, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20e, 0x211, 0x215, 0x217, 0x21e, 0x224, 0x22a, 0x232, 0x238, 0x23e, 0x244, 0x248, 0x24a, 0x24c, 0x24e, 0x250, 0x256, 0x259, 0x25b, 0x261, 0x264, 0x26c, 0x273, 0x276, 0x279, 0x27b, 0x27e, 0x286, 0x28a, 0x291, 0x294, 0x29a, 0x29c, 0x29e, 0x2a1, 0x2a3, 0x2a6, 0x2a8, 0x2aa, 0x2ac, 0x2ae, 0x2b1, 0x2b3, 0x2b5, 0x2b7, 0x2b9, 0x2c6, 0x2d0, 0x2d2, 0x2d4, 0x2d8, 0x2dd, 0x2e9, 0x2ee, 0x2f7, 0x2fd, 0x302, 0x306, 0x30b, 0x30f, 0x31f, 0x32d, 0x33b, 0x349, 0x34f, 0x351, 0x353, 0x356, 0x361, 0x363} -+ -+// nfkcSparseValues: 877 entries, 3508 bytes -+var nfkcSparseValues = [877]valueRange{ -+ // Block 0x0, offset 0x0 -+ {value: 0x0002, lo: 0x0d}, -+ {value: 0x0001, lo: 0xa0, hi: 0xa0}, -+ {value: 0x427b, lo: 0xa8, hi: 0xa8}, -+ {value: 0x0083, lo: 0xaa, hi: 0xaa}, -+ {value: 0x4267, lo: 0xaf, hi: 0xaf}, -+ {value: 0x0025, lo: 0xb2, hi: 0xb3}, -+ {value: 0x425d, lo: 0xb4, hi: 0xb4}, -+ {value: 0x01dc, lo: 0xb5, hi: 0xb5}, -+ {value: 0x4294, lo: 0xb8, hi: 0xb8}, -+ {value: 0x0023, lo: 0xb9, hi: 0xb9}, -+ {value: 0x009f, lo: 0xba, hi: 0xba}, -+ {value: 0x221f, lo: 0xbc, hi: 0xbc}, -+ {value: 0x2213, lo: 0xbd, hi: 0xbd}, -+ {value: 0x22b5, lo: 0xbe, hi: 0xbe}, -+ // Block 0x1, offset 0xe -+ {value: 0x0091, lo: 0x03}, -+ {value: 0x46e5, lo: 0xa0, hi: 0xa1}, -+ {value: 0x4717, lo: 0xaf, hi: 0xb0}, -+ {value: 0xa000, lo: 0xb7, hi: 0xb7}, -+ // Block 0x2, offset 0x12 -+ {value: 0x0003, lo: 0x08}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0x0091, lo: 0xb0, hi: 0xb0}, -+ {value: 0x0119, lo: 0xb1, hi: 0xb1}, -+ {value: 0x0095, lo: 0xb2, hi: 0xb2}, -+ {value: 0x00a5, lo: 0xb3, hi: 0xb3}, -+ {value: 0x0143, lo: 0xb4, hi: 0xb6}, -+ {value: 0x00af, lo: 0xb7, hi: 0xb7}, -+ {value: 0x00b3, lo: 0xb8, hi: 0xb8}, -+ // Block 0x3, offset 0x1b -+ {value: 0x000a, lo: 0x09}, -+ {value: 0x4271, lo: 0x98, hi: 0x98}, -+ {value: 0x4276, lo: 0x99, hi: 0x9a}, -+ {value: 0x4299, lo: 0x9b, hi: 0x9b}, -+ {value: 0x4262, lo: 0x9c, hi: 0x9c}, -+ {value: 0x4285, lo: 0x9d, hi: 0x9d}, -+ {value: 0x0113, lo: 0xa0, hi: 0xa0}, -+ {value: 0x0099, lo: 0xa1, hi: 0xa1}, -+ {value: 0x00a7, lo: 0xa2, hi: 0xa3}, -+ {value: 0x0167, lo: 0xa4, hi: 0xa4}, -+ // Block 0x4, offset 0x25 -+ {value: 0x0000, lo: 0x0f}, -+ {value: 0xa000, lo: 0x83, hi: 0x83}, -+ {value: 0xa000, lo: 0x87, hi: 0x87}, -+ {value: 0xa000, lo: 0x8b, hi: 0x8b}, -+ {value: 0xa000, lo: 0x8d, hi: 0x8d}, -+ {value: 0x37a8, lo: 0x90, hi: 0x90}, -+ {value: 0x37b4, lo: 0x91, hi: 0x91}, -+ {value: 0x37a2, lo: 0x93, hi: 0x93}, -+ {value: 0xa000, lo: 0x96, hi: 0x96}, -+ {value: 0x381a, lo: 0x97, hi: 0x97}, -+ {value: 0x37e4, lo: 0x9c, hi: 0x9c}, -+ {value: 0x37cc, lo: 0x9d, hi: 0x9d}, -+ {value: 0x37f6, lo: 0x9e, hi: 0x9e}, -+ {value: 0xa000, lo: 0xb4, hi: 0xb5}, -+ {value: 0x3820, lo: 0xb6, hi: 0xb6}, -+ {value: 0x3826, lo: 0xb7, hi: 0xb7}, -+ // Block 0x5, offset 0x35 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0x83, hi: 0x87}, -+ // Block 0x6, offset 0x37 -+ {value: 0x0001, lo: 0x04}, -+ {value: 0x8113, lo: 0x81, hi: 0x82}, -+ {value: 0x8132, lo: 0x84, hi: 0x84}, -+ {value: 0x812d, lo: 0x85, hi: 0x85}, -+ {value: 0x810d, lo: 0x87, hi: 0x87}, -+ // Block 0x7, offset 0x3c -+ {value: 0x0000, lo: 0x0a}, -+ {value: 0x8132, lo: 0x90, hi: 0x97}, -+ {value: 0x8119, lo: 0x98, hi: 0x98}, -+ {value: 0x811a, lo: 0x99, hi: 0x99}, -+ {value: 0x811b, lo: 0x9a, hi: 0x9a}, -+ {value: 0x3844, lo: 0xa2, hi: 0xa2}, -+ {value: 0x384a, lo: 0xa3, hi: 0xa3}, -+ {value: 0x3856, lo: 0xa4, hi: 0xa4}, -+ {value: 0x3850, lo: 0xa5, hi: 0xa5}, -+ {value: 0x385c, lo: 0xa6, hi: 0xa6}, -+ {value: 0xa000, lo: 0xa7, hi: 0xa7}, -+ // Block 0x8, offset 0x47 -+ {value: 0x0000, lo: 0x0e}, -+ {value: 0x386e, lo: 0x80, hi: 0x80}, -+ {value: 0xa000, lo: 0x81, hi: 0x81}, -+ {value: 0x3862, lo: 0x82, hi: 0x82}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0x3868, lo: 0x93, hi: 0x93}, -+ {value: 0xa000, lo: 0x95, hi: 0x95}, -+ {value: 0x8132, lo: 0x96, hi: 0x9c}, -+ {value: 0x8132, lo: 0x9f, hi: 0xa2}, -+ {value: 0x812d, lo: 0xa3, hi: 0xa3}, -+ {value: 0x8132, lo: 0xa4, hi: 0xa4}, -+ {value: 0x8132, lo: 0xa7, hi: 0xa8}, -+ {value: 0x812d, lo: 0xaa, hi: 0xaa}, -+ {value: 0x8132, lo: 0xab, hi: 0xac}, -+ {value: 0x812d, lo: 0xad, hi: 0xad}, -+ // Block 0x9, offset 0x56 -+ {value: 0x0000, lo: 0x0c}, -+ {value: 0x811f, lo: 0x91, hi: 0x91}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb0}, -+ {value: 0x812d, lo: 0xb1, hi: 0xb1}, -+ {value: 0x8132, lo: 0xb2, hi: 0xb3}, -+ {value: 0x812d, lo: 0xb4, hi: 0xb4}, -+ {value: 0x8132, lo: 0xb5, hi: 0xb6}, -+ {value: 0x812d, lo: 0xb7, hi: 0xb9}, -+ {value: 0x8132, lo: 0xba, hi: 0xba}, -+ {value: 0x812d, lo: 0xbb, hi: 0xbc}, -+ {value: 0x8132, lo: 0xbd, hi: 0xbd}, -+ {value: 0x812d, lo: 0xbe, hi: 0xbe}, -+ {value: 0x8132, lo: 0xbf, hi: 0xbf}, -+ // Block 0xa, offset 0x63 -+ {value: 0x0005, lo: 0x07}, -+ {value: 0x8132, lo: 0x80, hi: 0x80}, -+ {value: 0x8132, lo: 0x81, hi: 0x81}, -+ {value: 0x812d, lo: 0x82, hi: 0x83}, -+ {value: 0x812d, lo: 0x84, hi: 0x85}, -+ {value: 0x812d, lo: 0x86, hi: 0x87}, -+ {value: 0x812d, lo: 0x88, hi: 0x89}, -+ {value: 0x8132, lo: 0x8a, hi: 0x8a}, -+ // Block 0xb, offset 0x6b -+ {value: 0x0000, lo: 0x04}, -+ {value: 0x8132, lo: 0xab, hi: 0xb1}, -+ {value: 0x812d, lo: 0xb2, hi: 0xb2}, -+ {value: 0x8132, lo: 0xb3, hi: 0xb3}, -+ {value: 0x812d, lo: 0xbd, hi: 0xbd}, -+ // Block 0xc, offset 0x70 -+ {value: 0x0000, lo: 0x04}, -+ {value: 0x8132, lo: 0x96, hi: 0x99}, -+ {value: 0x8132, lo: 0x9b, hi: 0xa3}, -+ {value: 0x8132, lo: 0xa5, hi: 0xa7}, -+ {value: 0x8132, lo: 0xa9, hi: 0xad}, -+ // Block 0xd, offset 0x75 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0x99, hi: 0x9b}, -+ // Block 0xe, offset 0x77 -+ {value: 0x0000, lo: 0x07}, -+ {value: 0xa000, lo: 0xa8, hi: 0xa8}, -+ {value: 0x3edb, lo: 0xa9, hi: 0xa9}, -+ {value: 0xa000, lo: 0xb0, hi: 0xb0}, -+ {value: 0x3ee3, lo: 0xb1, hi: 0xb1}, -+ {value: 0xa000, lo: 0xb3, hi: 0xb3}, -+ {value: 0x3eeb, lo: 0xb4, hi: 0xb4}, -+ {value: 0x9902, lo: 0xbc, hi: 0xbc}, -+ // Block 0xf, offset 0x7f -+ {value: 0x0008, lo: 0x06}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x8132, lo: 0x91, hi: 0x91}, -+ {value: 0x812d, lo: 0x92, hi: 0x92}, -+ {value: 0x8132, lo: 0x93, hi: 0x93}, -+ {value: 0x8132, lo: 0x94, hi: 0x94}, -+ {value: 0x451f, lo: 0x98, hi: 0x9f}, -+ // Block 0x10, offset 0x86 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0xbc, hi: 0xbc}, -+ {value: 0x9900, lo: 0xbe, hi: 0xbe}, -+ // Block 0x11, offset 0x89 -+ {value: 0x0008, lo: 0x07}, -+ {value: 0xa000, lo: 0x87, hi: 0x87}, -+ {value: 0x2ca1, lo: 0x8b, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x97, hi: 0x97}, -+ {value: 0x455f, lo: 0x9c, hi: 0x9d}, -+ {value: 0x456f, lo: 0x9f, hi: 0x9f}, -+ {value: 0x8132, lo: 0xbe, hi: 0xbe}, -+ // Block 0x12, offset 0x91 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x4597, lo: 0xb3, hi: 0xb3}, -+ {value: 0x459f, lo: 0xb6, hi: 0xb6}, -+ {value: 0x8102, lo: 0xbc, hi: 0xbc}, -+ // Block 0x13, offset 0x95 -+ {value: 0x0008, lo: 0x03}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x4577, lo: 0x99, hi: 0x9b}, -+ {value: 0x458f, lo: 0x9e, hi: 0x9e}, -+ // Block 0x14, offset 0x99 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8102, lo: 0xbc, hi: 0xbc}, -+ // Block 0x15, offset 0x9b -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ // Block 0x16, offset 0x9d -+ {value: 0x0000, lo: 0x08}, -+ {value: 0xa000, lo: 0x87, hi: 0x87}, -+ {value: 0x2cb9, lo: 0x88, hi: 0x88}, -+ {value: 0x2cb1, lo: 0x8b, hi: 0x8b}, -+ {value: 0x2cc1, lo: 0x8c, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x96, hi: 0x97}, -+ {value: 0x45a7, lo: 0x9c, hi: 0x9c}, -+ {value: 0x45af, lo: 0x9d, hi: 0x9d}, -+ // Block 0x17, offset 0xa6 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0x2cc9, lo: 0x94, hi: 0x94}, -+ {value: 0x9900, lo: 0xbe, hi: 0xbe}, -+ // Block 0x18, offset 0xaa -+ {value: 0x0000, lo: 0x06}, -+ {value: 0xa000, lo: 0x86, hi: 0x87}, -+ {value: 0x2cd1, lo: 0x8a, hi: 0x8a}, -+ {value: 0x2ce1, lo: 0x8b, hi: 0x8b}, -+ {value: 0x2cd9, lo: 0x8c, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x97, hi: 0x97}, -+ // Block 0x19, offset 0xb1 -+ {value: 0x1801, lo: 0x04}, -+ {value: 0xa000, lo: 0x86, hi: 0x86}, -+ {value: 0x3ef3, lo: 0x88, hi: 0x88}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x8120, lo: 0x95, hi: 0x96}, -+ // Block 0x1a, offset 0xb6 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0xbc, hi: 0xbc}, -+ {value: 0xa000, lo: 0xbf, hi: 0xbf}, -+ // Block 0x1b, offset 0xb9 -+ {value: 0x0000, lo: 0x09}, -+ {value: 0x2ce9, lo: 0x80, hi: 0x80}, -+ {value: 0x9900, lo: 0x82, hi: 0x82}, -+ {value: 0xa000, lo: 0x86, hi: 0x86}, -+ {value: 0x2cf1, lo: 0x87, hi: 0x87}, -+ {value: 0x2cf9, lo: 0x88, hi: 0x88}, -+ {value: 0x2f53, lo: 0x8a, hi: 0x8a}, -+ {value: 0x2ddb, lo: 0x8b, hi: 0x8b}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x95, hi: 0x96}, -+ // Block 0x1c, offset 0xc3 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0xbb, hi: 0xbc}, -+ {value: 0x9900, lo: 0xbe, hi: 0xbe}, -+ // Block 0x1d, offset 0xc6 -+ {value: 0x0000, lo: 0x06}, -+ {value: 0xa000, lo: 0x86, hi: 0x87}, -+ {value: 0x2d01, lo: 0x8a, hi: 0x8a}, -+ {value: 0x2d11, lo: 0x8b, hi: 0x8b}, -+ {value: 0x2d09, lo: 0x8c, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x97, hi: 0x97}, -+ // Block 0x1e, offset 0xcd -+ {value: 0x6be7, lo: 0x07}, -+ {value: 0x9904, lo: 0x8a, hi: 0x8a}, -+ {value: 0x9900, lo: 0x8f, hi: 0x8f}, -+ {value: 0xa000, lo: 0x99, hi: 0x99}, -+ {value: 0x3efb, lo: 0x9a, hi: 0x9a}, -+ {value: 0x2f5b, lo: 0x9c, hi: 0x9c}, -+ {value: 0x2de6, lo: 0x9d, hi: 0x9d}, -+ {value: 0x2d19, lo: 0x9e, hi: 0x9f}, -+ // Block 0x1f, offset 0xd5 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x2624, lo: 0xb3, hi: 0xb3}, -+ {value: 0x8122, lo: 0xb8, hi: 0xb9}, -+ {value: 0x8104, lo: 0xba, hi: 0xba}, -+ // Block 0x20, offset 0xd9 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8123, lo: 0x88, hi: 0x8b}, -+ // Block 0x21, offset 0xdb -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x2639, lo: 0xb3, hi: 0xb3}, -+ {value: 0x8124, lo: 0xb8, hi: 0xb9}, -+ {value: 0x8104, lo: 0xba, hi: 0xba}, -+ // Block 0x22, offset 0xdf -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x8125, lo: 0x88, hi: 0x8b}, -+ {value: 0x262b, lo: 0x9c, hi: 0x9c}, -+ {value: 0x2632, lo: 0x9d, hi: 0x9d}, -+ // Block 0x23, offset 0xe3 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x030b, lo: 0x8c, hi: 0x8c}, -+ {value: 0x812d, lo: 0x98, hi: 0x99}, -+ {value: 0x812d, lo: 0xb5, hi: 0xb5}, -+ {value: 0x812d, lo: 0xb7, hi: 0xb7}, -+ {value: 0x812b, lo: 0xb9, hi: 0xb9}, -+ // Block 0x24, offset 0xe9 -+ {value: 0x0000, lo: 0x10}, -+ {value: 0x2647, lo: 0x83, hi: 0x83}, -+ {value: 0x264e, lo: 0x8d, hi: 0x8d}, -+ {value: 0x2655, lo: 0x92, hi: 0x92}, -+ {value: 0x265c, lo: 0x97, hi: 0x97}, -+ {value: 0x2663, lo: 0x9c, hi: 0x9c}, -+ {value: 0x2640, lo: 0xa9, hi: 0xa9}, -+ {value: 0x8126, lo: 0xb1, hi: 0xb1}, -+ {value: 0x8127, lo: 0xb2, hi: 0xb2}, -+ {value: 0x4a87, lo: 0xb3, hi: 0xb3}, -+ {value: 0x8128, lo: 0xb4, hi: 0xb4}, -+ {value: 0x4a90, lo: 0xb5, hi: 0xb5}, -+ {value: 0x45b7, lo: 0xb6, hi: 0xb6}, -+ {value: 0x45f7, lo: 0xb7, hi: 0xb7}, -+ {value: 0x45bf, lo: 0xb8, hi: 0xb8}, -+ {value: 0x4602, lo: 0xb9, hi: 0xb9}, -+ {value: 0x8127, lo: 0xba, hi: 0xbd}, -+ // Block 0x25, offset 0xfa -+ {value: 0x0000, lo: 0x0b}, -+ {value: 0x8127, lo: 0x80, hi: 0x80}, -+ {value: 0x4a99, lo: 0x81, hi: 0x81}, -+ {value: 0x8132, lo: 0x82, hi: 0x83}, -+ {value: 0x8104, lo: 0x84, hi: 0x84}, -+ {value: 0x8132, lo: 0x86, hi: 0x87}, -+ {value: 0x2671, lo: 0x93, hi: 0x93}, -+ {value: 0x2678, lo: 0x9d, hi: 0x9d}, -+ {value: 0x267f, lo: 0xa2, hi: 0xa2}, -+ {value: 0x2686, lo: 0xa7, hi: 0xa7}, -+ {value: 0x268d, lo: 0xac, hi: 0xac}, -+ {value: 0x266a, lo: 0xb9, hi: 0xb9}, -+ // Block 0x26, offset 0x106 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0x86, hi: 0x86}, -+ // Block 0x27, offset 0x108 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xa000, lo: 0xa5, hi: 0xa5}, -+ {value: 0x2d21, lo: 0xa6, hi: 0xa6}, -+ {value: 0x9900, lo: 0xae, hi: 0xae}, -+ {value: 0x8102, lo: 0xb7, hi: 0xb7}, -+ {value: 0x8104, lo: 0xb9, hi: 0xba}, -+ // Block 0x28, offset 0x10e -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0x8d, hi: 0x8d}, -+ // Block 0x29, offset 0x110 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x030f, lo: 0xbc, hi: 0xbc}, -+ // Block 0x2a, offset 0x112 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0xa000, lo: 0x80, hi: 0x92}, -+ // Block 0x2b, offset 0x114 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0xb900, lo: 0xa1, hi: 0xb5}, -+ // Block 0x2c, offset 0x116 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x9900, lo: 0xa8, hi: 0xbf}, -+ // Block 0x2d, offset 0x118 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x9900, lo: 0x80, hi: 0x82}, -+ // Block 0x2e, offset 0x11a -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0x9d, hi: 0x9f}, -+ // Block 0x2f, offset 0x11c -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x94, hi: 0x94}, -+ {value: 0x8104, lo: 0xb4, hi: 0xb4}, -+ // Block 0x30, offset 0x11f -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x92, hi: 0x92}, -+ {value: 0x8132, lo: 0x9d, hi: 0x9d}, -+ // Block 0x31, offset 0x122 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8131, lo: 0xa9, hi: 0xa9}, -+ // Block 0x32, offset 0x124 -+ {value: 0x0004, lo: 0x02}, -+ {value: 0x812e, lo: 0xb9, hi: 0xba}, -+ {value: 0x812d, lo: 0xbb, hi: 0xbb}, -+ // Block 0x33, offset 0x127 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0x97, hi: 0x97}, -+ {value: 0x812d, lo: 0x98, hi: 0x98}, -+ // Block 0x34, offset 0x12a -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x8104, lo: 0xa0, hi: 0xa0}, -+ {value: 0x8132, lo: 0xb5, hi: 0xbc}, -+ {value: 0x812d, lo: 0xbf, hi: 0xbf}, -+ // Block 0x35, offset 0x12e -+ {value: 0x0000, lo: 0x04}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb4}, -+ {value: 0x812d, lo: 0xb5, hi: 0xba}, -+ {value: 0x8132, lo: 0xbb, hi: 0xbc}, -+ {value: 0x812d, lo: 0xbd, hi: 0xbd}, -+ // Block 0x36, offset 0x133 -+ {value: 0x0000, lo: 0x08}, -+ {value: 0x2d69, lo: 0x80, hi: 0x80}, -+ {value: 0x2d71, lo: 0x81, hi: 0x81}, -+ {value: 0xa000, lo: 0x82, hi: 0x82}, -+ {value: 0x2d79, lo: 0x83, hi: 0x83}, -+ {value: 0x8104, lo: 0x84, hi: 0x84}, -+ {value: 0x8132, lo: 0xab, hi: 0xab}, -+ {value: 0x812d, lo: 0xac, hi: 0xac}, -+ {value: 0x8132, lo: 0xad, hi: 0xb3}, -+ // Block 0x37, offset 0x13c -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xaa, hi: 0xab}, -+ // Block 0x38, offset 0x13e -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0xa6, hi: 0xa6}, -+ {value: 0x8104, lo: 0xb2, hi: 0xb3}, -+ // Block 0x39, offset 0x141 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8102, lo: 0xb7, hi: 0xb7}, -+ // Block 0x3a, offset 0x143 -+ {value: 0x0000, lo: 0x0a}, -+ {value: 0x8132, lo: 0x90, hi: 0x92}, -+ {value: 0x8101, lo: 0x94, hi: 0x94}, -+ {value: 0x812d, lo: 0x95, hi: 0x99}, -+ {value: 0x8132, lo: 0x9a, hi: 0x9b}, -+ {value: 0x812d, lo: 0x9c, hi: 0x9f}, -+ {value: 0x8132, lo: 0xa0, hi: 0xa0}, -+ {value: 0x8101, lo: 0xa2, hi: 0xa8}, -+ {value: 0x812d, lo: 0xad, hi: 0xad}, -+ {value: 0x8132, lo: 0xb4, hi: 0xb4}, -+ {value: 0x8132, lo: 0xb8, hi: 0xb9}, -+ // Block 0x3b, offset 0x14e -+ {value: 0x0002, lo: 0x0a}, -+ {value: 0x0043, lo: 0xac, hi: 0xac}, -+ {value: 0x00d1, lo: 0xad, hi: 0xad}, -+ {value: 0x0045, lo: 0xae, hi: 0xae}, -+ {value: 0x0049, lo: 0xb0, hi: 0xb1}, -+ {value: 0x00e6, lo: 0xb2, hi: 0xb2}, -+ {value: 0x004f, lo: 0xb3, hi: 0xba}, -+ {value: 0x005f, lo: 0xbc, hi: 0xbc}, -+ {value: 0x00ef, lo: 0xbd, hi: 0xbd}, -+ {value: 0x0061, lo: 0xbe, hi: 0xbe}, -+ {value: 0x0065, lo: 0xbf, hi: 0xbf}, -+ // Block 0x3c, offset 0x159 -+ {value: 0x0000, lo: 0x0d}, -+ {value: 0x0001, lo: 0x80, hi: 0x8a}, -+ {value: 0x043b, lo: 0x91, hi: 0x91}, -+ {value: 0x429e, lo: 0x97, hi: 0x97}, -+ {value: 0x001d, lo: 0xa4, hi: 0xa4}, -+ {value: 0x1873, lo: 0xa5, hi: 0xa5}, -+ {value: 0x1b5f, lo: 0xa6, hi: 0xa6}, -+ {value: 0x0001, lo: 0xaf, hi: 0xaf}, -+ {value: 0x2694, lo: 0xb3, hi: 0xb3}, -+ {value: 0x2801, lo: 0xb4, hi: 0xb4}, -+ {value: 0x269b, lo: 0xb6, hi: 0xb6}, -+ {value: 0x280b, lo: 0xb7, hi: 0xb7}, -+ {value: 0x186d, lo: 0xbc, hi: 0xbc}, -+ {value: 0x426c, lo: 0xbe, hi: 0xbe}, -+ // Block 0x3d, offset 0x167 -+ {value: 0x0002, lo: 0x0d}, -+ {value: 0x1933, lo: 0x87, hi: 0x87}, -+ {value: 0x1930, lo: 0x88, hi: 0x88}, -+ {value: 0x1870, lo: 0x89, hi: 0x89}, -+ {value: 0x2991, lo: 0x97, hi: 0x97}, -+ {value: 0x0001, lo: 0x9f, hi: 0x9f}, -+ {value: 0x0021, lo: 0xb0, hi: 0xb0}, -+ {value: 0x0093, lo: 0xb1, hi: 0xb1}, -+ {value: 0x0029, lo: 0xb4, hi: 0xb9}, -+ {value: 0x0017, lo: 0xba, hi: 0xba}, -+ {value: 0x0467, lo: 0xbb, hi: 0xbb}, -+ {value: 0x003b, lo: 0xbc, hi: 0xbc}, -+ {value: 0x0011, lo: 0xbd, hi: 0xbe}, -+ {value: 0x009d, lo: 0xbf, hi: 0xbf}, -+ // Block 0x3e, offset 0x175 -+ {value: 0x0002, lo: 0x0f}, -+ {value: 0x0021, lo: 0x80, hi: 0x89}, -+ {value: 0x0017, lo: 0x8a, hi: 0x8a}, -+ {value: 0x0467, lo: 0x8b, hi: 0x8b}, -+ {value: 0x003b, lo: 0x8c, hi: 0x8c}, -+ {value: 0x0011, lo: 0x8d, hi: 0x8e}, -+ {value: 0x0083, lo: 0x90, hi: 0x90}, -+ {value: 0x008b, lo: 0x91, hi: 0x91}, -+ {value: 0x009f, lo: 0x92, hi: 0x92}, -+ {value: 0x00b1, lo: 0x93, hi: 0x93}, -+ {value: 0x0104, lo: 0x94, hi: 0x94}, -+ {value: 0x0091, lo: 0x95, hi: 0x95}, -+ {value: 0x0097, lo: 0x96, hi: 0x99}, -+ {value: 0x00a1, lo: 0x9a, hi: 0x9a}, -+ {value: 0x00a7, lo: 0x9b, hi: 0x9c}, -+ {value: 0x199c, lo: 0xa8, hi: 0xa8}, -+ // Block 0x3f, offset 0x185 -+ {value: 0x0000, lo: 0x0d}, -+ {value: 0x8132, lo: 0x90, hi: 0x91}, -+ {value: 0x8101, lo: 0x92, hi: 0x93}, -+ {value: 0x8132, lo: 0x94, hi: 0x97}, -+ {value: 0x8101, lo: 0x98, hi: 0x9a}, -+ {value: 0x8132, lo: 0x9b, hi: 0x9c}, -+ {value: 0x8132, lo: 0xa1, hi: 0xa1}, -+ {value: 0x8101, lo: 0xa5, hi: 0xa6}, -+ {value: 0x8132, lo: 0xa7, hi: 0xa7}, -+ {value: 0x812d, lo: 0xa8, hi: 0xa8}, -+ {value: 0x8132, lo: 0xa9, hi: 0xa9}, -+ {value: 0x8101, lo: 0xaa, hi: 0xab}, -+ {value: 0x812d, lo: 0xac, hi: 0xaf}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb0}, -+ // Block 0x40, offset 0x193 -+ {value: 0x0007, lo: 0x06}, -+ {value: 0x2183, lo: 0x89, hi: 0x89}, -+ {value: 0xa000, lo: 0x90, hi: 0x90}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0xa000, lo: 0x94, hi: 0x94}, -+ {value: 0x3bbc, lo: 0x9a, hi: 0x9b}, -+ {value: 0x3bca, lo: 0xae, hi: 0xae}, -+ // Block 0x41, offset 0x19a -+ {value: 0x000e, lo: 0x05}, -+ {value: 0x3bd1, lo: 0x8d, hi: 0x8e}, -+ {value: 0x3bd8, lo: 0x8f, hi: 0x8f}, -+ {value: 0xa000, lo: 0x90, hi: 0x90}, -+ {value: 0xa000, lo: 0x92, hi: 0x92}, -+ {value: 0xa000, lo: 0x94, hi: 0x94}, -+ // Block 0x42, offset 0x1a0 -+ {value: 0x0173, lo: 0x0e}, -+ {value: 0xa000, lo: 0x83, hi: 0x83}, -+ {value: 0x3be6, lo: 0x84, hi: 0x84}, -+ {value: 0xa000, lo: 0x88, hi: 0x88}, -+ {value: 0x3bed, lo: 0x89, hi: 0x89}, -+ {value: 0xa000, lo: 0x8b, hi: 0x8b}, -+ {value: 0x3bf4, lo: 0x8c, hi: 0x8c}, -+ {value: 0xa000, lo: 0xa3, hi: 0xa3}, -+ {value: 0x3bfb, lo: 0xa4, hi: 0xa4}, -+ {value: 0xa000, lo: 0xa5, hi: 0xa5}, -+ {value: 0x3c02, lo: 0xa6, hi: 0xa6}, -+ {value: 0x26a2, lo: 0xac, hi: 0xad}, -+ {value: 0x26a9, lo: 0xaf, hi: 0xaf}, -+ {value: 0x281f, lo: 0xb0, hi: 0xb0}, -+ {value: 0xa000, lo: 0xbc, hi: 0xbc}, -+ // Block 0x43, offset 0x1af -+ {value: 0x0007, lo: 0x03}, -+ {value: 0x3c6b, lo: 0xa0, hi: 0xa1}, -+ {value: 0x3c95, lo: 0xa2, hi: 0xa3}, -+ {value: 0x3cbf, lo: 0xaa, hi: 0xad}, -+ // Block 0x44, offset 0x1b3 -+ {value: 0x0004, lo: 0x01}, -+ {value: 0x048b, lo: 0xa9, hi: 0xaa}, -+ // Block 0x45, offset 0x1b5 -+ {value: 0x0002, lo: 0x03}, -+ {value: 0x0057, lo: 0x80, hi: 0x8f}, -+ {value: 0x0083, lo: 0x90, hi: 0xa9}, -+ {value: 0x0021, lo: 0xaa, hi: 0xaa}, -+ // Block 0x46, offset 0x1b9 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x299e, lo: 0x8c, hi: 0x8c}, -+ // Block 0x47, offset 0x1bb -+ {value: 0x0266, lo: 0x02}, -+ {value: 0x1b8f, lo: 0xb4, hi: 0xb4}, -+ {value: 0x192d, lo: 0xb5, hi: 0xb6}, -+ // Block 0x48, offset 0x1be -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x44e0, lo: 0x9c, hi: 0x9c}, -+ // Block 0x49, offset 0x1c0 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x0095, lo: 0xbc, hi: 0xbc}, -+ {value: 0x006d, lo: 0xbd, hi: 0xbd}, -+ // Block 0x4a, offset 0x1c3 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xaf, hi: 0xb1}, -+ // Block 0x4b, offset 0x1c5 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x047f, lo: 0xaf, hi: 0xaf}, -+ {value: 0x8104, lo: 0xbf, hi: 0xbf}, -+ // Block 0x4c, offset 0x1c8 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xa0, hi: 0xbf}, -+ // Block 0x4d, offset 0x1ca -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, -+ // Block 0x4e, offset 0x1cc -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x162f, lo: 0xb3, hi: 0xb3}, -+ // Block 0x4f, offset 0x1ce -+ {value: 0x0004, lo: 0x0b}, -+ {value: 0x1597, lo: 0x80, hi: 0x82}, -+ {value: 0x15af, lo: 0x83, hi: 0x83}, -+ {value: 0x15c7, lo: 0x84, hi: 0x85}, -+ {value: 0x15d7, lo: 0x86, hi: 0x89}, -+ {value: 0x15eb, lo: 0x8a, hi: 0x8c}, -+ {value: 0x15ff, lo: 0x8d, hi: 0x8d}, -+ {value: 0x1607, lo: 0x8e, hi: 0x8e}, -+ {value: 0x160f, lo: 0x8f, hi: 0x90}, -+ {value: 0x161b, lo: 0x91, hi: 0x93}, -+ {value: 0x162b, lo: 0x94, hi: 0x94}, -+ {value: 0x1633, lo: 0x95, hi: 0x95}, -+ // Block 0x50, offset 0x1da -+ {value: 0x0004, lo: 0x09}, -+ {value: 0x0001, lo: 0x80, hi: 0x80}, -+ {value: 0x812c, lo: 0xaa, hi: 0xaa}, -+ {value: 0x8131, lo: 0xab, hi: 0xab}, -+ {value: 0x8133, lo: 0xac, hi: 0xac}, -+ {value: 0x812e, lo: 0xad, hi: 0xad}, -+ {value: 0x812f, lo: 0xae, hi: 0xae}, -+ {value: 0x812f, lo: 0xaf, hi: 0xaf}, -+ {value: 0x04b3, lo: 0xb6, hi: 0xb6}, -+ {value: 0x0887, lo: 0xb8, hi: 0xba}, -+ // Block 0x51, offset 0x1e4 -+ {value: 0x0006, lo: 0x09}, -+ {value: 0x0313, lo: 0xb1, hi: 0xb1}, -+ {value: 0x0317, lo: 0xb2, hi: 0xb2}, -+ {value: 0x4a3e, lo: 0xb3, hi: 0xb3}, -+ {value: 0x031b, lo: 0xb4, hi: 0xb4}, -+ {value: 0x4a44, lo: 0xb5, hi: 0xb6}, -+ {value: 0x031f, lo: 0xb7, hi: 0xb7}, -+ {value: 0x0323, lo: 0xb8, hi: 0xb8}, -+ {value: 0x0327, lo: 0xb9, hi: 0xb9}, -+ {value: 0x4a50, lo: 0xba, hi: 0xbf}, -+ // Block 0x52, offset 0x1ee -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0xaf, hi: 0xaf}, -+ {value: 0x8132, lo: 0xb4, hi: 0xbd}, -+ // Block 0x53, offset 0x1f1 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x020f, lo: 0x9c, hi: 0x9c}, -+ {value: 0x0212, lo: 0x9d, hi: 0x9d}, -+ {value: 0x8132, lo: 0x9e, hi: 0x9f}, -+ // Block 0x54, offset 0x1f5 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb1}, -+ // Block 0x55, offset 0x1f7 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x163b, lo: 0xb0, hi: 0xb0}, -+ // Block 0x56, offset 0x1f9 -+ {value: 0x000c, lo: 0x01}, -+ {value: 0x00d7, lo: 0xb8, hi: 0xb9}, -+ // Block 0x57, offset 0x1fb -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x86, hi: 0x86}, -+ // Block 0x58, offset 0x1fd -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x84, hi: 0x84}, -+ {value: 0x8132, lo: 0xa0, hi: 0xb1}, -+ // Block 0x59, offset 0x200 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0xab, hi: 0xad}, -+ // Block 0x5a, offset 0x202 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x93, hi: 0x93}, -+ // Block 0x5b, offset 0x204 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8102, lo: 0xb3, hi: 0xb3}, -+ // Block 0x5c, offset 0x206 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x80, hi: 0x80}, -+ // Block 0x5d, offset 0x208 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb0}, -+ {value: 0x8132, lo: 0xb2, hi: 0xb3}, -+ {value: 0x812d, lo: 0xb4, hi: 0xb4}, -+ {value: 0x8132, lo: 0xb7, hi: 0xb8}, -+ {value: 0x8132, lo: 0xbe, hi: 0xbf}, -+ // Block 0x5e, offset 0x20e -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0x81, hi: 0x81}, -+ {value: 0x8104, lo: 0xb6, hi: 0xb6}, -+ // Block 0x5f, offset 0x211 -+ {value: 0x0008, lo: 0x03}, -+ {value: 0x1637, lo: 0x9c, hi: 0x9d}, -+ {value: 0x0125, lo: 0x9e, hi: 0x9e}, -+ {value: 0x1643, lo: 0x9f, hi: 0x9f}, -+ // Block 0x60, offset 0x215 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xad, hi: 0xad}, -+ // Block 0x61, offset 0x217 -+ {value: 0x0000, lo: 0x06}, -+ {value: 0xe500, lo: 0x80, hi: 0x80}, -+ {value: 0xc600, lo: 0x81, hi: 0x9b}, -+ {value: 0xe500, lo: 0x9c, hi: 0x9c}, -+ {value: 0xc600, lo: 0x9d, hi: 0xb7}, -+ {value: 0xe500, lo: 0xb8, hi: 0xb8}, -+ {value: 0xc600, lo: 0xb9, hi: 0xbf}, -+ // Block 0x62, offset 0x21e -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x93}, -+ {value: 0xe500, lo: 0x94, hi: 0x94}, -+ {value: 0xc600, lo: 0x95, hi: 0xaf}, -+ {value: 0xe500, lo: 0xb0, hi: 0xb0}, -+ {value: 0xc600, lo: 0xb1, hi: 0xbf}, -+ // Block 0x63, offset 0x224 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x8b}, -+ {value: 0xe500, lo: 0x8c, hi: 0x8c}, -+ {value: 0xc600, lo: 0x8d, hi: 0xa7}, -+ {value: 0xe500, lo: 0xa8, hi: 0xa8}, -+ {value: 0xc600, lo: 0xa9, hi: 0xbf}, -+ // Block 0x64, offset 0x22a -+ {value: 0x0000, lo: 0x07}, -+ {value: 0xc600, lo: 0x80, hi: 0x83}, -+ {value: 0xe500, lo: 0x84, hi: 0x84}, -+ {value: 0xc600, lo: 0x85, hi: 0x9f}, -+ {value: 0xe500, lo: 0xa0, hi: 0xa0}, -+ {value: 0xc600, lo: 0xa1, hi: 0xbb}, -+ {value: 0xe500, lo: 0xbc, hi: 0xbc}, -+ {value: 0xc600, lo: 0xbd, hi: 0xbf}, -+ // Block 0x65, offset 0x232 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x97}, -+ {value: 0xe500, lo: 0x98, hi: 0x98}, -+ {value: 0xc600, lo: 0x99, hi: 0xb3}, -+ {value: 0xe500, lo: 0xb4, hi: 0xb4}, -+ {value: 0xc600, lo: 0xb5, hi: 0xbf}, -+ // Block 0x66, offset 0x238 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x8f}, -+ {value: 0xe500, lo: 0x90, hi: 0x90}, -+ {value: 0xc600, lo: 0x91, hi: 0xab}, -+ {value: 0xe500, lo: 0xac, hi: 0xac}, -+ {value: 0xc600, lo: 0xad, hi: 0xbf}, -+ // Block 0x67, offset 0x23e -+ {value: 0x0000, lo: 0x05}, -+ {value: 0xc600, lo: 0x80, hi: 0x87}, -+ {value: 0xe500, lo: 0x88, hi: 0x88}, -+ {value: 0xc600, lo: 0x89, hi: 0xa3}, -+ {value: 0xe500, lo: 0xa4, hi: 0xa4}, -+ {value: 0xc600, lo: 0xa5, hi: 0xbf}, -+ // Block 0x68, offset 0x244 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0xc600, lo: 0x80, hi: 0x87}, -+ {value: 0xe500, lo: 0x88, hi: 0x88}, -+ {value: 0xc600, lo: 0x89, hi: 0xa3}, -+ // Block 0x69, offset 0x248 -+ {value: 0x0002, lo: 0x01}, -+ {value: 0x0003, lo: 0x81, hi: 0xbf}, -+ // Block 0x6a, offset 0x24a -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0xbd, hi: 0xbd}, -+ // Block 0x6b, offset 0x24c -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0xa0, hi: 0xa0}, -+ // Block 0x6c, offset 0x24e -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xb6, hi: 0xba}, -+ // Block 0x6d, offset 0x250 -+ {value: 0x002c, lo: 0x05}, -+ {value: 0x812d, lo: 0x8d, hi: 0x8d}, -+ {value: 0x8132, lo: 0x8f, hi: 0x8f}, -+ {value: 0x8132, lo: 0xb8, hi: 0xb8}, -+ {value: 0x8101, lo: 0xb9, hi: 0xba}, -+ {value: 0x8104, lo: 0xbf, hi: 0xbf}, -+ // Block 0x6e, offset 0x256 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0xa5, hi: 0xa5}, -+ {value: 0x812d, lo: 0xa6, hi: 0xa6}, -+ // Block 0x6f, offset 0x259 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xa4, hi: 0xa7}, -+ // Block 0x70, offset 0x25b -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x812d, lo: 0x86, hi: 0x87}, -+ {value: 0x8132, lo: 0x88, hi: 0x8a}, -+ {value: 0x812d, lo: 0x8b, hi: 0x8b}, -+ {value: 0x8132, lo: 0x8c, hi: 0x8c}, -+ {value: 0x812d, lo: 0x8d, hi: 0x90}, -+ // Block 0x71, offset 0x261 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x86, hi: 0x86}, -+ {value: 0x8104, lo: 0xbf, hi: 0xbf}, -+ // Block 0x72, offset 0x264 -+ {value: 0x17fe, lo: 0x07}, -+ {value: 0xa000, lo: 0x99, hi: 0x99}, -+ {value: 0x423b, lo: 0x9a, hi: 0x9a}, -+ {value: 0xa000, lo: 0x9b, hi: 0x9b}, -+ {value: 0x4245, lo: 0x9c, hi: 0x9c}, -+ {value: 0xa000, lo: 0xa5, hi: 0xa5}, -+ {value: 0x424f, lo: 0xab, hi: 0xab}, -+ {value: 0x8104, lo: 0xb9, hi: 0xba}, -+ // Block 0x73, offset 0x26c -+ {value: 0x0000, lo: 0x06}, -+ {value: 0x8132, lo: 0x80, hi: 0x82}, -+ {value: 0x9900, lo: 0xa7, hi: 0xa7}, -+ {value: 0x2d81, lo: 0xae, hi: 0xae}, -+ {value: 0x2d8b, lo: 0xaf, hi: 0xaf}, -+ {value: 0xa000, lo: 0xb1, hi: 0xb2}, -+ {value: 0x8104, lo: 0xb3, hi: 0xb4}, -+ // Block 0x74, offset 0x273 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x80, hi: 0x80}, -+ {value: 0x8102, lo: 0x8a, hi: 0x8a}, -+ // Block 0x75, offset 0x276 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0xb5, hi: 0xb5}, -+ {value: 0x8102, lo: 0xb6, hi: 0xb6}, -+ // Block 0x76, offset 0x279 -+ {value: 0x0002, lo: 0x01}, -+ {value: 0x8102, lo: 0xa9, hi: 0xaa}, -+ // Block 0x77, offset 0x27b -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0xbb, hi: 0xbc}, -+ {value: 0x9900, lo: 0xbe, hi: 0xbe}, -+ // Block 0x78, offset 0x27e -+ {value: 0x0000, lo: 0x07}, -+ {value: 0xa000, lo: 0x87, hi: 0x87}, -+ {value: 0x2d95, lo: 0x8b, hi: 0x8b}, -+ {value: 0x2d9f, lo: 0x8c, hi: 0x8c}, -+ {value: 0x8104, lo: 0x8d, hi: 0x8d}, -+ {value: 0x9900, lo: 0x97, hi: 0x97}, -+ {value: 0x8132, lo: 0xa6, hi: 0xac}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb4}, -+ // Block 0x79, offset 0x286 -+ {value: 0x0000, lo: 0x03}, -+ {value: 0x8104, lo: 0x82, hi: 0x82}, -+ {value: 0x8102, lo: 0x86, hi: 0x86}, -+ {value: 0x8132, lo: 0x9e, hi: 0x9e}, -+ // Block 0x7a, offset 0x28a -+ {value: 0x6b57, lo: 0x06}, -+ {value: 0x9900, lo: 0xb0, hi: 0xb0}, -+ {value: 0xa000, lo: 0xb9, hi: 0xb9}, -+ {value: 0x9900, lo: 0xba, hi: 0xba}, -+ {value: 0x2db3, lo: 0xbb, hi: 0xbb}, -+ {value: 0x2da9, lo: 0xbc, hi: 0xbd}, -+ {value: 0x2dbd, lo: 0xbe, hi: 0xbe}, -+ // Block 0x7b, offset 0x291 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0x82, hi: 0x82}, -+ {value: 0x8102, lo: 0x83, hi: 0x83}, -+ // Block 0x7c, offset 0x294 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x9900, lo: 0xaf, hi: 0xaf}, -+ {value: 0xa000, lo: 0xb8, hi: 0xb9}, -+ {value: 0x2dc7, lo: 0xba, hi: 0xba}, -+ {value: 0x2dd1, lo: 0xbb, hi: 0xbb}, -+ {value: 0x8104, lo: 0xbf, hi: 0xbf}, -+ // Block 0x7d, offset 0x29a -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8102, lo: 0x80, hi: 0x80}, -+ // Block 0x7e, offset 0x29c -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xbf, hi: 0xbf}, -+ // Block 0x7f, offset 0x29e -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0xb6, hi: 0xb6}, -+ {value: 0x8102, lo: 0xb7, hi: 0xb7}, -+ // Block 0x80, offset 0x2a1 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xab, hi: 0xab}, -+ // Block 0x81, offset 0x2a3 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8104, lo: 0xb9, hi: 0xb9}, -+ {value: 0x8102, lo: 0xba, hi: 0xba}, -+ // Block 0x82, offset 0x2a6 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xa0, hi: 0xa0}, -+ // Block 0x83, offset 0x2a8 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0xb4, hi: 0xb4}, -+ // Block 0x84, offset 0x2aa -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x87, hi: 0x87}, -+ // Block 0x85, offset 0x2ac -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x99, hi: 0x99}, -+ // Block 0x86, offset 0x2ae -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8102, lo: 0x82, hi: 0x82}, -+ {value: 0x8104, lo: 0x84, hi: 0x85}, -+ // Block 0x87, offset 0x2b1 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8104, lo: 0x97, hi: 0x97}, -+ // Block 0x88, offset 0x2b3 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8101, lo: 0xb0, hi: 0xb4}, -+ // Block 0x89, offset 0x2b5 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xb0, hi: 0xb6}, -+ // Block 0x8a, offset 0x2b7 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8101, lo: 0x9e, hi: 0x9e}, -+ // Block 0x8b, offset 0x2b9 -+ {value: 0x0000, lo: 0x0c}, -+ {value: 0x45cf, lo: 0x9e, hi: 0x9e}, -+ {value: 0x45d9, lo: 0x9f, hi: 0x9f}, -+ {value: 0x460d, lo: 0xa0, hi: 0xa0}, -+ {value: 0x461b, lo: 0xa1, hi: 0xa1}, -+ {value: 0x4629, lo: 0xa2, hi: 0xa2}, -+ {value: 0x4637, lo: 0xa3, hi: 0xa3}, -+ {value: 0x4645, lo: 0xa4, hi: 0xa4}, -+ {value: 0x812b, lo: 0xa5, hi: 0xa6}, -+ {value: 0x8101, lo: 0xa7, hi: 0xa9}, -+ {value: 0x8130, lo: 0xad, hi: 0xad}, -+ {value: 0x812b, lo: 0xae, hi: 0xb2}, -+ {value: 0x812d, lo: 0xbb, hi: 0xbf}, -+ // Block 0x8c, offset 0x2c6 -+ {value: 0x0000, lo: 0x09}, -+ {value: 0x812d, lo: 0x80, hi: 0x82}, -+ {value: 0x8132, lo: 0x85, hi: 0x89}, -+ {value: 0x812d, lo: 0x8a, hi: 0x8b}, -+ {value: 0x8132, lo: 0xaa, hi: 0xad}, -+ {value: 0x45e3, lo: 0xbb, hi: 0xbb}, -+ {value: 0x45ed, lo: 0xbc, hi: 0xbc}, -+ {value: 0x4653, lo: 0xbd, hi: 0xbd}, -+ {value: 0x466f, lo: 0xbe, hi: 0xbe}, -+ {value: 0x4661, lo: 0xbf, hi: 0xbf}, -+ // Block 0x8d, offset 0x2d0 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x467d, lo: 0x80, hi: 0x80}, -+ // Block 0x8e, offset 0x2d2 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0x82, hi: 0x84}, -+ // Block 0x8f, offset 0x2d4 -+ {value: 0x0002, lo: 0x03}, -+ {value: 0x0043, lo: 0x80, hi: 0x99}, -+ {value: 0x0083, lo: 0x9a, hi: 0xb3}, -+ {value: 0x0043, lo: 0xb4, hi: 0xbf}, -+ // Block 0x90, offset 0x2d8 -+ {value: 0x0002, lo: 0x04}, -+ {value: 0x005b, lo: 0x80, hi: 0x8d}, -+ {value: 0x0083, lo: 0x8e, hi: 0x94}, -+ {value: 0x0093, lo: 0x96, hi: 0xa7}, -+ {value: 0x0043, lo: 0xa8, hi: 0xbf}, -+ // Block 0x91, offset 0x2dd -+ {value: 0x0002, lo: 0x0b}, -+ {value: 0x0073, lo: 0x80, hi: 0x81}, -+ {value: 0x0083, lo: 0x82, hi: 0x9b}, -+ {value: 0x0043, lo: 0x9c, hi: 0x9c}, -+ {value: 0x0047, lo: 0x9e, hi: 0x9f}, -+ {value: 0x004f, lo: 0xa2, hi: 0xa2}, -+ {value: 0x0055, lo: 0xa5, hi: 0xa6}, -+ {value: 0x005d, lo: 0xa9, hi: 0xac}, -+ {value: 0x0067, lo: 0xae, hi: 0xb5}, -+ {value: 0x0083, lo: 0xb6, hi: 0xb9}, -+ {value: 0x008d, lo: 0xbb, hi: 0xbb}, -+ {value: 0x0091, lo: 0xbd, hi: 0xbf}, -+ // Block 0x92, offset 0x2e9 -+ {value: 0x0002, lo: 0x04}, -+ {value: 0x0097, lo: 0x80, hi: 0x83}, -+ {value: 0x00a1, lo: 0x85, hi: 0x8f}, -+ {value: 0x0043, lo: 0x90, hi: 0xa9}, -+ {value: 0x0083, lo: 0xaa, hi: 0xbf}, -+ // Block 0x93, offset 0x2ee -+ {value: 0x0002, lo: 0x08}, -+ {value: 0x00af, lo: 0x80, hi: 0x83}, -+ {value: 0x0043, lo: 0x84, hi: 0x85}, -+ {value: 0x0049, lo: 0x87, hi: 0x8a}, -+ {value: 0x0055, lo: 0x8d, hi: 0x94}, -+ {value: 0x0067, lo: 0x96, hi: 0x9c}, -+ {value: 0x0083, lo: 0x9e, hi: 0xb7}, -+ {value: 0x0043, lo: 0xb8, hi: 0xb9}, -+ {value: 0x0049, lo: 0xbb, hi: 0xbe}, -+ // Block 0x94, offset 0x2f7 -+ {value: 0x0002, lo: 0x05}, -+ {value: 0x0053, lo: 0x80, hi: 0x84}, -+ {value: 0x005f, lo: 0x86, hi: 0x86}, -+ {value: 0x0067, lo: 0x8a, hi: 0x90}, -+ {value: 0x0083, lo: 0x92, hi: 0xab}, -+ {value: 0x0043, lo: 0xac, hi: 0xbf}, -+ // Block 0x95, offset 0x2fd -+ {value: 0x0002, lo: 0x04}, -+ {value: 0x006b, lo: 0x80, hi: 0x85}, -+ {value: 0x0083, lo: 0x86, hi: 0x9f}, -+ {value: 0x0043, lo: 0xa0, hi: 0xb9}, -+ {value: 0x0083, lo: 0xba, hi: 0xbf}, -+ // Block 0x96, offset 0x302 -+ {value: 0x0002, lo: 0x03}, -+ {value: 0x008f, lo: 0x80, hi: 0x93}, -+ {value: 0x0043, lo: 0x94, hi: 0xad}, -+ {value: 0x0083, lo: 0xae, hi: 0xbf}, -+ // Block 0x97, offset 0x306 -+ {value: 0x0002, lo: 0x04}, -+ {value: 0x00a7, lo: 0x80, hi: 0x87}, -+ {value: 0x0043, lo: 0x88, hi: 0xa1}, -+ {value: 0x0083, lo: 0xa2, hi: 0xbb}, -+ {value: 0x0043, lo: 0xbc, hi: 0xbf}, -+ // Block 0x98, offset 0x30b -+ {value: 0x0002, lo: 0x03}, -+ {value: 0x004b, lo: 0x80, hi: 0x95}, -+ {value: 0x0083, lo: 0x96, hi: 0xaf}, -+ {value: 0x0043, lo: 0xb0, hi: 0xbf}, -+ // Block 0x99, offset 0x30f -+ {value: 0x0003, lo: 0x0f}, -+ {value: 0x01b8, lo: 0x80, hi: 0x80}, -+ {value: 0x045f, lo: 0x81, hi: 0x81}, -+ {value: 0x01bb, lo: 0x82, hi: 0x9a}, -+ {value: 0x045b, lo: 0x9b, hi: 0x9b}, -+ {value: 0x01c7, lo: 0x9c, hi: 0x9c}, -+ {value: 0x01d0, lo: 0x9d, hi: 0x9d}, -+ {value: 0x01d6, lo: 0x9e, hi: 0x9e}, -+ {value: 0x01fa, lo: 0x9f, hi: 0x9f}, -+ {value: 0x01eb, lo: 0xa0, hi: 0xa0}, -+ {value: 0x01e8, lo: 0xa1, hi: 0xa1}, -+ {value: 0x0173, lo: 0xa2, hi: 0xb2}, -+ {value: 0x0188, lo: 0xb3, hi: 0xb3}, -+ {value: 0x01a6, lo: 0xb4, hi: 0xba}, -+ {value: 0x045f, lo: 0xbb, hi: 0xbb}, -+ {value: 0x01bb, lo: 0xbc, hi: 0xbf}, -+ // Block 0x9a, offset 0x31f -+ {value: 0x0003, lo: 0x0d}, -+ {value: 0x01c7, lo: 0x80, hi: 0x94}, -+ {value: 0x045b, lo: 0x95, hi: 0x95}, -+ {value: 0x01c7, lo: 0x96, hi: 0x96}, -+ {value: 0x01d0, lo: 0x97, hi: 0x97}, -+ {value: 0x01d6, lo: 0x98, hi: 0x98}, -+ {value: 0x01fa, lo: 0x99, hi: 0x99}, -+ {value: 0x01eb, lo: 0x9a, hi: 0x9a}, -+ {value: 0x01e8, lo: 0x9b, hi: 0x9b}, -+ {value: 0x0173, lo: 0x9c, hi: 0xac}, -+ {value: 0x0188, lo: 0xad, hi: 0xad}, -+ {value: 0x01a6, lo: 0xae, hi: 0xb4}, -+ {value: 0x045f, lo: 0xb5, hi: 0xb5}, -+ {value: 0x01bb, lo: 0xb6, hi: 0xbf}, -+ // Block 0x9b, offset 0x32d -+ {value: 0x0003, lo: 0x0d}, -+ {value: 0x01d9, lo: 0x80, hi: 0x8e}, -+ {value: 0x045b, lo: 0x8f, hi: 0x8f}, -+ {value: 0x01c7, lo: 0x90, hi: 0x90}, -+ {value: 0x01d0, lo: 0x91, hi: 0x91}, -+ {value: 0x01d6, lo: 0x92, hi: 0x92}, -+ {value: 0x01fa, lo: 0x93, hi: 0x93}, -+ {value: 0x01eb, lo: 0x94, hi: 0x94}, -+ {value: 0x01e8, lo: 0x95, hi: 0x95}, -+ {value: 0x0173, lo: 0x96, hi: 0xa6}, -+ {value: 0x0188, lo: 0xa7, hi: 0xa7}, -+ {value: 0x01a6, lo: 0xa8, hi: 0xae}, -+ {value: 0x045f, lo: 0xaf, hi: 0xaf}, -+ {value: 0x01bb, lo: 0xb0, hi: 0xbf}, -+ // Block 0x9c, offset 0x33b -+ {value: 0x0003, lo: 0x0d}, -+ {value: 0x01eb, lo: 0x80, hi: 0x88}, -+ {value: 0x045b, lo: 0x89, hi: 0x89}, -+ {value: 0x01c7, lo: 0x8a, hi: 0x8a}, -+ {value: 0x01d0, lo: 0x8b, hi: 0x8b}, -+ {value: 0x01d6, lo: 0x8c, hi: 0x8c}, -+ {value: 0x01fa, lo: 0x8d, hi: 0x8d}, -+ {value: 0x01eb, lo: 0x8e, hi: 0x8e}, -+ {value: 0x01e8, lo: 0x8f, hi: 0x8f}, -+ {value: 0x0173, lo: 0x90, hi: 0xa0}, -+ {value: 0x0188, lo: 0xa1, hi: 0xa1}, -+ {value: 0x01a6, lo: 0xa2, hi: 0xa8}, -+ {value: 0x045f, lo: 0xa9, hi: 0xa9}, -+ {value: 0x01bb, lo: 0xaa, hi: 0xbf}, -+ // Block 0x9d, offset 0x349 -+ {value: 0x0000, lo: 0x05}, -+ {value: 0x8132, lo: 0x80, hi: 0x86}, -+ {value: 0x8132, lo: 0x88, hi: 0x98}, -+ {value: 0x8132, lo: 0x9b, hi: 0xa1}, -+ {value: 0x8132, lo: 0xa3, hi: 0xa4}, -+ {value: 0x8132, lo: 0xa6, hi: 0xaa}, -+ // Block 0x9e, offset 0x34f -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x8132, lo: 0xac, hi: 0xaf}, -+ // Block 0x9f, offset 0x351 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x812d, lo: 0x90, hi: 0x96}, -+ // Block 0xa0, offset 0x353 -+ {value: 0x0000, lo: 0x02}, -+ {value: 0x8132, lo: 0x84, hi: 0x89}, -+ {value: 0x8102, lo: 0x8a, hi: 0x8a}, -+ // Block 0xa1, offset 0x356 -+ {value: 0x0002, lo: 0x0a}, -+ {value: 0x0063, lo: 0x80, hi: 0x89}, -+ {value: 0x1951, lo: 0x8a, hi: 0x8a}, -+ {value: 0x1984, lo: 0x8b, hi: 0x8b}, -+ {value: 0x199f, lo: 0x8c, hi: 0x8c}, -+ {value: 0x19a5, lo: 0x8d, hi: 0x8d}, -+ {value: 0x1bc3, lo: 0x8e, hi: 0x8e}, -+ {value: 0x19b1, lo: 0x8f, hi: 0x8f}, -+ {value: 0x197b, lo: 0xaa, hi: 0xaa}, -+ {value: 0x197e, lo: 0xab, hi: 0xab}, -+ {value: 0x1981, lo: 0xac, hi: 0xac}, -+ // Block 0xa2, offset 0x361 -+ {value: 0x0000, lo: 0x01}, -+ {value: 0x193f, lo: 0x90, hi: 0x90}, -+ // Block 0xa3, offset 0x363 -+ {value: 0x0028, lo: 0x09}, -+ {value: 0x2865, lo: 0x80, hi: 0x80}, -+ {value: 0x2829, lo: 0x81, hi: 0x81}, -+ {value: 0x2833, lo: 0x82, hi: 0x82}, -+ {value: 0x2847, lo: 0x83, hi: 0x84}, -+ {value: 0x2851, lo: 0x85, hi: 0x86}, -+ {value: 0x283d, lo: 0x87, hi: 0x87}, -+ {value: 0x285b, lo: 0x88, hi: 0x88}, -+ {value: 0x0b6f, lo: 0x90, hi: 0x90}, -+ {value: 0x08e7, lo: 0x91, hi: 0x91}, -+} -+ -+// recompMap: 7520 bytes (entries only) -+var recompMap map[uint32]rune -+var recompMapOnce sync.Once -+ -+const recompMapPacked = "" + -+ "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 -+ "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 -+ "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 -+ "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 -+ "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 -+ "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 -+ "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 -+ "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 -+ "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 -+ "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA -+ "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB -+ "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC -+ "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD -+ "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE -+ "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF -+ "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 -+ "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 -+ "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 -+ "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 -+ "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 -+ "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 -+ "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 -+ "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA -+ "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB -+ "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC -+ "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD -+ "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 -+ "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 -+ "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 -+ "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 -+ "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 -+ "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 -+ "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 -+ "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 -+ "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 -+ "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA -+ "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB -+ "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC -+ "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED -+ "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE -+ "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF -+ "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 -+ "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 -+ "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 -+ "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 -+ "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 -+ "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 -+ "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 -+ "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA -+ "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB -+ "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC -+ "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD -+ "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF -+ "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 -+ "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 -+ "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 -+ "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 -+ "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 -+ "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 -+ "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 -+ "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 -+ "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 -+ "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 -+ "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A -+ "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B -+ "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C -+ "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D -+ "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E -+ "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F -+ "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 -+ "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 -+ "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 -+ "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 -+ "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 -+ "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 -+ "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 -+ "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 -+ "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A -+ "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B -+ "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C -+ "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D -+ "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E -+ "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F -+ "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 -+ "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 -+ "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 -+ "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 -+ "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 -+ "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 -+ "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 -+ "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 -+ "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A -+ "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B -+ "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C -+ "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D -+ "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E -+ "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F -+ "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 -+ "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 -+ "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 -+ "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 -+ "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 -+ "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 -+ "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A -+ "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B -+ "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C -+ "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D -+ "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E -+ "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 -+ "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 -+ "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 -+ "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 -+ "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 -+ "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 -+ "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C -+ "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D -+ "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E -+ "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F -+ "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 -+ "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 -+ "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 -+ "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 -+ "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 -+ "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 -+ "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 -+ "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 -+ "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A -+ "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B -+ "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C -+ "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D -+ "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E -+ "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F -+ "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 -+ "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 -+ "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 -+ "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 -+ "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 -+ "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 -+ "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 -+ "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 -+ "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A -+ "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B -+ "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C -+ "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D -+ "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E -+ "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F -+ "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 -+ "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 -+ "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 -+ "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 -+ "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 -+ "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 -+ "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 -+ "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 -+ "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 -+ "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 -+ "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A -+ "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B -+ "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C -+ "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D -+ "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E -+ "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 -+ "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 -+ "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF -+ "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 -+ "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD -+ "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE -+ "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF -+ "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 -+ "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 -+ "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 -+ "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 -+ "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 -+ "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 -+ "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 -+ "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 -+ "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 -+ "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 -+ "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA -+ "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB -+ "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC -+ "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE -+ "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF -+ "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 -+ "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 -+ "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 -+ "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 -+ "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 -+ "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 -+ "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 -+ "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 -+ "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA -+ "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB -+ "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC -+ "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED -+ "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE -+ "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF -+ "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 -+ "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 -+ "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 -+ "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 -+ "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 -+ "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA -+ "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB -+ "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC -+ "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD -+ "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE -+ "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF -+ "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 -+ "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 -+ "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 -+ "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 -+ "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 -+ "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 -+ "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 -+ "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 -+ "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 -+ "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 -+ "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A -+ "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B -+ "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C -+ "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D -+ "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E -+ "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F -+ "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 -+ "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 -+ "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 -+ "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 -+ "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 -+ "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 -+ "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 -+ "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 -+ "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 -+ "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 -+ "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A -+ "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B -+ "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E -+ "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F -+ "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 -+ "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 -+ "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 -+ "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 -+ "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A -+ "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B -+ "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C -+ "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D -+ "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E -+ "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F -+ "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 -+ "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 -+ "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 -+ "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 -+ "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 -+ "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 -+ "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 -+ "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 -+ "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A -+ "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C -+ "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E -+ "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F -+ "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 -+ "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA -+ "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB -+ "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC -+ "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD -+ "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE -+ "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF -+ "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 -+ "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA -+ "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB -+ "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC -+ "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD -+ "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE -+ "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 -+ "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 -+ "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 -+ "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 -+ "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 -+ "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 -+ "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C -+ "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D -+ "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E -+ "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 -+ "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 -+ "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 -+ "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 -+ "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 -+ "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 -+ "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C -+ "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D -+ "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E -+ "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 -+ "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 -+ "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 -+ "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 -+ "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 -+ "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 -+ "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 -+ "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 -+ "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 -+ "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 -+ "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA -+ "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB -+ "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC -+ "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD -+ "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE -+ "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF -+ "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 -+ "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 -+ "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 -+ "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 -+ "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 -+ "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 -+ "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA -+ "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB -+ "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC -+ "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED -+ "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE -+ "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF -+ "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 -+ "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 -+ "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 -+ "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 -+ "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 -+ "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 -+ "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 -+ "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 -+ "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 -+ "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 -+ "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 -+ "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 -+ "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 -+ "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 -+ "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 -+ "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 -+ "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 -+ "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 -+ "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 -+ "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB -+ "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC -+ "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 -+ "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B -+ "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C -+ "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 -+ "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA -+ "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB -+ "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC -+ "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 -+ "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 -+ "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 -+ "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 -+ "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA -+ "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB -+ "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A -+ "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B -+ "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C -+ "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA -+ "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC -+ "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD -+ "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE -+ "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 -+ "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 -+ "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 -+ "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A -+ "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C -+ "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E -+ "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 -+ "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B -+ "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D -+ "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 -+ "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 -+ "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 -+ "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 -+ "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 -+ "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 -+ "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 -+ "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 -+ "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 -+ "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 -+ "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 -+ "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 -+ "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 -+ "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A -+ "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B -+ "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C -+ "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D -+ "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E -+ "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F -+ "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 -+ "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 -+ "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 -+ "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 -+ "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 -+ "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 -+ "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 -+ "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 -+ "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 -+ "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 -+ "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A -+ "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B -+ "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C -+ "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D -+ "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E -+ "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F -+ "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 -+ "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 -+ "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 -+ "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 -+ "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 -+ "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 -+ "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 -+ "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 -+ "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 -+ "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 -+ "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A -+ "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B -+ "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C -+ "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D -+ "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E -+ "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F -+ "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 -+ "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 -+ "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 -+ "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 -+ "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 -+ "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 -+ "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 -+ "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 -+ "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 -+ "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 -+ "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A -+ "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B -+ "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C -+ "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D -+ "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E -+ "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F -+ "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 -+ "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 -+ "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 -+ "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 -+ "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 -+ "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 -+ "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 -+ "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 -+ "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 -+ "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 -+ "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A -+ "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B -+ "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C -+ "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D -+ "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E -+ "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F -+ "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 -+ "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 -+ "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 -+ "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 -+ "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 -+ "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 -+ "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 -+ "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 -+ "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 -+ "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 -+ "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A -+ "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B -+ "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C -+ "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D -+ "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E -+ "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F -+ "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 -+ "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 -+ "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 -+ "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 -+ "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 -+ "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 -+ "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 -+ "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 -+ "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 -+ "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 -+ "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A -+ "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B -+ "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C -+ "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D -+ "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E -+ "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F -+ "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 -+ "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 -+ "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 -+ "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 -+ "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 -+ "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 -+ "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 -+ "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 -+ "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 -+ "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 -+ "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A -+ "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B -+ "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C -+ "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D -+ "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E -+ "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F -+ "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 -+ "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 -+ "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 -+ "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 -+ "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 -+ "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 -+ "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 -+ "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 -+ "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 -+ "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 -+ "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A -+ "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B -+ "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C -+ "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D -+ "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E -+ "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F -+ "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 -+ "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 -+ "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 -+ "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 -+ "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 -+ "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 -+ "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 -+ "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 -+ "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 -+ "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 -+ "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B -+ "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 -+ "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 -+ "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 -+ "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 -+ "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 -+ "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 -+ "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 -+ "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 -+ "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 -+ "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 -+ "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA -+ "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB -+ "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC -+ "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD -+ "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE -+ "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF -+ "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 -+ "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 -+ "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 -+ "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 -+ "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 -+ "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 -+ "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 -+ "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 -+ "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 -+ "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 -+ "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA -+ "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB -+ "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC -+ "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD -+ "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE -+ "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF -+ "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 -+ "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 -+ "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 -+ "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 -+ "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 -+ "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 -+ "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 -+ "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 -+ "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 -+ "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 -+ "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA -+ "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB -+ "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC -+ "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD -+ "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE -+ "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF -+ "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 -+ "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 -+ "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 -+ "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 -+ "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 -+ "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 -+ "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 -+ "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 -+ "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 -+ "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 -+ "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA -+ "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB -+ "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC -+ "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD -+ "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE -+ "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF -+ "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 -+ "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 -+ "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 -+ "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 -+ "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 -+ "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 -+ "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 -+ "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 -+ "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 -+ "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 -+ "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA -+ "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB -+ "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC -+ "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED -+ "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE -+ "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF -+ "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 -+ "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 -+ "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 -+ "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 -+ "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 -+ "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 -+ "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 -+ "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 -+ "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 -+ "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 -+ "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 -+ "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 -+ "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 -+ "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 -+ "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 -+ "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 -+ "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 -+ "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 -+ "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 -+ "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 -+ "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A -+ "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B -+ "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C -+ "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D -+ "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E -+ "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F -+ "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 -+ "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 -+ "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 -+ "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 -+ "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 -+ "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 -+ "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 -+ "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 -+ "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A -+ "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B -+ "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C -+ "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D -+ "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 -+ "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 -+ "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 -+ "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 -+ "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 -+ "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 -+ "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 -+ "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 -+ "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 -+ "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 -+ "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A -+ "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B -+ "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C -+ "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D -+ "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E -+ "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F -+ "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 -+ "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 -+ "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 -+ "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 -+ "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 -+ "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 -+ "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 -+ "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 -+ "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 -+ "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 -+ "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A -+ "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B -+ "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C -+ "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D -+ "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E -+ "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F -+ "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 -+ "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 -+ "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 -+ "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 -+ "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 -+ "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 -+ "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 -+ "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 -+ "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A -+ "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B -+ "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C -+ "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D -+ "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 -+ "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 -+ "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 -+ "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 -+ "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 -+ "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 -+ "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 -+ "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 -+ "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 -+ "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B -+ "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D -+ "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F -+ "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 -+ "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 -+ "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 -+ "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 -+ "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 -+ "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 -+ "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 -+ "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 -+ "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 -+ "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 -+ "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A -+ "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B -+ "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C -+ "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D -+ "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E -+ "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F -+ "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 -+ "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 -+ "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 -+ "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 -+ "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 -+ "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A -+ "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C -+ "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 -+ "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 -+ "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 -+ "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 -+ "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 -+ "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 -+ "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 -+ "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 -+ "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 -+ "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 -+ "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A -+ "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B -+ "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C -+ "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D -+ "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E -+ "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F -+ "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 -+ "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 -+ "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 -+ "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 -+ "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 -+ "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 -+ "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 -+ "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 -+ "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 -+ "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 -+ "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A -+ "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B -+ "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C -+ "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D -+ "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E -+ "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F -+ "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 -+ "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 -+ "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 -+ "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 -+ "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 -+ "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 -+ "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 -+ "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 -+ "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 -+ "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 -+ "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA -+ "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB -+ "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC -+ "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD -+ "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE -+ "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF -+ "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 -+ "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 -+ "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 -+ "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 -+ "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 -+ "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 -+ "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 -+ "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 -+ "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 -+ "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA -+ "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC -+ "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 -+ "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 -+ "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 -+ "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 -+ "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 -+ "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 -+ "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 -+ "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA -+ "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC -+ "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD -+ "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE -+ "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF -+ "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 -+ "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 -+ "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 -+ "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 -+ "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 -+ "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 -+ "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 -+ "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA -+ "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD -+ "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE -+ "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF -+ "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 -+ "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 -+ "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 -+ "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 -+ "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 -+ "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 -+ "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 -+ "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 -+ "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 -+ "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA -+ "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC -+ "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED -+ "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 -+ "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 -+ "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 -+ "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 -+ "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 -+ "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 -+ "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA -+ "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC -+ "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A -+ "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B -+ "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE -+ "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD -+ "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE -+ "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF -+ "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 -+ "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 -+ "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C -+ "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 -+ "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 -+ "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 -+ "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 -+ "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 -+ "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 -+ "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 -+ "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 -+ "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D -+ "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E -+ "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F -+ "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 -+ "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 -+ "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 -+ "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 -+ "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 -+ "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 -+ "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 -+ "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 -+ "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 -+ "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 -+ "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 -+ "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 -+ "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC -+ "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD -+ "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE -+ "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF -+ "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 -+ "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 -+ "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 -+ "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 -+ "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA -+ "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB -+ "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC -+ "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED -+ "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C -+ "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E -+ "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 -+ "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 -+ "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 -+ "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 -+ "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 -+ "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A -+ "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C -+ "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E -+ "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 -+ "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 -+ "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 -+ "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 -+ "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 -+ "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 -+ "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 -+ "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 -+ "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 -+ "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 -+ "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 -+ "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 -+ "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A -+ "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C -+ "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D -+ "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 -+ "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E -+ "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC -+ "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE -+ "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 -+ "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 -+ "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 -+ "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 -+ "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 -+ "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA -+ "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC -+ "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE -+ "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 -+ "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 -+ "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 -+ "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 -+ "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 -+ "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 -+ "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 -+ "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 -+ "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 -+ "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 -+ "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 -+ "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 -+ "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA -+ "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC -+ "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD -+ "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 -+ "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 -+ "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 -+ "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 -+ "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA -+ "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE -+ "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A -+ "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C -+ "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB -+ "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E -+ "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F -+ "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B -+ "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C -+ "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB -+ "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC -+ "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE -+ "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA -+ "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB -+ "" -+ // Total size of tables: 55KB (55977 bytes) -diff --git a/vendor/modules.txt b/vendor/modules.txt -index c02b26ded8..ce2ed9ac95 100644 ---- a/vendor/modules.txt -+++ b/vendor/modules.txt -@@ -551,7 +551,7 @@ golang.org/x/sync/semaphore - # golang.org/x/sys v0.0.0-20191127021746-63cb32ae39b2 - golang.org/x/sys/unix - golang.org/x/sys/windows --# golang.org/x/text v0.3.2 -+# golang.org/x/text v0.3.3 - golang.org/x/text/encoding - golang.org/x/text/encoding/charmap - golang.org/x/text/encoding/htmlindex diff --git a/SOURCES/podman-CVE-2020-14370.patch b/SOURCES/podman-CVE-2020-14370.patch deleted file mode 100644 index 96ef213..0000000 --- a/SOURCES/podman-CVE-2020-14370.patch +++ /dev/null @@ -1,43 +0,0 @@ -From b6229fa5cff3cb7a503a3a9956a3ac71f2ecda52 Mon Sep 17 00:00:00 2001 -From: Matthew Heon -Date: Tue, 8 Sep 2020 09:30:26 -0400 -Subject: [PATCH] Fix CVE-2020-14370 - -Convert defaultEnvVariables to a function to ensure that we do -not have a variable that can leak between container creation -calls. This resolve CVE-2020-14370 for the 1.6 branch of Podman. - -Signed-off-by: Matthew Heon ---- - cmd/podman/shared/create.go | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/cmd/podman/shared/create.go b/cmd/podman/shared/create.go -index dda36826e..b9f346691 100644 ---- a/cmd/podman/shared/create.go -+++ b/cmd/podman/shared/create.go -@@ -822,15 +822,17 @@ func CreateContainerFromCreateConfig(r *libpod.Runtime, createConfig *cc.CreateC - return ctr, nil - } - --var defaultEnvVariables = map[string]string{ -- "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", -- "TERM": "xterm", -+func defaultEnvVariables() map[string]string { -+ return map[string]string{ -+ "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", -+ "TERM": "xterm", -+ } - } - - // EnvVariablesFromData gets sets the default environment variables - // for containers, and reads the variables from the image data, if present. - func EnvVariablesFromData(data *inspect.ImageData) map[string]string { -- env := defaultEnvVariables -+ env := defaultEnvVariables() - if data != nil { - for _, e := range data.Config.Env { - split := strings.SplitN(e, "=", 2) --- -2.26.2 - diff --git a/SOURCES/podman-CVE-2020-1702.patch b/SOURCES/podman-CVE-2020-1702.patch deleted file mode 100644 index 01e1aca..0000000 --- a/SOURCES/podman-CVE-2020-1702.patch +++ /dev/null @@ -1,13539 +0,0 @@ -From 23d7b2d5c4281f54ffe351293f68fb5136013bcc Mon Sep 17 00:00:00 2001 -From: Valentin Rothberg -Date: Wed, 5 Feb 2020 14:55:48 +0100 -Subject: [PATCH 1/3] [v1.6] update containers/image - -Note that this includes fixes for -https://access.redhat.com/security/cve/CVE-2020-1702. - -Signed-off-by: Valentin Rothberg ---- - go.mod | 2 +- - go.sum | 2 + - .../Microsoft/hcsshim/mksyscall_windows.go | 943 ---------- - .../image/v5/docker/docker_client.go | 6 +- - .../image/v5/docker/docker_image_dest.go | 3 +- - .../image/v5/docker/docker_image_src.go | 10 +- - .../image/v5/docker/tarfile/dest.go | 3 +- - .../containers/image/v5/docker/tarfile/src.go | 9 +- - .../image/v5/image/docker_schema2.go | 4 +- - .../containers/image/v5/image/oci.go | 4 +- - .../image/v5/internal/iolimits/iolimits.go | 60 + - .../image/v5/openshift/openshift.go | 4 +- - .../storage/pkg/archive/example_changes.go | 97 -- - .../docker/pkg/archive/example_changes.go | 97 -- - .../klauspost/compress/flate/gen.go | 265 --- - .../github.com/klauspost/cpuid/private-gen.go | 476 ------ - vendor/github.com/ulikunitz/xz/example.go | 40 - - vendor/golang.org/x/net/html/atom/gen.go | 712 -------- - vendor/golang.org/x/sys/unix/mkasm_darwin.go | 61 - - vendor/golang.org/x/sys/unix/mkpost.go | 122 -- - vendor/golang.org/x/sys/unix/mksyscall.go | 407 ----- - .../x/sys/unix/mksyscall_aix_ppc.go | 415 ----- - .../x/sys/unix/mksyscall_aix_ppc64.go | 614 ------- - .../x/sys/unix/mksyscall_solaris.go | 335 ---- - .../golang.org/x/sys/unix/mksysctl_openbsd.go | 355 ---- - vendor/golang.org/x/sys/unix/mksysnum.go | 190 --- - vendor/golang.org/x/sys/unix/types_aix.go | 237 --- - vendor/golang.org/x/sys/unix/types_darwin.go | 283 --- - .../golang.org/x/sys/unix/types_dragonfly.go | 263 --- - vendor/golang.org/x/sys/unix/types_freebsd.go | 400 ----- - vendor/golang.org/x/sys/unix/types_netbsd.go | 290 ---- - vendor/golang.org/x/sys/unix/types_openbsd.go | 283 --- - vendor/golang.org/x/sys/unix/types_solaris.go | 266 --- - .../x/text/encoding/charmap/maketables.go | 556 ------ - .../x/text/encoding/htmlindex/gen.go | 173 -- - .../text/encoding/internal/identifier/gen.go | 142 -- - .../x/text/encoding/japanese/maketables.go | 161 -- - .../x/text/encoding/korean/maketables.go | 143 -- - .../encoding/simplifiedchinese/maketables.go | 161 -- - .../encoding/traditionalchinese/maketables.go | 140 -- - .../x/text/internal/language/compact/gen.go | 64 - - .../internal/language/compact/gen_index.go | 113 -- - .../internal/language/compact/gen_parents.go | 54 - - .../x/text/internal/language/gen.go | 1520 ----------------- - .../x/text/internal/language/gen_common.go | 20 - - vendor/golang.org/x/text/language/gen.go | 305 ---- - vendor/golang.org/x/text/unicode/bidi/gen.go | 133 -- - .../x/text/unicode/bidi/gen_ranges.go | 57 - - .../x/text/unicode/bidi/gen_trieval.go | 64 - - .../x/text/unicode/norm/maketables.go | 986 ----------- - .../golang.org/x/text/unicode/norm/triegen.go | 117 -- - vendor/modules.txt | 407 ++--- - 52 files changed, 291 insertions(+), 12283 deletions(-) - delete mode 100644 vendor/github.com/Microsoft/hcsshim/mksyscall_windows.go - create mode 100644 vendor/github.com/containers/image/v5/internal/iolimits/iolimits.go - delete mode 100644 vendor/github.com/containers/storage/pkg/archive/example_changes.go - delete mode 100644 vendor/github.com/docker/docker/pkg/archive/example_changes.go - delete mode 100644 vendor/github.com/klauspost/compress/flate/gen.go - delete mode 100644 vendor/github.com/klauspost/cpuid/private-gen.go - delete mode 100644 vendor/github.com/ulikunitz/xz/example.go - delete mode 100644 vendor/golang.org/x/net/html/atom/gen.go - delete mode 100644 vendor/golang.org/x/sys/unix/mkasm_darwin.go - delete mode 100644 vendor/golang.org/x/sys/unix/mkpost.go - delete mode 100644 vendor/golang.org/x/sys/unix/mksyscall.go - delete mode 100644 vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go - delete mode 100644 vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go - delete mode 100644 vendor/golang.org/x/sys/unix/mksyscall_solaris.go - delete mode 100644 vendor/golang.org/x/sys/unix/mksysctl_openbsd.go - delete mode 100644 vendor/golang.org/x/sys/unix/mksysnum.go - delete mode 100644 vendor/golang.org/x/sys/unix/types_aix.go - delete mode 100644 vendor/golang.org/x/sys/unix/types_darwin.go - delete mode 100644 vendor/golang.org/x/sys/unix/types_dragonfly.go - delete mode 100644 vendor/golang.org/x/sys/unix/types_freebsd.go - delete mode 100644 vendor/golang.org/x/sys/unix/types_netbsd.go - delete mode 100644 vendor/golang.org/x/sys/unix/types_openbsd.go - delete mode 100644 vendor/golang.org/x/sys/unix/types_solaris.go - delete mode 100644 vendor/golang.org/x/text/encoding/charmap/maketables.go - delete mode 100644 vendor/golang.org/x/text/encoding/htmlindex/gen.go - delete mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/gen.go - delete mode 100644 vendor/golang.org/x/text/encoding/japanese/maketables.go - delete mode 100644 vendor/golang.org/x/text/encoding/korean/maketables.go - delete mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go - delete mode 100644 vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go - delete mode 100644 vendor/golang.org/x/text/internal/language/compact/gen.go - delete mode 100644 vendor/golang.org/x/text/internal/language/compact/gen_index.go - delete mode 100644 vendor/golang.org/x/text/internal/language/compact/gen_parents.go - delete mode 100644 vendor/golang.org/x/text/internal/language/gen.go - delete mode 100644 vendor/golang.org/x/text/internal/language/gen_common.go - delete mode 100644 vendor/golang.org/x/text/language/gen.go - delete mode 100644 vendor/golang.org/x/text/unicode/bidi/gen.go - delete mode 100644 vendor/golang.org/x/text/unicode/bidi/gen_ranges.go - delete mode 100644 vendor/golang.org/x/text/unicode/bidi/gen_trieval.go - delete mode 100644 vendor/golang.org/x/text/unicode/norm/maketables.go - delete mode 100644 vendor/golang.org/x/text/unicode/norm/triegen.go - -diff --git a/go.mod b/go.mod -index 6ee27ae6e2..064089b76d 100644 ---- a/go.mod -+++ b/go.mod -@@ -12,7 +12,7 @@ require ( - github.com/containernetworking/cni v0.7.1 - github.com/containernetworking/plugins v0.8.2 - github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 -- github.com/containers/image/v5 v5.0.0 -+ github.com/containers/image/v5 v5.0.1-0.20200205124631-82291c45f2b0 - github.com/containers/psgo v1.3.2 - github.com/containers/storage v1.13.6 - github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f -diff --git a/go.sum b/go.sum -index 0d73288fb4..2dfb33e942 100644 ---- a/go.sum -+++ b/go.sum -@@ -61,6 +61,8 @@ github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 h1:5WUe09k2s - github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982/go.mod h1:eGWB4tLoo0hIBuytQpvgUC0hk2mvl2ofaYBeDsU/qoc= - github.com/containers/image/v5 v5.0.0 h1:arnXgbt1ucsC/ndtSpiQY87rA0UjhF+/xQnPzqdBDn4= - github.com/containers/image/v5 v5.0.0/go.mod h1:MgiLzCfIeo8lrHi+4Lb8HP+rh513sm0Mlk6RrhjFOLY= -+github.com/containers/image/v5 v5.0.1-0.20200205124631-82291c45f2b0 h1:iV4aHKRoPcHp5BISsuiPMyaCjGJfLKp/FUMAG1NeqvE= -+github.com/containers/image/v5 v5.0.1-0.20200205124631-82291c45f2b0/go.mod h1:MgiLzCfIeo8lrHi+4Lb8HP+rh513sm0Mlk6RrhjFOLY= - github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b h1:Q8ePgVfHDplZ7U33NwHZkrVELsZP5fYj9pM5WBZB2GE= - github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b/go.mod h1:9rfv8iPl1ZP7aqh9YA68wnZv2NUDbXdcdPHVz0pFbPY= - github.com/containers/psgo v1.3.2 h1:jYfppPih3S/j2Yi5O14AXjd8GfCx1ph9L3YsoK3adko= -diff --git a/vendor/github.com/Microsoft/hcsshim/mksyscall_windows.go b/vendor/github.com/Microsoft/hcsshim/mksyscall_windows.go -deleted file mode 100644 -index 7647734de9..0000000000 ---- a/vendor/github.com/Microsoft/hcsshim/mksyscall_windows.go -+++ /dev/null -@@ -1,943 +0,0 @@ --// Copyright 2013 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --/* --mksyscall_windows generates windows system call bodies -- --It parses all files specified on command line containing function --prototypes (like syscall_windows.go) and prints system call bodies --to standard output. -- --The prototypes are marked by lines beginning with "//sys" and read --like func declarations if //sys is replaced by func, but: -- --* The parameter lists must give a name for each argument. This -- includes return parameters. -- --* The parameter lists must give a type for each argument: -- the (x, y, z int) shorthand is not allowed. -- --* If the return parameter is an error number, it must be named err. -- --* If go func name needs to be different from it's winapi dll name, -- the winapi name could be specified at the end, after "=" sign, like -- //sys LoadLibrary(libname string) (handle uint32, err error) = LoadLibraryA -- --* Each function that returns err needs to supply a condition, that -- return value of winapi will be tested against to detect failure. -- This would set err to windows "last-error", otherwise it will be nil. -- The value can be provided at end of //sys declaration, like -- //sys LoadLibrary(libname string) (handle uint32, err error) [failretval==-1] = LoadLibraryA -- and is [failretval==0] by default. -- --Usage: -- mksyscall_windows [flags] [path ...] -- --The flags are: -- -output -- Specify output file name (outputs to console if blank). -- -trace -- Generate print statement after every syscall. --*/ --package main -- --import ( -- "bufio" -- "bytes" -- "errors" -- "flag" -- "fmt" -- "go/format" -- "go/parser" -- "go/token" -- "io" -- "io/ioutil" -- "log" -- "os" -- "path/filepath" -- "runtime" -- "sort" -- "strconv" -- "strings" -- "text/template" --) -- --var ( -- filename = flag.String("output", "", "output file name (standard output if omitted)") -- printTraceFlag = flag.Bool("trace", false, "generate print statement after every syscall") -- systemDLL = flag.Bool("systemdll", true, "whether all DLLs should be loaded from the Windows system directory") -- winio = flag.Bool("winio", false, "import go-winio") --) -- --func trim(s string) string { -- return strings.Trim(s, " \t") --} -- --var packageName string -- --func packagename() string { -- return packageName --} -- --func syscalldot() string { -- if packageName == "syscall" { -- return "" -- } -- return "syscall." --} -- --// Param is function parameter --type Param struct { -- Name string -- Type string -- fn *Fn -- tmpVarIdx int --} -- --// tmpVar returns temp variable name that will be used to represent p during syscall. --func (p *Param) tmpVar() string { -- if p.tmpVarIdx < 0 { -- p.tmpVarIdx = p.fn.curTmpVarIdx -- p.fn.curTmpVarIdx++ -- } -- return fmt.Sprintf("_p%d", p.tmpVarIdx) --} -- --// BoolTmpVarCode returns source code for bool temp variable. --func (p *Param) BoolTmpVarCode() string { -- const code = `var %s uint32 -- if %s { -- %s = 1 -- } else { -- %s = 0 -- }` -- tmp := p.tmpVar() -- return fmt.Sprintf(code, tmp, p.Name, tmp, tmp) --} -- --// SliceTmpVarCode returns source code for slice temp variable. --func (p *Param) SliceTmpVarCode() string { -- const code = `var %s *%s -- if len(%s) > 0 { -- %s = &%s[0] -- }` -- tmp := p.tmpVar() -- return fmt.Sprintf(code, tmp, p.Type[2:], p.Name, tmp, p.Name) --} -- --// StringTmpVarCode returns source code for string temp variable. --func (p *Param) StringTmpVarCode() string { -- errvar := p.fn.Rets.ErrorVarName() -- if errvar == "" { -- errvar = "_" -- } -- tmp := p.tmpVar() -- const code = `var %s %s -- %s, %s = %s(%s)` -- s := fmt.Sprintf(code, tmp, p.fn.StrconvType(), tmp, errvar, p.fn.StrconvFunc(), p.Name) -- if errvar == "-" { -- return s -- } -- const morecode = ` -- if %s != nil { -- return -- }` -- return s + fmt.Sprintf(morecode, errvar) --} -- --// TmpVarCode returns source code for temp variable. --func (p *Param) TmpVarCode() string { -- switch { -- case p.Type == "bool": -- return p.BoolTmpVarCode() -- case strings.HasPrefix(p.Type, "[]"): -- return p.SliceTmpVarCode() -- default: -- return "" -- } --} -- --// TmpVarHelperCode returns source code for helper's temp variable. --func (p *Param) TmpVarHelperCode() string { -- if p.Type != "string" { -- return "" -- } -- return p.StringTmpVarCode() --} -- --// SyscallArgList returns source code fragments representing p parameter --// in syscall. Slices are translated into 2 syscall parameters: pointer to --// the first element and length. --func (p *Param) SyscallArgList() []string { -- t := p.HelperType() -- var s string -- switch { -- case t[0] == '*': -- s = fmt.Sprintf("unsafe.Pointer(%s)", p.Name) -- case t == "bool": -- s = p.tmpVar() -- case strings.HasPrefix(t, "[]"): -- return []string{ -- fmt.Sprintf("uintptr(unsafe.Pointer(%s))", p.tmpVar()), -- fmt.Sprintf("uintptr(len(%s))", p.Name), -- } -- default: -- s = p.Name -- } -- return []string{fmt.Sprintf("uintptr(%s)", s)} --} -- --// IsError determines if p parameter is used to return error. --func (p *Param) IsError() bool { -- return p.Name == "err" && p.Type == "error" --} -- --// HelperType returns type of parameter p used in helper function. --func (p *Param) HelperType() string { -- if p.Type == "string" { -- return p.fn.StrconvType() -- } -- return p.Type --} -- --// join concatenates parameters ps into a string with sep separator. --// Each parameter is converted into string by applying fn to it --// before conversion. --func join(ps []*Param, fn func(*Param) string, sep string) string { -- if len(ps) == 0 { -- return "" -- } -- a := make([]string, 0) -- for _, p := range ps { -- a = append(a, fn(p)) -- } -- return strings.Join(a, sep) --} -- --// Rets describes function return parameters. --type Rets struct { -- Name string -- Type string -- ReturnsError bool -- FailCond string --} -- --// ErrorVarName returns error variable name for r. --func (r *Rets) ErrorVarName() string { -- if r.ReturnsError { -- return "err" -- } -- if r.Type == "error" { -- return r.Name -- } -- return "" --} -- --// ToParams converts r into slice of *Param. --func (r *Rets) ToParams() []*Param { -- ps := make([]*Param, 0) -- if len(r.Name) > 0 { -- ps = append(ps, &Param{Name: r.Name, Type: r.Type}) -- } -- if r.ReturnsError { -- ps = append(ps, &Param{Name: "err", Type: "error"}) -- } -- return ps --} -- --// List returns source code of syscall return parameters. --func (r *Rets) List() string { -- s := join(r.ToParams(), func(p *Param) string { return p.Name + " " + p.Type }, ", ") -- if len(s) > 0 { -- s = "(" + s + ")" -- } -- return s --} -- --// PrintList returns source code of trace printing part correspondent --// to syscall return values. --func (r *Rets) PrintList() string { -- return join(r.ToParams(), func(p *Param) string { return fmt.Sprintf(`"%s=", %s, `, p.Name, p.Name) }, `", ", `) --} -- --// SetReturnValuesCode returns source code that accepts syscall return values. --func (r *Rets) SetReturnValuesCode() string { -- if r.Name == "" && !r.ReturnsError { -- return "" -- } -- retvar := "r0" -- if r.Name == "" { -- retvar = "r1" -- } -- errvar := "_" -- if r.ReturnsError { -- errvar = "e1" -- } -- return fmt.Sprintf("%s, _, %s := ", retvar, errvar) --} -- --func (r *Rets) useLongHandleErrorCode(retvar string) string { -- const code = `if %s { -- if e1 != 0 { -- err = errnoErr(e1) -- } else { -- err = %sEINVAL -- } -- }` -- cond := retvar + " == 0" -- if r.FailCond != "" { -- cond = strings.Replace(r.FailCond, "failretval", retvar, 1) -- } -- return fmt.Sprintf(code, cond, syscalldot()) --} -- --// SetErrorCode returns source code that sets return parameters. --func (r *Rets) SetErrorCode() string { -- const code = `if r0 != 0 { -- %s = %sErrno(r0) -- }` -- const hrCode = `if int32(r0) < 0 { -- if r0&0x1fff0000 == 0x00070000 { -- r0 &= 0xffff -- } -- %s = %sErrno(r0) -- }` -- if r.Name == "" && !r.ReturnsError { -- return "" -- } -- if r.Name == "" { -- return r.useLongHandleErrorCode("r1") -- } -- if r.Type == "error" { -- if r.Name == "hr" { -- return fmt.Sprintf(hrCode, r.Name, syscalldot()) -- } else { -- return fmt.Sprintf(code, r.Name, syscalldot()) -- } -- } -- s := "" -- switch { -- case r.Type[0] == '*': -- s = fmt.Sprintf("%s = (%s)(unsafe.Pointer(r0))", r.Name, r.Type) -- case r.Type == "bool": -- s = fmt.Sprintf("%s = r0 != 0", r.Name) -- default: -- s = fmt.Sprintf("%s = %s(r0)", r.Name, r.Type) -- } -- if !r.ReturnsError { -- return s -- } -- return s + "\n\t" + r.useLongHandleErrorCode(r.Name) --} -- --// Fn describes syscall function. --type Fn struct { -- Name string -- Params []*Param -- Rets *Rets -- PrintTrace bool -- confirmproc bool -- dllname string -- dllfuncname string -- src string -- // TODO: get rid of this field and just use parameter index instead -- curTmpVarIdx int // insure tmp variables have uniq names --} -- --// extractParams parses s to extract function parameters. --func extractParams(s string, f *Fn) ([]*Param, error) { -- s = trim(s) -- if s == "" { -- return nil, nil -- } -- a := strings.Split(s, ",") -- ps := make([]*Param, len(a)) -- for i := range ps { -- s2 := trim(a[i]) -- b := strings.Split(s2, " ") -- if len(b) != 2 { -- b = strings.Split(s2, "\t") -- if len(b) != 2 { -- return nil, errors.New("Could not extract function parameter from \"" + s2 + "\"") -- } -- } -- ps[i] = &Param{ -- Name: trim(b[0]), -- Type: trim(b[1]), -- fn: f, -- tmpVarIdx: -1, -- } -- } -- return ps, nil --} -- --// extractSection extracts text out of string s starting after start --// and ending just before end. found return value will indicate success, --// and prefix, body and suffix will contain correspondent parts of string s. --func extractSection(s string, start, end rune) (prefix, body, suffix string, found bool) { -- s = trim(s) -- if strings.HasPrefix(s, string(start)) { -- // no prefix -- body = s[1:] -- } else { -- a := strings.SplitN(s, string(start), 2) -- if len(a) != 2 { -- return "", "", s, false -- } -- prefix = a[0] -- body = a[1] -- } -- a := strings.SplitN(body, string(end), 2) -- if len(a) != 2 { -- return "", "", "", false -- } -- return prefix, a[0], a[1], true --} -- --// newFn parses string s and return created function Fn. --func newFn(s string) (*Fn, error) { -- s = trim(s) -- f := &Fn{ -- Rets: &Rets{}, -- src: s, -- PrintTrace: *printTraceFlag, -- } -- // function name and args -- prefix, body, s, found := extractSection(s, '(', ')') -- if !found || prefix == "" { -- return nil, errors.New("Could not extract function name and parameters from \"" + f.src + "\"") -- } -- f.Name = prefix -- var err error -- f.Params, err = extractParams(body, f) -- if err != nil { -- return nil, err -- } -- // return values -- _, body, s, found = extractSection(s, '(', ')') -- if found { -- r, err := extractParams(body, f) -- if err != nil { -- return nil, err -- } -- switch len(r) { -- case 0: -- case 1: -- if r[0].IsError() { -- f.Rets.ReturnsError = true -- } else { -- f.Rets.Name = r[0].Name -- f.Rets.Type = r[0].Type -- } -- case 2: -- if !r[1].IsError() { -- return nil, errors.New("Only last windows error is allowed as second return value in \"" + f.src + "\"") -- } -- f.Rets.ReturnsError = true -- f.Rets.Name = r[0].Name -- f.Rets.Type = r[0].Type -- default: -- return nil, errors.New("Too many return values in \"" + f.src + "\"") -- } -- } -- // fail condition -- _, body, s, found = extractSection(s, '[', ']') -- if found { -- f.Rets.FailCond = body -- } -- // dll and dll function names -- s = trim(s) -- if s == "" { -- return f, nil -- } -- if !strings.HasPrefix(s, "=") { -- return nil, errors.New("Could not extract dll name from \"" + f.src + "\"") -- } -- s = trim(s[1:]) -- a := strings.Split(s, ".") -- switch len(a) { -- case 1: -- f.dllfuncname = a[0] -- case 2: -- f.dllname = a[0] -- f.dllfuncname = a[1] -- default: -- return nil, errors.New("Could not extract dll name from \"" + f.src + "\"") -- } -- if f.dllfuncname[len(f.dllfuncname)-1] == '?' { -- f.confirmproc = true -- f.dllfuncname = f.dllfuncname[0 : len(f.dllfuncname)-1] -- } -- return f, nil --} -- --// DLLName returns DLL name for function f. --func (f *Fn) DLLName() string { -- if f.dllname == "" { -- return "kernel32" -- } -- return f.dllname --} -- --// DLLName returns DLL function name for function f. --func (f *Fn) DLLFuncName() string { -- if f.dllfuncname == "" { -- return f.Name -- } -- return f.dllfuncname --} -- --func (f *Fn) ConfirmProc() bool { -- return f.confirmproc --} -- --// ParamList returns source code for function f parameters. --func (f *Fn) ParamList() string { -- return join(f.Params, func(p *Param) string { return p.Name + " " + p.Type }, ", ") --} -- --// HelperParamList returns source code for helper function f parameters. --func (f *Fn) HelperParamList() string { -- return join(f.Params, func(p *Param) string { return p.Name + " " + p.HelperType() }, ", ") --} -- --// ParamPrintList returns source code of trace printing part correspondent --// to syscall input parameters. --func (f *Fn) ParamPrintList() string { -- return join(f.Params, func(p *Param) string { return fmt.Sprintf(`"%s=", %s, `, p.Name, p.Name) }, `", ", `) --} -- --// ParamCount return number of syscall parameters for function f. --func (f *Fn) ParamCount() int { -- n := 0 -- for _, p := range f.Params { -- n += len(p.SyscallArgList()) -- } -- return n --} -- --// SyscallParamCount determines which version of Syscall/Syscall6/Syscall9/... --// to use. It returns parameter count for correspondent SyscallX function. --func (f *Fn) SyscallParamCount() int { -- n := f.ParamCount() -- switch { -- case n <= 3: -- return 3 -- case n <= 6: -- return 6 -- case n <= 9: -- return 9 -- case n <= 12: -- return 12 -- case n <= 15: -- return 15 -- default: -- panic("too many arguments to system call") -- } --} -- --// Syscall determines which SyscallX function to use for function f. --func (f *Fn) Syscall() string { -- c := f.SyscallParamCount() -- if c == 3 { -- return syscalldot() + "Syscall" -- } -- return syscalldot() + "Syscall" + strconv.Itoa(c) --} -- --// SyscallParamList returns source code for SyscallX parameters for function f. --func (f *Fn) SyscallParamList() string { -- a := make([]string, 0) -- for _, p := range f.Params { -- a = append(a, p.SyscallArgList()...) -- } -- for len(a) < f.SyscallParamCount() { -- a = append(a, "0") -- } -- return strings.Join(a, ", ") --} -- --// HelperCallParamList returns source code of call into function f helper. --func (f *Fn) HelperCallParamList() string { -- a := make([]string, 0, len(f.Params)) -- for _, p := range f.Params { -- s := p.Name -- if p.Type == "string" { -- s = p.tmpVar() -- } -- a = append(a, s) -- } -- return strings.Join(a, ", ") --} -- --// IsUTF16 is true, if f is W (utf16) function. It is false --// for all A (ascii) functions. --func (_ *Fn) IsUTF16() bool { -- return true --} -- --// StrconvFunc returns name of Go string to OS string function for f. --func (f *Fn) StrconvFunc() string { -- if f.IsUTF16() { -- return syscalldot() + "UTF16PtrFromString" -- } -- return syscalldot() + "BytePtrFromString" --} -- --// StrconvType returns Go type name used for OS string for f. --func (f *Fn) StrconvType() string { -- if f.IsUTF16() { -- return "*uint16" -- } -- return "*byte" --} -- --// HasStringParam is true, if f has at least one string parameter. --// Otherwise it is false. --func (f *Fn) HasStringParam() bool { -- for _, p := range f.Params { -- if p.Type == "string" { -- return true -- } -- } -- return false --} -- --var uniqDllFuncName = make(map[string]bool) -- --// IsNotDuplicate is true if f is not a duplicated function --func (f *Fn) IsNotDuplicate() bool { -- funcName := f.DLLFuncName() -- if uniqDllFuncName[funcName] == false { -- uniqDllFuncName[funcName] = true -- return true -- } -- return false --} -- --// HelperName returns name of function f helper. --func (f *Fn) HelperName() string { -- if !f.HasStringParam() { -- return f.Name -- } -- return "_" + f.Name --} -- --// Source files and functions. --type Source struct { -- Funcs []*Fn -- Files []string -- StdLibImports []string -- ExternalImports []string --} -- --func (src *Source) Import(pkg string) { -- src.StdLibImports = append(src.StdLibImports, pkg) -- sort.Strings(src.StdLibImports) --} -- --func (src *Source) ExternalImport(pkg string) { -- src.ExternalImports = append(src.ExternalImports, pkg) -- sort.Strings(src.ExternalImports) --} -- --// ParseFiles parses files listed in fs and extracts all syscall --// functions listed in sys comments. It returns source files --// and functions collection *Source if successful. --func ParseFiles(fs []string) (*Source, error) { -- src := &Source{ -- Funcs: make([]*Fn, 0), -- Files: make([]string, 0), -- StdLibImports: []string{ -- "unsafe", -- }, -- ExternalImports: make([]string, 0), -- } -- for _, file := range fs { -- if err := src.ParseFile(file); err != nil { -- return nil, err -- } -- } -- return src, nil --} -- --// DLLs return dll names for a source set src. --func (src *Source) DLLs() []string { -- uniq := make(map[string]bool) -- r := make([]string, 0) -- for _, f := range src.Funcs { -- name := f.DLLName() -- if _, found := uniq[name]; !found { -- uniq[name] = true -- r = append(r, name) -- } -- } -- return r --} -- --// ParseFile adds additional file path to a source set src. --func (src *Source) ParseFile(path string) error { -- file, err := os.Open(path) -- if err != nil { -- return err -- } -- defer file.Close() -- -- s := bufio.NewScanner(file) -- for s.Scan() { -- t := trim(s.Text()) -- if len(t) < 7 { -- continue -- } -- if !strings.HasPrefix(t, "//sys") { -- continue -- } -- t = t[5:] -- if !(t[0] == ' ' || t[0] == '\t') { -- continue -- } -- f, err := newFn(t[1:]) -- if err != nil { -- return err -- } -- src.Funcs = append(src.Funcs, f) -- } -- if err := s.Err(); err != nil { -- return err -- } -- src.Files = append(src.Files, path) -- -- // get package name -- fset := token.NewFileSet() -- _, err = file.Seek(0, 0) -- if err != nil { -- return err -- } -- pkg, err := parser.ParseFile(fset, "", file, parser.PackageClauseOnly) -- if err != nil { -- return err -- } -- packageName = pkg.Name.Name -- -- return nil --} -- --// IsStdRepo returns true if src is part of standard library. --func (src *Source) IsStdRepo() (bool, error) { -- if len(src.Files) == 0 { -- return false, errors.New("no input files provided") -- } -- abspath, err := filepath.Abs(src.Files[0]) -- if err != nil { -- return false, err -- } -- goroot := runtime.GOROOT() -- if runtime.GOOS == "windows" { -- abspath = strings.ToLower(abspath) -- goroot = strings.ToLower(goroot) -- } -- sep := string(os.PathSeparator) -- if !strings.HasSuffix(goroot, sep) { -- goroot += sep -- } -- return strings.HasPrefix(abspath, goroot), nil --} -- --// Generate output source file from a source set src. --func (src *Source) Generate(w io.Writer) error { -- const ( -- pkgStd = iota // any package in std library -- pkgXSysWindows // x/sys/windows package -- pkgOther -- ) -- isStdRepo, err := src.IsStdRepo() -- if err != nil { -- return err -- } -- var pkgtype int -- switch { -- case isStdRepo: -- pkgtype = pkgStd -- case packageName == "windows": -- // TODO: this needs better logic than just using package name -- pkgtype = pkgXSysWindows -- default: -- pkgtype = pkgOther -- } -- if *systemDLL { -- switch pkgtype { -- case pkgStd: -- src.Import("internal/syscall/windows/sysdll") -- case pkgXSysWindows: -- default: -- src.ExternalImport("golang.org/x/sys/windows") -- } -- } -- if *winio { -- src.ExternalImport("github.com/Microsoft/go-winio") -- } -- if packageName != "syscall" { -- src.Import("syscall") -- } -- funcMap := template.FuncMap{ -- "packagename": packagename, -- "syscalldot": syscalldot, -- "newlazydll": func(dll string) string { -- arg := "\"" + dll + ".dll\"" -- if !*systemDLL { -- return syscalldot() + "NewLazyDLL(" + arg + ")" -- } -- if strings.HasPrefix(dll, "api_") || strings.HasPrefix(dll, "ext_") { -- arg = strings.Replace(arg, "_", "-", -1) -- } -- switch pkgtype { -- case pkgStd: -- return syscalldot() + "NewLazyDLL(sysdll.Add(" + arg + "))" -- case pkgXSysWindows: -- return "NewLazySystemDLL(" + arg + ")" -- default: -- return "windows.NewLazySystemDLL(" + arg + ")" -- } -- }, -- } -- t := template.Must(template.New("main").Funcs(funcMap).Parse(srcTemplate)) -- err = t.Execute(w, src) -- if err != nil { -- return errors.New("Failed to execute template: " + err.Error()) -- } -- return nil --} -- --func usage() { -- fmt.Fprintf(os.Stderr, "usage: mksyscall_windows [flags] [path ...]\n") -- flag.PrintDefaults() -- os.Exit(1) --} -- --func main() { -- flag.Usage = usage -- flag.Parse() -- if len(flag.Args()) <= 0 { -- fmt.Fprintf(os.Stderr, "no files to parse provided\n") -- usage() -- } -- -- src, err := ParseFiles(flag.Args()) -- if err != nil { -- log.Fatal(err) -- } -- -- var buf bytes.Buffer -- if err := src.Generate(&buf); err != nil { -- log.Fatal(err) -- } -- -- data, err := format.Source(buf.Bytes()) -- if err != nil { -- log.Fatal(err) -- } -- if *filename == "" { -- _, err = os.Stdout.Write(data) -- } else { -- err = ioutil.WriteFile(*filename, data, 0644) -- } -- if err != nil { -- log.Fatal(err) -- } --} -- --// TODO: use println instead to print in the following template --const srcTemplate = ` -- --{{define "main"}}// Code generated mksyscall_windows.exe DO NOT EDIT -- --package {{packagename}} -- --import ( --{{range .StdLibImports}}"{{.}}" --{{end}} -- --{{range .ExternalImports}}"{{.}}" --{{end}} --) -- --var _ unsafe.Pointer -- --// Do the interface allocations only once for common --// Errno values. --const ( -- errnoERROR_IO_PENDING = 997 --) -- --var ( -- errERROR_IO_PENDING error = {{syscalldot}}Errno(errnoERROR_IO_PENDING) --) -- --// errnoErr returns common boxed Errno values, to prevent --// allocations at runtime. --func errnoErr(e {{syscalldot}}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 ( --{{template "dlls" .}} --{{template "funcnames" .}}) --{{range .Funcs}}{{if .HasStringParam}}{{template "helperbody" .}}{{end}}{{template "funcbody" .}}{{end}} --{{end}} -- --{{/* help functions */}} -- --{{define "dlls"}}{{range .DLLs}} mod{{.}} = {{newlazydll .}} --{{end}}{{end}} -- --{{define "funcnames"}}{{range .Funcs}}{{if .IsNotDuplicate}} proc{{.DLLFuncName}} = mod{{.DLLName}}.NewProc("{{.DLLFuncName}}"){{end}} --{{end}}{{end}} -- --{{define "helperbody"}} --func {{.Name}}({{.ParamList}}) {{template "results" .}}{ --{{template "helpertmpvars" .}} return {{.HelperName}}({{.HelperCallParamList}}) --} --{{end}} -- --{{define "funcbody"}} --func {{.HelperName}}({{.HelperParamList}}) {{template "results" .}}{ --{{template "tmpvars" .}} {{template "syscallcheck" .}}{{template "syscall" .}} --{{template "seterror" .}}{{template "printtrace" .}} return --} --{{end}} -- --{{define "helpertmpvars"}}{{range .Params}}{{if .TmpVarHelperCode}} {{.TmpVarHelperCode}} --{{end}}{{end}}{{end}} -- --{{define "tmpvars"}}{{range .Params}}{{if .TmpVarCode}} {{.TmpVarCode}} --{{end}}{{end}}{{end}} -- --{{define "results"}}{{if .Rets.List}}{{.Rets.List}} {{end}}{{end}} -- --{{define "syscall"}}{{.Rets.SetReturnValuesCode}}{{.Syscall}}(proc{{.DLLFuncName}}.Addr(), {{.ParamCount}}, {{.SyscallParamList}}){{end}} -- --{{define "syscallcheck"}}{{if .ConfirmProc}}if {{.Rets.ErrorVarName}} = proc{{.DLLFuncName}}.Find(); {{.Rets.ErrorVarName}} != nil { -- return --} --{{end}}{{end}} -- -- --{{define "seterror"}}{{if .Rets.SetErrorCode}} {{.Rets.SetErrorCode}} --{{end}}{{end}} -- --{{define "printtrace"}}{{if .PrintTrace}} print("SYSCALL: {{.Name}}(", {{.ParamPrintList}}") (", {{.Rets.PrintList}}")\n") --{{end}}{{end}} -- --` -diff --git a/vendor/github.com/containers/image/v5/docker/docker_client.go b/vendor/github.com/containers/image/v5/docker/docker_client.go -index 0b012c703b..bff077a40a 100644 ---- a/vendor/github.com/containers/image/v5/docker/docker_client.go -+++ b/vendor/github.com/containers/image/v5/docker/docker_client.go -@@ -6,7 +6,6 @@ import ( - "encoding/json" - "fmt" - "io" -- "io/ioutil" - "net/http" - "net/url" - "os" -@@ -17,6 +16,7 @@ import ( - "time" - - "github.com/containers/image/v5/docker/reference" -+ "github.com/containers/image/v5/internal/iolimits" - "github.com/containers/image/v5/pkg/docker/config" - "github.com/containers/image/v5/pkg/sysregistriesv2" - "github.com/containers/image/v5/pkg/tlsclientconfig" -@@ -597,7 +597,7 @@ func (c *dockerClient) getBearerToken(ctx context.Context, challenge challenge, - default: - return nil, errors.Errorf("unexpected http code: %d (%s), URL: %s", res.StatusCode, http.StatusText(res.StatusCode), authReq.URL) - } -- tokenBlob, err := ioutil.ReadAll(res.Body) -+ tokenBlob, err := iolimits.ReadAtMost(res.Body, iolimits.MaxAuthTokenBodySize) - if err != nil { - return nil, err - } -@@ -690,7 +690,7 @@ func (c *dockerClient) getExtensionsSignatures(ctx context.Context, ref dockerRe - return nil, errors.Wrapf(clientLib.HandleErrorResponse(res), "Error downloading signatures for %s in %s", manifestDigest, ref.ref.Name()) - } - -- body, err := ioutil.ReadAll(res.Body) -+ body, err := iolimits.ReadAtMost(res.Body, iolimits.MaxSignatureListBodySize) - if err != nil { - return nil, err - } -diff --git a/vendor/github.com/containers/image/v5/docker/docker_image_dest.go b/vendor/github.com/containers/image/v5/docker/docker_image_dest.go -index 417d97aec9..ce8a1f357e 100644 ---- a/vendor/github.com/containers/image/v5/docker/docker_image_dest.go -+++ b/vendor/github.com/containers/image/v5/docker/docker_image_dest.go -@@ -15,6 +15,7 @@ import ( - "strings" - - "github.com/containers/image/v5/docker/reference" -+ "github.com/containers/image/v5/internal/iolimits" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/pkg/blobinfocache/none" - "github.com/containers/image/v5/types" -@@ -620,7 +621,7 @@ sigExists: - } - defer res.Body.Close() - if res.StatusCode != http.StatusCreated { -- body, err := ioutil.ReadAll(res.Body) -+ body, err := iolimits.ReadAtMost(res.Body, iolimits.MaxErrorBodySize) - if err == nil { - logrus.Debugf("Error body %s", string(body)) - } -diff --git a/vendor/github.com/containers/image/v5/docker/docker_image_src.go b/vendor/github.com/containers/image/v5/docker/docker_image_src.go -index 35beb30e54..5436d9b7d9 100644 ---- a/vendor/github.com/containers/image/v5/docker/docker_image_src.go -+++ b/vendor/github.com/containers/image/v5/docker/docker_image_src.go -@@ -12,6 +12,7 @@ import ( - "strconv" - - "github.com/containers/image/v5/docker/reference" -+ "github.com/containers/image/v5/internal/iolimits" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/pkg/sysregistriesv2" - "github.com/containers/image/v5/types" -@@ -156,7 +157,8 @@ func (s *dockerImageSource) fetchManifest(ctx context.Context, tagOrDigest strin - if res.StatusCode != http.StatusOK { - return nil, "", errors.Wrapf(client.HandleErrorResponse(res), "Error reading manifest %s in %s", tagOrDigest, s.ref.ref.Name()) - } -- manblob, err := ioutil.ReadAll(res.Body) -+ -+ manblob, err := iolimits.ReadAtMost(res.Body, iolimits.MaxManifestBodySize) - if err != nil { - return nil, "", err - } -@@ -342,7 +344,7 @@ func (s *dockerImageSource) getOneSignature(ctx context.Context, url *url.URL) ( - } else if res.StatusCode != http.StatusOK { - return nil, false, errors.Errorf("Error reading signature from %s: status %d (%s)", url.String(), res.StatusCode, http.StatusText(res.StatusCode)) - } -- sig, err := ioutil.ReadAll(res.Body) -+ sig, err := iolimits.ReadAtMost(res.Body, iolimits.MaxSignatureBodySize) - if err != nil { - return nil, false, err - } -@@ -401,7 +403,7 @@ func deleteImage(ctx context.Context, sys *types.SystemContext, ref dockerRefere - return err - } - defer get.Body.Close() -- manifestBody, err := ioutil.ReadAll(get.Body) -+ manifestBody, err := iolimits.ReadAtMost(get.Body, iolimits.MaxManifestBodySize) - if err != nil { - return err - } -@@ -424,7 +426,7 @@ func deleteImage(ctx context.Context, sys *types.SystemContext, ref dockerRefere - } - defer delete.Body.Close() - -- body, err := ioutil.ReadAll(delete.Body) -+ body, err := iolimits.ReadAtMost(delete.Body, iolimits.MaxErrorBodySize) - if err != nil { - return err - } -diff --git a/vendor/github.com/containers/image/v5/docker/tarfile/dest.go b/vendor/github.com/containers/image/v5/docker/tarfile/dest.go -index b02c60bb3d..9748ca1121 100644 ---- a/vendor/github.com/containers/image/v5/docker/tarfile/dest.go -+++ b/vendor/github.com/containers/image/v5/docker/tarfile/dest.go -@@ -13,6 +13,7 @@ import ( - "time" - - "github.com/containers/image/v5/docker/reference" -+ "github.com/containers/image/v5/internal/iolimits" - "github.com/containers/image/v5/internal/tmpdir" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/types" -@@ -135,7 +136,7 @@ func (d *Destination) PutBlob(ctx context.Context, stream io.Reader, inputInfo t - } - - if isConfig { -- buf, err := ioutil.ReadAll(stream) -+ buf, err := iolimits.ReadAtMost(stream, iolimits.MaxConfigBodySize) - if err != nil { - return types.BlobInfo{}, errors.Wrap(err, "Error reading Config file stream") - } -diff --git a/vendor/github.com/containers/image/v5/docker/tarfile/src.go b/vendor/github.com/containers/image/v5/docker/tarfile/src.go -index ad0a3d2cb4..bbf604da6e 100644 ---- a/vendor/github.com/containers/image/v5/docker/tarfile/src.go -+++ b/vendor/github.com/containers/image/v5/docker/tarfile/src.go -@@ -11,6 +11,7 @@ import ( - "path" - "sync" - -+ "github.com/containers/image/v5/internal/iolimits" - "github.com/containers/image/v5/internal/tmpdir" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/pkg/compression" -@@ -187,13 +188,13 @@ func findTarComponent(inputFile io.Reader, path string) (*tar.Reader, *tar.Heade - } - - // readTarComponent returns full contents of componentPath. --func (s *Source) readTarComponent(path string) ([]byte, error) { -+func (s *Source) readTarComponent(path string, limit int) ([]byte, error) { - file, err := s.openTarComponent(path) - if err != nil { - return nil, errors.Wrapf(err, "Error loading tar component %s", path) - } - defer file.Close() -- bytes, err := ioutil.ReadAll(file) -+ bytes, err := iolimits.ReadAtMost(file, limit) - if err != nil { - return nil, err - } -@@ -224,7 +225,7 @@ func (s *Source) ensureCachedDataIsPresentPrivate() error { - } - - // Read and parse config. -- configBytes, err := s.readTarComponent(tarManifest[0].Config) -+ configBytes, err := s.readTarComponent(tarManifest[0].Config, iolimits.MaxConfigBodySize) - if err != nil { - return err - } -@@ -250,7 +251,7 @@ func (s *Source) ensureCachedDataIsPresentPrivate() error { - // loadTarManifest loads and decodes the manifest.json. - func (s *Source) loadTarManifest() ([]ManifestItem, error) { - // FIXME? Do we need to deal with the legacy format? -- bytes, err := s.readTarComponent(manifestFileName) -+ bytes, err := s.readTarComponent(manifestFileName, iolimits.MaxTarFileManifestSize) - if err != nil { - return nil, err - } -diff --git a/vendor/github.com/containers/image/v5/image/docker_schema2.go b/vendor/github.com/containers/image/v5/image/docker_schema2.go -index 254c13f789..29c5047d73 100644 ---- a/vendor/github.com/containers/image/v5/image/docker_schema2.go -+++ b/vendor/github.com/containers/image/v5/image/docker_schema2.go -@@ -7,10 +7,10 @@ import ( - "encoding/hex" - "encoding/json" - "fmt" -- "io/ioutil" - "strings" - - "github.com/containers/image/v5/docker/reference" -+ "github.com/containers/image/v5/internal/iolimits" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/pkg/blobinfocache/none" - "github.com/containers/image/v5/types" -@@ -102,7 +102,7 @@ func (m *manifestSchema2) ConfigBlob(ctx context.Context) ([]byte, error) { - return nil, err - } - defer stream.Close() -- blob, err := ioutil.ReadAll(stream) -+ blob, err := iolimits.ReadAtMost(stream, iolimits.MaxConfigBodySize) - if err != nil { - return nil, err - } -diff --git a/vendor/github.com/containers/image/v5/image/oci.go b/vendor/github.com/containers/image/v5/image/oci.go -index 18a38d463e..406da262f3 100644 ---- a/vendor/github.com/containers/image/v5/image/oci.go -+++ b/vendor/github.com/containers/image/v5/image/oci.go -@@ -4,9 +4,9 @@ import ( - "context" - "encoding/json" - "fmt" -- "io/ioutil" - - "github.com/containers/image/v5/docker/reference" -+ "github.com/containers/image/v5/internal/iolimits" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/pkg/blobinfocache/none" - "github.com/containers/image/v5/types" -@@ -67,7 +67,7 @@ func (m *manifestOCI1) ConfigBlob(ctx context.Context) ([]byte, error) { - return nil, err - } - defer stream.Close() -- blob, err := ioutil.ReadAll(stream) -+ blob, err := iolimits.ReadAtMost(stream, iolimits.MaxConfigBodySize) - if err != nil { - return nil, err - } -diff --git a/vendor/github.com/containers/image/v5/internal/iolimits/iolimits.go b/vendor/github.com/containers/image/v5/internal/iolimits/iolimits.go -new file mode 100644 -index 0000000000..3fed1995cb ---- /dev/null -+++ b/vendor/github.com/containers/image/v5/internal/iolimits/iolimits.go -@@ -0,0 +1,60 @@ -+package iolimits -+ -+import ( -+ "io" -+ "io/ioutil" -+ -+ "github.com/pkg/errors" -+) -+ -+// All constants below are intended to be used as limits for `ReadAtMost`. The -+// immediate use-case for limiting the size of in-memory copied data is to -+// protect against OOM DOS attacks as described inCVE-2020-1702. Instead of -+// copying data until running out of memory, we error out after hitting the -+// specified limit. -+const ( -+ // megaByte denotes one megabyte and is intended to be used as a limit in -+ // `ReadAtMost`. -+ megaByte = 1 << 20 -+ // MaxManifestBodySize is the maximum allowed size of a manifest. The limit -+ // of 4 MB aligns with the one of a Docker registry: -+ // https://github.com/docker/distribution/blob/a8371794149d1d95f1e846744b05c87f2f825e5a/registry/handlers/manifests.go#L30 -+ MaxManifestBodySize = 4 * megaByte -+ // MaxAuthTokenBodySize is the maximum allowed size of an auth token. -+ // The limit of 1 MB is considered to be greatly sufficient. -+ MaxAuthTokenBodySize = megaByte -+ // MaxSignatureListBodySize is the maximum allowed size of a signature list. -+ // The limit of 4 MB is considered to be greatly sufficient. -+ MaxSignatureListBodySize = 4 * megaByte -+ // MaxSignatureBodySize is the maximum allowed size of a signature. -+ // The limit of 4 MB is considered to be greatly sufficient. -+ MaxSignatureBodySize = 4 * megaByte -+ // MaxErrorBodySize is the maximum allowed size of an error-response body. -+ // The limit of 1 MB is considered to be greatly sufficient. -+ MaxErrorBodySize = megaByte -+ // MaxConfigBodySize is the maximum allowed size of a config blob. -+ // The limit of 4 MB is considered to be greatly sufficient. -+ MaxConfigBodySize = 4 * megaByte -+ // MaxOpenShiftStatusBody is the maximum allowed size of an OpenShift status body. -+ // The limit of 4 MB is considered to be greatly sufficient. -+ MaxOpenShiftStatusBody = 4 * megaByte -+ // MaxTarFileManifestSize is the maximum allowed size of a (docker save)-like manifest (which may contain multiple images) -+ // The limit of 1 MB is considered to be greatly sufficient. -+ MaxTarFileManifestSize = megaByte -+) -+ -+// ReadAtMost reads from reader and errors out if the specified limit (in bytes) is exceeded. -+func ReadAtMost(reader io.Reader, limit int) ([]byte, error) { -+ limitedReader := io.LimitReader(reader, int64(limit+1)) -+ -+ res, err := ioutil.ReadAll(limitedReader) -+ if err != nil { -+ return nil, err -+ } -+ -+ if len(res) > limit { -+ return nil, errors.Errorf("exceeded maximum allowed size of %d bytes", limit) -+ } -+ -+ return res, nil -+} -diff --git a/vendor/github.com/containers/image/v5/openshift/openshift.go b/vendor/github.com/containers/image/v5/openshift/openshift.go -index 016de48034..c37e1b7510 100644 ---- a/vendor/github.com/containers/image/v5/openshift/openshift.go -+++ b/vendor/github.com/containers/image/v5/openshift/openshift.go -@@ -7,13 +7,13 @@ import ( - "encoding/json" - "fmt" - "io" -- "io/ioutil" - "net/http" - "net/url" - "strings" - - "github.com/containers/image/v5/docker" - "github.com/containers/image/v5/docker/reference" -+ "github.com/containers/image/v5/internal/iolimits" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/types" - "github.com/containers/image/v5/version" -@@ -102,7 +102,7 @@ func (c *openshiftClient) doRequest(ctx context.Context, method, path string, re - return nil, err - } - defer res.Body.Close() -- body, err := ioutil.ReadAll(res.Body) -+ body, err := iolimits.ReadAtMost(res.Body, iolimits.MaxOpenShiftStatusBody) - if err != nil { - return nil, err - } -diff --git a/vendor/github.com/containers/storage/pkg/archive/example_changes.go b/vendor/github.com/containers/storage/pkg/archive/example_changes.go -deleted file mode 100644 -index 70f9c5564a..0000000000 ---- a/vendor/github.com/containers/storage/pkg/archive/example_changes.go -+++ /dev/null -@@ -1,97 +0,0 @@ --// +build ignore -- --// Simple tool to create an archive stream from an old and new directory --// --// By default it will stream the comparison of two temporary directories with junk files --package main -- --import ( -- "flag" -- "fmt" -- "io" -- "io/ioutil" -- "os" -- "path" -- -- "github.com/containers/storage/pkg/archive" -- "github.com/sirupsen/logrus" --) -- --var ( -- flDebug = flag.Bool("D", false, "debugging output") -- flNewDir = flag.String("newdir", "", "") -- flOldDir = flag.String("olddir", "", "") -- log = logrus.New() --) -- --func main() { -- flag.Usage = func() { -- fmt.Println("Produce a tar from comparing two directory paths. By default a demo tar is created of around 200 files (including hardlinks)") -- fmt.Printf("%s [OPTIONS]\n", os.Args[0]) -- flag.PrintDefaults() -- } -- flag.Parse() -- log.Out = os.Stderr -- if (len(os.Getenv("DEBUG")) > 0) || *flDebug { -- logrus.SetLevel(logrus.DebugLevel) -- } -- var newDir, oldDir string -- -- if len(*flNewDir) == 0 { -- var err error -- newDir, err = ioutil.TempDir("", "storage-test-newDir") -- if err != nil { -- log.Fatal(err) -- } -- defer os.RemoveAll(newDir) -- if _, err := prepareUntarSourceDirectory(100, newDir, true); err != nil { -- log.Fatal(err) -- } -- } else { -- newDir = *flNewDir -- } -- -- if len(*flOldDir) == 0 { -- oldDir, err := ioutil.TempDir("", "storage-test-oldDir") -- if err != nil { -- log.Fatal(err) -- } -- defer os.RemoveAll(oldDir) -- } else { -- oldDir = *flOldDir -- } -- -- changes, err := archive.ChangesDirs(newDir, oldDir) -- if err != nil { -- log.Fatal(err) -- } -- -- a, err := archive.ExportChanges(newDir, changes) -- if err != nil { -- log.Fatal(err) -- } -- defer a.Close() -- -- i, err := io.Copy(os.Stdout, a) -- if err != nil && err != io.EOF { -- log.Fatal(err) -- } -- fmt.Fprintf(os.Stderr, "wrote archive of %d bytes", i) --} -- --func prepareUntarSourceDirectory(numberOfFiles int, targetPath string, makeLinks bool) (int, error) { -- fileData := []byte("fooo") -- for n := 0; n < numberOfFiles; n++ { -- fileName := fmt.Sprintf("file-%d", n) -- if err := ioutil.WriteFile(path.Join(targetPath, fileName), fileData, 0700); err != nil { -- return 0, err -- } -- if makeLinks { -- if err := os.Link(path.Join(targetPath, fileName), path.Join(targetPath, fileName+"-link")); err != nil { -- return 0, err -- } -- } -- } -- totalSize := numberOfFiles * len(fileData) -- return totalSize, nil --} -diff --git a/vendor/github.com/docker/docker/pkg/archive/example_changes.go b/vendor/github.com/docker/docker/pkg/archive/example_changes.go -deleted file mode 100644 -index 495db809e9..0000000000 ---- a/vendor/github.com/docker/docker/pkg/archive/example_changes.go -+++ /dev/null -@@ -1,97 +0,0 @@ --// +build ignore -- --// Simple tool to create an archive stream from an old and new directory --// --// By default it will stream the comparison of two temporary directories with junk files --package main -- --import ( -- "flag" -- "fmt" -- "io" -- "io/ioutil" -- "os" -- "path" -- -- "github.com/docker/docker/pkg/archive" -- "github.com/sirupsen/logrus" --) -- --var ( -- flDebug = flag.Bool("D", false, "debugging output") -- flNewDir = flag.String("newdir", "", "") -- flOldDir = flag.String("olddir", "", "") -- log = logrus.New() --) -- --func main() { -- flag.Usage = func() { -- fmt.Println("Produce a tar from comparing two directory paths. By default a demo tar is created of around 200 files (including hardlinks)") -- fmt.Printf("%s [OPTIONS]\n", os.Args[0]) -- flag.PrintDefaults() -- } -- flag.Parse() -- log.Out = os.Stderr -- if (len(os.Getenv("DEBUG")) > 0) || *flDebug { -- logrus.SetLevel(logrus.DebugLevel) -- } -- var newDir, oldDir string -- -- if len(*flNewDir) == 0 { -- var err error -- newDir, err = ioutil.TempDir("", "docker-test-newDir") -- if err != nil { -- log.Fatal(err) -- } -- defer os.RemoveAll(newDir) -- if _, err := prepareUntarSourceDirectory(100, newDir, true); err != nil { -- log.Fatal(err) -- } -- } else { -- newDir = *flNewDir -- } -- -- if len(*flOldDir) == 0 { -- oldDir, err := ioutil.TempDir("", "docker-test-oldDir") -- if err != nil { -- log.Fatal(err) -- } -- defer os.RemoveAll(oldDir) -- } else { -- oldDir = *flOldDir -- } -- -- changes, err := archive.ChangesDirs(newDir, oldDir) -- if err != nil { -- log.Fatal(err) -- } -- -- a, err := archive.ExportChanges(newDir, changes) -- if err != nil { -- log.Fatal(err) -- } -- defer a.Close() -- -- i, err := io.Copy(os.Stdout, a) -- if err != nil && err != io.EOF { -- log.Fatal(err) -- } -- fmt.Fprintf(os.Stderr, "wrote archive of %d bytes", i) --} -- --func prepareUntarSourceDirectory(numberOfFiles int, targetPath string, makeLinks bool) (int, error) { -- fileData := []byte("fooo") -- for n := 0; n < numberOfFiles; n++ { -- fileName := fmt.Sprintf("file-%d", n) -- if err := ioutil.WriteFile(path.Join(targetPath, fileName), fileData, 0700); err != nil { -- return 0, err -- } -- if makeLinks { -- if err := os.Link(path.Join(targetPath, fileName), path.Join(targetPath, fileName+"-link")); err != nil { -- return 0, err -- } -- } -- } -- totalSize := numberOfFiles * len(fileData) -- return totalSize, nil --} -diff --git a/vendor/github.com/klauspost/compress/flate/gen.go b/vendor/github.com/klauspost/compress/flate/gen.go -deleted file mode 100644 -index 154c89a488..0000000000 ---- a/vendor/github.com/klauspost/compress/flate/gen.go -+++ /dev/null -@@ -1,265 +0,0 @@ --// 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 ignore -- --// This program generates fixedhuff.go --// Invoke as --// --// go run gen.go -output fixedhuff.go -- --package main -- --import ( -- "bytes" -- "flag" -- "fmt" -- "go/format" -- "io/ioutil" -- "log" --) -- --var filename = flag.String("output", "fixedhuff.go", "output file name") -- --const maxCodeLen = 16 -- --// Note: the definition of the huffmanDecoder struct is copied from --// inflate.go, as it is private to the implementation. -- --// chunk & 15 is number of bits --// chunk >> 4 is value, including table link -- --const ( -- huffmanChunkBits = 9 -- huffmanNumChunks = 1 << huffmanChunkBits -- huffmanCountMask = 15 -- huffmanValueShift = 4 --) -- --type huffmanDecoder struct { -- min int // the minimum code length -- chunks [huffmanNumChunks]uint32 // chunks as described above -- links [][]uint32 // overflow links -- linkMask uint32 // mask the width of the link table --} -- --// Initialize Huffman decoding tables from array of code lengths. --// Following this function, h is guaranteed to be initialized into a complete --// tree (i.e., neither over-subscribed nor under-subscribed). The exception is a --// degenerate case where the tree has only a single symbol with length 1. Empty --// trees are permitted. --func (h *huffmanDecoder) init(bits []int) bool { -- // Sanity enables additional runtime tests during Huffman -- // table construction. It's intended to be used during -- // development to supplement the currently ad-hoc unit tests. -- const sanity = false -- -- if h.min != 0 { -- *h = huffmanDecoder{} -- } -- -- // Count number of codes of each length, -- // compute min and max length. -- var count [maxCodeLen]int -- var min, max int -- for _, n := range bits { -- if n == 0 { -- continue -- } -- if min == 0 || n < min { -- min = n -- } -- if n > max { -- max = n -- } -- count[n]++ -- } -- -- // Empty tree. The decompressor.huffSym function will fail later if the tree -- // is used. Technically, an empty tree is only valid for the HDIST tree and -- // not the HCLEN and HLIT tree. However, a stream with an empty HCLEN tree -- // is guaranteed to fail since it will attempt to use the tree to decode the -- // codes for the HLIT and HDIST trees. Similarly, an empty HLIT tree is -- // guaranteed to fail later since the compressed data section must be -- // composed of at least one symbol (the end-of-block marker). -- if max == 0 { -- return true -- } -- -- code := 0 -- var nextcode [maxCodeLen]int -- for i := min; i <= max; i++ { -- code <<= 1 -- nextcode[i] = code -- code += count[i] -- } -- -- // Check that the coding is complete (i.e., that we've -- // assigned all 2-to-the-max possible bit sequences). -- // Exception: To be compatible with zlib, we also need to -- // accept degenerate single-code codings. See also -- // TestDegenerateHuffmanCoding. -- if code != 1< huffmanChunkBits { -- numLinks := 1 << (uint(max) - huffmanChunkBits) -- h.linkMask = uint32(numLinks - 1) -- -- // create link tables -- link := nextcode[huffmanChunkBits+1] >> 1 -- h.links = make([][]uint32, huffmanNumChunks-link) -- for j := uint(link); j < huffmanNumChunks; j++ { -- reverse := int(reverseByte[j>>8]) | int(reverseByte[j&0xff])<<8 -- reverse >>= uint(16 - huffmanChunkBits) -- off := j - uint(link) -- if sanity && h.chunks[reverse] != 0 { -- panic("impossible: overwriting existing chunk") -- } -- h.chunks[reverse] = uint32(off<>8]) | int(reverseByte[code&0xff])<<8 -- reverse >>= uint(16 - n) -- if n <= huffmanChunkBits { -- for off := reverse; off < len(h.chunks); off += 1 << uint(n) { -- // We should never need to overwrite -- // an existing chunk. Also, 0 is -- // never a valid chunk, because the -- // lower 4 "count" bits should be -- // between 1 and 15. -- if sanity && h.chunks[off] != 0 { -- panic("impossible: overwriting existing chunk") -- } -- h.chunks[off] = chunk -- } -- } else { -- j := reverse & (huffmanNumChunks - 1) -- if sanity && h.chunks[j]&huffmanCountMask != huffmanChunkBits+1 { -- // Longer codes should have been -- // associated with a link table above. -- panic("impossible: not an indirect chunk") -- } -- value := h.chunks[j] >> huffmanValueShift -- linktab := h.links[value] -- reverse >>= huffmanChunkBits -- for off := reverse; off < len(linktab); off += 1 << uint(n-huffmanChunkBits) { -- if sanity && linktab[off] != 0 { -- panic("impossible: overwriting existing chunk") -- } -- linktab[off] = chunk -- } -- } -- } -- -- if sanity { -- // Above we've sanity checked that we never overwrote -- // an existing entry. Here we additionally check that -- // we filled the tables completely. -- for i, chunk := range h.chunks { -- if chunk == 0 { -- // As an exception, in the degenerate -- // single-code case, we allow odd -- // chunks to be missing. -- if code == 1 && i%2 == 1 { -- continue -- } -- panic("impossible: missing chunk") -- } -- } -- for _, linktab := range h.links { -- for _, chunk := range linktab { -- if chunk == 0 { -- panic("impossible: missing chunk") -- } -- } -- } -- } -- -- return true --} -- --func main() { -- flag.Parse() -- -- var h huffmanDecoder -- var bits [288]int -- initReverseByte() -- for i := 0; i < 144; i++ { -- bits[i] = 8 -- } -- for i := 144; i < 256; i++ { -- bits[i] = 9 -- } -- for i := 256; i < 280; i++ { -- bits[i] = 7 -- } -- for i := 280; i < 288; i++ { -- bits[i] = 8 -- } -- h.init(bits[:]) -- if h.links != nil { -- log.Fatal("Unexpected links table in fixed Huffman decoder") -- } -- -- var buf bytes.Buffer -- -- fmt.Fprintf(&buf, `// 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.`+"\n\n") -- -- fmt.Fprintln(&buf, "package flate") -- fmt.Fprintln(&buf) -- fmt.Fprintln(&buf, "// autogenerated by go run gen.go -output fixedhuff.go, DO NOT EDIT") -- fmt.Fprintln(&buf) -- fmt.Fprintln(&buf, "var fixedHuffmanDecoder = huffmanDecoder{") -- fmt.Fprintf(&buf, "\t%d,\n", h.min) -- fmt.Fprintln(&buf, "\t[huffmanNumChunks]uint32{") -- for i := 0; i < huffmanNumChunks; i++ { -- if i&7 == 0 { -- fmt.Fprintf(&buf, "\t\t") -- } else { -- fmt.Fprintf(&buf, " ") -- } -- fmt.Fprintf(&buf, "0x%04x,", h.chunks[i]) -- if i&7 == 7 { -- fmt.Fprintln(&buf) -- } -- } -- fmt.Fprintln(&buf, "\t},") -- fmt.Fprintln(&buf, "\tnil, 0,") -- fmt.Fprintln(&buf, "}") -- -- data, err := format.Source(buf.Bytes()) -- if err != nil { -- log.Fatal(err) -- } -- err = ioutil.WriteFile(*filename, data, 0644) -- if err != nil { -- log.Fatal(err) -- } --} -- --var reverseByte [256]byte -- --func initReverseByte() { -- for x := 0; x < 256; x++ { -- var result byte -- for i := uint(0); i < 8; i++ { -- result |= byte(((x >> i) & 1) << (7 - i)) -- } -- reverseByte[x] = result -- } --} -diff --git a/vendor/github.com/klauspost/cpuid/private-gen.go b/vendor/github.com/klauspost/cpuid/private-gen.go -deleted file mode 100644 -index 437333d292..0000000000 ---- a/vendor/github.com/klauspost/cpuid/private-gen.go -+++ /dev/null -@@ -1,476 +0,0 @@ --// +build ignore -- --package main -- --import ( -- "bytes" -- "fmt" -- "go/ast" -- "go/parser" -- "go/printer" -- "go/token" -- "io" -- "io/ioutil" -- "log" -- "os" -- "reflect" -- "strings" -- "unicode" -- "unicode/utf8" --) -- --var inFiles = []string{"cpuid.go", "cpuid_test.go"} --var copyFiles = []string{"cpuid_amd64.s", "cpuid_386.s", "detect_ref.go", "detect_intel.go"} --var fileSet = token.NewFileSet() --var reWrites = []rewrite{ -- initRewrite("CPUInfo -> cpuInfo"), -- initRewrite("Vendor -> vendor"), -- initRewrite("Flags -> flags"), -- initRewrite("Detect -> detect"), -- initRewrite("CPU -> cpu"), --} --var excludeNames = map[string]bool{"string": true, "join": true, "trim": true, -- // cpuid_test.go -- "t": true, "println": true, "logf": true, "log": true, "fatalf": true, "fatal": true, --} -- --var excludePrefixes = []string{"test", "benchmark"} -- --func main() { -- Package := "private" -- parserMode := parser.ParseComments -- exported := make(map[string]rewrite) -- for _, file := range inFiles { -- in, err := os.Open(file) -- if err != nil { -- log.Fatalf("opening input", err) -- } -- -- src, err := ioutil.ReadAll(in) -- if err != nil { -- log.Fatalf("reading input", err) -- } -- -- astfile, err := parser.ParseFile(fileSet, file, src, parserMode) -- if err != nil { -- log.Fatalf("parsing input", err) -- } -- -- for _, rw := range reWrites { -- astfile = rw(astfile) -- } -- -- // Inspect the AST and print all identifiers and literals. -- var startDecl token.Pos -- var endDecl token.Pos -- ast.Inspect(astfile, func(n ast.Node) bool { -- var s string -- switch x := n.(type) { -- case *ast.Ident: -- if x.IsExported() { -- t := strings.ToLower(x.Name) -- for _, pre := range excludePrefixes { -- if strings.HasPrefix(t, pre) { -- return true -- } -- } -- if excludeNames[t] != true { -- //if x.Pos() > startDecl && x.Pos() < endDecl { -- exported[x.Name] = initRewrite(x.Name + " -> " + t) -- } -- } -- -- case *ast.GenDecl: -- if x.Tok == token.CONST && x.Lparen > 0 { -- startDecl = x.Lparen -- endDecl = x.Rparen -- // fmt.Printf("Decl:%s -> %s\n", fileSet.Position(startDecl), fileSet.Position(endDecl)) -- } -- } -- if s != "" { -- fmt.Printf("%s:\t%s\n", fileSet.Position(n.Pos()), s) -- } -- return true -- }) -- -- for _, rw := range exported { -- astfile = rw(astfile) -- } -- -- var buf bytes.Buffer -- -- printer.Fprint(&buf, fileSet, astfile) -- -- // Remove package documentation and insert information -- s := buf.String() -- ind := strings.Index(buf.String(), "\npackage cpuid") -- s = s[ind:] -- s = "// Generated, DO NOT EDIT,\n" + -- "// but copy it to your own project and rename the package.\n" + -- "// See more at http://github.com/klauspost/cpuid\n" + -- s -- -- outputName := Package + string(os.PathSeparator) + file -- -- err = ioutil.WriteFile(outputName, []byte(s), 0644) -- if err != nil { -- log.Fatalf("writing output: %s", err) -- } -- log.Println("Generated", outputName) -- } -- -- for _, file := range copyFiles { -- dst := "" -- if strings.HasPrefix(file, "cpuid") { -- dst = Package + string(os.PathSeparator) + file -- } else { -- dst = Package + string(os.PathSeparator) + "cpuid_" + file -- } -- err := copyFile(file, dst) -- if err != nil { -- log.Fatalf("copying file: %s", err) -- } -- log.Println("Copied", dst) -- } --} -- --// CopyFile copies a file from src to dst. If src and dst files exist, and are --// the same, then return success. Copy the file contents from src to dst. --func copyFile(src, dst string) (err error) { -- sfi, err := os.Stat(src) -- if err != nil { -- return -- } -- if !sfi.Mode().IsRegular() { -- // cannot copy non-regular files (e.g., directories, -- // symlinks, devices, etc.) -- return fmt.Errorf("CopyFile: non-regular source file %s (%q)", sfi.Name(), sfi.Mode().String()) -- } -- dfi, err := os.Stat(dst) -- if err != nil { -- if !os.IsNotExist(err) { -- return -- } -- } else { -- if !(dfi.Mode().IsRegular()) { -- return fmt.Errorf("CopyFile: non-regular destination file %s (%q)", dfi.Name(), dfi.Mode().String()) -- } -- if os.SameFile(sfi, dfi) { -- return -- } -- } -- err = copyFileContents(src, dst) -- return --} -- --// copyFileContents copies the contents of the file named src to the file named --// by dst. The file will be created if it does not already exist. If the --// destination file exists, all it's contents will be replaced by the contents --// of the source file. --func copyFileContents(src, dst string) (err error) { -- in, err := os.Open(src) -- if err != nil { -- return -- } -- defer in.Close() -- out, err := os.Create(dst) -- if err != nil { -- return -- } -- defer func() { -- cerr := out.Close() -- if err == nil { -- err = cerr -- } -- }() -- if _, err = io.Copy(out, in); err != nil { -- return -- } -- err = out.Sync() -- return --} -- --type rewrite func(*ast.File) *ast.File -- --// Mostly copied from gofmt --func initRewrite(rewriteRule string) rewrite { -- f := strings.Split(rewriteRule, "->") -- if len(f) != 2 { -- fmt.Fprintf(os.Stderr, "rewrite rule must be of the form 'pattern -> replacement'\n") -- os.Exit(2) -- } -- pattern := parseExpr(f[0], "pattern") -- replace := parseExpr(f[1], "replacement") -- return func(p *ast.File) *ast.File { return rewriteFile(pattern, replace, p) } --} -- --// parseExpr parses s as an expression. --// It might make sense to expand this to allow statement patterns, --// but there are problems with preserving formatting and also --// with what a wildcard for a statement looks like. --func parseExpr(s, what string) ast.Expr { -- x, err := parser.ParseExpr(s) -- if err != nil { -- fmt.Fprintf(os.Stderr, "parsing %s %s at %s\n", what, s, err) -- os.Exit(2) -- } -- return x --} -- --// Keep this function for debugging. --/* --func dump(msg string, val reflect.Value) { -- fmt.Printf("%s:\n", msg) -- ast.Print(fileSet, val.Interface()) -- fmt.Println() --} --*/ -- --// rewriteFile applies the rewrite rule 'pattern -> replace' to an entire file. --func rewriteFile(pattern, replace ast.Expr, p *ast.File) *ast.File { -- cmap := ast.NewCommentMap(fileSet, p, p.Comments) -- m := make(map[string]reflect.Value) -- pat := reflect.ValueOf(pattern) -- repl := reflect.ValueOf(replace) -- -- var rewriteVal func(val reflect.Value) reflect.Value -- rewriteVal = func(val reflect.Value) reflect.Value { -- // don't bother if val is invalid to start with -- if !val.IsValid() { -- return reflect.Value{} -- } -- for k := range m { -- delete(m, k) -- } -- val = apply(rewriteVal, val) -- if match(m, pat, val) { -- val = subst(m, repl, reflect.ValueOf(val.Interface().(ast.Node).Pos())) -- } -- return val -- } -- -- r := apply(rewriteVal, reflect.ValueOf(p)).Interface().(*ast.File) -- r.Comments = cmap.Filter(r).Comments() // recreate comments list -- return r --} -- --// set is a wrapper for x.Set(y); it protects the caller from panics if x cannot be changed to y. --func set(x, y reflect.Value) { -- // don't bother if x cannot be set or y is invalid -- if !x.CanSet() || !y.IsValid() { -- return -- } -- defer func() { -- if x := recover(); x != nil { -- if s, ok := x.(string); ok && -- (strings.Contains(s, "type mismatch") || strings.Contains(s, "not assignable")) { -- // x cannot be set to y - ignore this rewrite -- return -- } -- panic(x) -- } -- }() -- x.Set(y) --} -- --// Values/types for special cases. --var ( -- objectPtrNil = reflect.ValueOf((*ast.Object)(nil)) -- scopePtrNil = reflect.ValueOf((*ast.Scope)(nil)) -- -- identType = reflect.TypeOf((*ast.Ident)(nil)) -- objectPtrType = reflect.TypeOf((*ast.Object)(nil)) -- positionType = reflect.TypeOf(token.NoPos) -- callExprType = reflect.TypeOf((*ast.CallExpr)(nil)) -- scopePtrType = reflect.TypeOf((*ast.Scope)(nil)) --) -- --// apply replaces each AST field x in val with f(x), returning val. --// To avoid extra conversions, f operates on the reflect.Value form. --func apply(f func(reflect.Value) reflect.Value, val reflect.Value) reflect.Value { -- if !val.IsValid() { -- return reflect.Value{} -- } -- -- // *ast.Objects introduce cycles and are likely incorrect after -- // rewrite; don't follow them but replace with nil instead -- if val.Type() == objectPtrType { -- return objectPtrNil -- } -- -- // similarly for scopes: they are likely incorrect after a rewrite; -- // replace them with nil -- if val.Type() == scopePtrType { -- return scopePtrNil -- } -- -- switch v := reflect.Indirect(val); v.Kind() { -- case reflect.Slice: -- for i := 0; i < v.Len(); i++ { -- e := v.Index(i) -- set(e, f(e)) -- } -- case reflect.Struct: -- for i := 0; i < v.NumField(); i++ { -- e := v.Field(i) -- set(e, f(e)) -- } -- case reflect.Interface: -- e := v.Elem() -- set(v, f(e)) -- } -- return val --} -- --func isWildcard(s string) bool { -- rune, size := utf8.DecodeRuneInString(s) -- return size == len(s) && unicode.IsLower(rune) --} -- --// match returns true if pattern matches val, --// recording wildcard submatches in m. --// If m == nil, match checks whether pattern == val. --func match(m map[string]reflect.Value, pattern, val reflect.Value) bool { -- // Wildcard matches any expression. If it appears multiple -- // times in the pattern, it must match the same expression -- // each time. -- if m != nil && pattern.IsValid() && pattern.Type() == identType { -- name := pattern.Interface().(*ast.Ident).Name -- if isWildcard(name) && val.IsValid() { -- // wildcards only match valid (non-nil) expressions. -- if _, ok := val.Interface().(ast.Expr); ok && !val.IsNil() { -- if old, ok := m[name]; ok { -- return match(nil, old, val) -- } -- m[name] = val -- return true -- } -- } -- } -- -- // Otherwise, pattern and val must match recursively. -- if !pattern.IsValid() || !val.IsValid() { -- return !pattern.IsValid() && !val.IsValid() -- } -- if pattern.Type() != val.Type() { -- return false -- } -- -- // Special cases. -- switch pattern.Type() { -- case identType: -- // For identifiers, only the names need to match -- // (and none of the other *ast.Object information). -- // This is a common case, handle it all here instead -- // of recursing down any further via reflection. -- p := pattern.Interface().(*ast.Ident) -- v := val.Interface().(*ast.Ident) -- return p == nil && v == nil || p != nil && v != nil && p.Name == v.Name -- case objectPtrType, positionType: -- // object pointers and token positions always match -- return true -- case callExprType: -- // For calls, the Ellipsis fields (token.Position) must -- // match since that is how f(x) and f(x...) are different. -- // Check them here but fall through for the remaining fields. -- p := pattern.Interface().(*ast.CallExpr) -- v := val.Interface().(*ast.CallExpr) -- if p.Ellipsis.IsValid() != v.Ellipsis.IsValid() { -- return false -- } -- } -- -- p := reflect.Indirect(pattern) -- v := reflect.Indirect(val) -- if !p.IsValid() || !v.IsValid() { -- return !p.IsValid() && !v.IsValid() -- } -- -- switch p.Kind() { -- case reflect.Slice: -- if p.Len() != v.Len() { -- return false -- } -- for i := 0; i < p.Len(); i++ { -- if !match(m, p.Index(i), v.Index(i)) { -- return false -- } -- } -- return true -- -- case reflect.Struct: -- for i := 0; i < p.NumField(); i++ { -- if !match(m, p.Field(i), v.Field(i)) { -- return false -- } -- } -- return true -- -- case reflect.Interface: -- return match(m, p.Elem(), v.Elem()) -- } -- -- // Handle token integers, etc. -- return p.Interface() == v.Interface() --} -- --// subst returns a copy of pattern with values from m substituted in place --// of wildcards and pos used as the position of tokens from the pattern. --// if m == nil, subst returns a copy of pattern and doesn't change the line --// number information. --func subst(m map[string]reflect.Value, pattern reflect.Value, pos reflect.Value) reflect.Value { -- if !pattern.IsValid() { -- return reflect.Value{} -- } -- -- // Wildcard gets replaced with map value. -- if m != nil && pattern.Type() == identType { -- name := pattern.Interface().(*ast.Ident).Name -- if isWildcard(name) { -- if old, ok := m[name]; ok { -- return subst(nil, old, reflect.Value{}) -- } -- } -- } -- -- if pos.IsValid() && pattern.Type() == positionType { -- // use new position only if old position was valid in the first place -- if old := pattern.Interface().(token.Pos); !old.IsValid() { -- return pattern -- } -- return pos -- } -- -- // Otherwise copy. -- switch p := pattern; p.Kind() { -- case reflect.Slice: -- v := reflect.MakeSlice(p.Type(), p.Len(), p.Len()) -- for i := 0; i < p.Len(); i++ { -- v.Index(i).Set(subst(m, p.Index(i), pos)) -- } -- return v -- -- case reflect.Struct: -- v := reflect.New(p.Type()).Elem() -- for i := 0; i < p.NumField(); i++ { -- v.Field(i).Set(subst(m, p.Field(i), pos)) -- } -- return v -- -- case reflect.Ptr: -- v := reflect.New(p.Type()).Elem() -- if elem := p.Elem(); elem.IsValid() { -- v.Set(subst(m, elem, pos).Addr()) -- } -- return v -- -- case reflect.Interface: -- v := reflect.New(p.Type()).Elem() -- if elem := p.Elem(); elem.IsValid() { -- v.Set(subst(m, elem, pos)) -- } -- return v -- } -- -- return pattern --} -diff --git a/vendor/github.com/ulikunitz/xz/example.go b/vendor/github.com/ulikunitz/xz/example.go -deleted file mode 100644 -index 855e60aee5..0000000000 ---- a/vendor/github.com/ulikunitz/xz/example.go -+++ /dev/null -@@ -1,40 +0,0 @@ --// Copyright 2014-2017 Ulrich Kunitz. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --import ( -- "bytes" -- "io" -- "log" -- "os" -- -- "github.com/ulikunitz/xz" --) -- --func main() { -- const text = "The quick brown fox jumps over the lazy dog.\n" -- var buf bytes.Buffer -- // compress text -- w, err := xz.NewWriter(&buf) -- if err != nil { -- log.Fatalf("xz.NewWriter error %s", err) -- } -- if _, err := io.WriteString(w, text); err != nil { -- log.Fatalf("WriteString error %s", err) -- } -- if err := w.Close(); err != nil { -- log.Fatalf("w.Close error %s", err) -- } -- // decompress buffer and write output to stdout -- r, err := xz.NewReader(&buf) -- if err != nil { -- log.Fatalf("NewReader error %s", err) -- } -- if _, err = io.Copy(os.Stdout, r); err != nil { -- log.Fatalf("io.Copy error %s", err) -- } --} -diff --git a/vendor/golang.org/x/net/html/atom/gen.go b/vendor/golang.org/x/net/html/atom/gen.go -deleted file mode 100644 -index 5d052781bc..0000000000 ---- a/vendor/golang.org/x/net/html/atom/gen.go -+++ /dev/null -@@ -1,712 +0,0 @@ --// 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 ignore -- --//go:generate go run gen.go --//go:generate go run gen.go -test -- --package main -- --import ( -- "bytes" -- "flag" -- "fmt" -- "go/format" -- "io/ioutil" -- "math/rand" -- "os" -- "sort" -- "strings" --) -- --// identifier converts s to a Go exported identifier. --// It converts "div" to "Div" and "accept-charset" to "AcceptCharset". --func identifier(s string) string { -- b := make([]byte, 0, len(s)) -- cap := true -- for _, c := range s { -- if c == '-' { -- cap = true -- continue -- } -- if cap && 'a' <= c && c <= 'z' { -- c -= 'a' - 'A' -- } -- cap = false -- b = append(b, byte(c)) -- } -- return string(b) --} -- --var test = flag.Bool("test", false, "generate table_test.go") -- --func genFile(name string, buf *bytes.Buffer) { -- b, err := format.Source(buf.Bytes()) -- if err != nil { -- fmt.Fprintln(os.Stderr, err) -- os.Exit(1) -- } -- if err := ioutil.WriteFile(name, b, 0644); err != nil { -- fmt.Fprintln(os.Stderr, err) -- os.Exit(1) -- } --} -- --func main() { -- flag.Parse() -- -- var all []string -- all = append(all, elements...) -- all = append(all, attributes...) -- all = append(all, eventHandlers...) -- all = append(all, extra...) -- sort.Strings(all) -- -- // uniq - lists have dups -- w := 0 -- for _, s := range all { -- if w == 0 || all[w-1] != s { -- all[w] = s -- w++ -- } -- } -- all = all[:w] -- -- if *test { -- var buf bytes.Buffer -- fmt.Fprintln(&buf, "// Code generated by go generate gen.go; DO NOT EDIT.\n") -- fmt.Fprintln(&buf, "//go:generate go run gen.go -test\n") -- fmt.Fprintln(&buf, "package atom\n") -- fmt.Fprintln(&buf, "var testAtomList = []string{") -- for _, s := range all { -- fmt.Fprintf(&buf, "\t%q,\n", s) -- } -- fmt.Fprintln(&buf, "}") -- -- genFile("table_test.go", &buf) -- return -- } -- -- // Find hash that minimizes table size. -- var best *table -- for i := 0; i < 1000000; i++ { -- if best != nil && 1<<(best.k-1) < len(all) { -- break -- } -- h := rand.Uint32() -- for k := uint(0); k <= 16; k++ { -- if best != nil && k >= best.k { -- break -- } -- var t table -- if t.init(h, k, all) { -- best = &t -- break -- } -- } -- } -- if best == nil { -- fmt.Fprintf(os.Stderr, "failed to construct string table\n") -- os.Exit(1) -- } -- -- // Lay out strings, using overlaps when possible. -- layout := append([]string{}, all...) -- -- // Remove strings that are substrings of other strings -- for changed := true; changed; { -- changed = false -- for i, s := range layout { -- if s == "" { -- continue -- } -- for j, t := range layout { -- if i != j && t != "" && strings.Contains(s, t) { -- changed = true -- layout[j] = "" -- } -- } -- } -- } -- -- // Join strings where one suffix matches another prefix. -- for { -- // Find best i, j, k such that layout[i][len-k:] == layout[j][:k], -- // maximizing overlap length k. -- besti := -1 -- bestj := -1 -- bestk := 0 -- for i, s := range layout { -- if s == "" { -- continue -- } -- for j, t := range layout { -- if i == j { -- continue -- } -- for k := bestk + 1; k <= len(s) && k <= len(t); k++ { -- if s[len(s)-k:] == t[:k] { -- besti = i -- bestj = j -- bestk = k -- } -- } -- } -- } -- if bestk > 0 { -- layout[besti] += layout[bestj][bestk:] -- layout[bestj] = "" -- continue -- } -- break -- } -- -- text := strings.Join(layout, "") -- -- atom := map[string]uint32{} -- for _, s := range all { -- off := strings.Index(text, s) -- if off < 0 { -- panic("lost string " + s) -- } -- atom[s] = uint32(off<<8 | len(s)) -- } -- -- var buf bytes.Buffer -- // Generate the Go code. -- fmt.Fprintln(&buf, "// Code generated by go generate gen.go; DO NOT EDIT.\n") -- fmt.Fprintln(&buf, "//go:generate go run gen.go\n") -- fmt.Fprintln(&buf, "package atom\n\nconst (") -- -- // compute max len -- maxLen := 0 -- for _, s := range all { -- if maxLen < len(s) { -- maxLen = len(s) -- } -- fmt.Fprintf(&buf, "\t%s Atom = %#x\n", identifier(s), atom[s]) -- } -- fmt.Fprintln(&buf, ")\n") -- -- fmt.Fprintf(&buf, "const hash0 = %#x\n\n", best.h0) -- fmt.Fprintf(&buf, "const maxAtomLen = %d\n\n", maxLen) -- -- fmt.Fprintf(&buf, "var table = [1<<%d]Atom{\n", best.k) -- for i, s := range best.tab { -- if s == "" { -- continue -- } -- fmt.Fprintf(&buf, "\t%#x: %#x, // %s\n", i, atom[s], s) -- } -- fmt.Fprintf(&buf, "}\n") -- datasize := (1 << best.k) * 4 -- -- fmt.Fprintln(&buf, "const atomText =") -- textsize := len(text) -- for len(text) > 60 { -- fmt.Fprintf(&buf, "\t%q +\n", text[:60]) -- text = text[60:] -- } -- fmt.Fprintf(&buf, "\t%q\n\n", text) -- -- genFile("table.go", &buf) -- -- fmt.Fprintf(os.Stdout, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize) --} -- --type byLen []string -- --func (x byLen) Less(i, j int) bool { return len(x[i]) > len(x[j]) } --func (x byLen) Swap(i, j int) { x[i], x[j] = x[j], x[i] } --func (x byLen) Len() int { return len(x) } -- --// fnv computes the FNV hash with an arbitrary starting value h. --func fnv(h uint32, s string) uint32 { -- for i := 0; i < len(s); i++ { -- h ^= uint32(s[i]) -- h *= 16777619 -- } -- return h --} -- --// A table represents an attempt at constructing the lookup table. --// The lookup table uses cuckoo hashing, meaning that each string --// can be found in one of two positions. --type table struct { -- h0 uint32 -- k uint -- mask uint32 -- tab []string --} -- --// hash returns the two hashes for s. --func (t *table) hash(s string) (h1, h2 uint32) { -- h := fnv(t.h0, s) -- h1 = h & t.mask -- h2 = (h >> 16) & t.mask -- return --} -- --// init initializes the table with the given parameters. --// h0 is the initial hash value, --// k is the number of bits of hash value to use, and --// x is the list of strings to store in the table. --// init returns false if the table cannot be constructed. --func (t *table) init(h0 uint32, k uint, x []string) bool { -- t.h0 = h0 -- t.k = k -- t.tab = make([]string, 1< len(t.tab) { -- return false -- } -- s := t.tab[i] -- h1, h2 := t.hash(s) -- j := h1 + h2 - i -- if t.tab[j] != "" && !t.push(j, depth+1) { -- return false -- } -- t.tab[j] = s -- return true --} -- --// The lists of element names and attribute keys were taken from --// https://html.spec.whatwg.org/multipage/indices.html#index --// as of the "HTML Living Standard - Last Updated 16 April 2018" version. -- --// "command", "keygen" and "menuitem" have been removed from the spec, --// but are kept here for backwards compatibility. --var elements = []string{ -- "a", -- "abbr", -- "address", -- "area", -- "article", -- "aside", -- "audio", -- "b", -- "base", -- "bdi", -- "bdo", -- "blockquote", -- "body", -- "br", -- "button", -- "canvas", -- "caption", -- "cite", -- "code", -- "col", -- "colgroup", -- "command", -- "data", -- "datalist", -- "dd", -- "del", -- "details", -- "dfn", -- "dialog", -- "div", -- "dl", -- "dt", -- "em", -- "embed", -- "fieldset", -- "figcaption", -- "figure", -- "footer", -- "form", -- "h1", -- "h2", -- "h3", -- "h4", -- "h5", -- "h6", -- "head", -- "header", -- "hgroup", -- "hr", -- "html", -- "i", -- "iframe", -- "img", -- "input", -- "ins", -- "kbd", -- "keygen", -- "label", -- "legend", -- "li", -- "link", -- "main", -- "map", -- "mark", -- "menu", -- "menuitem", -- "meta", -- "meter", -- "nav", -- "noscript", -- "object", -- "ol", -- "optgroup", -- "option", -- "output", -- "p", -- "param", -- "picture", -- "pre", -- "progress", -- "q", -- "rp", -- "rt", -- "ruby", -- "s", -- "samp", -- "script", -- "section", -- "select", -- "slot", -- "small", -- "source", -- "span", -- "strong", -- "style", -- "sub", -- "summary", -- "sup", -- "table", -- "tbody", -- "td", -- "template", -- "textarea", -- "tfoot", -- "th", -- "thead", -- "time", -- "title", -- "tr", -- "track", -- "u", -- "ul", -- "var", -- "video", -- "wbr", --} -- --// https://html.spec.whatwg.org/multipage/indices.html#attributes-3 --// --// "challenge", "command", "contextmenu", "dropzone", "icon", "keytype", "mediagroup", --// "radiogroup", "spellcheck", "scoped", "seamless", "sortable" and "sorted" have been removed from the spec, --// but are kept here for backwards compatibility. --var attributes = []string{ -- "abbr", -- "accept", -- "accept-charset", -- "accesskey", -- "action", -- "allowfullscreen", -- "allowpaymentrequest", -- "allowusermedia", -- "alt", -- "as", -- "async", -- "autocomplete", -- "autofocus", -- "autoplay", -- "challenge", -- "charset", -- "checked", -- "cite", -- "class", -- "color", -- "cols", -- "colspan", -- "command", -- "content", -- "contenteditable", -- "contextmenu", -- "controls", -- "coords", -- "crossorigin", -- "data", -- "datetime", -- "default", -- "defer", -- "dir", -- "dirname", -- "disabled", -- "download", -- "draggable", -- "dropzone", -- "enctype", -- "for", -- "form", -- "formaction", -- "formenctype", -- "formmethod", -- "formnovalidate", -- "formtarget", -- "headers", -- "height", -- "hidden", -- "high", -- "href", -- "hreflang", -- "http-equiv", -- "icon", -- "id", -- "inputmode", -- "integrity", -- "is", -- "ismap", -- "itemid", -- "itemprop", -- "itemref", -- "itemscope", -- "itemtype", -- "keytype", -- "kind", -- "label", -- "lang", -- "list", -- "loop", -- "low", -- "manifest", -- "max", -- "maxlength", -- "media", -- "mediagroup", -- "method", -- "min", -- "minlength", -- "multiple", -- "muted", -- "name", -- "nomodule", -- "nonce", -- "novalidate", -- "open", -- "optimum", -- "pattern", -- "ping", -- "placeholder", -- "playsinline", -- "poster", -- "preload", -- "radiogroup", -- "readonly", -- "referrerpolicy", -- "rel", -- "required", -- "reversed", -- "rows", -- "rowspan", -- "sandbox", -- "spellcheck", -- "scope", -- "scoped", -- "seamless", -- "selected", -- "shape", -- "size", -- "sizes", -- "sortable", -- "sorted", -- "slot", -- "span", -- "spellcheck", -- "src", -- "srcdoc", -- "srclang", -- "srcset", -- "start", -- "step", -- "style", -- "tabindex", -- "target", -- "title", -- "translate", -- "type", -- "typemustmatch", -- "updateviacache", -- "usemap", -- "value", -- "width", -- "workertype", -- "wrap", --} -- --// "onautocomplete", "onautocompleteerror", "onmousewheel", --// "onshow" and "onsort" have been removed from the spec, --// but are kept here for backwards compatibility. --var eventHandlers = []string{ -- "onabort", -- "onautocomplete", -- "onautocompleteerror", -- "onauxclick", -- "onafterprint", -- "onbeforeprint", -- "onbeforeunload", -- "onblur", -- "oncancel", -- "oncanplay", -- "oncanplaythrough", -- "onchange", -- "onclick", -- "onclose", -- "oncontextmenu", -- "oncopy", -- "oncuechange", -- "oncut", -- "ondblclick", -- "ondrag", -- "ondragend", -- "ondragenter", -- "ondragexit", -- "ondragleave", -- "ondragover", -- "ondragstart", -- "ondrop", -- "ondurationchange", -- "onemptied", -- "onended", -- "onerror", -- "onfocus", -- "onhashchange", -- "oninput", -- "oninvalid", -- "onkeydown", -- "onkeypress", -- "onkeyup", -- "onlanguagechange", -- "onload", -- "onloadeddata", -- "onloadedmetadata", -- "onloadend", -- "onloadstart", -- "onmessage", -- "onmessageerror", -- "onmousedown", -- "onmouseenter", -- "onmouseleave", -- "onmousemove", -- "onmouseout", -- "onmouseover", -- "onmouseup", -- "onmousewheel", -- "onwheel", -- "onoffline", -- "ononline", -- "onpagehide", -- "onpageshow", -- "onpaste", -- "onpause", -- "onplay", -- "onplaying", -- "onpopstate", -- "onprogress", -- "onratechange", -- "onreset", -- "onresize", -- "onrejectionhandled", -- "onscroll", -- "onsecuritypolicyviolation", -- "onseeked", -- "onseeking", -- "onselect", -- "onshow", -- "onsort", -- "onstalled", -- "onstorage", -- "onsubmit", -- "onsuspend", -- "ontimeupdate", -- "ontoggle", -- "onunhandledrejection", -- "onunload", -- "onvolumechange", -- "onwaiting", --} -- --// extra are ad-hoc values not covered by any of the lists above. --var extra = []string{ -- "acronym", -- "align", -- "annotation", -- "annotation-xml", -- "applet", -- "basefont", -- "bgsound", -- "big", -- "blink", -- "center", -- "color", -- "desc", -- "face", -- "font", -- "foreignObject", // HTML is case-insensitive, but SVG-embedded-in-HTML is case-sensitive. -- "foreignobject", -- "frame", -- "frameset", -- "image", -- "isindex", -- "listing", -- "malignmark", -- "marquee", -- "math", -- "mglyph", -- "mi", -- "mn", -- "mo", -- "ms", -- "mtext", -- "nobr", -- "noembed", -- "noframes", -- "plaintext", -- "prompt", -- "public", -- "rb", -- "rtc", -- "spacer", -- "strike", -- "svg", -- "system", -- "tt", -- "xmp", --} -diff --git a/vendor/golang.org/x/sys/unix/mkasm_darwin.go b/vendor/golang.org/x/sys/unix/mkasm_darwin.go -deleted file mode 100644 -index 4548b993db..0000000000 ---- a/vendor/golang.org/x/sys/unix/mkasm_darwin.go -+++ /dev/null -@@ -1,61 +0,0 @@ --// 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 -- --// mkasm_darwin.go generates assembly trampolines to call libSystem routines from Go. --//This program must be run after mksyscall.go. --package main -- --import ( -- "bytes" -- "fmt" -- "io/ioutil" -- "log" -- "os" -- "strings" --) -- --func main() { -- in1, err := ioutil.ReadFile("syscall_darwin.go") -- if err != nil { -- log.Fatalf("can't open syscall_darwin.go: %s", err) -- } -- arch := os.Args[1] -- in2, err := ioutil.ReadFile(fmt.Sprintf("syscall_darwin_%s.go", arch)) -- if err != nil { -- log.Fatalf("can't open syscall_darwin_%s.go: %s", arch, err) -- } -- in3, err := ioutil.ReadFile(fmt.Sprintf("zsyscall_darwin_%s.go", arch)) -- if err != nil { -- log.Fatalf("can't open zsyscall_darwin_%s.go: %s", arch, err) -- } -- in := string(in1) + string(in2) + string(in3) -- -- trampolines := map[string]bool{} -- -- var out bytes.Buffer -- -- fmt.Fprintf(&out, "// go run mkasm_darwin.go %s\n", strings.Join(os.Args[1:], " ")) -- fmt.Fprintf(&out, "// Code generated by the command above; DO NOT EDIT.\n") -- fmt.Fprintf(&out, "\n") -- fmt.Fprintf(&out, "// +build go1.12\n") -- fmt.Fprintf(&out, "\n") -- fmt.Fprintf(&out, "#include \"textflag.h\"\n") -- for _, line := range strings.Split(in, "\n") { -- if !strings.HasPrefix(line, "func ") || !strings.HasSuffix(line, "_trampoline()") { -- continue -- } -- fn := line[5 : len(line)-13] -- if !trampolines[fn] { -- trampolines[fn] = true -- fmt.Fprintf(&out, "TEXT ·%s_trampoline(SB),NOSPLIT,$0-0\n", fn) -- fmt.Fprintf(&out, "\tJMP\t%s(SB)\n", fn) -- } -- } -- err = ioutil.WriteFile(fmt.Sprintf("zsyscall_darwin_%s.s", arch), out.Bytes(), 0644) -- if err != nil { -- log.Fatalf("can't write zsyscall_darwin_%s.s: %s", arch, err) -- } --} -diff --git a/vendor/golang.org/x/sys/unix/mkpost.go b/vendor/golang.org/x/sys/unix/mkpost.go -deleted file mode 100644 -index eb4332059a..0000000000 ---- a/vendor/golang.org/x/sys/unix/mkpost.go -+++ /dev/null -@@ -1,122 +0,0 @@ --// 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 ignore -- --// mkpost processes the output of cgo -godefs to --// modify the generated types. It is used to clean up --// the sys API in an architecture specific manner. --// --// mkpost is run after cgo -godefs; see README.md. --package main -- --import ( -- "bytes" -- "fmt" -- "go/format" -- "io/ioutil" -- "log" -- "os" -- "regexp" --) -- --func main() { -- // Get the OS and architecture (using GOARCH_TARGET if it exists) -- goos := os.Getenv("GOOS") -- goarch := os.Getenv("GOARCH_TARGET") -- if goarch == "" { -- goarch = os.Getenv("GOARCH") -- } -- // Check that we are using the Docker-based build system if we should be. -- if goos == "linux" { -- if os.Getenv("GOLANG_SYS_BUILD") != "docker" { -- os.Stderr.WriteString("In the Docker-based build system, mkpost should not be called directly.\n") -- os.Stderr.WriteString("See README.md\n") -- os.Exit(1) -- } -- } -- -- b, err := ioutil.ReadAll(os.Stdin) -- if err != nil { -- log.Fatal(err) -- } -- -- if goos == "aix" { -- // Replace type of Atim, Mtim and Ctim by Timespec in Stat_t -- // to avoid having both StTimespec and Timespec. -- sttimespec := regexp.MustCompile(`_Ctype_struct_st_timespec`) -- b = sttimespec.ReplaceAll(b, []byte("Timespec")) -- } -- -- // Intentionally export __val fields in Fsid and Sigset_t -- valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__(bits|val)(\s+\S+\s+)}`) -- b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$4}")) -- -- // Intentionally export __fds_bits field in FdSet -- fdSetRegex := regexp.MustCompile(`type (FdSet) struct {(\s+)X__fds_bits(\s+\S+\s+)}`) -- b = fdSetRegex.ReplaceAll(b, []byte("type $1 struct {${2}Bits$3}")) -- -- // If we have empty Ptrace structs, we should delete them. Only s390x emits -- // nonempty Ptrace structs. -- ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`) -- b = ptraceRexexp.ReplaceAll(b, nil) -- -- // Replace the control_regs union with a blank identifier for now. -- controlRegsRegex := regexp.MustCompile(`(Control_regs)\s+\[0\]uint64`) -- b = controlRegsRegex.ReplaceAll(b, []byte("_ [0]uint64")) -- -- // Remove fields that are added by glibc -- // Note that this is unstable as the identifers are private. -- removeFieldsRegex := regexp.MustCompile(`X__glibc\S*`) -- b = removeFieldsRegex.ReplaceAll(b, []byte("_")) -- -- // Convert [65]int8 to [65]byte in Utsname members to simplify -- // conversion to string; see golang.org/issue/20753 -- convertUtsnameRegex := regexp.MustCompile(`((Sys|Node|Domain)name|Release|Version|Machine)(\s+)\[(\d+)\]u?int8`) -- b = convertUtsnameRegex.ReplaceAll(b, []byte("$1$3[$4]byte")) -- -- // Convert [1024]int8 to [1024]byte in Ptmget members -- convertPtmget := regexp.MustCompile(`([SC]n)(\s+)\[(\d+)\]u?int8`) -- b = convertPtmget.ReplaceAll(b, []byte("$1[$3]byte")) -- -- // Remove spare fields (e.g. in Statx_t) -- spareFieldsRegex := regexp.MustCompile(`X__spare\S*`) -- b = spareFieldsRegex.ReplaceAll(b, []byte("_")) -- -- // Remove cgo padding fields -- removePaddingFieldsRegex := regexp.MustCompile(`Pad_cgo_\d+`) -- b = removePaddingFieldsRegex.ReplaceAll(b, []byte("_")) -- -- // Remove padding, hidden, or unused fields -- removeFieldsRegex = regexp.MustCompile(`\b(X_\S+|Padding)`) -- b = removeFieldsRegex.ReplaceAll(b, []byte("_")) -- -- // Remove the first line of warning from cgo -- b = b[bytes.IndexByte(b, '\n')+1:] -- // Modify the command in the header to include: -- // mkpost, our own warning, and a build tag. -- replacement := fmt.Sprintf(`$1 | go run mkpost.go --// Code generated by the command above; see README.md. DO NOT EDIT. -- --// +build %s,%s`, goarch, goos) -- cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`) -- b = cgoCommandRegex.ReplaceAll(b, []byte(replacement)) -- -- // Rename Stat_t time fields -- if goos == "freebsd" && goarch == "386" { -- // Hide Stat_t.[AMCB]tim_ext fields -- renameStatTimeExtFieldsRegex := regexp.MustCompile(`[AMCB]tim_ext`) -- b = renameStatTimeExtFieldsRegex.ReplaceAll(b, []byte("_")) -- } -- renameStatTimeFieldsRegex := regexp.MustCompile(`([AMCB])(?:irth)?time?(?:spec)?\s+(Timespec|StTimespec)`) -- b = renameStatTimeFieldsRegex.ReplaceAll(b, []byte("${1}tim ${2}")) -- -- // gofmt -- b, err = format.Source(b) -- if err != nil { -- log.Fatal(err) -- } -- -- os.Stdout.Write(b) --} -diff --git a/vendor/golang.org/x/sys/unix/mksyscall.go b/vendor/golang.org/x/sys/unix/mksyscall.go -deleted file mode 100644 -index e4af9424e9..0000000000 ---- a/vendor/golang.org/x/sys/unix/mksyscall.go -+++ /dev/null -@@ -1,407 +0,0 @@ --// 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 -- --/* --This program reads a file containing function prototypes --(like syscall_darwin.go) and generates system call bodies. --The prototypes are marked by lines beginning with "//sys" --and read like func declarations if //sys is replaced by func, but: -- * The parameter lists must give a name for each argument. -- This includes return parameters. -- * The parameter lists must give a type for each argument: -- the (x, y, z int) shorthand is not allowed. -- * If the return parameter is an error number, it must be named errno. -- --A line beginning with //sysnb is like //sys, except that the --goroutine will not be suspended during the execution of the system --call. This must only be used for system calls which can never --block, as otherwise the system call could cause all goroutines to --hang. --*/ --package main -- --import ( -- "bufio" -- "flag" -- "fmt" -- "os" -- "regexp" -- "strings" --) -- --var ( -- b32 = flag.Bool("b32", false, "32bit big-endian") -- l32 = flag.Bool("l32", false, "32bit little-endian") -- plan9 = flag.Bool("plan9", false, "plan9") -- openbsd = flag.Bool("openbsd", false, "openbsd") -- netbsd = flag.Bool("netbsd", false, "netbsd") -- dragonfly = flag.Bool("dragonfly", false, "dragonfly") -- arm = flag.Bool("arm", false, "arm") // 64-bit value should use (even, odd)-pair -- tags = flag.String("tags", "", "build tags") -- filename = flag.String("output", "", "output file name (standard output if omitted)") --) -- --// cmdLine returns this programs's commandline arguments --func cmdLine() string { -- return "go run mksyscall.go " + strings.Join(os.Args[1:], " ") --} -- --// buildTags returns build tags --func buildTags() string { -- return *tags --} -- --// Param is function parameter --type Param struct { -- Name string -- Type string --} -- --// usage prints the program usage --func usage() { -- fmt.Fprintf(os.Stderr, "usage: go run mksyscall.go [-b32 | -l32] [-tags x,y] [file ...]\n") -- os.Exit(1) --} -- --// parseParamList parses parameter list and returns a slice of parameters --func parseParamList(list string) []string { -- list = strings.TrimSpace(list) -- if list == "" { -- return []string{} -- } -- return regexp.MustCompile(`\s*,\s*`).Split(list, -1) --} -- --// parseParam splits a parameter into name and type --func parseParam(p string) Param { -- ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) -- if ps == nil { -- fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) -- os.Exit(1) -- } -- return Param{ps[1], ps[2]} --} -- --func main() { -- // Get the OS and architecture (using GOARCH_TARGET if it exists) -- goos := os.Getenv("GOOS") -- if goos == "" { -- fmt.Fprintln(os.Stderr, "GOOS not defined in environment") -- os.Exit(1) -- } -- goarch := os.Getenv("GOARCH_TARGET") -- if goarch == "" { -- goarch = os.Getenv("GOARCH") -- } -- -- // Check that we are using the Docker-based build system if we should -- if goos == "linux" { -- if os.Getenv("GOLANG_SYS_BUILD") != "docker" { -- fmt.Fprintf(os.Stderr, "In the Docker-based build system, mksyscall should not be called directly.\n") -- fmt.Fprintf(os.Stderr, "See README.md\n") -- os.Exit(1) -- } -- } -- -- flag.Usage = usage -- flag.Parse() -- if len(flag.Args()) <= 0 { -- fmt.Fprintf(os.Stderr, "no files to parse provided\n") -- usage() -- } -- -- endianness := "" -- if *b32 { -- endianness = "big-endian" -- } else if *l32 { -- endianness = "little-endian" -- } -- -- libc := false -- if goos == "darwin" && strings.Contains(buildTags(), ",go1.12") { -- libc = true -- } -- trampolines := map[string]bool{} -- -- text := "" -- for _, path := range flag.Args() { -- file, err := os.Open(path) -- if err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- s := bufio.NewScanner(file) -- for s.Scan() { -- t := s.Text() -- t = strings.TrimSpace(t) -- t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) -- nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) -- if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { -- continue -- } -- -- // Line must be of the form -- // func Open(path string, mode int, perm int) (fd int, errno error) -- // Split into name, in params, out params. -- f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$`).FindStringSubmatch(t) -- if f == nil { -- fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) -- os.Exit(1) -- } -- funct, inps, outps, sysname := f[2], f[3], f[4], f[5] -- -- // ClockGettime doesn't have a syscall number on Darwin, only generate libc wrappers. -- if goos == "darwin" && !libc && funct == "ClockGettime" { -- continue -- } -- -- // Split argument lists on comma. -- in := parseParamList(inps) -- out := parseParamList(outps) -- -- // Try in vain to keep people from editing this file. -- // The theory is that they jump into the middle of the file -- // without reading the header. -- text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" -- -- // Go function header. -- outDecl := "" -- if len(out) > 0 { -- outDecl = fmt.Sprintf(" (%s)", strings.Join(out, ", ")) -- } -- text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outDecl) -- -- // Check if err return available -- errvar := "" -- for _, param := range out { -- p := parseParam(param) -- if p.Type == "error" { -- errvar = p.Name -- break -- } -- } -- -- // Prepare arguments to Syscall. -- var args []string -- n := 0 -- for _, param := range in { -- p := parseParam(param) -- if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { -- args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))") -- } else if p.Type == "string" && errvar != "" { -- text += fmt.Sprintf("\tvar _p%d *byte\n", n) -- text += fmt.Sprintf("\t_p%d, %s = BytePtrFromString(%s)\n", n, errvar, p.Name) -- text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) -- args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) -- n++ -- } else if p.Type == "string" { -- fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") -- text += fmt.Sprintf("\tvar _p%d *byte\n", n) -- text += fmt.Sprintf("\t_p%d, _ = BytePtrFromString(%s)\n", n, p.Name) -- args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) -- n++ -- } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { -- // Convert slice into pointer, length. -- // Have to be careful not to take address of &a[0] if len == 0: -- // pass dummy pointer in that case. -- // Used to pass nil, but some OSes or simulators reject write(fd, nil, 0). -- text += fmt.Sprintf("\tvar _p%d unsafe.Pointer\n", n) -- text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = unsafe.Pointer(&%s[0])\n\t}", p.Name, n, p.Name) -- text += fmt.Sprintf(" else {\n\t\t_p%d = unsafe.Pointer(&_zero)\n\t}\n", n) -- args = append(args, fmt.Sprintf("uintptr(_p%d)", n), fmt.Sprintf("uintptr(len(%s))", p.Name)) -- n++ -- } else if p.Type == "int64" && (*openbsd || *netbsd) { -- args = append(args, "0") -- if endianness == "big-endian" { -- args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) -- } else if endianness == "little-endian" { -- args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) -- } else { -- args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) -- } -- } else if p.Type == "int64" && *dragonfly { -- if regexp.MustCompile(`^(?i)extp(read|write)`).FindStringSubmatch(funct) == nil { -- args = append(args, "0") -- } -- if endianness == "big-endian" { -- args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) -- } else if endianness == "little-endian" { -- args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) -- } else { -- args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) -- } -- } else if (p.Type == "int64" || p.Type == "uint64") && endianness != "" { -- if len(args)%2 == 1 && *arm { -- // arm abi specifies 64-bit argument uses -- // (even, odd) pair -- args = append(args, "0") -- } -- if endianness == "big-endian" { -- args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) -- } else { -- args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) -- } -- } else { -- args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) -- } -- } -- -- // Determine which form to use; pad args with zeros. -- asm := "Syscall" -- if nonblock != nil { -- if errvar == "" && goos == "linux" { -- asm = "RawSyscallNoError" -- } else { -- asm = "RawSyscall" -- } -- } else { -- if errvar == "" && goos == "linux" { -- asm = "SyscallNoError" -- } -- } -- if len(args) <= 3 { -- for len(args) < 3 { -- args = append(args, "0") -- } -- } else if len(args) <= 6 { -- asm += "6" -- for len(args) < 6 { -- args = append(args, "0") -- } -- } else if len(args) <= 9 { -- asm += "9" -- for len(args) < 9 { -- args = append(args, "0") -- } -- } else { -- fmt.Fprintf(os.Stderr, "%s:%s too many arguments to system call\n", path, funct) -- } -- -- // System call number. -- if sysname == "" { -- sysname = "SYS_" + funct -- sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) -- sysname = strings.ToUpper(sysname) -- } -- -- var libcFn string -- if libc { -- asm = "syscall_" + strings.ToLower(asm[:1]) + asm[1:] // internal syscall call -- sysname = strings.TrimPrefix(sysname, "SYS_") // remove SYS_ -- sysname = strings.ToLower(sysname) // lowercase -- if sysname == "getdirentries64" { -- // Special case - libSystem name and -- // raw syscall name don't match. -- sysname = "__getdirentries64" -- } -- libcFn = sysname -- sysname = "funcPC(libc_" + sysname + "_trampoline)" -- } -- -- // Actual call. -- arglist := strings.Join(args, ", ") -- call := fmt.Sprintf("%s(%s, %s)", asm, sysname, arglist) -- -- // Assign return values. -- body := "" -- ret := []string{"_", "_", "_"} -- doErrno := false -- for i := 0; i < len(out); i++ { -- p := parseParam(out[i]) -- reg := "" -- if p.Name == "err" && !*plan9 { -- reg = "e1" -- ret[2] = reg -- doErrno = true -- } else if p.Name == "err" && *plan9 { -- ret[0] = "r0" -- ret[2] = "e1" -- break -- } else { -- reg = fmt.Sprintf("r%d", i) -- ret[i] = reg -- } -- if p.Type == "bool" { -- reg = fmt.Sprintf("%s != 0", reg) -- } -- if p.Type == "int64" && endianness != "" { -- // 64-bit number in r1:r0 or r0:r1. -- if i+2 > len(out) { -- fmt.Fprintf(os.Stderr, "%s:%s not enough registers for int64 return\n", path, funct) -- } -- if endianness == "big-endian" { -- reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1) -- } else { -- reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i) -- } -- ret[i] = fmt.Sprintf("r%d", i) -- ret[i+1] = fmt.Sprintf("r%d", i+1) -- } -- if reg != "e1" || *plan9 { -- body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) -- } -- } -- if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" { -- text += fmt.Sprintf("\t%s\n", call) -- } else { -- if errvar == "" && goos == "linux" { -- // raw syscall without error on Linux, see golang.org/issue/22924 -- text += fmt.Sprintf("\t%s, %s := %s\n", ret[0], ret[1], call) -- } else { -- text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call) -- } -- } -- text += body -- -- if *plan9 && ret[2] == "e1" { -- text += "\tif int32(r0) == -1 {\n" -- text += "\t\terr = e1\n" -- text += "\t}\n" -- } else if doErrno { -- text += "\tif e1 != 0 {\n" -- text += "\t\terr = errnoErr(e1)\n" -- text += "\t}\n" -- } -- text += "\treturn\n" -- text += "}\n\n" -- -- if libc && !trampolines[libcFn] { -- // some system calls share a trampoline, like read and readlen. -- trampolines[libcFn] = true -- // Declare assembly trampoline. -- text += fmt.Sprintf("func libc_%s_trampoline()\n", libcFn) -- // Assembly trampoline calls the libc_* function, which this magic -- // redirects to use the function from libSystem. -- text += fmt.Sprintf("//go:linkname libc_%s libc_%s\n", libcFn, libcFn) -- text += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"/usr/lib/libSystem.B.dylib\"\n", libcFn, libcFn) -- text += "\n" -- } -- } -- if err := s.Err(); err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- file.Close() -- } -- fmt.Printf(srcTemplate, cmdLine(), buildTags(), text) --} -- --const srcTemplate = `// %s --// Code generated by the command above; see README.md. DO NOT EDIT. -- --// +build %s -- --package unix -- --import ( -- "syscall" -- "unsafe" --) -- --var _ syscall.Errno -- --%s --` -diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go -deleted file mode 100644 -index 3be3cdfc3b..0000000000 ---- a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go -+++ /dev/null -@@ -1,415 +0,0 @@ --// 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 ignore -- --/* --This program reads a file containing function prototypes --(like syscall_aix.go) and generates system call bodies. --The prototypes are marked by lines beginning with "//sys" --and read like func declarations if //sys is replaced by func, but: -- * The parameter lists must give a name for each argument. -- This includes return parameters. -- * The parameter lists must give a type for each argument: -- the (x, y, z int) shorthand is not allowed. -- * If the return parameter is an error number, it must be named err. -- * If go func name needs to be different than its libc name, -- * or the function is not in libc, name could be specified -- * at the end, after "=" sign, like -- //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt --*/ --package main -- --import ( -- "bufio" -- "flag" -- "fmt" -- "os" -- "regexp" -- "strings" --) -- --var ( -- b32 = flag.Bool("b32", false, "32bit big-endian") -- l32 = flag.Bool("l32", false, "32bit little-endian") -- aix = flag.Bool("aix", false, "aix") -- tags = flag.String("tags", "", "build tags") --) -- --// cmdLine returns this programs's commandline arguments --func cmdLine() string { -- return "go run mksyscall_aix_ppc.go " + strings.Join(os.Args[1:], " ") --} -- --// buildTags returns build tags --func buildTags() string { -- return *tags --} -- --// Param is function parameter --type Param struct { -- Name string -- Type string --} -- --// usage prints the program usage --func usage() { -- fmt.Fprintf(os.Stderr, "usage: go run mksyscall_aix_ppc.go [-b32 | -l32] [-tags x,y] [file ...]\n") -- os.Exit(1) --} -- --// parseParamList parses parameter list and returns a slice of parameters --func parseParamList(list string) []string { -- list = strings.TrimSpace(list) -- if list == "" { -- return []string{} -- } -- return regexp.MustCompile(`\s*,\s*`).Split(list, -1) --} -- --// parseParam splits a parameter into name and type --func parseParam(p string) Param { -- ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) -- if ps == nil { -- fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) -- os.Exit(1) -- } -- return Param{ps[1], ps[2]} --} -- --func main() { -- flag.Usage = usage -- flag.Parse() -- if len(flag.Args()) <= 0 { -- fmt.Fprintf(os.Stderr, "no files to parse provided\n") -- usage() -- } -- -- endianness := "" -- if *b32 { -- endianness = "big-endian" -- } else if *l32 { -- endianness = "little-endian" -- } -- -- pack := "" -- text := "" -- cExtern := "/*\n#include \n#include \n" -- for _, path := range flag.Args() { -- file, err := os.Open(path) -- if err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- s := bufio.NewScanner(file) -- for s.Scan() { -- t := s.Text() -- t = strings.TrimSpace(t) -- t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) -- if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { -- pack = p[1] -- } -- nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) -- if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { -- continue -- } -- -- // Line must be of the form -- // func Open(path string, mode int, perm int) (fd int, err error) -- // Split into name, in params, out params. -- f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) -- if f == nil { -- fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) -- os.Exit(1) -- } -- funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] -- -- // Split argument lists on comma. -- in := parseParamList(inps) -- out := parseParamList(outps) -- -- inps = strings.Join(in, ", ") -- outps = strings.Join(out, ", ") -- -- // Try in vain to keep people from editing this file. -- // The theory is that they jump into the middle of the file -- // without reading the header. -- text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" -- -- // Check if value return, err return available -- errvar := "" -- retvar := "" -- rettype := "" -- for _, param := range out { -- p := parseParam(param) -- if p.Type == "error" { -- errvar = p.Name -- } else { -- retvar = p.Name -- rettype = p.Type -- } -- } -- -- // System call name. -- if sysname == "" { -- sysname = funct -- } -- sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) -- sysname = strings.ToLower(sysname) // All libc functions are lowercase. -- -- cRettype := "" -- if rettype == "unsafe.Pointer" { -- cRettype = "uintptr_t" -- } else if rettype == "uintptr" { -- cRettype = "uintptr_t" -- } else if regexp.MustCompile(`^_`).FindStringSubmatch(rettype) != nil { -- cRettype = "uintptr_t" -- } else if rettype == "int" { -- cRettype = "int" -- } else if rettype == "int32" { -- cRettype = "int" -- } else if rettype == "int64" { -- cRettype = "long long" -- } else if rettype == "uint32" { -- cRettype = "unsigned int" -- } else if rettype == "uint64" { -- cRettype = "unsigned long long" -- } else { -- cRettype = "int" -- } -- if sysname == "exit" { -- cRettype = "void" -- } -- -- // Change p.Types to c -- var cIn []string -- for _, param := range in { -- p := parseParam(param) -- if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { -- cIn = append(cIn, "uintptr_t") -- } else if p.Type == "string" { -- cIn = append(cIn, "uintptr_t") -- } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { -- cIn = append(cIn, "uintptr_t", "size_t") -- } else if p.Type == "unsafe.Pointer" { -- cIn = append(cIn, "uintptr_t") -- } else if p.Type == "uintptr" { -- cIn = append(cIn, "uintptr_t") -- } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil { -- cIn = append(cIn, "uintptr_t") -- } else if p.Type == "int" { -- cIn = append(cIn, "int") -- } else if p.Type == "int32" { -- cIn = append(cIn, "int") -- } else if p.Type == "int64" { -- cIn = append(cIn, "long long") -- } else if p.Type == "uint32" { -- cIn = append(cIn, "unsigned int") -- } else if p.Type == "uint64" { -- cIn = append(cIn, "unsigned long long") -- } else { -- cIn = append(cIn, "int") -- } -- } -- -- if funct != "fcntl" && funct != "FcntlInt" && funct != "readlen" && funct != "writelen" { -- if sysname == "select" { -- // select is a keyword of Go. Its name is -- // changed to c_select. -- cExtern += "#define c_select select\n" -- } -- // Imports of system calls from libc -- cExtern += fmt.Sprintf("%s %s", cRettype, sysname) -- cIn := strings.Join(cIn, ", ") -- cExtern += fmt.Sprintf("(%s);\n", cIn) -- } -- -- // So file name. -- if *aix { -- if modname == "" { -- modname = "libc.a/shr_64.o" -- } else { -- fmt.Fprintf(os.Stderr, "%s: only syscall using libc are available\n", funct) -- os.Exit(1) -- } -- } -- -- strconvfunc := "C.CString" -- -- // Go function header. -- if outps != "" { -- outps = fmt.Sprintf(" (%s)", outps) -- } -- if text != "" { -- text += "\n" -- } -- -- text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outps) -- -- // Prepare arguments to Syscall. -- var args []string -- n := 0 -- argN := 0 -- for _, param := range in { -- p := parseParam(param) -- if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { -- args = append(args, "C.uintptr_t(uintptr(unsafe.Pointer("+p.Name+")))") -- } else if p.Type == "string" && errvar != "" { -- text += fmt.Sprintf("\t_p%d := uintptr(unsafe.Pointer(%s(%s)))\n", n, strconvfunc, p.Name) -- args = append(args, fmt.Sprintf("C.uintptr_t(_p%d)", n)) -- n++ -- } else if p.Type == "string" { -- fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") -- text += fmt.Sprintf("\t_p%d := uintptr(unsafe.Pointer(%s(%s)))\n", n, strconvfunc, p.Name) -- args = append(args, fmt.Sprintf("C.uintptr_t(_p%d)", n)) -- n++ -- } else if m := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); m != nil { -- // Convert slice into pointer, length. -- // Have to be careful not to take address of &a[0] if len == 0: -- // pass nil in that case. -- text += fmt.Sprintf("\tvar _p%d *%s\n", n, m[1]) -- text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) -- args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(unsafe.Pointer(_p%d)))", n)) -- n++ -- text += fmt.Sprintf("\tvar _p%d int\n", n) -- text += fmt.Sprintf("\t_p%d = len(%s)\n", n, p.Name) -- args = append(args, fmt.Sprintf("C.size_t(_p%d)", n)) -- n++ -- } else if p.Type == "int64" && endianness != "" { -- if endianness == "big-endian" { -- args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) -- } else { -- args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) -- } -- n++ -- } else if p.Type == "bool" { -- text += fmt.Sprintf("\tvar _p%d uint32\n", n) -- text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n) -- args = append(args, fmt.Sprintf("_p%d", n)) -- } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil { -- args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(%s))", p.Name)) -- } else if p.Type == "unsafe.Pointer" { -- args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(%s))", p.Name)) -- } else if p.Type == "int" { -- if (argN == 2) && ((funct == "readlen") || (funct == "writelen")) { -- args = append(args, fmt.Sprintf("C.size_t(%s)", p.Name)) -- } else if argN == 0 && funct == "fcntl" { -- args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) -- } else if (argN == 2) && ((funct == "fcntl") || (funct == "FcntlInt")) { -- args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) -- } else { -- args = append(args, fmt.Sprintf("C.int(%s)", p.Name)) -- } -- } else if p.Type == "int32" { -- args = append(args, fmt.Sprintf("C.int(%s)", p.Name)) -- } else if p.Type == "int64" { -- args = append(args, fmt.Sprintf("C.longlong(%s)", p.Name)) -- } else if p.Type == "uint32" { -- args = append(args, fmt.Sprintf("C.uint(%s)", p.Name)) -- } else if p.Type == "uint64" { -- args = append(args, fmt.Sprintf("C.ulonglong(%s)", p.Name)) -- } else if p.Type == "uintptr" { -- args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) -- } else { -- args = append(args, fmt.Sprintf("C.int(%s)", p.Name)) -- } -- argN++ -- } -- -- // Actual call. -- arglist := strings.Join(args, ", ") -- call := "" -- if sysname == "exit" { -- if errvar != "" { -- call += "er :=" -- } else { -- call += "" -- } -- } else if errvar != "" { -- call += "r0,er :=" -- } else if retvar != "" { -- call += "r0,_ :=" -- } else { -- call += "" -- } -- if sysname == "select" { -- // select is a keyword of Go. Its name is -- // changed to c_select. -- call += fmt.Sprintf("C.c_%s(%s)", sysname, arglist) -- } else { -- call += fmt.Sprintf("C.%s(%s)", sysname, arglist) -- } -- -- // Assign return values. -- body := "" -- for i := 0; i < len(out); i++ { -- p := parseParam(out[i]) -- reg := "" -- if p.Name == "err" { -- reg = "e1" -- } else { -- reg = "r0" -- } -- if reg != "e1" { -- body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) -- } -- } -- -- // verify return -- if sysname != "exit" && errvar != "" { -- if regexp.MustCompile(`^uintptr`).FindStringSubmatch(cRettype) != nil { -- body += "\tif (uintptr(r0) ==^uintptr(0) && er != nil) {\n" -- body += fmt.Sprintf("\t\t%s = er\n", errvar) -- body += "\t}\n" -- } else { -- body += "\tif (r0 ==-1 && er != nil) {\n" -- body += fmt.Sprintf("\t\t%s = er\n", errvar) -- body += "\t}\n" -- } -- } else if errvar != "" { -- body += "\tif (er != nil) {\n" -- body += fmt.Sprintf("\t\t%s = er\n", errvar) -- body += "\t}\n" -- } -- -- text += fmt.Sprintf("\t%s\n", call) -- text += body -- -- text += "\treturn\n" -- text += "}\n" -- } -- if err := s.Err(); err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- file.Close() -- } -- imp := "" -- if pack != "unix" { -- imp = "import \"golang.org/x/sys/unix\"\n" -- -- } -- fmt.Printf(srcTemplate, cmdLine(), buildTags(), pack, cExtern, imp, text) --} -- --const srcTemplate = `// %s --// Code generated by the command above; see README.md. DO NOT EDIT. -- --// +build %s -- --package %s -- -- --%s --*/ --import "C" --import ( -- "unsafe" --) -- -- --%s -- --%s --` -diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go -deleted file mode 100644 -index c960099517..0000000000 ---- a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go -+++ /dev/null -@@ -1,614 +0,0 @@ --// 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 ignore -- --/* --This program reads a file containing function prototypes --(like syscall_aix.go) and generates system call bodies. --The prototypes are marked by lines beginning with "//sys" --and read like func declarations if //sys is replaced by func, but: -- * The parameter lists must give a name for each argument. -- This includes return parameters. -- * The parameter lists must give a type for each argument: -- the (x, y, z int) shorthand is not allowed. -- * If the return parameter is an error number, it must be named err. -- * If go func name needs to be different than its libc name, -- * or the function is not in libc, name could be specified -- * at the end, after "=" sign, like -- //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt -- -- --This program will generate three files and handle both gc and gccgo implementation: -- - zsyscall_aix_ppc64.go: the common part of each implementation (error handler, pointer creation) -- - zsyscall_aix_ppc64_gc.go: gc part with //go_cgo_import_dynamic and a call to syscall6 -- - zsyscall_aix_ppc64_gccgo.go: gccgo part with C function and conversion to C type. -- -- The generated code looks like this -- --zsyscall_aix_ppc64.go --func asyscall(...) (n int, err error) { -- // Pointer Creation -- r1, e1 := callasyscall(...) -- // Type Conversion -- // Error Handler -- return --} -- --zsyscall_aix_ppc64_gc.go --//go:cgo_import_dynamic libc_asyscall asyscall "libc.a/shr_64.o" --//go:linkname libc_asyscall libc_asyscall --var asyscall syscallFunc -- --func callasyscall(...) (r1 uintptr, e1 Errno) { -- r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_asyscall)), "nb_args", ... ) -- return --} -- --zsyscall_aix_ppc64_ggcgo.go -- --// int asyscall(...) -- --import "C" -- --func callasyscall(...) (r1 uintptr, e1 Errno) { -- r1 = uintptr(C.asyscall(...)) -- e1 = syscall.GetErrno() -- return --} --*/ -- --package main -- --import ( -- "bufio" -- "flag" -- "fmt" -- "io/ioutil" -- "os" -- "regexp" -- "strings" --) -- --var ( -- b32 = flag.Bool("b32", false, "32bit big-endian") -- l32 = flag.Bool("l32", false, "32bit little-endian") -- aix = flag.Bool("aix", false, "aix") -- tags = flag.String("tags", "", "build tags") --) -- --// cmdLine returns this programs's commandline arguments --func cmdLine() string { -- return "go run mksyscall_aix_ppc64.go " + strings.Join(os.Args[1:], " ") --} -- --// buildTags returns build tags --func buildTags() string { -- return *tags --} -- --// Param is function parameter --type Param struct { -- Name string -- Type string --} -- --// usage prints the program usage --func usage() { -- fmt.Fprintf(os.Stderr, "usage: go run mksyscall_aix_ppc64.go [-b32 | -l32] [-tags x,y] [file ...]\n") -- os.Exit(1) --} -- --// parseParamList parses parameter list and returns a slice of parameters --func parseParamList(list string) []string { -- list = strings.TrimSpace(list) -- if list == "" { -- return []string{} -- } -- return regexp.MustCompile(`\s*,\s*`).Split(list, -1) --} -- --// parseParam splits a parameter into name and type --func parseParam(p string) Param { -- ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) -- if ps == nil { -- fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) -- os.Exit(1) -- } -- return Param{ps[1], ps[2]} --} -- --func main() { -- flag.Usage = usage -- flag.Parse() -- if len(flag.Args()) <= 0 { -- fmt.Fprintf(os.Stderr, "no files to parse provided\n") -- usage() -- } -- -- endianness := "" -- if *b32 { -- endianness = "big-endian" -- } else if *l32 { -- endianness = "little-endian" -- } -- -- pack := "" -- // GCCGO -- textgccgo := "" -- cExtern := "/*\n#include \n" -- // GC -- textgc := "" -- dynimports := "" -- linknames := "" -- var vars []string -- // COMMON -- textcommon := "" -- for _, path := range flag.Args() { -- file, err := os.Open(path) -- if err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- s := bufio.NewScanner(file) -- for s.Scan() { -- t := s.Text() -- t = strings.TrimSpace(t) -- t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) -- if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { -- pack = p[1] -- } -- nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) -- if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { -- continue -- } -- -- // Line must be of the form -- // func Open(path string, mode int, perm int) (fd int, err error) -- // Split into name, in params, out params. -- f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) -- if f == nil { -- fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) -- os.Exit(1) -- } -- funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] -- -- // Split argument lists on comma. -- in := parseParamList(inps) -- out := parseParamList(outps) -- -- inps = strings.Join(in, ", ") -- outps = strings.Join(out, ", ") -- -- if sysname == "" { -- sysname = funct -- } -- -- onlyCommon := false -- if funct == "readlen" || funct == "writelen" || funct == "FcntlInt" || funct == "FcntlFlock" { -- // This function call another syscall which is already implemented. -- // Therefore, the gc and gccgo part must not be generated. -- onlyCommon = true -- } -- -- // Try in vain to keep people from editing this file. -- // The theory is that they jump into the middle of the file -- // without reading the header. -- -- textcommon += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" -- if !onlyCommon { -- textgccgo += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" -- textgc += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" -- } -- -- // Check if value return, err return available -- errvar := "" -- rettype := "" -- for _, param := range out { -- p := parseParam(param) -- if p.Type == "error" { -- errvar = p.Name -- } else { -- rettype = p.Type -- } -- } -- -- sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) -- sysname = strings.ToLower(sysname) // All libc functions are lowercase. -- -- // GCCGO Prototype return type -- cRettype := "" -- if rettype == "unsafe.Pointer" { -- cRettype = "uintptr_t" -- } else if rettype == "uintptr" { -- cRettype = "uintptr_t" -- } else if regexp.MustCompile(`^_`).FindStringSubmatch(rettype) != nil { -- cRettype = "uintptr_t" -- } else if rettype == "int" { -- cRettype = "int" -- } else if rettype == "int32" { -- cRettype = "int" -- } else if rettype == "int64" { -- cRettype = "long long" -- } else if rettype == "uint32" { -- cRettype = "unsigned int" -- } else if rettype == "uint64" { -- cRettype = "unsigned long long" -- } else { -- cRettype = "int" -- } -- if sysname == "exit" { -- cRettype = "void" -- } -- -- // GCCGO Prototype arguments type -- var cIn []string -- for i, param := range in { -- p := parseParam(param) -- if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { -- cIn = append(cIn, "uintptr_t") -- } else if p.Type == "string" { -- cIn = append(cIn, "uintptr_t") -- } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { -- cIn = append(cIn, "uintptr_t", "size_t") -- } else if p.Type == "unsafe.Pointer" { -- cIn = append(cIn, "uintptr_t") -- } else if p.Type == "uintptr" { -- cIn = append(cIn, "uintptr_t") -- } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil { -- cIn = append(cIn, "uintptr_t") -- } else if p.Type == "int" { -- if (i == 0 || i == 2) && funct == "fcntl" { -- // These fcntl arguments needs to be uintptr to be able to call FcntlInt and FcntlFlock -- cIn = append(cIn, "uintptr_t") -- } else { -- cIn = append(cIn, "int") -- } -- -- } else if p.Type == "int32" { -- cIn = append(cIn, "int") -- } else if p.Type == "int64" { -- cIn = append(cIn, "long long") -- } else if p.Type == "uint32" { -- cIn = append(cIn, "unsigned int") -- } else if p.Type == "uint64" { -- cIn = append(cIn, "unsigned long long") -- } else { -- cIn = append(cIn, "int") -- } -- } -- -- if !onlyCommon { -- // GCCGO Prototype Generation -- // Imports of system calls from libc -- if sysname == "select" { -- // select is a keyword of Go. Its name is -- // changed to c_select. -- cExtern += "#define c_select select\n" -- } -- cExtern += fmt.Sprintf("%s %s", cRettype, sysname) -- cIn := strings.Join(cIn, ", ") -- cExtern += fmt.Sprintf("(%s);\n", cIn) -- } -- // GC Library name -- if modname == "" { -- modname = "libc.a/shr_64.o" -- } else { -- fmt.Fprintf(os.Stderr, "%s: only syscall using libc are available\n", funct) -- os.Exit(1) -- } -- sysvarname := fmt.Sprintf("libc_%s", sysname) -- -- if !onlyCommon { -- // GC Runtime import of function to allow cross-platform builds. -- dynimports += fmt.Sprintf("//go:cgo_import_dynamic %s %s \"%s\"\n", sysvarname, sysname, modname) -- // GC Link symbol to proc address variable. -- linknames += fmt.Sprintf("//go:linkname %s %s\n", sysvarname, sysvarname) -- // GC Library proc address variable. -- vars = append(vars, sysvarname) -- } -- -- strconvfunc := "BytePtrFromString" -- strconvtype := "*byte" -- -- // Go function header. -- if outps != "" { -- outps = fmt.Sprintf(" (%s)", outps) -- } -- if textcommon != "" { -- textcommon += "\n" -- } -- -- textcommon += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outps) -- -- // Prepare arguments tocall. -- var argscommon []string // Arguments in the common part -- var argscall []string // Arguments for call prototype -- var argsgc []string // Arguments for gc call (with syscall6) -- var argsgccgo []string // Arguments for gccgo call (with C.name_of_syscall) -- n := 0 -- argN := 0 -- for _, param := range in { -- p := parseParam(param) -- if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { -- argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(%s))", p.Name)) -- argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) -- argsgc = append(argsgc, p.Name) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) -- } else if p.Type == "string" && errvar != "" { -- textcommon += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) -- textcommon += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) -- textcommon += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) -- -- argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) -- argscall = append(argscall, fmt.Sprintf("_p%d uintptr ", n)) -- argsgc = append(argsgc, fmt.Sprintf("_p%d", n)) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n)) -- n++ -- } else if p.Type == "string" { -- fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") -- textcommon += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) -- textcommon += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) -- textcommon += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) -- -- argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) -- argscall = append(argscall, fmt.Sprintf("_p%d uintptr", n)) -- argsgc = append(argsgc, fmt.Sprintf("_p%d", n)) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n)) -- n++ -- } else if m := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); m != nil { -- // Convert slice into pointer, length. -- // Have to be careful not to take address of &a[0] if len == 0: -- // pass nil in that case. -- textcommon += fmt.Sprintf("\tvar _p%d *%s\n", n, m[1]) -- textcommon += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) -- argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("len(%s)", p.Name)) -- argscall = append(argscall, fmt.Sprintf("_p%d uintptr", n), fmt.Sprintf("_lenp%d int", n)) -- argsgc = append(argsgc, fmt.Sprintf("_p%d", n), fmt.Sprintf("uintptr(_lenp%d)", n)) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n), fmt.Sprintf("C.size_t(_lenp%d)", n)) -- n++ -- } else if p.Type == "int64" && endianness != "" { -- fmt.Fprintf(os.Stderr, path+":"+funct+" uses int64 with 32 bits mode. Case not yet implemented\n") -- } else if p.Type == "bool" { -- fmt.Fprintf(os.Stderr, path+":"+funct+" uses bool. Case not yet implemented\n") -- } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil || p.Type == "unsafe.Pointer" { -- argscommon = append(argscommon, fmt.Sprintf("uintptr(%s)", p.Name)) -- argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) -- argsgc = append(argsgc, p.Name) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) -- } else if p.Type == "int" { -- if (argN == 0 || argN == 2) && ((funct == "fcntl") || (funct == "FcntlInt") || (funct == "FcntlFlock")) { -- // These fcntl arguments need to be uintptr to be able to call FcntlInt and FcntlFlock -- argscommon = append(argscommon, fmt.Sprintf("uintptr(%s)", p.Name)) -- argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) -- argsgc = append(argsgc, p.Name) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) -- -- } else { -- argscommon = append(argscommon, p.Name) -- argscall = append(argscall, fmt.Sprintf("%s int", p.Name)) -- argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name)) -- } -- } else if p.Type == "int32" { -- argscommon = append(argscommon, p.Name) -- argscall = append(argscall, fmt.Sprintf("%s int32", p.Name)) -- argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name)) -- } else if p.Type == "int64" { -- argscommon = append(argscommon, p.Name) -- argscall = append(argscall, fmt.Sprintf("%s int64", p.Name)) -- argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.longlong(%s)", p.Name)) -- } else if p.Type == "uint32" { -- argscommon = append(argscommon, p.Name) -- argscall = append(argscall, fmt.Sprintf("%s uint32", p.Name)) -- argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.uint(%s)", p.Name)) -- } else if p.Type == "uint64" { -- argscommon = append(argscommon, p.Name) -- argscall = append(argscall, fmt.Sprintf("%s uint64", p.Name)) -- argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.ulonglong(%s)", p.Name)) -- } else if p.Type == "uintptr" { -- argscommon = append(argscommon, p.Name) -- argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) -- argsgc = append(argsgc, p.Name) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) -- } else { -- argscommon = append(argscommon, fmt.Sprintf("int(%s)", p.Name)) -- argscall = append(argscall, fmt.Sprintf("%s int", p.Name)) -- argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) -- argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name)) -- } -- argN++ -- } -- nargs := len(argsgc) -- -- // COMMON function generation -- argscommonlist := strings.Join(argscommon, ", ") -- callcommon := fmt.Sprintf("call%s(%s)", sysname, argscommonlist) -- ret := []string{"_", "_"} -- body := "" -- doErrno := false -- for i := 0; i < len(out); i++ { -- p := parseParam(out[i]) -- reg := "" -- if p.Name == "err" { -- reg = "e1" -- ret[1] = reg -- doErrno = true -- } else { -- reg = "r0" -- ret[0] = reg -- } -- if p.Type == "bool" { -- reg = fmt.Sprintf("%s != 0", reg) -- } -- if reg != "e1" { -- body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) -- } -- } -- if ret[0] == "_" && ret[1] == "_" { -- textcommon += fmt.Sprintf("\t%s\n", callcommon) -- } else { -- textcommon += fmt.Sprintf("\t%s, %s := %s\n", ret[0], ret[1], callcommon) -- } -- textcommon += body -- -- if doErrno { -- textcommon += "\tif e1 != 0 {\n" -- textcommon += "\t\terr = errnoErr(e1)\n" -- textcommon += "\t}\n" -- } -- textcommon += "\treturn\n" -- textcommon += "}\n" -- -- if onlyCommon { -- continue -- } -- -- // CALL Prototype -- callProto := fmt.Sprintf("func call%s(%s) (r1 uintptr, e1 Errno) {\n", sysname, strings.Join(argscall, ", ")) -- -- // GC function generation -- asm := "syscall6" -- if nonblock != nil { -- asm = "rawSyscall6" -- } -- -- if len(argsgc) <= 6 { -- for len(argsgc) < 6 { -- argsgc = append(argsgc, "0") -- } -- } else { -- fmt.Fprintf(os.Stderr, "%s: too many arguments to system call", funct) -- os.Exit(1) -- } -- argsgclist := strings.Join(argsgc, ", ") -- callgc := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, argsgclist) -- -- textgc += callProto -- textgc += fmt.Sprintf("\tr1, _, e1 = %s\n", callgc) -- textgc += "\treturn\n}\n" -- -- // GCCGO function generation -- argsgccgolist := strings.Join(argsgccgo, ", ") -- var callgccgo string -- if sysname == "select" { -- // select is a keyword of Go. Its name is -- // changed to c_select. -- callgccgo = fmt.Sprintf("C.c_%s(%s)", sysname, argsgccgolist) -- } else { -- callgccgo = fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist) -- } -- textgccgo += callProto -- textgccgo += fmt.Sprintf("\tr1 = uintptr(%s)\n", callgccgo) -- textgccgo += "\te1 = syscall.GetErrno()\n" -- textgccgo += "\treturn\n}\n" -- } -- if err := s.Err(); err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- file.Close() -- } -- imp := "" -- if pack != "unix" { -- imp = "import \"golang.org/x/sys/unix\"\n" -- -- } -- -- // Print zsyscall_aix_ppc64.go -- err := ioutil.WriteFile("zsyscall_aix_ppc64.go", -- []byte(fmt.Sprintf(srcTemplate1, cmdLine(), buildTags(), pack, imp, textcommon)), -- 0644) -- if err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- -- // Print zsyscall_aix_ppc64_gc.go -- vardecls := "\t" + strings.Join(vars, ",\n\t") -- vardecls += " syscallFunc" -- err = ioutil.WriteFile("zsyscall_aix_ppc64_gc.go", -- []byte(fmt.Sprintf(srcTemplate2, cmdLine(), buildTags(), pack, imp, dynimports, linknames, vardecls, textgc)), -- 0644) -- if err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- -- // Print zsyscall_aix_ppc64_gccgo.go -- err = ioutil.WriteFile("zsyscall_aix_ppc64_gccgo.go", -- []byte(fmt.Sprintf(srcTemplate3, cmdLine(), buildTags(), pack, cExtern, imp, textgccgo)), -- 0644) -- if err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } --} -- --const srcTemplate1 = `// %s --// Code generated by the command above; see README.md. DO NOT EDIT. -- --// +build %s -- --package %s -- --import ( -- "unsafe" --) -- -- --%s -- --%s --` --const srcTemplate2 = `// %s --// Code generated by the command above; see README.md. DO NOT EDIT. -- --// +build %s --// +build !gccgo -- --package %s -- --import ( -- "unsafe" --) --%s --%s --%s --type syscallFunc uintptr -- --var ( --%s --) -- --// 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) -- --%s --` --const srcTemplate3 = `// %s --// Code generated by the command above; see README.md. DO NOT EDIT. -- --// +build %s --// +build gccgo -- --package %s -- --%s --*/ --import "C" --import ( -- "syscall" --) -- -- --%s -- --%s --` -diff --git a/vendor/golang.org/x/sys/unix/mksyscall_solaris.go b/vendor/golang.org/x/sys/unix/mksyscall_solaris.go -deleted file mode 100644 -index 3d864738b6..0000000000 ---- a/vendor/golang.org/x/sys/unix/mksyscall_solaris.go -+++ /dev/null -@@ -1,335 +0,0 @@ --// 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 ignore -- --/* -- This program reads a file containing function prototypes -- (like syscall_solaris.go) and generates system call bodies. -- The prototypes are marked by lines beginning with "//sys" -- and read like func declarations if //sys is replaced by func, but: -- * The parameter lists must give a name for each argument. -- This includes return parameters. -- * The parameter lists must give a type for each argument: -- the (x, y, z int) shorthand is not allowed. -- * If the return parameter is an error number, it must be named err. -- * If go func name needs to be different than its libc name, -- * or the function is not in libc, name could be specified -- * at the end, after "=" sign, like -- //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt --*/ -- --package main -- --import ( -- "bufio" -- "flag" -- "fmt" -- "os" -- "regexp" -- "strings" --) -- --var ( -- b32 = flag.Bool("b32", false, "32bit big-endian") -- l32 = flag.Bool("l32", false, "32bit little-endian") -- tags = flag.String("tags", "", "build tags") --) -- --// cmdLine returns this programs's commandline arguments --func cmdLine() string { -- return "go run mksyscall_solaris.go " + strings.Join(os.Args[1:], " ") --} -- --// buildTags returns build tags --func buildTags() string { -- return *tags --} -- --// Param is function parameter --type Param struct { -- Name string -- Type string --} -- --// usage prints the program usage --func usage() { -- fmt.Fprintf(os.Stderr, "usage: go run mksyscall_solaris.go [-b32 | -l32] [-tags x,y] [file ...]\n") -- os.Exit(1) --} -- --// parseParamList parses parameter list and returns a slice of parameters --func parseParamList(list string) []string { -- list = strings.TrimSpace(list) -- if list == "" { -- return []string{} -- } -- return regexp.MustCompile(`\s*,\s*`).Split(list, -1) --} -- --// parseParam splits a parameter into name and type --func parseParam(p string) Param { -- ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) -- if ps == nil { -- fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) -- os.Exit(1) -- } -- return Param{ps[1], ps[2]} --} -- --func main() { -- flag.Usage = usage -- flag.Parse() -- if len(flag.Args()) <= 0 { -- fmt.Fprintf(os.Stderr, "no files to parse provided\n") -- usage() -- } -- -- endianness := "" -- if *b32 { -- endianness = "big-endian" -- } else if *l32 { -- endianness = "little-endian" -- } -- -- pack := "" -- text := "" -- dynimports := "" -- linknames := "" -- var vars []string -- for _, path := range flag.Args() { -- file, err := os.Open(path) -- if err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- s := bufio.NewScanner(file) -- for s.Scan() { -- t := s.Text() -- t = strings.TrimSpace(t) -- t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) -- if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { -- pack = p[1] -- } -- nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) -- if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { -- continue -- } -- -- // Line must be of the form -- // func Open(path string, mode int, perm int) (fd int, err error) -- // Split into name, in params, out params. -- f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) -- if f == nil { -- fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) -- os.Exit(1) -- } -- funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] -- -- // Split argument lists on comma. -- in := parseParamList(inps) -- out := parseParamList(outps) -- -- inps = strings.Join(in, ", ") -- outps = strings.Join(out, ", ") -- -- // Try in vain to keep people from editing this file. -- // The theory is that they jump into the middle of the file -- // without reading the header. -- text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" -- -- // So file name. -- if modname == "" { -- modname = "libc" -- } -- -- // System call name. -- if sysname == "" { -- sysname = funct -- } -- -- // System call pointer variable name. -- sysvarname := fmt.Sprintf("proc%s", sysname) -- -- strconvfunc := "BytePtrFromString" -- strconvtype := "*byte" -- -- sysname = strings.ToLower(sysname) // All libc functions are lowercase. -- -- // Runtime import of function to allow cross-platform builds. -- dynimports += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"%s.so\"\n", sysname, sysname, modname) -- // Link symbol to proc address variable. -- linknames += fmt.Sprintf("//go:linkname %s libc_%s\n", sysvarname, sysname) -- // Library proc address variable. -- vars = append(vars, sysvarname) -- -- // Go function header. -- outlist := strings.Join(out, ", ") -- if outlist != "" { -- outlist = fmt.Sprintf(" (%s)", outlist) -- } -- if text != "" { -- text += "\n" -- } -- text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outlist) -- -- // Check if err return available -- errvar := "" -- for _, param := range out { -- p := parseParam(param) -- if p.Type == "error" { -- errvar = p.Name -- continue -- } -- } -- -- // Prepare arguments to Syscall. -- var args []string -- n := 0 -- for _, param := range in { -- p := parseParam(param) -- if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { -- args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))") -- } else if p.Type == "string" && errvar != "" { -- text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) -- text += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) -- text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) -- args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) -- n++ -- } else if p.Type == "string" { -- fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") -- text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) -- text += fmt.Sprintf("\t_p%d, _ = %s(%s)\n", n, strconvfunc, p.Name) -- args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) -- n++ -- } else if s := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); s != nil { -- // Convert slice into pointer, length. -- // Have to be careful not to take address of &a[0] if len == 0: -- // pass nil in that case. -- text += fmt.Sprintf("\tvar _p%d *%s\n", n, s[1]) -- text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) -- args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("uintptr(len(%s))", p.Name)) -- n++ -- } else if p.Type == "int64" && endianness != "" { -- if endianness == "big-endian" { -- args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) -- } else { -- args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) -- } -- } else if p.Type == "bool" { -- text += fmt.Sprintf("\tvar _p%d uint32\n", n) -- text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n) -- args = append(args, fmt.Sprintf("uintptr(_p%d)", n)) -- n++ -- } else { -- args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) -- } -- } -- nargs := len(args) -- -- // Determine which form to use; pad args with zeros. -- asm := "sysvicall6" -- if nonblock != nil { -- asm = "rawSysvicall6" -- } -- if len(args) <= 6 { -- for len(args) < 6 { -- args = append(args, "0") -- } -- } else { -- fmt.Fprintf(os.Stderr, "%s: too many arguments to system call\n", path) -- os.Exit(1) -- } -- -- // Actual call. -- arglist := strings.Join(args, ", ") -- call := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, arglist) -- -- // Assign return values. -- body := "" -- ret := []string{"_", "_", "_"} -- doErrno := false -- for i := 0; i < len(out); i++ { -- p := parseParam(out[i]) -- reg := "" -- if p.Name == "err" { -- reg = "e1" -- ret[2] = reg -- doErrno = true -- } else { -- reg = fmt.Sprintf("r%d", i) -- ret[i] = reg -- } -- if p.Type == "bool" { -- reg = fmt.Sprintf("%d != 0", reg) -- } -- if p.Type == "int64" && endianness != "" { -- // 64-bit number in r1:r0 or r0:r1. -- if i+2 > len(out) { -- fmt.Fprintf(os.Stderr, "%s: not enough registers for int64 return\n", path) -- os.Exit(1) -- } -- if endianness == "big-endian" { -- reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1) -- } else { -- reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i) -- } -- ret[i] = fmt.Sprintf("r%d", i) -- ret[i+1] = fmt.Sprintf("r%d", i+1) -- } -- if reg != "e1" { -- body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) -- } -- } -- if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" { -- text += fmt.Sprintf("\t%s\n", call) -- } else { -- text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call) -- } -- text += body -- -- if doErrno { -- text += "\tif e1 != 0 {\n" -- text += "\t\terr = e1\n" -- text += "\t}\n" -- } -- text += "\treturn\n" -- text += "}\n" -- } -- if err := s.Err(); err != nil { -- fmt.Fprintf(os.Stderr, err.Error()) -- os.Exit(1) -- } -- file.Close() -- } -- imp := "" -- if pack != "unix" { -- imp = "import \"golang.org/x/sys/unix\"\n" -- -- } -- vardecls := "\t" + strings.Join(vars, ",\n\t") -- vardecls += " syscallFunc" -- fmt.Printf(srcTemplate, cmdLine(), buildTags(), pack, imp, dynimports, linknames, vardecls, text) --} -- --const srcTemplate = `// %s --// Code generated by the command above; see README.md. DO NOT EDIT. -- --// +build %s -- --package %s -- --import ( -- "syscall" -- "unsafe" --) --%s --%s --%s --var ( --%s --) -- --%s --` -diff --git a/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go -deleted file mode 100644 -index b6b409909c..0000000000 ---- a/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go -+++ /dev/null -@@ -1,355 +0,0 @@ --// 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 ignore -- --// Parse the header files for OpenBSD and generate a Go usable sysctl MIB. --// --// Build a MIB with each entry being an array containing the level, type and --// a hash that will contain additional entries if the current entry is a node. --// We then walk this MIB and create a flattened sysctl name to OID hash. -- --package main -- --import ( -- "bufio" -- "fmt" -- "os" -- "path/filepath" -- "regexp" -- "sort" -- "strings" --) -- --var ( -- goos, goarch string --) -- --// cmdLine returns this programs's commandline arguments. --func cmdLine() string { -- return "go run mksysctl_openbsd.go " + strings.Join(os.Args[1:], " ") --} -- --// buildTags returns build tags. --func buildTags() string { -- return fmt.Sprintf("%s,%s", goarch, goos) --} -- --// reMatch performs regular expression match and stores the substring slice to value pointed by m. --func reMatch(re *regexp.Regexp, str string, m *[]string) bool { -- *m = re.FindStringSubmatch(str) -- if *m != nil { -- return true -- } -- return false --} -- --type nodeElement struct { -- n int -- t string -- pE *map[string]nodeElement --} -- --var ( -- debugEnabled bool -- mib map[string]nodeElement -- node *map[string]nodeElement -- nodeMap map[string]string -- sysCtl []string --) -- --var ( -- ctlNames1RE = regexp.MustCompile(`^#define\s+(CTL_NAMES)\s+{`) -- ctlNames2RE = regexp.MustCompile(`^#define\s+(CTL_(.*)_NAMES)\s+{`) -- ctlNames3RE = regexp.MustCompile(`^#define\s+((.*)CTL_NAMES)\s+{`) -- netInetRE = regexp.MustCompile(`^netinet/`) -- netInet6RE = regexp.MustCompile(`^netinet6/`) -- netRE = regexp.MustCompile(`^net/`) -- bracesRE = regexp.MustCompile(`{.*}`) -- ctlTypeRE = regexp.MustCompile(`{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}`) -- fsNetKernRE = regexp.MustCompile(`^(fs|net|kern)_`) --) -- --func debug(s string) { -- if debugEnabled { -- fmt.Fprintln(os.Stderr, s) -- } --} -- --// Walk the MIB and build a sysctl name to OID mapping. --func buildSysctl(pNode *map[string]nodeElement, name string, oid []int) { -- lNode := pNode // local copy of pointer to node -- var keys []string -- for k := range *lNode { -- keys = append(keys, k) -- } -- sort.Strings(keys) -- -- for _, key := range keys { -- nodename := name -- if name != "" { -- nodename += "." -- } -- nodename += key -- -- nodeoid := append(oid, (*pNode)[key].n) -- -- if (*pNode)[key].t == `CTLTYPE_NODE` { -- if _, ok := nodeMap[nodename]; ok { -- lNode = &mib -- ctlName := nodeMap[nodename] -- for _, part := range strings.Split(ctlName, ".") { -- lNode = ((*lNode)[part]).pE -- } -- } else { -- lNode = (*pNode)[key].pE -- } -- buildSysctl(lNode, nodename, nodeoid) -- } else if (*pNode)[key].t != "" { -- oidStr := []string{} -- for j := range nodeoid { -- oidStr = append(oidStr, fmt.Sprintf("%d", nodeoid[j])) -- } -- text := "\t{ \"" + nodename + "\", []_C_int{ " + strings.Join(oidStr, ", ") + " } }, \n" -- sysCtl = append(sysCtl, text) -- } -- } --} -- --func main() { -- // Get the OS (using GOOS_TARGET if it exist) -- goos = os.Getenv("GOOS_TARGET") -- if goos == "" { -- goos = os.Getenv("GOOS") -- } -- // Get the architecture (using GOARCH_TARGET if it exists) -- goarch = os.Getenv("GOARCH_TARGET") -- if goarch == "" { -- goarch = os.Getenv("GOARCH") -- } -- // Check if GOOS and GOARCH environment variables are defined -- if goarch == "" || goos == "" { -- fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n") -- os.Exit(1) -- } -- -- mib = make(map[string]nodeElement) -- headers := [...]string{ -- `sys/sysctl.h`, -- `sys/socket.h`, -- `sys/tty.h`, -- `sys/malloc.h`, -- `sys/mount.h`, -- `sys/namei.h`, -- `sys/sem.h`, -- `sys/shm.h`, -- `sys/vmmeter.h`, -- `uvm/uvmexp.h`, -- `uvm/uvm_param.h`, -- `uvm/uvm_swap_encrypt.h`, -- `ddb/db_var.h`, -- `net/if.h`, -- `net/if_pfsync.h`, -- `net/pipex.h`, -- `netinet/in.h`, -- `netinet/icmp_var.h`, -- `netinet/igmp_var.h`, -- `netinet/ip_ah.h`, -- `netinet/ip_carp.h`, -- `netinet/ip_divert.h`, -- `netinet/ip_esp.h`, -- `netinet/ip_ether.h`, -- `netinet/ip_gre.h`, -- `netinet/ip_ipcomp.h`, -- `netinet/ip_ipip.h`, -- `netinet/pim_var.h`, -- `netinet/tcp_var.h`, -- `netinet/udp_var.h`, -- `netinet6/in6.h`, -- `netinet6/ip6_divert.h`, -- `netinet6/pim6_var.h`, -- `netinet/icmp6.h`, -- `netmpls/mpls.h`, -- } -- -- ctls := [...]string{ -- `kern`, -- `vm`, -- `fs`, -- `net`, -- //debug /* Special handling required */ -- `hw`, -- //machdep /* Arch specific */ -- `user`, -- `ddb`, -- //vfs /* Special handling required */ -- `fs.posix`, -- `kern.forkstat`, -- `kern.intrcnt`, -- `kern.malloc`, -- `kern.nchstats`, -- `kern.seminfo`, -- `kern.shminfo`, -- `kern.timecounter`, -- `kern.tty`, -- `kern.watchdog`, -- `net.bpf`, -- `net.ifq`, -- `net.inet`, -- `net.inet.ah`, -- `net.inet.carp`, -- `net.inet.divert`, -- `net.inet.esp`, -- `net.inet.etherip`, -- `net.inet.gre`, -- `net.inet.icmp`, -- `net.inet.igmp`, -- `net.inet.ip`, -- `net.inet.ip.ifq`, -- `net.inet.ipcomp`, -- `net.inet.ipip`, -- `net.inet.mobileip`, -- `net.inet.pfsync`, -- `net.inet.pim`, -- `net.inet.tcp`, -- `net.inet.udp`, -- `net.inet6`, -- `net.inet6.divert`, -- `net.inet6.ip6`, -- `net.inet6.icmp6`, -- `net.inet6.pim6`, -- `net.inet6.tcp6`, -- `net.inet6.udp6`, -- `net.mpls`, -- `net.mpls.ifq`, -- `net.key`, -- `net.pflow`, -- `net.pfsync`, -- `net.pipex`, -- `net.rt`, -- `vm.swapencrypt`, -- //vfsgenctl /* Special handling required */ -- } -- -- // Node name "fixups" -- ctlMap := map[string]string{ -- "ipproto": "net.inet", -- "net.inet.ipproto": "net.inet", -- "net.inet6.ipv6proto": "net.inet6", -- "net.inet6.ipv6": "net.inet6.ip6", -- "net.inet.icmpv6": "net.inet6.icmp6", -- "net.inet6.divert6": "net.inet6.divert", -- "net.inet6.tcp6": "net.inet.tcp", -- "net.inet6.udp6": "net.inet.udp", -- "mpls": "net.mpls", -- "swpenc": "vm.swapencrypt", -- } -- -- // Node mappings -- nodeMap = map[string]string{ -- "net.inet.ip.ifq": "net.ifq", -- "net.inet.pfsync": "net.pfsync", -- "net.mpls.ifq": "net.ifq", -- } -- -- mCtls := make(map[string]bool) -- for _, ctl := range ctls { -- mCtls[ctl] = true -- } -- -- for _, header := range headers { -- debug("Processing " + header) -- file, err := os.Open(filepath.Join("/usr/include", header)) -- if err != nil { -- fmt.Fprintf(os.Stderr, "%v\n", err) -- os.Exit(1) -- } -- s := bufio.NewScanner(file) -- for s.Scan() { -- var sub []string -- if reMatch(ctlNames1RE, s.Text(), &sub) || -- reMatch(ctlNames2RE, s.Text(), &sub) || -- reMatch(ctlNames3RE, s.Text(), &sub) { -- if sub[1] == `CTL_NAMES` { -- // Top level. -- node = &mib -- } else { -- // Node. -- nodename := strings.ToLower(sub[2]) -- ctlName := "" -- if reMatch(netInetRE, header, &sub) { -- ctlName = "net.inet." + nodename -- } else if reMatch(netInet6RE, header, &sub) { -- ctlName = "net.inet6." + nodename -- } else if reMatch(netRE, header, &sub) { -- ctlName = "net." + nodename -- } else { -- ctlName = nodename -- ctlName = fsNetKernRE.ReplaceAllString(ctlName, `$1.`) -- } -- -- if val, ok := ctlMap[ctlName]; ok { -- ctlName = val -- } -- if _, ok := mCtls[ctlName]; !ok { -- debug("Ignoring " + ctlName + "...") -- continue -- } -- -- // Walk down from the top of the MIB. -- node = &mib -- for _, part := range strings.Split(ctlName, ".") { -- if _, ok := (*node)[part]; !ok { -- debug("Missing node " + part) -- (*node)[part] = nodeElement{n: 0, t: "", pE: &map[string]nodeElement{}} -- } -- node = (*node)[part].pE -- } -- } -- -- // Populate current node with entries. -- i := -1 -- for !strings.HasPrefix(s.Text(), "}") { -- s.Scan() -- if reMatch(bracesRE, s.Text(), &sub) { -- i++ -- } -- if !reMatch(ctlTypeRE, s.Text(), &sub) { -- continue -- } -- (*node)[sub[1]] = nodeElement{n: i, t: sub[2], pE: &map[string]nodeElement{}} -- } -- } -- } -- err = s.Err() -- if err != nil { -- fmt.Fprintf(os.Stderr, "%v\n", err) -- os.Exit(1) -- } -- file.Close() -- } -- buildSysctl(&mib, "", []int{}) -- -- sort.Strings(sysCtl) -- text := strings.Join(sysCtl, "") -- -- fmt.Printf(srcTemplate, cmdLine(), buildTags(), text) --} -- --const srcTemplate = `// %s --// Code generated by the command above; DO NOT EDIT. -- --// +build %s -- --package unix -- --type mibentry struct { -- ctlname string -- ctloid []_C_int --} -- --var sysctlMib = []mibentry { --%s --} --` -diff --git a/vendor/golang.org/x/sys/unix/mksysnum.go b/vendor/golang.org/x/sys/unix/mksysnum.go -deleted file mode 100644 -index baa6ecd850..0000000000 ---- a/vendor/golang.org/x/sys/unix/mksysnum.go -+++ /dev/null -@@ -1,190 +0,0 @@ --// 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 -- --// Generate system call table for DragonFly, NetBSD, --// FreeBSD, OpenBSD or Darwin from master list --// (for example, /usr/src/sys/kern/syscalls.master or --// sys/syscall.h). --package main -- --import ( -- "bufio" -- "fmt" -- "io" -- "io/ioutil" -- "net/http" -- "os" -- "regexp" -- "strings" --) -- --var ( -- goos, goarch string --) -- --// cmdLine returns this programs's commandline arguments --func cmdLine() string { -- return "go run mksysnum.go " + strings.Join(os.Args[1:], " ") --} -- --// buildTags returns build tags --func buildTags() string { -- return fmt.Sprintf("%s,%s", goarch, goos) --} -- --func checkErr(err error) { -- if err != nil { -- fmt.Fprintf(os.Stderr, "%v\n", err) -- os.Exit(1) -- } --} -- --// source string and substring slice for regexp --type re struct { -- str string // source string -- sub []string // matched sub-string --} -- --// Match performs regular expression match --func (r *re) Match(exp string) bool { -- r.sub = regexp.MustCompile(exp).FindStringSubmatch(r.str) -- if r.sub != nil { -- return true -- } -- return false --} -- --// fetchFile fetches a text file from URL --func fetchFile(URL string) io.Reader { -- resp, err := http.Get(URL) -- checkErr(err) -- defer resp.Body.Close() -- body, err := ioutil.ReadAll(resp.Body) -- checkErr(err) -- return strings.NewReader(string(body)) --} -- --// readFile reads a text file from path --func readFile(path string) io.Reader { -- file, err := os.Open(os.Args[1]) -- checkErr(err) -- return file --} -- --func format(name, num, proto string) string { -- name = strings.ToUpper(name) -- // There are multiple entries for enosys and nosys, so comment them out. -- nm := re{str: name} -- if nm.Match(`^SYS_E?NOSYS$`) { -- name = fmt.Sprintf("// %s", name) -- } -- if name == `SYS_SYS_EXIT` { -- name = `SYS_EXIT` -- } -- return fmt.Sprintf(" %s = %s; // %s\n", name, num, proto) --} -- --func main() { -- // Get the OS (using GOOS_TARGET if it exist) -- goos = os.Getenv("GOOS_TARGET") -- if goos == "" { -- goos = os.Getenv("GOOS") -- } -- // Get the architecture (using GOARCH_TARGET if it exists) -- goarch = os.Getenv("GOARCH_TARGET") -- if goarch == "" { -- goarch = os.Getenv("GOARCH") -- } -- // Check if GOOS and GOARCH environment variables are defined -- if goarch == "" || goos == "" { -- fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n") -- os.Exit(1) -- } -- -- file := strings.TrimSpace(os.Args[1]) -- var syscalls io.Reader -- if strings.HasPrefix(file, "https://") || strings.HasPrefix(file, "http://") { -- // Download syscalls.master file -- syscalls = fetchFile(file) -- } else { -- syscalls = readFile(file) -- } -- -- var text, line string -- s := bufio.NewScanner(syscalls) -- for s.Scan() { -- t := re{str: line} -- if t.Match(`^(.*)\\$`) { -- // Handle continuation -- line = t.sub[1] -- line += strings.TrimLeft(s.Text(), " \t") -- } else { -- // New line -- line = s.Text() -- } -- t = re{str: line} -- if t.Match(`\\$`) { -- continue -- } -- t = re{str: line} -- -- switch goos { -- case "dragonfly": -- if t.Match(`^([0-9]+)\s+STD\s+({ \S+\s+(\w+).*)$`) { -- num, proto := t.sub[1], t.sub[2] -- name := fmt.Sprintf("SYS_%s", t.sub[3]) -- text += format(name, num, proto) -- } -- case "freebsd": -- if t.Match(`^([0-9]+)\s+\S+\s+(?:(?:NO)?STD|COMPAT10)\s+({ \S+\s+(\w+).*)$`) { -- num, proto := t.sub[1], t.sub[2] -- name := fmt.Sprintf("SYS_%s", t.sub[3]) -- text += format(name, num, proto) -- } -- case "openbsd": -- if t.Match(`^([0-9]+)\s+STD\s+(NOLOCK\s+)?({ \S+\s+\*?(\w+).*)$`) { -- num, proto, name := t.sub[1], t.sub[3], t.sub[4] -- text += format(name, num, proto) -- } -- case "netbsd": -- if t.Match(`^([0-9]+)\s+((STD)|(NOERR))\s+(RUMP\s+)?({\s+\S+\s*\*?\s*\|(\S+)\|(\S*)\|(\w+).*\s+})(\s+(\S+))?$`) { -- num, proto, compat := t.sub[1], t.sub[6], t.sub[8] -- name := t.sub[7] + "_" + t.sub[9] -- if t.sub[11] != "" { -- name = t.sub[7] + "_" + t.sub[11] -- } -- name = strings.ToUpper(name) -- if compat == "" || compat == "13" || compat == "30" || compat == "50" { -- text += fmt.Sprintf(" %s = %s; // %s\n", name, num, proto) -- } -- } -- case "darwin": -- if t.Match(`^#define\s+SYS_(\w+)\s+([0-9]+)`) { -- name, num := t.sub[1], t.sub[2] -- name = strings.ToUpper(name) -- text += fmt.Sprintf(" SYS_%s = %s;\n", name, num) -- } -- default: -- fmt.Fprintf(os.Stderr, "unrecognized GOOS=%s\n", goos) -- os.Exit(1) -- -- } -- } -- err := s.Err() -- checkErr(err) -- -- fmt.Printf(template, cmdLine(), buildTags(), text) --} -- --const template = `// %s --// Code generated by the command above; see README.md. DO NOT EDIT. -- --// +build %s -- --package unix -- --const( --%s)` -diff --git a/vendor/golang.org/x/sys/unix/types_aix.go b/vendor/golang.org/x/sys/unix/types_aix.go -deleted file mode 100644 -index 40d2beede5..0000000000 ---- a/vendor/golang.org/x/sys/unix/types_aix.go -+++ /dev/null -@@ -1,237 +0,0 @@ --// 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 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 RawSockaddrDatalink C.struct_sockaddr_dl -- --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 -- SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -- 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 -deleted file mode 100644 -index 155c2e692b..0000000000 ---- a/vendor/golang.org/x/sys/unix/types_darwin.go -+++ /dev/null -@@ -1,283 +0,0 @@ --// 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 -- --// Clockinfo -- --const SizeofClockinfo = C.sizeof_struct_clockinfo -- --type Clockinfo C.struct_clockinfo -diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go -deleted file mode 100644 -index 3365dd79d0..0000000000 ---- a/vendor/golang.org/x/sys/unix/types_dragonfly.go -+++ /dev/null -@@ -1,263 +0,0 @@ --// 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 -deleted file mode 100644 -index a121dc3368..0000000000 ---- a/vendor/golang.org/x/sys/unix/types_freebsd.go -+++ /dev/null -@@ -1,400 +0,0 @@ --// 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_ATTACH = C.PT_ATTACH -- PTRACE_CONT = C.PT_CONTINUE -- PTRACE_DETACH = C.PT_DETACH -- PTRACE_GETFPREGS = C.PT_GETFPREGS -- PTRACE_GETFSBASE = C.PT_GETFSBASE -- PTRACE_GETLWPLIST = C.PT_GETLWPLIST -- PTRACE_GETNUMLWPS = C.PT_GETNUMLWPS -- PTRACE_GETREGS = C.PT_GETREGS -- PTRACE_GETXSTATE = C.PT_GETXSTATE -- PTRACE_IO = C.PT_IO -- PTRACE_KILL = C.PT_KILL -- PTRACE_LWPEVENTS = C.PT_LWP_EVENTS -- PTRACE_LWPINFO = C.PT_LWPINFO -- PTRACE_SETFPREGS = C.PT_SETFPREGS -- PTRACE_SETREGS = C.PT_SETREGS -- PTRACE_SINGLESTEP = C.PT_STEP -- PTRACE_TRACEME = C.PT_TRACE_ME --) -- --const ( -- PIOD_READ_D = C.PIOD_READ_D -- PIOD_WRITE_D = C.PIOD_WRITE_D -- PIOD_READ_I = C.PIOD_READ_I -- PIOD_WRITE_I = C.PIOD_WRITE_I --) -- --const ( -- PL_FLAG_BORN = C.PL_FLAG_BORN -- PL_FLAG_EXITED = C.PL_FLAG_EXITED -- PL_FLAG_SI = C.PL_FLAG_SI --) -- --const ( -- TRAP_BRKPT = C.TRAP_BRKPT -- TRAP_TRACE = C.TRAP_TRACE --) -- --type PtraceLwpInfoStruct C.struct_ptrace_lwpinfo -- --type __Siginfo C.struct___siginfo -- --type Sigset_t C.sigset_t -- --type Reg C.struct_reg -- --type FpReg C.struct_fpreg -- --type PtraceIoDesc C.struct_ptrace_io_desc -- --// 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 -deleted file mode 100644 -index 4a96d72c37..0000000000 ---- a/vendor/golang.org/x/sys/unix/types_netbsd.go -+++ /dev/null -@@ -1,290 +0,0 @@ --// 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_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 --) -- --// 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 -deleted file mode 100644 -index 775cb57dc8..0000000000 ---- a/vendor/golang.org/x/sys/unix/types_openbsd.go -+++ /dev/null -@@ -1,283 +0,0 @@ --// 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_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 --) -- --// 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 -- --// Clockinfo -- --const SizeofClockinfo = C.sizeof_struct_clockinfo -- --type Clockinfo C.struct_clockinfo -diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go -deleted file mode 100644 -index 2b716f9348..0000000000 ---- a/vendor/golang.org/x/sys/unix/types_solaris.go -+++ /dev/null -@@ -1,266 +0,0 @@ --// 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/text/encoding/charmap/maketables.go b/vendor/golang.org/x/text/encoding/charmap/maketables.go -deleted file mode 100644 -index f7941701e8..0000000000 ---- a/vendor/golang.org/x/text/encoding/charmap/maketables.go -+++ /dev/null -@@ -1,556 +0,0 @@ --// Copyright 2013 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --import ( -- "bufio" -- "fmt" -- "log" -- "net/http" -- "sort" -- "strings" -- "unicode/utf8" -- -- "golang.org/x/text/encoding" -- "golang.org/x/text/internal/gen" --) -- --const ascii = "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" + -- "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" + -- ` !"#$%&'()*+,-./0123456789:;<=>?` + -- `@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` + -- "`abcdefghijklmnopqrstuvwxyz{|}~\u007f" -- --var encodings = []struct { -- name string -- mib string -- comment string -- varName string -- replacement byte -- mapping string --}{ -- { -- "IBM Code Page 037", -- "IBM037", -- "", -- "CodePage037", -- 0x3f, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM037-2.1.2.ucm", -- }, -- { -- "IBM Code Page 437", -- "PC8CodePage437", -- "", -- "CodePage437", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM437-2.1.2.ucm", -- }, -- { -- "IBM Code Page 850", -- "PC850Multilingual", -- "", -- "CodePage850", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM850-2.1.2.ucm", -- }, -- { -- "IBM Code Page 852", -- "PCp852", -- "", -- "CodePage852", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM852-2.1.2.ucm", -- }, -- { -- "IBM Code Page 855", -- "IBM855", -- "", -- "CodePage855", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM855-2.1.2.ucm", -- }, -- { -- "Windows Code Page 858", // PC latin1 with Euro -- "IBM00858", -- "", -- "CodePage858", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/windows-858-2000.ucm", -- }, -- { -- "IBM Code Page 860", -- "IBM860", -- "", -- "CodePage860", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM860-2.1.2.ucm", -- }, -- { -- "IBM Code Page 862", -- "PC862LatinHebrew", -- "", -- "CodePage862", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM862-2.1.2.ucm", -- }, -- { -- "IBM Code Page 863", -- "IBM863", -- "", -- "CodePage863", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM863-2.1.2.ucm", -- }, -- { -- "IBM Code Page 865", -- "IBM865", -- "", -- "CodePage865", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM865-2.1.2.ucm", -- }, -- { -- "IBM Code Page 866", -- "IBM866", -- "", -- "CodePage866", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-ibm866.txt", -- }, -- { -- "IBM Code Page 1047", -- "IBM1047", -- "", -- "CodePage1047", -- 0x3f, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM1047-2.1.2.ucm", -- }, -- { -- "IBM Code Page 1140", -- "IBM01140", -- "", -- "CodePage1140", -- 0x3f, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/ibm-1140_P100-1997.ucm", -- }, -- { -- "ISO 8859-1", -- "ISOLatin1", -- "", -- "ISO8859_1", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/iso-8859_1-1998.ucm", -- }, -- { -- "ISO 8859-2", -- "ISOLatin2", -- "", -- "ISO8859_2", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-2.txt", -- }, -- { -- "ISO 8859-3", -- "ISOLatin3", -- "", -- "ISO8859_3", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-3.txt", -- }, -- { -- "ISO 8859-4", -- "ISOLatin4", -- "", -- "ISO8859_4", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-4.txt", -- }, -- { -- "ISO 8859-5", -- "ISOLatinCyrillic", -- "", -- "ISO8859_5", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-5.txt", -- }, -- { -- "ISO 8859-6", -- "ISOLatinArabic", -- "", -- "ISO8859_6,ISO8859_6E,ISO8859_6I", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-6.txt", -- }, -- { -- "ISO 8859-7", -- "ISOLatinGreek", -- "", -- "ISO8859_7", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-7.txt", -- }, -- { -- "ISO 8859-8", -- "ISOLatinHebrew", -- "", -- "ISO8859_8,ISO8859_8E,ISO8859_8I", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-8.txt", -- }, -- { -- "ISO 8859-9", -- "ISOLatin5", -- "", -- "ISO8859_9", -- encoding.ASCIISub, -- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/iso-8859_9-1999.ucm", -- }, -- { -- "ISO 8859-10", -- "ISOLatin6", -- "", -- "ISO8859_10", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-10.txt", -- }, -- { -- "ISO 8859-13", -- "ISO885913", -- "", -- "ISO8859_13", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-13.txt", -- }, -- { -- "ISO 8859-14", -- "ISO885914", -- "", -- "ISO8859_14", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-14.txt", -- }, -- { -- "ISO 8859-15", -- "ISO885915", -- "", -- "ISO8859_15", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-15.txt", -- }, -- { -- "ISO 8859-16", -- "ISO885916", -- "", -- "ISO8859_16", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-iso-8859-16.txt", -- }, -- { -- "KOI8-R", -- "KOI8R", -- "", -- "KOI8R", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-koi8-r.txt", -- }, -- { -- "KOI8-U", -- "KOI8U", -- "", -- "KOI8U", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-koi8-u.txt", -- }, -- { -- "Macintosh", -- "Macintosh", -- "", -- "Macintosh", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-macintosh.txt", -- }, -- { -- "Macintosh Cyrillic", -- "MacintoshCyrillic", -- "", -- "MacintoshCyrillic", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-x-mac-cyrillic.txt", -- }, -- { -- "Windows 874", -- "Windows874", -- "", -- "Windows874", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-874.txt", -- }, -- { -- "Windows 1250", -- "Windows1250", -- "", -- "Windows1250", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-1250.txt", -- }, -- { -- "Windows 1251", -- "Windows1251", -- "", -- "Windows1251", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-1251.txt", -- }, -- { -- "Windows 1252", -- "Windows1252", -- "", -- "Windows1252", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-1252.txt", -- }, -- { -- "Windows 1253", -- "Windows1253", -- "", -- "Windows1253", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-1253.txt", -- }, -- { -- "Windows 1254", -- "Windows1254", -- "", -- "Windows1254", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-1254.txt", -- }, -- { -- "Windows 1255", -- "Windows1255", -- "", -- "Windows1255", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-1255.txt", -- }, -- { -- "Windows 1256", -- "Windows1256", -- "", -- "Windows1256", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-1256.txt", -- }, -- { -- "Windows 1257", -- "Windows1257", -- "", -- "Windows1257", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-1257.txt", -- }, -- { -- "Windows 1258", -- "Windows1258", -- "", -- "Windows1258", -- encoding.ASCIISub, -- "http://encoding.spec.whatwg.org/index-windows-1258.txt", -- }, -- { -- "X-User-Defined", -- "XUserDefined", -- "It is defined at http://encoding.spec.whatwg.org/#x-user-defined", -- "XUserDefined", -- encoding.ASCIISub, -- ascii + -- "\uf780\uf781\uf782\uf783\uf784\uf785\uf786\uf787" + -- "\uf788\uf789\uf78a\uf78b\uf78c\uf78d\uf78e\uf78f" + -- "\uf790\uf791\uf792\uf793\uf794\uf795\uf796\uf797" + -- "\uf798\uf799\uf79a\uf79b\uf79c\uf79d\uf79e\uf79f" + -- "\uf7a0\uf7a1\uf7a2\uf7a3\uf7a4\uf7a5\uf7a6\uf7a7" + -- "\uf7a8\uf7a9\uf7aa\uf7ab\uf7ac\uf7ad\uf7ae\uf7af" + -- "\uf7b0\uf7b1\uf7b2\uf7b3\uf7b4\uf7b5\uf7b6\uf7b7" + -- "\uf7b8\uf7b9\uf7ba\uf7bb\uf7bc\uf7bd\uf7be\uf7bf" + -- "\uf7c0\uf7c1\uf7c2\uf7c3\uf7c4\uf7c5\uf7c6\uf7c7" + -- "\uf7c8\uf7c9\uf7ca\uf7cb\uf7cc\uf7cd\uf7ce\uf7cf" + -- "\uf7d0\uf7d1\uf7d2\uf7d3\uf7d4\uf7d5\uf7d6\uf7d7" + -- "\uf7d8\uf7d9\uf7da\uf7db\uf7dc\uf7dd\uf7de\uf7df" + -- "\uf7e0\uf7e1\uf7e2\uf7e3\uf7e4\uf7e5\uf7e6\uf7e7" + -- "\uf7e8\uf7e9\uf7ea\uf7eb\uf7ec\uf7ed\uf7ee\uf7ef" + -- "\uf7f0\uf7f1\uf7f2\uf7f3\uf7f4\uf7f5\uf7f6\uf7f7" + -- "\uf7f8\uf7f9\uf7fa\uf7fb\uf7fc\uf7fd\uf7fe\uf7ff", -- }, --} -- --func getWHATWG(url string) string { -- res, err := http.Get(url) -- if err != nil { -- log.Fatalf("%q: Get: %v", url, err) -- } -- defer res.Body.Close() -- -- mapping := make([]rune, 128) -- for i := range mapping { -- mapping[i] = '\ufffd' -- } -- -- scanner := bufio.NewScanner(res.Body) -- for scanner.Scan() { -- s := strings.TrimSpace(scanner.Text()) -- if s == "" || s[0] == '#' { -- continue -- } -- x, y := 0, 0 -- if _, err := fmt.Sscanf(s, "%d\t0x%x", &x, &y); err != nil { -- log.Fatalf("could not parse %q", s) -- } -- if x < 0 || 128 <= x { -- log.Fatalf("code %d is out of range", x) -- } -- if 0x80 <= y && y < 0xa0 { -- // We diverge from the WHATWG spec by mapping control characters -- // in the range [0x80, 0xa0) to U+FFFD. -- continue -- } -- mapping[x] = rune(y) -- } -- return ascii + string(mapping) --} -- --func getUCM(url string) string { -- res, err := http.Get(url) -- if err != nil { -- log.Fatalf("%q: Get: %v", url, err) -- } -- defer res.Body.Close() -- -- mapping := make([]rune, 256) -- for i := range mapping { -- mapping[i] = '\ufffd' -- } -- -- charsFound := 0 -- scanner := bufio.NewScanner(res.Body) -- for scanner.Scan() { -- s := strings.TrimSpace(scanner.Text()) -- if s == "" || s[0] == '#' { -- continue -- } -- var c byte -- var r rune -- if _, err := fmt.Sscanf(s, ` \x%x |0`, &r, &c); err != nil { -- continue -- } -- mapping[c] = r -- charsFound++ -- } -- -- if charsFound < 200 { -- log.Fatalf("%q: only %d characters found (wrong page format?)", url, charsFound) -- } -- -- return string(mapping) --} -- --func main() { -- mibs := map[string]bool{} -- all := []string{} -- -- w := gen.NewCodeWriter() -- defer w.WriteGoFile("tables.go", "charmap") -- -- printf := func(s string, a ...interface{}) { fmt.Fprintf(w, s, a...) } -- -- printf("import (\n") -- printf("\t\"golang.org/x/text/encoding\"\n") -- printf("\t\"golang.org/x/text/encoding/internal/identifier\"\n") -- printf(")\n\n") -- for _, e := range encodings { -- varNames := strings.Split(e.varName, ",") -- all = append(all, varNames...) -- varName := varNames[0] -- switch { -- case strings.HasPrefix(e.mapping, "http://encoding.spec.whatwg.org/"): -- e.mapping = getWHATWG(e.mapping) -- case strings.HasPrefix(e.mapping, "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/"): -- e.mapping = getUCM(e.mapping) -- } -- -- asciiSuperset, low := strings.HasPrefix(e.mapping, ascii), 0x00 -- if asciiSuperset { -- low = 0x80 -- } -- lvn := 1 -- if strings.HasPrefix(varName, "ISO") || strings.HasPrefix(varName, "KOI") { -- lvn = 3 -- } -- lowerVarName := strings.ToLower(varName[:lvn]) + varName[lvn:] -- printf("// %s is the %s encoding.\n", varName, e.name) -- if e.comment != "" { -- printf("//\n// %s\n", e.comment) -- } -- printf("var %s *Charmap = &%s\n\nvar %s = Charmap{\nname: %q,\n", -- varName, lowerVarName, lowerVarName, e.name) -- if mibs[e.mib] { -- log.Fatalf("MIB type %q declared multiple times.", e.mib) -- } -- printf("mib: identifier.%s,\n", e.mib) -- printf("asciiSuperset: %t,\n", asciiSuperset) -- printf("low: 0x%02x,\n", low) -- printf("replacement: 0x%02x,\n", e.replacement) -- -- printf("decode: [256]utf8Enc{\n") -- i, backMapping := 0, map[rune]byte{} -- for _, c := range e.mapping { -- if _, ok := backMapping[c]; !ok && c != utf8.RuneError { -- backMapping[c] = byte(i) -- } -- var buf [8]byte -- n := utf8.EncodeRune(buf[:], c) -- if n > 3 { -- panic(fmt.Sprintf("rune %q (%U) is too long", c, c)) -- } -- printf("{%d,[3]byte{0x%02x,0x%02x,0x%02x}},", n, buf[0], buf[1], buf[2]) -- if i%2 == 1 { -- printf("\n") -- } -- i++ -- } -- printf("},\n") -- -- printf("encode: [256]uint32{\n") -- encode := make([]uint32, 0, 256) -- for c, i := range backMapping { -- encode = append(encode, uint32(i)<<24|uint32(c)) -- } -- sort.Sort(byRune(encode)) -- for len(encode) < cap(encode) { -- encode = append(encode, encode[len(encode)-1]) -- } -- for i, enc := range encode { -- printf("0x%08x,", enc) -- if i%8 == 7 { -- printf("\n") -- } -- } -- printf("},\n}\n") -- -- // Add an estimate of the size of a single Charmap{} struct value, which -- // includes two 256 elem arrays of 4 bytes and some extra fields, which -- // align to 3 uint64s on 64-bit architectures. -- w.Size += 2*4*256 + 3*8 -- } -- // TODO: add proper line breaking. -- printf("var listAll = []encoding.Encoding{\n%s,\n}\n\n", strings.Join(all, ",\n")) --} -- --type byRune []uint32 -- --func (b byRune) Len() int { return len(b) } --func (b byRune) Less(i, j int) bool { return b[i]&0xffffff < b[j]&0xffffff } --func (b byRune) Swap(i, j int) { b[i], b[j] = b[j], b[i] } -diff --git a/vendor/golang.org/x/text/encoding/htmlindex/gen.go b/vendor/golang.org/x/text/encoding/htmlindex/gen.go -deleted file mode 100644 -index ac6b4a77fd..0000000000 ---- a/vendor/golang.org/x/text/encoding/htmlindex/gen.go -+++ /dev/null -@@ -1,173 +0,0 @@ --// Copyright 2015 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --import ( -- "bytes" -- "encoding/json" -- "fmt" -- "log" -- "strings" -- -- "golang.org/x/text/internal/gen" --) -- --type group struct { -- Encodings []struct { -- Labels []string -- Name string -- } --} -- --func main() { -- gen.Init() -- -- r := gen.Open("https://encoding.spec.whatwg.org", "whatwg", "encodings.json") -- var groups []group -- if err := json.NewDecoder(r).Decode(&groups); err != nil { -- log.Fatalf("Error reading encodings.json: %v", err) -- } -- -- w := &bytes.Buffer{} -- fmt.Fprintln(w, "type htmlEncoding byte") -- fmt.Fprintln(w, "const (") -- for i, g := range groups { -- for _, e := range g.Encodings { -- key := strings.ToLower(e.Name) -- name := consts[key] -- if name == "" { -- log.Fatalf("No const defined for %s.", key) -- } -- if i == 0 { -- fmt.Fprintf(w, "%s htmlEncoding = iota\n", name) -- } else { -- fmt.Fprintf(w, "%s\n", name) -- } -- } -- } -- fmt.Fprintln(w, "numEncodings") -- fmt.Fprint(w, ")\n\n") -- -- fmt.Fprintln(w, "var canonical = [numEncodings]string{") -- for _, g := range groups { -- for _, e := range g.Encodings { -- fmt.Fprintf(w, "%q,\n", strings.ToLower(e.Name)) -- } -- } -- fmt.Fprint(w, "}\n\n") -- -- fmt.Fprintln(w, "var nameMap = map[string]htmlEncoding{") -- for _, g := range groups { -- for _, e := range g.Encodings { -- for _, l := range e.Labels { -- key := strings.ToLower(e.Name) -- name := consts[key] -- fmt.Fprintf(w, "%q: %s,\n", l, name) -- } -- } -- } -- fmt.Fprint(w, "}\n\n") -- -- var tags []string -- fmt.Fprintln(w, "var localeMap = []htmlEncoding{") -- for _, loc := range locales { -- tags = append(tags, loc.tag) -- fmt.Fprintf(w, "%s, // %s \n", consts[loc.name], loc.tag) -- } -- fmt.Fprint(w, "}\n\n") -- -- fmt.Fprintf(w, "const locales = %q\n", strings.Join(tags, " ")) -- -- gen.WriteGoFile("tables.go", "htmlindex", w.Bytes()) --} -- --// consts maps canonical encoding name to internal constant. --var consts = map[string]string{ -- "utf-8": "utf8", -- "ibm866": "ibm866", -- "iso-8859-2": "iso8859_2", -- "iso-8859-3": "iso8859_3", -- "iso-8859-4": "iso8859_4", -- "iso-8859-5": "iso8859_5", -- "iso-8859-6": "iso8859_6", -- "iso-8859-7": "iso8859_7", -- "iso-8859-8": "iso8859_8", -- "iso-8859-8-i": "iso8859_8I", -- "iso-8859-10": "iso8859_10", -- "iso-8859-13": "iso8859_13", -- "iso-8859-14": "iso8859_14", -- "iso-8859-15": "iso8859_15", -- "iso-8859-16": "iso8859_16", -- "koi8-r": "koi8r", -- "koi8-u": "koi8u", -- "macintosh": "macintosh", -- "windows-874": "windows874", -- "windows-1250": "windows1250", -- "windows-1251": "windows1251", -- "windows-1252": "windows1252", -- "windows-1253": "windows1253", -- "windows-1254": "windows1254", -- "windows-1255": "windows1255", -- "windows-1256": "windows1256", -- "windows-1257": "windows1257", -- "windows-1258": "windows1258", -- "x-mac-cyrillic": "macintoshCyrillic", -- "gbk": "gbk", -- "gb18030": "gb18030", -- // "hz-gb-2312": "hzgb2312", // Was removed from WhatWG -- "big5": "big5", -- "euc-jp": "eucjp", -- "iso-2022-jp": "iso2022jp", -- "shift_jis": "shiftJIS", -- "euc-kr": "euckr", -- "replacement": "replacement", -- "utf-16be": "utf16be", -- "utf-16le": "utf16le", -- "x-user-defined": "xUserDefined", --} -- --// locales is taken from --// https://html.spec.whatwg.org/multipage/syntax.html#encoding-sniffing-algorithm. --var locales = []struct{ tag, name string }{ -- // The default value. Explicitly state latin to benefit from the exact -- // script option, while still making 1252 the default encoding for languages -- // written in Latin script. -- {"und_Latn", "windows-1252"}, -- {"ar", "windows-1256"}, -- {"ba", "windows-1251"}, -- {"be", "windows-1251"}, -- {"bg", "windows-1251"}, -- {"cs", "windows-1250"}, -- {"el", "iso-8859-7"}, -- {"et", "windows-1257"}, -- {"fa", "windows-1256"}, -- {"he", "windows-1255"}, -- {"hr", "windows-1250"}, -- {"hu", "iso-8859-2"}, -- {"ja", "shift_jis"}, -- {"kk", "windows-1251"}, -- {"ko", "euc-kr"}, -- {"ku", "windows-1254"}, -- {"ky", "windows-1251"}, -- {"lt", "windows-1257"}, -- {"lv", "windows-1257"}, -- {"mk", "windows-1251"}, -- {"pl", "iso-8859-2"}, -- {"ru", "windows-1251"}, -- {"sah", "windows-1251"}, -- {"sk", "windows-1250"}, -- {"sl", "iso-8859-2"}, -- {"sr", "windows-1251"}, -- {"tg", "windows-1251"}, -- {"th", "windows-874"}, -- {"tr", "windows-1254"}, -- {"tt", "windows-1251"}, -- {"uk", "windows-1251"}, -- {"vi", "windows-1258"}, -- {"zh-hans", "gb18030"}, -- {"zh-hant", "big5"}, --} -diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/gen.go b/vendor/golang.org/x/text/encoding/internal/identifier/gen.go -deleted file mode 100644 -index 26cfef9c6b..0000000000 ---- a/vendor/golang.org/x/text/encoding/internal/identifier/gen.go -+++ /dev/null -@@ -1,142 +0,0 @@ --// Copyright 2015 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --import ( -- "bytes" -- "encoding/xml" -- "fmt" -- "io" -- "log" -- "strings" -- -- "golang.org/x/text/internal/gen" --) -- --type registry struct { -- XMLName xml.Name `xml:"registry"` -- Updated string `xml:"updated"` -- Registry []struct { -- ID string `xml:"id,attr"` -- Record []struct { -- Name string `xml:"name"` -- Xref []struct { -- Type string `xml:"type,attr"` -- Data string `xml:"data,attr"` -- } `xml:"xref"` -- Desc struct { -- Data string `xml:",innerxml"` -- // Any []struct { -- // Data string `xml:",chardata"` -- // } `xml:",any"` -- // Data string `xml:",chardata"` -- } `xml:"description,"` -- MIB string `xml:"value"` -- Alias []string `xml:"alias"` -- MIME string `xml:"preferred_alias"` -- } `xml:"record"` -- } `xml:"registry"` --} -- --func main() { -- r := gen.OpenIANAFile("assignments/character-sets/character-sets.xml") -- reg := ®istry{} -- if err := xml.NewDecoder(r).Decode(®); err != nil && err != io.EOF { -- log.Fatalf("Error decoding charset registry: %v", err) -- } -- if len(reg.Registry) == 0 || reg.Registry[0].ID != "character-sets-1" { -- log.Fatalf("Unexpected ID %s", reg.Registry[0].ID) -- } -- -- w := &bytes.Buffer{} -- fmt.Fprintf(w, "const (\n") -- for _, rec := range reg.Registry[0].Record { -- constName := "" -- for _, a := range rec.Alias { -- if strings.HasPrefix(a, "cs") && strings.IndexByte(a, '-') == -1 { -- // Some of the constant definitions have comments in them. Strip those. -- constName = strings.Title(strings.SplitN(a[2:], "\n", 2)[0]) -- } -- } -- if constName == "" { -- switch rec.MIB { -- case "2085": -- constName = "HZGB2312" // Not listed as alias for some reason. -- default: -- log.Fatalf("No cs alias defined for %s.", rec.MIB) -- } -- } -- if rec.MIME != "" { -- rec.MIME = fmt.Sprintf(" (MIME: %s)", rec.MIME) -- } -- fmt.Fprintf(w, "// %s is the MIB identifier with IANA name %s%s.\n//\n", constName, rec.Name, rec.MIME) -- if len(rec.Desc.Data) > 0 { -- fmt.Fprint(w, "// ") -- d := xml.NewDecoder(strings.NewReader(rec.Desc.Data)) -- inElem := true -- attr := "" -- for { -- t, err := d.Token() -- if err != nil { -- if err != io.EOF { -- log.Fatal(err) -- } -- break -- } -- switch x := t.(type) { -- case xml.CharData: -- attr = "" // Don't need attribute info. -- a := bytes.Split([]byte(x), []byte("\n")) -- for i, b := range a { -- if b = bytes.TrimSpace(b); len(b) != 0 { -- if !inElem && i > 0 { -- fmt.Fprint(w, "\n// ") -- } -- inElem = false -- fmt.Fprintf(w, "%s ", string(b)) -- } -- } -- case xml.StartElement: -- if x.Name.Local == "xref" { -- inElem = true -- use := false -- for _, a := range x.Attr { -- if a.Name.Local == "type" { -- use = use || a.Value != "person" -- } -- if a.Name.Local == "data" && use { -- // Patch up URLs to use https. From some links, the -- // https version is different from the http one. -- s := a.Value -- s = strings.Replace(s, "http://", "https://", -1) -- s = strings.Replace(s, "/unicode/", "/", -1) -- attr = s + " " -- } -- } -- } -- case xml.EndElement: -- inElem = false -- fmt.Fprint(w, attr) -- } -- } -- fmt.Fprint(w, "\n") -- } -- for _, x := range rec.Xref { -- switch x.Type { -- case "rfc": -- fmt.Fprintf(w, "// Reference: %s\n", strings.ToUpper(x.Data)) -- case "uri": -- fmt.Fprintf(w, "// Reference: %s\n", x.Data) -- } -- } -- fmt.Fprintf(w, "%s MIB = %s\n", constName, rec.MIB) -- fmt.Fprintln(w) -- } -- fmt.Fprintln(w, ")") -- -- gen.WriteGoFile("mib.go", "identifier", w.Bytes()) --} -diff --git a/vendor/golang.org/x/text/encoding/japanese/maketables.go b/vendor/golang.org/x/text/encoding/japanese/maketables.go -deleted file mode 100644 -index 023957a672..0000000000 ---- a/vendor/golang.org/x/text/encoding/japanese/maketables.go -+++ /dev/null -@@ -1,161 +0,0 @@ --// Copyright 2013 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --// This program generates tables.go: --// go run maketables.go | gofmt > tables.go -- --// TODO: Emoji extensions? --// https://www.unicode.org/faq/emoji_dingbats.html --// https://www.unicode.org/Public/UNIDATA/EmojiSources.txt -- --import ( -- "bufio" -- "fmt" -- "log" -- "net/http" -- "sort" -- "strings" --) -- --type entry struct { -- jisCode, table int --} -- --func main() { -- fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n") -- fmt.Printf("// Package japanese provides Japanese encodings such as EUC-JP and Shift JIS.\n") -- fmt.Printf(`package japanese // import "golang.org/x/text/encoding/japanese"` + "\n\n") -- -- reverse := [65536]entry{} -- for i := range reverse { -- reverse[i].table = -1 -- } -- -- tables := []struct { -- url string -- name string -- }{ -- {"http://encoding.spec.whatwg.org/index-jis0208.txt", "0208"}, -- {"http://encoding.spec.whatwg.org/index-jis0212.txt", "0212"}, -- } -- for i, table := range tables { -- res, err := http.Get(table.url) -- if err != nil { -- log.Fatalf("%q: Get: %v", table.url, err) -- } -- defer res.Body.Close() -- -- mapping := [65536]uint16{} -- -- scanner := bufio.NewScanner(res.Body) -- for scanner.Scan() { -- s := strings.TrimSpace(scanner.Text()) -- if s == "" || s[0] == '#' { -- continue -- } -- x, y := 0, uint16(0) -- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { -- log.Fatalf("%q: could not parse %q", table.url, s) -- } -- if x < 0 || 120*94 <= x { -- log.Fatalf("%q: JIS code %d is out of range", table.url, x) -- } -- mapping[x] = y -- if reverse[y].table == -1 { -- reverse[y] = entry{jisCode: x, table: i} -- } -- } -- if err := scanner.Err(); err != nil { -- log.Fatalf("%q: scanner error: %v", table.url, err) -- } -- -- fmt.Printf("// jis%sDecode is the decoding table from JIS %s code to Unicode.\n// It is defined at %s\n", -- table.name, table.name, table.url) -- fmt.Printf("var jis%sDecode = [...]uint16{\n", table.name) -- for i, m := range mapping { -- if m != 0 { -- fmt.Printf("\t%d: 0x%04X,\n", i, m) -- } -- } -- fmt.Printf("}\n\n") -- } -- -- // Any run of at least separation continuous zero entries in the reverse map will -- // be a separate encode table. -- const separation = 1024 -- -- intervals := []interval(nil) -- low, high := -1, -1 -- for i, v := range reverse { -- if v.table == -1 { -- continue -- } -- if low < 0 { -- low = i -- } else if i-high >= separation { -- if high >= 0 { -- intervals = append(intervals, interval{low, high}) -- } -- low = i -- } -- high = i + 1 -- } -- if high >= 0 { -- intervals = append(intervals, interval{low, high}) -- } -- sort.Sort(byDecreasingLength(intervals)) -- -- fmt.Printf("const (\n") -- fmt.Printf("\tjis0208 = 1\n") -- fmt.Printf("\tjis0212 = 2\n") -- fmt.Printf("\tcodeMask = 0x7f\n") -- fmt.Printf("\tcodeShift = 7\n") -- fmt.Printf("\ttableShift = 14\n") -- fmt.Printf(")\n\n") -- -- fmt.Printf("const numEncodeTables = %d\n\n", len(intervals)) -- fmt.Printf("// encodeX are the encoding tables from Unicode to JIS code,\n") -- fmt.Printf("// sorted by decreasing length.\n") -- for i, v := range intervals { -- fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high) -- } -- fmt.Printf("//\n") -- fmt.Printf("// The high two bits of the value record whether the JIS code comes from the\n") -- fmt.Printf("// JIS0208 table (high bits == 1) or the JIS0212 table (high bits == 2).\n") -- fmt.Printf("// The low 14 bits are two 7-bit unsigned integers j1 and j2 that form the\n") -- fmt.Printf("// JIS code (94*j1 + j2) within that table.\n") -- fmt.Printf("\n") -- -- for i, v := range intervals { -- fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high) -- fmt.Printf("var encode%d = [...]uint16{\n", i) -- for j := v.low; j < v.high; j++ { -- x := reverse[j] -- if x.table == -1 { -- continue -- } -- fmt.Printf("\t%d - %d: jis%s<<14 | 0x%02X<<7 | 0x%02X,\n", -- j, v.low, tables[x.table].name, x.jisCode/94, x.jisCode%94) -- } -- fmt.Printf("}\n\n") -- } --} -- --// interval is a half-open interval [low, high). --type interval struct { -- low, high int --} -- --func (i interval) len() int { return i.high - i.low } -- --// byDecreasingLength sorts intervals by decreasing length. --type byDecreasingLength []interval -- --func (b byDecreasingLength) Len() int { return len(b) } --func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() } --func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } -diff --git a/vendor/golang.org/x/text/encoding/korean/maketables.go b/vendor/golang.org/x/text/encoding/korean/maketables.go -deleted file mode 100644 -index c84034fb67..0000000000 ---- a/vendor/golang.org/x/text/encoding/korean/maketables.go -+++ /dev/null -@@ -1,143 +0,0 @@ --// Copyright 2013 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --// This program generates tables.go: --// go run maketables.go | gofmt > tables.go -- --import ( -- "bufio" -- "fmt" -- "log" -- "net/http" -- "sort" -- "strings" --) -- --func main() { -- fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n") -- fmt.Printf("// Package korean provides Korean encodings such as EUC-KR.\n") -- fmt.Printf(`package korean // import "golang.org/x/text/encoding/korean"` + "\n\n") -- -- res, err := http.Get("http://encoding.spec.whatwg.org/index-euc-kr.txt") -- if err != nil { -- log.Fatalf("Get: %v", err) -- } -- defer res.Body.Close() -- -- mapping := [65536]uint16{} -- reverse := [65536]uint16{} -- -- scanner := bufio.NewScanner(res.Body) -- for scanner.Scan() { -- s := strings.TrimSpace(scanner.Text()) -- if s == "" || s[0] == '#' { -- continue -- } -- x, y := uint16(0), uint16(0) -- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { -- log.Fatalf("could not parse %q", s) -- } -- if x < 0 || 178*(0xc7-0x81)+(0xfe-0xc7)*94+(0xff-0xa1) <= x { -- log.Fatalf("EUC-KR code %d is out of range", x) -- } -- mapping[x] = y -- if reverse[y] == 0 { -- c0, c1 := uint16(0), uint16(0) -- if x < 178*(0xc7-0x81) { -- c0 = uint16(x/178) + 0x81 -- c1 = uint16(x % 178) -- switch { -- case c1 < 1*26: -- c1 += 0x41 -- case c1 < 2*26: -- c1 += 0x47 -- default: -- c1 += 0x4d -- } -- } else { -- x -= 178 * (0xc7 - 0x81) -- c0 = uint16(x/94) + 0xc7 -- c1 = uint16(x%94) + 0xa1 -- } -- reverse[y] = c0<<8 | c1 -- } -- } -- if err := scanner.Err(); err != nil { -- log.Fatalf("scanner error: %v", err) -- } -- -- fmt.Printf("// decode is the decoding table from EUC-KR code to Unicode.\n") -- fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-euc-kr.txt\n") -- fmt.Printf("var decode = [...]uint16{\n") -- for i, v := range mapping { -- if v != 0 { -- fmt.Printf("\t%d: 0x%04X,\n", i, v) -- } -- } -- fmt.Printf("}\n\n") -- -- // Any run of at least separation continuous zero entries in the reverse map will -- // be a separate encode table. -- const separation = 1024 -- -- intervals := []interval(nil) -- low, high := -1, -1 -- for i, v := range reverse { -- if v == 0 { -- continue -- } -- if low < 0 { -- low = i -- } else if i-high >= separation { -- if high >= 0 { -- intervals = append(intervals, interval{low, high}) -- } -- low = i -- } -- high = i + 1 -- } -- if high >= 0 { -- intervals = append(intervals, interval{low, high}) -- } -- sort.Sort(byDecreasingLength(intervals)) -- -- fmt.Printf("const numEncodeTables = %d\n\n", len(intervals)) -- fmt.Printf("// encodeX are the encoding tables from Unicode to EUC-KR code,\n") -- fmt.Printf("// sorted by decreasing length.\n") -- for i, v := range intervals { -- fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high) -- } -- fmt.Printf("\n") -- -- for i, v := range intervals { -- fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high) -- fmt.Printf("var encode%d = [...]uint16{\n", i) -- for j := v.low; j < v.high; j++ { -- x := reverse[j] -- if x == 0 { -- continue -- } -- fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x) -- } -- fmt.Printf("}\n\n") -- } --} -- --// interval is a half-open interval [low, high). --type interval struct { -- low, high int --} -- --func (i interval) len() int { return i.high - i.low } -- --// byDecreasingLength sorts intervals by decreasing length. --type byDecreasingLength []interval -- --func (b byDecreasingLength) Len() int { return len(b) } --func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() } --func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } -diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go -deleted file mode 100644 -index 55016c7862..0000000000 ---- a/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go -+++ /dev/null -@@ -1,161 +0,0 @@ --// Copyright 2013 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --// This program generates tables.go: --// go run maketables.go | gofmt > tables.go -- --import ( -- "bufio" -- "fmt" -- "log" -- "net/http" -- "sort" -- "strings" --) -- --func main() { -- fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n") -- fmt.Printf("// Package simplifiedchinese provides Simplified Chinese encodings such as GBK.\n") -- fmt.Printf(`package simplifiedchinese // import "golang.org/x/text/encoding/simplifiedchinese"` + "\n\n") -- -- printGB18030() -- printGBK() --} -- --func printGB18030() { -- res, err := http.Get("http://encoding.spec.whatwg.org/index-gb18030.txt") -- if err != nil { -- log.Fatalf("Get: %v", err) -- } -- defer res.Body.Close() -- -- fmt.Printf("// gb18030 is the table from http://encoding.spec.whatwg.org/index-gb18030.txt\n") -- fmt.Printf("var gb18030 = [...][2]uint16{\n") -- scanner := bufio.NewScanner(res.Body) -- for scanner.Scan() { -- s := strings.TrimSpace(scanner.Text()) -- if s == "" || s[0] == '#' { -- continue -- } -- x, y := uint32(0), uint32(0) -- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { -- log.Fatalf("could not parse %q", s) -- } -- if x < 0x10000 && y < 0x10000 { -- fmt.Printf("\t{0x%04x, 0x%04x},\n", x, y) -- } -- } -- fmt.Printf("}\n\n") --} -- --func printGBK() { -- res, err := http.Get("http://encoding.spec.whatwg.org/index-gbk.txt") -- if err != nil { -- log.Fatalf("Get: %v", err) -- } -- defer res.Body.Close() -- -- mapping := [65536]uint16{} -- reverse := [65536]uint16{} -- -- scanner := bufio.NewScanner(res.Body) -- for scanner.Scan() { -- s := strings.TrimSpace(scanner.Text()) -- if s == "" || s[0] == '#' { -- continue -- } -- x, y := uint16(0), uint16(0) -- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { -- log.Fatalf("could not parse %q", s) -- } -- if x < 0 || 126*190 <= x { -- log.Fatalf("GBK code %d is out of range", x) -- } -- mapping[x] = y -- if reverse[y] == 0 { -- c0, c1 := x/190, x%190 -- if c1 >= 0x3f { -- c1++ -- } -- reverse[y] = (0x81+c0)<<8 | (0x40 + c1) -- } -- } -- if err := scanner.Err(); err != nil { -- log.Fatalf("scanner error: %v", err) -- } -- -- fmt.Printf("// decode is the decoding table from GBK code to Unicode.\n") -- fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-gbk.txt\n") -- fmt.Printf("var decode = [...]uint16{\n") -- for i, v := range mapping { -- if v != 0 { -- fmt.Printf("\t%d: 0x%04X,\n", i, v) -- } -- } -- fmt.Printf("}\n\n") -- -- // Any run of at least separation continuous zero entries in the reverse map will -- // be a separate encode table. -- const separation = 1024 -- -- intervals := []interval(nil) -- low, high := -1, -1 -- for i, v := range reverse { -- if v == 0 { -- continue -- } -- if low < 0 { -- low = i -- } else if i-high >= separation { -- if high >= 0 { -- intervals = append(intervals, interval{low, high}) -- } -- low = i -- } -- high = i + 1 -- } -- if high >= 0 { -- intervals = append(intervals, interval{low, high}) -- } -- sort.Sort(byDecreasingLength(intervals)) -- -- fmt.Printf("const numEncodeTables = %d\n\n", len(intervals)) -- fmt.Printf("// encodeX are the encoding tables from Unicode to GBK code,\n") -- fmt.Printf("// sorted by decreasing length.\n") -- for i, v := range intervals { -- fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high) -- } -- fmt.Printf("\n") -- -- for i, v := range intervals { -- fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high) -- fmt.Printf("var encode%d = [...]uint16{\n", i) -- for j := v.low; j < v.high; j++ { -- x := reverse[j] -- if x == 0 { -- continue -- } -- fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x) -- } -- fmt.Printf("}\n\n") -- } --} -- --// interval is a half-open interval [low, high). --type interval struct { -- low, high int --} -- --func (i interval) len() int { return i.high - i.low } -- --// byDecreasingLength sorts intervals by decreasing length. --type byDecreasingLength []interval -- --func (b byDecreasingLength) Len() int { return len(b) } --func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() } --func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } -diff --git a/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go b/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go -deleted file mode 100644 -index cf7fdb31a5..0000000000 ---- a/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go -+++ /dev/null -@@ -1,140 +0,0 @@ --// Copyright 2013 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --// This program generates tables.go: --// go run maketables.go | gofmt > tables.go -- --import ( -- "bufio" -- "fmt" -- "log" -- "net/http" -- "sort" -- "strings" --) -- --func main() { -- fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n") -- fmt.Printf("// Package traditionalchinese provides Traditional Chinese encodings such as Big5.\n") -- fmt.Printf(`package traditionalchinese // import "golang.org/x/text/encoding/traditionalchinese"` + "\n\n") -- -- res, err := http.Get("http://encoding.spec.whatwg.org/index-big5.txt") -- if err != nil { -- log.Fatalf("Get: %v", err) -- } -- defer res.Body.Close() -- -- mapping := [65536]uint32{} -- reverse := [65536 * 4]uint16{} -- -- scanner := bufio.NewScanner(res.Body) -- for scanner.Scan() { -- s := strings.TrimSpace(scanner.Text()) -- if s == "" || s[0] == '#' { -- continue -- } -- x, y := uint16(0), uint32(0) -- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil { -- log.Fatalf("could not parse %q", s) -- } -- if x < 0 || 126*157 <= x { -- log.Fatalf("Big5 code %d is out of range", x) -- } -- mapping[x] = y -- -- // The WHATWG spec http://encoding.spec.whatwg.org/#indexes says that -- // "The index pointer for code point in index is the first pointer -- // corresponding to code point in index", which would normally mean -- // that the code below should be guarded by "if reverse[y] == 0", but -- // last instead of first seems to match the behavior of -- // "iconv -f UTF-8 -t BIG5". For example, U+8005 者 occurs twice in -- // http://encoding.spec.whatwg.org/index-big5.txt, as index 2148 -- // (encoded as "\x8e\xcd") and index 6543 (encoded as "\xaa\xcc") -- // and "echo 者 | iconv -f UTF-8 -t BIG5 | xxd" gives "\xaa\xcc". -- c0, c1 := x/157, x%157 -- if c1 < 0x3f { -- c1 += 0x40 -- } else { -- c1 += 0x62 -- } -- reverse[y] = (0x81+c0)<<8 | c1 -- } -- if err := scanner.Err(); err != nil { -- log.Fatalf("scanner error: %v", err) -- } -- -- fmt.Printf("// decode is the decoding table from Big5 code to Unicode.\n") -- fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-big5.txt\n") -- fmt.Printf("var decode = [...]uint32{\n") -- for i, v := range mapping { -- if v != 0 { -- fmt.Printf("\t%d: 0x%08X,\n", i, v) -- } -- } -- fmt.Printf("}\n\n") -- -- // Any run of at least separation continuous zero entries in the reverse map will -- // be a separate encode table. -- const separation = 1024 -- -- intervals := []interval(nil) -- low, high := -1, -1 -- for i, v := range reverse { -- if v == 0 { -- continue -- } -- if low < 0 { -- low = i -- } else if i-high >= separation { -- if high >= 0 { -- intervals = append(intervals, interval{low, high}) -- } -- low = i -- } -- high = i + 1 -- } -- if high >= 0 { -- intervals = append(intervals, interval{low, high}) -- } -- sort.Sort(byDecreasingLength(intervals)) -- -- fmt.Printf("const numEncodeTables = %d\n\n", len(intervals)) -- fmt.Printf("// encodeX are the encoding tables from Unicode to Big5 code,\n") -- fmt.Printf("// sorted by decreasing length.\n") -- for i, v := range intervals { -- fmt.Printf("// encode%d: %5d entries for runes in [%6d, %6d).\n", i, v.len(), v.low, v.high) -- } -- fmt.Printf("\n") -- -- for i, v := range intervals { -- fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high) -- fmt.Printf("var encode%d = [...]uint16{\n", i) -- for j := v.low; j < v.high; j++ { -- x := reverse[j] -- if x == 0 { -- continue -- } -- fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x) -- } -- fmt.Printf("}\n\n") -- } --} -- --// interval is a half-open interval [low, high). --type interval struct { -- low, high int --} -- --func (i interval) len() int { return i.high - i.low } -- --// byDecreasingLength sorts intervals by decreasing length. --type byDecreasingLength []interval -- --func (b byDecreasingLength) Len() int { return len(b) } --func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() } --func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } -diff --git a/vendor/golang.org/x/text/internal/language/compact/gen.go b/vendor/golang.org/x/text/internal/language/compact/gen.go -deleted file mode 100644 -index 0c36a052f6..0000000000 ---- a/vendor/golang.org/x/text/internal/language/compact/gen.go -+++ /dev/null -@@ -1,64 +0,0 @@ --// Copyright 2013 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --// Language tag table generator. --// Data read from the web. -- --package main -- --import ( -- "flag" -- "fmt" -- "log" -- -- "golang.org/x/text/internal/gen" -- "golang.org/x/text/unicode/cldr" --) -- --var ( -- test = flag.Bool("test", -- false, -- "test existing tables; can be used to compare web data with package data.") -- outputFile = flag.String("output", -- "tables.go", -- "output file for generated tables") --) -- --func main() { -- gen.Init() -- -- w := gen.NewCodeWriter() -- defer w.WriteGoFile("tables.go", "compact") -- -- fmt.Fprintln(w, `import "golang.org/x/text/internal/language"`) -- -- b := newBuilder(w) -- gen.WriteCLDRVersion(w) -- -- b.writeCompactIndex() --} -- --type builder struct { -- w *gen.CodeWriter -- data *cldr.CLDR -- supp *cldr.SupplementalData --} -- --func newBuilder(w *gen.CodeWriter) *builder { -- r := gen.OpenCLDRCoreZip() -- defer r.Close() -- d := &cldr.Decoder{} -- data, err := d.DecodeZip(r) -- if err != nil { -- log.Fatal(err) -- } -- b := builder{ -- w: w, -- data: data, -- supp: data.Supplemental(), -- } -- return &b --} -diff --git a/vendor/golang.org/x/text/internal/language/compact/gen_index.go b/vendor/golang.org/x/text/internal/language/compact/gen_index.go -deleted file mode 100644 -index 136cefaf08..0000000000 ---- a/vendor/golang.org/x/text/internal/language/compact/gen_index.go -+++ /dev/null -@@ -1,113 +0,0 @@ --// Copyright 2015 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --// This file generates derivative tables based on the language package itself. -- --import ( -- "fmt" -- "log" -- "sort" -- "strings" -- -- "golang.org/x/text/internal/language" --) -- --// Compact indices: --// Note -va-X variants only apply to localization variants. --// BCP variants only ever apply to language. --// The only ambiguity between tags is with regions. -- --func (b *builder) writeCompactIndex() { -- // Collect all language tags for which we have any data in CLDR. -- m := map[language.Tag]bool{} -- for _, lang := range b.data.Locales() { -- // We include all locales unconditionally to be consistent with en_US. -- // We want en_US, even though it has no data associated with it. -- -- // TODO: put any of the languages for which no data exists at the end -- // of the index. This allows all components based on ICU to use that -- // as the cutoff point. -- // if x := data.RawLDML(lang); false || -- // x.LocaleDisplayNames != nil || -- // x.Characters != nil || -- // x.Delimiters != nil || -- // x.Measurement != nil || -- // x.Dates != nil || -- // x.Numbers != nil || -- // x.Units != nil || -- // x.ListPatterns != nil || -- // x.Collations != nil || -- // x.Segmentations != nil || -- // x.Rbnf != nil || -- // x.Annotations != nil || -- // x.Metadata != nil { -- -- // TODO: support POSIX natively, albeit non-standard. -- tag := language.Make(strings.Replace(lang, "_POSIX", "-u-va-posix", 1)) -- m[tag] = true -- // } -- } -- -- // TODO: plural rules are also defined for the deprecated tags: -- // iw mo sh tl -- // Consider removing these as compact tags. -- -- // Include locales for plural rules, which uses a different structure. -- for _, plurals := range b.supp.Plurals { -- for _, rules := range plurals.PluralRules { -- for _, lang := range strings.Split(rules.Locales, " ") { -- m[language.Make(lang)] = true -- } -- } -- } -- -- var coreTags []language.CompactCoreInfo -- var special []string -- -- for t := range m { -- if x := t.Extensions(); len(x) != 0 && fmt.Sprint(x) != "[u-va-posix]" { -- log.Fatalf("Unexpected extension %v in %v", x, t) -- } -- if len(t.Variants()) == 0 && len(t.Extensions()) == 0 { -- cci, ok := language.GetCompactCore(t) -- if !ok { -- log.Fatalf("Locale for non-basic language %q", t) -- } -- coreTags = append(coreTags, cci) -- } else { -- special = append(special, t.String()) -- } -- } -- -- w := b.w -- -- sort.Slice(coreTags, func(i, j int) bool { return coreTags[i] < coreTags[j] }) -- sort.Strings(special) -- -- w.WriteComment(` -- NumCompactTags is the number of common tags. The maximum tag is -- NumCompactTags-1.`) -- w.WriteConst("NumCompactTags", len(m)) -- -- fmt.Fprintln(w, "const (") -- for i, t := range coreTags { -- fmt.Fprintf(w, "%s ID = %d\n", ident(t.Tag().String()), i) -- } -- for i, t := range special { -- fmt.Fprintf(w, "%s ID = %d\n", ident(t), i+len(coreTags)) -- } -- fmt.Fprintln(w, ")") -- -- w.WriteVar("coreTags", coreTags) -- -- w.WriteConst("specialTagsStr", strings.Join(special, " ")) --} -- --func ident(s string) string { -- return strings.Replace(s, "-", "", -1) + "Index" --} -diff --git a/vendor/golang.org/x/text/internal/language/compact/gen_parents.go b/vendor/golang.org/x/text/internal/language/compact/gen_parents.go -deleted file mode 100644 -index 9543d58323..0000000000 ---- a/vendor/golang.org/x/text/internal/language/compact/gen_parents.go -+++ /dev/null -@@ -1,54 +0,0 @@ --// 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 -- --package main -- --import ( -- "log" -- -- "golang.org/x/text/internal/gen" -- "golang.org/x/text/internal/language" -- "golang.org/x/text/internal/language/compact" -- "golang.org/x/text/unicode/cldr" --) -- --func main() { -- r := gen.OpenCLDRCoreZip() -- defer r.Close() -- -- d := &cldr.Decoder{} -- data, err := d.DecodeZip(r) -- if err != nil { -- log.Fatalf("DecodeZip: %v", err) -- } -- -- w := gen.NewCodeWriter() -- defer w.WriteGoFile("parents.go", "compact") -- -- // Create parents table. -- type ID uint16 -- parents := make([]ID, compact.NumCompactTags) -- for _, loc := range data.Locales() { -- tag := language.MustParse(loc) -- index, ok := compact.FromTag(tag) -- if !ok { -- continue -- } -- parentIndex := compact.ID(0) // und -- for p := tag.Parent(); p != language.Und; p = p.Parent() { -- if x, ok := compact.FromTag(p); ok { -- parentIndex = x -- break -- } -- } -- parents[index] = ID(parentIndex) -- } -- -- w.WriteComment(` -- parents maps a compact index of a tag to the compact index of the parent of -- this tag.`) -- w.WriteVar("parents", parents) --} -diff --git a/vendor/golang.org/x/text/internal/language/gen.go b/vendor/golang.org/x/text/internal/language/gen.go -deleted file mode 100644 -index cdcc7febcb..0000000000 ---- a/vendor/golang.org/x/text/internal/language/gen.go -+++ /dev/null -@@ -1,1520 +0,0 @@ --// Copyright 2013 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --// Language tag table generator. --// Data read from the web. -- --package main -- --import ( -- "bufio" -- "flag" -- "fmt" -- "io" -- "io/ioutil" -- "log" -- "math" -- "reflect" -- "regexp" -- "sort" -- "strconv" -- "strings" -- -- "golang.org/x/text/internal/gen" -- "golang.org/x/text/internal/tag" -- "golang.org/x/text/unicode/cldr" --) -- --var ( -- test = flag.Bool("test", -- false, -- "test existing tables; can be used to compare web data with package data.") -- outputFile = flag.String("output", -- "tables.go", -- "output file for generated tables") --) -- --var comment = []string{ -- ` --lang holds an alphabetically sorted list of ISO-639 language identifiers. --All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag. --For 2-byte language identifiers, the two successive bytes have the following meaning: -- - if the first letter of the 2- and 3-letter ISO codes are the same: -- the second and third letter of the 3-letter ISO code. -- - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3. --For 3-byte language identifiers the 4th byte is 0.`, -- ` --langNoIndex is a bit vector of all 3-letter language codes that are not used as an index --in lookup tables. The language ids for these language codes are derived directly --from the letters and are not consecutive.`, -- ` --altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives --to 2-letter language codes that cannot be derived using the method described above. --Each 3-letter code is followed by its 1-byte langID.`, -- ` --altLangIndex is used to convert indexes in altLangISO3 to langIDs.`, -- ` --AliasMap maps langIDs to their suggested replacements.`, -- ` --script is an alphabetically sorted list of ISO 15924 codes. The index --of the script in the string, divided by 4, is the internal scriptID.`, -- ` --isoRegionOffset needs to be added to the index of regionISO to obtain the regionID --for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for --the UN.M49 codes used for groups.)`, -- ` --regionISO holds a list of alphabetically sorted 2-letter ISO region codes. --Each 2-letter codes is followed by two bytes with the following meaning: -- - [A-Z}{2}: the first letter of the 2-letter code plus these two -- letters form the 3-letter ISO code. -- - 0, n: index into altRegionISO3.`, -- ` --regionTypes defines the status of a region for various standards.`, -- ` --m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are --codes indicating collections of regions.`, -- ` --m49Index gives indexes into fromM49 based on the three most significant bits --of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in -- fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]] --for an entry where the first 7 bits match the 7 lsb of the UN.M49 code. --The region code is stored in the 9 lsb of the indexed value.`, -- ` --fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.`, -- ` --altRegionISO3 holds a list of 3-letter region codes that cannot be --mapped to 2-letter codes using the default algorithm. This is a short list.`, -- ` --altRegionIDs holds a list of regionIDs the positions of which match those --of the 3-letter ISO codes in altRegionISO3.`, -- ` --variantNumSpecialized is the number of specialized variants in variants.`, -- ` --suppressScript is an index from langID to the dominant script for that language, --if it exists. If a script is given, it should be suppressed from the language tag.`, -- ` --likelyLang is a lookup table, indexed by langID, for the most likely --scripts and regions given incomplete information. If more entries exist for a --given language, region and script are the index and size respectively --of the list in likelyLangList.`, -- ` --likelyLangList holds lists info associated with likelyLang.`, -- ` --likelyRegion is a lookup table, indexed by regionID, for the most likely --languages and scripts given incomplete information. If more entries exist --for a given regionID, lang and script are the index and size respectively --of the list in likelyRegionList. --TODO: exclude containers and user-definable regions from the list.`, -- ` --likelyRegionList holds lists info associated with likelyRegion.`, -- ` --likelyScript is a lookup table, indexed by scriptID, for the most likely --languages and regions given a script.`, -- ` --nRegionGroups is the number of region groups.`, -- ` --regionInclusion maps region identifiers to sets of regions in regionInclusionBits, --where each set holds all groupings that are directly connected in a region --containment graph.`, -- ` --regionInclusionBits is an array of bit vectors where every vector represents --a set of region groupings. These sets are used to compute the distance --between two regions for the purpose of language matching.`, -- ` --regionInclusionNext marks, for each entry in regionInclusionBits, the set of --all groups that are reachable from the groups set in the respective entry.`, --} -- --// TODO: consider changing some of these structures to tries. This can reduce --// memory, but may increase the need for memory allocations. This could be --// mitigated if we can piggyback on language tags for common cases. -- --func failOnError(e error) { -- if e != nil { -- log.Panic(e) -- } --} -- --type setType int -- --const ( -- Indexed setType = 1 + iota // all elements must be of same size -- Linear --) -- --type stringSet struct { -- s []string -- sorted, frozen bool -- -- // We often need to update values after the creation of an index is completed. -- // We include a convenience map for keeping track of this. -- update map[string]string -- typ setType // used for checking. --} -- --func (ss *stringSet) clone() stringSet { -- c := *ss -- c.s = append([]string(nil), c.s...) -- return c --} -- --func (ss *stringSet) setType(t setType) { -- if ss.typ != t && ss.typ != 0 { -- log.Panicf("type %d cannot be assigned as it was already %d", t, ss.typ) -- } --} -- --// parse parses a whitespace-separated string and initializes ss with its --// components. --func (ss *stringSet) parse(s string) { -- scan := bufio.NewScanner(strings.NewReader(s)) -- scan.Split(bufio.ScanWords) -- for scan.Scan() { -- ss.add(scan.Text()) -- } --} -- --func (ss *stringSet) assertChangeable() { -- if ss.frozen { -- log.Panic("attempt to modify a frozen stringSet") -- } --} -- --func (ss *stringSet) add(s string) { -- ss.assertChangeable() -- ss.s = append(ss.s, s) -- ss.sorted = ss.frozen --} -- --func (ss *stringSet) freeze() { -- ss.compact() -- ss.frozen = true --} -- --func (ss *stringSet) compact() { -- if ss.sorted { -- return -- } -- a := ss.s -- sort.Strings(a) -- k := 0 -- for i := 1; i < len(a); i++ { -- if a[k] != a[i] { -- a[k+1] = a[i] -- k++ -- } -- } -- ss.s = a[:k+1] -- ss.sorted = ss.frozen --} -- --type funcSorter struct { -- fn func(a, b string) bool -- sort.StringSlice --} -- --func (s funcSorter) Less(i, j int) bool { -- return s.fn(s.StringSlice[i], s.StringSlice[j]) --} -- --func (ss *stringSet) sortFunc(f func(a, b string) bool) { -- ss.compact() -- sort.Sort(funcSorter{f, sort.StringSlice(ss.s)}) --} -- --func (ss *stringSet) remove(s string) { -- ss.assertChangeable() -- if i, ok := ss.find(s); ok { -- copy(ss.s[i:], ss.s[i+1:]) -- ss.s = ss.s[:len(ss.s)-1] -- } --} -- --func (ss *stringSet) replace(ol, nu string) { -- ss.s[ss.index(ol)] = nu -- ss.sorted = ss.frozen --} -- --func (ss *stringSet) index(s string) int { -- ss.setType(Indexed) -- i, ok := ss.find(s) -- if !ok { -- if i < len(ss.s) { -- log.Panicf("find: item %q is not in list. Closest match is %q.", s, ss.s[i]) -- } -- log.Panicf("find: item %q is not in list", s) -- -- } -- return i --} -- --func (ss *stringSet) find(s string) (int, bool) { -- ss.compact() -- i := sort.SearchStrings(ss.s, s) -- return i, i != len(ss.s) && ss.s[i] == s --} -- --func (ss *stringSet) slice() []string { -- ss.compact() -- return ss.s --} -- --func (ss *stringSet) updateLater(v, key string) { -- if ss.update == nil { -- ss.update = map[string]string{} -- } -- ss.update[v] = key --} -- --// join joins the string and ensures that all entries are of the same length. --func (ss *stringSet) join() string { -- ss.setType(Indexed) -- n := len(ss.s[0]) -- for _, s := range ss.s { -- if len(s) != n { -- log.Panicf("join: not all entries are of the same length: %q", s) -- } -- } -- ss.s = append(ss.s, strings.Repeat("\xff", n)) -- return strings.Join(ss.s, "") --} -- --// ianaEntry holds information for an entry in the IANA Language Subtag Repository. --// All types use the same entry. --// See http://tools.ietf.org/html/bcp47#section-5.1 for a description of the various --// fields. --type ianaEntry struct { -- typ string -- description []string -- scope string -- added string -- preferred string -- deprecated string -- suppressScript string -- macro string -- prefix []string --} -- --type builder struct { -- w *gen.CodeWriter -- hw io.Writer // MultiWriter for w and w.Hash -- data *cldr.CLDR -- supp *cldr.SupplementalData -- -- // indices -- locale stringSet // common locales -- lang stringSet // canonical language ids (2 or 3 letter ISO codes) with data -- langNoIndex stringSet // 3-letter ISO codes with no associated data -- script stringSet // 4-letter ISO codes -- region stringSet // 2-letter ISO or 3-digit UN M49 codes -- variant stringSet // 4-8-alphanumeric variant code. -- -- // Region codes that are groups with their corresponding group IDs. -- groups map[int]index -- -- // langInfo -- registry map[string]*ianaEntry --} -- --type index uint -- --func newBuilder(w *gen.CodeWriter) *builder { -- r := gen.OpenCLDRCoreZip() -- defer r.Close() -- d := &cldr.Decoder{} -- data, err := d.DecodeZip(r) -- failOnError(err) -- b := builder{ -- w: w, -- hw: io.MultiWriter(w, w.Hash), -- data: data, -- supp: data.Supplemental(), -- } -- b.parseRegistry() -- return &b --} -- --func (b *builder) parseRegistry() { -- r := gen.OpenIANAFile("assignments/language-subtag-registry") -- defer r.Close() -- b.registry = make(map[string]*ianaEntry) -- -- scan := bufio.NewScanner(r) -- scan.Split(bufio.ScanWords) -- var record *ianaEntry -- for more := scan.Scan(); more; { -- key := scan.Text() -- more = scan.Scan() -- value := scan.Text() -- switch key { -- case "Type:": -- record = &ianaEntry{typ: value} -- case "Subtag:", "Tag:": -- if s := strings.SplitN(value, "..", 2); len(s) > 1 { -- for a := s[0]; a <= s[1]; a = inc(a) { -- b.addToRegistry(a, record) -- } -- } else { -- b.addToRegistry(value, record) -- } -- case "Suppress-Script:": -- record.suppressScript = value -- case "Added:": -- record.added = value -- case "Deprecated:": -- record.deprecated = value -- case "Macrolanguage:": -- record.macro = value -- case "Preferred-Value:": -- record.preferred = value -- case "Prefix:": -- record.prefix = append(record.prefix, value) -- case "Scope:": -- record.scope = value -- case "Description:": -- buf := []byte(value) -- for more = scan.Scan(); more; more = scan.Scan() { -- b := scan.Bytes() -- if b[0] == '%' || b[len(b)-1] == ':' { -- break -- } -- buf = append(buf, ' ') -- buf = append(buf, b...) -- } -- record.description = append(record.description, string(buf)) -- continue -- default: -- continue -- } -- more = scan.Scan() -- } -- if scan.Err() != nil { -- log.Panic(scan.Err()) -- } --} -- --func (b *builder) addToRegistry(key string, entry *ianaEntry) { -- if info, ok := b.registry[key]; ok { -- if info.typ != "language" || entry.typ != "extlang" { -- log.Fatalf("parseRegistry: tag %q already exists", key) -- } -- } else { -- b.registry[key] = entry -- } --} -- --var commentIndex = make(map[string]string) -- --func init() { -- for _, s := range comment { -- key := strings.TrimSpace(strings.SplitN(s, " ", 2)[0]) -- commentIndex[key] = s -- } --} -- --func (b *builder) comment(name string) { -- if s := commentIndex[name]; len(s) > 0 { -- b.w.WriteComment(s) -- } else { -- fmt.Fprintln(b.w) -- } --} -- --func (b *builder) pf(f string, x ...interface{}) { -- fmt.Fprintf(b.hw, f, x...) -- fmt.Fprint(b.hw, "\n") --} -- --func (b *builder) p(x ...interface{}) { -- fmt.Fprintln(b.hw, x...) --} -- --func (b *builder) addSize(s int) { -- b.w.Size += s -- b.pf("// Size: %d bytes", s) --} -- --func (b *builder) writeConst(name string, x interface{}) { -- b.comment(name) -- b.w.WriteConst(name, x) --} -- --// writeConsts computes f(v) for all v in values and writes the results --// as constants named _v to a single constant block. --func (b *builder) writeConsts(f func(string) int, values ...string) { -- b.pf("const (") -- for _, v := range values { -- b.pf("\t_%s = %v", v, f(v)) -- } -- b.pf(")") --} -- --// writeType writes the type of the given value, which must be a struct. --func (b *builder) writeType(value interface{}) { -- b.comment(reflect.TypeOf(value).Name()) -- b.w.WriteType(value) --} -- --func (b *builder) writeSlice(name string, ss interface{}) { -- b.writeSliceAddSize(name, 0, ss) --} -- --func (b *builder) writeSliceAddSize(name string, extraSize int, ss interface{}) { -- b.comment(name) -- b.w.Size += extraSize -- v := reflect.ValueOf(ss) -- t := v.Type().Elem() -- b.pf("// Size: %d bytes, %d elements", v.Len()*int(t.Size())+extraSize, v.Len()) -- -- fmt.Fprintf(b.w, "var %s = ", name) -- b.w.WriteArray(ss) -- b.p() --} -- --type FromTo struct { -- From, To uint16 --} -- --func (b *builder) writeSortedMap(name string, ss *stringSet, index func(s string) uint16) { -- ss.sortFunc(func(a, b string) bool { -- return index(a) < index(b) -- }) -- m := []FromTo{} -- for _, s := range ss.s { -- m = append(m, FromTo{index(s), index(ss.update[s])}) -- } -- b.writeSlice(name, m) --} -- --const base = 'z' - 'a' + 1 -- --func strToInt(s string) uint { -- v := uint(0) -- for i := 0; i < len(s); i++ { -- v *= base -- v += uint(s[i] - 'a') -- } -- return v --} -- --// converts the given integer to the original ASCII string passed to strToInt. --// len(s) must match the number of characters obtained. --func intToStr(v uint, s []byte) { -- for i := len(s) - 1; i >= 0; i-- { -- s[i] = byte(v%base) + 'a' -- v /= base -- } --} -- --func (b *builder) writeBitVector(name string, ss []string) { -- vec := make([]uint8, int(math.Ceil(math.Pow(base, float64(len(ss[0])))/8))) -- for _, s := range ss { -- v := strToInt(s) -- vec[v/8] |= 1 << (v % 8) -- } -- b.writeSlice(name, vec) --} -- --// TODO: convert this type into a list or two-stage trie. --func (b *builder) writeMapFunc(name string, m map[string]string, f func(string) uint16) { -- b.comment(name) -- v := reflect.ValueOf(m) -- sz := v.Len() * (2 + int(v.Type().Key().Size())) -- for _, k := range m { -- sz += len(k) -- } -- b.addSize(sz) -- keys := []string{} -- b.pf(`var %s = map[string]uint16{`, name) -- for k := range m { -- keys = append(keys, k) -- } -- sort.Strings(keys) -- for _, k := range keys { -- b.pf("\t%q: %v,", k, f(m[k])) -- } -- b.p("}") --} -- --func (b *builder) writeMap(name string, m interface{}) { -- b.comment(name) -- v := reflect.ValueOf(m) -- sz := v.Len() * (2 + int(v.Type().Key().Size()) + int(v.Type().Elem().Size())) -- b.addSize(sz) -- f := strings.FieldsFunc(fmt.Sprintf("%#v", m), func(r rune) bool { -- return strings.IndexRune("{}, ", r) != -1 -- }) -- sort.Strings(f[1:]) -- b.pf(`var %s = %s{`, name, f[0]) -- for _, kv := range f[1:] { -- b.pf("\t%s,", kv) -- } -- b.p("}") --} -- --func (b *builder) langIndex(s string) uint16 { -- if s == "und" { -- return 0 -- } -- if i, ok := b.lang.find(s); ok { -- return uint16(i) -- } -- return uint16(strToInt(s)) + uint16(len(b.lang.s)) --} -- --// inc advances the string to its lexicographical successor. --func inc(s string) string { -- const maxTagLength = 4 -- var buf [maxTagLength]byte -- intToStr(strToInt(strings.ToLower(s))+1, buf[:len(s)]) -- for i := 0; i < len(s); i++ { -- if s[i] <= 'Z' { -- buf[i] -= 'a' - 'A' -- } -- } -- return string(buf[:len(s)]) --} -- --func (b *builder) parseIndices() { -- meta := b.supp.Metadata -- -- for k, v := range b.registry { -- var ss *stringSet -- switch v.typ { -- case "language": -- if len(k) == 2 || v.suppressScript != "" || v.scope == "special" { -- b.lang.add(k) -- continue -- } else { -- ss = &b.langNoIndex -- } -- case "region": -- ss = &b.region -- case "script": -- ss = &b.script -- case "variant": -- ss = &b.variant -- default: -- continue -- } -- ss.add(k) -- } -- // Include any language for which there is data. -- for _, lang := range b.data.Locales() { -- if x := b.data.RawLDML(lang); false || -- x.LocaleDisplayNames != nil || -- x.Characters != nil || -- x.Delimiters != nil || -- x.Measurement != nil || -- x.Dates != nil || -- x.Numbers != nil || -- x.Units != nil || -- x.ListPatterns != nil || -- x.Collations != nil || -- x.Segmentations != nil || -- x.Rbnf != nil || -- x.Annotations != nil || -- x.Metadata != nil { -- -- from := strings.Split(lang, "_") -- if lang := from[0]; lang != "root" { -- b.lang.add(lang) -- } -- } -- } -- // Include locales for plural rules, which uses a different structure. -- for _, plurals := range b.data.Supplemental().Plurals { -- for _, rules := range plurals.PluralRules { -- for _, lang := range strings.Split(rules.Locales, " ") { -- if lang = strings.Split(lang, "_")[0]; lang != "root" { -- b.lang.add(lang) -- } -- } -- } -- } -- // Include languages in likely subtags. -- for _, m := range b.supp.LikelySubtags.LikelySubtag { -- from := strings.Split(m.From, "_") -- b.lang.add(from[0]) -- } -- // Include ISO-639 alpha-3 bibliographic entries. -- for _, a := range meta.Alias.LanguageAlias { -- if a.Reason == "bibliographic" { -- b.langNoIndex.add(a.Type) -- } -- } -- // Include regions in territoryAlias (not all are in the IANA registry!) -- for _, reg := range b.supp.Metadata.Alias.TerritoryAlias { -- if len(reg.Type) == 2 { -- b.region.add(reg.Type) -- } -- } -- -- for _, s := range b.lang.s { -- if len(s) == 3 { -- b.langNoIndex.remove(s) -- } -- } -- b.writeConst("NumLanguages", len(b.lang.slice())+len(b.langNoIndex.slice())) -- b.writeConst("NumScripts", len(b.script.slice())) -- b.writeConst("NumRegions", len(b.region.slice())) -- -- // Add dummy codes at the start of each list to represent "unspecified". -- b.lang.add("---") -- b.script.add("----") -- b.region.add("---") -- -- // common locales -- b.locale.parse(meta.DefaultContent.Locales) --} -- --// TODO: region inclusion data will probably not be use used in future matchers. -- --func (b *builder) computeRegionGroups() { -- b.groups = make(map[int]index) -- -- // Create group indices. -- for i := 1; b.region.s[i][0] < 'A'; i++ { // Base M49 indices on regionID. -- b.groups[i] = index(len(b.groups)) -- } -- for _, g := range b.supp.TerritoryContainment.Group { -- // Skip UN and EURO zone as they are flattening the containment -- // relationship. -- if g.Type == "EZ" || g.Type == "UN" { -- continue -- } -- group := b.region.index(g.Type) -- if _, ok := b.groups[group]; !ok { -- b.groups[group] = index(len(b.groups)) -- } -- } -- if len(b.groups) > 64 { -- log.Fatalf("only 64 groups supported, found %d", len(b.groups)) -- } -- b.writeConst("nRegionGroups", len(b.groups)) --} -- --var langConsts = []string{ -- "af", "am", "ar", "az", "bg", "bn", "ca", "cs", "da", "de", "el", "en", "es", -- "et", "fa", "fi", "fil", "fr", "gu", "he", "hi", "hr", "hu", "hy", "id", "is", -- "it", "ja", "ka", "kk", "km", "kn", "ko", "ky", "lo", "lt", "lv", "mk", "ml", -- "mn", "mo", "mr", "ms", "mul", "my", "nb", "ne", "nl", "no", "pa", "pl", "pt", -- "ro", "ru", "sh", "si", "sk", "sl", "sq", "sr", "sv", "sw", "ta", "te", "th", -- "tl", "tn", "tr", "uk", "ur", "uz", "vi", "zh", "zu", -- -- // constants for grandfathered tags (if not already defined) -- "jbo", "ami", "bnn", "hak", "tlh", "lb", "nv", "pwn", "tao", "tay", "tsu", -- "nn", "sfb", "vgt", "sgg", "cmn", "nan", "hsn", --} -- --// writeLanguage generates all tables needed for language canonicalization. --func (b *builder) writeLanguage() { -- meta := b.supp.Metadata -- -- b.writeConst("nonCanonicalUnd", b.lang.index("und")) -- b.writeConsts(func(s string) int { return int(b.langIndex(s)) }, langConsts...) -- b.writeConst("langPrivateStart", b.langIndex("qaa")) -- b.writeConst("langPrivateEnd", b.langIndex("qtz")) -- -- // Get language codes that need to be mapped (overlong 3-letter codes, -- // deprecated 2-letter codes, legacy and grandfathered tags.) -- langAliasMap := stringSet{} -- aliasTypeMap := map[string]AliasType{} -- -- // altLangISO3 get the alternative ISO3 names that need to be mapped. -- altLangISO3 := stringSet{} -- // Add dummy start to avoid the use of index 0. -- altLangISO3.add("---") -- altLangISO3.updateLater("---", "aa") -- -- lang := b.lang.clone() -- for _, a := range meta.Alias.LanguageAlias { -- if a.Replacement == "" { -- a.Replacement = "und" -- } -- // TODO: support mapping to tags -- repl := strings.SplitN(a.Replacement, "_", 2)[0] -- if a.Reason == "overlong" { -- if len(a.Replacement) == 2 && len(a.Type) == 3 { -- lang.updateLater(a.Replacement, a.Type) -- } -- } else if len(a.Type) <= 3 { -- switch a.Reason { -- case "macrolanguage": -- aliasTypeMap[a.Type] = Macro -- case "deprecated": -- // handled elsewhere -- continue -- case "bibliographic", "legacy": -- if a.Type == "no" { -- continue -- } -- aliasTypeMap[a.Type] = Legacy -- default: -- log.Fatalf("new %s alias: %s", a.Reason, a.Type) -- } -- langAliasMap.add(a.Type) -- langAliasMap.updateLater(a.Type, repl) -- } -- } -- // Manually add the mapping of "nb" (Norwegian) to its macro language. -- // This can be removed if CLDR adopts this change. -- langAliasMap.add("nb") -- langAliasMap.updateLater("nb", "no") -- aliasTypeMap["nb"] = Macro -- -- for k, v := range b.registry { -- // Also add deprecated values for 3-letter ISO codes, which CLDR omits. -- if v.typ == "language" && v.deprecated != "" && v.preferred != "" { -- langAliasMap.add(k) -- langAliasMap.updateLater(k, v.preferred) -- aliasTypeMap[k] = Deprecated -- } -- } -- // Fix CLDR mappings. -- lang.updateLater("tl", "tgl") -- lang.updateLater("sh", "hbs") -- lang.updateLater("mo", "mol") -- lang.updateLater("no", "nor") -- lang.updateLater("tw", "twi") -- lang.updateLater("nb", "nob") -- lang.updateLater("ak", "aka") -- lang.updateLater("bh", "bih") -- -- // Ensure that each 2-letter code is matched with a 3-letter code. -- for _, v := range lang.s[1:] { -- s, ok := lang.update[v] -- if !ok { -- if s, ok = lang.update[langAliasMap.update[v]]; !ok { -- continue -- } -- lang.update[v] = s -- } -- if v[0] != s[0] { -- altLangISO3.add(s) -- altLangISO3.updateLater(s, v) -- } -- } -- -- // Complete canonicalized language tags. -- lang.freeze() -- for i, v := range lang.s { -- // We can avoid these manual entries by using the IANA registry directly. -- // Seems easier to update the list manually, as changes are rare. -- // The panic in this loop will trigger if we miss an entry. -- add := "" -- if s, ok := lang.update[v]; ok { -- if s[0] == v[0] { -- add = s[1:] -- } else { -- add = string([]byte{0, byte(altLangISO3.index(s))}) -- } -- } else if len(v) == 3 { -- add = "\x00" -- } else { -- log.Panicf("no data for long form of %q", v) -- } -- lang.s[i] += add -- } -- b.writeConst("lang", tag.Index(lang.join())) -- -- b.writeConst("langNoIndexOffset", len(b.lang.s)) -- -- // space of all valid 3-letter language identifiers. -- b.writeBitVector("langNoIndex", b.langNoIndex.slice()) -- -- altLangIndex := []uint16{} -- for i, s := range altLangISO3.slice() { -- altLangISO3.s[i] += string([]byte{byte(len(altLangIndex))}) -- if i > 0 { -- idx := b.lang.index(altLangISO3.update[s]) -- altLangIndex = append(altLangIndex, uint16(idx)) -- } -- } -- b.writeConst("altLangISO3", tag.Index(altLangISO3.join())) -- b.writeSlice("altLangIndex", altLangIndex) -- -- b.writeSortedMap("AliasMap", &langAliasMap, b.langIndex) -- types := make([]AliasType, len(langAliasMap.s)) -- for i, s := range langAliasMap.s { -- types[i] = aliasTypeMap[s] -- } -- b.writeSlice("AliasTypes", types) --} -- --var scriptConsts = []string{ -- "Latn", "Hani", "Hans", "Hant", "Qaaa", "Qaai", "Qabx", "Zinh", "Zyyy", -- "Zzzz", --} -- --func (b *builder) writeScript() { -- b.writeConsts(b.script.index, scriptConsts...) -- b.writeConst("script", tag.Index(b.script.join())) -- -- supp := make([]uint8, len(b.lang.slice())) -- for i, v := range b.lang.slice()[1:] { -- if sc := b.registry[v].suppressScript; sc != "" { -- supp[i+1] = uint8(b.script.index(sc)) -- } -- } -- b.writeSlice("suppressScript", supp) -- -- // There is only one deprecated script in CLDR. This value is hard-coded. -- // We check here if the code must be updated. -- for _, a := range b.supp.Metadata.Alias.ScriptAlias { -- if a.Type != "Qaai" { -- log.Panicf("unexpected deprecated stript %q", a.Type) -- } -- } --} -- --func parseM49(s string) int16 { -- if len(s) == 0 { -- return 0 -- } -- v, err := strconv.ParseUint(s, 10, 10) -- failOnError(err) -- return int16(v) --} -- --var regionConsts = []string{ -- "001", "419", "BR", "CA", "ES", "GB", "MD", "PT", "UK", "US", -- "ZZ", "XA", "XC", "XK", // Unofficial tag for Kosovo. --} -- --func (b *builder) writeRegion() { -- b.writeConsts(b.region.index, regionConsts...) -- -- isoOffset := b.region.index("AA") -- m49map := make([]int16, len(b.region.slice())) -- fromM49map := make(map[int16]int) -- altRegionISO3 := "" -- altRegionIDs := []uint16{} -- -- b.writeConst("isoRegionOffset", isoOffset) -- -- // 2-letter region lookup and mapping to numeric codes. -- regionISO := b.region.clone() -- regionISO.s = regionISO.s[isoOffset:] -- regionISO.sorted = false -- -- regionTypes := make([]byte, len(b.region.s)) -- -- // Is the region valid BCP 47? -- for s, e := range b.registry { -- if len(s) == 2 && s == strings.ToUpper(s) { -- i := b.region.index(s) -- for _, d := range e.description { -- if strings.Contains(d, "Private use") { -- regionTypes[i] = iso3166UserAssigned -- } -- } -- regionTypes[i] |= bcp47Region -- } -- } -- -- // Is the region a valid ccTLD? -- r := gen.OpenIANAFile("domains/root/db") -- defer r.Close() -- -- buf, err := ioutil.ReadAll(r) -- failOnError(err) -- re := regexp.MustCompile(`"/domains/root/db/([a-z]{2}).html"`) -- for _, m := range re.FindAllSubmatch(buf, -1) { -- i := b.region.index(strings.ToUpper(string(m[1]))) -- regionTypes[i] |= ccTLD -- } -- -- b.writeSlice("regionTypes", regionTypes) -- -- iso3Set := make(map[string]int) -- update := func(iso2, iso3 string) { -- i := regionISO.index(iso2) -- if j, ok := iso3Set[iso3]; !ok && iso3[0] == iso2[0] { -- regionISO.s[i] += iso3[1:] -- iso3Set[iso3] = -1 -- } else { -- if ok && j >= 0 { -- regionISO.s[i] += string([]byte{0, byte(j)}) -- } else { -- iso3Set[iso3] = len(altRegionISO3) -- regionISO.s[i] += string([]byte{0, byte(len(altRegionISO3))}) -- altRegionISO3 += iso3 -- altRegionIDs = append(altRegionIDs, uint16(isoOffset+i)) -- } -- } -- } -- for _, tc := range b.supp.CodeMappings.TerritoryCodes { -- i := regionISO.index(tc.Type) + isoOffset -- if d := m49map[i]; d != 0 { -- log.Panicf("%s found as a duplicate UN.M49 code of %03d", tc.Numeric, d) -- } -- m49 := parseM49(tc.Numeric) -- m49map[i] = m49 -- if r := fromM49map[m49]; r == 0 { -- fromM49map[m49] = i -- } else if r != i { -- dep := b.registry[regionISO.s[r-isoOffset]].deprecated -- if t := b.registry[tc.Type]; t != nil && dep != "" && (t.deprecated == "" || t.deprecated > dep) { -- fromM49map[m49] = i -- } -- } -- } -- for _, ta := range b.supp.Metadata.Alias.TerritoryAlias { -- if len(ta.Type) == 3 && ta.Type[0] <= '9' && len(ta.Replacement) == 2 { -- from := parseM49(ta.Type) -- if r := fromM49map[from]; r == 0 { -- fromM49map[from] = regionISO.index(ta.Replacement) + isoOffset -- } -- } -- } -- for _, tc := range b.supp.CodeMappings.TerritoryCodes { -- if len(tc.Alpha3) == 3 { -- update(tc.Type, tc.Alpha3) -- } -- } -- // This entries are not included in territoryCodes. Mostly 3-letter variants -- // of deleted codes and an entry for QU. -- for _, m := range []struct{ iso2, iso3 string }{ -- {"CT", "CTE"}, -- {"DY", "DHY"}, -- {"HV", "HVO"}, -- {"JT", "JTN"}, -- {"MI", "MID"}, -- {"NH", "NHB"}, -- {"NQ", "ATN"}, -- {"PC", "PCI"}, -- {"PU", "PUS"}, -- {"PZ", "PCZ"}, -- {"RH", "RHO"}, -- {"VD", "VDR"}, -- {"WK", "WAK"}, -- // These three-letter codes are used for others as well. -- {"FQ", "ATF"}, -- } { -- update(m.iso2, m.iso3) -- } -- for i, s := range regionISO.s { -- if len(s) != 4 { -- regionISO.s[i] = s + " " -- } -- } -- b.writeConst("regionISO", tag.Index(regionISO.join())) -- b.writeConst("altRegionISO3", altRegionISO3) -- b.writeSlice("altRegionIDs", altRegionIDs) -- -- // Create list of deprecated regions. -- // TODO: consider inserting SF -> FI. Not included by CLDR, but is the only -- // Transitionally-reserved mapping not included. -- regionOldMap := stringSet{} -- // Include regions in territoryAlias (not all are in the IANA registry!) -- for _, reg := range b.supp.Metadata.Alias.TerritoryAlias { -- if len(reg.Type) == 2 && reg.Reason == "deprecated" && len(reg.Replacement) == 2 { -- regionOldMap.add(reg.Type) -- regionOldMap.updateLater(reg.Type, reg.Replacement) -- i, _ := regionISO.find(reg.Type) -- j, _ := regionISO.find(reg.Replacement) -- if k := m49map[i+isoOffset]; k == 0 { -- m49map[i+isoOffset] = m49map[j+isoOffset] -- } -- } -- } -- b.writeSortedMap("regionOldMap", ®ionOldMap, func(s string) uint16 { -- return uint16(b.region.index(s)) -- }) -- // 3-digit region lookup, groupings. -- for i := 1; i < isoOffset; i++ { -- m := parseM49(b.region.s[i]) -- m49map[i] = m -- fromM49map[m] = i -- } -- b.writeSlice("m49", m49map) -- -- const ( -- searchBits = 7 -- regionBits = 9 -- ) -- if len(m49map) >= 1< %d", len(m49map), 1<>searchBits] = int16(len(fromM49)) -- } -- b.writeSlice("m49Index", m49Index) -- b.writeSlice("fromM49", fromM49) --} -- --const ( -- // TODO: put these lists in regionTypes as user data? Could be used for -- // various optimizations and refinements and could be exposed in the API. -- iso3166Except = "AC CP DG EA EU FX IC SU TA UK" -- iso3166Trans = "AN BU CS NT TP YU ZR" // SF is not in our set of Regions. -- // DY and RH are actually not deleted, but indeterminately reserved. -- iso3166DelCLDR = "CT DD DY FQ HV JT MI NH NQ PC PU PZ RH VD WK YD" --) -- --const ( -- iso3166UserAssigned = 1 << iota -- ccTLD -- bcp47Region --) -- --func find(list []string, s string) int { -- for i, t := range list { -- if t == s { -- return i -- } -- } -- return -1 --} -- --// writeVariants generates per-variant information and creates a map from variant --// name to index value. We assign index values such that sorting multiple --// variants by index value will result in the correct order. --// There are two types of variants: specialized and general. Specialized variants --// are only applicable to certain language or language-script pairs. Generalized --// variants apply to any language. Generalized variants always sort after --// specialized variants. We will therefore always assign a higher index value --// to a generalized variant than any other variant. Generalized variants are --// sorted alphabetically among themselves. --// Specialized variants may also sort after other specialized variants. Such --// variants will be ordered after any of the variants they may follow. --// We assume that if a variant x is followed by a variant y, then for any prefix --// p of x, p-x is a prefix of y. This allows us to order tags based on the --// maximum of the length of any of its prefixes. --// TODO: it is possible to define a set of Prefix values on variants such that --// a total order cannot be defined to the point that this algorithm breaks. --// In other words, we cannot guarantee the same order of variants for the --// future using the same algorithm or for non-compliant combinations of --// variants. For this reason, consider using simple alphabetic sorting --// of variants and ignore Prefix restrictions altogether. --func (b *builder) writeVariant() { -- generalized := stringSet{} -- specialized := stringSet{} -- specializedExtend := stringSet{} -- // Collate the variants by type and check assumptions. -- for _, v := range b.variant.slice() { -- e := b.registry[v] -- if len(e.prefix) == 0 { -- generalized.add(v) -- continue -- } -- c := strings.Split(e.prefix[0], "-") -- hasScriptOrRegion := false -- if len(c) > 1 { -- _, hasScriptOrRegion = b.script.find(c[1]) -- if !hasScriptOrRegion { -- _, hasScriptOrRegion = b.region.find(c[1]) -- -- } -- } -- if len(c) == 1 || len(c) == 2 && hasScriptOrRegion { -- // Variant is preceded by a language. -- specialized.add(v) -- continue -- } -- // Variant is preceded by another variant. -- specializedExtend.add(v) -- prefix := c[0] + "-" -- if hasScriptOrRegion { -- prefix += c[1] -- } -- for _, p := range e.prefix { -- // Verify that the prefix minus the last element is a prefix of the -- // predecessor element. -- i := strings.LastIndex(p, "-") -- pred := b.registry[p[i+1:]] -- if find(pred.prefix, p[:i]) < 0 { -- log.Fatalf("prefix %q for variant %q not consistent with predecessor spec", p, v) -- } -- // The sorting used below does not work in the general case. It works -- // if we assume that variants that may be followed by others only have -- // prefixes of the same length. Verify this. -- count := strings.Count(p[:i], "-") -- for _, q := range pred.prefix { -- if c := strings.Count(q, "-"); c != count { -- log.Fatalf("variant %q preceding %q has a prefix %q of size %d; want %d", p[i+1:], v, q, c, count) -- } -- } -- if !strings.HasPrefix(p, prefix) { -- log.Fatalf("prefix %q of variant %q should start with %q", p, v, prefix) -- } -- } -- } -- -- // Sort extended variants. -- a := specializedExtend.s -- less := func(v, w string) bool { -- // Sort by the maximum number of elements. -- maxCount := func(s string) (max int) { -- for _, p := range b.registry[s].prefix { -- if c := strings.Count(p, "-"); c > max { -- max = c -- } -- } -- return -- } -- if cv, cw := maxCount(v), maxCount(w); cv != cw { -- return cv < cw -- } -- // Sort by name as tie breaker. -- return v < w -- } -- sort.Sort(funcSorter{less, sort.StringSlice(a)}) -- specializedExtend.frozen = true -- -- // Create index from variant name to index. -- variantIndex := make(map[string]uint8) -- add := func(s []string) { -- for _, v := range s { -- variantIndex[v] = uint8(len(variantIndex)) -- } -- } -- add(specialized.slice()) -- add(specializedExtend.s) -- numSpecialized := len(variantIndex) -- add(generalized.slice()) -- if n := len(variantIndex); n > 255 { -- log.Fatalf("maximum number of variants exceeded: was %d; want <= 255", n) -- } -- b.writeMap("variantIndex", variantIndex) -- b.writeConst("variantNumSpecialized", numSpecialized) --} -- --func (b *builder) writeLanguageInfo() { --} -- --// writeLikelyData writes tables that are used both for finding parent relations and for --// language matching. Each entry contains additional bits to indicate the status of the --// data to know when it cannot be used for parent relations. --func (b *builder) writeLikelyData() { -- const ( -- isList = 1 << iota -- scriptInFrom -- regionInFrom -- ) -- type ( // generated types -- likelyScriptRegion struct { -- region uint16 -- script uint8 -- flags uint8 -- } -- likelyLangScript struct { -- lang uint16 -- script uint8 -- flags uint8 -- } -- likelyLangRegion struct { -- lang uint16 -- region uint16 -- } -- // likelyTag is used for getting likely tags for group regions, where -- // the likely region might be a region contained in the group. -- likelyTag struct { -- lang uint16 -- region uint16 -- script uint8 -- } -- ) -- var ( // generated variables -- likelyRegionGroup = make([]likelyTag, len(b.groups)) -- likelyLang = make([]likelyScriptRegion, len(b.lang.s)) -- likelyRegion = make([]likelyLangScript, len(b.region.s)) -- likelyScript = make([]likelyLangRegion, len(b.script.s)) -- likelyLangList = []likelyScriptRegion{} -- likelyRegionList = []likelyLangScript{} -- ) -- type fromTo struct { -- from, to []string -- } -- langToOther := map[int][]fromTo{} -- regionToOther := map[int][]fromTo{} -- for _, m := range b.supp.LikelySubtags.LikelySubtag { -- from := strings.Split(m.From, "_") -- to := strings.Split(m.To, "_") -- if len(to) != 3 { -- log.Fatalf("invalid number of subtags in %q: found %d, want 3", m.To, len(to)) -- } -- if len(from) > 3 { -- log.Fatalf("invalid number of subtags: found %d, want 1-3", len(from)) -- } -- if from[0] != to[0] && from[0] != "und" { -- log.Fatalf("unexpected language change in expansion: %s -> %s", from, to) -- } -- if len(from) == 3 { -- if from[2] != to[2] { -- log.Fatalf("unexpected region change in expansion: %s -> %s", from, to) -- } -- if from[0] != "und" { -- log.Fatalf("unexpected fully specified from tag: %s -> %s", from, to) -- } -- } -- if len(from) == 1 || from[0] != "und" { -- id := 0 -- if from[0] != "und" { -- id = b.lang.index(from[0]) -- } -- langToOther[id] = append(langToOther[id], fromTo{from, to}) -- } else if len(from) == 2 && len(from[1]) == 4 { -- sid := b.script.index(from[1]) -- likelyScript[sid].lang = uint16(b.langIndex(to[0])) -- likelyScript[sid].region = uint16(b.region.index(to[2])) -- } else { -- r := b.region.index(from[len(from)-1]) -- if id, ok := b.groups[r]; ok { -- if from[0] != "und" { -- log.Fatalf("region changed unexpectedly: %s -> %s", from, to) -- } -- likelyRegionGroup[id].lang = uint16(b.langIndex(to[0])) -- likelyRegionGroup[id].script = uint8(b.script.index(to[1])) -- likelyRegionGroup[id].region = uint16(b.region.index(to[2])) -- } else { -- regionToOther[r] = append(regionToOther[r], fromTo{from, to}) -- } -- } -- } -- b.writeType(likelyLangRegion{}) -- b.writeSlice("likelyScript", likelyScript) -- -- for id := range b.lang.s { -- list := langToOther[id] -- if len(list) == 1 { -- likelyLang[id].region = uint16(b.region.index(list[0].to[2])) -- likelyLang[id].script = uint8(b.script.index(list[0].to[1])) -- } else if len(list) > 1 { -- likelyLang[id].flags = isList -- likelyLang[id].region = uint16(len(likelyLangList)) -- likelyLang[id].script = uint8(len(list)) -- for _, x := range list { -- flags := uint8(0) -- if len(x.from) > 1 { -- if x.from[1] == x.to[2] { -- flags = regionInFrom -- } else { -- flags = scriptInFrom -- } -- } -- likelyLangList = append(likelyLangList, likelyScriptRegion{ -- region: uint16(b.region.index(x.to[2])), -- script: uint8(b.script.index(x.to[1])), -- flags: flags, -- }) -- } -- } -- } -- // TODO: merge suppressScript data with this table. -- b.writeType(likelyScriptRegion{}) -- b.writeSlice("likelyLang", likelyLang) -- b.writeSlice("likelyLangList", likelyLangList) -- -- for id := range b.region.s { -- list := regionToOther[id] -- if len(list) == 1 { -- likelyRegion[id].lang = uint16(b.langIndex(list[0].to[0])) -- likelyRegion[id].script = uint8(b.script.index(list[0].to[1])) -- if len(list[0].from) > 2 { -- likelyRegion[id].flags = scriptInFrom -- } -- } else if len(list) > 1 { -- likelyRegion[id].flags = isList -- likelyRegion[id].lang = uint16(len(likelyRegionList)) -- likelyRegion[id].script = uint8(len(list)) -- for i, x := range list { -- if len(x.from) == 2 && i != 0 || i > 0 && len(x.from) != 3 { -- log.Fatalf("unspecified script must be first in list: %v at %d", x.from, i) -- } -- x := likelyLangScript{ -- lang: uint16(b.langIndex(x.to[0])), -- script: uint8(b.script.index(x.to[1])), -- } -- if len(list[0].from) > 2 { -- x.flags = scriptInFrom -- } -- likelyRegionList = append(likelyRegionList, x) -- } -- } -- } -- b.writeType(likelyLangScript{}) -- b.writeSlice("likelyRegion", likelyRegion) -- b.writeSlice("likelyRegionList", likelyRegionList) -- -- b.writeType(likelyTag{}) -- b.writeSlice("likelyRegionGroup", likelyRegionGroup) --} -- --func (b *builder) writeRegionInclusionData() { -- var ( -- // mm holds for each group the set of groups with a distance of 1. -- mm = make(map[int][]index) -- -- // containment holds for each group the transitive closure of -- // containment of other groups. -- containment = make(map[index][]index) -- ) -- for _, g := range b.supp.TerritoryContainment.Group { -- // Skip UN and EURO zone as they are flattening the containment -- // relationship. -- if g.Type == "EZ" || g.Type == "UN" { -- continue -- } -- group := b.region.index(g.Type) -- groupIdx := b.groups[group] -- for _, mem := range strings.Split(g.Contains, " ") { -- r := b.region.index(mem) -- mm[r] = append(mm[r], groupIdx) -- if g, ok := b.groups[r]; ok { -- mm[group] = append(mm[group], g) -- containment[groupIdx] = append(containment[groupIdx], g) -- } -- } -- } -- -- regionContainment := make([]uint64, len(b.groups)) -- for _, g := range b.groups { -- l := containment[g] -- -- // Compute the transitive closure of containment. -- for i := 0; i < len(l); i++ { -- l = append(l, containment[l[i]]...) -- } -- -- // Compute the bitmask. -- regionContainment[g] = 1 << g -- for _, v := range l { -- regionContainment[g] |= 1 << v -- } -- } -- b.writeSlice("regionContainment", regionContainment) -- -- regionInclusion := make([]uint8, len(b.region.s)) -- bvs := make(map[uint64]index) -- // Make the first bitvector positions correspond with the groups. -- for r, i := range b.groups { -- bv := uint64(1 << i) -- for _, g := range mm[r] { -- bv |= 1 << g -- } -- bvs[bv] = i -- regionInclusion[r] = uint8(bvs[bv]) -- } -- for r := 1; r < len(b.region.s); r++ { -- if _, ok := b.groups[r]; !ok { -- bv := uint64(0) -- for _, g := range mm[r] { -- bv |= 1 << g -- } -- if bv == 0 { -- // Pick the world for unspecified regions. -- bv = 1 << b.groups[b.region.index("001")] -- } -- if _, ok := bvs[bv]; !ok { -- bvs[bv] = index(len(bvs)) -- } -- regionInclusion[r] = uint8(bvs[bv]) -- } -- } -- b.writeSlice("regionInclusion", regionInclusion) -- regionInclusionBits := make([]uint64, len(bvs)) -- for k, v := range bvs { -- regionInclusionBits[v] = uint64(k) -- } -- // Add bit vectors for increasingly large distances until a fixed point is reached. -- regionInclusionNext := []uint8{} -- for i := 0; i < len(regionInclusionBits); i++ { -- bits := regionInclusionBits[i] -- next := bits -- for i := uint(0); i < uint(len(b.groups)); i++ { -- if bits&(1< 6 { -- log.Fatalf("Too many groups: %d", i) -- } -- idToIndex[mv.Id] = uint8(i + 1) -- // TODO: also handle '-' -- for _, r := range strings.Split(mv.Value, "+") { -- todo := []string{r} -- for k := 0; k < len(todo); k++ { -- r := todo[k] -- regionToGroups[b.regionIndex(r)] |= 1 << uint8(i) -- todo = append(todo, regionHierarchy[r]...) -- } -- } -- } -- b.w.WriteVar("regionToGroups", regionToGroups) -- -- // maps language id to in- and out-of-group region. -- paradigmLocales := [][3]uint16{} -- locales := strings.Split(lm[0].ParadigmLocales[0].Locales, " ") -- for i := 0; i < len(locales); i += 2 { -- x := [3]uint16{} -- for j := 0; j < 2; j++ { -- pc := strings.SplitN(locales[i+j], "-", 2) -- x[0] = b.langIndex(pc[0]) -- if len(pc) == 2 { -- x[1+j] = uint16(b.regionIndex(pc[1])) -- } -- } -- paradigmLocales = append(paradigmLocales, x) -- } -- b.w.WriteVar("paradigmLocales", paradigmLocales) -- -- b.w.WriteType(mutualIntelligibility{}) -- b.w.WriteType(scriptIntelligibility{}) -- b.w.WriteType(regionIntelligibility{}) -- -- matchLang := []mutualIntelligibility{} -- matchScript := []scriptIntelligibility{} -- matchRegion := []regionIntelligibility{} -- // Convert the languageMatch entries in lists keyed by desired language. -- for _, m := range lm[0].LanguageMatch { -- // Different versions of CLDR use different separators. -- desired := strings.Replace(m.Desired, "-", "_", -1) -- supported := strings.Replace(m.Supported, "-", "_", -1) -- d := strings.Split(desired, "_") -- s := strings.Split(supported, "_") -- if len(d) != len(s) { -- log.Fatalf("not supported: desired=%q; supported=%q", desired, supported) -- continue -- } -- distance, _ := strconv.ParseInt(m.Distance, 10, 8) -- switch len(d) { -- case 2: -- if desired == supported && desired == "*_*" { -- continue -- } -- // language-script pair. -- matchScript = append(matchScript, scriptIntelligibility{ -- wantLang: uint16(b.langIndex(d[0])), -- haveLang: uint16(b.langIndex(s[0])), -- wantScript: uint8(b.scriptIndex(d[1])), -- haveScript: uint8(b.scriptIndex(s[1])), -- distance: uint8(distance), -- }) -- if m.Oneway != "true" { -- matchScript = append(matchScript, scriptIntelligibility{ -- wantLang: uint16(b.langIndex(s[0])), -- haveLang: uint16(b.langIndex(d[0])), -- wantScript: uint8(b.scriptIndex(s[1])), -- haveScript: uint8(b.scriptIndex(d[1])), -- distance: uint8(distance), -- }) -- } -- case 1: -- if desired == supported && desired == "*" { -- continue -- } -- if distance == 1 { -- // nb == no is already handled by macro mapping. Check there -- // really is only this case. -- if d[0] != "no" || s[0] != "nb" { -- log.Fatalf("unhandled equivalence %s == %s", s[0], d[0]) -- } -- continue -- } -- // TODO: consider dropping oneway field and just doubling the entry. -- matchLang = append(matchLang, mutualIntelligibility{ -- want: uint16(b.langIndex(d[0])), -- have: uint16(b.langIndex(s[0])), -- distance: uint8(distance), -- oneway: m.Oneway == "true", -- }) -- case 3: -- if desired == supported && desired == "*_*_*" { -- continue -- } -- if desired != supported { -- // This is now supported by CLDR, but only one case, which -- // should already be covered by paradigm locales. For instance, -- // test case "und, en, en-GU, en-IN, en-GB ; en-ZA ; en-GB" in -- // testdata/CLDRLocaleMatcherTest.txt tests this. -- if supported != "en_*_GB" { -- log.Fatalf("not supported: desired=%q; supported=%q", desired, supported) -- } -- continue -- } -- ri := regionIntelligibility{ -- lang: b.langIndex(d[0]), -- distance: uint8(distance), -- } -- if d[1] != "*" { -- ri.script = uint8(b.scriptIndex(d[1])) -- } -- switch { -- case d[2] == "*": -- ri.group = 0x80 // not contained in anything -- case strings.HasPrefix(d[2], "$!"): -- ri.group = 0x80 -- d[2] = "$" + d[2][len("$!"):] -- fallthrough -- case strings.HasPrefix(d[2], "$"): -- ri.group |= idToIndex[d[2]] -- } -- matchRegion = append(matchRegion, ri) -- default: -- log.Fatalf("not supported: desired=%q; supported=%q", desired, supported) -- } -- } -- sort.SliceStable(matchLang, func(i, j int) bool { -- return matchLang[i].distance < matchLang[j].distance -- }) -- b.w.WriteComment(` -- matchLang holds pairs of langIDs of base languages that are typically -- mutually intelligible. Each pair is associated with a confidence and -- whether the intelligibility goes one or both ways.`) -- b.w.WriteVar("matchLang", matchLang) -- -- b.w.WriteComment(` -- matchScript holds pairs of scriptIDs where readers of one script -- can typically also read the other. Each is associated with a confidence.`) -- sort.SliceStable(matchScript, func(i, j int) bool { -- return matchScript[i].distance < matchScript[j].distance -- }) -- b.w.WriteVar("matchScript", matchScript) -- -- sort.SliceStable(matchRegion, func(i, j int) bool { -- return matchRegion[i].distance < matchRegion[j].distance -- }) -- b.w.WriteVar("matchRegion", matchRegion) --} -diff --git a/vendor/golang.org/x/text/unicode/bidi/gen.go b/vendor/golang.org/x/text/unicode/bidi/gen.go -deleted file mode 100644 -index 987fc169cc..0000000000 ---- a/vendor/golang.org/x/text/unicode/bidi/gen.go -+++ /dev/null -@@ -1,133 +0,0 @@ --// Copyright 2015 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --import ( -- "flag" -- "log" -- -- "golang.org/x/text/internal/gen" -- "golang.org/x/text/internal/triegen" -- "golang.org/x/text/internal/ucd" --) -- --var outputFile = flag.String("out", "tables.go", "output file") -- --func main() { -- gen.Init() -- gen.Repackage("gen_trieval.go", "trieval.go", "bidi") -- gen.Repackage("gen_ranges.go", "ranges_test.go", "bidi") -- -- genTables() --} -- --// bidiClass names and codes taken from class "bc" in --// https://www.unicode.org/Public/8.0.0/ucd/PropertyValueAliases.txt --var bidiClass = map[string]Class{ -- "AL": AL, // ArabicLetter -- "AN": AN, // ArabicNumber -- "B": B, // ParagraphSeparator -- "BN": BN, // BoundaryNeutral -- "CS": CS, // CommonSeparator -- "EN": EN, // EuropeanNumber -- "ES": ES, // EuropeanSeparator -- "ET": ET, // EuropeanTerminator -- "L": L, // LeftToRight -- "NSM": NSM, // NonspacingMark -- "ON": ON, // OtherNeutral -- "R": R, // RightToLeft -- "S": S, // SegmentSeparator -- "WS": WS, // WhiteSpace -- -- "FSI": Control, -- "PDF": Control, -- "PDI": Control, -- "LRE": Control, -- "LRI": Control, -- "LRO": Control, -- "RLE": Control, -- "RLI": Control, -- "RLO": Control, --} -- --func genTables() { -- if numClass > 0x0F { -- log.Fatalf("Too many Class constants (%#x > 0x0F).", numClass) -- } -- w := gen.NewCodeWriter() -- defer w.WriteVersionedGoFile(*outputFile, "bidi") -- -- gen.WriteUnicodeVersion(w) -- -- t := triegen.NewTrie("bidi") -- -- // Build data about bracket mapping. These bits need to be or-ed with -- // any other bits. -- orMask := map[rune]uint64{} -- -- xorMap := map[rune]int{} -- xorMasks := []rune{0} // First value is no-op. -- -- ucd.Parse(gen.OpenUCDFile("BidiBrackets.txt"), func(p *ucd.Parser) { -- r1 := p.Rune(0) -- r2 := p.Rune(1) -- xor := r1 ^ r2 -- if _, ok := xorMap[xor]; !ok { -- xorMap[xor] = len(xorMasks) -- xorMasks = append(xorMasks, xor) -- } -- entry := uint64(xorMap[xor]) << xorMaskShift -- switch p.String(2) { -- case "o": -- entry |= openMask -- case "c", "n": -- default: -- log.Fatalf("Unknown bracket class %q.", p.String(2)) -- } -- orMask[r1] = entry -- }) -- -- w.WriteComment(` -- xorMasks contains masks to be xor-ed with brackets to get the reverse -- version.`) -- w.WriteVar("xorMasks", xorMasks) -- -- done := map[rune]bool{} -- -- insert := func(r rune, c Class) { -- if !done[r] { -- t.Insert(r, orMask[r]|uint64(c)) -- done[r] = true -- } -- } -- -- // Insert the derived BiDi properties. -- ucd.Parse(gen.OpenUCDFile("extracted/DerivedBidiClass.txt"), func(p *ucd.Parser) { -- r := p.Rune(0) -- class, ok := bidiClass[p.String(1)] -- if !ok { -- log.Fatalf("%U: Unknown BiDi class %q", r, p.String(1)) -- } -- insert(r, class) -- }) -- visitDefaults(insert) -- -- // TODO: use sparse blocks. This would reduce table size considerably -- // from the looks of it. -- -- sz, err := t.Gen(w) -- if err != nil { -- log.Fatal(err) -- } -- w.Size += sz --} -- --// dummy values to make methods in gen_common compile. The real versions --// will be generated by this file to tables.go. --var ( -- xorMasks []rune --) -diff --git a/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go b/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go -deleted file mode 100644 -index 02c3b505d6..0000000000 ---- a/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go -+++ /dev/null -@@ -1,57 +0,0 @@ --// Copyright 2015 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --import ( -- "unicode" -- -- "golang.org/x/text/internal/gen" -- "golang.org/x/text/internal/ucd" -- "golang.org/x/text/unicode/rangetable" --) -- --// These tables are hand-extracted from: --// https://www.unicode.org/Public/8.0.0/ucd/extracted/DerivedBidiClass.txt --func visitDefaults(fn func(r rune, c Class)) { -- // first write default values for ranges listed above. -- visitRunes(fn, AL, []rune{ -- 0x0600, 0x07BF, // Arabic -- 0x08A0, 0x08FF, // Arabic Extended-A -- 0xFB50, 0xFDCF, // Arabic Presentation Forms -- 0xFDF0, 0xFDFF, -- 0xFE70, 0xFEFF, -- 0x0001EE00, 0x0001EEFF, // Arabic Mathematical Alpha Symbols -- }) -- visitRunes(fn, R, []rune{ -- 0x0590, 0x05FF, // Hebrew -- 0x07C0, 0x089F, // Nko et al. -- 0xFB1D, 0xFB4F, -- 0x00010800, 0x00010FFF, // Cypriot Syllabary et. al. -- 0x0001E800, 0x0001EDFF, -- 0x0001EF00, 0x0001EFFF, -- }) -- visitRunes(fn, ET, []rune{ // European Terminator -- 0x20A0, 0x20Cf, // Currency symbols -- }) -- rangetable.Visit(unicode.Noncharacter_Code_Point, func(r rune) { -- fn(r, BN) // Boundary Neutral -- }) -- ucd.Parse(gen.OpenUCDFile("DerivedCoreProperties.txt"), func(p *ucd.Parser) { -- if p.String(1) == "Default_Ignorable_Code_Point" { -- fn(p.Rune(0), BN) // Boundary Neutral -- } -- }) --} -- --func visitRunes(fn func(r rune, c Class), c Class, runes []rune) { -- for i := 0; i < len(runes); i += 2 { -- lo, hi := runes[i], runes[i+1] -- for j := lo; j <= hi; j++ { -- fn(j, c) -- } -- } --} -diff --git a/vendor/golang.org/x/text/unicode/bidi/gen_trieval.go b/vendor/golang.org/x/text/unicode/bidi/gen_trieval.go -deleted file mode 100644 -index 9cb9942894..0000000000 ---- a/vendor/golang.org/x/text/unicode/bidi/gen_trieval.go -+++ /dev/null -@@ -1,64 +0,0 @@ --// Copyright 2015 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --package main -- --// Class is the Unicode BiDi class. Each rune has a single class. --type Class uint -- --const ( -- L Class = iota // LeftToRight -- R // RightToLeft -- EN // EuropeanNumber -- ES // EuropeanSeparator -- ET // EuropeanTerminator -- AN // ArabicNumber -- CS // CommonSeparator -- B // ParagraphSeparator -- S // SegmentSeparator -- WS // WhiteSpace -- ON // OtherNeutral -- BN // BoundaryNeutral -- NSM // NonspacingMark -- AL // ArabicLetter -- Control // Control LRO - PDI -- -- numClass -- -- LRO // LeftToRightOverride -- RLO // RightToLeftOverride -- LRE // LeftToRightEmbedding -- RLE // RightToLeftEmbedding -- PDF // PopDirectionalFormat -- LRI // LeftToRightIsolate -- RLI // RightToLeftIsolate -- FSI // FirstStrongIsolate -- PDI // PopDirectionalIsolate -- -- unknownClass = ^Class(0) --) -- --var controlToClass = map[rune]Class{ -- 0x202D: LRO, // LeftToRightOverride, -- 0x202E: RLO, // RightToLeftOverride, -- 0x202A: LRE, // LeftToRightEmbedding, -- 0x202B: RLE, // RightToLeftEmbedding, -- 0x202C: PDF, // PopDirectionalFormat, -- 0x2066: LRI, // LeftToRightIsolate, -- 0x2067: RLI, // RightToLeftIsolate, -- 0x2068: FSI, // FirstStrongIsolate, -- 0x2069: PDI, // PopDirectionalIsolate, --} -- --// A trie entry has the following bits: --// 7..5 XOR mask for brackets --// 4 1: Bracket open, 0: Bracket close --// 3..0 Class type -- --const ( -- openMask = 0x10 -- xorMaskShift = 5 --) -diff --git a/vendor/golang.org/x/text/unicode/norm/maketables.go b/vendor/golang.org/x/text/unicode/norm/maketables.go -deleted file mode 100644 -index 30a3aa9334..0000000000 ---- a/vendor/golang.org/x/text/unicode/norm/maketables.go -+++ /dev/null -@@ -1,986 +0,0 @@ --// Copyright 2011 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --// Normalization table generator. --// Data read from the web. --// See forminfo.go for a description of the trie values associated with each rune. -- --package main -- --import ( -- "bytes" -- "encoding/binary" -- "flag" -- "fmt" -- "io" -- "log" -- "sort" -- "strconv" -- "strings" -- -- "golang.org/x/text/internal/gen" -- "golang.org/x/text/internal/triegen" -- "golang.org/x/text/internal/ucd" --) -- --func main() { -- gen.Init() -- loadUnicodeData() -- compactCCC() -- loadCompositionExclusions() -- completeCharFields(FCanonical) -- completeCharFields(FCompatibility) -- computeNonStarterCounts() -- verifyComputed() -- printChars() -- testDerived() -- printTestdata() -- makeTables() --} -- --var ( -- tablelist = flag.String("tables", -- "all", -- "comma-separated list of which tables to generate; "+ -- "can be 'decomp', 'recomp', 'info' and 'all'") -- test = flag.Bool("test", -- false, -- "test existing tables against DerivedNormalizationProps and generate test data for regression testing") -- verbose = flag.Bool("verbose", -- false, -- "write data to stdout as it is parsed") --) -- --const MaxChar = 0x10FFFF // anything above this shouldn't exist -- --// Quick Check properties of runes allow us to quickly --// determine whether a rune may occur in a normal form. --// For a given normal form, a rune may be guaranteed to occur --// verbatim (QC=Yes), may or may not combine with another --// rune (QC=Maybe), or may not occur (QC=No). --type QCResult int -- --const ( -- QCUnknown QCResult = iota -- QCYes -- QCNo -- QCMaybe --) -- --func (r QCResult) String() string { -- switch r { -- case QCYes: -- return "Yes" -- case QCNo: -- return "No" -- case QCMaybe: -- return "Maybe" -- } -- return "***UNKNOWN***" --} -- --const ( -- FCanonical = iota // NFC or NFD -- FCompatibility // NFKC or NFKD -- FNumberOfFormTypes --) -- --const ( -- MComposed = iota // NFC or NFKC -- MDecomposed // NFD or NFKD -- MNumberOfModes --) -- --// This contains only the properties we're interested in. --type Char struct { -- name string -- codePoint rune // if zero, this index is not a valid code point. -- ccc uint8 // canonical combining class -- origCCC uint8 -- excludeInComp bool // from CompositionExclusions.txt -- compatDecomp bool // it has a compatibility expansion -- -- nTrailingNonStarters uint8 -- nLeadingNonStarters uint8 // must be equal to trailing if non-zero -- -- forms [FNumberOfFormTypes]FormInfo // For FCanonical and FCompatibility -- -- state State --} -- --var chars = make([]Char, MaxChar+1) --var cccMap = make(map[uint8]uint8) -- --func (c Char) String() string { -- buf := new(bytes.Buffer) -- -- fmt.Fprintf(buf, "%U [%s]:\n", c.codePoint, c.name) -- fmt.Fprintf(buf, " ccc: %v\n", c.ccc) -- fmt.Fprintf(buf, " excludeInComp: %v\n", c.excludeInComp) -- fmt.Fprintf(buf, " compatDecomp: %v\n", c.compatDecomp) -- fmt.Fprintf(buf, " state: %v\n", c.state) -- fmt.Fprintf(buf, " NFC:\n") -- fmt.Fprint(buf, c.forms[FCanonical]) -- fmt.Fprintf(buf, " NFKC:\n") -- fmt.Fprint(buf, c.forms[FCompatibility]) -- -- return buf.String() --} -- --// In UnicodeData.txt, some ranges are marked like this: --// 3400;;Lo;0;L;;;;;N;;;;; --// 4DB5;;Lo;0;L;;;;;N;;;;; --// parseCharacter keeps a state variable indicating the weirdness. --type State int -- --const ( -- SNormal State = iota // known to be zero for the type -- SFirst -- SLast -- SMissing --) -- --var lastChar = rune('\u0000') -- --func (c Char) isValid() bool { -- return c.codePoint != 0 && c.state != SMissing --} -- --type FormInfo struct { -- quickCheck [MNumberOfModes]QCResult // index: MComposed or MDecomposed -- verified [MNumberOfModes]bool // index: MComposed or MDecomposed -- -- combinesForward bool // May combine with rune on the right -- combinesBackward bool // May combine with rune on the left -- isOneWay bool // Never appears in result -- inDecomp bool // Some decompositions result in this char. -- decomp Decomposition -- expandedDecomp Decomposition --} -- --func (f FormInfo) String() string { -- buf := bytes.NewBuffer(make([]byte, 0)) -- -- fmt.Fprintf(buf, " quickCheck[C]: %v\n", f.quickCheck[MComposed]) -- fmt.Fprintf(buf, " quickCheck[D]: %v\n", f.quickCheck[MDecomposed]) -- fmt.Fprintf(buf, " cmbForward: %v\n", f.combinesForward) -- fmt.Fprintf(buf, " cmbBackward: %v\n", f.combinesBackward) -- fmt.Fprintf(buf, " isOneWay: %v\n", f.isOneWay) -- fmt.Fprintf(buf, " inDecomp: %v\n", f.inDecomp) -- fmt.Fprintf(buf, " decomposition: %X\n", f.decomp) -- fmt.Fprintf(buf, " expandedDecomp: %X\n", f.expandedDecomp) -- -- return buf.String() --} -- --type Decomposition []rune -- --func parseDecomposition(s string, skipfirst bool) (a []rune, err error) { -- decomp := strings.Split(s, " ") -- if len(decomp) > 0 && skipfirst { -- decomp = decomp[1:] -- } -- for _, d := range decomp { -- point, err := strconv.ParseUint(d, 16, 64) -- if err != nil { -- return a, err -- } -- a = append(a, rune(point)) -- } -- return a, nil --} -- --func loadUnicodeData() { -- f := gen.OpenUCDFile("UnicodeData.txt") -- defer f.Close() -- p := ucd.New(f) -- for p.Next() { -- r := p.Rune(ucd.CodePoint) -- char := &chars[r] -- -- char.ccc = uint8(p.Uint(ucd.CanonicalCombiningClass)) -- decmap := p.String(ucd.DecompMapping) -- -- exp, err := parseDecomposition(decmap, false) -- isCompat := false -- if err != nil { -- if len(decmap) > 0 { -- exp, err = parseDecomposition(decmap, true) -- if err != nil { -- log.Fatalf(`%U: bad decomp |%v|: "%s"`, r, decmap, err) -- } -- isCompat = true -- } -- } -- -- char.name = p.String(ucd.Name) -- char.codePoint = r -- char.forms[FCompatibility].decomp = exp -- if !isCompat { -- char.forms[FCanonical].decomp = exp -- } else { -- char.compatDecomp = true -- } -- if len(decmap) > 0 { -- char.forms[FCompatibility].decomp = exp -- } -- } -- if err := p.Err(); err != nil { -- log.Fatal(err) -- } --} -- --// compactCCC converts the sparse set of CCC values to a continguous one, --// reducing the number of bits needed from 8 to 6. --func compactCCC() { -- m := make(map[uint8]uint8) -- for i := range chars { -- c := &chars[i] -- m[c.ccc] = 0 -- } -- cccs := []int{} -- for v, _ := range m { -- cccs = append(cccs, int(v)) -- } -- sort.Ints(cccs) -- for i, c := range cccs { -- cccMap[uint8(i)] = uint8(c) -- m[uint8(c)] = uint8(i) -- } -- for i := range chars { -- c := &chars[i] -- c.origCCC = c.ccc -- c.ccc = m[c.ccc] -- } -- if len(m) >= 1<<6 { -- log.Fatalf("too many difference CCC values: %d >= 64", len(m)) -- } --} -- --// CompositionExclusions.txt has form: --// 0958 # ... --// See https://unicode.org/reports/tr44/ for full explanation --func loadCompositionExclusions() { -- f := gen.OpenUCDFile("CompositionExclusions.txt") -- defer f.Close() -- p := ucd.New(f) -- for p.Next() { -- c := &chars[p.Rune(0)] -- if c.excludeInComp { -- log.Fatalf("%U: Duplicate entry in exclusions.", c.codePoint) -- } -- c.excludeInComp = true -- } -- if e := p.Err(); e != nil { -- log.Fatal(e) -- } --} -- --// hasCompatDecomp returns true if any of the recursive --// decompositions contains a compatibility expansion. --// In this case, the character may not occur in NFK*. --func hasCompatDecomp(r rune) bool { -- c := &chars[r] -- if c.compatDecomp { -- return true -- } -- for _, d := range c.forms[FCompatibility].decomp { -- if hasCompatDecomp(d) { -- return true -- } -- } -- return false --} -- --// Hangul related constants. --const ( -- HangulBase = 0xAC00 -- HangulEnd = 0xD7A4 // hangulBase + Jamo combinations (19 * 21 * 28) -- -- JamoLBase = 0x1100 -- JamoLEnd = 0x1113 -- JamoVBase = 0x1161 -- JamoVEnd = 0x1176 -- JamoTBase = 0x11A8 -- JamoTEnd = 0x11C3 -- -- JamoLVTCount = 19 * 21 * 28 -- JamoTCount = 28 --) -- --func isHangul(r rune) bool { -- return HangulBase <= r && r < HangulEnd --} -- --func isHangulWithoutJamoT(r rune) bool { -- if !isHangul(r) { -- return false -- } -- r -= HangulBase -- return r < JamoLVTCount && r%JamoTCount == 0 --} -- --func ccc(r rune) uint8 { -- return chars[r].ccc --} -- --// Insert a rune in a buffer, ordered by Canonical Combining Class. --func insertOrdered(b Decomposition, r rune) Decomposition { -- n := len(b) -- b = append(b, 0) -- cc := ccc(r) -- if cc > 0 { -- // Use bubble sort. -- for ; n > 0; n-- { -- if ccc(b[n-1]) <= cc { -- break -- } -- b[n] = b[n-1] -- } -- } -- b[n] = r -- return b --} -- --// Recursively decompose. --func decomposeRecursive(form int, r rune, d Decomposition) Decomposition { -- dcomp := chars[r].forms[form].decomp -- if len(dcomp) == 0 { -- return insertOrdered(d, r) -- } -- for _, c := range dcomp { -- d = decomposeRecursive(form, c, d) -- } -- return d --} -- --func completeCharFields(form int) { -- // Phase 0: pre-expand decomposition. -- for i := range chars { -- f := &chars[i].forms[form] -- if len(f.decomp) == 0 { -- continue -- } -- exp := make(Decomposition, 0) -- for _, c := range f.decomp { -- exp = decomposeRecursive(form, c, exp) -- } -- f.expandedDecomp = exp -- } -- -- // Phase 1: composition exclusion, mark decomposition. -- for i := range chars { -- c := &chars[i] -- f := &c.forms[form] -- -- // Marks script-specific exclusions and version restricted. -- f.isOneWay = c.excludeInComp -- -- // Singletons -- f.isOneWay = f.isOneWay || len(f.decomp) == 1 -- -- // Non-starter decompositions -- if len(f.decomp) > 1 { -- chk := c.ccc != 0 || chars[f.decomp[0]].ccc != 0 -- f.isOneWay = f.isOneWay || chk -- } -- -- // Runes that decompose into more than two runes. -- f.isOneWay = f.isOneWay || len(f.decomp) > 2 -- -- if form == FCompatibility { -- f.isOneWay = f.isOneWay || hasCompatDecomp(c.codePoint) -- } -- -- for _, r := range f.decomp { -- chars[r].forms[form].inDecomp = true -- } -- } -- -- // Phase 2: forward and backward combining. -- for i := range chars { -- c := &chars[i] -- f := &c.forms[form] -- -- if !f.isOneWay && len(f.decomp) == 2 { -- f0 := &chars[f.decomp[0]].forms[form] -- f1 := &chars[f.decomp[1]].forms[form] -- if !f0.isOneWay { -- f0.combinesForward = true -- } -- if !f1.isOneWay { -- f1.combinesBackward = true -- } -- } -- if isHangulWithoutJamoT(rune(i)) { -- f.combinesForward = true -- } -- } -- -- // Phase 3: quick check values. -- for i := range chars { -- c := &chars[i] -- f := &c.forms[form] -- -- switch { -- case len(f.decomp) > 0: -- f.quickCheck[MDecomposed] = QCNo -- case isHangul(rune(i)): -- f.quickCheck[MDecomposed] = QCNo -- default: -- f.quickCheck[MDecomposed] = QCYes -- } -- switch { -- case f.isOneWay: -- f.quickCheck[MComposed] = QCNo -- case (i & 0xffff00) == JamoLBase: -- f.quickCheck[MComposed] = QCYes -- if JamoLBase <= i && i < JamoLEnd { -- f.combinesForward = true -- } -- if JamoVBase <= i && i < JamoVEnd { -- f.quickCheck[MComposed] = QCMaybe -- f.combinesBackward = true -- f.combinesForward = true -- } -- if JamoTBase <= i && i < JamoTEnd { -- f.quickCheck[MComposed] = QCMaybe -- f.combinesBackward = true -- } -- case !f.combinesBackward: -- f.quickCheck[MComposed] = QCYes -- default: -- f.quickCheck[MComposed] = QCMaybe -- } -- } --} -- --func computeNonStarterCounts() { -- // Phase 4: leading and trailing non-starter count -- for i := range chars { -- c := &chars[i] -- -- runes := []rune{rune(i)} -- // We always use FCompatibility so that the CGJ insertion points do not -- // change for repeated normalizations with different forms. -- if exp := c.forms[FCompatibility].expandedDecomp; len(exp) > 0 { -- runes = exp -- } -- // We consider runes that combine backwards to be non-starters for the -- // purpose of Stream-Safe Text Processing. -- for _, r := range runes { -- if cr := &chars[r]; cr.ccc == 0 && !cr.forms[FCompatibility].combinesBackward { -- break -- } -- c.nLeadingNonStarters++ -- } -- for i := len(runes) - 1; i >= 0; i-- { -- if cr := &chars[runes[i]]; cr.ccc == 0 && !cr.forms[FCompatibility].combinesBackward { -- break -- } -- c.nTrailingNonStarters++ -- } -- if c.nTrailingNonStarters > 3 { -- log.Fatalf("%U: Decomposition with more than 3 (%d) trailing modifiers (%U)", i, c.nTrailingNonStarters, runes) -- } -- -- if isHangul(rune(i)) { -- c.nTrailingNonStarters = 2 -- if isHangulWithoutJamoT(rune(i)) { -- c.nTrailingNonStarters = 1 -- } -- } -- -- if l, t := c.nLeadingNonStarters, c.nTrailingNonStarters; l > 0 && l != t { -- log.Fatalf("%U: number of leading and trailing non-starters should be equal (%d vs %d)", i, l, t) -- } -- if t := c.nTrailingNonStarters; t > 3 { -- log.Fatalf("%U: number of trailing non-starters is %d > 3", t) -- } -- } --} -- --func printBytes(w io.Writer, b []byte, name string) { -- fmt.Fprintf(w, "// %s: %d bytes\n", name, len(b)) -- fmt.Fprintf(w, "var %s = [...]byte {", name) -- for i, c := range b { -- switch { -- case i%64 == 0: -- fmt.Fprintf(w, "\n// Bytes %x - %x\n", i, i+63) -- case i%8 == 0: -- fmt.Fprintf(w, "\n") -- } -- fmt.Fprintf(w, "0x%.2X, ", c) -- } -- fmt.Fprint(w, "\n}\n\n") --} -- --// See forminfo.go for format. --func makeEntry(f *FormInfo, c *Char) uint16 { -- e := uint16(0) -- if r := c.codePoint; HangulBase <= r && r < HangulEnd { -- e |= 0x40 -- } -- if f.combinesForward { -- e |= 0x20 -- } -- if f.quickCheck[MDecomposed] == QCNo { -- e |= 0x4 -- } -- switch f.quickCheck[MComposed] { -- case QCYes: -- case QCNo: -- e |= 0x10 -- case QCMaybe: -- e |= 0x18 -- default: -- log.Fatalf("Illegal quickcheck value %v.", f.quickCheck[MComposed]) -- } -- e |= uint16(c.nTrailingNonStarters) -- return e --} -- --// decompSet keeps track of unique decompositions, grouped by whether --// the decomposition is followed by a trailing and/or leading CCC. --type decompSet [7]map[string]bool -- --const ( -- normalDecomp = iota -- firstMulti -- firstCCC -- endMulti -- firstLeadingCCC -- firstCCCZeroExcept -- firstStarterWithNLead -- lastDecomp --) -- --var cname = []string{"firstMulti", "firstCCC", "endMulti", "firstLeadingCCC", "firstCCCZeroExcept", "firstStarterWithNLead", "lastDecomp"} -- --func makeDecompSet() decompSet { -- m := decompSet{} -- for i := range m { -- m[i] = make(map[string]bool) -- } -- return m --} --func (m *decompSet) insert(key int, s string) { -- m[key][s] = true --} -- --func printCharInfoTables(w io.Writer) int { -- mkstr := func(r rune, f *FormInfo) (int, string) { -- d := f.expandedDecomp -- s := string([]rune(d)) -- if max := 1 << 6; len(s) >= max { -- const msg = "%U: too many bytes in decomposition: %d >= %d" -- log.Fatalf(msg, r, len(s), max) -- } -- head := uint8(len(s)) -- if f.quickCheck[MComposed] != QCYes { -- head |= 0x40 -- } -- if f.combinesForward { -- head |= 0x80 -- } -- s = string([]byte{head}) + s -- -- lccc := ccc(d[0]) -- tccc := ccc(d[len(d)-1]) -- cc := ccc(r) -- if cc != 0 && lccc == 0 && tccc == 0 { -- log.Fatalf("%U: trailing and leading ccc are 0 for non-zero ccc %d", r, cc) -- } -- if tccc < lccc && lccc != 0 { -- const msg = "%U: lccc (%d) must be <= tcc (%d)" -- log.Fatalf(msg, r, lccc, tccc) -- } -- index := normalDecomp -- nTrail := chars[r].nTrailingNonStarters -- nLead := chars[r].nLeadingNonStarters -- if tccc > 0 || lccc > 0 || nTrail > 0 { -- tccc <<= 2 -- tccc |= nTrail -- s += string([]byte{tccc}) -- index = endMulti -- for _, r := range d[1:] { -- if ccc(r) == 0 { -- index = firstCCC -- } -- } -- if lccc > 0 || nLead > 0 { -- s += string([]byte{lccc}) -- if index == firstCCC { -- log.Fatalf("%U: multi-segment decomposition not supported for decompositions with leading CCC != 0", r) -- } -- index = firstLeadingCCC -- } -- if cc != lccc { -- if cc != 0 { -- log.Fatalf("%U: for lccc != ccc, expected ccc to be 0; was %d", r, cc) -- } -- index = firstCCCZeroExcept -- } -- } else if len(d) > 1 { -- index = firstMulti -- } -- return index, s -- } -- -- decompSet := makeDecompSet() -- const nLeadStr = "\x00\x01" // 0-byte length and tccc with nTrail. -- decompSet.insert(firstStarterWithNLead, nLeadStr) -- -- // Store the uniqued decompositions in a byte buffer, -- // preceded by their byte length. -- for _, c := range chars { -- for _, f := range c.forms { -- if len(f.expandedDecomp) == 0 { -- continue -- } -- if f.combinesBackward { -- log.Fatalf("%U: combinesBackward and decompose", c.codePoint) -- } -- index, s := mkstr(c.codePoint, &f) -- decompSet.insert(index, s) -- } -- } -- -- decompositions := bytes.NewBuffer(make([]byte, 0, 10000)) -- size := 0 -- positionMap := make(map[string]uint16) -- decompositions.WriteString("\000") -- fmt.Fprintln(w, "const (") -- for i, m := range decompSet { -- sa := []string{} -- for s := range m { -- sa = append(sa, s) -- } -- sort.Strings(sa) -- for _, s := range sa { -- p := decompositions.Len() -- decompositions.WriteString(s) -- positionMap[s] = uint16(p) -- } -- if cname[i] != "" { -- fmt.Fprintf(w, "%s = 0x%X\n", cname[i], decompositions.Len()) -- } -- } -- fmt.Fprintln(w, "maxDecomp = 0x8000") -- fmt.Fprintln(w, ")") -- b := decompositions.Bytes() -- printBytes(w, b, "decomps") -- size += len(b) -- -- varnames := []string{"nfc", "nfkc"} -- for i := 0; i < FNumberOfFormTypes; i++ { -- trie := triegen.NewTrie(varnames[i]) -- -- for r, c := range chars { -- f := c.forms[i] -- d := f.expandedDecomp -- if len(d) != 0 { -- _, key := mkstr(c.codePoint, &f) -- trie.Insert(rune(r), uint64(positionMap[key])) -- if c.ccc != ccc(d[0]) { -- // We assume the lead ccc of a decomposition !=0 in this case. -- if ccc(d[0]) == 0 { -- log.Fatalf("Expected leading CCC to be non-zero; ccc is %d", c.ccc) -- } -- } -- } else if c.nLeadingNonStarters > 0 && len(f.expandedDecomp) == 0 && c.ccc == 0 && !f.combinesBackward { -- // Handle cases where it can't be detected that the nLead should be equal -- // to nTrail. -- trie.Insert(c.codePoint, uint64(positionMap[nLeadStr])) -- } else if v := makeEntry(&f, &c)<<8 | uint16(c.ccc); v != 0 { -- trie.Insert(c.codePoint, uint64(0x8000|v)) -- } -- } -- sz, err := trie.Gen(w, triegen.Compact(&normCompacter{name: varnames[i]})) -- if err != nil { -- log.Fatal(err) -- } -- size += sz -- } -- return size --} -- --func contains(sa []string, s string) bool { -- for _, a := range sa { -- if a == s { -- return true -- } -- } -- return false --} -- --func makeTables() { -- w := &bytes.Buffer{} -- -- size := 0 -- if *tablelist == "" { -- return -- } -- list := strings.Split(*tablelist, ",") -- if *tablelist == "all" { -- list = []string{"recomp", "info"} -- } -- -- // Compute maximum decomposition size. -- max := 0 -- for _, c := range chars { -- if n := len(string(c.forms[FCompatibility].expandedDecomp)); n > max { -- max = n -- } -- } -- fmt.Fprintln(w, `import "sync"`) -- fmt.Fprintln(w) -- -- fmt.Fprintln(w, "const (") -- fmt.Fprintln(w, "\t// Version is the Unicode edition from which the tables are derived.") -- fmt.Fprintf(w, "\tVersion = %q\n", gen.UnicodeVersion()) -- fmt.Fprintln(w) -- fmt.Fprintln(w, "\t// MaxTransformChunkSize indicates the maximum number of bytes that Transform") -- fmt.Fprintln(w, "\t// may need to write atomically for any Form. Making a destination buffer at") -- fmt.Fprintln(w, "\t// least this size ensures that Transform can always make progress and that") -- fmt.Fprintln(w, "\t// the user does not need to grow the buffer on an ErrShortDst.") -- fmt.Fprintf(w, "\tMaxTransformChunkSize = %d+maxNonStarters*4\n", len(string(0x034F))+max) -- fmt.Fprintln(w, ")\n") -- -- // Print the CCC remap table. -- size += len(cccMap) -- fmt.Fprintf(w, "var ccc = [%d]uint8{", len(cccMap)) -- for i := 0; i < len(cccMap); i++ { -- if i%8 == 0 { -- fmt.Fprintln(w) -- } -- fmt.Fprintf(w, "%3d, ", cccMap[uint8(i)]) -- } -- fmt.Fprintln(w, "\n}\n") -- -- if contains(list, "info") { -- size += printCharInfoTables(w) -- } -- -- if contains(list, "recomp") { -- // Note that we use 32 bit keys, instead of 64 bit. -- // This clips the bits of three entries, but we know -- // this won't cause a collision. The compiler will catch -- // any changes made to UnicodeData.txt that introduces -- // a collision. -- // Note that the recomposition map for NFC and NFKC -- // are identical. -- -- // Recomposition map -- nrentries := 0 -- for _, c := range chars { -- f := c.forms[FCanonical] -- if !f.isOneWay && len(f.decomp) > 0 { -- nrentries++ -- } -- } -- sz := nrentries * 8 -- size += sz -- fmt.Fprintf(w, "// recompMap: %d bytes (entries only)\n", sz) -- fmt.Fprintln(w, "var recompMap map[uint32]rune") -- fmt.Fprintln(w, "var recompMapOnce sync.Once\n") -- fmt.Fprintln(w, `const recompMapPacked = "" +`) -- var buf [8]byte -- for i, c := range chars { -- f := c.forms[FCanonical] -- d := f.decomp -- if !f.isOneWay && len(d) > 0 { -- key := uint32(uint16(d[0]))<<16 + uint32(uint16(d[1])) -- binary.BigEndian.PutUint32(buf[:4], key) -- binary.BigEndian.PutUint32(buf[4:], uint32(i)) -- fmt.Fprintf(w, "\t\t%q + // 0x%.8X: 0x%.8X\n", string(buf[:]), key, uint32(i)) -- } -- } -- // hack so we don't have to special case the trailing plus sign -- fmt.Fprintf(w, ` ""`) -- fmt.Fprintln(w) -- } -- -- fmt.Fprintf(w, "// Total size of tables: %dKB (%d bytes)\n", (size+512)/1024, size) -- gen.WriteVersionedGoFile("tables.go", "norm", w.Bytes()) --} -- --func printChars() { -- if *verbose { -- for _, c := range chars { -- if !c.isValid() || c.state == SMissing { -- continue -- } -- fmt.Println(c) -- } -- } --} -- --// verifyComputed does various consistency tests. --func verifyComputed() { -- for i, c := range chars { -- for _, f := range c.forms { -- isNo := (f.quickCheck[MDecomposed] == QCNo) -- if (len(f.decomp) > 0) != isNo && !isHangul(rune(i)) { -- log.Fatalf("%U: NF*D QC must be No if rune decomposes", i) -- } -- -- isMaybe := f.quickCheck[MComposed] == QCMaybe -- if f.combinesBackward != isMaybe { -- log.Fatalf("%U: NF*C QC must be Maybe if combinesBackward", i) -- } -- if len(f.decomp) > 0 && f.combinesForward && isMaybe { -- log.Fatalf("%U: NF*C QC must be Yes or No if combinesForward and decomposes", i) -- } -- -- if len(f.expandedDecomp) != 0 { -- continue -- } -- if a, b := c.nLeadingNonStarters > 0, (c.ccc > 0 || f.combinesBackward); a != b { -- // We accept these runes to be treated differently (it only affects -- // segment breaking in iteration, most likely on improper use), but -- // reconsider if more characters are added. -- // U+FF9E HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L; 3099;;;;N;;;;; -- // U+FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L; 309A;;;;N;;;;; -- // U+3133 HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;; -- // U+318E HANGUL LETTER ARAEAE;Lo;0;L; 11A1;;;;N;HANGUL LETTER ALAE AE;;;; -- // U+FFA3 HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;; -- // U+FFDC HALFWIDTH HANGUL LETTER I;Lo;0;L; 3163;;;;N;;;;; -- if i != 0xFF9E && i != 0xFF9F && !(0x3133 <= i && i <= 0x318E) && !(0xFFA3 <= i && i <= 0xFFDC) { -- log.Fatalf("%U: nLead was %v; want %v", i, a, b) -- } -- } -- } -- nfc := c.forms[FCanonical] -- nfkc := c.forms[FCompatibility] -- if nfc.combinesBackward != nfkc.combinesBackward { -- log.Fatalf("%U: Cannot combine combinesBackward\n", c.codePoint) -- } -- } --} -- --// Use values in DerivedNormalizationProps.txt to compare against the --// values we computed. --// DerivedNormalizationProps.txt has form: --// 00C0..00C5 ; NFD_QC; N # ... --// 0374 ; NFD_QC; N # ... --// See https://unicode.org/reports/tr44/ for full explanation --func testDerived() { -- f := gen.OpenUCDFile("DerivedNormalizationProps.txt") -- defer f.Close() -- p := ucd.New(f) -- for p.Next() { -- r := p.Rune(0) -- c := &chars[r] -- -- var ftype, mode int -- qt := p.String(1) -- switch qt { -- case "NFC_QC": -- ftype, mode = FCanonical, MComposed -- case "NFD_QC": -- ftype, mode = FCanonical, MDecomposed -- case "NFKC_QC": -- ftype, mode = FCompatibility, MComposed -- case "NFKD_QC": -- ftype, mode = FCompatibility, MDecomposed -- default: -- continue -- } -- var qr QCResult -- switch p.String(2) { -- case "Y": -- qr = QCYes -- case "N": -- qr = QCNo -- case "M": -- qr = QCMaybe -- default: -- log.Fatalf(`Unexpected quick check value "%s"`, p.String(2)) -- } -- if got := c.forms[ftype].quickCheck[mode]; got != qr { -- log.Printf("%U: FAILED %s (was %v need %v)\n", r, qt, got, qr) -- } -- c.forms[ftype].verified[mode] = true -- } -- if err := p.Err(); err != nil { -- log.Fatal(err) -- } -- // Any unspecified value must be QCYes. Verify this. -- for i, c := range chars { -- for j, fd := range c.forms { -- for k, qr := range fd.quickCheck { -- if !fd.verified[k] && qr != QCYes { -- m := "%U: FAIL F:%d M:%d (was %v need Yes) %s\n" -- log.Printf(m, i, j, k, qr, c.name) -- } -- } -- } -- } --} -- --var testHeader = `const ( -- Yes = iota -- No -- Maybe --) -- --type formData struct { -- qc uint8 -- combinesForward bool -- decomposition string --} -- --type runeData struct { -- r rune -- ccc uint8 -- nLead uint8 -- nTrail uint8 -- f [2]formData // 0: canonical; 1: compatibility --} -- --func f(qc uint8, cf bool, dec string) [2]formData { -- return [2]formData{{qc, cf, dec}, {qc, cf, dec}} --} -- --func g(qc, qck uint8, cf, cfk bool, d, dk string) [2]formData { -- return [2]formData{{qc, cf, d}, {qck, cfk, dk}} --} -- --var testData = []runeData{ --` -- --func printTestdata() { -- type lastInfo struct { -- ccc uint8 -- nLead uint8 -- nTrail uint8 -- f string -- } -- -- last := lastInfo{} -- w := &bytes.Buffer{} -- fmt.Fprintf(w, testHeader) -- for r, c := range chars { -- f := c.forms[FCanonical] -- qc, cf, d := f.quickCheck[MComposed], f.combinesForward, string(f.expandedDecomp) -- f = c.forms[FCompatibility] -- qck, cfk, dk := f.quickCheck[MComposed], f.combinesForward, string(f.expandedDecomp) -- s := "" -- if d == dk && qc == qck && cf == cfk { -- s = fmt.Sprintf("f(%s, %v, %q)", qc, cf, d) -- } else { -- s = fmt.Sprintf("g(%s, %s, %v, %v, %q, %q)", qc, qck, cf, cfk, d, dk) -- } -- current := lastInfo{c.ccc, c.nLeadingNonStarters, c.nTrailingNonStarters, s} -- if last != current { -- fmt.Fprintf(w, "\t{0x%x, %d, %d, %d, %s},\n", r, c.origCCC, c.nLeadingNonStarters, c.nTrailingNonStarters, s) -- last = current -- } -- } -- fmt.Fprintln(w, "}") -- gen.WriteVersionedGoFile("data_test.go", "norm", w.Bytes()) --} -diff --git a/vendor/golang.org/x/text/unicode/norm/triegen.go b/vendor/golang.org/x/text/unicode/norm/triegen.go -deleted file mode 100644 -index 45d711900d..0000000000 ---- a/vendor/golang.org/x/text/unicode/norm/triegen.go -+++ /dev/null -@@ -1,117 +0,0 @@ --// Copyright 2011 The Go Authors. All rights reserved. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// +build ignore -- --// Trie table generator. --// Used by make*tables tools to generate a go file with trie data structures --// for mapping UTF-8 to a 16-bit value. All but the last byte in a UTF-8 byte --// sequence are used to lookup offsets in the index table to be used for the --// next byte. The last byte is used to index into a table with 16-bit values. -- --package main -- --import ( -- "fmt" -- "io" --) -- --const maxSparseEntries = 16 -- --type normCompacter struct { -- sparseBlocks [][]uint64 -- sparseOffset []uint16 -- sparseCount int -- name string --} -- --func mostFrequentStride(a []uint64) int { -- counts := make(map[int]int) -- var v int -- for _, x := range a { -- if stride := int(x) - v; v != 0 && stride >= 0 { -- counts[stride]++ -- } -- v = int(x) -- } -- var maxs, maxc int -- for stride, cnt := range counts { -- if cnt > maxc || (cnt == maxc && stride < maxs) { -- maxs, maxc = stride, cnt -- } -- } -- return maxs --} -- --func countSparseEntries(a []uint64) int { -- stride := mostFrequentStride(a) -- var v, count int -- for _, tv := range a { -- if int(tv)-v != stride { -- if tv != 0 { -- count++ -- } -- } -- v = int(tv) -- } -- return count --} -- --func (c *normCompacter) Size(v []uint64) (sz int, ok bool) { -- if n := countSparseEntries(v); n <= maxSparseEntries { -- return (n+1)*4 + 2, true -- } -- return 0, false --} -- --func (c *normCompacter) Store(v []uint64) uint32 { -- h := uint32(len(c.sparseOffset)) -- c.sparseBlocks = append(c.sparseBlocks, v) -- c.sparseOffset = append(c.sparseOffset, uint16(c.sparseCount)) -- c.sparseCount += countSparseEntries(v) + 1 -- return h --} -- --func (c *normCompacter) Handler() string { -- return c.name + "Sparse.lookup" --} -- --func (c *normCompacter) Print(w io.Writer) (retErr error) { -- p := func(f string, x ...interface{}) { -- if _, err := fmt.Fprintf(w, f, x...); retErr == nil && err != nil { -- retErr = err -- } -- } -- -- ls := len(c.sparseBlocks) -- p("// %sSparseOffset: %d entries, %d bytes\n", c.name, ls, ls*2) -- p("var %sSparseOffset = %#v\n\n", c.name, c.sparseOffset) -- -- ns := c.sparseCount -- p("// %sSparseValues: %d entries, %d bytes\n", c.name, ns, ns*4) -- p("var %sSparseValues = [%d]valueRange {", c.name, ns) -- for i, b := range c.sparseBlocks { -- p("\n// Block %#x, offset %#x", i, c.sparseOffset[i]) -- var v int -- stride := mostFrequentStride(b) -- n := countSparseEntries(b) -- p("\n{value:%#04x,lo:%#02x},", stride, uint8(n)) -- for i, nv := range b { -- if int(nv)-v != stride { -- if v != 0 { -- p(",hi:%#02x},", 0x80+i-1) -- } -- if nv != 0 { -- p("\n{value:%#04x,lo:%#02x", nv, 0x80+i) -- } -- } -- v = int(nv) -- } -- if v != 0 { -- p(",hi:%#02x},", 0x80+len(b)-1) -- } -- } -- p("\n}\n\n") -- return --} -diff --git a/vendor/modules.txt b/vendor/modules.txt -index 91f7df534b..685585c07c 100644 ---- a/vendor/modules.txt -+++ b/vendor/modules.txt -@@ -1,30 +1,30 @@ - # github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 --github.com/Azure/go-ansiterm/winterm - github.com/Azure/go-ansiterm -+github.com/Azure/go-ansiterm/winterm - # github.com/BurntSushi/toml v0.3.1 - github.com/BurntSushi/toml - # github.com/Microsoft/go-winio v0.4.14 - github.com/Microsoft/go-winio --github.com/Microsoft/go-winio/pkg/guid - github.com/Microsoft/go-winio/archive/tar - github.com/Microsoft/go-winio/backuptar -+github.com/Microsoft/go-winio/pkg/guid - # github.com/Microsoft/hcsshim v0.8.6 --github.com/Microsoft/hcsshim/osversion - github.com/Microsoft/hcsshim -+github.com/Microsoft/hcsshim/internal/guestrequest - github.com/Microsoft/hcsshim/internal/guid - github.com/Microsoft/hcsshim/internal/hcs - github.com/Microsoft/hcsshim/internal/hcserror - github.com/Microsoft/hcsshim/internal/hns --github.com/Microsoft/hcsshim/internal/mergemaps --github.com/Microsoft/hcsshim/internal/schema1 --github.com/Microsoft/hcsshim/internal/wclayer --github.com/Microsoft/hcsshim/internal/guestrequest - github.com/Microsoft/hcsshim/internal/interop - github.com/Microsoft/hcsshim/internal/logfields --github.com/Microsoft/hcsshim/internal/timeout --github.com/Microsoft/hcsshim/internal/schema2 - github.com/Microsoft/hcsshim/internal/longpath -+github.com/Microsoft/hcsshim/internal/mergemaps - github.com/Microsoft/hcsshim/internal/safefile -+github.com/Microsoft/hcsshim/internal/schema1 -+github.com/Microsoft/hcsshim/internal/schema2 -+github.com/Microsoft/hcsshim/internal/timeout -+github.com/Microsoft/hcsshim/internal/wclayer -+github.com/Microsoft/hcsshim/osversion - # github.com/VividCortex/ewma v1.1.1 - github.com/VividCortex/ewma - # github.com/beorn7/perks v1.0.1 -@@ -40,133 +40,134 @@ github.com/checkpoint-restore/go-criu/rpc - github.com/containerd/containerd/errdefs - # github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc - github.com/containerd/continuity/fs --github.com/containerd/continuity/sysx - github.com/containerd/continuity/syscallx -+github.com/containerd/continuity/sysx - # github.com/containernetworking/cni v0.7.1 --github.com/containernetworking/cni/pkg/types --github.com/containernetworking/cni/pkg/types/current --github.com/containernetworking/cni/pkg/version - github.com/containernetworking/cni/libcni - github.com/containernetworking/cni/pkg/invoke -+github.com/containernetworking/cni/pkg/types - github.com/containernetworking/cni/pkg/types/020 -+github.com/containernetworking/cni/pkg/types/current -+github.com/containernetworking/cni/pkg/version - # github.com/containernetworking/plugins v0.8.2 --github.com/containernetworking/plugins/pkg/ns - github.com/containernetworking/plugins/pkg/ip --github.com/containernetworking/plugins/plugins/ipam/host-local/backend/allocator -+github.com/containernetworking/plugins/pkg/ns - github.com/containernetworking/plugins/pkg/utils/hwaddr - github.com/containernetworking/plugins/plugins/ipam/host-local/backend -+github.com/containernetworking/plugins/plugins/ipam/host-local/backend/allocator - # github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 - github.com/containers/buildah --github.com/containers/buildah/imagebuildah --github.com/containers/buildah/pkg/chrootuser --github.com/containers/buildah/pkg/cli --github.com/containers/buildah/pkg/formats --github.com/containers/buildah/util --github.com/containers/buildah/pkg/secrets --github.com/containers/buildah/pkg/parse - github.com/containers/buildah/bind - github.com/containers/buildah/chroot - github.com/containers/buildah/docker -+github.com/containers/buildah/imagebuildah - github.com/containers/buildah/pkg/blobcache - github.com/containers/buildah/pkg/cgroups -+github.com/containers/buildah/pkg/chrootuser -+github.com/containers/buildah/pkg/cli -+github.com/containers/buildah/pkg/formats - github.com/containers/buildah/pkg/overlay --github.com/containers/buildah/pkg/unshare -+github.com/containers/buildah/pkg/parse -+github.com/containers/buildah/pkg/secrets - github.com/containers/buildah/pkg/umask --# github.com/containers/image/v5 v5.0.0 -+github.com/containers/buildah/pkg/unshare -+github.com/containers/buildah/util -+# github.com/containers/image/v5 v5.0.1-0.20200205124631-82291c45f2b0 -+github.com/containers/image/v5/copy - github.com/containers/image/v5/directory -+github.com/containers/image/v5/directory/explicitfilepath - github.com/containers/image/v5/docker - github.com/containers/image/v5/docker/archive --github.com/containers/image/v5/manifest --github.com/containers/image/v5/pkg/docker/config --github.com/containers/image/v5/signature --github.com/containers/image/v5/transports --github.com/containers/image/v5/transports/alltransports --github.com/containers/image/v5/types --github.com/containers/image/v5/oci/archive --github.com/containers/image/v5/storage --github.com/containers/image/v5/copy -+github.com/containers/image/v5/docker/daemon -+github.com/containers/image/v5/docker/policyconfiguration - github.com/containers/image/v5/docker/reference - github.com/containers/image/v5/docker/tarfile - github.com/containers/image/v5/image --github.com/containers/image/v5/oci/layout --github.com/containers/image/v5/tarball --github.com/containers/image/v5/pkg/sysregistriesv2 --github.com/containers/image/v5/directory/explicitfilepath --github.com/containers/image/v5/docker/policyconfiguration --github.com/containers/image/v5/pkg/blobinfocache/none --github.com/containers/image/v5/pkg/tlsclientconfig --github.com/containers/image/v5/pkg/compression --github.com/containers/image/v5/pkg/strslice -+github.com/containers/image/v5/internal/iolimits - github.com/containers/image/v5/internal/pkg/keyctl --github.com/containers/image/v5/version --github.com/containers/image/v5/docker/daemon --github.com/containers/image/v5/openshift --github.com/containers/image/v5/ostree --github.com/containers/image/v5/pkg/compression/types - github.com/containers/image/v5/internal/tmpdir -+github.com/containers/image/v5/manifest -+github.com/containers/image/v5/oci/archive - github.com/containers/image/v5/oci/internal -+github.com/containers/image/v5/oci/layout -+github.com/containers/image/v5/openshift -+github.com/containers/image/v5/ostree - github.com/containers/image/v5/pkg/blobinfocache --github.com/containers/image/v5/pkg/compression/internal - github.com/containers/image/v5/pkg/blobinfocache/boltdb --github.com/containers/image/v5/pkg/blobinfocache/memory - github.com/containers/image/v5/pkg/blobinfocache/internal/prioritize -+github.com/containers/image/v5/pkg/blobinfocache/memory -+github.com/containers/image/v5/pkg/blobinfocache/none -+github.com/containers/image/v5/pkg/compression -+github.com/containers/image/v5/pkg/compression/internal -+github.com/containers/image/v5/pkg/compression/types -+github.com/containers/image/v5/pkg/docker/config -+github.com/containers/image/v5/pkg/strslice -+github.com/containers/image/v5/pkg/sysregistriesv2 -+github.com/containers/image/v5/pkg/tlsclientconfig -+github.com/containers/image/v5/signature -+github.com/containers/image/v5/storage -+github.com/containers/image/v5/tarball -+github.com/containers/image/v5/transports -+github.com/containers/image/v5/transports/alltransports -+github.com/containers/image/v5/types -+github.com/containers/image/v5/version - # github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b - github.com/containers/libtrust - # github.com/containers/psgo v1.3.2 - github.com/containers/psgo - github.com/containers/psgo/internal/capabilities -+github.com/containers/psgo/internal/cgroups - github.com/containers/psgo/internal/dev -+github.com/containers/psgo/internal/host - github.com/containers/psgo/internal/proc - github.com/containers/psgo/internal/process --github.com/containers/psgo/internal/cgroups --github.com/containers/psgo/internal/host - # github.com/containers/storage v1.13.6 - github.com/containers/storage --github.com/containers/storage/pkg/archive --github.com/containers/storage/pkg/chrootarchive --github.com/containers/storage/pkg/idtools --github.com/containers/storage/pkg/reexec --github.com/containers/storage/pkg/mount --github.com/containers/storage/pkg/stringid --github.com/containers/storage/pkg/system --github.com/containers/storage/pkg/truncindex --github.com/containers/storage/pkg/parsers/kernel --github.com/containers/storage/pkg/fileutils --github.com/containers/storage/pkg/ioutils --github.com/containers/storage/pkg/pools --github.com/containers/storage/pkg/homedir - github.com/containers/storage/drivers --github.com/containers/storage/drivers/register --github.com/containers/storage/pkg/config --github.com/containers/storage/pkg/directory --github.com/containers/storage/pkg/lockfile --github.com/containers/storage/pkg/parsers --github.com/containers/storage/pkg/stringutils --github.com/containers/storage/pkg/tarlog --github.com/containers/storage/pkg/longpath --github.com/containers/storage/pkg/promise - github.com/containers/storage/drivers/aufs - github.com/containers/storage/drivers/btrfs -+github.com/containers/storage/drivers/copy - github.com/containers/storage/drivers/devmapper - github.com/containers/storage/drivers/overlay -+github.com/containers/storage/drivers/overlayutils -+github.com/containers/storage/drivers/quota -+github.com/containers/storage/drivers/register - github.com/containers/storage/drivers/vfs - github.com/containers/storage/drivers/windows - github.com/containers/storage/drivers/zfs --github.com/containers/storage/pkg/locker -+github.com/containers/storage/pkg/archive -+github.com/containers/storage/pkg/chrootarchive -+github.com/containers/storage/pkg/config - github.com/containers/storage/pkg/devicemapper -+github.com/containers/storage/pkg/directory - github.com/containers/storage/pkg/dmesg --github.com/containers/storage/pkg/loopback --github.com/containers/storage/drivers/overlayutils --github.com/containers/storage/drivers/quota -+github.com/containers/storage/pkg/fileutils - github.com/containers/storage/pkg/fsutils --github.com/containers/storage/drivers/copy -+github.com/containers/storage/pkg/homedir -+github.com/containers/storage/pkg/idtools -+github.com/containers/storage/pkg/ioutils -+github.com/containers/storage/pkg/locker -+github.com/containers/storage/pkg/lockfile -+github.com/containers/storage/pkg/longpath -+github.com/containers/storage/pkg/loopback -+github.com/containers/storage/pkg/mount -+github.com/containers/storage/pkg/parsers -+github.com/containers/storage/pkg/parsers/kernel -+github.com/containers/storage/pkg/pools -+github.com/containers/storage/pkg/promise -+github.com/containers/storage/pkg/reexec -+github.com/containers/storage/pkg/stringid -+github.com/containers/storage/pkg/stringutils -+github.com/containers/storage/pkg/system -+github.com/containers/storage/pkg/tarlog -+github.com/containers/storage/pkg/truncindex - # github.com/coreos/go-iptables v0.4.2 - github.com/coreos/go-iptables/iptables - # github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f - github.com/coreos/go-systemd/activation - github.com/coreos/go-systemd/dbus --github.com/coreos/go-systemd/sdjournal - github.com/coreos/go-systemd/journal -+github.com/coreos/go-systemd/sdjournal - # github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f - github.com/coreos/pkg/dlopen - # github.com/cri-o/ocicni v0.1.1-0.20190702175919-7762645d18ca -@@ -176,68 +177,68 @@ github.com/cyphar/filepath-securejoin - # github.com/davecgh/go-spew v1.1.1 - github.com/davecgh/go-spew/spew - # github.com/docker/distribution v2.7.1+incompatible -+github.com/docker/distribution -+github.com/docker/distribution/digestset -+github.com/docker/distribution/metrics - github.com/docker/distribution/reference - github.com/docker/distribution/registry/api/errcode - github.com/docker/distribution/registry/api/v2 - github.com/docker/distribution/registry/client --github.com/docker/distribution/digestset --github.com/docker/distribution - github.com/docker/distribution/registry/client/auth/challenge - github.com/docker/distribution/registry/client/transport - github.com/docker/distribution/registry/storage/cache - github.com/docker/distribution/registry/storage/cache/memory --github.com/docker/distribution/metrics - # github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce --github.com/docker/docker/pkg/signal --github.com/docker/docker/pkg/homedir --github.com/docker/docker/oci/caps --github.com/docker/docker/pkg/namesgenerator --github.com/docker/docker/pkg/term --github.com/docker/docker/pkg/ioutils --github.com/docker/docker/pkg/parsers --github.com/docker/docker/api/types/versions --github.com/docker/docker/errdefs --github.com/docker/docker/pkg/term/windows --github.com/docker/docker/pkg/longpath --github.com/docker/docker/api/types/registry --github.com/docker/docker/api/types/swarm --github.com/docker/docker/pkg/archive --github.com/docker/docker/pkg/fileutils --github.com/docker/docker/pkg/jsonmessage --github.com/docker/docker/pkg/stdcopy --github.com/docker/docker/pkg/system --github.com/docker/docker/client --github.com/docker/docker/api/types/container --github.com/docker/docker/api/types/mount --github.com/docker/docker/api/types/network --github.com/docker/docker/api/types/swarm/runtime --github.com/docker/docker/pkg/idtools --github.com/docker/docker/pkg/pools --github.com/docker/docker/pkg/mount - github.com/docker/docker/api - github.com/docker/docker/api/types -+github.com/docker/docker/api/types/blkiodev -+github.com/docker/docker/api/types/container - github.com/docker/docker/api/types/events - github.com/docker/docker/api/types/filters - github.com/docker/docker/api/types/image -+github.com/docker/docker/api/types/mount -+github.com/docker/docker/api/types/network -+github.com/docker/docker/api/types/registry -+github.com/docker/docker/api/types/strslice -+github.com/docker/docker/api/types/swarm -+github.com/docker/docker/api/types/swarm/runtime - github.com/docker/docker/api/types/time -+github.com/docker/docker/api/types/versions - github.com/docker/docker/api/types/volume --github.com/docker/docker/api/types/blkiodev --github.com/docker/docker/api/types/strslice -+github.com/docker/docker/client -+github.com/docker/docker/errdefs -+github.com/docker/docker/oci/caps -+github.com/docker/docker/pkg/archive -+github.com/docker/docker/pkg/fileutils -+github.com/docker/docker/pkg/homedir -+github.com/docker/docker/pkg/idtools -+github.com/docker/docker/pkg/ioutils -+github.com/docker/docker/pkg/jsonmessage -+github.com/docker/docker/pkg/longpath -+github.com/docker/docker/pkg/mount -+github.com/docker/docker/pkg/namesgenerator -+github.com/docker/docker/pkg/parsers -+github.com/docker/docker/pkg/pools -+github.com/docker/docker/pkg/signal -+github.com/docker/docker/pkg/stdcopy -+github.com/docker/docker/pkg/system -+github.com/docker/docker/pkg/term -+github.com/docker/docker/pkg/term/windows - # github.com/docker/docker-credential-helpers v0.6.3 --github.com/docker/docker-credential-helpers/credentials - github.com/docker/docker-credential-helpers/client -+github.com/docker/docker-credential-helpers/credentials - # github.com/docker/go-connections v0.4.0 - github.com/docker/go-connections/nat --github.com/docker/go-connections/tlsconfig - github.com/docker/go-connections/sockets -+github.com/docker/go-connections/tlsconfig - # github.com/docker/go-metrics v0.0.1 - github.com/docker/go-metrics - # github.com/docker/go-units v0.4.0 - github.com/docker/go-units - # github.com/docker/libnetwork v0.8.0-dev.2.0.20190625141545-5a177b73e316 - github.com/docker/libnetwork/resolvconf --github.com/docker/libnetwork/types - github.com/docker/libnetwork/resolvconf/dns -+github.com/docker/libnetwork/types - # github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c - github.com/docker/spdystream - github.com/docker/spdystream/spdy -@@ -287,12 +288,12 @@ github.com/ishidawataru/sctp - # github.com/json-iterator/go v1.1.7 - github.com/json-iterator/go - # github.com/klauspost/compress v1.8.1 --github.com/klauspost/compress/zstd - github.com/klauspost/compress/flate -+github.com/klauspost/compress/fse - github.com/klauspost/compress/huff0 - github.com/klauspost/compress/snappy -+github.com/klauspost/compress/zstd - github.com/klauspost/compress/zstd/internal/xxhash --github.com/klauspost/compress/fse - # github.com/klauspost/cpuid v1.2.1 - github.com/klauspost/cpuid - # github.com/klauspost/pgzip v1.2.1 -@@ -318,83 +319,83 @@ github.com/mrunalp/fileutils - # github.com/mtrmac/gpgme v0.0.0-20170102180018-b2432428689c - github.com/mtrmac/gpgme - # github.com/onsi/ginkgo v1.10.2 --github.com/onsi/ginkgo/ginkgo - github.com/onsi/ginkgo - github.com/onsi/ginkgo/config -+github.com/onsi/ginkgo/extensions/table -+github.com/onsi/ginkgo/ginkgo - github.com/onsi/ginkgo/ginkgo/convert - github.com/onsi/ginkgo/ginkgo/interrupthandler - github.com/onsi/ginkgo/ginkgo/nodot - github.com/onsi/ginkgo/ginkgo/testrunner - github.com/onsi/ginkgo/ginkgo/testsuite - github.com/onsi/ginkgo/ginkgo/watch --github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable --github.com/onsi/ginkgo/types - github.com/onsi/ginkgo/internal/codelocation -+github.com/onsi/ginkgo/internal/containernode - github.com/onsi/ginkgo/internal/failer -+github.com/onsi/ginkgo/internal/leafnodes - github.com/onsi/ginkgo/internal/remote -+github.com/onsi/ginkgo/internal/spec -+github.com/onsi/ginkgo/internal/spec_iterator -+github.com/onsi/ginkgo/internal/specrunner - github.com/onsi/ginkgo/internal/suite - github.com/onsi/ginkgo/internal/testingtproxy - github.com/onsi/ginkgo/internal/writer - github.com/onsi/ginkgo/reporters - github.com/onsi/ginkgo/reporters/stenographer --github.com/onsi/ginkgo/extensions/table -+github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable - github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty --github.com/onsi/ginkgo/internal/spec_iterator --github.com/onsi/ginkgo/internal/containernode --github.com/onsi/ginkgo/internal/leafnodes --github.com/onsi/ginkgo/internal/spec --github.com/onsi/ginkgo/internal/specrunner -+github.com/onsi/ginkgo/types - # github.com/onsi/gomega v1.7.0 - github.com/onsi/gomega --github.com/onsi/gomega/gexec - github.com/onsi/gomega/format -+github.com/onsi/gomega/gbytes -+github.com/onsi/gomega/gexec - github.com/onsi/gomega/internal/assertion - github.com/onsi/gomega/internal/asyncassertion -+github.com/onsi/gomega/internal/oraclematcher - github.com/onsi/gomega/internal/testingtsupport - github.com/onsi/gomega/matchers --github.com/onsi/gomega/types --github.com/onsi/gomega/gbytes --github.com/onsi/gomega/internal/oraclematcher - github.com/onsi/gomega/matchers/support/goraph/bipartitegraph - github.com/onsi/gomega/matchers/support/goraph/edge - github.com/onsi/gomega/matchers/support/goraph/node - github.com/onsi/gomega/matchers/support/goraph/util -+github.com/onsi/gomega/types - # github.com/opencontainers/go-digest v1.0.0-rc1 - github.com/opencontainers/go-digest - # github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6 --github.com/opencontainers/image-spec/specs-go/v1 - github.com/opencontainers/image-spec/specs-go -+github.com/opencontainers/image-spec/specs-go/v1 - # github.com/opencontainers/runc v1.0.0-rc8.0.20190827142921-dd075602f158 --github.com/opencontainers/runc/libcontainer/user - github.com/opencontainers/runc/libcontainer/apparmor -+github.com/opencontainers/runc/libcontainer/cgroups - github.com/opencontainers/runc/libcontainer/configs - github.com/opencontainers/runc/libcontainer/devices --github.com/opencontainers/runc/libcontainer/cgroups - github.com/opencontainers/runc/libcontainer/system -+github.com/opencontainers/runc/libcontainer/user - # github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7 - github.com/opencontainers/runtime-spec/specs-go - # github.com/opencontainers/runtime-tools v0.9.0 -+github.com/opencontainers/runtime-tools/error -+github.com/opencontainers/runtime-tools/filepath - github.com/opencontainers/runtime-tools/generate --github.com/opencontainers/runtime-tools/validate - github.com/opencontainers/runtime-tools/generate/seccomp --github.com/opencontainers/runtime-tools/filepath - github.com/opencontainers/runtime-tools/specerror --github.com/opencontainers/runtime-tools/error -+github.com/opencontainers/runtime-tools/validate - # github.com/opencontainers/selinux v1.3.0 --github.com/opencontainers/selinux/go-selinux/label - github.com/opencontainers/selinux/go-selinux -+github.com/opencontainers/selinux/go-selinux/label - # github.com/openshift/api v3.9.1-0.20190810003144-27fb16909b15+incompatible - github.com/openshift/api/config/v1 - # github.com/openshift/imagebuilder v1.1.1 - github.com/openshift/imagebuilder --github.com/openshift/imagebuilder/dockerfile/parser - github.com/openshift/imagebuilder/dockerfile/command -+github.com/openshift/imagebuilder/dockerfile/parser - github.com/openshift/imagebuilder/signal - github.com/openshift/imagebuilder/strslice - # github.com/opentracing/opentracing-go v1.1.0 - github.com/opentracing/opentracing-go --github.com/opentracing/opentracing-go/log - github.com/opentracing/opentracing-go/ext -+github.com/opentracing/opentracing-go/log - # github.com/ostreedev/ostree-go v0.0.0-20190702140239-759a8c1ac913 - github.com/ostreedev/ostree-go/pkg/glibobject - github.com/ostreedev/ostree-go/pkg/otbuiltin -@@ -406,19 +407,19 @@ github.com/pkg/profile - github.com/pmezard/go-difflib/difflib - # github.com/pquerna/ffjson v0.0.0-20190813045741-dac163c6c0a9 - github.com/pquerna/ffjson/fflib/v1 -+github.com/pquerna/ffjson/fflib/v1/internal - github.com/pquerna/ffjson/inception - github.com/pquerna/ffjson/shared --github.com/pquerna/ffjson/fflib/v1/internal - # github.com/prometheus/client_golang v1.1.0 - github.com/prometheus/client_golang/prometheus --github.com/prometheus/client_golang/prometheus/promhttp - github.com/prometheus/client_golang/prometheus/internal -+github.com/prometheus/client_golang/prometheus/promhttp - # github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 - github.com/prometheus/client_model/go - # github.com/prometheus/common v0.6.0 - github.com/prometheus/common/expfmt --github.com/prometheus/common/model - github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg -+github.com/prometheus/common/model - # github.com/prometheus/procfs v0.0.3 - github.com/prometheus/procfs - github.com/prometheus/procfs/internal/fs -@@ -446,30 +447,30 @@ github.com/tchap/go-patricia/patricia - github.com/uber/jaeger-client-go - github.com/uber/jaeger-client-go/config - github.com/uber/jaeger-client-go/internal/baggage -+github.com/uber/jaeger-client-go/internal/baggage/remote - github.com/uber/jaeger-client-go/internal/spanlog - github.com/uber/jaeger-client-go/internal/throttler -+github.com/uber/jaeger-client-go/internal/throttler/remote - github.com/uber/jaeger-client-go/log -+github.com/uber/jaeger-client-go/rpcmetrics - github.com/uber/jaeger-client-go/thrift -+github.com/uber/jaeger-client-go/thrift-gen/agent -+github.com/uber/jaeger-client-go/thrift-gen/baggage - github.com/uber/jaeger-client-go/thrift-gen/jaeger - github.com/uber/jaeger-client-go/thrift-gen/sampling - github.com/uber/jaeger-client-go/thrift-gen/zipkincore --github.com/uber/jaeger-client-go/utils --github.com/uber/jaeger-client-go/internal/baggage/remote --github.com/uber/jaeger-client-go/internal/throttler/remote --github.com/uber/jaeger-client-go/rpcmetrics - github.com/uber/jaeger-client-go/transport --github.com/uber/jaeger-client-go/thrift-gen/agent --github.com/uber/jaeger-client-go/thrift-gen/baggage -+github.com/uber/jaeger-client-go/utils - # github.com/uber/jaeger-lib v0.0.0-20190122222657-d036253de8f5 - github.com/uber/jaeger-lib/metrics - # github.com/ulikunitz/xz v0.5.6 - github.com/ulikunitz/xz -+github.com/ulikunitz/xz/internal/hash - github.com/ulikunitz/xz/internal/xlog - github.com/ulikunitz/xz/lzma --github.com/ulikunitz/xz/internal/hash - # github.com/varlink/go v0.0.0-20190502142041-0f1d566d194b --github.com/varlink/go/varlink - github.com/varlink/go/cmd/varlink-go-interface-generator -+github.com/varlink/go/varlink - github.com/varlink/go/varlink/idl - # github.com/vbatts/tar-split v0.11.1 - github.com/vbatts/tar-split/archive/tar -@@ -477,8 +478,8 @@ github.com/vbatts/tar-split/tar/asm - github.com/vbatts/tar-split/tar/storage - # github.com/vbauerster/mpb v3.4.0+incompatible - github.com/vbauerster/mpb --github.com/vbauerster/mpb/decor - github.com/vbauerster/mpb/cwriter -+github.com/vbauerster/mpb/decor - github.com/vbauerster/mpb/internal - # github.com/vishvananda/netlink v1.0.0 - github.com/vishvananda/netlink -@@ -492,32 +493,32 @@ github.com/xeipuuv/gojsonreference - # github.com/xeipuuv/gojsonschema v1.1.0 - github.com/xeipuuv/gojsonschema - # golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad --golang.org/x/crypto/ssh/terminal -+golang.org/x/crypto/cast5 - golang.org/x/crypto/openpgp - golang.org/x/crypto/openpgp/armor -+golang.org/x/crypto/openpgp/elgamal - golang.org/x/crypto/openpgp/errors - golang.org/x/crypto/openpgp/packet - golang.org/x/crypto/openpgp/s2k --golang.org/x/crypto/cast5 --golang.org/x/crypto/openpgp/elgamal -+golang.org/x/crypto/ssh/terminal - # golang.org/x/net v0.0.0-20190628185345-da137c7871d7 - golang.org/x/net/context --golang.org/x/net/http2 -+golang.org/x/net/context/ctxhttp -+golang.org/x/net/html -+golang.org/x/net/html/atom - golang.org/x/net/html/charset --golang.org/x/net/proxy - golang.org/x/net/http/httpguts -+golang.org/x/net/http2 - golang.org/x/net/http2/hpack - golang.org/x/net/idna --golang.org/x/net/html - golang.org/x/net/internal/socks --golang.org/x/net/html/atom --golang.org/x/net/context/ctxhttp -+golang.org/x/net/proxy - # golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 - golang.org/x/oauth2 - golang.org/x/oauth2/internal - # golang.org/x/sync v0.0.0-20190423024810-112230192c58 --golang.org/x/sync/semaphore - golang.org/x/sync/errgroup -+golang.org/x/sync/semaphore - # golang.org/x/sys v0.0.0-20190902133755-9109b7679e13 - golang.org/x/sys/unix - golang.org/x/sys/windows -@@ -525,41 +526,41 @@ golang.org/x/sys/windows - golang.org/x/text/encoding - golang.org/x/text/encoding/charmap - golang.org/x/text/encoding/htmlindex --golang.org/x/text/transform --golang.org/x/text/secure/bidirule --golang.org/x/text/unicode/bidi --golang.org/x/text/unicode/norm --golang.org/x/text/encoding/internal/identifier - golang.org/x/text/encoding/internal -+golang.org/x/text/encoding/internal/identifier - golang.org/x/text/encoding/japanese - golang.org/x/text/encoding/korean - golang.org/x/text/encoding/simplifiedchinese - golang.org/x/text/encoding/traditionalchinese - golang.org/x/text/encoding/unicode --golang.org/x/text/language --golang.org/x/text/internal/utf8internal --golang.org/x/text/runes - golang.org/x/text/internal/language - golang.org/x/text/internal/language/compact - golang.org/x/text/internal/tag -+golang.org/x/text/internal/utf8internal -+golang.org/x/text/language -+golang.org/x/text/runes -+golang.org/x/text/secure/bidirule -+golang.org/x/text/transform -+golang.org/x/text/unicode/bidi -+golang.org/x/text/unicode/norm - # golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0 - golang.org/x/time/rate - # google.golang.org/appengine v1.6.1 --google.golang.org/appengine/urlfetch - google.golang.org/appengine/internal --google.golang.org/appengine/internal/urlfetch - google.golang.org/appengine/internal/base - google.golang.org/appengine/internal/datastore - google.golang.org/appengine/internal/log - google.golang.org/appengine/internal/remote_api -+google.golang.org/appengine/internal/urlfetch -+google.golang.org/appengine/urlfetch - # google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601 - google.golang.org/genproto/googleapis/rpc/status - # google.golang.org/grpc v1.24.0 - google.golang.org/grpc/codes --google.golang.org/grpc/status --google.golang.org/grpc/internal - google.golang.org/grpc/connectivity - google.golang.org/grpc/grpclog -+google.golang.org/grpc/internal -+google.golang.org/grpc/status - # gopkg.in/fsnotify.v1 v1.4.7 - gopkg.in/fsnotify.v1 - # gopkg.in/inf.v0 v0.9.1 -@@ -571,61 +572,61 @@ gopkg.in/yaml.v2 - # k8s.io/api v0.0.0-20190813020757-36bff7324fb7 - k8s.io/api/core/v1 - # k8s.io/apimachinery v0.0.0-20190809020650-423f5d784010 --k8s.io/apimachinery/pkg/apis/meta/v1 --k8s.io/apimachinery/pkg/util/runtime -+k8s.io/apimachinery/pkg/api/errors - k8s.io/apimachinery/pkg/api/resource --k8s.io/apimachinery/pkg/runtime --k8s.io/apimachinery/pkg/runtime/schema --k8s.io/apimachinery/pkg/types --k8s.io/apimachinery/pkg/util/intstr -+k8s.io/apimachinery/pkg/apis/meta/v1 -+k8s.io/apimachinery/pkg/apis/meta/v1/unstructured - k8s.io/apimachinery/pkg/conversion -+k8s.io/apimachinery/pkg/conversion/queryparams - k8s.io/apimachinery/pkg/fields - k8s.io/apimachinery/pkg/labels -+k8s.io/apimachinery/pkg/runtime -+k8s.io/apimachinery/pkg/runtime/schema -+k8s.io/apimachinery/pkg/runtime/serializer -+k8s.io/apimachinery/pkg/runtime/serializer/json -+k8s.io/apimachinery/pkg/runtime/serializer/protobuf -+k8s.io/apimachinery/pkg/runtime/serializer/recognizer -+k8s.io/apimachinery/pkg/runtime/serializer/streaming -+k8s.io/apimachinery/pkg/runtime/serializer/versioning - k8s.io/apimachinery/pkg/selection --k8s.io/apimachinery/pkg/watch --k8s.io/apimachinery/pkg/util/httpstream --k8s.io/apimachinery/pkg/util/remotecommand --k8s.io/apimachinery/pkg/conversion/queryparams -+k8s.io/apimachinery/pkg/types -+k8s.io/apimachinery/pkg/util/clock - k8s.io/apimachinery/pkg/util/errors -+k8s.io/apimachinery/pkg/util/framer -+k8s.io/apimachinery/pkg/util/httpstream -+k8s.io/apimachinery/pkg/util/httpstream/spdy -+k8s.io/apimachinery/pkg/util/intstr - k8s.io/apimachinery/pkg/util/json - k8s.io/apimachinery/pkg/util/naming -+k8s.io/apimachinery/pkg/util/net -+k8s.io/apimachinery/pkg/util/remotecommand -+k8s.io/apimachinery/pkg/util/runtime - k8s.io/apimachinery/pkg/util/sets --k8s.io/apimachinery/third_party/forked/golang/reflect - k8s.io/apimachinery/pkg/util/validation --k8s.io/apimachinery/pkg/util/net --k8s.io/apimachinery/pkg/api/errors --k8s.io/apimachinery/pkg/runtime/serializer/streaming --k8s.io/apimachinery/pkg/util/httpstream/spdy - k8s.io/apimachinery/pkg/util/validation/field -+k8s.io/apimachinery/pkg/util/yaml - k8s.io/apimachinery/pkg/version --k8s.io/apimachinery/pkg/runtime/serializer --k8s.io/apimachinery/pkg/util/clock -+k8s.io/apimachinery/pkg/watch - k8s.io/apimachinery/third_party/forked/golang/netutil --k8s.io/apimachinery/pkg/runtime/serializer/json --k8s.io/apimachinery/pkg/runtime/serializer/protobuf --k8s.io/apimachinery/pkg/runtime/serializer/recognizer --k8s.io/apimachinery/pkg/runtime/serializer/versioning --k8s.io/apimachinery/pkg/util/framer --k8s.io/apimachinery/pkg/util/yaml --k8s.io/apimachinery/pkg/apis/meta/v1/unstructured -+k8s.io/apimachinery/third_party/forked/golang/reflect - # k8s.io/client-go v0.0.0-20190620085101-78d2af792bab --k8s.io/client-go/tools/remotecommand --k8s.io/client-go/rest --k8s.io/client-go/transport/spdy --k8s.io/client-go/util/exec --k8s.io/client-go/util/homedir -+k8s.io/client-go/pkg/apis/clientauthentication -+k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1 -+k8s.io/client-go/pkg/apis/clientauthentication/v1beta1 - k8s.io/client-go/pkg/version - k8s.io/client-go/plugin/pkg/client/auth/exec -+k8s.io/client-go/rest - k8s.io/client-go/rest/watch - k8s.io/client-go/tools/clientcmd/api - k8s.io/client-go/tools/metrics -+k8s.io/client-go/tools/remotecommand - k8s.io/client-go/transport -+k8s.io/client-go/transport/spdy - k8s.io/client-go/util/cert --k8s.io/client-go/util/flowcontrol --k8s.io/client-go/pkg/apis/clientauthentication --k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1 --k8s.io/client-go/pkg/apis/clientauthentication/v1beta1 - k8s.io/client-go/util/connrotation -+k8s.io/client-go/util/exec -+k8s.io/client-go/util/flowcontrol -+k8s.io/client-go/util/homedir - k8s.io/client-go/util/keyutil - # k8s.io/klog v0.3.3 - k8s.io/klog - -From 54558fbe4b27a8e8bc81c3c6079ea7e89ac683ee Mon Sep 17 00:00:00 2001 -From: Valentin Rothberg -Date: Wed, 5 Feb 2020 15:19:56 +0100 -Subject: [PATCH 2/3] bump golangci-lint - -Fixes: https://github.com/golangci/golangci-lint/issues/658 -Signed-off-by: Valentin Rothberg ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index a5265653d1..eb67d2665a 100644 ---- a/Makefile -+++ b/Makefile -@@ -479,7 +479,7 @@ endef - - .install.golangci-lint: .gopathok - if [ ! -x "$(GOBIN)/golangci-lint" ]; then \ -- curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOBIN)/ v1.17.1; \ -+ curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOBIN)/ v1.18.0; \ - fi - - .install.md2man: .gopathok - -From b8c5d5612b90ebce453a1bbc4757fced4dc731dc Mon Sep 17 00:00:00 2001 -From: Valentin Rothberg -Date: Mon, 10 Feb 2020 09:42:17 +0100 -Subject: [PATCH 3/3] e2e pull test: use k8s pause instead of alpine - -When pulling with --all-tags, use the k8s pause image instead of alpine. -The pause repo has considerably less tags and is hence used in master to -prevent timeouts that we're hitting when running rootless, where we're -suffering additional performance regressions on VFS. - -Signed-off-by: Valentin Rothberg ---- - test/e2e/pull_test.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/e2e/pull_test.go b/test/e2e/pull_test.go -index 5152409aff..8a59794850 100644 ---- a/test/e2e/pull_test.go -+++ b/test/e2e/pull_test.go -@@ -339,7 +339,7 @@ var _ = Describe("Podman pull", func() { - }) - - It("podman pull check all tags", func() { -- session := podmanTest.PodmanNoCache([]string{"pull", "--all-tags", "alpine"}) -+ session := podmanTest.PodmanNoCache([]string{"pull", "--all-tags", "k8s.gcr.io/pause"}) - session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) - Expect(session.LineInOuputStartsWith("Pulled Images:")).To(BeTrue()) diff --git a/SOURCES/podman-CVE-2020-1726.patch b/SOURCES/podman-CVE-2020-1726.patch deleted file mode 100644 index b7e9bec..0000000 --- a/SOURCES/podman-CVE-2020-1726.patch +++ /dev/null @@ -1,100 +0,0 @@ -From c140ecdc9b416ab4efd4d21d14acd63b6adbdd42 Mon Sep 17 00:00:00 2001 -From: Matthew Heon -Date: Mon, 10 Feb 2020 13:37:38 -0500 -Subject: [PATCH] Do not copy up when volume is not empty - -When Docker performs a copy up, it first verifies that the volume -being copied into is empty; thus, for volumes that have been -modified elsewhere (e.g. manually copying into then), the copy up -will not be performed at all. Duplicate this behavior in Podman -by checking if the volume is empty before copying. - -Furthermore, move setting copyup to false further up. This will -prevent a potential race where copy up could happen more than -once if Podman was killed after some files had been copied but -before the DB was updated. - -This resolves CVE-2020-1726. - -Signed-off-by: Matthew Heon ---- - libpod/container_internal.go | 28 ++++++++++++++++++++++------ - test/e2e/run_volume_test.go | 24 ++++++++++++++++++++++++ - 2 files changed, 46 insertions(+), 6 deletions(-) - -diff -up ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/libpod/container_internal.go.CVE-2020-1726 ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/libpod/container_internal.go ---- libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/libpod/container_internal.go.CVE-2020-1726 2020-02-13 22:37:15.002058706 +0100 -+++ libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/libpod/container_internal.go 2020-02-13 22:37:15.005058742 +0100 -@@ -1358,18 +1358,34 @@ func (c *Container) mountNamedVolume(v * - } - if vol.state.NeedsCopyUp { - logrus.Debugf("Copying up contents from container %s to volume %s", c.ID(), vol.Name()) -+ -+ // Set NeedsCopyUp to false immediately, so we don't try this -+ // again when there are already files copied. -+ vol.state.NeedsCopyUp = false -+ if err := vol.save(); err != nil { -+ return nil, err -+ } -+ -+ // If the volume is not empty, we should not copy up. -+ volMount := vol.MountPoint() -+ contents, err := ioutil.ReadDir(volMount) -+ if err != nil { -+ return nil, errors.Wrapf(err, "error listing contents of volume %s mountpoint when copying up from container %s", vol.Name(), c.ID()) -+ } -+ if len(contents) > 0 { -+ // The volume is not empty. It was likely modified -+ // outside of Podman. For safety, let's not copy up into -+ // it. Fixes CVE-2020-1726. -+ return vol, nil -+ } -+ - srcDir, err := securejoin.SecureJoin(mountpoint, v.Dest) - if err != nil { - return nil, errors.Wrapf(err, "error calculating destination path to copy up container %s volume %s", c.ID(), vol.Name()) - } -- if err := c.copyWithTarFromImage(srcDir, vol.MountPoint()); err != nil && !os.IsNotExist(err) { -+ if err := c.copyWithTarFromImage(srcDir, volMount); err != nil && !os.IsNotExist(err) { - return nil, errors.Wrapf(err, "error copying content from container %s into volume %s", c.ID(), vol.Name()) - } -- -- vol.state.NeedsCopyUp = false -- if err := vol.save(); err != nil { -- return nil, err -- } - } - return vol, nil - } -diff -up ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/test/e2e/run_volume_test.go.CVE-2020-1726 ./libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/test/e2e/run_volume_test.go ---- libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/test/e2e/run_volume_test.go.CVE-2020-1726 2020-02-13 22:37:15.030059039 +0100 -+++ libpod-5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26/test/e2e/run_volume_test.go 2020-02-13 22:37:15.033059075 +0100 -@@ -375,4 +375,28 @@ var _ = Describe("Podman run with volume - volMount.WaitWithDefaultTimeout() - Expect(volMount.ExitCode()).To(Not(Equal(0))) - }) -+ -+ It("Podman fix for CVE-2020-1726", func() { -+ volName := "testVol" -+ volCreate := podmanTest.Podman([]string{"volume", "create", volName}) -+ volCreate.WaitWithDefaultTimeout() -+ Expect(volCreate.ExitCode()).To(Equal(0)) -+ -+ volPath := podmanTest.Podman([]string{"volume", "inspect", "--format", "{{.Mountpoint}}", volName}) -+ volPath.WaitWithDefaultTimeout() -+ Expect(volPath.ExitCode()).To(Equal(0)) -+ path := volPath.OutputToString() -+ -+ fileName := "thisIsATestFile" -+ file, err := os.Create(filepath.Join(path, fileName)) -+ Expect(err).To(BeNil()) -+ defer file.Close() -+ -+ runLs := podmanTest.Podman([]string{"run", "-t", "-i", "--rm", "-v", fmt.Sprintf("%v:/etc/ssl", volName), ALPINE, "ls", "-1", "/etc/ssl"}) -+ runLs.WaitWithDefaultTimeout() -+ Expect(runLs.ExitCode()).To(Equal(0)) -+ outputArr := runLs.OutputToStringArray() -+ Expect(len(outputArr)).To(Equal(1)) -+ Expect(strings.Contains(outputArr[0], fileName)).To(BeTrue()) -+ }) - }) diff --git a/SOURCES/podman-CVE-2020-8945.patch b/SOURCES/podman-CVE-2020-8945.patch deleted file mode 100644 index 71f19ff..0000000 --- a/SOURCES/podman-CVE-2020-8945.patch +++ /dev/null @@ -1,154097 +0,0 @@ -From ae8351e6478690f2a1fcdf93e5034d9934dfb4ce Mon Sep 17 00:00:00 2001 -From: Lokesh Mandvekar -Date: Tue, 10 Mar 2020 08:24:43 -0400 -Subject: [PATCH] Resolves: CVE-2020-8945 - -Signed-off-by: Lokesh Mandvekar ---- - go.mod | 18 +- - go.sum | 79 + - vendor/github.com/Microsoft/go-winio/go.mod | 2 +- - vendor/github.com/Microsoft/go-winio/go.sum | 2 + - .../Microsoft/hcsshim/Protobuild.toml | 54 + - .../github.com/Microsoft/hcsshim/appveyor.yml | 20 +- - .../github.com/Microsoft/hcsshim/container.go | 75 +- - vendor/github.com/Microsoft/hcsshim/go.mod | 37 + - vendor/github.com/Microsoft/hcsshim/go.sum | 131 + - .../Microsoft/hcsshim/hnsendpoint.go | 10 + - .../Microsoft/hcsshim/internal/cow/cow.go | 83 + - .../hcsshim/internal/guestrequest/types.go | 100 - - .../Microsoft/hcsshim/internal/guid/guid.go | 69 - - .../hcsshim/internal/hcs/callback.go | 102 +- - .../Microsoft/hcsshim/internal/hcs/errors.go | 75 +- - .../Microsoft/hcsshim/internal/hcs/hcs.go | 48 - - .../Microsoft/hcsshim/internal/hcs/log.go | 20 - - .../Microsoft/hcsshim/internal/hcs/process.go | 425 +- - .../Microsoft/hcsshim/internal/hcs/system.go | 629 +- - .../hcsshim/internal/hcs/waithelper.go | 18 +- - .../Microsoft/hcsshim/internal/hcs/watcher.go | 41 - - .../hcsshim/internal/hns/hnsendpoint.go | 22 + - .../hcsshim/internal/hns/hnsfuncs.go | 15 +- - .../hcsshim/internal/hns/hnsnetwork.go | 10 +- - .../hcsshim/internal/hns/hnspolicy.go | 5 +- - .../hcsshim/internal/interop/interop.go | 4 - - .../Microsoft/hcsshim/internal/log/g.go | 23 + - .../Microsoft/hcsshim/internal/oc/exporter.go | 43 + - .../Microsoft/hcsshim/internal/oc/span.go | 17 + - .../hcsshim/internal/schema1/schema1.go | 9 +- - .../hcsshim/internal/schema2/attachment.go | 1 - - .../schema2/cache_query_stats_response.go | 1 - - .../hcsshim/internal/schema2/close_handle.go | 1 - - .../hcsshim/internal/schema2/com_port.go | 1 - - .../internal/schema2/compute_system.go | 3 +- - .../hcsshim/internal/schema2/configuration.go | 32 +- - .../hcsshim/internal/schema2/console_size.go | 1 - - .../hcsshim/internal/schema2/container.go | 1 - - .../schema2/container_memory_information.go | 1 - - .../hcsshim/internal/schema2/devices.go | 1 - - .../internal/schema2/enhanced_mode_video.go | 1 - - .../internal/schema2/flexible_io_device.go | 1 - - .../internal/schema2/guest_crash_reporting.go | 1 - - .../hcsshim/internal/schema2/guest_os.go | 1 - - .../hcsshim/internal/schema2/hosted_system.go | 1 - - .../hcsshim/internal/schema2/hv_socket.go | 1 - - .../hcsshim/internal/schema2/hv_socket_2.go | 1 - - .../hcsshim/internal/schema2/layer.go | 1 - - .../internal/schema2/mapped_directory.go | 1 - - .../hcsshim/internal/schema2/mapped_pipe.go | 1 - - .../hcsshim/internal/schema2/memory.go | 1 - - .../hcsshim/internal/schema2/memory_2.go | 5 + - .../schema2/memory_information_for_vm.go | 3 +- - .../hcsshim/internal/schema2/memory_stats.go | 7 +- - .../internal/schema2/network_adapter.go | 1 - - .../hcsshim/internal/schema2/networking.go | 1 - - .../internal/schema2/pause_notification.go | 1 - - .../hcsshim/internal/schema2/pause_options.go | 1 - - .../hcsshim/internal/schema2/plan9.go | 1 - - .../hcsshim/internal/schema2/plan9_share.go | 3 +- - .../internal/schema2/process_details.go | 1 - - .../schema2/process_modify_request.go | 1 - - .../internal/schema2/process_parameters.go | 1 - - .../internal/schema2/process_status.go | 1 - - .../hcsshim/internal/schema2/processor.go | 1 - - .../hcsshim/internal/schema2/processor_2.go | 1 - - .../internal/schema2/processor_stats.go | 7 +- - .../hcsshim/internal/schema2/properties.go | 9 +- - .../internal/schema2/property_query.go | 5 +- - .../hcsshim/internal/schema2/property_type.go | 23 + - .../schema2/rdp_connection_options.go | 1 - - .../internal/schema2/registry_changes.go | 1 - - .../hcsshim/internal/schema2/registry_key.go | 1 - - .../internal/schema2/registry_value.go | 1 - - .../schema2/shared_memory_configuration.go | 1 - - .../internal/schema2/shared_memory_region.go | 1 - - .../schema2/shared_memory_region_info.go | 1 - - .../internal/schema2/silo_properties.go | 1 - - .../hcsshim/internal/schema2/statistics.go | 3 +- - .../hcsshim/internal/schema2/storage_qo_s.go | 1 - - .../hcsshim/internal/schema2/storage_stats.go | 9 +- - .../hcsshim/internal/schema2/topology.go | 1 - - .../hcsshim/internal/schema2/uefi.go | 1 - - .../internal/schema2/uefi_boot_entry.go | 1 - - .../hcsshim/internal/schema2/version.go | 1 - - .../hcsshim/internal/schema2/video_monitor.go | 1 - - .../internal/schema2/virtual_node_info.go | 1 - - .../internal/schema2/virtual_p_mem_device.go | 1 - - .../hcsshim/internal/schema2/virtual_smb.go | 1 - - .../internal/schema2/virtual_smb_share.go | 1 - - .../schema2/virtual_smb_share_options.go | 1 - - .../hcsshim/internal/schema2/vm_memory.go | 5 +- - .../schema2/windows_crash_reporting.go | 1 - - .../hcsshim/internal/vmcompute/vmcompute.go | 565 ++ - .../{hcs => vmcompute}/zsyscall_windows.go | 88 +- - .../internal/wclayer/expandscratchsize.go | 115 + - .../hcsshim/internal/wclayer/layerid.go | 2 +- - .../hcsshim/internal/wclayer/layerutils.go | 2 +- - .../hcsshim/internal/wclayer/nametoguid.go | 2 +- - .../hcsshim/internal/wclayer/wclayer.go | 7 +- - .../internal/wclayer/zsyscall_windows.go | 59 + - vendor/github.com/Microsoft/hcsshim/layer.go | 6 +- - .../{osversion.go => osversion_windows.go} | 6 + - .../hcsshim/osversion/windowsbuilds.go | 21 +- - .../github.com/Microsoft/hcsshim/process.go | 38 +- - .../github.com/Microsoft/hcsshim/vendor.conf | 21 - - vendor/github.com/acarl005/stripansi/LICENSE | 21 + - .../github.com/acarl005/stripansi/README.md | 30 + - .../acarl005/stripansi/stripansi.go | 13 + - vendor/github.com/containerd/cgroups/LICENSE | 201 + - .../containerd/cgroups/stats/v1/doc.go | 17 + - .../containerd/cgroups/stats/v1/metrics.pb.go | 5368 ++++++++++++++++ - .../cgroups/stats/v1/metrics.pb.txt | 712 +++ - .../containerd/cgroups/stats/v1/metrics.proto | 136 + - .../containers/image/v5/copy/copy.go | 275 +- - .../containers/image/v5/copy/encrypt.go | 24 + - .../containers/image/v5/copy/manifest.go | 22 +- - .../image/v5/copy/progress_reader.go | 69 +- - .../image/v5/directory/directory_dest.go | 23 +- - .../image/v5/docker/archive/dest.go | 2 +- - .../containers/image/v5/docker/archive/src.go | 5 +- - .../image/v5/docker/archive/transport.go | 4 +- - .../image/v5/docker/daemon/daemon_dest.go | 12 +- - .../image/v5/docker/daemon/daemon_src.go | 7 +- - .../image/v5/docker/docker_client.go | 118 +- - .../image/v5/docker/docker_image.go | 2 +- - .../image/v5/docker/docker_image_dest.go | 10 +- - .../image/v5/docker/docker_image_src.go | 89 +- - .../containers/image/v5/docker/errors.go | 11 +- - .../image/v5/docker/tarfile/dest.go | 14 +- - .../containers/image/v5/docker/tarfile/src.go | 22 +- - .../image/v5/docker/wwwauthenticate.go | 4 +- - .../image/v5/image/docker_schema1.go | 5 + - .../image/v5/image/docker_schema2.go | 5 + - .../containers/image/v5/image/manifest.go | 2 + - .../containers/image/v5/image/oci.go | 5 + - .../image/v5/internal/pkg/keyctl/keyring.go | 3 - - .../image/v5/internal/tmpdir/tmpdir.go | 7 +- - .../containers/image/v5/manifest/list.go | 4 +- - .../containers/image/v5/manifest/manifest.go | 5 + - .../containers/image/v5/manifest/oci.go | 67 +- - .../image/v5/oci/archive/oci_dest.go | 10 +- - .../image/v5/oci/archive/oci_src.go | 21 +- - .../image/v5/oci/archive/oci_transport.go | 11 +- - .../image/v5/oci/layout/oci_dest.go | 2 +- - .../image/v5/oci/layout/oci_transport.go | 2 +- - .../image/v5/openshift/openshift-copies.go | 80 +- - .../image/v5/openshift/openshift.go | 5 +- - .../containers/image/v5/ostree/ostree_dest.go | 2 +- - .../sysregistriesv2/system_registries_v2.go | 5 +- - .../v5/pkg/tlsclientconfig/tlsclientconfig.go | 7 +- - .../image/v5/signature/mechanism_gpgme.go | 4 +- - .../image/v5/signature/mechanism_openpgp.go | 2 +- - .../image/v5/signature/policy_eval.go | 1 - - .../image/v5/signature/signature.go | 4 +- - .../image/v5/storage/storage_image.go | 9 +- - .../image/v5/storage/storage_reference.go | 5 +- - .../containers/image/v5/types/types.go | 61 +- - .../containers/image/v5/version/version.go | 4 +- - .../containers/ocicrypt/MAINTAINERS | 5 + - .../github.com/containers/ocicrypt/Makefile | 31 + - .../github.com/containers/ocicrypt/README.md | 32 + - .../ocicrypt/blockcipher/blockcipher.go | 160 + - .../blockcipher/blockcipher_aes_ctr.go | 193 + - .../containers/ocicrypt/config/config.go | 114 + - .../ocicrypt/config/constructors.go | 134 + - .../containers/ocicrypt/encryption.go | 325 + - vendor/github.com/containers/ocicrypt/go.mod | 18 + - vendor/github.com/containers/ocicrypt/go.sum | 73 + - vendor/github.com/containers/ocicrypt/gpg.go | 425 ++ - .../containers/ocicrypt/gpgvault.go | 100 + - .../ocicrypt/keywrap/jwe/keywrapper_jwe.go | 132 + - .../containers/ocicrypt/keywrap/keywrap.go | 40 + - .../ocicrypt/keywrap/pgp/keywrapper_gpg.go | 269 + - .../keywrap/pkcs7/keywrapper_pkcs7.go | 132 + - .../github.com/containers/ocicrypt/reader.go | 40 + - .../containers/ocicrypt/spec/spec.go | 12 + - .../ocicrypt/utils/delayedreader.go | 109 + - .../containers/ocicrypt/utils/ioutils.go | 31 + - .../containers/ocicrypt/utils/testing.go | 166 + - .../containers/ocicrypt/utils/utils.go | 220 + - .../github.com/containers/storage/.cirrus.yml | 14 +- - .../github.com/containers/storage/.gitignore | 1 + - .../containers/storage/.golangci.yml | 66 +- - .../github.com/containers/storage/.travis.yml | 15 +- - vendor/github.com/containers/storage/Makefile | 7 +- - vendor/github.com/containers/storage/VERSION | 2 +- - .../containers/storage/drivers/aufs/aufs.go | 2 +- - .../containers/storage/drivers/btrfs/btrfs.go | 9 +- - .../containers/storage/drivers/chown_unix.go | 6 +- - .../storage/drivers/copy/copy_linux.go | 18 +- - .../storage/drivers/devmapper/deviceset.go | 43 +- - .../storage/drivers/devmapper/driver.go | 2 +- - .../containers/storage/drivers/driver.go | 4 +- - .../storage/drivers/driver_linux.go | 2 + - .../storage/drivers/overlay/overlay.go | 69 +- - .../drivers/overlayutils/overlayutils.go | 2 +- - .../storage/drivers/vfs/copy_linux.go | 2 +- - .../containers/storage/drivers/vfs/driver.go | 2 +- - .../containers/storage/drivers/zfs/zfs.go | 2 +- - .../storage/drivers/zfs/zfs_linux.go | 2 +- - vendor/github.com/containers/storage/go.mod | 25 +- - vendor/github.com/containers/storage/go.sum | 160 + - .../github.com/containers/storage/images.go | 33 +- - .../containers/storage/images_ffjson.go | 108 + - .../github.com/containers/storage/layers.go | 67 +- - .../containers/storage/layers_ffjson.go | 2156 ------- - .../containers/storage/pkg/archive/archive.go | 63 +- - .../storage/pkg/archive/archive_linux.go | 13 +- - .../containers/storage/pkg/archive/changes.go | 5 +- - .../storage/pkg/archive/changes_linux.go | 44 +- - .../storage/pkg/archive/changes_unix.go | 10 +- - .../containers/storage/pkg/archive/copy.go | 3 +- - .../containers/storage/pkg/archive/diff.go | 4 +- - .../storage/pkg/chrootarchive/archive_unix.go | 2 + - .../containers/storage/pkg/config/config.go | 194 + - .../storage/pkg/fileutils/fileutils.go | 95 +- - .../storage/pkg/idtools/idtools_unix.go | 2 +- - .../storage/pkg/idtools/idtools_windows.go | 4 +- - .../storage/pkg/lockfile/lockfile_unix.go | 10 +- - .../storage/pkg/loopback/attach_loopback.go | 2 +- - .../storage/pkg/loopback/loopback.go | 2 +- - .../storage/pkg/mount/flags_linux.go | 2 - - .../storage/pkg/mount/mounter_linux.go | 4 +- - .../pkg/parsers/kernel/kernel_windows.go | 2 +- - .../containers/storage/pkg/system/filesys.go | 67 - - .../storage/pkg/system/filesys_windows.go | 298 - - .../containers/storage/pkg/system/rm.go | 2 +- - .../storage/pkg/system/stat_linux.go | 2 +- - .../storage/pkg/system/xattrs_linux.go | 65 +- - .../storage/pkg/system/xattrs_unsupported.go | 15 + - .../containers/storage/storage.conf | 41 +- - vendor/github.com/containers/storage/store.go | 94 +- - vendor/github.com/containers/storage/utils.go | 40 +- - .../cpuid => fullsailor/pkcs7}/.gitignore | 0 - .../github.com/fullsailor/pkcs7/.travis.yml | 7 + - .../cpuid => fullsailor/pkcs7}/LICENSE | 2 +- - vendor/github.com/fullsailor/pkcs7/README.md | 8 + - vendor/github.com/fullsailor/pkcs7/ber.go | 248 + - vendor/github.com/fullsailor/pkcs7/pkcs7.go | 962 +++ - vendor/github.com/fullsailor/pkcs7/x509.go | 133 + - vendor/github.com/godbus/dbus/conn.go | 6 +- - vendor/github.com/godbus/dbus/conn_other.go | 6 +- - vendor/github.com/godbus/dbus/decoder.go | 53 +- - .../github.com/godbus/dbus/default_handler.go | 4 +- - vendor/github.com/godbus/dbus/go.mod | 2 + - vendor/github.com/godbus/dbus/object.go | 19 +- - .../github.com/godbus/dbus/transport_tcp.go | 2 - - .../github.com/godbus/dbus/transport_unix.go | 2 +- - .../gogo/protobuf/gogoproto/Makefile | 37 + - .../github.com/gogo/protobuf/gogoproto/doc.go | 169 + - .../gogo/protobuf/gogoproto/gogo.pb.go | 874 +++ - .../gogo/protobuf/gogoproto/gogo.pb.golden | 45 + - .../gogo/protobuf/gogoproto/gogo.proto | 144 + - .../gogo/protobuf/gogoproto/helper.go | 415 ++ - .../protoc-gen-gogo/descriptor/Makefile | 36 + - .../protoc-gen-gogo/descriptor/descriptor.go | 118 + - .../descriptor/descriptor.pb.go | 2865 +++++++++ - .../descriptor/descriptor_gostring.gen.go | 752 +++ - .../protoc-gen-gogo/descriptor/helper.go | 390 ++ - .../github.com/hashicorp/golang-lru/LICENSE | 362 ++ - .../hashicorp/golang-lru/simplelru/lru.go | 161 + - .../golang-lru/simplelru/lru_interface.go | 36 + - vendor/github.com/imdario/mergo/.travis.yml | 2 + - vendor/github.com/imdario/mergo/merge.go | 50 +- - .../klauspost/compress/flate/crc32_amd64.go | 42 - - .../klauspost/compress/flate/crc32_amd64.s | 214 - - .../klauspost/compress/flate/crc32_noasm.go | 35 - - .../klauspost/compress/flate/deflate.go | 678 +- - .../klauspost/compress/flate/fast_encoder.go | 257 + - .../compress/flate/huffman_bit_writer.go | 526 +- - .../klauspost/compress/flate/huffman_code.go | 118 +- - .../compress/flate/huffman_sortByFreq.go | 178 + - .../compress/flate/huffman_sortByLiteral.go | 201 + - .../klauspost/compress/flate/inflate.go | 71 +- - .../klauspost/compress/flate/level1.go | 174 + - .../klauspost/compress/flate/level2.go | 199 + - .../klauspost/compress/flate/level3.go | 225 + - .../klauspost/compress/flate/level4.go | 210 + - .../klauspost/compress/flate/level5.go | 276 + - .../klauspost/compress/flate/level6.go | 279 + - .../klauspost/compress/flate/reverse_bits.go | 48 - - .../klauspost/compress/flate/snappy.go | 900 --- - .../klauspost/compress/flate/stateless.go | 266 + - .../klauspost/compress/flate/token.go | 293 +- - .../klauspost/compress/huff0/bitwriter.go | 13 +- - .../klauspost/compress/huff0/compress.go | 87 +- - .../klauspost/compress/huff0/decompress.go | 128 +- - .../klauspost/compress/huff0/huff0.go | 13 +- - .../klauspost/compress/zstd/README.md | 18 +- - .../klauspost/compress/zstd/blockdec.go | 15 +- - .../klauspost/compress/zstd/blockenc.go | 101 +- - .../klauspost/compress/zstd/bytebuf.go | 3 + - .../klauspost/compress/zstd/decoder.go | 55 +- - .../klauspost/compress/zstd/enc_dfast.go | 319 +- - .../klauspost/compress/zstd/enc_fast.go | 245 + - .../klauspost/compress/zstd/encoder.go | 97 +- - .../compress/zstd/encoder_options.go | 47 + - .../klauspost/compress/zstd/framedec.go | 24 +- - .../klauspost/compress/zstd/frameenc.go | 5 +- - .../klauspost/compress/zstd/fse_encoder.go | 27 +- - .../klauspost/compress/zstd/fse_predefined.go | 159 +- - .../klauspost/compress/zstd/snappy.go | 9 +- - .../klauspost/compress/zstd/zstd.go | 1 + - vendor/github.com/klauspost/cpuid/.travis.yml | 23 - - .../klauspost/cpuid/CONTRIBUTING.txt | 35 - - vendor/github.com/klauspost/cpuid/README.md | 147 - - vendor/github.com/klauspost/cpuid/cpuid.go | 1049 ---- - vendor/github.com/klauspost/cpuid/cpuid_386.s | 42 - - .../github.com/klauspost/cpuid/cpuid_amd64.s | 42 - - .../klauspost/cpuid/detect_intel.go | 17 - - .../github.com/klauspost/cpuid/detect_ref.go | 23 - - vendor/github.com/klauspost/cpuid/generate.go | 4 - - 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 - - vendor/github.com/mattn/go-isatty/go.mod | 3 - - vendor/github.com/mattn/go-isatty/go.sum | 2 - - .../mattn/go-isatty/isatty_android.go | 23 - - .../github.com/mattn/go-isatty/isatty_bsd.go | 24 - - .../mattn/go-isatty/isatty_others.go | 15 - - .../mattn/go-isatty/isatty_solaris.go | 22 - - .../mattn/go-isatty/isatty_tcgets.go | 19 - - .../mattn/go-isatty/isatty_windows.go | 94 - - .../mattn/go-shellwords/.travis.yml | 1 - - .../github.com/mattn/go-shellwords/README.md | 1 + - vendor/github.com/mattn/go-shellwords/go.mod | 2 + - .../mattn/go-shellwords/shellwords.go | 30 +- - vendor/github.com/mtrmac/gpgme/.appveyor.yml | 40 + - vendor/github.com/mtrmac/gpgme/.travis.yml | 32 + - vendor/github.com/mtrmac/gpgme/data.go | 18 +- - vendor/github.com/mtrmac/gpgme/go.mod | 3 + - vendor/github.com/mtrmac/gpgme/go_gpgme.c | 22 + - vendor/github.com/mtrmac/gpgme/go_gpgme.h | 12 + - vendor/github.com/mtrmac/gpgme/gpgme.go | 346 +- - .../mtrmac/gpgme/unset_agent_info.go | 18 + - .../mtrmac/gpgme/unset_agent_info_windows.go | 14 + - .../runc/libcontainer/apparmor/apparmor.go | 10 +- - .../runc/libcontainer/cgroups/utils.go | 58 +- - .../runc/libcontainer/configs/blkio_device.go | 5 + - .../runc/libcontainer/configs/cgroup_linux.go | 8 + - .../runc/libcontainer/configs/config.go | 1 + - .../libcontainer/system/syscall_linux_64.go | 2 +- - .../runc/libcontainer/utils/cmsg.go | 93 + - .../runc/libcontainer/utils/utils.go | 112 + - .../runc/libcontainer/utils/utils_unix.go | 68 + - .../selinux/go-selinux/selinux_linux.go | 33 +- - vendor/github.com/pkg/errors/.travis.yml | 11 +- - vendor/github.com/pkg/errors/Makefile | 44 + - vendor/github.com/pkg/errors/README.md | 11 +- - vendor/github.com/pkg/errors/errors.go | 8 +- - vendor/github.com/pkg/errors/go113.go | 38 + - vendor/github.com/pkg/errors/stack.go | 58 +- - vendor/github.com/prometheus/procfs/arp.go | 85 + - .../github.com/prometheus/procfs/buddyinfo.go | 2 +- - .../github.com/prometheus/procfs/cpuinfo.go | 166 + - vendor/github.com/prometheus/procfs/crypto.go | 131 + - .../prometheus/procfs/fixtures.ttar | 2631 +++++++- - .../prometheus/procfs/internal/util/parse.go | 88 + - .../procfs/internal/util/sysreadfile.go | 45 + - .../internal/util/sysreadfile_compat.go | 26 + - .../procfs/internal/util/valueparser.go | 77 + - .../prometheus/procfs/net_softnet.go | 91 + - vendor/github.com/prometheus/procfs/proc.go | 30 + - .../prometheus/procfs/proc_fdinfo.go | 132 + - .../prometheus/procfs/proc_status.go | 7 +- - .../github.com/prometheus/procfs/schedstat.go | 118 + - vendor/github.com/prometheus/procfs/vm.go | 210 + - .../github.com/prometheus/procfs/zoneinfo.go | 196 + - vendor/github.com/vbauerster/mpb/.travis.yml | 14 - - vendor/github.com/vbauerster/mpb/LICENSE | 29 - - vendor/github.com/vbauerster/mpb/bar.go | 399 -- - .../github.com/vbauerster/mpb/bar_filler.go | 111 - - .../github.com/vbauerster/mpb/bar_option.go | 193 - - .../vbauerster/mpb/cwriter/writer_posix.go | 13 - - .../vbauerster/mpb/cwriter/writer_windows.go | 77 - - .../vbauerster/mpb/decor/counters.go | 208 - - .../vbauerster/mpb/decor/decorator.go | 152 - - .../vbauerster/mpb/decor/elapsed.go | 68 - - vendor/github.com/vbauerster/mpb/decor/eta.go | 206 - - .../github.com/vbauerster/mpb/decor/name.go | 45 - - .../vbauerster/mpb/decor/percentage.go | 39 - - .../github.com/vbauerster/mpb/decor/speed.go | 271 - - vendor/github.com/vbauerster/mpb/doc.go | 6 - - vendor/github.com/vbauerster/mpb/go.test.sh | 12 - - .../vbauerster/mpb/internal/percentage.go | 12 - - vendor/github.com/vbauerster/mpb/options.go | 90 - - vendor/github.com/vbauerster/mpb/progress.go | 267 - - .../vbauerster/mpb/progress_posix.go | 70 - - .../vbauerster/mpb/progress_windows.go | 43 - - .../github.com/vbauerster/mpb/proxyreader.go | 22 - - .../vbauerster/mpb/{ => v4}/.gitignore | 0 - .../github.com/vbauerster/mpb/v4/.travis.yml | 12 + - .../vbauerster/mpb/{ => v4}/README.md | 63 +- - vendor/github.com/vbauerster/mpb/v4/UNLICENSE | 24 + - vendor/github.com/vbauerster/mpb/v4/bar.go | 477 ++ - .../vbauerster/mpb/v4/bar_filler.go | 137 + - .../vbauerster/mpb/v4/bar_option.go | 208 + - .../vbauerster/mpb/{ => v4}/cwriter/writer.go | 45 +- - .../vbauerster/mpb/v4/cwriter/writer_posix.go | 9 + - .../mpb/v4/cwriter/writer_windows.go | 60 + - .../vbauerster/mpb/v4/decor/counters.go | 84 + - .../vbauerster/mpb/v4/decor/decorator.go | 178 + - .../vbauerster/mpb/{ => v4}/decor/doc.go | 6 +- - .../vbauerster/mpb/v4/decor/elapsed.go | 48 + - .../github.com/vbauerster/mpb/v4/decor/eta.go | 212 + - .../vbauerster/mpb/v4/decor/merge.go | 106 + - .../decor/moving_average.go} | 29 +- - .../vbauerster/mpb/v4/decor/name.go | 27 + - .../vbauerster/mpb/v4/decor/on_complete.go | 36 + - .../vbauerster/mpb/v4/decor/percentage.go | 72 + - .../vbauerster/mpb/v4/decor/size_type.go | 109 + - .../mpb/v4/decor/sizeb1000_string.go | 41 + - .../mpb/v4/decor/sizeb1024_string.go | 41 + - .../vbauerster/mpb/v4/decor/speed.go | 175 + - .../vbauerster/mpb/v4/decor/spinner.go | 35 + - vendor/github.com/vbauerster/mpb/v4/doc.go | 2 + - vendor/github.com/vbauerster/mpb/v4/go.mod | 10 + - vendor/github.com/vbauerster/mpb/v4/go.sum | 13 + - .../vbauerster/mpb/v4/internal/percentage.go | 15 + - .../github.com/vbauerster/mpb/v4/options.go | 105 + - .../vbauerster/mpb/{ => v4}/priority_queue.go | 22 +- - .../github.com/vbauerster/mpb/v4/progress.go | 394 ++ - .../vbauerster/mpb/v4/proxyreader.go | 41 + - .../vbauerster/mpb/{ => v4}/spinner_filler.go | 17 +- - vendor/go.opencensus.io/.gitignore | 9 + - vendor/go.opencensus.io/.travis.yml | 17 + - vendor/go.opencensus.io/AUTHORS | 1 + - vendor/go.opencensus.io/CONTRIBUTING.md | 63 + - vendor/go.opencensus.io/Gopkg.lock | 231 + - vendor/go.opencensus.io/Gopkg.toml | 36 + - vendor/go.opencensus.io/LICENSE | 202 + - vendor/go.opencensus.io/Makefile | 96 + - vendor/go.opencensus.io/README.md | 263 + - vendor/go.opencensus.io/appveyor.yml | 25 + - vendor/go.opencensus.io/go.mod | 12 + - vendor/go.opencensus.io/go.sum | 61 + - vendor/go.opencensus.io/internal/internal.go | 37 + - vendor/go.opencensus.io/internal/sanitize.go | 50 + - .../internal/traceinternals.go | 53 + - vendor/go.opencensus.io/opencensus.go | 21 + - vendor/go.opencensus.io/trace/basetypes.go | 119 + - vendor/go.opencensus.io/trace/config.go | 86 + - vendor/go.opencensus.io/trace/doc.go | 53 + - vendor/go.opencensus.io/trace/evictedqueue.go | 38 + - vendor/go.opencensus.io/trace/export.go | 97 + - .../trace/internal/internal.go | 22 + - vendor/go.opencensus.io/trace/lrumap.go | 37 + - vendor/go.opencensus.io/trace/sampling.go | 75 + - vendor/go.opencensus.io/trace/spanbucket.go | 130 + - vendor/go.opencensus.io/trace/spanstore.go | 306 + - vendor/go.opencensus.io/trace/status_codes.go | 37 + - vendor/go.opencensus.io/trace/trace.go | 598 ++ - vendor/go.opencensus.io/trace/trace_go11.go | 32 + - .../go.opencensus.io/trace/trace_nongo11.go | 25 + - .../trace/tracestate/tracestate.go | 147 + - vendor/golang.org/x/crypto/ed25519/ed25519.go | 222 + - .../x/crypto/ed25519/ed25519_go113.go | 73 + - .../ed25519/internal/edwards25519/const.go | 1422 +++++ - .../internal/edwards25519/edwards25519.go | 1793 ++++++ - .../x/crypto/openpgp/elgamal/elgamal.go | 4 +- - .../x/crypto/openpgp/packet/encrypted_key.go | 6 +- - .../x/crypto/openpgp/packet/private_key.go | 2 +- - vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go | 77 + - .../golang.org/x/sys/unix/bluetooth_linux.go | 1 + - vendor/golang.org/x/sys/unix/fdset.go | 29 + - vendor/golang.org/x/sys/unix/mkall.sh | 4 +- - vendor/golang.org/x/sys/unix/mkerrors.sh | 56 +- - .../x/sys/unix/sockcmsg_dragonfly.go | 16 + - .../golang.org/x/sys/unix/sockcmsg_linux.go | 2 +- - vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 36 +- - .../x/sys/unix/sockcmsg_unix_other.go | 38 + - .../golang.org/x/sys/unix/syscall_aix_ppc.go | 4 + - .../x/sys/unix/syscall_aix_ppc64.go | 4 + - vendor/golang.org/x/sys/unix/syscall_bsd.go | 4 +- - .../x/sys/unix/syscall_darwin.1_12.go | 29 + - .../x/sys/unix/syscall_darwin.1_13.go | 101 + - .../golang.org/x/sys/unix/syscall_darwin.go | 4 +- - .../x/sys/unix/syscall_darwin_386.1_11.go | 9 + - .../x/sys/unix/syscall_darwin_386.go | 5 +- - .../x/sys/unix/syscall_darwin_amd64.1_11.go | 9 + - .../x/sys/unix/syscall_darwin_amd64.go | 5 +- - .../x/sys/unix/syscall_darwin_arm.1_11.go | 11 + - .../x/sys/unix/syscall_darwin_arm.go | 8 +- - .../x/sys/unix/syscall_darwin_arm64.1_11.go | 11 + - .../x/sys/unix/syscall_darwin_arm64.go | 8 +- - .../x/sys/unix/syscall_darwin_libSystem.go | 2 + - .../x/sys/unix/syscall_dragonfly.go | 24 +- - .../x/sys/unix/syscall_dragonfly_amd64.go | 4 + - .../golang.org/x/sys/unix/syscall_freebsd.go | 13 +- - .../x/sys/unix/syscall_freebsd_386.go | 4 + - .../x/sys/unix/syscall_freebsd_amd64.go | 4 + - .../x/sys/unix/syscall_freebsd_arm.go | 4 + - .../x/sys/unix/syscall_freebsd_arm64.go | 4 + - vendor/golang.org/x/sys/unix/syscall_linux.go | 130 +- - .../x/sys/unix/syscall_linux_386.go | 4 + - .../x/sys/unix/syscall_linux_amd64.go | 4 + - .../x/sys/unix/syscall_linux_arm.go | 4 + - .../x/sys/unix/syscall_linux_arm64.go | 4 + - .../x/sys/unix/syscall_linux_mips64x.go | 4 + - .../x/sys/unix/syscall_linux_mipsx.go | 4 + - .../x/sys/unix/syscall_linux_ppc64x.go | 4 + - .../x/sys/unix/syscall_linux_riscv64.go | 4 + - .../x/sys/unix/syscall_linux_s390x.go | 4 + - .../x/sys/unix/syscall_linux_sparc64.go | 4 + - .../golang.org/x/sys/unix/syscall_netbsd.go | 4 +- - .../x/sys/unix/syscall_netbsd_386.go | 4 + - .../x/sys/unix/syscall_netbsd_amd64.go | 4 + - .../x/sys/unix/syscall_netbsd_arm.go | 4 + - .../x/sys/unix/syscall_netbsd_arm64.go | 4 + - .../golang.org/x/sys/unix/syscall_openbsd.go | 4 +- - .../x/sys/unix/syscall_openbsd_386.go | 4 + - .../x/sys/unix/syscall_openbsd_amd64.go | 4 + - .../x/sys/unix/syscall_openbsd_arm.go | 4 + - .../x/sys/unix/syscall_openbsd_arm64.go | 4 + - .../golang.org/x/sys/unix/syscall_solaris.go | 4 +- - .../x/sys/unix/syscall_solaris_amd64.go | 4 + - .../golang.org/x/sys/unix/zerrors_aix_ppc.go | 12 +- - .../x/sys/unix/zerrors_aix_ppc64.go | 12 +- - .../x/sys/unix/zerrors_darwin_386.go | 3 +- - .../x/sys/unix/zerrors_darwin_amd64.go | 3 +- - .../x/sys/unix/zerrors_darwin_arm.go | 3 +- - .../x/sys/unix/zerrors_darwin_arm64.go | 3 +- - .../x/sys/unix/zerrors_dragonfly_amd64.go | 1 + - .../x/sys/unix/zerrors_freebsd_386.go | 3 +- - .../x/sys/unix/zerrors_freebsd_amd64.go | 3 +- - .../x/sys/unix/zerrors_freebsd_arm.go | 3 +- - .../x/sys/unix/zerrors_freebsd_arm64.go | 3 +- - .../x/sys/unix/zerrors_linux_386.go | 5464 ++++++++-------- - .../x/sys/unix/zerrors_linux_amd64.go | 5464 ++++++++-------- - .../x/sys/unix/zerrors_linux_arm.go | 5476 ++++++++-------- - .../x/sys/unix/zerrors_linux_arm64.go | 5448 ++++++++-------- - .../x/sys/unix/zerrors_linux_mips.go | 5468 ++++++++-------- - .../x/sys/unix/zerrors_linux_mips64.go | 5468 ++++++++-------- - .../x/sys/unix/zerrors_linux_mips64le.go | 5468 ++++++++-------- - .../x/sys/unix/zerrors_linux_mipsle.go | 5468 ++++++++-------- - .../x/sys/unix/zerrors_linux_ppc64.go | 5586 +++++++++-------- - .../x/sys/unix/zerrors_linux_ppc64le.go | 5586 +++++++++-------- - .../x/sys/unix/zerrors_linux_riscv64.go | 5438 ++++++++-------- - .../x/sys/unix/zerrors_linux_s390x.go | 5584 ++++++++-------- - .../x/sys/unix/zerrors_linux_sparc64.go | 5564 ++++++++-------- - .../x/sys/unix/zerrors_netbsd_386.go | 3 +- - .../x/sys/unix/zerrors_netbsd_amd64.go | 3 +- - .../x/sys/unix/zerrors_netbsd_arm.go | 3 +- - .../x/sys/unix/zerrors_netbsd_arm64.go | 3 +- - .../x/sys/unix/zerrors_openbsd_386.go | 17 +- - .../x/sys/unix/zerrors_openbsd_amd64.go | 6 +- - .../x/sys/unix/zerrors_openbsd_arm.go | 11 +- - .../x/sys/unix/zerrors_openbsd_arm64.go | 1 + - .../x/sys/unix/zerrors_solaris_amd64.go | 3 +- - .../x/sys/unix/zsyscall_darwin_386.1_11.go | 73 +- - .../x/sys/unix/zsyscall_darwin_386.1_13.go | 41 + - .../x/sys/unix/zsyscall_darwin_386.1_13.s | 12 + - .../x/sys/unix/zsyscall_darwin_386.go | 84 +- - .../x/sys/unix/zsyscall_darwin_386.s | 6 +- - .../x/sys/unix/zsyscall_darwin_amd64.1_11.go | 93 +- - .../x/sys/unix/zsyscall_darwin_amd64.1_13.go | 41 + - .../x/sys/unix/zsyscall_darwin_amd64.1_13.s | 12 + - .../x/sys/unix/zsyscall_darwin_amd64.go | 69 +- - .../x/sys/unix/zsyscall_darwin_amd64.s | 6 +- - .../x/sys/unix/zsyscall_darwin_arm.1_11.go | 49 +- - .../x/sys/unix/zsyscall_darwin_arm.1_13.go | 41 + - .../x/sys/unix/zsyscall_darwin_arm.1_13.s | 12 + - .../x/sys/unix/zsyscall_darwin_arm.go | 62 +- - .../x/sys/unix/zsyscall_darwin_arm.s | 4 +- - .../x/sys/unix/zsyscall_darwin_arm64.1_11.go | 49 +- - .../x/sys/unix/zsyscall_darwin_arm64.1_13.go | 41 + - .../x/sys/unix/zsyscall_darwin_arm64.1_13.s | 12 + - .../x/sys/unix/zsyscall_darwin_arm64.go | 62 +- - .../x/sys/unix/zsyscall_darwin_arm64.s | 4 +- - .../x/sys/unix/zsyscall_dragonfly_amd64.go | 5 +- - .../x/sys/unix/zsyscall_freebsd_386.go | 5 +- - .../x/sys/unix/zsyscall_freebsd_amd64.go | 45 +- - .../x/sys/unix/zsyscall_freebsd_arm.go | 45 +- - .../x/sys/unix/zsyscall_freebsd_arm64.go | 45 +- - .../x/sys/unix/zsyscall_linux_386.go | 30 + - .../x/sys/unix/zsyscall_linux_amd64.go | 30 + - .../x/sys/unix/zsyscall_linux_arm.go | 30 + - .../x/sys/unix/zsyscall_linux_arm64.go | 30 + - .../x/sys/unix/zsyscall_linux_mips.go | 30 + - .../x/sys/unix/zsyscall_linux_mips64.go | 30 + - .../x/sys/unix/zsyscall_linux_mips64le.go | 30 + - .../x/sys/unix/zsyscall_linux_mipsle.go | 30 + - .../x/sys/unix/zsyscall_linux_ppc64.go | 30 + - .../x/sys/unix/zsyscall_linux_ppc64le.go | 30 + - .../x/sys/unix/zsyscall_linux_riscv64.go | 30 + - .../x/sys/unix/zsyscall_linux_s390x.go | 30 + - .../x/sys/unix/zsyscall_linux_sparc64.go | 30 + - .../x/sys/unix/zsyscall_netbsd_386.go | 37 +- - .../x/sys/unix/zsyscall_netbsd_amd64.go | 37 +- - .../x/sys/unix/zsyscall_netbsd_arm.go | 37 +- - .../x/sys/unix/zsyscall_netbsd_arm64.go | 37 +- - .../x/sys/unix/zsyscall_openbsd_386.go | 37 +- - .../x/sys/unix/zsyscall_openbsd_amd64.go | 37 +- - .../x/sys/unix/zsyscall_openbsd_arm.go | 37 +- - .../x/sys/unix/zsyscall_openbsd_arm64.go | 37 +- - .../x/sys/unix/zsyscall_solaris_amd64.go | 5 +- - .../x/sys/unix/zsysnum_linux_386.go | 2 + - .../x/sys/unix/zsysnum_linux_amd64.go | 2 + - .../x/sys/unix/zsysnum_linux_arm.go | 2 + - .../x/sys/unix/zsysnum_linux_arm64.go | 1 + - .../x/sys/unix/zsysnum_linux_mips.go | 2 + - .../x/sys/unix/zsysnum_linux_mips64.go | 2 + - .../x/sys/unix/zsysnum_linux_mips64le.go | 2 + - .../x/sys/unix/zsysnum_linux_mipsle.go | 2 + - .../x/sys/unix/zsysnum_linux_ppc64.go | 2 + - .../x/sys/unix/zsysnum_linux_ppc64le.go | 2 + - .../x/sys/unix/zsysnum_linux_riscv64.go | 2 + - .../x/sys/unix/zsysnum_linux_s390x.go | 2 + - .../x/sys/unix/zsysnum_linux_sparc64.go | 1 + - .../x/sys/unix/ztypes_freebsd_arm64.go | 2 +- - .../golang.org/x/sys/unix/ztypes_linux_386.go | 321 +- - .../x/sys/unix/ztypes_linux_amd64.go | 322 +- - .../golang.org/x/sys/unix/ztypes_linux_arm.go | 322 +- - .../x/sys/unix/ztypes_linux_arm64.go | 322 +- - .../x/sys/unix/ztypes_linux_mips.go | 322 +- - .../x/sys/unix/ztypes_linux_mips64.go | 323 +- - .../x/sys/unix/ztypes_linux_mips64le.go | 323 +- - .../x/sys/unix/ztypes_linux_mipsle.go | 322 +- - .../x/sys/unix/ztypes_linux_ppc64.go | 322 +- - .../x/sys/unix/ztypes_linux_ppc64le.go | 322 +- - .../x/sys/unix/ztypes_linux_riscv64.go | 322 +- - .../x/sys/unix/ztypes_linux_s390x.go | 322 +- - .../x/sys/unix/ztypes_linux_sparc64.go | 322 +- - .../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 | 22 +- - vendor/golang.org/x/sys/windows/empty.s | 8 + - vendor/golang.org/x/sys/windows/mksyscall.go | 2 +- - .../x/sys/windows/security_windows.go | 558 +- - .../x/sys/windows/syscall_windows.go | 111 +- - .../golang.org/x/sys/windows/types_windows.go | 123 +- - .../x/sys/windows/zsyscall_windows.go | 1141 +++- - .../square/go-jose.v2/.gitcookies.sh.enc | 1 + - vendor/gopkg.in/square/go-jose.v2/.gitignore | 7 + - vendor/gopkg.in/square/go-jose.v2/.travis.yml | 46 + - .../gopkg.in/square/go-jose.v2/BUG-BOUNTY.md | 10 + - .../square/go-jose.v2/CONTRIBUTING.md | 14 + - vendor/gopkg.in/square/go-jose.v2/LICENSE | 202 + - vendor/gopkg.in/square/go-jose.v2/README.md | 118 + - .../gopkg.in/square/go-jose.v2/asymmetric.go | 592 ++ - .../square/go-jose.v2/cipher/cbc_hmac.go | 196 + - .../square/go-jose.v2/cipher/concat_kdf.go | 75 + - .../square/go-jose.v2/cipher/ecdh_es.go | 62 + - .../square/go-jose.v2/cipher/key_wrap.go | 109 + - vendor/gopkg.in/square/go-jose.v2/crypter.go | 535 ++ - vendor/gopkg.in/square/go-jose.v2/doc.go | 27 + - vendor/gopkg.in/square/go-jose.v2/encoding.go | 179 + - .../gopkg.in/square/go-jose.v2/json/LICENSE | 27 + - .../gopkg.in/square/go-jose.v2/json/README.md | 13 + - .../gopkg.in/square/go-jose.v2/json/decode.go | 1183 ++++ - .../gopkg.in/square/go-jose.v2/json/encode.go | 1197 ++++ - .../gopkg.in/square/go-jose.v2/json/indent.go | 141 + - .../square/go-jose.v2/json/scanner.go | 623 ++ - .../gopkg.in/square/go-jose.v2/json/stream.go | 480 ++ - .../gopkg.in/square/go-jose.v2/json/tags.go | 44 + - vendor/gopkg.in/square/go-jose.v2/jwe.go | 294 + - vendor/gopkg.in/square/go-jose.v2/jwk.go | 608 ++ - vendor/gopkg.in/square/go-jose.v2/jws.go | 321 + - vendor/gopkg.in/square/go-jose.v2/opaque.go | 83 + - vendor/gopkg.in/square/go-jose.v2/shared.go | 499 ++ - vendor/gopkg.in/square/go-jose.v2/signing.go | 389 ++ - .../gopkg.in/square/go-jose.v2/symmetric.go | 482 ++ - vendor/modules.txt | 85 +- - 666 files changed, 92226 insertions(+), 47024 deletions(-) - create mode 100644 vendor/github.com/Microsoft/hcsshim/Protobuild.toml - create mode 100644 vendor/github.com/Microsoft/hcsshim/go.mod - create mode 100644 vendor/github.com/Microsoft/hcsshim/go.sum - create mode 100644 vendor/github.com/Microsoft/hcsshim/internal/cow/cow.go - delete mode 100644 vendor/github.com/Microsoft/hcsshim/internal/guestrequest/types.go - delete mode 100644 vendor/github.com/Microsoft/hcsshim/internal/guid/guid.go - delete mode 100644 vendor/github.com/Microsoft/hcsshim/internal/hcs/hcs.go - delete mode 100644 vendor/github.com/Microsoft/hcsshim/internal/hcs/log.go - delete mode 100644 vendor/github.com/Microsoft/hcsshim/internal/hcs/watcher.go - create mode 100644 vendor/github.com/Microsoft/hcsshim/internal/log/g.go - create mode 100644 vendor/github.com/Microsoft/hcsshim/internal/oc/exporter.go - create mode 100644 vendor/github.com/Microsoft/hcsshim/internal/oc/span.go - create mode 100644 vendor/github.com/Microsoft/hcsshim/internal/schema2/property_type.go - create mode 100644 vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go - rename vendor/github.com/Microsoft/hcsshim/internal/{hcs => vmcompute}/zsyscall_windows.go (81%) - rename vendor/github.com/Microsoft/hcsshim/osversion/{osversion.go => osversion_windows.go} (88%) - delete mode 100644 vendor/github.com/Microsoft/hcsshim/vendor.conf - create mode 100644 vendor/github.com/acarl005/stripansi/LICENSE - create mode 100644 vendor/github.com/acarl005/stripansi/README.md - create mode 100644 vendor/github.com/acarl005/stripansi/stripansi.go - create mode 100644 vendor/github.com/containerd/cgroups/LICENSE - create mode 100644 vendor/github.com/containerd/cgroups/stats/v1/doc.go - create mode 100644 vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.go - create mode 100644 vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.txt - create mode 100644 vendor/github.com/containerd/cgroups/stats/v1/metrics.proto - create mode 100644 vendor/github.com/containers/image/v5/copy/encrypt.go - create mode 100644 vendor/github.com/containers/ocicrypt/MAINTAINERS - create mode 100644 vendor/github.com/containers/ocicrypt/Makefile - create mode 100644 vendor/github.com/containers/ocicrypt/README.md - create mode 100644 vendor/github.com/containers/ocicrypt/blockcipher/blockcipher.go - create mode 100644 vendor/github.com/containers/ocicrypt/blockcipher/blockcipher_aes_ctr.go - create mode 100644 vendor/github.com/containers/ocicrypt/config/config.go - create mode 100644 vendor/github.com/containers/ocicrypt/config/constructors.go - create mode 100644 vendor/github.com/containers/ocicrypt/encryption.go - create mode 100644 vendor/github.com/containers/ocicrypt/go.mod - create mode 100644 vendor/github.com/containers/ocicrypt/go.sum - create mode 100644 vendor/github.com/containers/ocicrypt/gpg.go - create mode 100644 vendor/github.com/containers/ocicrypt/gpgvault.go - create mode 100644 vendor/github.com/containers/ocicrypt/keywrap/jwe/keywrapper_jwe.go - create mode 100644 vendor/github.com/containers/ocicrypt/keywrap/keywrap.go - create mode 100644 vendor/github.com/containers/ocicrypt/keywrap/pgp/keywrapper_gpg.go - create mode 100644 vendor/github.com/containers/ocicrypt/keywrap/pkcs7/keywrapper_pkcs7.go - create mode 100644 vendor/github.com/containers/ocicrypt/reader.go - create mode 100644 vendor/github.com/containers/ocicrypt/spec/spec.go - create mode 100644 vendor/github.com/containers/ocicrypt/utils/delayedreader.go - create mode 100644 vendor/github.com/containers/ocicrypt/utils/ioutils.go - create mode 100644 vendor/github.com/containers/ocicrypt/utils/testing.go - create mode 100644 vendor/github.com/containers/ocicrypt/utils/utils.go - delete mode 100644 vendor/github.com/containers/storage/layers_ffjson.go - delete mode 100644 vendor/github.com/containers/storage/pkg/system/filesys.go - delete mode 100644 vendor/github.com/containers/storage/pkg/system/filesys_windows.go - rename vendor/github.com/{klauspost/cpuid => fullsailor/pkcs7}/.gitignore (100%) - create mode 100644 vendor/github.com/fullsailor/pkcs7/.travis.yml - rename vendor/github.com/{klauspost/cpuid => fullsailor/pkcs7}/LICENSE (97%) - create mode 100644 vendor/github.com/fullsailor/pkcs7/README.md - create mode 100644 vendor/github.com/fullsailor/pkcs7/ber.go - create mode 100644 vendor/github.com/fullsailor/pkcs7/pkcs7.go - create mode 100644 vendor/github.com/fullsailor/pkcs7/x509.go - create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/Makefile - create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/doc.go - create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go - create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.golden - create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/gogo.proto - create mode 100644 vendor/github.com/gogo/protobuf/gogoproto/helper.go - create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/Makefile - create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.go - create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go - create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go - create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/helper.go - create mode 100644 vendor/github.com/hashicorp/golang-lru/LICENSE - create mode 100644 vendor/github.com/hashicorp/golang-lru/simplelru/lru.go - create mode 100644 vendor/github.com/hashicorp/golang-lru/simplelru/lru_interface.go - delete mode 100644 vendor/github.com/klauspost/compress/flate/crc32_amd64.go - delete mode 100644 vendor/github.com/klauspost/compress/flate/crc32_amd64.s - delete mode 100644 vendor/github.com/klauspost/compress/flate/crc32_noasm.go - create mode 100644 vendor/github.com/klauspost/compress/flate/fast_encoder.go - create mode 100644 vendor/github.com/klauspost/compress/flate/huffman_sortByFreq.go - create mode 100644 vendor/github.com/klauspost/compress/flate/huffman_sortByLiteral.go - create mode 100644 vendor/github.com/klauspost/compress/flate/level1.go - create mode 100644 vendor/github.com/klauspost/compress/flate/level2.go - create mode 100644 vendor/github.com/klauspost/compress/flate/level3.go - create mode 100644 vendor/github.com/klauspost/compress/flate/level4.go - create mode 100644 vendor/github.com/klauspost/compress/flate/level5.go - create mode 100644 vendor/github.com/klauspost/compress/flate/level6.go - delete mode 100644 vendor/github.com/klauspost/compress/flate/reverse_bits.go - delete mode 100644 vendor/github.com/klauspost/compress/flate/snappy.go - create mode 100644 vendor/github.com/klauspost/compress/flate/stateless.go - delete mode 100644 vendor/github.com/klauspost/cpuid/.travis.yml - delete mode 100644 vendor/github.com/klauspost/cpuid/CONTRIBUTING.txt - delete mode 100644 vendor/github.com/klauspost/cpuid/README.md - delete mode 100644 vendor/github.com/klauspost/cpuid/cpuid.go - delete mode 100644 vendor/github.com/klauspost/cpuid/cpuid_386.s - delete mode 100644 vendor/github.com/klauspost/cpuid/cpuid_amd64.s - delete mode 100644 vendor/github.com/klauspost/cpuid/detect_intel.go - delete mode 100644 vendor/github.com/klauspost/cpuid/detect_ref.go - delete mode 100644 vendor/github.com/klauspost/cpuid/generate.go - delete mode 100644 vendor/github.com/mattn/go-isatty/.travis.yml - delete mode 100644 vendor/github.com/mattn/go-isatty/LICENSE - delete mode 100644 vendor/github.com/mattn/go-isatty/README.md - delete mode 100644 vendor/github.com/mattn/go-isatty/doc.go - delete mode 100644 vendor/github.com/mattn/go-isatty/go.mod - delete mode 100644 vendor/github.com/mattn/go-isatty/go.sum - delete mode 100644 vendor/github.com/mattn/go-isatty/isatty_android.go - delete mode 100644 vendor/github.com/mattn/go-isatty/isatty_bsd.go - delete mode 100644 vendor/github.com/mattn/go-isatty/isatty_others.go - delete mode 100644 vendor/github.com/mattn/go-isatty/isatty_solaris.go - delete mode 100644 vendor/github.com/mattn/go-isatty/isatty_tcgets.go - delete mode 100644 vendor/github.com/mattn/go-isatty/isatty_windows.go - create mode 100644 vendor/github.com/mtrmac/gpgme/.appveyor.yml - create mode 100644 vendor/github.com/mtrmac/gpgme/.travis.yml - create mode 100644 vendor/github.com/mtrmac/gpgme/go.mod - create mode 100644 vendor/github.com/mtrmac/gpgme/unset_agent_info.go - create mode 100644 vendor/github.com/mtrmac/gpgme/unset_agent_info_windows.go - create mode 100644 vendor/github.com/opencontainers/runc/libcontainer/utils/cmsg.go - create mode 100644 vendor/github.com/opencontainers/runc/libcontainer/utils/utils.go - create mode 100644 vendor/github.com/opencontainers/runc/libcontainer/utils/utils_unix.go - create mode 100644 vendor/github.com/pkg/errors/Makefile - create mode 100644 vendor/github.com/pkg/errors/go113.go - create mode 100644 vendor/github.com/prometheus/procfs/arp.go - create mode 100644 vendor/github.com/prometheus/procfs/cpuinfo.go - create mode 100644 vendor/github.com/prometheus/procfs/crypto.go - create mode 100644 vendor/github.com/prometheus/procfs/internal/util/parse.go - create mode 100644 vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go - create mode 100644 vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go - create mode 100644 vendor/github.com/prometheus/procfs/internal/util/valueparser.go - create mode 100644 vendor/github.com/prometheus/procfs/net_softnet.go - create mode 100644 vendor/github.com/prometheus/procfs/proc_fdinfo.go - create mode 100644 vendor/github.com/prometheus/procfs/schedstat.go - create mode 100644 vendor/github.com/prometheus/procfs/vm.go - create mode 100644 vendor/github.com/prometheus/procfs/zoneinfo.go - delete mode 100644 vendor/github.com/vbauerster/mpb/.travis.yml - delete mode 100644 vendor/github.com/vbauerster/mpb/LICENSE - delete mode 100644 vendor/github.com/vbauerster/mpb/bar.go - delete mode 100644 vendor/github.com/vbauerster/mpb/bar_filler.go - delete mode 100644 vendor/github.com/vbauerster/mpb/bar_option.go - delete mode 100644 vendor/github.com/vbauerster/mpb/cwriter/writer_posix.go - delete mode 100644 vendor/github.com/vbauerster/mpb/cwriter/writer_windows.go - delete mode 100644 vendor/github.com/vbauerster/mpb/decor/counters.go - delete mode 100644 vendor/github.com/vbauerster/mpb/decor/decorator.go - delete mode 100644 vendor/github.com/vbauerster/mpb/decor/elapsed.go - delete mode 100644 vendor/github.com/vbauerster/mpb/decor/eta.go - delete mode 100644 vendor/github.com/vbauerster/mpb/decor/name.go - delete mode 100644 vendor/github.com/vbauerster/mpb/decor/percentage.go - delete mode 100644 vendor/github.com/vbauerster/mpb/decor/speed.go - delete mode 100644 vendor/github.com/vbauerster/mpb/doc.go - delete mode 100644 vendor/github.com/vbauerster/mpb/go.test.sh - delete mode 100644 vendor/github.com/vbauerster/mpb/internal/percentage.go - delete mode 100644 vendor/github.com/vbauerster/mpb/options.go - delete mode 100644 vendor/github.com/vbauerster/mpb/progress.go - delete mode 100644 vendor/github.com/vbauerster/mpb/progress_posix.go - delete mode 100644 vendor/github.com/vbauerster/mpb/progress_windows.go - delete mode 100644 vendor/github.com/vbauerster/mpb/proxyreader.go - rename vendor/github.com/vbauerster/mpb/{ => v4}/.gitignore (100%) - create mode 100644 vendor/github.com/vbauerster/mpb/v4/.travis.yml - rename vendor/github.com/vbauerster/mpb/{ => v4}/README.md (65%) - create mode 100644 vendor/github.com/vbauerster/mpb/v4/UNLICENSE - create mode 100644 vendor/github.com/vbauerster/mpb/v4/bar.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/bar_filler.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/bar_option.go - rename vendor/github.com/vbauerster/mpb/{ => v4}/cwriter/writer.go (53%) - create mode 100644 vendor/github.com/vbauerster/mpb/v4/cwriter/writer_posix.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/cwriter/writer_windows.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/counters.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/decorator.go - rename vendor/github.com/vbauerster/mpb/{ => v4}/decor/doc.go (70%) - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/elapsed.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/eta.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/merge.go - rename vendor/github.com/vbauerster/mpb/{decor/moving-average.go => v4/decor/moving_average.go} (61%) - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/name.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/on_complete.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/percentage.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/size_type.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/sizeb1000_string.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/sizeb1024_string.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/speed.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/decor/spinner.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/doc.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/go.mod - create mode 100644 vendor/github.com/vbauerster/mpb/v4/go.sum - create mode 100644 vendor/github.com/vbauerster/mpb/v4/internal/percentage.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/options.go - rename vendor/github.com/vbauerster/mpb/{ => v4}/priority_queue.go (61%) - create mode 100644 vendor/github.com/vbauerster/mpb/v4/progress.go - create mode 100644 vendor/github.com/vbauerster/mpb/v4/proxyreader.go - rename vendor/github.com/vbauerster/mpb/{ => v4}/spinner_filler.go (65%) - create mode 100644 vendor/go.opencensus.io/.gitignore - create mode 100644 vendor/go.opencensus.io/.travis.yml - create mode 100644 vendor/go.opencensus.io/AUTHORS - create mode 100644 vendor/go.opencensus.io/CONTRIBUTING.md - create mode 100644 vendor/go.opencensus.io/Gopkg.lock - create mode 100644 vendor/go.opencensus.io/Gopkg.toml - create mode 100644 vendor/go.opencensus.io/LICENSE - create mode 100644 vendor/go.opencensus.io/Makefile - create mode 100644 vendor/go.opencensus.io/README.md - create mode 100644 vendor/go.opencensus.io/appveyor.yml - create mode 100644 vendor/go.opencensus.io/go.mod - create mode 100644 vendor/go.opencensus.io/go.sum - create mode 100644 vendor/go.opencensus.io/internal/internal.go - create mode 100644 vendor/go.opencensus.io/internal/sanitize.go - create mode 100644 vendor/go.opencensus.io/internal/traceinternals.go - create mode 100644 vendor/go.opencensus.io/opencensus.go - create mode 100644 vendor/go.opencensus.io/trace/basetypes.go - create mode 100644 vendor/go.opencensus.io/trace/config.go - create mode 100644 vendor/go.opencensus.io/trace/doc.go - create mode 100644 vendor/go.opencensus.io/trace/evictedqueue.go - create mode 100644 vendor/go.opencensus.io/trace/export.go - create mode 100644 vendor/go.opencensus.io/trace/internal/internal.go - create mode 100644 vendor/go.opencensus.io/trace/lrumap.go - create mode 100644 vendor/go.opencensus.io/trace/sampling.go - create mode 100644 vendor/go.opencensus.io/trace/spanbucket.go - create mode 100644 vendor/go.opencensus.io/trace/spanstore.go - create mode 100644 vendor/go.opencensus.io/trace/status_codes.go - create mode 100644 vendor/go.opencensus.io/trace/trace.go - create mode 100644 vendor/go.opencensus.io/trace/trace_go11.go - create mode 100644 vendor/go.opencensus.io/trace/trace_nongo11.go - create mode 100644 vendor/go.opencensus.io/trace/tracestate/tracestate.go - create mode 100644 vendor/golang.org/x/crypto/ed25519/ed25519.go - create mode 100644 vendor/golang.org/x/crypto/ed25519/ed25519_go113.go - create mode 100644 vendor/golang.org/x/crypto/ed25519/internal/edwards25519/const.go - create mode 100644 vendor/golang.org/x/crypto/ed25519/internal/edwards25519/edwards25519.go - create mode 100644 vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go - create mode 100644 vendor/golang.org/x/sys/unix/fdset.go - create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go - create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s - delete mode 100644 vendor/golang.org/x/sys/windows/asm_windows_386.s - delete mode 100644 vendor/golang.org/x/sys/windows/asm_windows_amd64.s - delete mode 100644 vendor/golang.org/x/sys/windows/asm_windows_arm.s - create mode 100644 vendor/golang.org/x/sys/windows/empty.s - create mode 100644 vendor/gopkg.in/square/go-jose.v2/.gitcookies.sh.enc - create mode 100644 vendor/gopkg.in/square/go-jose.v2/.gitignore - create mode 100644 vendor/gopkg.in/square/go-jose.v2/.travis.yml - create mode 100644 vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md - create mode 100644 vendor/gopkg.in/square/go-jose.v2/CONTRIBUTING.md - create mode 100644 vendor/gopkg.in/square/go-jose.v2/LICENSE - create mode 100644 vendor/gopkg.in/square/go-jose.v2/README.md - create mode 100644 vendor/gopkg.in/square/go-jose.v2/asymmetric.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/cipher/cbc_hmac.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/cipher/concat_kdf.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/cipher/ecdh_es.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/cipher/key_wrap.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/crypter.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/doc.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/encoding.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/LICENSE - create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/README.md - create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/decode.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/encode.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/indent.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/scanner.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/stream.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/tags.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/jwe.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/jwk.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/jws.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/opaque.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/shared.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/signing.go - create mode 100644 vendor/gopkg.in/square/go-jose.v2/symmetric.go - -diff --git a/go.mod b/go.mod -index 064089b76..086d25cc9 100644 ---- a/go.mod -+++ b/go.mod -@@ -8,13 +8,12 @@ require ( - github.com/buger/goterm v0.0.0-20181115115552-c206103e1f37 - github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b - github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect -- github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc // indirect - github.com/containernetworking/cni v0.7.1 - github.com/containernetworking/plugins v0.8.2 - github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 -- github.com/containers/image/v5 v5.0.1-0.20200205124631-82291c45f2b0 -+ github.com/containers/image/v5 v5.2.1 - github.com/containers/psgo v1.3.2 -- github.com/containers/storage v1.13.6 -+ github.com/containers/storage v1.15.8 - github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f - github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f // indirect - github.com/cri-o/ocicni v0.1.1-0.20190702175919-7762645d18ca -@@ -32,11 +31,10 @@ require ( - github.com/fatih/camelcase v1.0.0 - github.com/fsnotify/fsnotify v1.4.7 - github.com/ghodss/yaml v1.0.0 -- github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f -+ github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e - github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf - github.com/hashicorp/go-multierror v1.0.0 - github.com/hpcloud/tail v1.0.0 -- github.com/imdario/mergo v0.3.7 // indirect - github.com/json-iterator/go v1.1.7 - github.com/mattn/go-isatty v0.0.8 // indirect - github.com/mrunalp/fileutils v0.0.0-20171103030105-7d4729fb3618 -@@ -44,12 +42,12 @@ require ( - github.com/onsi/gomega v1.7.0 - github.com/opencontainers/go-digest v1.0.0-rc1 - github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6 -- github.com/opencontainers/runc v1.0.0-rc8.0.20190827142921-dd075602f158 -+ github.com/opencontainers/runc v1.0.0-rc9 - github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7 - github.com/opencontainers/runtime-tools v0.9.0 -- github.com/opencontainers/selinux v1.3.0 -+ github.com/opencontainers/selinux v1.3.1 - github.com/opentracing/opentracing-go v1.1.0 -- github.com/pkg/errors v0.8.1 -+ github.com/pkg/errors v0.9.1 - github.com/pkg/profile v1.3.0 - github.com/pmezard/go-difflib v1.0.0 - github.com/seccomp/containers-golang v0.0.0-20190312124753-8ca8945ccf5f -@@ -64,10 +62,10 @@ require ( - github.com/varlink/go v0.0.0-20190502142041-0f1d566d194b - github.com/vishvananda/netlink v1.0.0 - go.uber.org/atomic v1.4.0 // indirect -- golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad -+ golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708 - golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect - golang.org/x/sync v0.0.0-20190423024810-112230192c58 -- golang.org/x/sys v0.0.0-20190902133755-9109b7679e13 -+ golang.org/x/sys v0.0.0-20191127021746-63cb32ae39b2 - google.golang.org/appengine v1.6.1 // indirect - google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect -diff --git a/go.sum b/go.sum -index 2dfb33e94..9456b2bfb 100644 ---- a/go.sum -+++ b/go.sum -@@ -15,13 +15,19 @@ github.com/Microsoft/go-winio v0.4.12 h1:xAfWHN1IrQ0NJ9TBC0KBZoqLjzDTr1ML+4MywiU - github.com/Microsoft/go-winio v0.4.12/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= - github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU= - github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= - github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA= - github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -+github.com/Microsoft/hcsshim v0.8.7 h1:ptnOoufxGSzauVTsdE+wMYnCWA301PdoN4xg5oRdZpg= -+github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= - github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= - github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= - github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= - github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM= - github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= -+github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= -+github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= - github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= - github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= - github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= -@@ -31,6 +37,7 @@ github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0= - github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= - github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= - github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -+github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= - github.com/blang/semver v3.5.0+incompatible h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17OJKJXD2Cfs= - github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= - github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= -@@ -43,6 +50,11 @@ github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b/go.mod - github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= - github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= - github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -+github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -+github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -+github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= - github.com/containerd/containerd v1.3.0 h1:xjvXQWABwS2uiv3TWgQt5Uth60Gu86LTGZXMJkjc7rY= - github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= - github.com/containerd/continuity v0.0.0-20180216233310-d8fb8589b0e8/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -@@ -50,6 +62,10 @@ github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882b - github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= - github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc h1:TP+534wVlf61smEIq1nwLLAjQVEK2EADoW3CX9AuT+8= - github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -+github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -+github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -+github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -+github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= - github.com/containernetworking/cni v0.7.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= - github.com/containernetworking/cni v0.7.1 h1:fE3r16wpSEyaqY4Z4oFrLMmIGfBYIKpPrHK31EJ9FzE= - github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -@@ -63,8 +79,12 @@ github.com/containers/image/v5 v5.0.0 h1:arnXgbt1ucsC/ndtSpiQY87rA0UjhF+/xQnPzqd - github.com/containers/image/v5 v5.0.0/go.mod h1:MgiLzCfIeo8lrHi+4Lb8HP+rh513sm0Mlk6RrhjFOLY= - github.com/containers/image/v5 v5.0.1-0.20200205124631-82291c45f2b0 h1:iV4aHKRoPcHp5BISsuiPMyaCjGJfLKp/FUMAG1NeqvE= - github.com/containers/image/v5 v5.0.1-0.20200205124631-82291c45f2b0/go.mod h1:MgiLzCfIeo8lrHi+4Lb8HP+rh513sm0Mlk6RrhjFOLY= -+github.com/containers/image/v5 v5.2.1 h1:rQR6QSUneWBoW1bTFpP9EJJTevQFv27YsKYQVJIzg+s= -+github.com/containers/image/v5 v5.2.1/go.mod h1:TfhmLwH+v1/HBVPIWH7diLs8XwcOkP3c7t7JFgqaUEc= - github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b h1:Q8ePgVfHDplZ7U33NwHZkrVELsZP5fYj9pM5WBZB2GE= - github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b/go.mod h1:9rfv8iPl1ZP7aqh9YA68wnZv2NUDbXdcdPHVz0pFbPY= -+github.com/containers/ocicrypt v0.0.0-20190930154801-b87a4a69c741 h1:8tQkOcednLJtUcZgK7sPglscXtxvMOnFOa6wd09VWLM= -+github.com/containers/ocicrypt v0.0.0-20190930154801-b87a4a69c741/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= - github.com/containers/psgo v1.3.2 h1:jYfppPih3S/j2Yi5O14AXjd8GfCx1ph9L3YsoK3adko= - github.com/containers/psgo v1.3.2/go.mod h1:ENXXLQ5E1At4K0EUsGogXBJi/C28gwqkONWeLPI9fJ8= - github.com/containers/storage v1.13.4 h1:j0bBaJDKbUHtAW1MXPFnwXJtqcH+foWeuXK1YaBV5GA= -@@ -73,6 +93,8 @@ github.com/containers/storage v1.13.5 h1:/SUzGeOP2HDijpF7Yur21Ch6WTZC1BNeZF917CW - github.com/containers/storage v1.13.5/go.mod h1:HELz8Sn+UVbPaUZMI8RvIG9doD4y4z6Gtg4k7xdd2ZY= - github.com/containers/storage v1.13.6 h1:YDAAdzGPHQHZcQP9GpHL2onNAHfvwTRdPAwcA5sfrcU= - github.com/containers/storage v1.13.6/go.mod h1:HELz8Sn+UVbPaUZMI8RvIG9doD4y4z6Gtg4k7xdd2ZY= -+github.com/containers/storage v1.15.8 h1:ef7OfUMTpyq0PIVAhV7qfufEI92gAldk25nItrip+6Q= -+github.com/containers/storage v1.15.8/go.mod h1:zhvjIIl/fR6wt/lgqQAC+xanHQ+8gUQ0GBVeXYN81qI= - github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= - github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= - github.com/coreos/go-iptables v0.4.2 h1:KH0EwId05JwWIfb96gWvkiT2cbuOu8ygqUaB+yPAwIg= -@@ -80,11 +102,13 @@ github.com/coreos/go-iptables v0.4.2/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmeka - github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= - github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 h1:u9SHYsPQNyt5tgDm3YN7+9dYrpK96E5wFilTFWIDZOM= - github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= - github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c= - github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= - github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= - github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= - github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -+github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= - github.com/cri-o/ocicni v0.1.1-0.20190702175919-7762645d18ca h1:CJstDqYy9ClWuPcDHMTCAiUS+ckekluYetGR2iYYWuo= - github.com/cri-o/ocicni v0.1.1-0.20190702175919-7762645d18ca/go.mod h1:BO0al9TKber3XUTucLzKgoG5sq8qiOB41H7zSdfw6r8= - github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg= -@@ -141,6 +165,8 @@ github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV - github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= - github.com/fsouza/go-dockerclient v1.5.0 h1:7OtayOe5HnoG+KWMHgyyPymwaodnB2IDYuVfseKyxbA= - github.com/fsouza/go-dockerclient v1.5.0/go.mod h1:AqZZK/zFO3phxYxlTsAaeAMSdQ9mgHuhy+bjN034Qds= -+github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= -+github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= - github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= - github.com/ghodss/yaml v0.0.0-20161207003320-04f313413ffd/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= - github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -@@ -156,6 +182,8 @@ github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/me - github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= - github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f h1:zlOR3rOlPAVvtfuxGKoghCmop5B0TRyu/ZieziZuGiM= - github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e h1:BWhy2j3IXJhjCbC68FptL43tDKIq8FladmaTs3Xs7Z8= -+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= - github.com/gogo/protobuf v0.0.0-20170815085658-fcdc5011193f/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= - github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= - github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -@@ -200,11 +228,15 @@ github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= - github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= - github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= - github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -+github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= - github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= - github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -+github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= - github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= - github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= - github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= -+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= - github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= - github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= - github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -@@ -213,6 +245,8 @@ github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= - github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= - github.com/imdario/mergo v0.3.7 h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI= - github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -+github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ= -+github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= - github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= - github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= - github.com/ishidawataru/sctp v0.0.0-20180918013207-6e2cb1366111 h1:NAAiV9ass6VReWFjuxqrMIq12WKlSULI6Gs3PxQghLA= -@@ -235,6 +269,8 @@ github.com/klauspost/compress v1.7.2 h1:liMOoeIvFpr9kEvalrZ7VVBA4wGf7zfOgwBjzz/5 - github.com/klauspost/compress v1.7.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= - github.com/klauspost/compress v1.8.1 h1:oygt2ychZFHOB6M9gUgajzgKrwRgHbGC77NwA4COVgI= - github.com/klauspost/compress v1.8.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -+github.com/klauspost/compress v1.9.8 h1:VMAMUUOh+gaxKTMk+zqbjsSjsIcUcL/LF4o63i82QyA= -+github.com/klauspost/compress v1.9.8/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= - github.com/klauspost/cpuid v1.2.1 h1:vJi+O/nMdFt0vqm8NZBI6wzALWdA2X+egi0ogNyrC/w= - github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= - github.com/klauspost/pgzip v1.2.1 h1:oIPZROsWuPHpOdMVWLuJZXwgjhrW8r1yEX8UqMyeNHM= -@@ -259,6 +295,8 @@ github.com/mattn/go-shellwords v1.0.5 h1:JhhFTIOslh5ZsPrpa3Wdg8bF0WI3b44EMblmU9w - github.com/mattn/go-shellwords v1.0.5/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= - github.com/mattn/go-shellwords v1.0.6 h1:9Jok5pILi5S1MnDirGVTufYGtksUs/V2BWUP3ZkeUUI= - github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= -+github.com/mattn/go-shellwords v1.0.9 h1:eaB5JspOwiKKcHdqcjbfe5lA9cNn/4NRRtddXJCimqk= -+github.com/mattn/go-shellwords v1.0.9/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= - github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= - github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= - github.com/mistifyio/go-zfs v2.1.1+incompatible h1:gAMO1HM9xBRONLHHYnu5iFsOJUiJdNZo6oqSENd4eW8= -@@ -279,6 +317,8 @@ github.com/mrunalp/fileutils v0.0.0-20171103030105-7d4729fb3618 h1:7InQ7/zrOh6Sl - github.com/mrunalp/fileutils v0.0.0-20171103030105-7d4729fb3618/go.mod h1:x8F1gnqOkIEiO4rqoeEEEqQbo7HjGMTvyoq3gej4iT0= - github.com/mtrmac/gpgme v0.0.0-20170102180018-b2432428689c h1:xa+eQWKuJ9MbB9FBL/eoNvDFvveAkz2LQoz8PzX7Q/4= - github.com/mtrmac/gpgme v0.0.0-20170102180018-b2432428689c/go.mod h1:GhAqVMEWnTcW2dxoD/SO3n2enrgWl3y6Dnx4m59GvcA= -+github.com/mtrmac/gpgme v0.1.2 h1:dNOmvYmsrakgW7LcgiprD0yfRuQQe8/C8F6Z+zogO3s= -+github.com/mtrmac/gpgme v0.1.2/go.mod h1:GYYHnGSuS7HK3zVS2n3y73y0okK/BeKzwnn5jgiVFNI= - github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= - github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= - github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -@@ -298,26 +338,34 @@ github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= - github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= - github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME= - github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -+github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= - github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= - github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= - github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= - github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= - github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6 h1:yN8BPXVwMBAm3Cuvh1L5XE8XpvYRMdsVLd82ILprhUU= - github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -+github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v0.0.0-20190425234816-dae70e8efea4/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v1.0.0-rc8 h1:dDCFes8Hj1r/i5qnypONo5jdOme/8HWZC/aNDyhECt0= - github.com/opencontainers/runc v1.0.0-rc8/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v1.0.0-rc8.0.20190827142921-dd075602f158 h1:/A6bAdnSZoTQmKml3MdHAnSEPnBAQeigNBl4sxnfaaQ= - github.com/opencontainers/runc v1.0.0-rc8.0.20190827142921-dd075602f158/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -+github.com/opencontainers/runc v1.0.0-rc9 h1:/k06BMULKF5hidyoZymkoDCzdJzltZpz/UU4LguQVtc= -+github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -+github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= - github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7 h1:Dliu5QO+4JYWu/yMshaMU7G3JN2POGpwjJN7gjy10Go= - github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -+github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= - github.com/opencontainers/runtime-tools v0.9.0 h1:FYgwVsKRI/H9hU32MJ/4MLOzXWodKK5zsQavY8NPMkU= - github.com/opencontainers/runtime-tools v0.9.0/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= - github.com/opencontainers/selinux v1.2.2 h1:Kx9J6eDG5/24A6DtUquGSpJQ+m2MUTahn4FtGEe8bFg= - github.com/opencontainers/selinux v1.2.2/go.mod h1:+BLncwf63G4dgOzykXAxcmnFlUaOlkDdmw/CqsW6pjs= - github.com/opencontainers/selinux v1.3.0 h1:xsI95WzPZu5exzA6JzkLSfdr/DilzOhCJOqGe5TgR0g= - github.com/opencontainers/selinux v1.3.0/go.mod h1:+BLncwf63G4dgOzykXAxcmnFlUaOlkDdmw/CqsW6pjs= -+github.com/opencontainers/selinux v1.3.1 h1:dn2Rc3wTEvTB6iVqoFrKKeMb0uZ38ZheeyMu2h5C1TI= -+github.com/opencontainers/selinux v1.3.1/go.mod h1:yTcKuYAh6R95iDpefGLQaPaRwJFwyzAJufJyiTt7s0g= - github.com/openshift/api v3.9.1-0.20190810003144-27fb16909b15+incompatible h1:s55wx8JIG/CKnewev892HifTBrtKzMdvgB3rm4rxC2s= - github.com/openshift/api v3.9.1-0.20190810003144-27fb16909b15+incompatible/go.mod h1:dh9o4Fs58gpFXGSYfnVxGR9PnV53I8TW84pQaJDdGiY= - github.com/openshift/imagebuilder v1.1.1 h1:KAUR31p8UBJdfVO42azWgb+LeMAed2zaKQ19e0C0X2I= -@@ -332,6 +380,8 @@ github.com/pkg/errors v0.0.0-20190227000051-27936f6d90f9/go.mod h1:bwawxfHBFNV+L - github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= - github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= - github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= - github.com/pkg/profile v1.3.0 h1:OQIvuDgm00gWVWGTf4m4mCt6W1/0YqU7Ntg0mySWgaI= - github.com/pkg/profile v1.3.0/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= - github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -@@ -357,8 +407,11 @@ github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNG - github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= - github.com/prometheus/procfs v0.0.3 h1:CTwfnzjQ+8dS6MhHHu4YswVAD99sL2wjPqP+VkURmKE= - github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -+github.com/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8= -+github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= - github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= - github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -+github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= - github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8 h1:2c1EFnZHIPCW8qKWgHMH/fX2PkSabFc5mrVzfUNdg5U= - github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= - github.com/seccomp/containers-golang v0.0.0-20180629143253-cdfdaa7543f4 h1:rOG9oHVIndNR14f3HRyBy9UPQYmIPniWqTU1TDdHhq4= -@@ -367,6 +420,7 @@ github.com/seccomp/containers-golang v0.0.0-20190312124753-8ca8945ccf5f h1:OtU/w - github.com/seccomp/containers-golang v0.0.0-20190312124753-8ca8945ccf5f/go.mod h1:f/98/SnvAzhAEFQJ3u836FePXvcbE8BS0YGMQNn4mhA= - github.com/seccomp/libseccomp-golang v0.9.1 h1:NJjM5DNFOs0s3kYE1WUOr6G8V97sdt46rlXTMfXGWBo= - github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= -+github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= - github.com/sirupsen/logrus v0.0.0-20190403091019-9b3cdde74fbe/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= - github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= - github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -@@ -394,6 +448,7 @@ github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0 - github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= - github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= - github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -+github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= - github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 h1:b6uOv7YOFK0TYG7HtkIgExQo+2RdLuwRft63jn2HWj8= - github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= - github.com/tchap/go-patricia v2.3.0+incompatible h1:GkY4dP3cEfEASBPPkWd+AmjYxhmDkqO9/zg7R0lSQRs= -@@ -407,12 +462,16 @@ github.com/uber/jaeger-lib v0.0.0-20190122222657-d036253de8f5/go.mod h1:ComeNDZl - github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= - github.com/ulikunitz/xz v0.5.6 h1:jGHAfXawEGZQ3blwU5wnWKQJvAraT7Ftq9EXjnXYgt8= - github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= -+github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -+github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= - github.com/varlink/go v0.0.0-20190502142041-0f1d566d194b h1:hdDRrn9OP/roL8a/e/5Zu85ldrcdndu9IeBj2OEvQm0= - github.com/varlink/go v0.0.0-20190502142041-0f1d566d194b/go.mod h1:YHaw8N660ESgMgLOZfLQqT1htFItynAUxMesFBho52s= - github.com/vbatts/tar-split v0.11.1 h1:0Odu65rhcZ3JZaPHxl7tCI3V/C/Q9Zf82UFravl02dE= - github.com/vbatts/tar-split v0.11.1/go.mod h1:LEuURwDEiWjRjwu46yU3KVGuUdVv/dcnpcEPSzR8z6g= - github.com/vbauerster/mpb v3.4.0+incompatible h1:mfiiYw87ARaeRW6x5gWwYRUawxaW1tLAD8IceomUCNw= - github.com/vbauerster/mpb v3.4.0+incompatible/go.mod h1:zAHG26FUhVKETRu+MWqYXcI70POlC6N8up9p1dID7SU= -+github.com/vbauerster/mpb/v4 v4.11.2 h1:ynkUoKzi65DZ1UsQPx7sgi/KN6G9f7br+Us2nKm35AM= -+github.com/vbauerster/mpb/v4 v4.11.2/go.mod h1:jIuIRCltGJUnm6DCyPVkwjlLUk4nHTH+m4eD14CdFF0= - github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= - github.com/vishvananda/netlink v1.0.0 h1:bqNY2lgheFIu1meHUFSH3d7vG93AFyqg3oGbJCOJgSM= - github.com/vishvananda/netlink v1.0.0/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= -@@ -426,12 +485,15 @@ github.com/xeipuuv/gojsonpointer v0.0.0-20190809123943-df4f5c81cb3b h1:6cLsL+2FW - github.com/xeipuuv/gojsonpointer v0.0.0-20190809123943-df4f5c81cb3b/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= - github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= - github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -+github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= - github.com/xeipuuv/gojsonschema v0.0.0-20190816131739-be0936907f66/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= - github.com/xeipuuv/gojsonschema v1.1.0 h1:ngVtJC9TY/lg0AA/1k48FYhBrhRoFlEmWzsehpNAaZg= - github.com/xeipuuv/gojsonschema v1.1.0/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= - github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= - go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk= - go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -+go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= -+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= - go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU= - go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= - golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -@@ -440,8 +502,11 @@ golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnf - golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= - golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= - golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -+golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= - golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad h1:5E5raQxcv+6CZ11RrBYQe5WRbUIWpScjh0kvHZkZIrQ= - golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -+golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708 h1:pXVtWnwHkrWD9ru3sDxY/qFK/bfc0egRovX91EjWjf4= -+golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= - golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= - golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= - golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -@@ -457,6 +522,7 @@ golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73r - golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= - golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= - golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= - golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= - golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= - golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU= -@@ -469,6 +535,7 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ - golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= - golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw= - golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= - golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= - golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= - golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -@@ -484,7 +551,9 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w - golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190425145619-16072639606e h1:4ktJgTV34+N3qOZUc5fAaG3Pb11qzMm3PkAoTAgUZ2I= - golang.org/x/sys v0.0.0-20190425145619-16072639606e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k= -@@ -492,6 +561,11 @@ golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7w - golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190902133755-9109b7679e13 h1:tdsQdquKbTNMsSZLqnLELJGzCANp9oXhu6zFBW6ODx4= - golang.org/x/sys v0.0.0-20190902133755-9109b7679e13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20191127021746-63cb32ae39b2 h1:/J2nHFg1MTqaRLFO7M+J78ASNsJoz3r0cvHBPQ77fsE= -+golang.org/x/sys v0.0.0-20191127021746-63cb32ae39b2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= - golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= - golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -@@ -518,9 +592,11 @@ google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3 - google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= - google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= - google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= - google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601 h1:9VBRTdmgQxbs6HE0sUnMrSWNePppAJU07NYvX5dIB04= - google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= - google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= - google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= - google.golang.org/grpc v1.24.0 h1:vb/1TCsVn3DcJlQ0Gs1yB1pKI6Do2/QNwxdKqmc/b0s= - google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= -@@ -538,6 +614,8 @@ gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= - gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= - gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= - gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -+gopkg.in/square/go-jose.v2 v2.3.1 h1:SK5KegNXmKmqE342YYN2qPHEnUYeoMiXXl1poUlI+o4= -+gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= - gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= - gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= - gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -@@ -569,6 +647,7 @@ k8s.io/klog v0.3.3 h1:niceAagH1tzskmaie/icWd7ci1wbG7Bf2c6YGcQv+3c= - k8s.io/klog v0.3.3/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= - k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc= - k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4= -+k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= - k8s.io/utils v0.0.0-20190221042446-c2654d5206da/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0= - k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a h1:2jUDc9gJja832Ftp+QbDV0tVhQHMISFn01els+2ZAcw= - k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -diff --git a/vendor/github.com/Microsoft/go-winio/go.mod b/vendor/github.com/Microsoft/go-winio/go.mod -index b3846826b..50b9d6e2e 100644 ---- a/vendor/github.com/Microsoft/go-winio/go.mod -+++ b/vendor/github.com/Microsoft/go-winio/go.mod -@@ -5,5 +5,5 @@ go 1.12 - require ( - github.com/pkg/errors v0.8.1 - github.com/sirupsen/logrus v1.4.1 -- golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b -+ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 - ) -diff --git a/vendor/github.com/Microsoft/go-winio/go.sum b/vendor/github.com/Microsoft/go-winio/go.sum -index babb4a70d..209aa8cf4 100644 ---- a/vendor/github.com/Microsoft/go-winio/go.sum -+++ b/vendor/github.com/Microsoft/go-winio/go.sum -@@ -14,3 +14,5 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf - golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= - golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b h1:ag/x1USPSsqHud38I9BAC88qdNLDHHtQ4mlgQIZPPNA= - golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -diff --git a/vendor/github.com/Microsoft/hcsshim/Protobuild.toml b/vendor/github.com/Microsoft/hcsshim/Protobuild.toml -new file mode 100644 -index 000000000..47d7650fb ---- /dev/null -+++ b/vendor/github.com/Microsoft/hcsshim/Protobuild.toml -@@ -0,0 +1,54 @@ -+version = "unstable" -+generator = "gogoctrd" -+plugins = ["grpc", "fieldpath"] -+ -+# Control protoc include paths. Below are usually some good defaults, but feel -+# free to try it without them if it works for your project. -+[includes] -+ # Include paths that will be added before all others. Typically, you want to -+ # treat the root of the project as an include, but this may not be necessary. -+ before = ["./protobuf"] -+ -+ # Paths that should be treated as include roots in relation to the vendor -+ # directory. These will be calculated with the vendor directory nearest the -+ # target package. -+ packages = ["github.com/gogo/protobuf"] -+ -+ # Paths that will be added untouched to the end of the includes. We use -+ # `/usr/local/include` to pickup the common install location of protobuf. -+ # This is the default. -+ after = ["/usr/local/include"] -+ -+# This section maps protobuf imports to Go packages. These will become -+# `-M` directives in the call to the go protobuf generator. -+[packages] -+ "gogoproto/gogo.proto" = "github.com/gogo/protobuf/gogoproto" -+ "google/protobuf/any.proto" = "github.com/gogo/protobuf/types" -+ "google/protobuf/empty.proto" = "github.com/gogo/protobuf/types" -+ "google/protobuf/descriptor.proto" = "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -+ "google/protobuf/field_mask.proto" = "github.com/gogo/protobuf/types" -+ "google/protobuf/timestamp.proto" = "github.com/gogo/protobuf/types" -+ "google/protobuf/duration.proto" = "github.com/gogo/protobuf/types" -+ "github/containerd/cgroups/stats/v1/metrics.proto" = "github.com/containerd/cgroups/stats/v1" -+ -+[[overrides]] -+prefixes = ["github.com/Microsoft/hcsshim/internal/shimdiag"] -+plugins = ["ttrpc"] -+ -+# Lock down runhcs config -+ -+[[descriptors]] -+prefix = "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options" -+target = "cmd/containerd-shim-runhcs-v1/options/next.pb.txt" -+ignore_files = [ -+ "google/protobuf/descriptor.proto", -+ "gogoproto/gogo.proto" -+] -+ -+[[descriptors]] -+prefix = "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats" -+target = "cmd/containerd-shim-runhcs-v1/stats/next.pb.txt" -+ignore_files = [ -+ "google/protobuf/descriptor.proto", -+ "gogoproto/gogo.proto" -+] -\ No newline at end of file -diff --git a/vendor/github.com/Microsoft/hcsshim/appveyor.yml b/vendor/github.com/Microsoft/hcsshim/appveyor.yml -index a8ec5a593..661bc406f 100644 ---- a/vendor/github.com/Microsoft/hcsshim/appveyor.yml -+++ b/vendor/github.com/Microsoft/hcsshim/appveyor.yml -@@ -8,22 +8,34 @@ environment: - GOPATH: c:\gopath - PATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%GOPATH%\bin;C:\gometalinter-2.0.12-windows-amd64;%PATH% - --stack: go 1.11 -+stack: go 1.13.4 - - build_script: - - appveyor DownloadFile https://github.com/alecthomas/gometalinter/releases/download/v2.0.12/gometalinter-2.0.12-windows-amd64.zip - - 7z x gometalinter-2.0.12-windows-amd64.zip -y -oC:\ > NUL - - gometalinter.exe --config .gometalinter.json ./... -- - go build ./cmd/wclayer -+ - go build ./cmd/containerd-shim-runhcs-v1 - - go build ./cmd/runhcs - - go build ./cmd/tar2ext4 -+ - go build ./cmd/wclayer -+ - go build ./internal/tools/grantvmgroupaccess -+ - go build ./internal/tools/uvmboot -+ - go build ./internal/tools/zapdir - - go test -v ./... -tags admin -+ - go test -c ./test/containerd-shim-runhcs-v1/ -tags functional -+ - go test -c ./test/cri-containerd/ -tags functional - - go test -c ./test/functional/ -tags functional -- - go test -c ./test/runhcs/ -tags integration -+ - go test -c ./test/runhcs/ -tags functional - - artifacts: -- - path: 'wclayer.exe' -+ - path: 'containerd-shim-runhcs-v1.exe' - - path: 'runhcs.exe' - - path: 'tar2ext4.exe' -+ - path: 'wclayer.exe' -+ - path: 'grantvmgroupaccess.exe' -+ - path: 'uvmboot.exe' -+ - path: 'zapdir.exe' -+ - path: 'containerd-shim-runhcs-v1.test.exe' -+ - path: 'cri-containerd.test.exe' - - path: 'functional.test.exe' - - path: 'runhcs.test.exe' -\ No newline at end of file -diff --git a/vendor/github.com/Microsoft/hcsshim/container.go b/vendor/github.com/Microsoft/hcsshim/container.go -index e142c3154..7205a62c5 100644 ---- a/vendor/github.com/Microsoft/hcsshim/container.go -+++ b/vendor/github.com/Microsoft/hcsshim/container.go -@@ -1,8 +1,10 @@ - package hcsshim - - import ( -+ "context" - "fmt" - "os" -+ "sync" - "time" - - "github.com/Microsoft/hcsshim/internal/hcs" -@@ -52,7 +54,10 @@ const ( - type ResourceModificationRequestResponse = schema1.ResourceModificationRequestResponse - - type container struct { -- system *hcs.System -+ system *hcs.System -+ waitOnce sync.Once -+ waitErr error -+ waitCh chan struct{} - } - - // createComputeSystemAdditionalJSON is read from the environment at initialisation -@@ -71,61 +76,87 @@ func CreateContainer(id string, c *ContainerConfig) (Container, error) { - return nil, fmt.Errorf("failed to merge additional JSON '%s': %s", createContainerAdditionalJSON, err) - } - -- system, err := hcs.CreateComputeSystem(id, fullConfig) -+ system, err := hcs.CreateComputeSystem(context.Background(), id, fullConfig) - if err != nil { - return nil, err - } -- return &container{system}, err -+ return &container{system: system}, err - } - - // OpenContainer opens an existing container by ID. - func OpenContainer(id string) (Container, error) { -- system, err := hcs.OpenComputeSystem(id) -+ system, err := hcs.OpenComputeSystem(context.Background(), id) - if err != nil { - return nil, err - } -- return &container{system}, err -+ return &container{system: system}, err - } - - // GetContainers gets a list of the containers on the system that match the query - func GetContainers(q ComputeSystemQuery) ([]ContainerProperties, error) { -- return hcs.GetComputeSystems(q) -+ return hcs.GetComputeSystems(context.Background(), q) - } - - // Start synchronously starts the container. - func (container *container) Start() error { -- return convertSystemError(container.system.Start(), container) -+ return convertSystemError(container.system.Start(context.Background()), container) - } - - // Shutdown requests a container shutdown, but it may not actually be shutdown until Wait() succeeds. - func (container *container) Shutdown() error { -- return convertSystemError(container.system.Shutdown(), container) -+ err := container.system.Shutdown(context.Background()) -+ if err != nil { -+ return convertSystemError(err, container) -+ } -+ return &ContainerError{Container: container, Err: ErrVmcomputeOperationPending, Operation: "hcsshim::ComputeSystem::Shutdown"} - } - - // Terminate requests a container terminate, but it may not actually be terminated until Wait() succeeds. - func (container *container) Terminate() error { -- return convertSystemError(container.system.Terminate(), container) -+ err := container.system.Terminate(context.Background()) -+ if err != nil { -+ return convertSystemError(err, container) -+ } -+ return &ContainerError{Container: container, Err: ErrVmcomputeOperationPending, Operation: "hcsshim::ComputeSystem::Terminate"} - } - - // Waits synchronously waits for the container to shutdown or terminate. - func (container *container) Wait() error { -- return convertSystemError(container.system.Wait(), container) -+ err := container.system.Wait() -+ if err == nil { -+ err = container.system.ExitError() -+ } -+ return convertSystemError(err, container) - } - - // WaitTimeout synchronously waits for the container to terminate or the duration to elapse. It - // returns false if timeout occurs. --func (container *container) WaitTimeout(t time.Duration) error { -- return convertSystemError(container.system.WaitTimeout(t), container) -+func (container *container) WaitTimeout(timeout time.Duration) error { -+ container.waitOnce.Do(func() { -+ container.waitCh = make(chan struct{}) -+ go func() { -+ container.waitErr = container.Wait() -+ close(container.waitCh) -+ }() -+ }) -+ t := time.NewTimer(timeout) -+ defer t.Stop() -+ select { -+ case <-t.C: -+ return &ContainerError{Container: container, Err: ErrTimeout, Operation: "hcsshim::ComputeSystem::Wait"} -+ case <-container.waitCh: -+ return container.waitErr -+ } - } - - // Pause pauses the execution of a container. - func (container *container) Pause() error { -- return convertSystemError(container.system.Pause(), container) -+ return convertSystemError(container.system.Pause(context.Background()), container) - } - - // Resume resumes the execution of a container. - func (container *container) Resume() error { -- return convertSystemError(container.system.Resume(), container) -+ return convertSystemError(container.system.Resume(context.Background()), container) - } - - // HasPendingUpdates returns true if the container has updates pending to install -@@ -135,7 +166,7 @@ func (container *container) HasPendingUpdates() (bool, error) { - - // Statistics returns statistics for the container. This is a legacy v1 call - func (container *container) Statistics() (Statistics, error) { -- properties, err := container.system.Properties(schema1.PropertyTypeStatistics) -+ properties, err := container.system.Properties(context.Background(), schema1.PropertyTypeStatistics) - if err != nil { - return Statistics{}, convertSystemError(err, container) - } -@@ -145,7 +176,7 @@ func (container *container) Statistics() (Statistics, error) { - - // ProcessList returns an array of ProcessListItems for the container. This is a legacy v1 call - func (container *container) ProcessList() ([]ProcessListItem, error) { -- properties, err := container.system.Properties(schema1.PropertyTypeProcessList) -+ properties, err := container.system.Properties(context.Background(), schema1.PropertyTypeProcessList) - if err != nil { - return nil, convertSystemError(err, container) - } -@@ -155,7 +186,7 @@ func (container *container) ProcessList() ([]ProcessListItem, error) { - - // This is a legacy v1 call - func (container *container) MappedVirtualDisks() (map[int]MappedVirtualDiskController, error) { -- properties, err := container.system.Properties(schema1.PropertyTypeMappedVirtualDisk) -+ properties, err := container.system.Properties(context.Background(), schema1.PropertyTypeMappedVirtualDisk) - if err != nil { - return nil, convertSystemError(err, container) - } -@@ -165,20 +196,20 @@ func (container *container) MappedVirtualDisks() (map[int]MappedVirtualDiskContr - - // CreateProcess launches a new process within the container. - func (container *container) CreateProcess(c *ProcessConfig) (Process, error) { -- p, err := container.system.CreateProcess(c) -+ p, err := container.system.CreateProcess(context.Background(), c) - if err != nil { - return nil, convertSystemError(err, container) - } -- return &process{p}, nil -+ return &process{p: p.(*hcs.Process)}, nil - } - - // OpenProcess gets an interface to an existing process within the container. - func (container *container) OpenProcess(pid int) (Process, error) { -- p, err := container.system.OpenProcess(pid) -+ p, err := container.system.OpenProcess(context.Background(), pid) - if err != nil { - return nil, convertSystemError(err, container) - } -- return &process{p}, nil -+ return &process{p: p}, nil - } - - // Close cleans up any state associated with the container but does not terminate or wait for it. -@@ -188,5 +219,5 @@ func (container *container) Close() error { - - // Modify the System - func (container *container) Modify(config *ResourceModificationRequestResponse) error { -- return convertSystemError(container.system.Modify(config), container) -+ return convertSystemError(container.system.Modify(context.Background(), config), container) - } -diff --git a/vendor/github.com/Microsoft/hcsshim/go.mod b/vendor/github.com/Microsoft/hcsshim/go.mod -new file mode 100644 -index 000000000..72d253dad ---- /dev/null -+++ b/vendor/github.com/Microsoft/hcsshim/go.mod -@@ -0,0 +1,37 @@ -+module github.com/Microsoft/hcsshim -+ -+go 1.13 -+ -+require ( -+ github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 -+ github.com/blang/semver v3.1.0+incompatible // indirect -+ github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f -+ github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1 -+ github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69 -+ github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc // indirect -+ github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448 // indirect -+ github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3 -+ github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de -+ github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd -+ github.com/gogo/protobuf v1.2.1 -+ github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce // indirect -+ github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874 // indirect -+ github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2 // indirect -+ github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f // indirect -+ github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700 -+ github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39 -+ github.com/pkg/errors v0.8.1 -+ github.com/prometheus/procfs v0.0.5 // indirect -+ github.com/sirupsen/logrus v1.4.1 -+ github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8 // indirect -+ github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5 -+ github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect -+ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect -+ github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f // indirect -+ go.opencensus.io v0.22.0 -+ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6 -+ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 -+ google.golang.org/grpc v1.20.1 -+ gotest.tools v2.2.0+incompatible // indirect -+ k8s.io/kubernetes v1.13.0 -+) -diff --git a/vendor/github.com/Microsoft/hcsshim/go.sum b/vendor/github.com/Microsoft/hcsshim/go.sum -new file mode 100644 -index 000000000..578b78e81 ---- /dev/null -+++ b/vendor/github.com/Microsoft/hcsshim/go.sum -@@ -0,0 +1,131 @@ -+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -+github.com/blang/semver v3.1.0+incompatible h1:7hqmJYuaEK3qwVjWubYiht3j93YI0WQBuysxHIfUriU= -+github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -+github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1 h1:uict5mhHFTzKLUCufdSLym7z/J0CbBJT59lYbP9wtbg= -+github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -+github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69 h1:rG1clvJbgsUcmb50J82YUJhUMopWNtZvyMZjb+4fqGw= -+github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc h1:TP+534wVlf61smEIq1nwLLAjQVEK2EADoW3CX9AuT+8= -+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -+github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448 h1:PUD50EuOMkXVcpBIA/R95d56duJR9VxhwncsFbNnxW4= -+github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -+github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3 h1:esQOJREg8nw8aXj6uCN5dfW5cKUBiEJ/+nni1Q/D/sw= -+github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -+github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de h1:dlfGmNcE3jDAecLqwKPMNX6nk2qh1c1Vg1/YTzpOOF4= -+github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -+github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd h1:JNn81o/xG+8NEo3bC/vx9pbi/g2WI8mtP2/nXzu297Y= -+github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= -+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -+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/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= -+github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e h1:BWhy2j3IXJhjCbC68FptL43tDKIq8FladmaTs3Xs7Z8= -+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -+github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= -+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= -+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -+github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= -+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -+github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= -+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -+github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= -+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -+github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce h1:prjrVgOk2Yg6w+PflHoszQNLTUh4kaByUcEWM/9uin4= -+github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -+github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874 h1:cAv7ZbSmyb1wjn6T4TIiyFCkpcfgpbcNNC3bM2srLaI= -+github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= -+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= -+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -+github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -+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/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2 h1:QhPf3A2AZW3tTGvHPg0TA+CR3oHbVLlXUhlghqISp1I= -+github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -+github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f h1:a969LJ4IQFwRHYqonHtUDMSh9i54WcKggeEkQ3fZMl4= -+github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -+github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700 h1:eNUVfm/RFLIi1G7flU5/ZRTHvd4kcVuzfRnL6OFlzCI= -+github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -+github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39 h1:H7DMc6FAjgwZZi8BRqjrAAHWoqEr5e5L6pS4V0ezet4= -+github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= -+github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= -+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -+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/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8= -+github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -+github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k= -+github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -+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= -+github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8 h1:zLV6q4e8Jv9EHjNg/iHfzwDkCve6Ua5jCygptrtXHvI= -+github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -+github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5 h1:MCfT24H3f//U5+UCrZp1/riVO3B50BovxtDiNn0XKkk= -+github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -+github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= -+github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -+github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -+github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -+github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f h1:mvXjJIHRZyhNuGassLTcXTwjiWq7NmjdavZsUnmFybQ= -+github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= -+go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= -+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= -+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09 h1:KaQtG+aDELoNmXYas3TVkGNYRuq8JQ1aa7LJt8EXVyo= -+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6 h1:bjcUS9ztw9kFmmIxJInhon/0Is3p+EHBKNgquIzo1OI= -+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= -+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -+golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= -+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -+golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= -+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb h1:i1Ppqkc3WQXikh8bXiwHqAN5Rv3/qDCcRk0/Otx73BY= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -+google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU= -+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -+gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -+gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -+k8s.io/kubernetes v1.13.0 h1:qTfB+u5M92k2fCCCVP2iuhgwwSOv1EkAkvQY1tQODD8= -+k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= -diff --git a/vendor/github.com/Microsoft/hcsshim/hnsendpoint.go b/vendor/github.com/Microsoft/hcsshim/hnsendpoint.go -index eb013d2c4..09b3860a7 100644 ---- a/vendor/github.com/Microsoft/hcsshim/hnsendpoint.go -+++ b/vendor/github.com/Microsoft/hcsshim/hnsendpoint.go -@@ -39,11 +39,21 @@ func HNSListEndpointRequest() ([]HNSEndpoint, error) { - - // HotAttachEndpoint makes a HCS Call to attach the endpoint to the container - func HotAttachEndpoint(containerID string, endpointID string) error { -+ endpoint, err := GetHNSEndpointByID(endpointID) -+ isAttached, err := endpoint.IsAttached(containerID) -+ if isAttached { -+ return err -+ } - return modifyNetworkEndpoint(containerID, endpointID, Add) - } - - // HotDetachEndpoint makes a HCS Call to detach the endpoint from the container - func HotDetachEndpoint(containerID string, endpointID string) error { -+ endpoint, err := GetHNSEndpointByID(endpointID) -+ isAttached, err := endpoint.IsAttached(containerID) -+ if !isAttached { -+ return err -+ } - return modifyNetworkEndpoint(containerID, endpointID, Remove) - } - -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/cow/cow.go b/vendor/github.com/Microsoft/hcsshim/internal/cow/cow.go -new file mode 100644 -index 000000000..8193315f0 ---- /dev/null -+++ b/vendor/github.com/Microsoft/hcsshim/internal/cow/cow.go -@@ -0,0 +1,83 @@ -+package cow -+ -+import ( -+ "context" -+ "io" -+ -+ "github.com/Microsoft/hcsshim/internal/schema1" -+ hcsschema "github.com/Microsoft/hcsshim/internal/schema2" -+) -+ -+// Process is the interface for an OS process running in a container or utility VM. -+type Process interface { -+ // Close releases resources associated with the process and closes the -+ // writer and readers returned by Stdio. Depending on the implementation, -+ // this may also terminate the process. -+ Close() error -+ // CloseStdin causes the process's stdin handle to receive EOF/EPIPE/whatever -+ // is appropriate to indicate that no more data is available. -+ CloseStdin(ctx context.Context) error -+ // Pid returns the process ID. -+ Pid() int -+ // Stdio returns the stdio streams for a process. These may be nil if a stream -+ // was not requested during CreateProcess. -+ Stdio() (_ io.Writer, _ io.Reader, _ io.Reader) -+ // ResizeConsole resizes the virtual terminal associated with the process. -+ ResizeConsole(ctx context.Context, width, height uint16) error -+ // Kill sends a SIGKILL or equivalent signal to the process and returns whether -+ // the signal was delivered. It does not wait for the process to terminate. -+ Kill(ctx context.Context) (bool, error) -+ // Signal sends a signal to the process and returns whether the signal was -+ // delivered. The input is OS specific (either -+ // guestrequest.SignalProcessOptionsWCOW or -+ // guestrequest.SignalProcessOptionsLCOW). It does not wait for the process -+ // to terminate. -+ Signal(ctx context.Context, options interface{}) (bool, error) -+ // Wait waits for the process to complete, or for a connection to the process to be -+ // terminated by some error condition (including calling Close). -+ Wait() error -+ // ExitCode returns the exit code of the process. Returns an error if the process is -+ // not running. -+ ExitCode() (int, error) -+} -+ -+// ProcessHost is the interface for creating processes. -+type ProcessHost interface { -+ // CreateProcess creates a process. The configuration is host specific -+ // (either hcsschema.ProcessParameters or lcow.ProcessParameters). -+ CreateProcess(ctx context.Context, config interface{}) (Process, error) -+ // OS returns the host's operating system, "linux" or "windows". -+ OS() string -+ // IsOCI specifies whether this is an OCI-compliant process host. If true, -+ // then the configuration passed to CreateProcess should have an OCI process -+ // spec (or nil if this is the initial process in an OCI container). -+ // Otherwise, it should have the HCS-specific process parameters. -+ IsOCI() bool -+} -+ -+// Container is the interface for container objects, either running on the host or -+// in a utility VM. -+type Container interface { -+ ProcessHost -+ // Close releases the resources associated with the container. Depending on -+ // the implementation, this may also terminate the container. -+ Close() error -+ // ID returns the container ID. -+ ID() string -+ // Properties returns the requested container properties targeting a V1 schema container. -+ Properties(ctx context.Context, types ...schema1.PropertyType) (*schema1.ContainerProperties, error) -+ // PropertiesV2 returns the requested container properties targeting a V2 schema container. -+ PropertiesV2(ctx context.Context, types ...hcsschema.PropertyType) (*hcsschema.Properties, error) -+ // Start starts a container. -+ Start(ctx context.Context) error -+ // Shutdown sends a shutdown request to the container (but does not wait for -+ // the shutdown to complete). -+ Shutdown(ctx context.Context) error -+ // Terminate sends a terminate request to the container (but does not wait -+ // for the terminate to complete). -+ Terminate(ctx context.Context) error -+ // Wait waits for the container to terminate, or for the connection to the -+ // container to be terminated by some error condition (including calling -+ // Close). -+ Wait() error -+} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/guestrequest/types.go b/vendor/github.com/Microsoft/hcsshim/internal/guestrequest/types.go -deleted file mode 100644 -index 5d3d0dfef..000000000 ---- a/vendor/github.com/Microsoft/hcsshim/internal/guestrequest/types.go -+++ /dev/null -@@ -1,100 +0,0 @@ --package guestrequest -- --import ( -- "github.com/Microsoft/hcsshim/internal/schema2" --) -- --// Arguably, many of these (at least CombinedLayers) should have been generated --// by swagger. --// --// This will also change package name due to an inbound breaking change. -- --// This class is used by a modify request to add or remove a combined layers --// structure in the guest. For windows, the GCS applies a filter in ContainerRootPath --// using the specified layers as the parent content. Ignores property ScratchPath --// since the container path is already the scratch path. For linux, the GCS unions --// the specified layers and ScratchPath together, placing the resulting union --// filesystem at ContainerRootPath. --type CombinedLayers struct { -- ContainerRootPath string `json:"ContainerRootPath,omitempty"` -- Layers []hcsschema.Layer `json:"Layers,omitempty"` -- ScratchPath string `json:"ScratchPath,omitempty"` --} -- --// Defines the schema for hosted settings passed to GCS and/or OpenGCS -- --// SCSI. Scratch space for remote file-system commands, or R/W layer for containers --type LCOWMappedVirtualDisk struct { -- MountPath string `json:"MountPath,omitempty"` // /tmp/scratch for an LCOW utility VM being used as a service VM -- Lun uint8 `json:"Lun,omitempty"` -- Controller uint8 `json:"Controller,omitempty"` -- ReadOnly bool `json:"ReadOnly,omitempty"` --} -- --type WCOWMappedVirtualDisk struct { -- ContainerPath string `json:"ContainerPath,omitempty"` -- Lun int32 `json:"Lun,omitempty"` --} -- --type LCOWMappedDirectory struct { -- MountPath string `json:"MountPath,omitempty"` -- Port int32 `json:"Port,omitempty"` -- ShareName string `json:"ShareName,omitempty"` // If empty not using ANames (not currently supported) -- ReadOnly bool `json:"ReadOnly,omitempty"` --} -- --// Read-only layers over VPMem --type LCOWMappedVPMemDevice struct { -- DeviceNumber uint32 `json:"DeviceNumber,omitempty"` -- MountPath string `json:"MountPath,omitempty"` // /tmp/pN --} -- --type LCOWNetworkAdapter struct { -- NamespaceID string `json:",omitempty"` -- ID string `json:",omitempty"` -- MacAddress string `json:",omitempty"` -- IPAddress string `json:",omitempty"` -- PrefixLength uint8 `json:",omitempty"` -- GatewayAddress string `json:",omitempty"` -- DNSSuffix string `json:",omitempty"` -- DNSServerList string `json:",omitempty"` -- EnableLowMetric bool `json:",omitempty"` -- EncapOverhead uint16 `json:",omitempty"` --} -- --type ResourceType string -- --const ( -- // These are constants for v2 schema modify guest requests. -- ResourceTypeMappedDirectory ResourceType = "MappedDirectory" -- ResourceTypeMappedVirtualDisk ResourceType = "MappedVirtualDisk" -- ResourceTypeNetwork ResourceType = "Network" -- ResourceTypeNetworkNamespace ResourceType = "NetworkNamespace" -- ResourceTypeCombinedLayers ResourceType = "CombinedLayers" -- ResourceTypeVPMemDevice ResourceType = "VPMemDevice" --) -- --// GuestRequest is for modify commands passed to the guest. --type GuestRequest struct { -- RequestType string `json:"RequestType,omitempty"` -- ResourceType ResourceType `json:"ResourceType,omitempty"` -- Settings interface{} `json:"Settings,omitempty"` --} -- --type NetworkModifyRequest struct { -- AdapterId string `json:"AdapterId,omitempty"` -- RequestType string `json:"RequestType,omitempty"` -- Settings interface{} `json:"Settings,omitempty"` --} -- --type RS4NetworkModifyRequest struct { -- AdapterInstanceId string `json:"AdapterInstanceId,omitempty"` -- RequestType string `json:"RequestType,omitempty"` -- Settings interface{} `json:"Settings,omitempty"` --} -- --// SignalProcessOptions is the options passed to either WCOW or LCOW --// to signal a given process. --type SignalProcessOptions struct { -- Signal int `json:,omitempty` --} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/guid/guid.go b/vendor/github.com/Microsoft/hcsshim/internal/guid/guid.go -deleted file mode 100644 -index e9e45c030..000000000 ---- a/vendor/github.com/Microsoft/hcsshim/internal/guid/guid.go -+++ /dev/null -@@ -1,69 +0,0 @@ --package guid -- --import ( -- "crypto/rand" -- "encoding/json" -- "fmt" -- "io" -- "strconv" -- "strings" --) -- --var _ = (json.Marshaler)(&GUID{}) --var _ = (json.Unmarshaler)(&GUID{}) -- --type GUID [16]byte -- --func New() GUID { -- g := GUID{} -- _, err := io.ReadFull(rand.Reader, g[:]) -- if err != nil { -- panic(err) -- } -- return g --} -- --func (g GUID) String() string { -- return fmt.Sprintf("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x-%02x", g[3], g[2], g[1], g[0], g[5], g[4], g[7], g[6], g[8:10], g[10:]) --} -- --func FromString(s string) GUID { -- if len(s) != 36 { -- panic(fmt.Sprintf("invalid GUID length: %d", len(s))) -- } -- if s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-' { -- panic("invalid GUID format") -- } -- indexOrder := [16]int{ -- 0, 2, 4, 6, -- 9, 11, -- 14, 16, -- 19, 21, -- 24, 26, 28, 30, 32, 34, -- } -- byteOrder := [16]int{ -- 3, 2, 1, 0, -- 5, 4, -- 7, 6, -- 8, 9, -- 10, 11, 12, 13, 14, 15, -- } -- var g GUID -- for i, x := range indexOrder { -- b, err := strconv.ParseInt(s[x:x+2], 16, 16) -- if err != nil { -- panic(err) -- } -- g[byteOrder[i]] = byte(b) -- } -- return g --} -- --func (g GUID) MarshalJSON() ([]byte, error) { -- return json.Marshal(g.String()) --} -- --func (g *GUID) UnmarshalJSON(data []byte) error { -- *g = FromString(strings.Trim(string(data), "\"")) -- return nil --} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/callback.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/callback.go -index f9a922a4b..62ba81751 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/callback.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/callback.go -@@ -1,10 +1,13 @@ - package hcs - - import ( -+ "fmt" - "sync" - "syscall" - - "github.com/Microsoft/hcsshim/internal/interop" -+ "github.com/Microsoft/hcsshim/internal/logfields" -+ "github.com/Microsoft/hcsshim/internal/vmcompute" - "github.com/sirupsen/logrus" - ) - -@@ -40,35 +43,83 @@ var ( - ) - - type hcsNotification uint32 -+ -+func (hn hcsNotification) String() string { -+ switch hn { -+ case hcsNotificationSystemExited: -+ return "SystemExited" -+ case hcsNotificationSystemCreateCompleted: -+ return "SystemCreateCompleted" -+ case hcsNotificationSystemStartCompleted: -+ return "SystemStartCompleted" -+ case hcsNotificationSystemPauseCompleted: -+ return "SystemPauseCompleted" -+ case hcsNotificationSystemResumeCompleted: -+ return "SystemResumeCompleted" -+ case hcsNotificationSystemCrashReport: -+ return "SystemCrashReport" -+ case hcsNotificationSystemSiloJobCreated: -+ return "SystemSiloJobCreated" -+ case hcsNotificationSystemSaveCompleted: -+ return "SystemSaveCompleted" -+ case hcsNotificationSystemRdpEnhancedModeStateChanged: -+ return "SystemRdpEnhancedModeStateChanged" -+ case hcsNotificationSystemShutdownFailed: -+ return "SystemShutdownFailed" -+ case hcsNotificationSystemGetPropertiesCompleted: -+ return "SystemGetPropertiesCompleted" -+ case hcsNotificationSystemModifyCompleted: -+ return "SystemModifyCompleted" -+ case hcsNotificationSystemCrashInitiated: -+ return "SystemCrashInitiated" -+ case hcsNotificationSystemGuestConnectionClosed: -+ return "SystemGuestConnectionClosed" -+ case hcsNotificationProcessExited: -+ return "ProcessExited" -+ case hcsNotificationInvalid: -+ return "Invalid" -+ case hcsNotificationServiceDisconnect: -+ return "ServiceDisconnect" -+ default: -+ return fmt.Sprintf("Unknown: %d", hn) -+ } -+} -+ - type notificationChannel chan error - - type notifcationWatcherContext struct { - channels notificationChannels -- handle hcsCallback -+ handle vmcompute.HcsCallback -+ -+ systemID string -+ processID int - } - - type notificationChannels map[hcsNotification]notificationChannel - --func newChannels() notificationChannels { -+func newSystemChannels() notificationChannels { - channels := make(notificationChannels) -+ for _, notif := range []hcsNotification{ -+ hcsNotificationServiceDisconnect, -+ hcsNotificationSystemExited, -+ hcsNotificationSystemCreateCompleted, -+ hcsNotificationSystemStartCompleted, -+ hcsNotificationSystemPauseCompleted, -+ hcsNotificationSystemResumeCompleted, -+ } { -+ channels[notif] = make(notificationChannel, 1) -+ } -+ return channels -+} - -- channels[hcsNotificationSystemExited] = make(notificationChannel, 1) -- channels[hcsNotificationSystemCreateCompleted] = make(notificationChannel, 1) -- channels[hcsNotificationSystemStartCompleted] = make(notificationChannel, 1) -- channels[hcsNotificationSystemPauseCompleted] = make(notificationChannel, 1) -- channels[hcsNotificationSystemResumeCompleted] = make(notificationChannel, 1) -- channels[hcsNotificationProcessExited] = make(notificationChannel, 1) -- channels[hcsNotificationServiceDisconnect] = make(notificationChannel, 1) -- channels[hcsNotificationSystemCrashReport] = make(notificationChannel, 1) -- channels[hcsNotificationSystemSiloJobCreated] = make(notificationChannel, 1) -- channels[hcsNotificationSystemSaveCompleted] = make(notificationChannel, 1) -- channels[hcsNotificationSystemRdpEnhancedModeStateChanged] = make(notificationChannel, 1) -- channels[hcsNotificationSystemShutdownFailed] = make(notificationChannel, 1) -- channels[hcsNotificationSystemGetPropertiesCompleted] = make(notificationChannel, 1) -- channels[hcsNotificationSystemModifyCompleted] = make(notificationChannel, 1) -- channels[hcsNotificationSystemCrashInitiated] = make(notificationChannel, 1) -- channels[hcsNotificationSystemGuestConnectionClosed] = make(notificationChannel, 1) -- -+func newProcessChannels() notificationChannels { -+ channels := make(notificationChannels) -+ for _, notif := range []hcsNotification{ -+ hcsNotificationServiceDisconnect, -+ hcsNotificationProcessExited, -+ } { -+ channels[notif] = make(notificationChannel, 1) -+ } - return channels - } - -@@ -92,12 +143,17 @@ func notificationWatcher(notificationType hcsNotification, callbackNumber uintpt - return 0 - } - -+ log := logrus.WithFields(logrus.Fields{ -+ "notification-type": notificationType.String(), -+ "system-id": context.systemID, -+ }) -+ if context.processID != 0 { -+ log.Data[logfields.ProcessID] = context.processID -+ } -+ log.Debug("HCS notification") -+ - if channel, ok := context.channels[notificationType]; ok { - channel <- result -- } else { -- logrus.WithFields(logrus.Fields{ -- "notification-type": notificationType, -- }).Warn("Received a callback of an unsupported type") - } - - return 0 -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go -index 079b56535..9a4705a49 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go -@@ -1,14 +1,14 @@ - package hcs - - import ( -+ "context" - "encoding/json" - "errors" - "fmt" -+ "net" - "syscall" - -- "github.com/Microsoft/hcsshim/internal/interop" -- "github.com/Microsoft/hcsshim/internal/logfields" -- "github.com/sirupsen/logrus" -+ "github.com/Microsoft/hcsshim/internal/log" - ) - - var ( -@@ -117,17 +117,11 @@ func (ev *ErrorEvent) String() string { - return evs - } - --func processHcsResult(resultp *uint16) []ErrorEvent { -- if resultp != nil { -- resultj := interop.ConvertAndFreeCoTaskMemString(resultp) -- logrus.WithField(logfields.JSON, resultj). -- Debug("HCS Result") -+func processHcsResult(ctx context.Context, resultJSON string) []ErrorEvent { -+ if resultJSON != "" { - result := &hcsResult{} -- if err := json.Unmarshal([]byte(resultj), result); err != nil { -- logrus.WithFields(logrus.Fields{ -- logfields.JSON: resultj, -- logrus.ErrorKey: err, -- }).Warning("Could not unmarshal HCS result") -+ if err := json.Unmarshal([]byte(resultJSON), result); err != nil { -+ log.G(ctx).WithError(err).Warning("Could not unmarshal HCS result") - return nil - } - return result.ErrorEvents -@@ -141,6 +135,8 @@ type HcsError struct { - Events []ErrorEvent - } - -+var _ net.Error = &HcsError{} -+ - func (e *HcsError) Error() string { - s := e.Op + ": " + e.Err.Error() - for _, ev := range e.Events { -@@ -149,6 +145,16 @@ func (e *HcsError) Error() string { - return s - } - -+func (e *HcsError) Temporary() bool { -+ err, ok := e.Err.(net.Error) -+ return ok && err.Temporary() -+} -+ -+func (e *HcsError) Timeout() bool { -+ err, ok := e.Err.(net.Error) -+ return ok && err.Timeout() -+} -+ - // ProcessError is an error encountered in HCS during an operation on a Process object - type ProcessError struct { - SystemID string -@@ -158,6 +164,8 @@ type ProcessError struct { - Events []ErrorEvent - } - -+var _ net.Error = &ProcessError{} -+ - // SystemError is an error encountered in HCS during an operation on a Container object - type SystemError struct { - ID string -@@ -167,6 +175,8 @@ type SystemError struct { - Events []ErrorEvent - } - -+var _ net.Error = &SystemError{} -+ - func (e *SystemError) Error() string { - s := e.Op + " " + e.ID + ": " + e.Err.Error() - for _, ev := range e.Events { -@@ -178,6 +188,16 @@ func (e *SystemError) Error() string { - return s - } - -+func (e *SystemError) Temporary() bool { -+ err, ok := e.Err.(net.Error) -+ return ok && err.Temporary() -+} -+ -+func (e *SystemError) Timeout() bool { -+ err, ok := e.Err.(net.Error) -+ return ok && err.Timeout() -+} -+ - func makeSystemError(system *System, op string, extra string, err error, events []ErrorEvent) error { - // Don't double wrap errors - if _, ok := err.(*SystemError); ok { -@@ -200,6 +220,16 @@ func (e *ProcessError) Error() string { - return s - } - -+func (e *ProcessError) Temporary() bool { -+ err, ok := e.Err.(net.Error) -+ return ok && err.Temporary() -+} -+ -+func (e *ProcessError) Timeout() bool { -+ err, ok := e.Err.(net.Error) -+ return ok && err.Timeout() -+} -+ - func makeProcessError(process *Process, op string, err error, events []ErrorEvent) error { - // Don't double wrap errors - if _, ok := err.(*ProcessError); ok { -@@ -242,6 +272,9 @@ func IsPending(err error) bool { - // IsTimeout returns a boolean indicating whether the error is caused by - // a timeout waiting for the operation to complete. - func IsTimeout(err error) bool { -+ if err, ok := err.(net.Error); ok && err.Timeout() { -+ return true -+ } - err = getInnerError(err) - return err == ErrTimeout - } -@@ -272,6 +305,13 @@ func IsNotSupported(err error) bool { - err == ErrVmcomputeUnknownMessage - } - -+// IsOperationInvalidState returns true when err is caused by -+// `ErrVmcomputeOperationInvalidState`. -+func IsOperationInvalidState(err error) bool { -+ err = getInnerError(err) -+ return err == ErrVmcomputeOperationInvalidState -+} -+ - func getInnerError(err error) error { - switch pe := err.(type) { - case nil: -@@ -285,3 +325,12 @@ func getInnerError(err error) error { - } - return err - } -+ -+func getOperationLogResult(err error) (string, error) { -+ switch err { -+ case nil: -+ return "Success", nil -+ default: -+ return "Error", err -+ } -+} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/hcs.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/hcs.go -deleted file mode 100644 -index b0d49cbcf..000000000 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/hcs.go -+++ /dev/null -@@ -1,48 +0,0 @@ --// Shim for the Host Compute Service (HCS) to manage Windows Server --// containers and Hyper-V containers. -- --package hcs -- --import ( -- "syscall" --) -- --//go:generate go run ../../mksyscall_windows.go -output zsyscall_windows.go hcs.go -- --//sys hcsEnumerateComputeSystems(query string, computeSystems **uint16, result **uint16) (hr error) = vmcompute.HcsEnumerateComputeSystems? --//sys hcsCreateComputeSystem(id string, configuration string, identity syscall.Handle, computeSystem *hcsSystem, result **uint16) (hr error) = vmcompute.HcsCreateComputeSystem? --//sys hcsOpenComputeSystem(id string, computeSystem *hcsSystem, result **uint16) (hr error) = vmcompute.HcsOpenComputeSystem? --//sys hcsCloseComputeSystem(computeSystem hcsSystem) (hr error) = vmcompute.HcsCloseComputeSystem? --//sys hcsStartComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsStartComputeSystem? --//sys hcsShutdownComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsShutdownComputeSystem? --//sys hcsTerminateComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsTerminateComputeSystem? --//sys hcsPauseComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsPauseComputeSystem? --//sys hcsResumeComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsResumeComputeSystem? --//sys hcsGetComputeSystemProperties(computeSystem hcsSystem, propertyQuery string, properties **uint16, result **uint16) (hr error) = vmcompute.HcsGetComputeSystemProperties? --//sys hcsModifyComputeSystem(computeSystem hcsSystem, configuration string, result **uint16) (hr error) = vmcompute.HcsModifyComputeSystem? --//sys hcsRegisterComputeSystemCallback(computeSystem hcsSystem, callback uintptr, context uintptr, callbackHandle *hcsCallback) (hr error) = vmcompute.HcsRegisterComputeSystemCallback? --//sys hcsUnregisterComputeSystemCallback(callbackHandle hcsCallback) (hr error) = vmcompute.HcsUnregisterComputeSystemCallback? -- --//sys hcsCreateProcess(computeSystem hcsSystem, processParameters string, processInformation *hcsProcessInformation, process *hcsProcess, result **uint16) (hr error) = vmcompute.HcsCreateProcess? --//sys hcsOpenProcess(computeSystem hcsSystem, pid uint32, process *hcsProcess, result **uint16) (hr error) = vmcompute.HcsOpenProcess? --//sys hcsCloseProcess(process hcsProcess) (hr error) = vmcompute.HcsCloseProcess? --//sys hcsTerminateProcess(process hcsProcess, result **uint16) (hr error) = vmcompute.HcsTerminateProcess? --//sys hcsSignalProcess(process hcsProcess, options string, result **uint16) (hr error) = vmcompute.HcsTerminateProcess? --//sys hcsGetProcessInfo(process hcsProcess, processInformation *hcsProcessInformation, result **uint16) (hr error) = vmcompute.HcsGetProcessInfo? --//sys hcsGetProcessProperties(process hcsProcess, processProperties **uint16, result **uint16) (hr error) = vmcompute.HcsGetProcessProperties? --//sys hcsModifyProcess(process hcsProcess, settings string, result **uint16) (hr error) = vmcompute.HcsModifyProcess? --//sys hcsGetServiceProperties(propertyQuery string, properties **uint16, result **uint16) (hr error) = vmcompute.HcsGetServiceProperties? --//sys hcsRegisterProcessCallback(process hcsProcess, callback uintptr, context uintptr, callbackHandle *hcsCallback) (hr error) = vmcompute.HcsRegisterProcessCallback? --//sys hcsUnregisterProcessCallback(callbackHandle hcsCallback) (hr error) = vmcompute.HcsUnregisterProcessCallback? -- --type hcsSystem syscall.Handle --type hcsProcess syscall.Handle --type hcsCallback syscall.Handle -- --type hcsProcessInformation struct { -- ProcessId uint32 -- Reserved uint32 -- StdInput syscall.Handle -- StdOutput syscall.Handle -- StdError syscall.Handle --} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/log.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/log.go -deleted file mode 100644 -index 6d03b17a2..000000000 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/log.go -+++ /dev/null -@@ -1,20 +0,0 @@ --package hcs -- --import "github.com/sirupsen/logrus" -- --func logOperationBegin(ctx logrus.Fields, msg string) { -- logrus.WithFields(ctx).Debug(msg) --} -- --func logOperationEnd(ctx logrus.Fields, msg string, err error) { -- // Copy the log and fields first. -- log := logrus.WithFields(ctx) -- if err == nil { -- log.Debug(msg) -- } else { -- // Edit only the copied field data to avoid race conditions on the -- // write. -- log.Data[logrus.ErrorKey] = err -- log.Error(msg) -- } --} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go -index 41e20bbf9..2ad978f29 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go -@@ -1,48 +1,47 @@ - package hcs - - import ( -+ "context" - "encoding/json" - "io" - "sync" - "syscall" - "time" - -- "github.com/Microsoft/hcsshim/internal/guestrequest" -- "github.com/Microsoft/hcsshim/internal/interop" -- "github.com/Microsoft/hcsshim/internal/logfields" -- "github.com/sirupsen/logrus" -+ "github.com/Microsoft/hcsshim/internal/log" -+ "github.com/Microsoft/hcsshim/internal/oc" -+ "github.com/Microsoft/hcsshim/internal/vmcompute" -+ "go.opencensus.io/trace" - ) - - // ContainerError is an error encountered in HCS - type Process struct { - handleLock sync.RWMutex -- handle hcsProcess -+ handle vmcompute.HcsProcess - processID int - system *System -- cachedPipes *cachedPipes -+ hasCachedStdio bool -+ stdioLock sync.Mutex -+ stdin io.WriteCloser -+ stdout io.ReadCloser -+ stderr io.ReadCloser - callbackNumber uintptr - -- logctx logrus.Fields -+ closedWaitOnce sync.Once -+ waitBlock chan struct{} -+ exitCode int -+ waitError error - } - --func newProcess(process hcsProcess, processID int, computeSystem *System) *Process { -+func newProcess(process vmcompute.HcsProcess, processID int, computeSystem *System) *Process { - return &Process{ - handle: process, - processID: processID, - system: computeSystem, -- logctx: logrus.Fields{ -- logfields.ContainerID: computeSystem.ID(), -- logfields.ProcessID: processID, -- }, -+ waitBlock: make(chan struct{}), - } - } - --type cachedPipes struct { -- stdIn syscall.Handle -- stdOut syscall.Handle -- stdErr syscall.Handle --} -- - type processModifyRequest struct { - Operation string - ConsoleSize *consoleSize `json:",omitempty"` -@@ -58,7 +57,7 @@ type closeHandle struct { - Handle string - } - --type ProcessStatus struct { -+type processStatus struct { - ProcessID uint32 - Exited bool - ExitCode uint32 -@@ -86,120 +85,153 @@ func (process *Process) SystemID() string { - return process.system.ID() - } - --func (process *Process) logOperationBegin(operation string) { -- logOperationBegin( -- process.logctx, -- operation+" - Begin Operation") --} -- --func (process *Process) logOperationEnd(operation string, err error) { -- var result string -- if err == nil { -- result = "Success" -- } else { -- result = "Error" -+func (process *Process) processSignalResult(ctx context.Context, err error) (bool, error) { -+ switch err { -+ case nil: -+ return true, nil -+ case ErrVmcomputeOperationInvalidState, ErrComputeSystemDoesNotExist, ErrElementNotFound: -+ select { -+ case <-process.waitBlock: -+ // The process exit notification has already arrived. -+ default: -+ // The process should be gone, but we have not received the notification. -+ // After a second, force unblock the process wait to work around a possible -+ // deadlock in the HCS. -+ go func() { -+ time.Sleep(time.Second) -+ process.closedWaitOnce.Do(func() { -+ log.G(ctx).WithError(err).Warn("force unblocking process waits") -+ process.exitCode = -1 -+ process.waitError = err -+ close(process.waitBlock) -+ }) -+ }() -+ } -+ return false, nil -+ default: -+ return false, err - } -- -- logOperationEnd( -- process.logctx, -- operation+" - End Operation - "+result, -- err) - } - - // Signal signals the process with `options`. --func (process *Process) Signal(options guestrequest.SignalProcessOptions) (err error) { -+// -+// For LCOW `guestrequest.SignalProcessOptionsLCOW`. -+// -+// For WCOW `guestrequest.SignalProcessOptionsWCOW`. -+func (process *Process) Signal(ctx context.Context, options interface{}) (bool, error) { - process.handleLock.RLock() - defer process.handleLock.RUnlock() - - operation := "hcsshim::Process::Signal" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() - - if process.handle == 0 { -- return makeProcessError(process, operation, ErrAlreadyClosed, nil) -+ return false, makeProcessError(process, operation, ErrAlreadyClosed, nil) - } - - optionsb, err := json.Marshal(options) - if err != nil { -- return err -+ return false, err - } - -- optionsStr := string(optionsb) -- -- var resultp *uint16 -- syscallWatcher(process.logctx, func() { -- err = hcsSignalProcess(process.handle, optionsStr, &resultp) -- }) -- events := processHcsResult(resultp) -+ resultJSON, err := vmcompute.HcsSignalProcess(ctx, process.handle, string(optionsb)) -+ events := processHcsResult(ctx, resultJSON) -+ delivered, err := process.processSignalResult(ctx, err) - if err != nil { -- return makeProcessError(process, operation, err, events) -+ err = makeProcessError(process, operation, err, events) - } -- -- return nil -+ return delivered, err - } - - // Kill signals the process to terminate but does not wait for it to finish terminating. --func (process *Process) Kill() (err error) { -+func (process *Process) Kill(ctx context.Context) (bool, error) { - process.handleLock.RLock() - defer process.handleLock.RUnlock() - - operation := "hcsshim::Process::Kill" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() - - if process.handle == 0 { -- return makeProcessError(process, operation, ErrAlreadyClosed, nil) -+ return false, makeProcessError(process, operation, ErrAlreadyClosed, nil) - } - -- var resultp *uint16 -- syscallWatcher(process.logctx, func() { -- err = hcsTerminateProcess(process.handle, &resultp) -- }) -- events := processHcsResult(resultp) -+ resultJSON, err := vmcompute.HcsTerminateProcess(ctx, process.handle) -+ events := processHcsResult(ctx, resultJSON) -+ delivered, err := process.processSignalResult(ctx, err) - if err != nil { -- return makeProcessError(process, operation, err, events) -+ err = makeProcessError(process, operation, err, events) - } -- -- return nil -+ return delivered, err - } - --// Wait waits for the process to exit. --func (process *Process) Wait() (err error) { -- operation := "hcsshim::Process::Wait" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() -+// waitBackground waits for the process exit notification. Once received sets -+// `process.waitError` (if any) and unblocks all `Wait` calls. -+// -+// This MUST be called exactly once per `process.handle` but `Wait` is safe to -+// call multiple times. -+func (process *Process) waitBackground() { -+ operation := "hcsshim::Process::waitBackground" -+ ctx, span := trace.StartSpan(context.Background(), operation) -+ defer span.End() -+ span.AddAttributes( -+ trace.StringAttribute("cid", process.SystemID()), -+ trace.Int64Attribute("pid", int64(process.processID))) -+ -+ var ( -+ err error -+ exitCode = -1 -+ ) - -- err = waitForNotification(process.callbackNumber, hcsNotificationProcessExited, nil) -+ err = waitForNotification(ctx, process.callbackNumber, hcsNotificationProcessExited, nil) - if err != nil { -- return makeProcessError(process, operation, err, nil) -+ err = makeProcessError(process, operation, err, nil) -+ log.G(ctx).WithError(err).Error("failed wait") -+ } else { -+ process.handleLock.RLock() -+ defer process.handleLock.RUnlock() -+ -+ // Make sure we didnt race with Close() here -+ if process.handle != 0 { -+ propertiesJSON, resultJSON, err := vmcompute.HcsGetProcessProperties(ctx, process.handle) -+ events := processHcsResult(ctx, resultJSON) -+ if err != nil { -+ err = makeProcessError(process, operation, err, events) -+ } else { -+ properties := &processStatus{} -+ err = json.Unmarshal([]byte(propertiesJSON), properties) -+ if err != nil { -+ err = makeProcessError(process, operation, err, nil) -+ } else { -+ if properties.LastWaitResult != 0 { -+ log.G(ctx).WithField("wait-result", properties.LastWaitResult).Warning("non-zero last wait result") -+ } else { -+ exitCode = int(properties.ExitCode) -+ } -+ } -+ } -+ } - } -+ log.G(ctx).WithField("exitCode", exitCode).Debug("process exited") - -- return nil -+ process.closedWaitOnce.Do(func() { -+ process.exitCode = exitCode -+ process.waitError = err -+ close(process.waitBlock) -+ }) -+ oc.SetSpanStatus(span, err) - } - --// WaitTimeout waits for the process to exit or the duration to elapse. It returns --// false if timeout occurs. --func (process *Process) WaitTimeout(timeout time.Duration) (err error) { -- operation := "hcssshim::Process::WaitTimeout" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() -- -- err = waitForNotification(process.callbackNumber, hcsNotificationProcessExited, &timeout) -- if err != nil { -- return makeProcessError(process, operation, err, nil) -- } -- -- return nil -+// Wait waits for the process to exit. If the process has already exited returns -+// the pervious error (if any). -+func (process *Process) Wait() error { -+ <-process.waitBlock -+ return process.waitError - } - - // ResizeConsole resizes the console of the process. --func (process *Process) ResizeConsole(width, height uint16) (err error) { -+func (process *Process) ResizeConsole(ctx context.Context, width, height uint16) error { - process.handleLock.RLock() - defer process.handleLock.RUnlock() - - operation := "hcsshim::Process::ResizeConsole" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() - - if process.handle == 0 { - return makeProcessError(process, operation, ErrAlreadyClosed, nil) -@@ -218,11 +250,8 @@ func (process *Process) ResizeConsole(width, height uint16) (err error) { - return err - } - -- modifyRequestStr := string(modifyRequestb) -- -- var resultp *uint16 -- err = hcsModifyProcess(process.handle, modifyRequestStr, &resultp) -- events := processHcsResult(resultp) -+ resultJSON, err := vmcompute.HcsModifyProcess(ctx, process.handle, string(modifyRequestb)) -+ events := processHcsResult(ctx, resultJSON) - if err != nil { - return makeProcessError(process, operation, err, events) - } -@@ -230,104 +259,55 @@ func (process *Process) ResizeConsole(width, height uint16) (err error) { - return nil - } - --func (process *Process) Properties() (_ *ProcessStatus, err error) { -- process.handleLock.RLock() -- defer process.handleLock.RUnlock() -- -- operation := "hcsshim::Process::Properties" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() -- -- if process.handle == 0 { -- return nil, makeProcessError(process, operation, ErrAlreadyClosed, nil) -- } -- -- var ( -- resultp *uint16 -- propertiesp *uint16 -- ) -- syscallWatcher(process.logctx, func() { -- err = hcsGetProcessProperties(process.handle, &propertiesp, &resultp) -- }) -- events := processHcsResult(resultp) -- if err != nil { -- return nil, makeProcessError(process, operation, err, events) -- } -- -- if propertiesp == nil { -- return nil, ErrUnexpectedValue -- } -- propertiesRaw := interop.ConvertAndFreeCoTaskMemBytes(propertiesp) -- -- properties := &ProcessStatus{} -- if err := json.Unmarshal(propertiesRaw, properties); err != nil { -- return nil, makeProcessError(process, operation, err, nil) -- } -- -- return properties, nil --} -- - // ExitCode returns the exit code of the process. The process must have - // already terminated. --func (process *Process) ExitCode() (_ int, err error) { -- operation := "hcsshim::Process::ExitCode" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() -- -- properties, err := process.Properties() -- if err != nil { -- return 0, makeProcessError(process, operation, err, nil) -- } -- -- if properties.Exited == false { -- return 0, makeProcessError(process, operation, ErrInvalidProcessState, nil) -- } -- -- if properties.LastWaitResult != 0 { -- return 0, makeProcessError(process, operation, syscall.Errno(properties.LastWaitResult), nil) -+func (process *Process) ExitCode() (int, error) { -+ select { -+ case <-process.waitBlock: -+ if process.waitError != nil { -+ return -1, process.waitError -+ } -+ return process.exitCode, nil -+ default: -+ return -1, makeProcessError(process, "hcsshim::Process::ExitCode", ErrInvalidProcessState, nil) - } -- -- return int(properties.ExitCode), nil - } - --// Stdio returns the stdin, stdout, and stderr pipes, respectively. Closing --// these pipes does not close the underlying pipes; it should be possible to --// call this multiple times to get multiple interfaces. --func (process *Process) Stdio() (_ io.WriteCloser, _ io.ReadCloser, _ io.ReadCloser, err error) { -+// StdioLegacy returns the stdin, stdout, and stderr pipes, respectively. Closing -+// these pipes does not close the underlying pipes. Once returned, these pipes -+// are the responsibility of the caller to close. -+func (process *Process) StdioLegacy() (_ io.WriteCloser, _ io.ReadCloser, _ io.ReadCloser, err error) { -+ operation := "hcsshim::Process::StdioLegacy" -+ ctx, span := trace.StartSpan(context.Background(), operation) -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, err) }() -+ span.AddAttributes( -+ trace.StringAttribute("cid", process.SystemID()), -+ trace.Int64Attribute("pid", int64(process.processID))) -+ - process.handleLock.RLock() - defer process.handleLock.RUnlock() - -- operation := "hcsshim::Process::Stdio" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() -- - if process.handle == 0 { - return nil, nil, nil, makeProcessError(process, operation, ErrAlreadyClosed, nil) - } - -- var stdIn, stdOut, stdErr syscall.Handle -- -- if process.cachedPipes == nil { -- var ( -- processInfo hcsProcessInformation -- resultp *uint16 -- ) -- err = hcsGetProcessInfo(process.handle, &processInfo, &resultp) -- events := processHcsResult(resultp) -- if err != nil { -- return nil, nil, nil, makeProcessError(process, operation, err, events) -- } -- -- stdIn, stdOut, stdErr = processInfo.StdInput, processInfo.StdOutput, processInfo.StdError -- } else { -- // Use cached pipes -- stdIn, stdOut, stdErr = process.cachedPipes.stdIn, process.cachedPipes.stdOut, process.cachedPipes.stdErr -+ process.stdioLock.Lock() -+ defer process.stdioLock.Unlock() -+ if process.hasCachedStdio { -+ stdin, stdout, stderr := process.stdin, process.stdout, process.stderr -+ process.stdin, process.stdout, process.stderr = nil, nil, nil -+ process.hasCachedStdio = false -+ return stdin, stdout, stderr, nil -+ } - -- // Invalidate the cache -- process.cachedPipes = nil -+ processInfo, resultJSON, err := vmcompute.HcsGetProcessInfo(ctx, process.handle) -+ events := processHcsResult(ctx, resultJSON) -+ if err != nil { -+ return nil, nil, nil, makeProcessError(process, operation, err, events) - } - -- pipes, err := makeOpenFiles([]syscall.Handle{stdIn, stdOut, stdErr}) -+ pipes, err := makeOpenFiles([]syscall.Handle{processInfo.StdInput, processInfo.StdOutput, processInfo.StdError}) - if err != nil { - return nil, nil, nil, makeProcessError(process, operation, err, nil) - } -@@ -335,15 +315,21 @@ func (process *Process) Stdio() (_ io.WriteCloser, _ io.ReadCloser, _ io.ReadClo - return pipes[0], pipes[1], pipes[2], nil - } - -+// Stdio returns the stdin, stdout, and stderr pipes, respectively. -+// To close them, close the process handle. -+func (process *Process) Stdio() (stdin io.Writer, stdout, stderr io.Reader) { -+ process.stdioLock.Lock() -+ defer process.stdioLock.Unlock() -+ return process.stdin, process.stdout, process.stderr -+} -+ - // CloseStdin closes the write side of the stdin pipe so that the process is - // notified on the read side that there is no more data in stdin. --func (process *Process) CloseStdin() (err error) { -+func (process *Process) CloseStdin(ctx context.Context) error { - process.handleLock.RLock() - defer process.handleLock.RUnlock() - - operation := "hcsshim::Process::CloseStdin" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() - - if process.handle == 0 { - return makeProcessError(process, operation, ErrAlreadyClosed, nil) -@@ -361,96 +347,125 @@ func (process *Process) CloseStdin() (err error) { - return err - } - -- modifyRequestStr := string(modifyRequestb) -- -- var resultp *uint16 -- err = hcsModifyProcess(process.handle, modifyRequestStr, &resultp) -- events := processHcsResult(resultp) -+ resultJSON, err := vmcompute.HcsModifyProcess(ctx, process.handle, string(modifyRequestb)) -+ events := processHcsResult(ctx, resultJSON) - if err != nil { - return makeProcessError(process, operation, err, events) - } - -+ process.stdioLock.Lock() -+ if process.stdin != nil { -+ process.stdin.Close() -+ process.stdin = nil -+ } -+ process.stdioLock.Unlock() -+ - return nil - } - - // Close cleans up any state associated with the process but does not kill - // or wait on it. - func (process *Process) Close() (err error) { -+ operation := "hcsshim::Process::Close" -+ ctx, span := trace.StartSpan(context.Background(), operation) -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, err) }() -+ span.AddAttributes( -+ trace.StringAttribute("cid", process.SystemID()), -+ trace.Int64Attribute("pid", int64(process.processID))) -+ - process.handleLock.Lock() - defer process.handleLock.Unlock() - -- operation := "hcsshim::Process::Close" -- process.logOperationBegin(operation) -- defer func() { process.logOperationEnd(operation, err) }() -- - // Don't double free this - if process.handle == 0 { - return nil - } - -- if err = process.unregisterCallback(); err != nil { -+ process.stdioLock.Lock() -+ if process.stdin != nil { -+ process.stdin.Close() -+ process.stdin = nil -+ } -+ if process.stdout != nil { -+ process.stdout.Close() -+ process.stdout = nil -+ } -+ if process.stderr != nil { -+ process.stderr.Close() -+ process.stderr = nil -+ } -+ process.stdioLock.Unlock() -+ -+ if err = process.unregisterCallback(ctx); err != nil { - return makeProcessError(process, operation, err, nil) - } - -- if err = hcsCloseProcess(process.handle); err != nil { -+ if err = vmcompute.HcsCloseProcess(ctx, process.handle); err != nil { - return makeProcessError(process, operation, err, nil) - } - - process.handle = 0 -+ process.closedWaitOnce.Do(func() { -+ process.exitCode = -1 -+ process.waitError = ErrAlreadyClosed -+ close(process.waitBlock) -+ }) - - return nil - } - --func (process *Process) registerCallback() error { -- context := ¬ifcationWatcherContext{ -- channels: newChannels(), -+func (process *Process) registerCallback(ctx context.Context) error { -+ callbackContext := ¬ifcationWatcherContext{ -+ channels: newProcessChannels(), -+ systemID: process.SystemID(), -+ processID: process.processID, - } - - callbackMapLock.Lock() - callbackNumber := nextCallback - nextCallback++ -- callbackMap[callbackNumber] = context -+ callbackMap[callbackNumber] = callbackContext - callbackMapLock.Unlock() - -- var callbackHandle hcsCallback -- err := hcsRegisterProcessCallback(process.handle, notificationWatcherCallback, callbackNumber, &callbackHandle) -+ callbackHandle, err := vmcompute.HcsRegisterProcessCallback(ctx, process.handle, notificationWatcherCallback, callbackNumber) - if err != nil { - return err - } -- context.handle = callbackHandle -+ callbackContext.handle = callbackHandle - process.callbackNumber = callbackNumber - - return nil - } - --func (process *Process) unregisterCallback() error { -+func (process *Process) unregisterCallback(ctx context.Context) error { - callbackNumber := process.callbackNumber - - callbackMapLock.RLock() -- context := callbackMap[callbackNumber] -+ callbackContext := callbackMap[callbackNumber] - callbackMapLock.RUnlock() - -- if context == nil { -+ if callbackContext == nil { - return nil - } - -- handle := context.handle -+ handle := callbackContext.handle - - if handle == 0 { - return nil - } - -- // hcsUnregisterProcessCallback has its own syncronization -- // to wait for all callbacks to complete. We must NOT hold the callbackMapLock. -- err := hcsUnregisterProcessCallback(handle) -+ // vmcompute.HcsUnregisterProcessCallback has its own synchronization to -+ // wait for all callbacks to complete. We must NOT hold the callbackMapLock. -+ err := vmcompute.HcsUnregisterProcessCallback(ctx, handle) - if err != nil { - return err - } - -- closeChannels(context.channels) -+ closeChannels(callbackContext.channels) - - callbackMapLock.Lock() -- callbackMap[callbackNumber] = nil -+ delete(callbackMap, callbackNumber) - callbackMapLock.Unlock() - - handle = 0 -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go -index 20b242524..6300a7974 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go -@@ -1,18 +1,24 @@ - package hcs - - import ( -+ "context" - "encoding/json" -+ "errors" - "os" - "strconv" -+ "strings" - "sync" - "syscall" - "time" - -- "github.com/Microsoft/hcsshim/internal/interop" -- "github.com/Microsoft/hcsshim/internal/logfields" -+ "github.com/Microsoft/hcsshim/internal/cow" -+ "github.com/Microsoft/hcsshim/internal/log" -+ "github.com/Microsoft/hcsshim/internal/oc" - "github.com/Microsoft/hcsshim/internal/schema1" -+ hcsschema "github.com/Microsoft/hcsshim/internal/schema2" - "github.com/Microsoft/hcsshim/internal/timeout" -- "github.com/sirupsen/logrus" -+ "github.com/Microsoft/hcsshim/internal/vmcompute" -+ "go.opencensus.io/trace" - ) - - // currentContainerStarts is used to limit the number of concurrent container -@@ -38,49 +44,37 @@ func init() { - - type System struct { - handleLock sync.RWMutex -- handle hcsSystem -+ handle vmcompute.HcsSystem - id string - callbackNumber uintptr - -- logctx logrus.Fields -+ closedWaitOnce sync.Once -+ waitBlock chan struct{} -+ waitError error -+ exitError error -+ -+ os, typ string - } - - func newSystem(id string) *System { - return &System{ -- id: id, -- logctx: logrus.Fields{ -- logfields.ContainerID: id, -- }, -+ id: id, -+ waitBlock: make(chan struct{}), - } - } - --func (computeSystem *System) logOperationBegin(operation string) { -- logOperationBegin( -- computeSystem.logctx, -- operation+" - Begin Operation") --} -- --func (computeSystem *System) logOperationEnd(operation string, err error) { -- var result string -- if err == nil { -- result = "Success" -- } else { -- result = "Error" -- } -- -- logOperationEnd( -- computeSystem.logctx, -- operation+" - End Operation - "+result, -- err) --} -- - // CreateComputeSystem creates a new compute system with the given configuration but does not start it. --func CreateComputeSystem(id string, hcsDocumentInterface interface{}) (_ *System, err error) { -+func CreateComputeSystem(ctx context.Context, id string, hcsDocumentInterface interface{}) (_ *System, err error) { - operation := "hcsshim::CreateComputeSystem" - -+ // hcsCreateComputeSystemContext is an async operation. Start the outer span -+ // here to measure the full create time. -+ ctx, span := trace.StartSpan(ctx, operation) -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, err) }() -+ span.AddAttributes(trace.StringAttribute("cid", id)) -+ - computeSystem := newSystem(id) -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() - - hcsDocumentB, err := json.Marshal(hcsDocumentInterface) - if err != nil { -@@ -89,126 +83,114 @@ func CreateComputeSystem(id string, hcsDocumentInterface interface{}) (_ *System - - hcsDocument := string(hcsDocumentB) - -- logrus.WithFields(computeSystem.logctx). -- WithField(logfields.JSON, hcsDocument). -- Debug("HCS ComputeSystem Document") -- - var ( -- resultp *uint16 - identity syscall.Handle -+ resultJSON string - createError error - ) -- syscallWatcher(computeSystem.logctx, func() { -- createError = hcsCreateComputeSystem(id, hcsDocument, identity, &computeSystem.handle, &resultp) -- }) -- -+ computeSystem.handle, resultJSON, createError = vmcompute.HcsCreateComputeSystem(ctx, id, hcsDocument, identity) - if createError == nil || IsPending(createError) { -- if err = computeSystem.registerCallback(); err != nil { -+ defer func() { -+ if err != nil { -+ computeSystem.Close() -+ } -+ }() -+ if err = computeSystem.registerCallback(ctx); err != nil { - // Terminate the compute system if it still exists. We're okay to - // ignore a failure here. -- computeSystem.Terminate() -+ computeSystem.Terminate(ctx) - return nil, makeSystemError(computeSystem, operation, "", err, nil) - } - } - -- events, err := processAsyncHcsResult(createError, resultp, computeSystem.callbackNumber, hcsNotificationSystemCreateCompleted, &timeout.SystemCreate) -+ events, err := processAsyncHcsResult(ctx, createError, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemCreateCompleted, &timeout.SystemCreate) - if err != nil { - if err == ErrTimeout { - // Terminate the compute system if it still exists. We're okay to - // ignore a failure here. -- computeSystem.Terminate() -+ computeSystem.Terminate(ctx) - } - return nil, makeSystemError(computeSystem, operation, hcsDocument, err, events) - } -- -+ go computeSystem.waitBackground() -+ if err = computeSystem.getCachedProperties(ctx); err != nil { -+ return nil, err -+ } - return computeSystem, nil - } - - // OpenComputeSystem opens an existing compute system by ID. --func OpenComputeSystem(id string) (_ *System, err error) { -+func OpenComputeSystem(ctx context.Context, id string) (*System, error) { - operation := "hcsshim::OpenComputeSystem" - - computeSystem := newSystem(id) -- computeSystem.logOperationBegin(operation) -+ handle, resultJSON, err := vmcompute.HcsOpenComputeSystem(ctx, id) -+ events := processHcsResult(ctx, resultJSON) -+ if err != nil { -+ return nil, makeSystemError(computeSystem, operation, "", err, events) -+ } -+ computeSystem.handle = handle - defer func() { -- if IsNotExist(err) { -- computeSystem.logOperationEnd(operation, nil) -- } else { -- computeSystem.logOperationEnd(operation, err) -+ if err != nil { -+ computeSystem.Close() - } - }() -+ if err = computeSystem.registerCallback(ctx); err != nil { -+ return nil, makeSystemError(computeSystem, operation, "", err, nil) -+ } -+ go computeSystem.waitBackground() -+ if err = computeSystem.getCachedProperties(ctx); err != nil { -+ return nil, err -+ } -+ return computeSystem, nil -+} - -- var ( -- handle hcsSystem -- resultp *uint16 -- ) -- err = hcsOpenComputeSystem(id, &handle, &resultp) -- events := processHcsResult(resultp) -+func (computeSystem *System) getCachedProperties(ctx context.Context) error { -+ props, err := computeSystem.Properties(ctx) - if err != nil { -- return nil, makeSystemError(computeSystem, operation, "", err, events) -+ return err - } -- -- computeSystem.handle = handle -- -- if err = computeSystem.registerCallback(); err != nil { -- return nil, makeSystemError(computeSystem, operation, "", err, nil) -+ computeSystem.typ = strings.ToLower(props.SystemType) -+ computeSystem.os = strings.ToLower(props.RuntimeOSType) -+ if computeSystem.os == "" && computeSystem.typ == "container" { -+ // Pre-RS5 HCS did not return the OS, but it only supported containers -+ // that ran Windows. -+ computeSystem.os = "windows" - } -+ return nil -+} - -- return computeSystem, nil -+// OS returns the operating system of the compute system, "linux" or "windows". -+func (computeSystem *System) OS() string { -+ return computeSystem.os -+} -+ -+// IsOCI returns whether processes in the compute system should be created via -+// OCI. -+func (computeSystem *System) IsOCI() bool { -+ return computeSystem.os == "linux" && computeSystem.typ == "container" - } - - // GetComputeSystems gets a list of the compute systems on the system that match the query --func GetComputeSystems(q schema1.ComputeSystemQuery) (_ []schema1.ContainerProperties, err error) { -+func GetComputeSystems(ctx context.Context, q schema1.ComputeSystemQuery) ([]schema1.ContainerProperties, error) { - operation := "hcsshim::GetComputeSystems" -- fields := logrus.Fields{} -- logOperationBegin( -- fields, -- operation+" - Begin Operation") -- -- defer func() { -- var result string -- if err == nil { -- result = "Success" -- } else { -- result = "Error" -- } -- -- logOperationEnd( -- fields, -- operation+" - End Operation - "+result, -- err) -- }() - - queryb, err := json.Marshal(q) - if err != nil { - return nil, err - } - -- query := string(queryb) -- -- logrus.WithFields(fields). -- WithField(logfields.JSON, query). -- Debug("HCS ComputeSystem Query") -- -- var ( -- resultp *uint16 -- computeSystemsp *uint16 -- ) -- -- syscallWatcher(fields, func() { -- err = hcsEnumerateComputeSystems(query, &computeSystemsp, &resultp) -- }) -- events := processHcsResult(resultp) -+ computeSystemsJSON, resultJSON, err := vmcompute.HcsEnumerateComputeSystems(ctx, string(queryb)) -+ events := processHcsResult(ctx, resultJSON) - if err != nil { - return nil, &HcsError{Op: operation, Err: err, Events: events} - } - -- if computeSystemsp == nil { -+ if computeSystemsJSON == "" { - return nil, ErrUnexpectedValue - } -- computeSystemsRaw := interop.ConvertAndFreeCoTaskMemBytes(computeSystemsp) - computeSystems := []schema1.ContainerProperties{} -- if err = json.Unmarshal(computeSystemsRaw, &computeSystems); err != nil { -+ if err = json.Unmarshal([]byte(computeSystemsJSON), &computeSystems); err != nil { - return nil, err - } - -@@ -216,16 +198,21 @@ func GetComputeSystems(q schema1.ComputeSystemQuery) (_ []schema1.ContainerPrope - } - - // Start synchronously starts the computeSystem. --func (computeSystem *System) Start() (err error) { -+func (computeSystem *System) Start(ctx context.Context) (err error) { -+ operation := "hcsshim::System::Start" -+ -+ // hcsStartComputeSystemContext is an async operation. Start the outer span -+ // here to measure the full start time. -+ ctx, span := trace.StartSpan(ctx, operation) -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, err) }() -+ span.AddAttributes(trace.StringAttribute("cid", computeSystem.id)) -+ - computeSystem.handleLock.RLock() - defer computeSystem.handleLock.RUnlock() - -- operation := "hcsshim::ComputeSystem::Start" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -- - if computeSystem.handle == 0 { -- return makeSystemError(computeSystem, "Start", "", ErrAlreadyClosed, nil) -+ return makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) - } - - // This is a very simple backoff-retry loop to limit the number -@@ -254,13 +241,10 @@ func (computeSystem *System) Start() (err error) { - }() - } - -- var resultp *uint16 -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsStartComputeSystem(computeSystem.handle, "", &resultp) -- }) -- events, err := processAsyncHcsResult(err, resultp, computeSystem.callbackNumber, hcsNotificationSystemStartCompleted, &timeout.SystemStart) -+ resultJSON, err := vmcompute.HcsStartComputeSystem(ctx, computeSystem.handle, "") -+ events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemStartCompleted, &timeout.SystemStart) - if err != nil { -- return makeSystemError(computeSystem, "Start", "", err, events) -+ return makeSystemError(computeSystem, operation, "", err, events) - } - - return nil -@@ -271,360 +255,357 @@ func (computeSystem *System) ID() string { - return computeSystem.id - } - --// Shutdown requests a compute system shutdown, if IsPending() on the error returned is true, --// it may not actually be shut down until Wait() succeeds. --func (computeSystem *System) Shutdown() (err error) { -+// Shutdown requests a compute system shutdown. -+func (computeSystem *System) Shutdown(ctx context.Context) error { - computeSystem.handleLock.RLock() - defer computeSystem.handleLock.RUnlock() - -- operation := "hcsshim::ComputeSystem::Shutdown" -- computeSystem.logOperationBegin(operation) -- defer func() { -- if IsAlreadyStopped(err) { -- computeSystem.logOperationEnd(operation, nil) -- } else { -- computeSystem.logOperationEnd(operation, err) -- } -- }() -+ operation := "hcsshim::System::Shutdown" - - if computeSystem.handle == 0 { -- return makeSystemError(computeSystem, "Shutdown", "", ErrAlreadyClosed, nil) -+ return nil - } - -- var resultp *uint16 -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsShutdownComputeSystem(computeSystem.handle, "", &resultp) -- }) -- events := processHcsResult(resultp) -- if err != nil { -- return makeSystemError(computeSystem, "Shutdown", "", err, events) -+ resultJSON, err := vmcompute.HcsShutdownComputeSystem(ctx, computeSystem.handle, "") -+ events := processHcsResult(ctx, resultJSON) -+ switch err { -+ case nil, ErrVmcomputeAlreadyStopped, ErrComputeSystemDoesNotExist, ErrVmcomputeOperationPending: -+ default: -+ return makeSystemError(computeSystem, operation, "", err, events) - } -- - return nil - } - --// Terminate requests a compute system terminate, if IsPending() on the error returned is true, --// it may not actually be shut down until Wait() succeeds. --func (computeSystem *System) Terminate() (err error) { -+// Terminate requests a compute system terminate. -+func (computeSystem *System) Terminate(ctx context.Context) error { - computeSystem.handleLock.RLock() - defer computeSystem.handleLock.RUnlock() - -- operation := "hcsshim::ComputeSystem::Terminate" -- computeSystem.logOperationBegin(operation) -- defer func() { -- if IsPending(err) { -- computeSystem.logOperationEnd(operation, nil) -- } else { -- computeSystem.logOperationEnd(operation, err) -- } -- }() -+ operation := "hcsshim::System::Terminate" - - if computeSystem.handle == 0 { -- return makeSystemError(computeSystem, "Terminate", "", ErrAlreadyClosed, nil) -+ return nil - } - -- var resultp *uint16 -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsTerminateComputeSystem(computeSystem.handle, "", &resultp) -- }) -- events := processHcsResult(resultp) -- if err != nil && err != ErrVmcomputeAlreadyStopped { -- return makeSystemError(computeSystem, "Terminate", "", err, events) -+ resultJSON, err := vmcompute.HcsTerminateComputeSystem(ctx, computeSystem.handle, "") -+ events := processHcsResult(ctx, resultJSON) -+ switch err { -+ case nil, ErrVmcomputeAlreadyStopped, ErrComputeSystemDoesNotExist, ErrVmcomputeOperationPending: -+ default: -+ return makeSystemError(computeSystem, operation, "", err, events) - } -- - return nil - } - --// Wait synchronously waits for the compute system to shutdown or terminate. --func (computeSystem *System) Wait() (err error) { -- operation := "hcsshim::ComputeSystem::Wait" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -- -- err = waitForNotification(computeSystem.callbackNumber, hcsNotificationSystemExited, nil) -- if err != nil { -- return makeSystemError(computeSystem, "Wait", "", err, nil) -- } -- -- return nil -+// waitBackground waits for the compute system exit notification. Once received -+// sets `computeSystem.waitError` (if any) and unblocks all `Wait` calls. -+// -+// This MUST be called exactly once per `computeSystem.handle` but `Wait` is -+// safe to call multiple times. -+func (computeSystem *System) waitBackground() { -+ operation := "hcsshim::System::waitBackground" -+ ctx, span := trace.StartSpan(context.Background(), operation) -+ defer span.End() -+ span.AddAttributes(trace.StringAttribute("cid", computeSystem.id)) -+ -+ err := waitForNotification(ctx, computeSystem.callbackNumber, hcsNotificationSystemExited, nil) -+ switch err { -+ case nil: -+ log.G(ctx).Debug("system exited") -+ case ErrVmcomputeUnexpectedExit: -+ log.G(ctx).Debug("unexpected system exit") -+ computeSystem.exitError = makeSystemError(computeSystem, operation, "", err, nil) -+ err = nil -+ default: -+ err = makeSystemError(computeSystem, operation, "", err, nil) -+ } -+ computeSystem.closedWaitOnce.Do(func() { -+ computeSystem.waitError = err -+ close(computeSystem.waitBlock) -+ }) -+ oc.SetSpanStatus(span, err) - } - --// WaitExpectedError synchronously waits for the compute system to shutdown or --// terminate, and ignores the passed error if it occurs. --func (computeSystem *System) WaitExpectedError(expected error) (err error) { -- operation := "hcsshim::ComputeSystem::WaitExpectedError" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -+// Wait synchronously waits for the compute system to shutdown or terminate. If -+// the compute system has already exited returns the previous error (if any). -+func (computeSystem *System) Wait() error { -+ <-computeSystem.waitBlock -+ return computeSystem.waitError -+} - -- err = waitForNotification(computeSystem.callbackNumber, hcsNotificationSystemExited, nil) -- if err != nil && getInnerError(err) != expected { -- return makeSystemError(computeSystem, "WaitExpectedError", "", err, nil) -+// ExitError returns an error describing the reason the compute system terminated. -+func (computeSystem *System) ExitError() error { -+ select { -+ case <-computeSystem.waitBlock: -+ if computeSystem.waitError != nil { -+ return computeSystem.waitError -+ } -+ return computeSystem.exitError -+ default: -+ return errors.New("container not exited") - } -- -- return nil - } - --// WaitTimeout synchronously waits for the compute system to terminate or the duration to elapse. --// If the timeout expires, IsTimeout(err) == true --func (computeSystem *System) WaitTimeout(timeout time.Duration) (err error) { -- operation := "hcsshim::ComputeSystem::WaitTimeout" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -+// Properties returns the requested container properties targeting a V1 schema container. -+func (computeSystem *System) Properties(ctx context.Context, types ...schema1.PropertyType) (*schema1.ContainerProperties, error) { -+ computeSystem.handleLock.RLock() -+ defer computeSystem.handleLock.RUnlock() -+ -+ operation := "hcsshim::System::Properties" - -- err = waitForNotification(computeSystem.callbackNumber, hcsNotificationSystemExited, &timeout) -+ queryBytes, err := json.Marshal(schema1.PropertyQuery{PropertyTypes: types}) - if err != nil { -- return makeSystemError(computeSystem, "WaitTimeout", "", err, nil) -+ return nil, makeSystemError(computeSystem, operation, "", err, nil) - } - -- return nil -+ propertiesJSON, resultJSON, err := vmcompute.HcsGetComputeSystemProperties(ctx, computeSystem.handle, string(queryBytes)) -+ events := processHcsResult(ctx, resultJSON) -+ if err != nil { -+ return nil, makeSystemError(computeSystem, operation, "", err, events) -+ } -+ -+ if propertiesJSON == "" { -+ return nil, ErrUnexpectedValue -+ } -+ properties := &schema1.ContainerProperties{} -+ if err := json.Unmarshal([]byte(propertiesJSON), properties); err != nil { -+ return nil, makeSystemError(computeSystem, operation, "", err, nil) -+ } -+ -+ return properties, nil - } - --func (computeSystem *System) Properties(types ...schema1.PropertyType) (_ *schema1.ContainerProperties, err error) { -+// PropertiesV2 returns the requested container properties targeting a V2 schema container. -+func (computeSystem *System) PropertiesV2(ctx context.Context, types ...hcsschema.PropertyType) (*hcsschema.Properties, error) { - computeSystem.handleLock.RLock() - defer computeSystem.handleLock.RUnlock() - -- operation := "hcsshim::ComputeSystem::Properties" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -+ operation := "hcsshim::System::PropertiesV2" - -- queryj, err := json.Marshal(schema1.PropertyQuery{types}) -+ queryBytes, err := json.Marshal(hcsschema.PropertyQuery{PropertyTypes: types}) - if err != nil { -- return nil, makeSystemError(computeSystem, "Properties", "", err, nil) -+ return nil, makeSystemError(computeSystem, operation, "", err, nil) - } - -- logrus.WithFields(computeSystem.logctx). -- WithField(logfields.JSON, queryj). -- Debug("HCS ComputeSystem Properties Query") -- -- var resultp, propertiesp *uint16 -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsGetComputeSystemProperties(computeSystem.handle, string(queryj), &propertiesp, &resultp) -- }) -- events := processHcsResult(resultp) -+ propertiesJSON, resultJSON, err := vmcompute.HcsGetComputeSystemProperties(ctx, computeSystem.handle, string(queryBytes)) -+ events := processHcsResult(ctx, resultJSON) - if err != nil { -- return nil, makeSystemError(computeSystem, "Properties", "", err, events) -+ return nil, makeSystemError(computeSystem, operation, "", err, events) - } - -- if propertiesp == nil { -+ if propertiesJSON == "" { - return nil, ErrUnexpectedValue - } -- propertiesRaw := interop.ConvertAndFreeCoTaskMemBytes(propertiesp) -- properties := &schema1.ContainerProperties{} -- if err := json.Unmarshal(propertiesRaw, properties); err != nil { -- return nil, makeSystemError(computeSystem, "Properties", "", err, nil) -+ properties := &hcsschema.Properties{} -+ if err := json.Unmarshal([]byte(propertiesJSON), properties); err != nil { -+ return nil, makeSystemError(computeSystem, operation, "", err, nil) - } - - return properties, nil - } - - // Pause pauses the execution of the computeSystem. This feature is not enabled in TP5. --func (computeSystem *System) Pause() (err error) { -+func (computeSystem *System) Pause(ctx context.Context) (err error) { -+ operation := "hcsshim::System::Pause" -+ -+ // hcsPauseComputeSystemContext is an async peration. Start the outer span -+ // here to measure the full pause time. -+ ctx, span := trace.StartSpan(ctx, operation) -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, err) }() -+ span.AddAttributes(trace.StringAttribute("cid", computeSystem.id)) -+ - computeSystem.handleLock.RLock() - defer computeSystem.handleLock.RUnlock() - -- operation := "hcsshim::ComputeSystem::Pause" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -- - if computeSystem.handle == 0 { -- return makeSystemError(computeSystem, "Pause", "", ErrAlreadyClosed, nil) -+ return makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) - } - -- var resultp *uint16 -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsPauseComputeSystem(computeSystem.handle, "", &resultp) -- }) -- events, err := processAsyncHcsResult(err, resultp, computeSystem.callbackNumber, hcsNotificationSystemPauseCompleted, &timeout.SystemPause) -+ resultJSON, err := vmcompute.HcsPauseComputeSystem(ctx, computeSystem.handle, "") -+ events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemPauseCompleted, &timeout.SystemPause) - if err != nil { -- return makeSystemError(computeSystem, "Pause", "", err, events) -+ return makeSystemError(computeSystem, operation, "", err, events) - } - - return nil - } - - // Resume resumes the execution of the computeSystem. This feature is not enabled in TP5. --func (computeSystem *System) Resume() (err error) { -+func (computeSystem *System) Resume(ctx context.Context) (err error) { -+ operation := "hcsshim::System::Resume" -+ -+ // hcsResumeComputeSystemContext is an async operation. Start the outer span -+ // here to measure the full restore time. -+ ctx, span := trace.StartSpan(ctx, operation) -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, err) }() -+ span.AddAttributes(trace.StringAttribute("cid", computeSystem.id)) -+ - computeSystem.handleLock.RLock() - defer computeSystem.handleLock.RUnlock() - -- operation := "hcsshim::ComputeSystem::Resume" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -- - if computeSystem.handle == 0 { -- return makeSystemError(computeSystem, "Resume", "", ErrAlreadyClosed, nil) -+ return makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) - } - -- var resultp *uint16 -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsResumeComputeSystem(computeSystem.handle, "", &resultp) -- }) -- events, err := processAsyncHcsResult(err, resultp, computeSystem.callbackNumber, hcsNotificationSystemResumeCompleted, &timeout.SystemResume) -+ resultJSON, err := vmcompute.HcsResumeComputeSystem(ctx, computeSystem.handle, "") -+ events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemResumeCompleted, &timeout.SystemResume) - if err != nil { -- return makeSystemError(computeSystem, "Resume", "", err, events) -+ return makeSystemError(computeSystem, operation, "", err, events) - } - - return nil - } - --// CreateProcess launches a new process within the computeSystem. --func (computeSystem *System) CreateProcess(c interface{}) (_ *Process, err error) { -+func (computeSystem *System) createProcess(ctx context.Context, operation string, c interface{}) (*Process, *vmcompute.HcsProcessInformation, error) { - computeSystem.handleLock.RLock() - defer computeSystem.handleLock.RUnlock() - -- operation := "hcsshim::ComputeSystem::CreateProcess" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -- -- var ( -- processInfo hcsProcessInformation -- processHandle hcsProcess -- resultp *uint16 -- ) -- - if computeSystem.handle == 0 { -- return nil, makeSystemError(computeSystem, "CreateProcess", "", ErrAlreadyClosed, nil) -+ return nil, nil, makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) - } - - configurationb, err := json.Marshal(c) - if err != nil { -- return nil, makeSystemError(computeSystem, "CreateProcess", "", err, nil) -+ return nil, nil, makeSystemError(computeSystem, operation, "", err, nil) - } - - configuration := string(configurationb) -+ processInfo, processHandle, resultJSON, err := vmcompute.HcsCreateProcess(ctx, computeSystem.handle, configuration) -+ events := processHcsResult(ctx, resultJSON) -+ if err != nil { -+ return nil, nil, makeSystemError(computeSystem, operation, configuration, err, events) -+ } - -- logrus.WithFields(computeSystem.logctx). -- WithField(logfields.JSON, configuration). -- Debug("HCS ComputeSystem Process Document") -+ log.G(ctx).WithField("pid", processInfo.ProcessId).Debug("created process pid") -+ return newProcess(processHandle, int(processInfo.ProcessId), computeSystem), &processInfo, nil -+} - -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsCreateProcess(computeSystem.handle, configuration, &processInfo, &processHandle, &resultp) -- }) -- events := processHcsResult(resultp) -+// CreateProcess launches a new process within the computeSystem. -+func (computeSystem *System) CreateProcess(ctx context.Context, c interface{}) (cow.Process, error) { -+ operation := "hcsshim::System::CreateProcess" -+ process, processInfo, err := computeSystem.createProcess(ctx, operation, c) - if err != nil { -- return nil, makeSystemError(computeSystem, "CreateProcess", configuration, err, events) -+ return nil, err - } -+ defer func() { -+ if err != nil { -+ process.Close() -+ } -+ }() - -- logrus.WithFields(computeSystem.logctx). -- WithField(logfields.ProcessID, processInfo.ProcessId). -- Debug("HCS ComputeSystem CreateProcess PID") -- -- process := newProcess(processHandle, int(processInfo.ProcessId), computeSystem) -- process.cachedPipes = &cachedPipes{ -- stdIn: processInfo.StdInput, -- stdOut: processInfo.StdOutput, -- stdErr: processInfo.StdError, -+ pipes, err := makeOpenFiles([]syscall.Handle{processInfo.StdInput, processInfo.StdOutput, processInfo.StdError}) -+ if err != nil { -+ return nil, makeSystemError(computeSystem, operation, "", err, nil) - } -+ process.stdin = pipes[0] -+ process.stdout = pipes[1] -+ process.stderr = pipes[2] -+ process.hasCachedStdio = true - -- if err = process.registerCallback(); err != nil { -- return nil, makeSystemError(computeSystem, "CreateProcess", "", err, nil) -+ if err = process.registerCallback(ctx); err != nil { -+ return nil, makeSystemError(computeSystem, operation, "", err, nil) - } -+ go process.waitBackground() - - return process, nil - } - - // OpenProcess gets an interface to an existing process within the computeSystem. --func (computeSystem *System) OpenProcess(pid int) (_ *Process, err error) { -+func (computeSystem *System) OpenProcess(ctx context.Context, pid int) (*Process, error) { - computeSystem.handleLock.RLock() - defer computeSystem.handleLock.RUnlock() - -- // Add PID for the context of this operation -- computeSystem.logctx[logfields.ProcessID] = pid -- defer delete(computeSystem.logctx, logfields.ProcessID) -- -- operation := "hcsshim::ComputeSystem::OpenProcess" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -- -- var ( -- processHandle hcsProcess -- resultp *uint16 -- ) -+ operation := "hcsshim::System::OpenProcess" - - if computeSystem.handle == 0 { -- return nil, makeSystemError(computeSystem, "OpenProcess", "", ErrAlreadyClosed, nil) -+ return nil, makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) - } - -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsOpenProcess(computeSystem.handle, uint32(pid), &processHandle, &resultp) -- }) -- events := processHcsResult(resultp) -+ processHandle, resultJSON, err := vmcompute.HcsOpenProcess(ctx, computeSystem.handle, uint32(pid)) -+ events := processHcsResult(ctx, resultJSON) - if err != nil { -- return nil, makeSystemError(computeSystem, "OpenProcess", "", err, events) -+ return nil, makeSystemError(computeSystem, operation, "", err, events) - } - - process := newProcess(processHandle, pid, computeSystem) -- if err = process.registerCallback(); err != nil { -- return nil, makeSystemError(computeSystem, "OpenProcess", "", err, nil) -+ if err = process.registerCallback(ctx); err != nil { -+ return nil, makeSystemError(computeSystem, operation, "", err, nil) - } -+ go process.waitBackground() - - return process, nil - } - - // Close cleans up any state associated with the compute system but does not terminate or wait for it. - func (computeSystem *System) Close() (err error) { -+ operation := "hcsshim::System::Close" -+ ctx, span := trace.StartSpan(context.Background(), operation) -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, err) }() -+ span.AddAttributes(trace.StringAttribute("cid", computeSystem.id)) -+ - computeSystem.handleLock.Lock() - defer computeSystem.handleLock.Unlock() - -- operation := "hcsshim::ComputeSystem::Close" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -- - // Don't double free this - if computeSystem.handle == 0 { - return nil - } - -- if err = computeSystem.unregisterCallback(); err != nil { -- return makeSystemError(computeSystem, "Close", "", err, nil) -+ if err = computeSystem.unregisterCallback(ctx); err != nil { -+ return makeSystemError(computeSystem, operation, "", err, nil) - } - -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsCloseComputeSystem(computeSystem.handle) -- }) -+ err = vmcompute.HcsCloseComputeSystem(ctx, computeSystem.handle) - if err != nil { -- return makeSystemError(computeSystem, "Close", "", err, nil) -+ return makeSystemError(computeSystem, operation, "", err, nil) - } - - computeSystem.handle = 0 -+ computeSystem.closedWaitOnce.Do(func() { -+ computeSystem.waitError = ErrAlreadyClosed -+ close(computeSystem.waitBlock) -+ }) - - return nil - } - --func (computeSystem *System) registerCallback() error { -- context := ¬ifcationWatcherContext{ -- channels: newChannels(), -+func (computeSystem *System) registerCallback(ctx context.Context) error { -+ callbackContext := ¬ifcationWatcherContext{ -+ channels: newSystemChannels(), -+ systemID: computeSystem.id, - } - - callbackMapLock.Lock() - callbackNumber := nextCallback - nextCallback++ -- callbackMap[callbackNumber] = context -+ callbackMap[callbackNumber] = callbackContext - callbackMapLock.Unlock() - -- var callbackHandle hcsCallback -- err := hcsRegisterComputeSystemCallback(computeSystem.handle, notificationWatcherCallback, callbackNumber, &callbackHandle) -+ callbackHandle, err := vmcompute.HcsRegisterComputeSystemCallback(ctx, computeSystem.handle, notificationWatcherCallback, callbackNumber) - if err != nil { - return err - } -- context.handle = callbackHandle -+ callbackContext.handle = callbackHandle - computeSystem.callbackNumber = callbackNumber - - return nil - } - --func (computeSystem *System) unregisterCallback() error { -+func (computeSystem *System) unregisterCallback(ctx context.Context) error { - callbackNumber := computeSystem.callbackNumber - - callbackMapLock.RLock() -- context := callbackMap[callbackNumber] -+ callbackContext := callbackMap[callbackNumber] - callbackMapLock.RUnlock() - -- if context == nil { -+ if callbackContext == nil { - return nil - } - -- handle := context.handle -+ handle := callbackContext.handle - - if handle == 0 { - return nil -@@ -632,15 +613,15 @@ func (computeSystem *System) unregisterCallback() error { - - // hcsUnregisterComputeSystemCallback has its own syncronization - // to wait for all callbacks to complete. We must NOT hold the callbackMapLock. -- err := hcsUnregisterComputeSystemCallback(handle) -+ err := vmcompute.HcsUnregisterComputeSystemCallback(ctx, handle) - if err != nil { - return err - } - -- closeChannels(context.channels) -+ closeChannels(callbackContext.channels) - - callbackMapLock.Lock() -- callbackMap[callbackNumber] = nil -+ delete(callbackMap, callbackNumber) - callbackMapLock.Unlock() - - handle = 0 -@@ -649,36 +630,26 @@ func (computeSystem *System) unregisterCallback() error { - } - - // Modify the System by sending a request to HCS --func (computeSystem *System) Modify(config interface{}) (err error) { -+func (computeSystem *System) Modify(ctx context.Context, config interface{}) error { - computeSystem.handleLock.RLock() - defer computeSystem.handleLock.RUnlock() - -- operation := "hcsshim::ComputeSystem::Modify" -- computeSystem.logOperationBegin(operation) -- defer func() { computeSystem.logOperationEnd(operation, err) }() -+ operation := "hcsshim::System::Modify" - - if computeSystem.handle == 0 { -- return makeSystemError(computeSystem, "Modify", "", ErrAlreadyClosed, nil) -+ return makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) - } - -- requestJSON, err := json.Marshal(config) -+ requestBytes, err := json.Marshal(config) - if err != nil { - return err - } - -- requestString := string(requestJSON) -- -- logrus.WithFields(computeSystem.logctx). -- WithField(logfields.JSON, requestString). -- Debug("HCS ComputeSystem Modify Document") -- -- var resultp *uint16 -- syscallWatcher(computeSystem.logctx, func() { -- err = hcsModifyComputeSystem(computeSystem.handle, requestString, &resultp) -- }) -- events := processHcsResult(resultp) -+ requestJSON := string(requestBytes) -+ resultJSON, err := vmcompute.HcsModifyComputeSystem(ctx, computeSystem.handle, requestJSON) -+ events := processHcsResult(ctx, resultJSON) - if err != nil { -- return makeSystemError(computeSystem, "Modify", requestString, err, events) -+ return makeSystemError(computeSystem, operation, requestJSON, err, events) - } - - return nil -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/waithelper.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/waithelper.go -index 91e212c57..f07f532c1 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/waithelper.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/waithelper.go -@@ -1,28 +1,34 @@ - package hcs - - import ( -+ "context" - "time" - -- "github.com/sirupsen/logrus" -+ "github.com/Microsoft/hcsshim/internal/log" - ) - --func processAsyncHcsResult(err error, resultp *uint16, callbackNumber uintptr, expectedNotification hcsNotification, timeout *time.Duration) ([]ErrorEvent, error) { -- events := processHcsResult(resultp) -+func processAsyncHcsResult(ctx context.Context, err error, resultJSON string, callbackNumber uintptr, expectedNotification hcsNotification, timeout *time.Duration) ([]ErrorEvent, error) { -+ events := processHcsResult(ctx, resultJSON) - if IsPending(err) { -- return nil, waitForNotification(callbackNumber, expectedNotification, timeout) -+ return nil, waitForNotification(ctx, callbackNumber, expectedNotification, timeout) - } - - return events, err - } - --func waitForNotification(callbackNumber uintptr, expectedNotification hcsNotification, timeout *time.Duration) error { -+func waitForNotification(ctx context.Context, callbackNumber uintptr, expectedNotification hcsNotification, timeout *time.Duration) error { - callbackMapLock.RLock() -+ if _, ok := callbackMap[callbackNumber]; !ok { -+ callbackMapLock.RUnlock() -+ log.G(ctx).WithField("callbackNumber", callbackNumber).Error("failed to waitForNotification: callbackNumber does not exist in callbackMap") -+ return ErrHandleClose -+ } - channels := callbackMap[callbackNumber].channels - callbackMapLock.RUnlock() - - expectedChannel := channels[expectedNotification] - if expectedChannel == nil { -- logrus.Errorf("unknown notification type in waitForNotification %x", expectedNotification) -+ log.G(ctx).WithField("type", expectedNotification).Error("unknown notification type in waitForNotification") - return ErrInvalidNotificationType - } - -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/watcher.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/watcher.go -deleted file mode 100644 -index f85ed3187..000000000 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/watcher.go -+++ /dev/null -@@ -1,41 +0,0 @@ --package hcs -- --import ( -- "context" -- -- "github.com/Microsoft/hcsshim/internal/logfields" -- "github.com/Microsoft/hcsshim/internal/timeout" -- "github.com/sirupsen/logrus" --) -- --// syscallWatcher is used as a very simple goroutine around calls into --// the platform. In some cases, we have seen HCS APIs not returning due to --// various bugs, and the goroutine making the syscall ends up not returning, --// prior to its async callback. By spinning up a syscallWatcher, it allows --// us to at least log a warning if a syscall doesn't complete in a reasonable --// amount of time. --// --// Usage is: --// --// syscallWatcher(logContext, func() { --// err = (args...) --// }) --// -- --func syscallWatcher(logContext logrus.Fields, syscallLambda func()) { -- ctx, cancel := context.WithTimeout(context.Background(), timeout.SyscallWatcher) -- defer cancel() -- go watchFunc(ctx, logContext) -- syscallLambda() --} -- --func watchFunc(ctx context.Context, logContext logrus.Fields) { -- select { -- case <-ctx.Done(): -- if ctx.Err() != context.Canceled { -- logrus.WithFields(logContext). -- WithField(logfields.Timeout, timeout.SyscallWatcher). -- Warning("Syscall did not complete within operation timeout. This may indicate a platform issue. If it appears to be making no forward progress, obtain the stacks and see if there is a syscall stuck in the platform API for a significant length of time.") -- } -- } --} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsendpoint.go b/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsendpoint.go -index 59ec7004c..6a1c41e15 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsendpoint.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsendpoint.go -@@ -3,6 +3,7 @@ package hns - import ( - "encoding/json" - "net" -+ "strings" - - "github.com/sirupsen/logrus" - ) -@@ -94,6 +95,27 @@ func GetHNSEndpointByName(endpointName string) (*HNSEndpoint, error) { - return nil, EndpointNotFoundError{EndpointName: endpointName} - } - -+type endpointAttachInfo struct { -+ SharedContainers json.RawMessage `json:",omitempty"` -+} -+ -+func (endpoint *HNSEndpoint) IsAttached(vID string) (bool, error) { -+ attachInfo := endpointAttachInfo{} -+ err := hnsCall("GET", "/endpoints/"+endpoint.Id, "", &attachInfo) -+ -+ // Return false allows us to just return the err -+ if err != nil { -+ return false, err -+ } -+ -+ if strings.Contains(strings.ToLower(string(attachInfo.SharedContainers)), strings.ToLower(vID)) { -+ return true, nil -+ } -+ -+ return false, nil -+ -+} -+ - // Create Endpoint by sending EndpointRequest to HNS. TODO: Create a separate HNS interface to place all these methods - func (endpoint *HNSEndpoint) Create() (*HNSEndpoint, error) { - operation := "Create" -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsfuncs.go b/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsfuncs.go -index 969d1b263..2df4a57f5 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsfuncs.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsfuncs.go -@@ -9,23 +9,30 @@ import ( - "github.com/sirupsen/logrus" - ) - --func hnsCall(method, path, request string, returnResponse interface{}) error { -+func hnsCallRawResponse(method, path, request string) (*hnsResponse, error) { - var responseBuffer *uint16 - logrus.Debugf("[%s]=>[%s] Request : %s", method, path, request) - - err := _hnsCall(method, path, request, &responseBuffer) - if err != nil { -- return hcserror.New(err, "hnsCall ", "") -+ return nil, hcserror.New(err, "hnsCall ", "") - } - response := interop.ConvertAndFreeCoTaskMemString(responseBuffer) - - hnsresponse := &hnsResponse{} - if err = json.Unmarshal([]byte(response), &hnsresponse); err != nil { -- return err -+ return nil, err - } -+ return hnsresponse, nil -+} - -+func hnsCall(method, path, request string, returnResponse interface{}) error { -+ hnsresponse, err := hnsCallRawResponse(method, path, request) -+ if err != nil { -+ return fmt.Errorf("failed during hnsCallRawResponse: %v", err) -+ } - if !hnsresponse.Success { -- return fmt.Errorf("HNS failed with error : %s", hnsresponse.Error) -+ return fmt.Errorf("hns failed with error : %s", hnsresponse.Error) - } - - if len(hnsresponse.Output) == 0 { -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsnetwork.go b/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsnetwork.go -index 7e859de91..b7ae96fdd 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsnetwork.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/hns/hnsnetwork.go -@@ -2,9 +2,9 @@ package hns - - import ( - "encoding/json" -- "net" -- -+ "errors" - "github.com/sirupsen/logrus" -+ "net" - ) - - // Subnet is assoicated with a network and represents a list -@@ -98,6 +98,12 @@ func (network *HNSNetwork) Create() (*HNSNetwork, error) { - title := "hcsshim::HNSNetwork::" + operation - logrus.Debugf(title+" id=%s", network.Id) - -+ for _, subnet := range network.Subnets { -+ if (subnet.AddressPrefix != "") && (subnet.GatewayAddress == "") { -+ return nil, errors.New("network create error, subnet has address prefix but no gateway specified") -+ } -+ } -+ - jsonString, err := json.Marshal(network) - if err != nil { - return nil, err -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hns/hnspolicy.go b/vendor/github.com/Microsoft/hcsshim/internal/hns/hnspolicy.go -index 2318a4fce..61da242ee 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hns/hnspolicy.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/hns/hnspolicy.go -@@ -55,8 +55,9 @@ type PaPolicy struct { - - type OutboundNatPolicy struct { - Policy -- VIP string `json:"VIP,omitempty"` -- Exceptions []string `json:"ExceptionList,omitempty"` -+ VIP string `json:"VIP,omitempty"` -+ Exceptions []string `json:"ExceptionList,omitempty"` -+ Destinations []string `json:",omitempty"` - } - - type ActionType string -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/interop/interop.go b/vendor/github.com/Microsoft/hcsshim/internal/interop/interop.go -index 2f6ec029e..922f7c679 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/interop/interop.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/interop/interop.go -@@ -15,10 +15,6 @@ func ConvertAndFreeCoTaskMemString(buffer *uint16) string { - return str - } - --func ConvertAndFreeCoTaskMemBytes(buffer *uint16) []byte { -- return []byte(ConvertAndFreeCoTaskMemString(buffer)) --} -- - func Win32FromHresult(hr uintptr) syscall.Errno { - if hr&0x1fff0000 == 0x00070000 { - return syscall.Errno(hr & 0xffff) -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/log/g.go b/vendor/github.com/Microsoft/hcsshim/internal/log/g.go -new file mode 100644 -index 000000000..ba6b1a4a5 ---- /dev/null -+++ b/vendor/github.com/Microsoft/hcsshim/internal/log/g.go -@@ -0,0 +1,23 @@ -+package log -+ -+import ( -+ "context" -+ -+ "github.com/sirupsen/logrus" -+ "go.opencensus.io/trace" -+) -+ -+// G returns a `logrus.Entry` with the `TraceID, SpanID` from `ctx` if `ctx` -+// contains an OpenCensus `trace.Span`. -+func G(ctx context.Context) *logrus.Entry { -+ span := trace.FromContext(ctx) -+ if span != nil { -+ sctx := span.SpanContext() -+ return logrus.WithFields(logrus.Fields{ -+ "traceID": sctx.TraceID.String(), -+ "spanID": sctx.SpanID.String(), -+ // "parentSpanID": TODO: JTERRY75 - Try to convince OC to export this? -+ }) -+ } -+ return logrus.NewEntry(logrus.StandardLogger()) -+} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/oc/exporter.go b/vendor/github.com/Microsoft/hcsshim/internal/oc/exporter.go -new file mode 100644 -index 000000000..f428bdaf7 ---- /dev/null -+++ b/vendor/github.com/Microsoft/hcsshim/internal/oc/exporter.go -@@ -0,0 +1,43 @@ -+package oc -+ -+import ( -+ "github.com/sirupsen/logrus" -+ "go.opencensus.io/trace" -+) -+ -+var _ = (trace.Exporter)(&LogrusExporter{}) -+ -+// LogrusExporter is an OpenCensus `trace.Exporter` that exports -+// `trace.SpanData` to logrus output. -+type LogrusExporter struct { -+} -+ -+// ExportSpan exports `s` based on the the following rules: -+// -+// 1. All output will contain `s.Attributes`, `s.TraceID`, `s.SpanID`, -+// `s.ParentSpanID` for correlation -+// -+// 2. Any calls to .Annotate will not be supported. -+// -+// 3. The span itself will be written at `logrus.InfoLevel` unless -+// `s.Status.Code != 0` in which case it will be written at `logrus.ErrorLevel` -+// providing `s.Status.Message` as the error value. -+func (le *LogrusExporter) ExportSpan(s *trace.SpanData) { -+ // Combine all span annotations with traceID, spanID, parentSpanID -+ baseEntry := logrus.WithFields(logrus.Fields(s.Attributes)) -+ baseEntry.Data["traceID"] = s.TraceID.String() -+ baseEntry.Data["spanID"] = s.SpanID.String() -+ baseEntry.Data["parentSpanID"] = s.ParentSpanID.String() -+ baseEntry.Data["startTime"] = s.StartTime -+ baseEntry.Data["endTime"] = s.EndTime -+ baseEntry.Data["duration"] = s.EndTime.Sub(s.StartTime).String() -+ baseEntry.Data["name"] = s.Name -+ baseEntry.Time = s.StartTime -+ -+ level := logrus.InfoLevel -+ if s.Status.Code != 0 { -+ level = logrus.ErrorLevel -+ baseEntry.Data[logrus.ErrorKey] = s.Status.Message -+ } -+ baseEntry.Log(level, "Span") -+} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/oc/span.go b/vendor/github.com/Microsoft/hcsshim/internal/oc/span.go -new file mode 100644 -index 000000000..fee4765cb ---- /dev/null -+++ b/vendor/github.com/Microsoft/hcsshim/internal/oc/span.go -@@ -0,0 +1,17 @@ -+package oc -+ -+import ( -+ "go.opencensus.io/trace" -+) -+ -+// SetSpanStatus sets `span.SetStatus` to the proper status depending on `err`. If -+// `err` is `nil` assumes `trace.StatusCodeOk`. -+func SetSpanStatus(span *trace.Span, err error) { -+ status := trace.Status{} -+ if err != nil { -+ // TODO: JTERRY75 - Handle errors in a non-generic way -+ status.Code = trace.StatusCodeUnknown -+ status.Message = err.Error() -+ } -+ span.SetStatus(status) -+} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema1/schema1.go b/vendor/github.com/Microsoft/hcsshim/internal/schema1/schema1.go -index 995433ace..fb23617f5 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema1/schema1.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema1/schema1.go -@@ -4,7 +4,8 @@ import ( - "encoding/json" - "time" - -- "github.com/Microsoft/hcsshim/internal/schema2" -+ "github.com/Microsoft/go-winio/pkg/guid" -+ hcsschema "github.com/Microsoft/hcsshim/internal/schema2" - ) - - // ProcessConfig is used as both the input of Container.CreateProcess -@@ -62,7 +63,7 @@ type MappedVirtualDisk struct { - CreateInUtilityVM bool `json:",omitempty"` - ReadOnly bool `json:",omitempty"` - Cache string `json:",omitempty"` // "" (Unspecified); "Disabled"; "Enabled"; "Private"; "PrivateAllowSharing" -- AttachOnly bool `json:",omitempty:` -+ AttachOnly bool `json:",omitempty"` - } - - // AssignedDevice represents a device that has been directly assigned to a container -@@ -133,9 +134,10 @@ type ContainerProperties struct { - State string - Name string - SystemType string -+ RuntimeOSType string `json:"RuntimeOsType,omitempty"` - Owner string - SiloGUID string `json:"SiloGuid,omitempty"` -- RuntimeID string `json:"RuntimeId,omitempty"` -+ RuntimeID guid.GUID `json:"RuntimeId,omitempty"` - IsRuntimeTemplate bool `json:",omitempty"` - RuntimeImagePath string `json:",omitempty"` - Stopped bool `json:",omitempty"` -@@ -214,6 +216,7 @@ type MappedVirtualDiskController struct { - type GuestDefinedCapabilities struct { - NamespaceAddRequestSupported bool `json:",omitempty"` - SignalProcessSupported bool `json:",omitempty"` -+ DumpStacksSupported bool `json:",omitempty"` - } - - // GuestConnectionInfo is the structure of an iterm return by a GuestConnection call on a utility VM -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/attachment.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/attachment.go -index 09456cbc2..bcfeb34d5 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/attachment.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/attachment.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Attachment struct { -- - Type_ string `json:"Type,omitempty"` - - Path string `json:"Path,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/cache_query_stats_response.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/cache_query_stats_response.go -index 243779eab..c1ea3953b 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/cache_query_stats_response.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/cache_query_stats_response.go -@@ -10,7 +10,6 @@ - package hcsschema - - type CacheQueryStatsResponse struct { -- - L3OccupancyBytes int32 `json:"L3OccupancyBytes,omitempty"` - - L3TotalBwBytes int32 `json:"L3TotalBwBytes,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/close_handle.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/close_handle.go -index 88f01707a..b4f9c315b 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/close_handle.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/close_handle.go -@@ -10,6 +10,5 @@ - package hcsschema - - type CloseHandle struct { -- - Handle string `json:"Handle,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/com_port.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/com_port.go -index c665be3d5..8bf8cab60 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/com_port.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/com_port.go -@@ -11,7 +11,6 @@ package hcsschema - - // ComPort specifies the named pipe that will be used for the port, with empty string indicating a disconnected port. - type ComPort struct { -- - NamedPipe string `json:"NamedPipe,omitempty"` - - OptimizeForDebugger bool `json:"OptimizeForDebugger,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/compute_system.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/compute_system.go -index 85785d285..10cea67e0 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/compute_system.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/compute_system.go -@@ -10,14 +10,13 @@ - package hcsschema - - type ComputeSystem struct { -- - Owner string `json:"Owner,omitempty"` - - SchemaVersion *Version `json:"SchemaVersion,omitempty"` - - HostingSystemId string `json:"HostingSystemId,omitempty"` - -- HostedSystem *HostedSystem `json:"HostedSystem,omitempty"` -+ HostedSystem interface{} `json:"HostedSystem,omitempty"` - - Container *Container `json:"Container,omitempty"` - -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/configuration.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/configuration.go -index 1a47db7d9..1d5dfe68a 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/configuration.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/configuration.go -@@ -25,37 +25,37 @@ func (c contextKey) String() string { - - var ( - // ContextOAuth2 takes a oauth2.TokenSource as authentication for the request. -- ContextOAuth2 = contextKey("token") -+ ContextOAuth2 = contextKey("token") - - // ContextBasicAuth takes BasicAuth as authentication for the request. -- ContextBasicAuth = contextKey("basic") -+ ContextBasicAuth = contextKey("basic") - - // ContextAccessToken takes a string oauth2 access token as authentication for the request. -- ContextAccessToken = contextKey("accesstoken") -+ ContextAccessToken = contextKey("accesstoken") - - // ContextAPIKey takes an APIKey as authentication for the request -- ContextAPIKey = contextKey("apikey") -+ ContextAPIKey = contextKey("apikey") - ) - --// BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth -+// BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth - type BasicAuth struct { -- UserName string `json:"userName,omitempty"` -- Password string `json:"password,omitempty"` -+ UserName string `json:"userName,omitempty"` -+ Password string `json:"password,omitempty"` - } - - // APIKey provides API key based authentication to a request passed via context using ContextAPIKey - type APIKey struct { -- Key string -- Prefix string -+ Key string -+ Prefix string - } - - type Configuration struct { -- BasePath string `json:"basePath,omitempty"` -- Host string `json:"host,omitempty"` -- Scheme string `json:"scheme,omitempty"` -- DefaultHeader map[string]string `json:"defaultHeader,omitempty"` -- UserAgent string `json:"userAgent,omitempty"` -- HTTPClient *http.Client -+ BasePath string `json:"basePath,omitempty"` -+ Host string `json:"host,omitempty"` -+ Scheme string `json:"scheme,omitempty"` -+ DefaultHeader map[string]string `json:"defaultHeader,omitempty"` -+ UserAgent string `json:"userAgent,omitempty"` -+ HTTPClient *http.Client - } - - func NewConfiguration() *Configuration { -@@ -69,4 +69,4 @@ func NewConfiguration() *Configuration { - - func (c *Configuration) AddDefaultHeader(key string, value string) { - c.DefaultHeader[key] = value --} -\ No newline at end of file -+} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/console_size.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/console_size.go -index adbe07fe5..68aa04a57 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/console_size.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/console_size.go -@@ -10,7 +10,6 @@ - package hcsschema - - type ConsoleSize struct { -- - Height int32 `json:"Height,omitempty"` - - Width int32 `json:"Width,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/container.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/container.go -index 17dce28bc..4fb231076 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/container.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/container.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Container struct { -- - GuestOs *GuestOs `json:"GuestOs,omitempty"` - - Storage *Storage `json:"Storage,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/container_memory_information.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/container_memory_information.go -index 754797e21..1fd7ca5d5 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/container_memory_information.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/container_memory_information.go -@@ -11,7 +11,6 @@ package hcsschema - - // memory usage as viewed from within the container - type ContainerMemoryInformation struct { -- - TotalPhysicalBytes int32 `json:"TotalPhysicalBytes,omitempty"` - - TotalUsage int32 `json:"TotalUsage,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/devices.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/devices.go -index b2191c571..781a88401 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/devices.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/devices.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Devices struct { -- - ComPorts map[string]ComPort `json:"ComPorts,omitempty"` - - Scsi map[string]Scsi `json:"Scsi,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/enhanced_mode_video.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/enhanced_mode_video.go -index 4fe592f71..85450c41e 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/enhanced_mode_video.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/enhanced_mode_video.go -@@ -10,6 +10,5 @@ - package hcsschema - - type EnhancedModeVideo struct { -- - ConnectionOptions *RdpConnectionOptions `json:"ConnectionOptions,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/flexible_io_device.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/flexible_io_device.go -index 51011afe4..fe86cab65 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/flexible_io_device.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/flexible_io_device.go -@@ -10,7 +10,6 @@ - package hcsschema - - type FlexibleIoDevice struct { -- - EmulatorId string `json:"EmulatorId,omitempty"` - - HostingModel string `json:"HostingModel,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/guest_crash_reporting.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/guest_crash_reporting.go -index c5fa76735..af8280048 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/guest_crash_reporting.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/guest_crash_reporting.go -@@ -10,6 +10,5 @@ - package hcsschema - - type GuestCrashReporting struct { -- - WindowsCrashSettings *WindowsCrashReporting `json:"WindowsCrashSettings,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/guest_os.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/guest_os.go -index c708fc7c3..8838519a3 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/guest_os.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/guest_os.go -@@ -10,6 +10,5 @@ - package hcsschema - - type GuestOs struct { -- - HostName string `json:"HostName,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/hosted_system.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/hosted_system.go -index 0797584c5..ea3084bca 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/hosted_system.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/hosted_system.go -@@ -10,7 +10,6 @@ - package hcsschema - - type HostedSystem struct { -- - SchemaVersion *Version `json:"SchemaVersion,omitempty"` - - Container *Container `json:"Container,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/hv_socket.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/hv_socket.go -index ef9ffb8dd..23b2ee9e7 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/hv_socket.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/hv_socket.go -@@ -10,7 +10,6 @@ - package hcsschema - - type HvSocket struct { -- - Config *HvSocketSystemConfig `json:"Config,omitempty"` - - EnablePowerShellDirect bool `json:"EnablePowerShellDirect,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/hv_socket_2.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/hv_socket_2.go -index a19ba15c1..a017691f0 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/hv_socket_2.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/hv_socket_2.go -@@ -11,6 +11,5 @@ package hcsschema - - // HvSocket configuration for a VM - type HvSocket2 struct { -- - HvSocketConfig *HvSocketSystemConfig `json:"HvSocketConfig,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/layer.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/layer.go -index b63b8ef12..176c49d49 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/layer.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/layer.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Layer struct { -- - Id string `json:"Id,omitempty"` - - Path string `json:"Path,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/mapped_directory.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/mapped_directory.go -index a823a6d3b..9b86a4045 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/mapped_directory.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/mapped_directory.go -@@ -10,7 +10,6 @@ - package hcsschema - - type MappedDirectory struct { -- - HostPath string `json:"HostPath,omitempty"` - - HostPathType string `json:"HostPathType,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/mapped_pipe.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/mapped_pipe.go -index 2d1d2604a..208074e9a 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/mapped_pipe.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/mapped_pipe.go -@@ -10,7 +10,6 @@ - package hcsschema - - type MappedPipe struct { -- - ContainerPipeName string `json:"ContainerPipeName,omitempty"` - - HostPath string `json:"HostPath,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory.go -index e1d135a3a..ec93d004e 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory.go -@@ -10,6 +10,5 @@ - package hcsschema - - type Memory struct { -- - SizeInMB int32 `json:"SizeInMB,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_2.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_2.go -index 27d0b8c48..b4a36954d 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_2.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_2.go -@@ -22,4 +22,9 @@ type Memory2 struct { - - // EnableDeferredCommit is private in the schema. If regenerated need to add back. - EnableDeferredCommit bool `json:"EnableDeferredCommit,omitempty"` -+ -+ // EnableColdDiscardHint if enabled, then the memory cold discard hint feature is exposed -+ // to the VM, allowing it to trim non-zeroed pages from the working set (if supported by -+ // the guest operating system). -+ EnableColdDiscardHint bool `json:"EnableColdDiscardHint,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_information_for_vm.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_information_for_vm.go -index bdd87dffd..811779b04 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_information_for_vm.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_information_for_vm.go -@@ -10,8 +10,7 @@ - package hcsschema - - type MemoryInformationForVm struct { -- -- VirtualNodeCount int32 `json:"VirtualNodeCount,omitempty"` -+ VirtualNodeCount uint32 `json:"VirtualNodeCount,omitempty"` - - VirtualMachineMemory *VmMemory `json:"VirtualMachineMemory,omitempty"` - -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_stats.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_stats.go -index 6214970f6..906ba597f 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_stats.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/memory_stats.go -@@ -11,10 +11,9 @@ package hcsschema - - // Memory runtime statistics - type MemoryStats struct { -+ MemoryUsageCommitBytes uint64 `json:"MemoryUsageCommitBytes,omitempty"` - -- MemoryUsageCommitBytes int32 `json:"MemoryUsageCommitBytes,omitempty"` -+ MemoryUsageCommitPeakBytes uint64 `json:"MemoryUsageCommitPeakBytes,omitempty"` - -- MemoryUsageCommitPeakBytes int32 `json:"MemoryUsageCommitPeakBytes,omitempty"` -- -- MemoryUsagePrivateWorkingSetBytes int32 `json:"MemoryUsagePrivateWorkingSetBytes,omitempty"` -+ MemoryUsagePrivateWorkingSetBytes uint64 `json:"MemoryUsagePrivateWorkingSetBytes,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/network_adapter.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/network_adapter.go -index c586f66c2..a9c750b34 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/network_adapter.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/network_adapter.go -@@ -10,7 +10,6 @@ - package hcsschema - - type NetworkAdapter struct { -- - EndpointId string `json:"EndpointId,omitempty"` - - MacAddress string `json:"MacAddress,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/networking.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/networking.go -index 12c47827c..e5ea187a2 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/networking.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/networking.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Networking struct { -- - AllowUnqualifiedDnsQuery bool `json:"AllowUnqualifiedDnsQuery,omitempty"` - - DnsSearchList string `json:"DnsSearchList,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/pause_notification.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/pause_notification.go -index 1cd70d179..d96c9501f 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/pause_notification.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/pause_notification.go -@@ -11,6 +11,5 @@ package hcsschema - - // Notification data that is indicated to components running in the Virtual Machine. - type PauseNotification struct { -- - Reason string `json:"Reason,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/pause_options.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/pause_options.go -index 780a5cae2..21707a88e 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/pause_options.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/pause_options.go -@@ -11,7 +11,6 @@ package hcsschema - - // Options for HcsPauseComputeSystem - type PauseOptions struct { -- - SuspensionLevel string `json:"SuspensionLevel,omitempty"` - - HostedNotification *PauseNotification `json:"HostedNotification,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/plan9.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/plan9.go -index 705c677e1..29d8c8012 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/plan9.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/plan9.go -@@ -10,6 +10,5 @@ - package hcsschema - - type Plan9 struct { -- - Shares []Plan9Share `json:"Shares,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/plan9_share.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/plan9_share.go -index eb171817a..41f8fdea0 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/plan9_share.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/plan9_share.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Plan9Share struct { -- - Name string `json:"Name,omitempty"` - - // The name by which the guest operation system can access this share, via the aname parameter in the Plan9 protocol. -@@ -30,4 +29,6 @@ type Plan9Share struct { - ReadOnly bool `json:"ReadOnly,omitempty"` - - UseShareRootIdentity bool `json:"UseShareRootIdentity,omitempty"` -+ -+ AllowedFiles []string `json:"AllowedFiles,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_details.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_details.go -index 63e0b7f8f..e9a662dd5 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_details.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_details.go -@@ -15,7 +15,6 @@ import ( - - // Information about a process running in a container - type ProcessDetails struct { -- - ProcessId int32 `json:"ProcessId,omitempty"` - - ImageName string `json:"ImageName,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_modify_request.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_modify_request.go -index 29bc2e3d0..e4ed095c7 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_modify_request.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_modify_request.go -@@ -11,7 +11,6 @@ package hcsschema - - // Passed to HcsRpc_ModifyProcess - type ProcessModifyRequest struct { -- - Operation string `json:"Operation,omitempty"` - - ConsoleSize *ConsoleSize `json:"ConsoleSize,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_parameters.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_parameters.go -index 470c55734..82b0d0532 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_parameters.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_parameters.go -@@ -10,7 +10,6 @@ - package hcsschema - - type ProcessParameters struct { -- - ApplicationName string `json:"ApplicationName,omitempty"` - - CommandLine string `json:"CommandLine,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_status.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_status.go -index 20793d150..ad9a4fa9a 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_status.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/process_status.go -@@ -11,7 +11,6 @@ package hcsschema - - // Status of a process running in a container - type ProcessStatus struct { -- - ProcessId int32 `json:"ProcessId,omitempty"` - - Exited bool `json:"Exited,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor.go -index 7a60b0245..bb24e88da 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Processor struct { -- - Count int32 `json:"Count,omitempty"` - - Maximum int32 `json:"Maximum,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor_2.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor_2.go -index 40d3e7356..21fe46062 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor_2.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor_2.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Processor2 struct { -- - Count int32 `json:"Count,omitempty"` - - Limit int32 `json:"Limit,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor_stats.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor_stats.go -index 9d3b77e57..6157e2522 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor_stats.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/processor_stats.go -@@ -11,10 +11,9 @@ package hcsschema - - // CPU runtime statistics - type ProcessorStats struct { -+ TotalRuntime100ns uint64 `json:"TotalRuntime100ns,omitempty"` - -- TotalRuntime100ns int32 `json:"TotalRuntime100ns,omitempty"` -+ RuntimeUser100ns uint64 `json:"RuntimeUser100ns,omitempty"` - -- RuntimeUser100ns int32 `json:"RuntimeUser100ns,omitempty"` -- -- RuntimeKernel100ns int32 `json:"RuntimeKernel100ns,omitempty"` -+ RuntimeKernel100ns uint64 `json:"RuntimeKernel100ns,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/properties.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/properties.go -index 6db2a48f6..17558cba0 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/properties.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/properties.go -@@ -9,8 +9,11 @@ - - package hcsschema - --type Properties struct { -+import ( -+ v1 "github.com/containerd/cgroups/stats/v1" -+) - -+type Properties struct { - Id string `json:"Id,omitempty"` - - SystemType string `json:"SystemType,omitempty"` -@@ -44,4 +47,8 @@ type Properties struct { - SharedMemoryRegionInfo []SharedMemoryRegionInfo `json:"SharedMemoryRegionInfo,omitempty"` - - GuestConnectionInfo *GuestConnectionInfo `json:"GuestConnectionInfo,omitempty"` -+ -+ // Metrics is not part of the API for HCS but this is used for LCOW v2 to -+ // return the full cgroup metrics from the guest. -+ Metrics *v1.Metrics `json:"LCOWMetrics,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/property_query.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/property_query.go -index 22b92ffdf..d6d80df13 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/property_query.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/property_query.go -@@ -9,8 +9,7 @@ - - package hcsschema - --// By default the basic properties will be returned. This query provides a way to request specific properties. -+// By default the basic properties will be returned. This query provides a way to request specific properties. - type PropertyQuery struct { -- -- PropertyTypes []string `json:"PropertyTypes,omitempty"` -+ PropertyTypes []PropertyType `json:"PropertyTypes,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/property_type.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/property_type.go -new file mode 100644 -index 000000000..f092b737f ---- /dev/null -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/property_type.go -@@ -0,0 +1,23 @@ -+/* -+ * HCS API -+ * -+ * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) -+ * -+ * API version: 2.1 -+ * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) -+ */ -+ -+package hcsschema -+ -+type PropertyType string -+ -+const ( -+ PTMemory PropertyType = "Memory" -+ PTGuestMemory PropertyType = "GuestMemory" -+ PTStatistics PropertyType = "Statistics" -+ PTProcessList PropertyType = "ProcessList" -+ PTTerminateOnLastHandleClosed PropertyType = "TerminateOnLastHandleClosed" -+ PTSharedMemoryRegion PropertyType = "SharedMemoryRegion" -+ PTGuestConnection PropertyType = "GuestConnection" -+ PTICHeartbeatStatus PropertyType = "ICHeartbeatStatus" -+) -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/rdp_connection_options.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/rdp_connection_options.go -index 97e453128..8d5f5c171 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/rdp_connection_options.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/rdp_connection_options.go -@@ -10,7 +10,6 @@ - package hcsschema - - type RdpConnectionOptions struct { -- - AccessSids []string `json:"AccessSids,omitempty"` - - NamedPipe string `json:"NamedPipe,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_changes.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_changes.go -index fa574ccc8..006906f6e 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_changes.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_changes.go -@@ -10,7 +10,6 @@ - package hcsschema - - type RegistryChanges struct { -- - AddValues []RegistryValue `json:"AddValues,omitempty"` - - DeleteKeys []RegistryKey `json:"DeleteKeys,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_key.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_key.go -index fab03bc60..26fde99c7 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_key.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_key.go -@@ -10,7 +10,6 @@ - package hcsschema - - type RegistryKey struct { -- - Hive string `json:"Hive,omitempty"` - - Name string `json:"Name,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_value.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_value.go -index 1589f4841..3f203176c 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_value.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/registry_value.go -@@ -10,7 +10,6 @@ - package hcsschema - - type RegistryValue struct { -- - Key *RegistryKey `json:"Key,omitempty"` - - Name string `json:"Name,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_configuration.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_configuration.go -index bd573f6cd..df9baa921 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_configuration.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_configuration.go -@@ -10,6 +10,5 @@ - package hcsschema - - type SharedMemoryConfiguration struct { -- - Regions []SharedMemoryRegion `json:"Regions,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_region.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_region.go -index a57b2cba7..825b71865 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_region.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_region.go -@@ -10,7 +10,6 @@ - package hcsschema - - type SharedMemoryRegion struct { -- - SectionName string `json:"SectionName,omitempty"` - - StartOffset int32 `json:"StartOffset,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_region_info.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_region_info.go -index d9a50cc7d..f67b08eb5 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_region_info.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/shared_memory_region_info.go -@@ -10,7 +10,6 @@ - package hcsschema - - type SharedMemoryRegionInfo struct { -- - SectionName string `json:"SectionName,omitempty"` - - GuestPhysicalAddress int32 `json:"GuestPhysicalAddress,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/silo_properties.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/silo_properties.go -index 599c06e8a..5eaf6a7f4 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/silo_properties.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/silo_properties.go -@@ -11,7 +11,6 @@ package hcsschema - - // Silo job information - type SiloProperties struct { -- - Enabled bool `json:"Enabled,omitempty"` - - JobName string `json:"JobName,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/statistics.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/statistics.go -index 5cb3ed93b..ba7a6b396 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/statistics.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/statistics.go -@@ -15,12 +15,11 @@ import ( - - // Runtime statistics for a container - type Statistics struct { -- - Timestamp time.Time `json:"Timestamp,omitempty"` - - ContainerStartTime time.Time `json:"ContainerStartTime,omitempty"` - -- Uptime100ns int32 `json:"Uptime100ns,omitempty"` -+ Uptime100ns uint64 `json:"Uptime100ns,omitempty"` - - Processor *ProcessorStats `json:"Processor,omitempty"` - -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/storage_qo_s.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/storage_qo_s.go -index 8c5255df1..9c5e6eb53 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/storage_qo_s.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/storage_qo_s.go -@@ -10,7 +10,6 @@ - package hcsschema - - type StorageQoS struct { -- - IopsMaximum int32 `json:"IopsMaximum,omitempty"` - - BandwidthMaximum int32 `json:"BandwidthMaximum,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/storage_stats.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/storage_stats.go -index 198ea57d7..4f042ffd9 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/storage_stats.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/storage_stats.go -@@ -11,12 +11,11 @@ package hcsschema - - // Storage runtime statistics - type StorageStats struct { -+ ReadCountNormalized uint64 `json:"ReadCountNormalized,omitempty"` - -- ReadCountNormalized int32 `json:"ReadCountNormalized,omitempty"` -+ ReadSizeBytes uint64 `json:"ReadSizeBytes,omitempty"` - -- ReadSizeBytes int32 `json:"ReadSizeBytes,omitempty"` -+ WriteCountNormalized uint64 `json:"WriteCountNormalized,omitempty"` - -- WriteCountNormalized int32 `json:"WriteCountNormalized,omitempty"` -- -- WriteSizeBytes int32 `json:"WriteSizeBytes,omitempty"` -+ WriteSizeBytes uint64 `json:"WriteSizeBytes,omitempty"` - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/topology.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/topology.go -index af2e3c823..834869940 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/topology.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/topology.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Topology struct { -- - Memory *Memory2 `json:"Memory,omitempty"` - - Processor *Processor2 `json:"Processor,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/uefi.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/uefi.go -index ba91178f9..0e48ece50 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/uefi.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/uefi.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Uefi struct { -- - EnableDebugger bool `json:"EnableDebugger,omitempty"` - - SecureBootTemplateId string `json:"SecureBootTemplateId,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/uefi_boot_entry.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/uefi_boot_entry.go -index 6620fb2bc..3ab409d82 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/uefi_boot_entry.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/uefi_boot_entry.go -@@ -10,7 +10,6 @@ - package hcsschema - - type UefiBootEntry struct { -- - DeviceType string `json:"DeviceType,omitempty"` - - DevicePath string `json:"DevicePath,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/version.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/version.go -index 62c0e4d12..2abfccca3 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/version.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/version.go -@@ -10,7 +10,6 @@ - package hcsschema - - type Version struct { -- - Major int32 `json:"Major,omitempty"` - - Minor int32 `json:"Minor,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/video_monitor.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/video_monitor.go -index 0958e5606..ec5d0fb93 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/video_monitor.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/video_monitor.go -@@ -10,7 +10,6 @@ - package hcsschema - - type VideoMonitor struct { -- - HorizontalResolution int32 `json:"HorizontalResolution,omitempty"` - - VerticalResolution int32 `json:"VerticalResolution,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_node_info.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_node_info.go -index 48402d8ec..91a3c83d4 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_node_info.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_node_info.go -@@ -10,7 +10,6 @@ - package hcsschema - - type VirtualNodeInfo struct { -- - VirtualNodeIndex int32 `json:"VirtualNodeIndex,omitempty"` - - PhysicalNodeNumber int32 `json:"PhysicalNodeNumber,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_p_mem_device.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_p_mem_device.go -index 47714444a..70cf2d90d 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_p_mem_device.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_p_mem_device.go -@@ -10,7 +10,6 @@ - package hcsschema - - type VirtualPMemDevice struct { -- - HostPath string `json:"HostPath,omitempty"` - - ReadOnly bool `json:"ReadOnly,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb.go -index 76131b3a7..362df363e 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb.go -@@ -10,7 +10,6 @@ - package hcsschema - - type VirtualSmb struct { -- - Shares []VirtualSmbShare `json:"Shares,omitempty"` - - DirectFileMappingInMB int64 `json:"DirectFileMappingInMB,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb_share.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb_share.go -index b50098a42..915e9b638 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb_share.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb_share.go -@@ -10,7 +10,6 @@ - package hcsschema - - type VirtualSmbShare struct { -- - Name string `json:"Name,omitempty"` - - Path string `json:"Path,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb_share_options.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb_share_options.go -index c1894279d..75196bd8c 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb_share_options.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/virtual_smb_share_options.go -@@ -10,7 +10,6 @@ - package hcsschema - - type VirtualSmbShareOptions struct { -- - ReadOnly bool `json:"ReadOnly,omitempty"` - - // convert exclusive access to shared read access -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/vm_memory.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/vm_memory.go -index 39f628667..8e1836dd6 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/vm_memory.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/vm_memory.go -@@ -10,14 +10,13 @@ - package hcsschema - - type VmMemory struct { -- - AvailableMemory int32 `json:"AvailableMemory,omitempty"` - - AvailableMemoryBuffer int32 `json:"AvailableMemoryBuffer,omitempty"` - -- ReservedMemory int32 `json:"ReservedMemory,omitempty"` -+ ReservedMemory uint64 `json:"ReservedMemory,omitempty"` - -- AssignedMemory int32 `json:"AssignedMemory,omitempty"` -+ AssignedMemory uint64 `json:"AssignedMemory,omitempty"` - - SlpActive bool `json:"SlpActive,omitempty"` - -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/schema2/windows_crash_reporting.go b/vendor/github.com/Microsoft/hcsshim/internal/schema2/windows_crash_reporting.go -index cf632bbc8..8ed7e566d 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/schema2/windows_crash_reporting.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/schema2/windows_crash_reporting.go -@@ -10,7 +10,6 @@ - package hcsschema - - type WindowsCrashReporting struct { -- - DumpFileName string `json:"DumpFileName,omitempty"` - - MaxDumpSize int64 `json:"MaxDumpSize,omitempty"` -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go b/vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go -new file mode 100644 -index 000000000..7c2a0dc28 ---- /dev/null -+++ b/vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go -@@ -0,0 +1,565 @@ -+package vmcompute -+ -+import ( -+ gcontext "context" -+ "syscall" -+ "time" -+ -+ "github.com/Microsoft/hcsshim/internal/interop" -+ "github.com/Microsoft/hcsshim/internal/log" -+ "github.com/Microsoft/hcsshim/internal/logfields" -+ "github.com/Microsoft/hcsshim/internal/oc" -+ "github.com/Microsoft/hcsshim/internal/timeout" -+ "go.opencensus.io/trace" -+) -+ -+//go:generate go run ../../mksyscall_windows.go -output zsyscall_windows.go vmcompute.go -+ -+//sys hcsEnumerateComputeSystems(query string, computeSystems **uint16, result **uint16) (hr error) = vmcompute.HcsEnumerateComputeSystems? -+//sys hcsCreateComputeSystem(id string, configuration string, identity syscall.Handle, computeSystem *HcsSystem, result **uint16) (hr error) = vmcompute.HcsCreateComputeSystem? -+//sys hcsOpenComputeSystem(id string, computeSystem *HcsSystem, result **uint16) (hr error) = vmcompute.HcsOpenComputeSystem? -+//sys hcsCloseComputeSystem(computeSystem HcsSystem) (hr error) = vmcompute.HcsCloseComputeSystem? -+//sys hcsStartComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsStartComputeSystem? -+//sys hcsShutdownComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsShutdownComputeSystem? -+//sys hcsTerminateComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsTerminateComputeSystem? -+//sys hcsPauseComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsPauseComputeSystem? -+//sys hcsResumeComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) = vmcompute.HcsResumeComputeSystem? -+//sys hcsGetComputeSystemProperties(computeSystem HcsSystem, propertyQuery string, properties **uint16, result **uint16) (hr error) = vmcompute.HcsGetComputeSystemProperties? -+//sys hcsModifyComputeSystem(computeSystem HcsSystem, configuration string, result **uint16) (hr error) = vmcompute.HcsModifyComputeSystem? -+//sys hcsRegisterComputeSystemCallback(computeSystem HcsSystem, callback uintptr, context uintptr, callbackHandle *HcsCallback) (hr error) = vmcompute.HcsRegisterComputeSystemCallback? -+//sys hcsUnregisterComputeSystemCallback(callbackHandle HcsCallback) (hr error) = vmcompute.HcsUnregisterComputeSystemCallback? -+ -+//sys hcsCreateProcess(computeSystem HcsSystem, processParameters string, processInformation *HcsProcessInformation, process *HcsProcess, result **uint16) (hr error) = vmcompute.HcsCreateProcess? -+//sys hcsOpenProcess(computeSystem HcsSystem, pid uint32, process *HcsProcess, result **uint16) (hr error) = vmcompute.HcsOpenProcess? -+//sys hcsCloseProcess(process HcsProcess) (hr error) = vmcompute.HcsCloseProcess? -+//sys hcsTerminateProcess(process HcsProcess, result **uint16) (hr error) = vmcompute.HcsTerminateProcess? -+//sys hcsSignalProcess(process HcsProcess, options string, result **uint16) (hr error) = vmcompute.HcsSignalProcess? -+//sys hcsGetProcessInfo(process HcsProcess, processInformation *HcsProcessInformation, result **uint16) (hr error) = vmcompute.HcsGetProcessInfo? -+//sys hcsGetProcessProperties(process HcsProcess, processProperties **uint16, result **uint16) (hr error) = vmcompute.HcsGetProcessProperties? -+//sys hcsModifyProcess(process HcsProcess, settings string, result **uint16) (hr error) = vmcompute.HcsModifyProcess? -+//sys hcsGetServiceProperties(propertyQuery string, properties **uint16, result **uint16) (hr error) = vmcompute.HcsGetServiceProperties? -+//sys hcsRegisterProcessCallback(process HcsProcess, callback uintptr, context uintptr, callbackHandle *HcsCallback) (hr error) = vmcompute.HcsRegisterProcessCallback? -+//sys hcsUnregisterProcessCallback(callbackHandle HcsCallback) (hr error) = vmcompute.HcsUnregisterProcessCallback? -+ -+// errVmcomputeOperationPending is an error encountered when the operation is being completed asynchronously -+const errVmcomputeOperationPending = syscall.Errno(0xC0370103) -+ -+// HcsSystem is the handle associated with a created compute system. -+type HcsSystem syscall.Handle -+ -+// HcsProcess is the handle associated with a created process in a compute -+// system. -+type HcsProcess syscall.Handle -+ -+// HcsCallback is the handle associated with the function to call when events -+// occur. -+type HcsCallback syscall.Handle -+ -+// HcsProcessInformation is the structure used when creating or getting process -+// info. -+type HcsProcessInformation struct { -+ // ProcessId is the pid of the created process. -+ ProcessId uint32 -+ reserved uint32 -+ // StdInput is the handle associated with the stdin of the process. -+ StdInput syscall.Handle -+ // StdOutput is the handle associated with the stdout of the process. -+ StdOutput syscall.Handle -+ // StdError is the handle associated with the stderr of the process. -+ StdError syscall.Handle -+} -+ -+func execute(ctx gcontext.Context, timeout time.Duration, f func() error) error { -+ if timeout > 0 { -+ var cancel gcontext.CancelFunc -+ ctx, cancel = gcontext.WithTimeout(ctx, timeout) -+ defer cancel() -+ } -+ -+ done := make(chan error, 1) -+ go func() { -+ done <- f() -+ }() -+ select { -+ case <-ctx.Done(): -+ if ctx.Err() == gcontext.DeadlineExceeded { -+ log.G(ctx).WithField(logfields.Timeout, timeout). -+ Warning("Syscall did not complete within operation timeout. This may indicate a platform issue. If it appears to be making no forward progress, obtain the stacks and see if there is a syscall stuck in the platform API for a significant length of time.") -+ } -+ return ctx.Err() -+ case err := <-done: -+ return err -+ } -+} -+ -+func HcsEnumerateComputeSystems(ctx gcontext.Context, query string) (computeSystems, result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsEnumerateComputeSystems") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ span.AddAttributes(trace.StringAttribute("query", query)) -+ -+ return computeSystems, result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var ( -+ computeSystemsp *uint16 -+ resultp *uint16 -+ ) -+ err := hcsEnumerateComputeSystems(query, &computeSystemsp, &resultp) -+ if computeSystemsp != nil { -+ computeSystems = interop.ConvertAndFreeCoTaskMemString(computeSystemsp) -+ } -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsCreateComputeSystem(ctx gcontext.Context, id string, configuration string, identity syscall.Handle) (computeSystem HcsSystem, result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsCreateComputeSystem") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ if hr != errVmcomputeOperationPending { -+ oc.SetSpanStatus(span, hr) -+ } -+ }() -+ span.AddAttributes( -+ trace.StringAttribute("id", id), -+ trace.StringAttribute("configuration", configuration)) -+ -+ return computeSystem, result, execute(ctx, timeout.SystemCreate, func() error { -+ var resultp *uint16 -+ err := hcsCreateComputeSystem(id, configuration, identity, &computeSystem, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsOpenComputeSystem(ctx gcontext.Context, id string) (computeSystem HcsSystem, result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsOpenComputeSystem") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ -+ return computeSystem, result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsOpenComputeSystem(id, &computeSystem, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsCloseComputeSystem(ctx gcontext.Context, computeSystem HcsSystem) (hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsCloseComputeSystem") -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, hr) }() -+ -+ return execute(ctx, timeout.SyscallWatcher, func() error { -+ return hcsCloseComputeSystem(computeSystem) -+ }) -+} -+ -+func HcsStartComputeSystem(ctx gcontext.Context, computeSystem HcsSystem, options string) (result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsStartComputeSystem") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ if hr != errVmcomputeOperationPending { -+ oc.SetSpanStatus(span, hr) -+ } -+ }() -+ span.AddAttributes(trace.StringAttribute("options", options)) -+ -+ return result, execute(ctx, timeout.SystemStart, func() error { -+ var resultp *uint16 -+ err := hcsStartComputeSystem(computeSystem, options, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsShutdownComputeSystem(ctx gcontext.Context, computeSystem HcsSystem, options string) (result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsShutdownComputeSystem") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ if hr != errVmcomputeOperationPending { -+ oc.SetSpanStatus(span, hr) -+ } -+ }() -+ span.AddAttributes(trace.StringAttribute("options", options)) -+ -+ return result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsShutdownComputeSystem(computeSystem, options, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsTerminateComputeSystem(ctx gcontext.Context, computeSystem HcsSystem, options string) (result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsTerminateComputeSystem") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ if hr != errVmcomputeOperationPending { -+ oc.SetSpanStatus(span, hr) -+ } -+ }() -+ span.AddAttributes(trace.StringAttribute("options", options)) -+ -+ return result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsTerminateComputeSystem(computeSystem, options, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsPauseComputeSystem(ctx gcontext.Context, computeSystem HcsSystem, options string) (result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsPauseComputeSystem") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ if hr != errVmcomputeOperationPending { -+ oc.SetSpanStatus(span, hr) -+ } -+ }() -+ span.AddAttributes(trace.StringAttribute("options", options)) -+ -+ return result, execute(ctx, timeout.SystemPause, func() error { -+ var resultp *uint16 -+ err := hcsPauseComputeSystem(computeSystem, options, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsResumeComputeSystem(ctx gcontext.Context, computeSystem HcsSystem, options string) (result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsResumeComputeSystem") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ if hr != errVmcomputeOperationPending { -+ oc.SetSpanStatus(span, hr) -+ } -+ }() -+ span.AddAttributes(trace.StringAttribute("options", options)) -+ -+ return result, execute(ctx, timeout.SystemResume, func() error { -+ var resultp *uint16 -+ err := hcsResumeComputeSystem(computeSystem, options, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsGetComputeSystemProperties(ctx gcontext.Context, computeSystem HcsSystem, propertyQuery string) (properties, result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsGetComputeSystemProperties") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ span.AddAttributes(trace.StringAttribute("propertyQuery", propertyQuery)) -+ -+ return properties, result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var ( -+ propertiesp *uint16 -+ resultp *uint16 -+ ) -+ err := hcsGetComputeSystemProperties(computeSystem, propertyQuery, &propertiesp, &resultp) -+ if propertiesp != nil { -+ properties = interop.ConvertAndFreeCoTaskMemString(propertiesp) -+ } -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsModifyComputeSystem(ctx gcontext.Context, computeSystem HcsSystem, configuration string) (result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsModifyComputeSystem") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ span.AddAttributes(trace.StringAttribute("configuration", configuration)) -+ -+ return result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsModifyComputeSystem(computeSystem, configuration, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsRegisterComputeSystemCallback(ctx gcontext.Context, computeSystem HcsSystem, callback uintptr, context uintptr) (callbackHandle HcsCallback, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsRegisterComputeSystemCallback") -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, hr) }() -+ -+ return callbackHandle, execute(ctx, timeout.SyscallWatcher, func() error { -+ return hcsRegisterComputeSystemCallback(computeSystem, callback, context, &callbackHandle) -+ }) -+} -+ -+func HcsUnregisterComputeSystemCallback(ctx gcontext.Context, callbackHandle HcsCallback) (hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsUnregisterComputeSystemCallback") -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, hr) }() -+ -+ return execute(ctx, timeout.SyscallWatcher, func() error { -+ return hcsUnregisterComputeSystemCallback(callbackHandle) -+ }) -+} -+ -+func HcsCreateProcess(ctx gcontext.Context, computeSystem HcsSystem, processParameters string) (processInformation HcsProcessInformation, process HcsProcess, result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsCreateProcess") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ span.AddAttributes(trace.StringAttribute("processParameters", processParameters)) -+ -+ return processInformation, process, result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsCreateProcess(computeSystem, processParameters, &processInformation, &process, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsOpenProcess(ctx gcontext.Context, computeSystem HcsSystem, pid uint32) (process HcsProcess, result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsOpenProcess") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ span.AddAttributes(trace.Int64Attribute("pid", int64(pid))) -+ -+ return process, result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsOpenProcess(computeSystem, pid, &process, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsCloseProcess(ctx gcontext.Context, process HcsProcess) (hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsCloseProcess") -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, hr) }() -+ -+ return execute(ctx, timeout.SyscallWatcher, func() error { -+ return hcsCloseProcess(process) -+ }) -+} -+ -+func HcsTerminateProcess(ctx gcontext.Context, process HcsProcess) (result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsTerminateProcess") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ -+ return result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsTerminateProcess(process, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsSignalProcess(ctx gcontext.Context, process HcsProcess, options string) (result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsSignalProcess") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ span.AddAttributes(trace.StringAttribute("options", options)) -+ -+ return result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsSignalProcess(process, options, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsGetProcessInfo(ctx gcontext.Context, process HcsProcess) (processInformation HcsProcessInformation, result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsGetProcessInfo") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ -+ return processInformation, result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsGetProcessInfo(process, &processInformation, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsGetProcessProperties(ctx gcontext.Context, process HcsProcess) (processProperties, result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsGetProcessProperties") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ -+ return processProperties, result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var ( -+ processPropertiesp *uint16 -+ resultp *uint16 -+ ) -+ err := hcsGetProcessProperties(process, &processPropertiesp, &resultp) -+ if processPropertiesp != nil { -+ processProperties = interop.ConvertAndFreeCoTaskMemString(processPropertiesp) -+ } -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsModifyProcess(ctx gcontext.Context, process HcsProcess, settings string) (result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsModifyProcess") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ span.AddAttributes(trace.StringAttribute("settings", settings)) -+ -+ return result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var resultp *uint16 -+ err := hcsModifyProcess(process, settings, &resultp) -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsGetServiceProperties(ctx gcontext.Context, propertyQuery string) (properties, result string, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsGetServiceProperties") -+ defer span.End() -+ defer func() { -+ if result != "" { -+ span.AddAttributes(trace.StringAttribute("result", result)) -+ } -+ oc.SetSpanStatus(span, hr) -+ }() -+ span.AddAttributes(trace.StringAttribute("propertyQuery", propertyQuery)) -+ -+ return properties, result, execute(ctx, timeout.SyscallWatcher, func() error { -+ var ( -+ propertiesp *uint16 -+ resultp *uint16 -+ ) -+ err := hcsGetServiceProperties(propertyQuery, &propertiesp, &resultp) -+ if propertiesp != nil { -+ properties = interop.ConvertAndFreeCoTaskMemString(propertiesp) -+ } -+ if resultp != nil { -+ result = interop.ConvertAndFreeCoTaskMemString(resultp) -+ } -+ return err -+ }) -+} -+ -+func HcsRegisterProcessCallback(ctx gcontext.Context, process HcsProcess, callback uintptr, context uintptr) (callbackHandle HcsCallback, hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsRegisterProcessCallback") -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, hr) }() -+ -+ return callbackHandle, execute(ctx, timeout.SyscallWatcher, func() error { -+ return hcsRegisterProcessCallback(process, callback, context, &callbackHandle) -+ }) -+} -+ -+func HcsUnregisterProcessCallback(ctx gcontext.Context, callbackHandle HcsCallback) (hr error) { -+ ctx, span := trace.StartSpan(ctx, "HcsUnregisterProcessCallback") -+ defer span.End() -+ defer func() { oc.SetSpanStatus(span, hr) }() -+ -+ return execute(ctx, timeout.SyscallWatcher, func() error { -+ return hcsUnregisterProcessCallback(callbackHandle) -+ }) -+} -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/zsyscall_windows.go b/vendor/github.com/Microsoft/hcsshim/internal/vmcompute/zsyscall_windows.go -similarity index 81% -rename from vendor/github.com/Microsoft/hcsshim/internal/hcs/zsyscall_windows.go -rename to vendor/github.com/Microsoft/hcsshim/internal/vmcompute/zsyscall_windows.go -index fcd5cdc87..0f2a69f6a 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/zsyscall_windows.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/vmcompute/zsyscall_windows.go -@@ -1,6 +1,6 @@ - // Code generated mksyscall_windows.exe DO NOT EDIT - --package hcs -+package vmcompute - - import ( - "syscall" -@@ -56,13 +56,13 @@ var ( - procHcsOpenProcess = modvmcompute.NewProc("HcsOpenProcess") - procHcsCloseProcess = modvmcompute.NewProc("HcsCloseProcess") - procHcsTerminateProcess = modvmcompute.NewProc("HcsTerminateProcess") -- -- procHcsGetProcessInfo = modvmcompute.NewProc("HcsGetProcessInfo") -- procHcsGetProcessProperties = modvmcompute.NewProc("HcsGetProcessProperties") -- procHcsModifyProcess = modvmcompute.NewProc("HcsModifyProcess") -- procHcsGetServiceProperties = modvmcompute.NewProc("HcsGetServiceProperties") -- procHcsRegisterProcessCallback = modvmcompute.NewProc("HcsRegisterProcessCallback") -- procHcsUnregisterProcessCallback = modvmcompute.NewProc("HcsUnregisterProcessCallback") -+ procHcsSignalProcess = modvmcompute.NewProc("HcsSignalProcess") -+ procHcsGetProcessInfo = modvmcompute.NewProc("HcsGetProcessInfo") -+ procHcsGetProcessProperties = modvmcompute.NewProc("HcsGetProcessProperties") -+ procHcsModifyProcess = modvmcompute.NewProc("HcsModifyProcess") -+ procHcsGetServiceProperties = modvmcompute.NewProc("HcsGetServiceProperties") -+ procHcsRegisterProcessCallback = modvmcompute.NewProc("HcsRegisterProcessCallback") -+ procHcsUnregisterProcessCallback = modvmcompute.NewProc("HcsUnregisterProcessCallback") - ) - - func hcsEnumerateComputeSystems(query string, computeSystems **uint16, result **uint16) (hr error) { -@@ -88,7 +88,7 @@ func _hcsEnumerateComputeSystems(query *uint16, computeSystems **uint16, result - return - } - --func hcsCreateComputeSystem(id string, configuration string, identity syscall.Handle, computeSystem *hcsSystem, result **uint16) (hr error) { -+func hcsCreateComputeSystem(id string, configuration string, identity syscall.Handle, computeSystem *HcsSystem, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(id) - if hr != nil { -@@ -102,7 +102,7 @@ func hcsCreateComputeSystem(id string, configuration string, identity syscall.Ha - return _hcsCreateComputeSystem(_p0, _p1, identity, computeSystem, result) - } - --func _hcsCreateComputeSystem(id *uint16, configuration *uint16, identity syscall.Handle, computeSystem *hcsSystem, result **uint16) (hr error) { -+func _hcsCreateComputeSystem(id *uint16, configuration *uint16, identity syscall.Handle, computeSystem *HcsSystem, result **uint16) (hr error) { - if hr = procHcsCreateComputeSystem.Find(); hr != nil { - return - } -@@ -116,7 +116,7 @@ func _hcsCreateComputeSystem(id *uint16, configuration *uint16, identity syscall - return - } - --func hcsOpenComputeSystem(id string, computeSystem *hcsSystem, result **uint16) (hr error) { -+func hcsOpenComputeSystem(id string, computeSystem *HcsSystem, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(id) - if hr != nil { -@@ -125,7 +125,7 @@ func hcsOpenComputeSystem(id string, computeSystem *hcsSystem, result **uint16) - return _hcsOpenComputeSystem(_p0, computeSystem, result) - } - --func _hcsOpenComputeSystem(id *uint16, computeSystem *hcsSystem, result **uint16) (hr error) { -+func _hcsOpenComputeSystem(id *uint16, computeSystem *HcsSystem, result **uint16) (hr error) { - if hr = procHcsOpenComputeSystem.Find(); hr != nil { - return - } -@@ -139,7 +139,7 @@ func _hcsOpenComputeSystem(id *uint16, computeSystem *hcsSystem, result **uint16 - return - } - --func hcsCloseComputeSystem(computeSystem hcsSystem) (hr error) { -+func hcsCloseComputeSystem(computeSystem HcsSystem) (hr error) { - if hr = procHcsCloseComputeSystem.Find(); hr != nil { - return - } -@@ -153,7 +153,7 @@ func hcsCloseComputeSystem(computeSystem hcsSystem) (hr error) { - return - } - --func hcsStartComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) { -+func hcsStartComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(options) - if hr != nil { -@@ -162,7 +162,7 @@ func hcsStartComputeSystem(computeSystem hcsSystem, options string, result **uin - return _hcsStartComputeSystem(computeSystem, _p0, result) - } - --func _hcsStartComputeSystem(computeSystem hcsSystem, options *uint16, result **uint16) (hr error) { -+func _hcsStartComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { - if hr = procHcsStartComputeSystem.Find(); hr != nil { - return - } -@@ -176,7 +176,7 @@ func _hcsStartComputeSystem(computeSystem hcsSystem, options *uint16, result **u - return - } - --func hcsShutdownComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) { -+func hcsShutdownComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(options) - if hr != nil { -@@ -185,7 +185,7 @@ func hcsShutdownComputeSystem(computeSystem hcsSystem, options string, result ** - return _hcsShutdownComputeSystem(computeSystem, _p0, result) - } - --func _hcsShutdownComputeSystem(computeSystem hcsSystem, options *uint16, result **uint16) (hr error) { -+func _hcsShutdownComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { - if hr = procHcsShutdownComputeSystem.Find(); hr != nil { - return - } -@@ -199,7 +199,7 @@ func _hcsShutdownComputeSystem(computeSystem hcsSystem, options *uint16, result - return - } - --func hcsTerminateComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) { -+func hcsTerminateComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(options) - if hr != nil { -@@ -208,7 +208,7 @@ func hcsTerminateComputeSystem(computeSystem hcsSystem, options string, result * - return _hcsTerminateComputeSystem(computeSystem, _p0, result) - } - --func _hcsTerminateComputeSystem(computeSystem hcsSystem, options *uint16, result **uint16) (hr error) { -+func _hcsTerminateComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { - if hr = procHcsTerminateComputeSystem.Find(); hr != nil { - return - } -@@ -222,7 +222,7 @@ func _hcsTerminateComputeSystem(computeSystem hcsSystem, options *uint16, result - return - } - --func hcsPauseComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) { -+func hcsPauseComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(options) - if hr != nil { -@@ -231,7 +231,7 @@ func hcsPauseComputeSystem(computeSystem hcsSystem, options string, result **uin - return _hcsPauseComputeSystem(computeSystem, _p0, result) - } - --func _hcsPauseComputeSystem(computeSystem hcsSystem, options *uint16, result **uint16) (hr error) { -+func _hcsPauseComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { - if hr = procHcsPauseComputeSystem.Find(); hr != nil { - return - } -@@ -245,7 +245,7 @@ func _hcsPauseComputeSystem(computeSystem hcsSystem, options *uint16, result **u - return - } - --func hcsResumeComputeSystem(computeSystem hcsSystem, options string, result **uint16) (hr error) { -+func hcsResumeComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(options) - if hr != nil { -@@ -254,7 +254,7 @@ func hcsResumeComputeSystem(computeSystem hcsSystem, options string, result **ui - return _hcsResumeComputeSystem(computeSystem, _p0, result) - } - --func _hcsResumeComputeSystem(computeSystem hcsSystem, options *uint16, result **uint16) (hr error) { -+func _hcsResumeComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { - if hr = procHcsResumeComputeSystem.Find(); hr != nil { - return - } -@@ -268,7 +268,7 @@ func _hcsResumeComputeSystem(computeSystem hcsSystem, options *uint16, result ** - return - } - --func hcsGetComputeSystemProperties(computeSystem hcsSystem, propertyQuery string, properties **uint16, result **uint16) (hr error) { -+func hcsGetComputeSystemProperties(computeSystem HcsSystem, propertyQuery string, properties **uint16, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(propertyQuery) - if hr != nil { -@@ -277,7 +277,7 @@ func hcsGetComputeSystemProperties(computeSystem hcsSystem, propertyQuery string - return _hcsGetComputeSystemProperties(computeSystem, _p0, properties, result) - } - --func _hcsGetComputeSystemProperties(computeSystem hcsSystem, propertyQuery *uint16, properties **uint16, result **uint16) (hr error) { -+func _hcsGetComputeSystemProperties(computeSystem HcsSystem, propertyQuery *uint16, properties **uint16, result **uint16) (hr error) { - if hr = procHcsGetComputeSystemProperties.Find(); hr != nil { - return - } -@@ -291,7 +291,7 @@ func _hcsGetComputeSystemProperties(computeSystem hcsSystem, propertyQuery *uint - return - } - --func hcsModifyComputeSystem(computeSystem hcsSystem, configuration string, result **uint16) (hr error) { -+func hcsModifyComputeSystem(computeSystem HcsSystem, configuration string, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(configuration) - if hr != nil { -@@ -300,7 +300,7 @@ func hcsModifyComputeSystem(computeSystem hcsSystem, configuration string, resul - return _hcsModifyComputeSystem(computeSystem, _p0, result) - } - --func _hcsModifyComputeSystem(computeSystem hcsSystem, configuration *uint16, result **uint16) (hr error) { -+func _hcsModifyComputeSystem(computeSystem HcsSystem, configuration *uint16, result **uint16) (hr error) { - if hr = procHcsModifyComputeSystem.Find(); hr != nil { - return - } -@@ -314,7 +314,7 @@ func _hcsModifyComputeSystem(computeSystem hcsSystem, configuration *uint16, res - return - } - --func hcsRegisterComputeSystemCallback(computeSystem hcsSystem, callback uintptr, context uintptr, callbackHandle *hcsCallback) (hr error) { -+func hcsRegisterComputeSystemCallback(computeSystem HcsSystem, callback uintptr, context uintptr, callbackHandle *HcsCallback) (hr error) { - if hr = procHcsRegisterComputeSystemCallback.Find(); hr != nil { - return - } -@@ -328,7 +328,7 @@ func hcsRegisterComputeSystemCallback(computeSystem hcsSystem, callback uintptr, - return - } - --func hcsUnregisterComputeSystemCallback(callbackHandle hcsCallback) (hr error) { -+func hcsUnregisterComputeSystemCallback(callbackHandle HcsCallback) (hr error) { - if hr = procHcsUnregisterComputeSystemCallback.Find(); hr != nil { - return - } -@@ -342,7 +342,7 @@ func hcsUnregisterComputeSystemCallback(callbackHandle hcsCallback) (hr error) { - return - } - --func hcsCreateProcess(computeSystem hcsSystem, processParameters string, processInformation *hcsProcessInformation, process *hcsProcess, result **uint16) (hr error) { -+func hcsCreateProcess(computeSystem HcsSystem, processParameters string, processInformation *HcsProcessInformation, process *HcsProcess, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(processParameters) - if hr != nil { -@@ -351,7 +351,7 @@ func hcsCreateProcess(computeSystem hcsSystem, processParameters string, process - return _hcsCreateProcess(computeSystem, _p0, processInformation, process, result) - } - --func _hcsCreateProcess(computeSystem hcsSystem, processParameters *uint16, processInformation *hcsProcessInformation, process *hcsProcess, result **uint16) (hr error) { -+func _hcsCreateProcess(computeSystem HcsSystem, processParameters *uint16, processInformation *HcsProcessInformation, process *HcsProcess, result **uint16) (hr error) { - if hr = procHcsCreateProcess.Find(); hr != nil { - return - } -@@ -365,7 +365,7 @@ func _hcsCreateProcess(computeSystem hcsSystem, processParameters *uint16, proce - return - } - --func hcsOpenProcess(computeSystem hcsSystem, pid uint32, process *hcsProcess, result **uint16) (hr error) { -+func hcsOpenProcess(computeSystem HcsSystem, pid uint32, process *HcsProcess, result **uint16) (hr error) { - if hr = procHcsOpenProcess.Find(); hr != nil { - return - } -@@ -379,7 +379,7 @@ func hcsOpenProcess(computeSystem hcsSystem, pid uint32, process *hcsProcess, re - return - } - --func hcsCloseProcess(process hcsProcess) (hr error) { -+func hcsCloseProcess(process HcsProcess) (hr error) { - if hr = procHcsCloseProcess.Find(); hr != nil { - return - } -@@ -393,7 +393,7 @@ func hcsCloseProcess(process hcsProcess) (hr error) { - return - } - --func hcsTerminateProcess(process hcsProcess, result **uint16) (hr error) { -+func hcsTerminateProcess(process HcsProcess, result **uint16) (hr error) { - if hr = procHcsTerminateProcess.Find(); hr != nil { - return - } -@@ -407,7 +407,7 @@ func hcsTerminateProcess(process hcsProcess, result **uint16) (hr error) { - return - } - --func hcsSignalProcess(process hcsProcess, options string, result **uint16) (hr error) { -+func hcsSignalProcess(process HcsProcess, options string, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(options) - if hr != nil { -@@ -416,11 +416,11 @@ func hcsSignalProcess(process hcsProcess, options string, result **uint16) (hr e - return _hcsSignalProcess(process, _p0, result) - } - --func _hcsSignalProcess(process hcsProcess, options *uint16, result **uint16) (hr error) { -- if hr = procHcsTerminateProcess.Find(); hr != nil { -+func _hcsSignalProcess(process HcsProcess, options *uint16, result **uint16) (hr error) { -+ if hr = procHcsSignalProcess.Find(); hr != nil { - return - } -- r0, _, _ := syscall.Syscall(procHcsTerminateProcess.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) -+ r0, _, _ := syscall.Syscall(procHcsSignalProcess.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff -@@ -430,7 +430,7 @@ func _hcsSignalProcess(process hcsProcess, options *uint16, result **uint16) (hr - return - } - --func hcsGetProcessInfo(process hcsProcess, processInformation *hcsProcessInformation, result **uint16) (hr error) { -+func hcsGetProcessInfo(process HcsProcess, processInformation *HcsProcessInformation, result **uint16) (hr error) { - if hr = procHcsGetProcessInfo.Find(); hr != nil { - return - } -@@ -444,7 +444,7 @@ func hcsGetProcessInfo(process hcsProcess, processInformation *hcsProcessInforma - return - } - --func hcsGetProcessProperties(process hcsProcess, processProperties **uint16, result **uint16) (hr error) { -+func hcsGetProcessProperties(process HcsProcess, processProperties **uint16, result **uint16) (hr error) { - if hr = procHcsGetProcessProperties.Find(); hr != nil { - return - } -@@ -458,7 +458,7 @@ func hcsGetProcessProperties(process hcsProcess, processProperties **uint16, res - return - } - --func hcsModifyProcess(process hcsProcess, settings string, result **uint16) (hr error) { -+func hcsModifyProcess(process HcsProcess, settings string, result **uint16) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(settings) - if hr != nil { -@@ -467,7 +467,7 @@ func hcsModifyProcess(process hcsProcess, settings string, result **uint16) (hr - return _hcsModifyProcess(process, _p0, result) - } - --func _hcsModifyProcess(process hcsProcess, settings *uint16, result **uint16) (hr error) { -+func _hcsModifyProcess(process HcsProcess, settings *uint16, result **uint16) (hr error) { - if hr = procHcsModifyProcess.Find(); hr != nil { - return - } -@@ -504,7 +504,7 @@ func _hcsGetServiceProperties(propertyQuery *uint16, properties **uint16, result - return - } - --func hcsRegisterProcessCallback(process hcsProcess, callback uintptr, context uintptr, callbackHandle *hcsCallback) (hr error) { -+func hcsRegisterProcessCallback(process HcsProcess, callback uintptr, context uintptr, callbackHandle *HcsCallback) (hr error) { - if hr = procHcsRegisterProcessCallback.Find(); hr != nil { - return - } -@@ -518,7 +518,7 @@ func hcsRegisterProcessCallback(process hcsProcess, callback uintptr, context ui - return - } - --func hcsUnregisterProcessCallback(callbackHandle hcsCallback) (hr error) { -+func hcsUnregisterProcessCallback(callbackHandle HcsCallback) (hr error) { - if hr = procHcsUnregisterProcessCallback.Find(); hr != nil { - return - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/expandscratchsize.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/expandscratchsize.go -index 651676fb2..b3b431e35 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/expandscratchsize.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/expandscratchsize.go -@@ -1,7 +1,13 @@ - package wclayer - - import ( -+ "os" -+ "path/filepath" -+ "syscall" -+ "unsafe" -+ - "github.com/Microsoft/hcsshim/internal/hcserror" -+ "github.com/Microsoft/hcsshim/osversion" - "github.com/sirupsen/logrus" - ) - -@@ -26,5 +32,114 @@ func ExpandScratchSize(path string, size uint64) (err error) { - if err != nil { - return hcserror.New(err, title+" - failed", "") - } -+ -+ // Manually expand the volume now in order to work around bugs in 19H1 and -+ // prerelease versions of Vb. Remove once this is fixed in Windows. -+ if build := osversion.Get().Build; build >= osversion.V19H1 && build < 19020 { -+ err = expandSandboxVolume(path) -+ if err != nil { -+ return err -+ } -+ } -+ return nil -+} -+ -+type virtualStorageType struct { -+ DeviceID uint32 -+ VendorID [16]byte -+} -+ -+type openVersion2 struct { -+ GetInfoOnly int32 // bool but 4-byte aligned -+ ReadOnly int32 // bool but 4-byte aligned -+ ResiliencyGUID [16]byte // GUID -+} -+ -+type openVirtualDiskParameters struct { -+ Version uint32 // Must always be set to 2 -+ Version2 openVersion2 -+} -+ -+func attachVhd(path string) (syscall.Handle, error) { -+ var ( -+ defaultType virtualStorageType -+ handle syscall.Handle -+ ) -+ parameters := openVirtualDiskParameters{Version: 2} -+ err := openVirtualDisk( -+ &defaultType, -+ path, -+ 0, -+ 0, -+ ¶meters, -+ &handle) -+ if err != nil { -+ return 0, &os.PathError{Op: "OpenVirtualDisk", Path: path, Err: err} -+ } -+ err = attachVirtualDisk(handle, 0, 0, 0, 0, 0) -+ if err != nil { -+ syscall.Close(handle) -+ return 0, &os.PathError{Op: "AttachVirtualDisk", Path: path, Err: err} -+ } -+ return handle, nil -+} -+ -+func expandSandboxVolume(path string) error { -+ // Mount the sandbox VHD temporarily. -+ vhdPath := filepath.Join(path, "sandbox.vhdx") -+ vhd, err := attachVhd(vhdPath) -+ if err != nil { -+ return &os.PathError{Op: "OpenVirtualDisk", Path: vhdPath, Err: err} -+ } -+ defer syscall.Close(vhd) -+ -+ // Open the volume. -+ volumePath, err := GetLayerMountPath(path) -+ if err != nil { -+ return err -+ } -+ if volumePath[len(volumePath)-1] == '\\' { -+ volumePath = volumePath[:len(volumePath)-1] -+ } -+ volume, err := os.OpenFile(volumePath, os.O_RDWR, 0) -+ if err != nil { -+ return err -+ } -+ defer volume.Close() -+ -+ // Get the volume's underlying partition size in NTFS clusters. -+ var ( -+ partitionSize int64 -+ bytes uint32 -+ ) -+ const _IOCTL_DISK_GET_LENGTH_INFO = 0x0007405C -+ err = syscall.DeviceIoControl(syscall.Handle(volume.Fd()), _IOCTL_DISK_GET_LENGTH_INFO, nil, 0, (*byte)(unsafe.Pointer(&partitionSize)), 8, &bytes, nil) -+ if err != nil { -+ return &os.PathError{Op: "IOCTL_DISK_GET_LENGTH_INFO", Path: volume.Name(), Err: err} -+ } -+ const ( -+ clusterSize = 4096 -+ sectorSize = 512 -+ ) -+ targetClusters := partitionSize / clusterSize -+ -+ // Get the volume's current size in NTFS clusters. -+ var volumeSize int64 -+ err = getDiskFreeSpaceEx(volume.Name()+"\\", nil, &volumeSize, nil) -+ if err != nil { -+ return &os.PathError{Op: "GetDiskFreeSpaceEx", Path: volume.Name(), Err: err} -+ } -+ volumeClusters := volumeSize / clusterSize -+ -+ // Only resize the volume if there is space to grow, otherwise this will -+ // fail with invalid parameter. NTFS reserves one cluster. -+ if volumeClusters+1 < targetClusters { -+ targetSectors := targetClusters * (clusterSize / sectorSize) -+ const _FSCTL_EXTEND_VOLUME = 0x000900F0 -+ err = syscall.DeviceIoControl(syscall.Handle(volume.Fd()), _FSCTL_EXTEND_VOLUME, (*byte)(unsafe.Pointer(&targetSectors)), 8, nil, 0, &bytes, nil) -+ if err != nil { -+ return &os.PathError{Op: "FSCTL_EXTEND_VOLUME", Path: volume.Name(), Err: err} -+ } -+ } - return nil - } -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerid.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerid.go -index 90df3bedc..443596fba 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerid.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerid.go -@@ -3,7 +3,7 @@ package wclayer - import ( - "path/filepath" - -- "github.com/Microsoft/hcsshim/internal/guid" -+ "github.com/Microsoft/go-winio/pkg/guid" - ) - - // LayerID returns the layer ID of a layer on disk. -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go -index 6d0ae8a07..06671309d 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go -@@ -6,7 +6,7 @@ package wclayer - import ( - "syscall" - -- "github.com/Microsoft/hcsshim/internal/guid" -+ "github.com/Microsoft/go-winio/pkg/guid" - "github.com/sirupsen/logrus" - ) - -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/nametoguid.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/nametoguid.go -index 45a63cf65..a259c1b82 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/nametoguid.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/nametoguid.go -@@ -1,7 +1,7 @@ - package wclayer - - import ( -- "github.com/Microsoft/hcsshim/internal/guid" -+ "github.com/Microsoft/go-winio/pkg/guid" - "github.com/Microsoft/hcsshim/internal/hcserror" - "github.com/sirupsen/logrus" - ) -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/wclayer.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/wclayer.go -index 78f2aacd8..dc40bf519 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/wclayer.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/wclayer.go -@@ -1,6 +1,6 @@ - package wclayer - --import "github.com/Microsoft/hcsshim/internal/guid" -+import "github.com/Microsoft/go-winio/pkg/guid" - - //go:generate go run ../../mksyscall_windows.go -output zsyscall_windows.go wclayer.go - -@@ -24,4 +24,9 @@ import "github.com/Microsoft/hcsshim/internal/guid" - - //sys grantVmAccess(vmid string, filepath string) (hr error) = vmcompute.GrantVmAccess? - -+//sys openVirtualDisk(virtualStorageType *virtualStorageType, path string, virtualDiskAccessMask uint32, flags uint32, parameters *openVirtualDiskParameters, handle *syscall.Handle) (err error) [failretval != 0] = virtdisk.OpenVirtualDisk -+//sys attachVirtualDisk(handle syscall.Handle, sd uintptr, flags uint32, providerFlags uint32, params uintptr, overlapped uintptr) (err error) [failretval != 0] = virtdisk.AttachVirtualDisk -+ -+//sys getDiskFreeSpaceEx(directoryName string, freeBytesAvailableToCaller *int64, totalNumberOfBytes *int64, totalNumberOfFreeBytes *int64) (err error) = GetDiskFreeSpaceExW -+ - type _guid = guid.GUID -diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/zsyscall_windows.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/zsyscall_windows.go -index d853ab259..67f917f07 100644 ---- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/zsyscall_windows.go -+++ b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/zsyscall_windows.go -@@ -38,6 +38,8 @@ func errnoErr(e syscall.Errno) error { - - var ( - modvmcompute = windows.NewLazySystemDLL("vmcompute.dll") -+ modvirtdisk = windows.NewLazySystemDLL("virtdisk.dll") -+ modkernel32 = windows.NewLazySystemDLL("kernel32.dll") - - procActivateLayer = modvmcompute.NewProc("ActivateLayer") - procCopyLayer = modvmcompute.NewProc("CopyLayer") -@@ -57,6 +59,9 @@ var ( - procProcessBaseImage = modvmcompute.NewProc("ProcessBaseImage") - procProcessUtilityImage = modvmcompute.NewProc("ProcessUtilityImage") - procGrantVmAccess = modvmcompute.NewProc("GrantVmAccess") -+ procOpenVirtualDisk = modvirtdisk.NewProc("OpenVirtualDisk") -+ procAttachVirtualDisk = modvirtdisk.NewProc("AttachVirtualDisk") -+ procGetDiskFreeSpaceExW = modkernel32.NewProc("GetDiskFreeSpaceExW") - ) - - func activateLayer(info *driverInfo, id string) (hr error) { -@@ -508,3 +513,57 @@ func _grantVmAccess(vmid *uint16, filepath *uint16) (hr error) { - } - return - } -+ -+func openVirtualDisk(virtualStorageType *virtualStorageType, path string, virtualDiskAccessMask uint32, flags uint32, parameters *openVirtualDiskParameters, handle *syscall.Handle) (err error) { -+ var _p0 *uint16 -+ _p0, err = syscall.UTF16PtrFromString(path) -+ if err != nil { -+ return -+ } -+ return _openVirtualDisk(virtualStorageType, _p0, virtualDiskAccessMask, flags, parameters, handle) -+} -+ -+func _openVirtualDisk(virtualStorageType *virtualStorageType, path *uint16, virtualDiskAccessMask uint32, flags uint32, parameters *openVirtualDiskParameters, handle *syscall.Handle) (err error) { -+ r1, _, e1 := syscall.Syscall6(procOpenVirtualDisk.Addr(), 6, uintptr(unsafe.Pointer(virtualStorageType)), uintptr(unsafe.Pointer(path)), uintptr(virtualDiskAccessMask), uintptr(flags), uintptr(unsafe.Pointer(parameters)), uintptr(unsafe.Pointer(handle))) -+ if r1 != 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func attachVirtualDisk(handle syscall.Handle, sd uintptr, flags uint32, providerFlags uint32, params uintptr, overlapped uintptr) (err error) { -+ r1, _, e1 := syscall.Syscall6(procAttachVirtualDisk.Addr(), 6, uintptr(handle), uintptr(sd), uintptr(flags), uintptr(providerFlags), uintptr(params), uintptr(overlapped)) -+ if r1 != 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getDiskFreeSpaceEx(directoryName string, freeBytesAvailableToCaller *int64, totalNumberOfBytes *int64, totalNumberOfFreeBytes *int64) (err error) { -+ var _p0 *uint16 -+ _p0, err = syscall.UTF16PtrFromString(directoryName) -+ if err != nil { -+ return -+ } -+ return _getDiskFreeSpaceEx(_p0, freeBytesAvailableToCaller, totalNumberOfBytes, totalNumberOfFreeBytes) -+} -+ -+func _getDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *int64, totalNumberOfBytes *int64, totalNumberOfFreeBytes *int64) (err error) { -+ r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 0, 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -diff --git a/vendor/github.com/Microsoft/hcsshim/layer.go b/vendor/github.com/Microsoft/hcsshim/layer.go -index df0e63bbd..f60ba5501 100644 ---- a/vendor/github.com/Microsoft/hcsshim/layer.go -+++ b/vendor/github.com/Microsoft/hcsshim/layer.go -@@ -4,7 +4,7 @@ import ( - "crypto/sha1" - "path/filepath" - -- "github.com/Microsoft/hcsshim/internal/guid" -+ "github.com/Microsoft/go-winio/pkg/guid" - "github.com/Microsoft/hcsshim/internal/wclayer" - ) - -@@ -77,7 +77,7 @@ type GUID [16]byte - - func NameToGuid(name string) (id GUID, err error) { - g, err := wclayer.NameToGuid(name) -- return GUID(g), err -+ return g.ToWindowsArray(), err - } - - func NewGUID(source string) *GUID { -@@ -88,7 +88,7 @@ func NewGUID(source string) *GUID { - } - - func (g *GUID) ToString() string { -- return (guid.GUID)(*g).String() -+ return guid.FromWindowsArray(*g).String() - } - - type LayerReader = wclayer.LayerReader -diff --git a/vendor/github.com/Microsoft/hcsshim/osversion/osversion.go b/vendor/github.com/Microsoft/hcsshim/osversion/osversion_windows.go -similarity index 88% -rename from vendor/github.com/Microsoft/hcsshim/osversion/osversion.go -rename to vendor/github.com/Microsoft/hcsshim/osversion/osversion_windows.go -index 916950c02..477fe7078 100644 ---- a/vendor/github.com/Microsoft/hcsshim/osversion/osversion.go -+++ b/vendor/github.com/Microsoft/hcsshim/osversion/osversion_windows.go -@@ -46,6 +46,12 @@ func Get() OSVersion { - return osv - } - -+// Build gets the build-number on Windows -+// The calling application must be manifested to get the correct version information. -+func Build() uint16 { -+ return Get().Build -+} -+ - func (osv OSVersion) ToString() string { - return fmt.Sprintf("%d.%d.%d", osv.MajorVersion, osv.MinorVersion, osv.Build) - } -diff --git a/vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go b/vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go -index 2d9567f6f..726d1c8c1 100644 ---- a/vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go -+++ b/vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go -@@ -1,10 +1,27 @@ - package osversion - - const ( -- -- // RS2 was a client-only release in case you're asking why it's not in the list. -+ // RS1 (version 1607, codename "Redstone 1") corresponds to Windows Server -+ // 2016 (ltsc2016) and Windows 10 (Anniversary Update). - RS1 = 14393 -+ -+ // RS2 (version 1703, codename "Redstone 2") was a client-only update, and -+ // corresponds to Windows 10 (Creators Update). -+ RS2 = 15063 -+ -+ // RS3 (version 1709, codename "Redstone 3") corresponds to Windows Server -+ // 1709 (Semi-Annual Channel (SAC)), and Windows 10 (Fall Creators Update). - RS3 = 16299 -+ -+ // RS4 (version 1803, codename "Redstone 4") corresponds to Windows Server -+ // 1803 (Semi-Annual Channel (SAC)), and Windows 10 (April 2018 Update). - RS4 = 17134 -+ -+ // RS5 (version 1809, codename "Redstone 5") corresponds to Windows Server -+ // 2019 (ltsc2019), and Windows 10 (October 2018 Update). - RS5 = 17763 -+ -+ // V19H1 (version 1903) corresponds to Windows Server 1903 (semi-annual -+ // channel). -+ V19H1 = 18362 - ) -diff --git a/vendor/github.com/Microsoft/hcsshim/process.go b/vendor/github.com/Microsoft/hcsshim/process.go -index ca8acbb7c..3362c6833 100644 ---- a/vendor/github.com/Microsoft/hcsshim/process.go -+++ b/vendor/github.com/Microsoft/hcsshim/process.go -@@ -1,7 +1,9 @@ - package hcsshim - - import ( -+ "context" - "io" -+ "sync" - "time" - - "github.com/Microsoft/hcsshim/internal/hcs" -@@ -9,7 +11,10 @@ import ( - - // ContainerError is an error encountered in HCS - type process struct { -- p *hcs.Process -+ p *hcs.Process -+ waitOnce sync.Once -+ waitCh chan struct{} -+ waitErr error - } - - // Pid returns the process ID of the process within the container. -@@ -19,7 +24,14 @@ func (process *process) Pid() int { - - // Kill signals the process to terminate but does not wait for it to finish terminating. - func (process *process) Kill() error { -- return convertProcessError(process.p.Kill(), process) -+ found, err := process.p.Kill(context.Background()) -+ if err != nil { -+ return convertProcessError(err, process) -+ } -+ if !found { -+ return &ProcessError{Process: process, Err: ErrElementNotFound, Operation: "hcsshim::Process::Kill"} -+ } -+ return nil - } - - // Wait waits for the process to exit. -@@ -30,7 +42,21 @@ func (process *process) Wait() error { - // WaitTimeout waits for the process to exit or the duration to elapse. It returns - // false if timeout occurs. - func (process *process) WaitTimeout(timeout time.Duration) error { -- return convertProcessError(process.p.WaitTimeout(timeout), process) -+ process.waitOnce.Do(func() { -+ process.waitCh = make(chan struct{}) -+ go func() { -+ process.waitErr = process.Wait() -+ close(process.waitCh) -+ }() -+ }) -+ t := time.NewTimer(timeout) -+ defer t.Stop() -+ select { -+ case <-t.C: -+ return &ProcessError{Process: process, Err: ErrTimeout, Operation: "hcsshim::Process::Wait"} -+ case <-process.waitCh: -+ return process.waitErr -+ } - } - - // ExitCode returns the exit code of the process. The process must have -@@ -45,14 +71,14 @@ func (process *process) ExitCode() (int, error) { - - // ResizeConsole resizes the console of the process. - func (process *process) ResizeConsole(width, height uint16) error { -- return convertProcessError(process.p.ResizeConsole(width, height), process) -+ return convertProcessError(process.p.ResizeConsole(context.Background(), width, height), process) - } - - // Stdio returns the stdin, stdout, and stderr pipes, respectively. Closing - // these pipes does not close the underlying pipes; it should be possible to - // call this multiple times to get multiple interfaces. - func (process *process) Stdio() (io.WriteCloser, io.ReadCloser, io.ReadCloser, error) { -- stdin, stdout, stderr, err := process.p.Stdio() -+ stdin, stdout, stderr, err := process.p.StdioLegacy() - if err != nil { - err = convertProcessError(err, process) - } -@@ -62,7 +88,7 @@ func (process *process) Stdio() (io.WriteCloser, io.ReadCloser, io.ReadCloser, e - // CloseStdin closes the write side of the stdin pipe so that the process is - // notified on the read side that there is no more data in stdin. - func (process *process) CloseStdin() error { -- return convertProcessError(process.p.CloseStdin(), process) -+ return convertProcessError(process.p.CloseStdin(context.Background()), process) - } - - // Close cleans up any state associated with the process but does not kill -diff --git a/vendor/github.com/Microsoft/hcsshim/vendor.conf b/vendor/github.com/Microsoft/hcsshim/vendor.conf -deleted file mode 100644 -index 6e0ed1566..000000000 ---- a/vendor/github.com/Microsoft/hcsshim/vendor.conf -+++ /dev/null -@@ -1,21 +0,0 @@ --github.com/blang/semver v3.1.0 --github.com/containerd/console c12b1e7919c14469339a5d38f2f8ed9b64a9de23 --github.com/containerd/go-runc 5a6d9f37cfa36b15efba46dc7ea349fa9b7143c3 --github.com/hashicorp/errwrap 7554cd9344cec97297fa6649b055a8c98c2a1e55 --github.com/hashicorp/go-multierror ed905158d87462226a13fe39ddf685ea65f1c11f --github.com/konsorten/go-windows-terminal-sequences v1.0.1 --github.com/linuxkit/virtsock 8e79449dea0735c1c056d814934dd035734cc97c --github.com/Microsoft/go-winio 16cfc975803886a5e47c4257a24c8d8c52e178b2 --github.com/Microsoft/opengcs v0.3.9 --github.com/opencontainers/runtime-spec eba862dc2470385a233c7507392675cbeadf7353 --github.com/opencontainers/runtime-tools 1d69bd0f9c39677d0630e50664fbc3154ae61b88 --github.com/pkg/errors v0.8.1 --github.com/sirupsen/logrus v1.3.0 --github.com/syndtr/gocapability db04d3cc01c8b54962a58ec7e491717d06cfcc16 --github.com/urfave/cli 7bc6a0acffa589f415f88aca16cc1de5ffd66f9c --github.com/xeipuuv/gojsonpointer 4e3ac2762d5f479393488629ee9370b50873b3a6 --github.com/xeipuuv/gojsonreference bd5ef7bd5415a7ac448318e64f11a24cd21e594b --github.com/xeipuuv/gojsonschema 1d523034197ff1f222f6429836dd36a2457a1874 --golang.org/x/crypto ff983b9c42bc9fbf91556e191cc8efb585c16908 --golang.org/x/sync 37e7f081c4d4c64e13b10787722085407fe5d15f --golang.org/x/sys e5ecc2a6747ce8d4af18ed98b3de5ae30eb3a5bb -\ No newline at end of file -diff --git a/vendor/github.com/acarl005/stripansi/LICENSE b/vendor/github.com/acarl005/stripansi/LICENSE -new file mode 100644 -index 000000000..00abe0dbf ---- /dev/null -+++ b/vendor/github.com/acarl005/stripansi/LICENSE -@@ -0,0 +1,21 @@ -+MIT License -+ -+Copyright (c) 2018 Andrew Carlson -+ -+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/acarl005/stripansi/README.md b/vendor/github.com/acarl005/stripansi/README.md -new file mode 100644 -index 000000000..8bdb1f505 ---- /dev/null -+++ b/vendor/github.com/acarl005/stripansi/README.md -@@ -0,0 +1,30 @@ -+Strip ANSI -+========== -+ -+This Go package removes ANSI escape codes from strings. -+ -+Ideally, we would prevent these from appearing in any text we want to process. -+However, sometimes this can't be helped, and we need to be able to deal with that noise. -+This will use a regexp to remove those unwanted escape codes. -+ -+ -+## Install -+ -+```sh -+$ go get -u github.com/acarl005/stripansi -+``` -+ -+## Usage -+ -+```go -+import ( -+ "fmt" -+ "github.com/acarl005/stripansi" -+) -+ -+func main() { -+ msg := "\x1b[38;5;140m foo\x1b[0m bar" -+ cleanMsg := stripansi.Strip(msg) -+ fmt.Println(cleanMsg) // " foo bar" -+} -+``` -diff --git a/vendor/github.com/acarl005/stripansi/stripansi.go b/vendor/github.com/acarl005/stripansi/stripansi.go -new file mode 100644 -index 000000000..235732a78 ---- /dev/null -+++ b/vendor/github.com/acarl005/stripansi/stripansi.go -@@ -0,0 +1,13 @@ -+package stripansi -+ -+import ( -+ "regexp" -+) -+ -+const ansi = "[\u001B\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))" -+ -+var re = regexp.MustCompile(ansi) -+ -+func Strip(str string) string { -+ return re.ReplaceAllString(str, "") -+} -diff --git a/vendor/github.com/containerd/cgroups/LICENSE b/vendor/github.com/containerd/cgroups/LICENSE -new file mode 100644 -index 000000000..261eeb9e9 ---- /dev/null -+++ b/vendor/github.com/containerd/cgroups/LICENSE -@@ -0,0 +1,201 @@ -+ 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. -+ -+ END OF TERMS AND CONDITIONS -+ -+ APPENDIX: How to apply the Apache License to your work. -+ -+ To apply the Apache License to your work, attach the following -+ boilerplate notice, with the fields enclosed by brackets "[]" -+ replaced with your own identifying information. (Don't include -+ the brackets!) The text should be enclosed in the appropriate -+ comment syntax for the file format. We also recommend that a -+ file or class name and description of purpose be included on the -+ same "printed page" as the copyright notice for easier -+ identification within third-party archives. -+ -+ Copyright [yyyy] [name of copyright owner] -+ -+ 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/containerd/cgroups/stats/v1/doc.go b/vendor/github.com/containerd/cgroups/stats/v1/doc.go -new file mode 100644 -index 000000000..23f3cdd4b ---- /dev/null -+++ b/vendor/github.com/containerd/cgroups/stats/v1/doc.go -@@ -0,0 +1,17 @@ -+/* -+ Copyright The containerd Authors. -+ -+ 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 v1 -diff --git a/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.go b/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.go -new file mode 100644 -index 000000000..c7884e8ef ---- /dev/null -+++ b/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.go -@@ -0,0 +1,5368 @@ -+// Code generated by protoc-gen-gogo. DO NOT EDIT. -+// source: github.com/containerd/cgroups/stats/v1/metrics.proto -+ -+package v1 -+ -+import ( -+ fmt "fmt" -+ _ "github.com/gogo/protobuf/gogoproto" -+ proto "github.com/gogo/protobuf/proto" -+ io "io" -+ math "math" -+ reflect "reflect" -+ strings "strings" -+) -+ -+// Reference imports to suppress errors if they are not otherwise used. -+var _ = proto.Marshal -+var _ = fmt.Errorf -+var _ = math.Inf -+ -+// This is a compile-time assertion to ensure that this generated file -+// is compatible with the proto package it is being compiled against. -+// A compilation error at this line likely means your copy of the -+// proto package needs to be updated. -+const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package -+ -+type Metrics struct { -+ Hugetlb []*HugetlbStat `protobuf:"bytes,1,rep,name=hugetlb,proto3" json:"hugetlb,omitempty"` -+ Pids *PidsStat `protobuf:"bytes,2,opt,name=pids,proto3" json:"pids,omitempty"` -+ CPU *CPUStat `protobuf:"bytes,3,opt,name=cpu,proto3" json:"cpu,omitempty"` -+ Memory *MemoryStat `protobuf:"bytes,4,opt,name=memory,proto3" json:"memory,omitempty"` -+ Blkio *BlkIOStat `protobuf:"bytes,5,opt,name=blkio,proto3" json:"blkio,omitempty"` -+ Rdma *RdmaStat `protobuf:"bytes,6,opt,name=rdma,proto3" json:"rdma,omitempty"` -+ Network []*NetworkStat `protobuf:"bytes,7,rep,name=network,proto3" json:"network,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *Metrics) Reset() { *m = Metrics{} } -+func (*Metrics) ProtoMessage() {} -+func (*Metrics) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{0} -+} -+func (m *Metrics) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *Metrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_Metrics.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *Metrics) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_Metrics.Merge(m, src) -+} -+func (m *Metrics) XXX_Size() int { -+ return m.Size() -+} -+func (m *Metrics) XXX_DiscardUnknown() { -+ xxx_messageInfo_Metrics.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_Metrics proto.InternalMessageInfo -+ -+type HugetlbStat struct { -+ Usage uint64 `protobuf:"varint,1,opt,name=usage,proto3" json:"usage,omitempty"` -+ Max uint64 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` -+ Failcnt uint64 `protobuf:"varint,3,opt,name=failcnt,proto3" json:"failcnt,omitempty"` -+ Pagesize string `protobuf:"bytes,4,opt,name=pagesize,proto3" json:"pagesize,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *HugetlbStat) Reset() { *m = HugetlbStat{} } -+func (*HugetlbStat) ProtoMessage() {} -+func (*HugetlbStat) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{1} -+} -+func (m *HugetlbStat) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *HugetlbStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_HugetlbStat.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *HugetlbStat) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_HugetlbStat.Merge(m, src) -+} -+func (m *HugetlbStat) XXX_Size() int { -+ return m.Size() -+} -+func (m *HugetlbStat) XXX_DiscardUnknown() { -+ xxx_messageInfo_HugetlbStat.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_HugetlbStat proto.InternalMessageInfo -+ -+type PidsStat struct { -+ Current uint64 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` -+ Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *PidsStat) Reset() { *m = PidsStat{} } -+func (*PidsStat) ProtoMessage() {} -+func (*PidsStat) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{2} -+} -+func (m *PidsStat) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *PidsStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_PidsStat.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *PidsStat) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_PidsStat.Merge(m, src) -+} -+func (m *PidsStat) XXX_Size() int { -+ return m.Size() -+} -+func (m *PidsStat) XXX_DiscardUnknown() { -+ xxx_messageInfo_PidsStat.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_PidsStat proto.InternalMessageInfo -+ -+type CPUStat struct { -+ Usage *CPUUsage `protobuf:"bytes,1,opt,name=usage,proto3" json:"usage,omitempty"` -+ Throttling *Throttle `protobuf:"bytes,2,opt,name=throttling,proto3" json:"throttling,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *CPUStat) Reset() { *m = CPUStat{} } -+func (*CPUStat) ProtoMessage() {} -+func (*CPUStat) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{3} -+} -+func (m *CPUStat) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *CPUStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_CPUStat.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *CPUStat) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_CPUStat.Merge(m, src) -+} -+func (m *CPUStat) XXX_Size() int { -+ return m.Size() -+} -+func (m *CPUStat) XXX_DiscardUnknown() { -+ xxx_messageInfo_CPUStat.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_CPUStat proto.InternalMessageInfo -+ -+type CPUUsage struct { -+ // values in nanoseconds -+ Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` -+ Kernel uint64 `protobuf:"varint,2,opt,name=kernel,proto3" json:"kernel,omitempty"` -+ User uint64 `protobuf:"varint,3,opt,name=user,proto3" json:"user,omitempty"` -+ PerCPU []uint64 `protobuf:"varint,4,rep,packed,name=per_cpu,json=perCpu,proto3" json:"per_cpu,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *CPUUsage) Reset() { *m = CPUUsage{} } -+func (*CPUUsage) ProtoMessage() {} -+func (*CPUUsage) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{4} -+} -+func (m *CPUUsage) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *CPUUsage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_CPUUsage.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *CPUUsage) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_CPUUsage.Merge(m, src) -+} -+func (m *CPUUsage) XXX_Size() int { -+ return m.Size() -+} -+func (m *CPUUsage) XXX_DiscardUnknown() { -+ xxx_messageInfo_CPUUsage.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_CPUUsage proto.InternalMessageInfo -+ -+type Throttle struct { -+ Periods uint64 `protobuf:"varint,1,opt,name=periods,proto3" json:"periods,omitempty"` -+ ThrottledPeriods uint64 `protobuf:"varint,2,opt,name=throttled_periods,json=throttledPeriods,proto3" json:"throttled_periods,omitempty"` -+ ThrottledTime uint64 `protobuf:"varint,3,opt,name=throttled_time,json=throttledTime,proto3" json:"throttled_time,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *Throttle) Reset() { *m = Throttle{} } -+func (*Throttle) ProtoMessage() {} -+func (*Throttle) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{5} -+} -+func (m *Throttle) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *Throttle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_Throttle.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *Throttle) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_Throttle.Merge(m, src) -+} -+func (m *Throttle) XXX_Size() int { -+ return m.Size() -+} -+func (m *Throttle) XXX_DiscardUnknown() { -+ xxx_messageInfo_Throttle.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_Throttle proto.InternalMessageInfo -+ -+type MemoryStat struct { -+ Cache uint64 `protobuf:"varint,1,opt,name=cache,proto3" json:"cache,omitempty"` -+ RSS uint64 `protobuf:"varint,2,opt,name=rss,proto3" json:"rss,omitempty"` -+ RSSHuge uint64 `protobuf:"varint,3,opt,name=rss_huge,json=rssHuge,proto3" json:"rss_huge,omitempty"` -+ MappedFile uint64 `protobuf:"varint,4,opt,name=mapped_file,json=mappedFile,proto3" json:"mapped_file,omitempty"` -+ Dirty uint64 `protobuf:"varint,5,opt,name=dirty,proto3" json:"dirty,omitempty"` -+ Writeback uint64 `protobuf:"varint,6,opt,name=writeback,proto3" json:"writeback,omitempty"` -+ PgPgIn uint64 `protobuf:"varint,7,opt,name=pg_pg_in,json=pgPgIn,proto3" json:"pg_pg_in,omitempty"` -+ PgPgOut uint64 `protobuf:"varint,8,opt,name=pg_pg_out,json=pgPgOut,proto3" json:"pg_pg_out,omitempty"` -+ PgFault uint64 `protobuf:"varint,9,opt,name=pg_fault,json=pgFault,proto3" json:"pg_fault,omitempty"` -+ PgMajFault uint64 `protobuf:"varint,10,opt,name=pg_maj_fault,json=pgMajFault,proto3" json:"pg_maj_fault,omitempty"` -+ InactiveAnon uint64 `protobuf:"varint,11,opt,name=inactive_anon,json=inactiveAnon,proto3" json:"inactive_anon,omitempty"` -+ ActiveAnon uint64 `protobuf:"varint,12,opt,name=active_anon,json=activeAnon,proto3" json:"active_anon,omitempty"` -+ InactiveFile uint64 `protobuf:"varint,13,opt,name=inactive_file,json=inactiveFile,proto3" json:"inactive_file,omitempty"` -+ ActiveFile uint64 `protobuf:"varint,14,opt,name=active_file,json=activeFile,proto3" json:"active_file,omitempty"` -+ Unevictable uint64 `protobuf:"varint,15,opt,name=unevictable,proto3" json:"unevictable,omitempty"` -+ HierarchicalMemoryLimit uint64 `protobuf:"varint,16,opt,name=hierarchical_memory_limit,json=hierarchicalMemoryLimit,proto3" json:"hierarchical_memory_limit,omitempty"` -+ HierarchicalSwapLimit uint64 `protobuf:"varint,17,opt,name=hierarchical_swap_limit,json=hierarchicalSwapLimit,proto3" json:"hierarchical_swap_limit,omitempty"` -+ TotalCache uint64 `protobuf:"varint,18,opt,name=total_cache,json=totalCache,proto3" json:"total_cache,omitempty"` -+ TotalRSS uint64 `protobuf:"varint,19,opt,name=total_rss,json=totalRss,proto3" json:"total_rss,omitempty"` -+ TotalRSSHuge uint64 `protobuf:"varint,20,opt,name=total_rss_huge,json=totalRssHuge,proto3" json:"total_rss_huge,omitempty"` -+ TotalMappedFile uint64 `protobuf:"varint,21,opt,name=total_mapped_file,json=totalMappedFile,proto3" json:"total_mapped_file,omitempty"` -+ TotalDirty uint64 `protobuf:"varint,22,opt,name=total_dirty,json=totalDirty,proto3" json:"total_dirty,omitempty"` -+ TotalWriteback uint64 `protobuf:"varint,23,opt,name=total_writeback,json=totalWriteback,proto3" json:"total_writeback,omitempty"` -+ TotalPgPgIn uint64 `protobuf:"varint,24,opt,name=total_pg_pg_in,json=totalPgPgIn,proto3" json:"total_pg_pg_in,omitempty"` -+ TotalPgPgOut uint64 `protobuf:"varint,25,opt,name=total_pg_pg_out,json=totalPgPgOut,proto3" json:"total_pg_pg_out,omitempty"` -+ TotalPgFault uint64 `protobuf:"varint,26,opt,name=total_pg_fault,json=totalPgFault,proto3" json:"total_pg_fault,omitempty"` -+ TotalPgMajFault uint64 `protobuf:"varint,27,opt,name=total_pg_maj_fault,json=totalPgMajFault,proto3" json:"total_pg_maj_fault,omitempty"` -+ TotalInactiveAnon uint64 `protobuf:"varint,28,opt,name=total_inactive_anon,json=totalInactiveAnon,proto3" json:"total_inactive_anon,omitempty"` -+ TotalActiveAnon uint64 `protobuf:"varint,29,opt,name=total_active_anon,json=totalActiveAnon,proto3" json:"total_active_anon,omitempty"` -+ TotalInactiveFile uint64 `protobuf:"varint,30,opt,name=total_inactive_file,json=totalInactiveFile,proto3" json:"total_inactive_file,omitempty"` -+ TotalActiveFile uint64 `protobuf:"varint,31,opt,name=total_active_file,json=totalActiveFile,proto3" json:"total_active_file,omitempty"` -+ TotalUnevictable uint64 `protobuf:"varint,32,opt,name=total_unevictable,json=totalUnevictable,proto3" json:"total_unevictable,omitempty"` -+ Usage *MemoryEntry `protobuf:"bytes,33,opt,name=usage,proto3" json:"usage,omitempty"` -+ Swap *MemoryEntry `protobuf:"bytes,34,opt,name=swap,proto3" json:"swap,omitempty"` -+ Kernel *MemoryEntry `protobuf:"bytes,35,opt,name=kernel,proto3" json:"kernel,omitempty"` -+ KernelTCP *MemoryEntry `protobuf:"bytes,36,opt,name=kernel_tcp,json=kernelTcp,proto3" json:"kernel_tcp,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *MemoryStat) Reset() { *m = MemoryStat{} } -+func (*MemoryStat) ProtoMessage() {} -+func (*MemoryStat) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{6} -+} -+func (m *MemoryStat) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *MemoryStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_MemoryStat.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *MemoryStat) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_MemoryStat.Merge(m, src) -+} -+func (m *MemoryStat) XXX_Size() int { -+ return m.Size() -+} -+func (m *MemoryStat) XXX_DiscardUnknown() { -+ xxx_messageInfo_MemoryStat.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_MemoryStat proto.InternalMessageInfo -+ -+type MemoryEntry struct { -+ Limit uint64 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` -+ Usage uint64 `protobuf:"varint,2,opt,name=usage,proto3" json:"usage,omitempty"` -+ Max uint64 `protobuf:"varint,3,opt,name=max,proto3" json:"max,omitempty"` -+ Failcnt uint64 `protobuf:"varint,4,opt,name=failcnt,proto3" json:"failcnt,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *MemoryEntry) Reset() { *m = MemoryEntry{} } -+func (*MemoryEntry) ProtoMessage() {} -+func (*MemoryEntry) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{7} -+} -+func (m *MemoryEntry) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *MemoryEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_MemoryEntry.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *MemoryEntry) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_MemoryEntry.Merge(m, src) -+} -+func (m *MemoryEntry) XXX_Size() int { -+ return m.Size() -+} -+func (m *MemoryEntry) XXX_DiscardUnknown() { -+ xxx_messageInfo_MemoryEntry.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_MemoryEntry proto.InternalMessageInfo -+ -+type BlkIOStat struct { -+ IoServiceBytesRecursive []*BlkIOEntry `protobuf:"bytes,1,rep,name=io_service_bytes_recursive,json=ioServiceBytesRecursive,proto3" json:"io_service_bytes_recursive,omitempty"` -+ IoServicedRecursive []*BlkIOEntry `protobuf:"bytes,2,rep,name=io_serviced_recursive,json=ioServicedRecursive,proto3" json:"io_serviced_recursive,omitempty"` -+ IoQueuedRecursive []*BlkIOEntry `protobuf:"bytes,3,rep,name=io_queued_recursive,json=ioQueuedRecursive,proto3" json:"io_queued_recursive,omitempty"` -+ IoServiceTimeRecursive []*BlkIOEntry `protobuf:"bytes,4,rep,name=io_service_time_recursive,json=ioServiceTimeRecursive,proto3" json:"io_service_time_recursive,omitempty"` -+ IoWaitTimeRecursive []*BlkIOEntry `protobuf:"bytes,5,rep,name=io_wait_time_recursive,json=ioWaitTimeRecursive,proto3" json:"io_wait_time_recursive,omitempty"` -+ IoMergedRecursive []*BlkIOEntry `protobuf:"bytes,6,rep,name=io_merged_recursive,json=ioMergedRecursive,proto3" json:"io_merged_recursive,omitempty"` -+ IoTimeRecursive []*BlkIOEntry `protobuf:"bytes,7,rep,name=io_time_recursive,json=ioTimeRecursive,proto3" json:"io_time_recursive,omitempty"` -+ SectorsRecursive []*BlkIOEntry `protobuf:"bytes,8,rep,name=sectors_recursive,json=sectorsRecursive,proto3" json:"sectors_recursive,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *BlkIOStat) Reset() { *m = BlkIOStat{} } -+func (*BlkIOStat) ProtoMessage() {} -+func (*BlkIOStat) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{8} -+} -+func (m *BlkIOStat) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *BlkIOStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_BlkIOStat.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *BlkIOStat) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_BlkIOStat.Merge(m, src) -+} -+func (m *BlkIOStat) XXX_Size() int { -+ return m.Size() -+} -+func (m *BlkIOStat) XXX_DiscardUnknown() { -+ xxx_messageInfo_BlkIOStat.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_BlkIOStat proto.InternalMessageInfo -+ -+type BlkIOEntry struct { -+ Op string `protobuf:"bytes,1,opt,name=op,proto3" json:"op,omitempty"` -+ Device string `protobuf:"bytes,2,opt,name=device,proto3" json:"device,omitempty"` -+ Major uint64 `protobuf:"varint,3,opt,name=major,proto3" json:"major,omitempty"` -+ Minor uint64 `protobuf:"varint,4,opt,name=minor,proto3" json:"minor,omitempty"` -+ Value uint64 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *BlkIOEntry) Reset() { *m = BlkIOEntry{} } -+func (*BlkIOEntry) ProtoMessage() {} -+func (*BlkIOEntry) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{9} -+} -+func (m *BlkIOEntry) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *BlkIOEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_BlkIOEntry.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *BlkIOEntry) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_BlkIOEntry.Merge(m, src) -+} -+func (m *BlkIOEntry) XXX_Size() int { -+ return m.Size() -+} -+func (m *BlkIOEntry) XXX_DiscardUnknown() { -+ xxx_messageInfo_BlkIOEntry.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_BlkIOEntry proto.InternalMessageInfo -+ -+type RdmaStat struct { -+ Current []*RdmaEntry `protobuf:"bytes,1,rep,name=current,proto3" json:"current,omitempty"` -+ Limit []*RdmaEntry `protobuf:"bytes,2,rep,name=limit,proto3" json:"limit,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *RdmaStat) Reset() { *m = RdmaStat{} } -+func (*RdmaStat) ProtoMessage() {} -+func (*RdmaStat) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{10} -+} -+func (m *RdmaStat) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *RdmaStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_RdmaStat.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *RdmaStat) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_RdmaStat.Merge(m, src) -+} -+func (m *RdmaStat) XXX_Size() int { -+ return m.Size() -+} -+func (m *RdmaStat) XXX_DiscardUnknown() { -+ xxx_messageInfo_RdmaStat.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_RdmaStat proto.InternalMessageInfo -+ -+type RdmaEntry struct { -+ Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"` -+ HcaHandles uint32 `protobuf:"varint,2,opt,name=hca_handles,json=hcaHandles,proto3" json:"hca_handles,omitempty"` -+ HcaObjects uint32 `protobuf:"varint,3,opt,name=hca_objects,json=hcaObjects,proto3" json:"hca_objects,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *RdmaEntry) Reset() { *m = RdmaEntry{} } -+func (*RdmaEntry) ProtoMessage() {} -+func (*RdmaEntry) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{11} -+} -+func (m *RdmaEntry) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *RdmaEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_RdmaEntry.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *RdmaEntry) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_RdmaEntry.Merge(m, src) -+} -+func (m *RdmaEntry) XXX_Size() int { -+ return m.Size() -+} -+func (m *RdmaEntry) XXX_DiscardUnknown() { -+ xxx_messageInfo_RdmaEntry.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_RdmaEntry proto.InternalMessageInfo -+ -+type NetworkStat struct { -+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -+ RxBytes uint64 `protobuf:"varint,2,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"` -+ RxPackets uint64 `protobuf:"varint,3,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"` -+ RxErrors uint64 `protobuf:"varint,4,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"` -+ RxDropped uint64 `protobuf:"varint,5,opt,name=rx_dropped,json=rxDropped,proto3" json:"rx_dropped,omitempty"` -+ TxBytes uint64 `protobuf:"varint,6,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"` -+ TxPackets uint64 `protobuf:"varint,7,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"` -+ TxErrors uint64 `protobuf:"varint,8,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"` -+ TxDropped uint64 `protobuf:"varint,9,opt,name=tx_dropped,json=txDropped,proto3" json:"tx_dropped,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *NetworkStat) Reset() { *m = NetworkStat{} } -+func (*NetworkStat) ProtoMessage() {} -+func (*NetworkStat) Descriptor() ([]byte, []int) { -+ return fileDescriptor_a17b2d87c332bfaa, []int{12} -+} -+func (m *NetworkStat) XXX_Unmarshal(b []byte) error { -+ return m.Unmarshal(b) -+} -+func (m *NetworkStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ if deterministic { -+ return xxx_messageInfo_NetworkStat.Marshal(b, m, deterministic) -+ } else { -+ b = b[:cap(b)] -+ n, err := m.MarshalTo(b) -+ if err != nil { -+ return nil, err -+ } -+ return b[:n], nil -+ } -+} -+func (m *NetworkStat) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_NetworkStat.Merge(m, src) -+} -+func (m *NetworkStat) XXX_Size() int { -+ return m.Size() -+} -+func (m *NetworkStat) XXX_DiscardUnknown() { -+ xxx_messageInfo_NetworkStat.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_NetworkStat proto.InternalMessageInfo -+ -+func init() { -+ proto.RegisterType((*Metrics)(nil), "io.containerd.cgroups.v1.Metrics") -+ proto.RegisterType((*HugetlbStat)(nil), "io.containerd.cgroups.v1.HugetlbStat") -+ proto.RegisterType((*PidsStat)(nil), "io.containerd.cgroups.v1.PidsStat") -+ proto.RegisterType((*CPUStat)(nil), "io.containerd.cgroups.v1.CPUStat") -+ proto.RegisterType((*CPUUsage)(nil), "io.containerd.cgroups.v1.CPUUsage") -+ proto.RegisterType((*Throttle)(nil), "io.containerd.cgroups.v1.Throttle") -+ proto.RegisterType((*MemoryStat)(nil), "io.containerd.cgroups.v1.MemoryStat") -+ proto.RegisterType((*MemoryEntry)(nil), "io.containerd.cgroups.v1.MemoryEntry") -+ proto.RegisterType((*BlkIOStat)(nil), "io.containerd.cgroups.v1.BlkIOStat") -+ proto.RegisterType((*BlkIOEntry)(nil), "io.containerd.cgroups.v1.BlkIOEntry") -+ proto.RegisterType((*RdmaStat)(nil), "io.containerd.cgroups.v1.RdmaStat") -+ proto.RegisterType((*RdmaEntry)(nil), "io.containerd.cgroups.v1.RdmaEntry") -+ proto.RegisterType((*NetworkStat)(nil), "io.containerd.cgroups.v1.NetworkStat") -+} -+ -+func init() { -+ proto.RegisterFile("github.com/containerd/cgroups/stats/v1/metrics.proto", fileDescriptor_a17b2d87c332bfaa) -+} -+ -+var fileDescriptor_a17b2d87c332bfaa = []byte{ -+ // 1558 bytes of a gzipped FileDescriptorProto -+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x57, 0xcf, 0x73, 0x13, 0x39, -+ 0x16, 0xc6, 0xb1, 0x13, 0xbb, 0x9f, 0x93, 0x90, 0x28, 0x10, 0x3a, 0x01, 0xe2, 0xe0, 0x24, 0xbb, -+ 0xd9, 0xa5, 0xca, 0x29, 0xd8, 0x2d, 0x6a, 0x61, 0xa1, 0xb6, 0x70, 0x80, 0x82, 0xda, 0xcd, 0x62, -+ 0xda, 0x49, 0xb1, 0x7b, 0xea, 0x92, 0xdb, 0xa2, 0xad, 0xc4, 0x6e, 0x35, 0x6a, 0xb5, 0xe3, 0xcc, -+ 0x69, 0x0e, 0x53, 0x35, 0xa7, 0xf9, 0x67, 0xe6, 0xaf, 0xe0, 0x38, 0x97, 0xa9, 0x9a, 0xb9, 0xa4, -+ 0x06, 0xff, 0x25, 0x53, 0x92, 0xfa, 0x87, 0x0c, 0x84, 0x8c, 0x6f, 0x2d, 0xe9, 0xfb, 0xbe, 0xf7, -+ 0xf4, 0xfa, 0x53, 0xeb, 0x35, 0xfc, 0xdd, 0xa7, 0xa2, 0x17, 0x77, 0x1a, 0x1e, 0x1b, 0xec, 0x79, -+ 0x2c, 0x10, 0x98, 0x06, 0x84, 0x77, 0xf7, 0x3c, 0x9f, 0xb3, 0x38, 0x8c, 0xf6, 0x22, 0x81, 0x45, -+ 0xb4, 0x37, 0xbc, 0xb7, 0x37, 0x20, 0x82, 0x53, 0x2f, 0x6a, 0x84, 0x9c, 0x09, 0x86, 0x6c, 0xca, -+ 0x1a, 0x39, 0xba, 0x91, 0xa0, 0x1b, 0xc3, 0x7b, 0xeb, 0xd7, 0x7c, 0xe6, 0x33, 0x05, 0xda, 0x93, -+ 0x4f, 0x1a, 0x5f, 0xff, 0xb1, 0x08, 0xe5, 0x03, 0xad, 0x80, 0xfe, 0x05, 0xe5, 0x5e, 0xec, 0x13, -+ 0xd1, 0xef, 0xd8, 0x85, 0xcd, 0xe2, 0x6e, 0xf5, 0xfe, 0x4e, 0xe3, 0x22, 0xb5, 0xc6, 0x4b, 0x0d, -+ 0x6c, 0x0b, 0x2c, 0x9c, 0x94, 0x85, 0x1e, 0x40, 0x29, 0xa4, 0xdd, 0xc8, 0x9e, 0xd9, 0x2c, 0xec, -+ 0x56, 0xef, 0xd7, 0x2f, 0x66, 0xb7, 0x68, 0x37, 0x52, 0x54, 0x85, 0x47, 0x8f, 0xa1, 0xe8, 0x85, -+ 0xb1, 0x5d, 0x54, 0xb4, 0x3b, 0x17, 0xd3, 0xf6, 0x5b, 0x47, 0x92, 0xd5, 0x2c, 0x8f, 0xcf, 0x6b, -+ 0xc5, 0xfd, 0xd6, 0x91, 0x23, 0x69, 0xe8, 0x31, 0xcc, 0x0d, 0xc8, 0x80, 0xf1, 0x33, 0xbb, 0xa4, -+ 0x04, 0xb6, 0x2f, 0x16, 0x38, 0x50, 0x38, 0x15, 0x39, 0xe1, 0xa0, 0x87, 0x30, 0xdb, 0xe9, 0x9f, -+ 0x50, 0x66, 0xcf, 0x2a, 0xf2, 0xd6, 0xc5, 0xe4, 0x66, 0xff, 0xe4, 0xd5, 0x6b, 0xc5, 0xd5, 0x0c, -+ 0xb9, 0x5d, 0xde, 0x1d, 0x60, 0x7b, 0xee, 0xb2, 0xed, 0x3a, 0xdd, 0x01, 0xd6, 0xdb, 0x95, 0x78, -+ 0x59, 0xe7, 0x80, 0x88, 0x53, 0xc6, 0x4f, 0xec, 0xf2, 0x65, 0x75, 0xfe, 0xaf, 0x06, 0xea, 0x3a, -+ 0x27, 0xac, 0xfa, 0x09, 0x54, 0x8d, 0xfa, 0xa3, 0x6b, 0x30, 0x1b, 0x47, 0xd8, 0x27, 0x76, 0x61, -+ 0xb3, 0xb0, 0x5b, 0x72, 0xf4, 0x00, 0x2d, 0x41, 0x71, 0x80, 0x47, 0xea, 0x5d, 0x94, 0x1c, 0xf9, -+ 0x88, 0x6c, 0x28, 0xbf, 0xc3, 0xb4, 0xef, 0x05, 0x42, 0x95, 0xba, 0xe4, 0xa4, 0x43, 0xb4, 0x0e, -+ 0x95, 0x10, 0xfb, 0x24, 0xa2, 0xdf, 0x10, 0x55, 0x44, 0xcb, 0xc9, 0xc6, 0xf5, 0x47, 0x50, 0x49, -+ 0x5f, 0x97, 0x54, 0xf0, 0x62, 0xce, 0x49, 0x20, 0x92, 0x58, 0xe9, 0x50, 0xe6, 0xd0, 0xa7, 0x03, -+ 0x2a, 0x92, 0x78, 0x7a, 0x50, 0xff, 0xbe, 0x00, 0xe5, 0xe4, 0xa5, 0xa1, 0x7f, 0x98, 0x59, 0x7e, -+ 0xb5, 0x5c, 0xfb, 0xad, 0xa3, 0x23, 0x89, 0x4c, 0x77, 0xd2, 0x04, 0x10, 0x3d, 0xce, 0x84, 0xe8, -+ 0xd3, 0xc0, 0xbf, 0xdc, 0x5c, 0x87, 0x1a, 0x4b, 0x1c, 0x83, 0x55, 0x7f, 0x0f, 0x95, 0x54, 0x56, -+ 0xe6, 0x2a, 0x98, 0xc0, 0xfd, 0xb4, 0x5e, 0x6a, 0x80, 0x56, 0x61, 0xee, 0x84, 0xf0, 0x80, 0xf4, -+ 0x93, 0x2d, 0x24, 0x23, 0x84, 0xa0, 0x14, 0x47, 0x84, 0x27, 0x25, 0x53, 0xcf, 0x68, 0x0b, 0xca, -+ 0x21, 0xe1, 0xae, 0x34, 0x6d, 0x69, 0xb3, 0xb8, 0x5b, 0x6a, 0xc2, 0xf8, 0xbc, 0x36, 0xd7, 0x22, -+ 0x5c, 0x9a, 0x72, 0x2e, 0x24, 0x7c, 0x3f, 0x8c, 0xeb, 0x23, 0xa8, 0xa4, 0xa9, 0xc8, 0xc2, 0x85, -+ 0x84, 0x53, 0xd6, 0x8d, 0xd2, 0xc2, 0x25, 0x43, 0x74, 0x17, 0x96, 0x93, 0x34, 0x49, 0xd7, 0x4d, -+ 0x31, 0x3a, 0x83, 0xa5, 0x6c, 0xa1, 0x95, 0x80, 0x77, 0x60, 0x31, 0x07, 0x0b, 0x3a, 0x20, 0x49, -+ 0x56, 0x0b, 0xd9, 0xec, 0x21, 0x1d, 0x90, 0xfa, 0xaf, 0x55, 0x80, 0xdc, 0xea, 0x72, 0xbf, 0x1e, -+ 0xf6, 0x7a, 0x99, 0x3f, 0xd4, 0x00, 0xad, 0x41, 0x91, 0x47, 0x49, 0x28, 0x7d, 0xa2, 0x9c, 0x76, -+ 0xdb, 0x91, 0x73, 0xe8, 0x4f, 0x50, 0xe1, 0x51, 0xe4, 0xca, 0x63, 0xad, 0x03, 0x34, 0xab, 0xe3, -+ 0xf3, 0x5a, 0xd9, 0x69, 0xb7, 0xa5, 0xed, 0x9c, 0x32, 0x8f, 0x22, 0xf9, 0x80, 0x6a, 0x50, 0x1d, -+ 0xe0, 0x30, 0x24, 0x5d, 0xf7, 0x1d, 0xed, 0x6b, 0xe7, 0x94, 0x1c, 0xd0, 0x53, 0x2f, 0x68, 0x5f, -+ 0x55, 0xba, 0x4b, 0xb9, 0x38, 0x53, 0x87, 0xab, 0xe4, 0xe8, 0x01, 0xba, 0x05, 0xd6, 0x29, 0xa7, -+ 0x82, 0x74, 0xb0, 0x77, 0xa2, 0x0e, 0x4f, 0xc9, 0xc9, 0x27, 0x90, 0x0d, 0x95, 0xd0, 0x77, 0x43, -+ 0xdf, 0xa5, 0x81, 0x5d, 0xd6, 0x6f, 0x22, 0xf4, 0x5b, 0xfe, 0xab, 0x00, 0xad, 0x83, 0xa5, 0x57, -+ 0x58, 0x2c, 0xec, 0x4a, 0x52, 0x46, 0xbf, 0xe5, 0xbf, 0x8e, 0x05, 0x5a, 0x53, 0xac, 0x77, 0x38, -+ 0xee, 0x0b, 0xdb, 0x4a, 0x97, 0x5e, 0xc8, 0x21, 0xda, 0x84, 0xf9, 0xd0, 0x77, 0x07, 0xf8, 0x38, -+ 0x59, 0x06, 0x9d, 0x66, 0xe8, 0x1f, 0xe0, 0x63, 0x8d, 0xd8, 0x82, 0x05, 0x1a, 0x60, 0x4f, 0xd0, -+ 0x21, 0x71, 0x71, 0xc0, 0x02, 0xbb, 0xaa, 0x20, 0xf3, 0xe9, 0xe4, 0xd3, 0x80, 0x05, 0x72, 0xb3, -+ 0x26, 0x64, 0x5e, 0xab, 0x18, 0x00, 0x53, 0x45, 0xd5, 0x63, 0x61, 0x52, 0x45, 0x55, 0x24, 0x57, -+ 0x51, 0x90, 0x45, 0x53, 0x45, 0x01, 0x36, 0xa1, 0x1a, 0x07, 0x64, 0x48, 0x3d, 0x81, 0x3b, 0x7d, -+ 0x62, 0x5f, 0x55, 0x00, 0x73, 0x0a, 0x3d, 0x82, 0xb5, 0x1e, 0x25, 0x1c, 0x73, 0xaf, 0x47, 0x3d, -+ 0xdc, 0x77, 0xf5, 0x87, 0xcc, 0xd5, 0xc7, 0x6f, 0x49, 0xe1, 0x6f, 0x98, 0x00, 0xed, 0x84, 0xff, -+ 0xc8, 0x65, 0xf4, 0x00, 0x26, 0x96, 0xdc, 0xe8, 0x14, 0x87, 0x09, 0x73, 0x59, 0x31, 0xaf, 0x9b, -+ 0xcb, 0xed, 0x53, 0x1c, 0x6a, 0x5e, 0x0d, 0xaa, 0xea, 0x94, 0xb8, 0xda, 0x48, 0x48, 0xa7, 0xad, -+ 0xa6, 0xf6, 0x95, 0x9b, 0xfe, 0x02, 0x96, 0x06, 0x48, 0x4f, 0xad, 0x28, 0xcf, 0xcc, 0x8f, 0xcf, -+ 0x6b, 0x95, 0x43, 0x39, 0x29, 0x8d, 0x55, 0x51, 0xcb, 0x4e, 0x14, 0xa1, 0x07, 0xb0, 0x98, 0x41, -+ 0xb5, 0xc7, 0xae, 0x29, 0xfc, 0xd2, 0xf8, 0xbc, 0x36, 0x9f, 0xe2, 0x95, 0xd1, 0xe6, 0x53, 0x8e, -+ 0x72, 0xdb, 0x5f, 0x61, 0x59, 0xf3, 0x4c, 0xcf, 0x5d, 0x57, 0x99, 0x5c, 0x55, 0x0b, 0x07, 0xb9, -+ 0xf1, 0xb2, 0x7c, 0xb5, 0xfd, 0x56, 0x8d, 0x7c, 0x9f, 0x29, 0x0f, 0xfe, 0x19, 0x34, 0xc7, 0xcd, -+ 0x9d, 0x78, 0x43, 0x81, 0x74, 0x6e, 0x6f, 0x33, 0x3b, 0x6e, 0xa5, 0xd9, 0x66, 0xa6, 0xb4, 0xf5, -+ 0x2b, 0x51, 0xb3, 0x2d, 0xed, 0xcc, 0x9d, 0x54, 0x2d, 0xf7, 0xe7, 0x9a, 0x7e, 0xf9, 0x19, 0x4a, -+ 0x9a, 0x74, 0xdb, 0xd0, 0xd2, 0x5e, 0x5c, 0x9f, 0x40, 0x69, 0x37, 0xde, 0x05, 0x94, 0xa1, 0x72, -+ 0xd7, 0xde, 0x34, 0x36, 0xda, 0xca, 0xad, 0xdb, 0x80, 0x15, 0x0d, 0x9e, 0x34, 0xf0, 0x2d, 0x85, -+ 0xd6, 0xf5, 0x7a, 0x65, 0xba, 0x38, 0x2b, 0xa2, 0x89, 0xbe, 0x6d, 0x68, 0x3f, 0xcd, 0xb1, 0x9f, -+ 0x6b, 0xab, 0x92, 0x6f, 0x7c, 0x41, 0x5b, 0x15, 0xfd, 0x53, 0x6d, 0x85, 0xae, 0x7d, 0xa6, 0xad, -+ 0xb0, 0x77, 0x53, 0xac, 0x69, 0xf6, 0xcd, 0xe4, 0xb3, 0x27, 0x17, 0x8e, 0x0c, 0xc7, 0xff, 0x33, -+ 0xbd, 0x3a, 0xee, 0xa8, 0x6f, 0xff, 0xce, 0x65, 0x17, 0xfc, 0xf3, 0x40, 0xf0, 0xb3, 0xf4, 0xf6, -+ 0x78, 0x08, 0x25, 0xe9, 0x72, 0xbb, 0x3e, 0x0d, 0x57, 0x51, 0xd0, 0x93, 0xec, 0x4a, 0xd8, 0x9a, -+ 0x86, 0x9c, 0xde, 0x1c, 0x6d, 0x00, 0xfd, 0xe4, 0x0a, 0x2f, 0xb4, 0xb7, 0xa7, 0x90, 0x68, 0x2e, -+ 0x8c, 0xcf, 0x6b, 0xd6, 0xbf, 0x15, 0xf9, 0x70, 0xbf, 0xe5, 0x58, 0x5a, 0xe7, 0xd0, 0x0b, 0xeb, -+ 0x04, 0xaa, 0x06, 0x30, 0xbf, 0x77, 0x0b, 0xc6, 0xbd, 0x9b, 0x77, 0x04, 0x33, 0x5f, 0xe8, 0x08, -+ 0x8a, 0x5f, 0xec, 0x08, 0x4a, 0x13, 0x1d, 0x41, 0xfd, 0xe7, 0x59, 0xb0, 0xb2, 0x86, 0x07, 0x61, -+ 0x58, 0xa7, 0xcc, 0x8d, 0x08, 0x1f, 0x52, 0x8f, 0xb8, 0x9d, 0x33, 0x41, 0x22, 0x97, 0x13, 0x2f, -+ 0xe6, 0x11, 0x1d, 0x92, 0xa4, 0x59, 0xdc, 0xbe, 0xa4, 0x73, 0xd2, 0xb5, 0xb9, 0x41, 0x59, 0x5b, -+ 0xcb, 0x34, 0xa5, 0x8a, 0x93, 0x8a, 0xa0, 0xff, 0xc1, 0xf5, 0x3c, 0x44, 0xd7, 0x50, 0x9f, 0x99, -+ 0x42, 0x7d, 0x25, 0x53, 0xef, 0xe6, 0xca, 0x87, 0xb0, 0x42, 0x99, 0xfb, 0x3e, 0x26, 0xf1, 0x84, -+ 0x6e, 0x71, 0x0a, 0xdd, 0x65, 0xca, 0xde, 0x28, 0x7e, 0xae, 0xea, 0xc2, 0x9a, 0x51, 0x12, 0x79, -+ 0x17, 0x1b, 0xda, 0xa5, 0x29, 0xb4, 0x57, 0xb3, 0x9c, 0xe5, 0xdd, 0x9d, 0x07, 0xf8, 0x3f, 0xac, -+ 0x52, 0xe6, 0x9e, 0x62, 0x2a, 0x3e, 0x55, 0x9f, 0x9d, 0xae, 0x22, 0x6f, 0x31, 0x15, 0x93, 0xd2, -+ 0xba, 0x22, 0x03, 0xc2, 0xfd, 0x89, 0x8a, 0xcc, 0x4d, 0x57, 0x91, 0x03, 0xc5, 0xcf, 0x55, 0x5b, -+ 0xb0, 0x4c, 0xd9, 0xa7, 0xb9, 0x96, 0xa7, 0xd0, 0xbc, 0x4a, 0xd9, 0x64, 0x9e, 0x6f, 0x60, 0x39, -+ 0x22, 0x9e, 0x60, 0xdc, 0x74, 0x5b, 0x65, 0x0a, 0xc5, 0xa5, 0x84, 0x9e, 0x49, 0xd6, 0x87, 0x00, -+ 0xf9, 0x3a, 0x5a, 0x84, 0x19, 0x16, 0xaa, 0xa3, 0x63, 0x39, 0x33, 0x2c, 0x94, 0x3d, 0x60, 0x57, -+ 0x7e, 0x76, 0xf4, 0xc1, 0xb1, 0x9c, 0x64, 0x24, 0xcf, 0xd3, 0x00, 0x1f, 0xb3, 0xb4, 0x09, 0xd4, -+ 0x03, 0x35, 0x4b, 0x03, 0xc6, 0x93, 0xb3, 0xa3, 0x07, 0x72, 0x76, 0x88, 0xfb, 0x31, 0x49, 0x7b, -+ 0x1e, 0x35, 0xa8, 0x7f, 0x57, 0x80, 0x4a, 0xfa, 0x1b, 0x80, 0x9e, 0x98, 0x6d, 0x74, 0xf1, 0xeb, -+ 0x7f, 0x1d, 0x92, 0xa4, 0x37, 0x93, 0xf5, 0xda, 0x0f, 0xf3, 0x5e, 0xfb, 0x0f, 0x93, 0x93, 0x86, -+ 0x9c, 0x80, 0x95, 0xcd, 0x19, 0xbb, 0x2d, 0x4c, 0xec, 0xb6, 0x06, 0xd5, 0x9e, 0x87, 0xdd, 0x1e, -+ 0x0e, 0xba, 0x7d, 0xa2, 0x3b, 0xc4, 0x05, 0x07, 0x7a, 0x1e, 0x7e, 0xa9, 0x67, 0x52, 0x00, 0xeb, -+ 0x1c, 0x13, 0x4f, 0x44, 0xaa, 0x28, 0x1a, 0xf0, 0x5a, 0xcf, 0xd4, 0x7f, 0x98, 0x81, 0xaa, 0xf1, -+ 0xe7, 0x22, 0x7b, 0xe8, 0x00, 0x0f, 0xd2, 0x38, 0xea, 0x59, 0x76, 0x6c, 0x7c, 0xa4, 0xbf, 0x25, -+ 0xc9, 0x67, 0xaa, 0xcc, 0x47, 0xea, 0xa3, 0x80, 0x6e, 0x03, 0xf0, 0x91, 0x1b, 0x62, 0xef, 0x84, -+ 0x24, 0xf2, 0x25, 0xc7, 0xe2, 0xa3, 0x96, 0x9e, 0x40, 0x37, 0xc1, 0xe2, 0x23, 0x97, 0x70, 0xce, -+ 0x78, 0x94, 0xd4, 0xbe, 0xc2, 0x47, 0xcf, 0xd5, 0x38, 0xe1, 0x76, 0x39, 0x93, 0xbd, 0x40, 0xf2, -+ 0x0e, 0x2c, 0x3e, 0x7a, 0xa6, 0x27, 0x64, 0x54, 0x91, 0x46, 0xd5, 0xad, 0x67, 0x59, 0xe4, 0x51, -+ 0x45, 0x1e, 0x55, 0xb7, 0x9e, 0x96, 0x30, 0xa3, 0x8a, 0x2c, 0xaa, 0xee, 0x3e, 0x2b, 0xc2, 0x88, -+ 0x2a, 0xf2, 0xa8, 0x56, 0xca, 0x4d, 0xa2, 0x36, 0xed, 0x0f, 0x1f, 0x37, 0xae, 0xfc, 0xf2, 0x71, -+ 0xe3, 0xca, 0xb7, 0xe3, 0x8d, 0xc2, 0x87, 0xf1, 0x46, 0xe1, 0xa7, 0xf1, 0x46, 0xe1, 0xb7, 0xf1, -+ 0x46, 0xa1, 0x33, 0xa7, 0x7e, 0xc3, 0xff, 0xf6, 0x7b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2f, 0xc0, -+ 0x49, 0x92, 0xee, 0x0f, 0x00, 0x00, -+} -+ -+func (m *Metrics) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *Metrics) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if len(m.Hugetlb) > 0 { -+ for _, msg := range m.Hugetlb { -+ dAtA[i] = 0xa -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if m.Pids != nil { -+ dAtA[i] = 0x12 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Pids.Size())) -+ n1, err := m.Pids.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n1 -+ } -+ if m.CPU != nil { -+ dAtA[i] = 0x1a -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.CPU.Size())) -+ n2, err := m.CPU.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n2 -+ } -+ if m.Memory != nil { -+ dAtA[i] = 0x22 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Memory.Size())) -+ n3, err := m.Memory.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n3 -+ } -+ if m.Blkio != nil { -+ dAtA[i] = 0x2a -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Blkio.Size())) -+ n4, err := m.Blkio.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n4 -+ } -+ if m.Rdma != nil { -+ dAtA[i] = 0x32 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Rdma.Size())) -+ n5, err := m.Rdma.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n5 -+ } -+ if len(m.Network) > 0 { -+ for _, msg := range m.Network { -+ dAtA[i] = 0x3a -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *HugetlbStat) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *HugetlbStat) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if m.Usage != 0 { -+ dAtA[i] = 0x8 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Usage)) -+ } -+ if m.Max != 0 { -+ dAtA[i] = 0x10 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Max)) -+ } -+ if m.Failcnt != 0 { -+ dAtA[i] = 0x18 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Failcnt)) -+ } -+ if len(m.Pagesize) > 0 { -+ dAtA[i] = 0x22 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(len(m.Pagesize))) -+ i += copy(dAtA[i:], m.Pagesize) -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *PidsStat) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *PidsStat) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if m.Current != 0 { -+ dAtA[i] = 0x8 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Current)) -+ } -+ if m.Limit != 0 { -+ dAtA[i] = 0x10 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Limit)) -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *CPUStat) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *CPUStat) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if m.Usage != nil { -+ dAtA[i] = 0xa -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Usage.Size())) -+ n6, err := m.Usage.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n6 -+ } -+ if m.Throttling != nil { -+ dAtA[i] = 0x12 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Throttling.Size())) -+ n7, err := m.Throttling.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n7 -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *CPUUsage) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *CPUUsage) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if m.Total != 0 { -+ dAtA[i] = 0x8 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Total)) -+ } -+ if m.Kernel != 0 { -+ dAtA[i] = 0x10 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Kernel)) -+ } -+ if m.User != 0 { -+ dAtA[i] = 0x18 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.User)) -+ } -+ if len(m.PerCPU) > 0 { -+ dAtA9 := make([]byte, len(m.PerCPU)*10) -+ var j8 int -+ for _, num := range m.PerCPU { -+ for num >= 1<<7 { -+ dAtA9[j8] = uint8(uint64(num)&0x7f | 0x80) -+ num >>= 7 -+ j8++ -+ } -+ dAtA9[j8] = uint8(num) -+ j8++ -+ } -+ dAtA[i] = 0x22 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(j8)) -+ i += copy(dAtA[i:], dAtA9[:j8]) -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *Throttle) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *Throttle) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if m.Periods != 0 { -+ dAtA[i] = 0x8 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Periods)) -+ } -+ if m.ThrottledPeriods != 0 { -+ dAtA[i] = 0x10 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.ThrottledPeriods)) -+ } -+ if m.ThrottledTime != 0 { -+ dAtA[i] = 0x18 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.ThrottledTime)) -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *MemoryStat) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *MemoryStat) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if m.Cache != 0 { -+ dAtA[i] = 0x8 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Cache)) -+ } -+ if m.RSS != 0 { -+ dAtA[i] = 0x10 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.RSS)) -+ } -+ if m.RSSHuge != 0 { -+ dAtA[i] = 0x18 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.RSSHuge)) -+ } -+ if m.MappedFile != 0 { -+ dAtA[i] = 0x20 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.MappedFile)) -+ } -+ if m.Dirty != 0 { -+ dAtA[i] = 0x28 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Dirty)) -+ } -+ if m.Writeback != 0 { -+ dAtA[i] = 0x30 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Writeback)) -+ } -+ if m.PgPgIn != 0 { -+ dAtA[i] = 0x38 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.PgPgIn)) -+ } -+ if m.PgPgOut != 0 { -+ dAtA[i] = 0x40 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.PgPgOut)) -+ } -+ if m.PgFault != 0 { -+ dAtA[i] = 0x48 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.PgFault)) -+ } -+ if m.PgMajFault != 0 { -+ dAtA[i] = 0x50 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.PgMajFault)) -+ } -+ if m.InactiveAnon != 0 { -+ dAtA[i] = 0x58 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.InactiveAnon)) -+ } -+ if m.ActiveAnon != 0 { -+ dAtA[i] = 0x60 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.ActiveAnon)) -+ } -+ if m.InactiveFile != 0 { -+ dAtA[i] = 0x68 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.InactiveFile)) -+ } -+ if m.ActiveFile != 0 { -+ dAtA[i] = 0x70 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.ActiveFile)) -+ } -+ if m.Unevictable != 0 { -+ dAtA[i] = 0x78 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Unevictable)) -+ } -+ if m.HierarchicalMemoryLimit != 0 { -+ dAtA[i] = 0x80 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.HierarchicalMemoryLimit)) -+ } -+ if m.HierarchicalSwapLimit != 0 { -+ dAtA[i] = 0x88 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.HierarchicalSwapLimit)) -+ } -+ if m.TotalCache != 0 { -+ dAtA[i] = 0x90 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalCache)) -+ } -+ if m.TotalRSS != 0 { -+ dAtA[i] = 0x98 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalRSS)) -+ } -+ if m.TotalRSSHuge != 0 { -+ dAtA[i] = 0xa0 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalRSSHuge)) -+ } -+ if m.TotalMappedFile != 0 { -+ dAtA[i] = 0xa8 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalMappedFile)) -+ } -+ if m.TotalDirty != 0 { -+ dAtA[i] = 0xb0 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalDirty)) -+ } -+ if m.TotalWriteback != 0 { -+ dAtA[i] = 0xb8 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalWriteback)) -+ } -+ if m.TotalPgPgIn != 0 { -+ dAtA[i] = 0xc0 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalPgPgIn)) -+ } -+ if m.TotalPgPgOut != 0 { -+ dAtA[i] = 0xc8 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalPgPgOut)) -+ } -+ if m.TotalPgFault != 0 { -+ dAtA[i] = 0xd0 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalPgFault)) -+ } -+ if m.TotalPgMajFault != 0 { -+ dAtA[i] = 0xd8 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalPgMajFault)) -+ } -+ if m.TotalInactiveAnon != 0 { -+ dAtA[i] = 0xe0 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalInactiveAnon)) -+ } -+ if m.TotalActiveAnon != 0 { -+ dAtA[i] = 0xe8 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalActiveAnon)) -+ } -+ if m.TotalInactiveFile != 0 { -+ dAtA[i] = 0xf0 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalInactiveFile)) -+ } -+ if m.TotalActiveFile != 0 { -+ dAtA[i] = 0xf8 -+ i++ -+ dAtA[i] = 0x1 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalActiveFile)) -+ } -+ if m.TotalUnevictable != 0 { -+ dAtA[i] = 0x80 -+ i++ -+ dAtA[i] = 0x2 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TotalUnevictable)) -+ } -+ if m.Usage != nil { -+ dAtA[i] = 0x8a -+ i++ -+ dAtA[i] = 0x2 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Usage.Size())) -+ n10, err := m.Usage.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n10 -+ } -+ if m.Swap != nil { -+ dAtA[i] = 0x92 -+ i++ -+ dAtA[i] = 0x2 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Swap.Size())) -+ n11, err := m.Swap.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n11 -+ } -+ if m.Kernel != nil { -+ dAtA[i] = 0x9a -+ i++ -+ dAtA[i] = 0x2 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Kernel.Size())) -+ n12, err := m.Kernel.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n12 -+ } -+ if m.KernelTCP != nil { -+ dAtA[i] = 0xa2 -+ i++ -+ dAtA[i] = 0x2 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.KernelTCP.Size())) -+ n13, err := m.KernelTCP.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n13 -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *MemoryEntry) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *MemoryEntry) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if m.Limit != 0 { -+ dAtA[i] = 0x8 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Limit)) -+ } -+ if m.Usage != 0 { -+ dAtA[i] = 0x10 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Usage)) -+ } -+ if m.Max != 0 { -+ dAtA[i] = 0x18 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Max)) -+ } -+ if m.Failcnt != 0 { -+ dAtA[i] = 0x20 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Failcnt)) -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *BlkIOStat) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *BlkIOStat) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if len(m.IoServiceBytesRecursive) > 0 { -+ for _, msg := range m.IoServiceBytesRecursive { -+ dAtA[i] = 0xa -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if len(m.IoServicedRecursive) > 0 { -+ for _, msg := range m.IoServicedRecursive { -+ dAtA[i] = 0x12 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if len(m.IoQueuedRecursive) > 0 { -+ for _, msg := range m.IoQueuedRecursive { -+ dAtA[i] = 0x1a -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if len(m.IoServiceTimeRecursive) > 0 { -+ for _, msg := range m.IoServiceTimeRecursive { -+ dAtA[i] = 0x22 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if len(m.IoWaitTimeRecursive) > 0 { -+ for _, msg := range m.IoWaitTimeRecursive { -+ dAtA[i] = 0x2a -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if len(m.IoMergedRecursive) > 0 { -+ for _, msg := range m.IoMergedRecursive { -+ dAtA[i] = 0x32 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if len(m.IoTimeRecursive) > 0 { -+ for _, msg := range m.IoTimeRecursive { -+ dAtA[i] = 0x3a -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if len(m.SectorsRecursive) > 0 { -+ for _, msg := range m.SectorsRecursive { -+ dAtA[i] = 0x42 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *BlkIOEntry) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *BlkIOEntry) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if len(m.Op) > 0 { -+ dAtA[i] = 0xa -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(len(m.Op))) -+ i += copy(dAtA[i:], m.Op) -+ } -+ if len(m.Device) > 0 { -+ dAtA[i] = 0x12 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(len(m.Device))) -+ i += copy(dAtA[i:], m.Device) -+ } -+ if m.Major != 0 { -+ dAtA[i] = 0x18 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Major)) -+ } -+ if m.Minor != 0 { -+ dAtA[i] = 0x20 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Minor)) -+ } -+ if m.Value != 0 { -+ dAtA[i] = 0x28 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.Value)) -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *RdmaStat) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *RdmaStat) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if len(m.Current) > 0 { -+ for _, msg := range m.Current { -+ dAtA[i] = 0xa -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if len(m.Limit) > 0 { -+ for _, msg := range m.Limit { -+ dAtA[i] = 0x12 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(msg.Size())) -+ n, err := msg.MarshalTo(dAtA[i:]) -+ if err != nil { -+ return 0, err -+ } -+ i += n -+ } -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *RdmaEntry) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *RdmaEntry) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if len(m.Device) > 0 { -+ dAtA[i] = 0xa -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(len(m.Device))) -+ i += copy(dAtA[i:], m.Device) -+ } -+ if m.HcaHandles != 0 { -+ dAtA[i] = 0x10 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.HcaHandles)) -+ } -+ if m.HcaObjects != 0 { -+ dAtA[i] = 0x18 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.HcaObjects)) -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func (m *NetworkStat) Marshal() (dAtA []byte, err error) { -+ size := m.Size() -+ dAtA = make([]byte, size) -+ n, err := m.MarshalTo(dAtA) -+ if err != nil { -+ return nil, err -+ } -+ return dAtA[:n], nil -+} -+ -+func (m *NetworkStat) MarshalTo(dAtA []byte) (int, error) { -+ var i int -+ _ = i -+ var l int -+ _ = l -+ if len(m.Name) > 0 { -+ dAtA[i] = 0xa -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(len(m.Name))) -+ i += copy(dAtA[i:], m.Name) -+ } -+ if m.RxBytes != 0 { -+ dAtA[i] = 0x10 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.RxBytes)) -+ } -+ if m.RxPackets != 0 { -+ dAtA[i] = 0x18 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.RxPackets)) -+ } -+ if m.RxErrors != 0 { -+ dAtA[i] = 0x20 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.RxErrors)) -+ } -+ if m.RxDropped != 0 { -+ dAtA[i] = 0x28 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.RxDropped)) -+ } -+ if m.TxBytes != 0 { -+ dAtA[i] = 0x30 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TxBytes)) -+ } -+ if m.TxPackets != 0 { -+ dAtA[i] = 0x38 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TxPackets)) -+ } -+ if m.TxErrors != 0 { -+ dAtA[i] = 0x40 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TxErrors)) -+ } -+ if m.TxDropped != 0 { -+ dAtA[i] = 0x48 -+ i++ -+ i = encodeVarintMetrics(dAtA, i, uint64(m.TxDropped)) -+ } -+ if m.XXX_unrecognized != nil { -+ i += copy(dAtA[i:], m.XXX_unrecognized) -+ } -+ return i, nil -+} -+ -+func encodeVarintMetrics(dAtA []byte, offset int, v uint64) int { -+ for v >= 1<<7 { -+ dAtA[offset] = uint8(v&0x7f | 0x80) -+ v >>= 7 -+ offset++ -+ } -+ dAtA[offset] = uint8(v) -+ return offset + 1 -+} -+func (m *Metrics) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if len(m.Hugetlb) > 0 { -+ for _, e := range m.Hugetlb { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if m.Pids != nil { -+ l = m.Pids.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.CPU != nil { -+ l = m.CPU.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.Memory != nil { -+ l = m.Memory.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.Blkio != nil { -+ l = m.Blkio.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.Rdma != nil { -+ l = m.Rdma.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if len(m.Network) > 0 { -+ for _, e := range m.Network { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *HugetlbStat) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if m.Usage != 0 { -+ n += 1 + sovMetrics(uint64(m.Usage)) -+ } -+ if m.Max != 0 { -+ n += 1 + sovMetrics(uint64(m.Max)) -+ } -+ if m.Failcnt != 0 { -+ n += 1 + sovMetrics(uint64(m.Failcnt)) -+ } -+ l = len(m.Pagesize) -+ if l > 0 { -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *PidsStat) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if m.Current != 0 { -+ n += 1 + sovMetrics(uint64(m.Current)) -+ } -+ if m.Limit != 0 { -+ n += 1 + sovMetrics(uint64(m.Limit)) -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *CPUStat) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if m.Usage != nil { -+ l = m.Usage.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.Throttling != nil { -+ l = m.Throttling.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *CPUUsage) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if m.Total != 0 { -+ n += 1 + sovMetrics(uint64(m.Total)) -+ } -+ if m.Kernel != 0 { -+ n += 1 + sovMetrics(uint64(m.Kernel)) -+ } -+ if m.User != 0 { -+ n += 1 + sovMetrics(uint64(m.User)) -+ } -+ if len(m.PerCPU) > 0 { -+ l = 0 -+ for _, e := range m.PerCPU { -+ l += sovMetrics(uint64(e)) -+ } -+ n += 1 + sovMetrics(uint64(l)) + l -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *Throttle) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if m.Periods != 0 { -+ n += 1 + sovMetrics(uint64(m.Periods)) -+ } -+ if m.ThrottledPeriods != 0 { -+ n += 1 + sovMetrics(uint64(m.ThrottledPeriods)) -+ } -+ if m.ThrottledTime != 0 { -+ n += 1 + sovMetrics(uint64(m.ThrottledTime)) -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *MemoryStat) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if m.Cache != 0 { -+ n += 1 + sovMetrics(uint64(m.Cache)) -+ } -+ if m.RSS != 0 { -+ n += 1 + sovMetrics(uint64(m.RSS)) -+ } -+ if m.RSSHuge != 0 { -+ n += 1 + sovMetrics(uint64(m.RSSHuge)) -+ } -+ if m.MappedFile != 0 { -+ n += 1 + sovMetrics(uint64(m.MappedFile)) -+ } -+ if m.Dirty != 0 { -+ n += 1 + sovMetrics(uint64(m.Dirty)) -+ } -+ if m.Writeback != 0 { -+ n += 1 + sovMetrics(uint64(m.Writeback)) -+ } -+ if m.PgPgIn != 0 { -+ n += 1 + sovMetrics(uint64(m.PgPgIn)) -+ } -+ if m.PgPgOut != 0 { -+ n += 1 + sovMetrics(uint64(m.PgPgOut)) -+ } -+ if m.PgFault != 0 { -+ n += 1 + sovMetrics(uint64(m.PgFault)) -+ } -+ if m.PgMajFault != 0 { -+ n += 1 + sovMetrics(uint64(m.PgMajFault)) -+ } -+ if m.InactiveAnon != 0 { -+ n += 1 + sovMetrics(uint64(m.InactiveAnon)) -+ } -+ if m.ActiveAnon != 0 { -+ n += 1 + sovMetrics(uint64(m.ActiveAnon)) -+ } -+ if m.InactiveFile != 0 { -+ n += 1 + sovMetrics(uint64(m.InactiveFile)) -+ } -+ if m.ActiveFile != 0 { -+ n += 1 + sovMetrics(uint64(m.ActiveFile)) -+ } -+ if m.Unevictable != 0 { -+ n += 1 + sovMetrics(uint64(m.Unevictable)) -+ } -+ if m.HierarchicalMemoryLimit != 0 { -+ n += 2 + sovMetrics(uint64(m.HierarchicalMemoryLimit)) -+ } -+ if m.HierarchicalSwapLimit != 0 { -+ n += 2 + sovMetrics(uint64(m.HierarchicalSwapLimit)) -+ } -+ if m.TotalCache != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalCache)) -+ } -+ if m.TotalRSS != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalRSS)) -+ } -+ if m.TotalRSSHuge != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalRSSHuge)) -+ } -+ if m.TotalMappedFile != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalMappedFile)) -+ } -+ if m.TotalDirty != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalDirty)) -+ } -+ if m.TotalWriteback != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalWriteback)) -+ } -+ if m.TotalPgPgIn != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalPgPgIn)) -+ } -+ if m.TotalPgPgOut != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalPgPgOut)) -+ } -+ if m.TotalPgFault != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalPgFault)) -+ } -+ if m.TotalPgMajFault != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalPgMajFault)) -+ } -+ if m.TotalInactiveAnon != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalInactiveAnon)) -+ } -+ if m.TotalActiveAnon != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalActiveAnon)) -+ } -+ if m.TotalInactiveFile != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalInactiveFile)) -+ } -+ if m.TotalActiveFile != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalActiveFile)) -+ } -+ if m.TotalUnevictable != 0 { -+ n += 2 + sovMetrics(uint64(m.TotalUnevictable)) -+ } -+ if m.Usage != nil { -+ l = m.Usage.Size() -+ n += 2 + l + sovMetrics(uint64(l)) -+ } -+ if m.Swap != nil { -+ l = m.Swap.Size() -+ n += 2 + l + sovMetrics(uint64(l)) -+ } -+ if m.Kernel != nil { -+ l = m.Kernel.Size() -+ n += 2 + l + sovMetrics(uint64(l)) -+ } -+ if m.KernelTCP != nil { -+ l = m.KernelTCP.Size() -+ n += 2 + l + sovMetrics(uint64(l)) -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *MemoryEntry) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if m.Limit != 0 { -+ n += 1 + sovMetrics(uint64(m.Limit)) -+ } -+ if m.Usage != 0 { -+ n += 1 + sovMetrics(uint64(m.Usage)) -+ } -+ if m.Max != 0 { -+ n += 1 + sovMetrics(uint64(m.Max)) -+ } -+ if m.Failcnt != 0 { -+ n += 1 + sovMetrics(uint64(m.Failcnt)) -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *BlkIOStat) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if len(m.IoServiceBytesRecursive) > 0 { -+ for _, e := range m.IoServiceBytesRecursive { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if len(m.IoServicedRecursive) > 0 { -+ for _, e := range m.IoServicedRecursive { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if len(m.IoQueuedRecursive) > 0 { -+ for _, e := range m.IoQueuedRecursive { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if len(m.IoServiceTimeRecursive) > 0 { -+ for _, e := range m.IoServiceTimeRecursive { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if len(m.IoWaitTimeRecursive) > 0 { -+ for _, e := range m.IoWaitTimeRecursive { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if len(m.IoMergedRecursive) > 0 { -+ for _, e := range m.IoMergedRecursive { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if len(m.IoTimeRecursive) > 0 { -+ for _, e := range m.IoTimeRecursive { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if len(m.SectorsRecursive) > 0 { -+ for _, e := range m.SectorsRecursive { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *BlkIOEntry) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ l = len(m.Op) -+ if l > 0 { -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ l = len(m.Device) -+ if l > 0 { -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.Major != 0 { -+ n += 1 + sovMetrics(uint64(m.Major)) -+ } -+ if m.Minor != 0 { -+ n += 1 + sovMetrics(uint64(m.Minor)) -+ } -+ if m.Value != 0 { -+ n += 1 + sovMetrics(uint64(m.Value)) -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *RdmaStat) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ if len(m.Current) > 0 { -+ for _, e := range m.Current { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if len(m.Limit) > 0 { -+ for _, e := range m.Limit { -+ l = e.Size() -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *RdmaEntry) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ l = len(m.Device) -+ if l > 0 { -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.HcaHandles != 0 { -+ n += 1 + sovMetrics(uint64(m.HcaHandles)) -+ } -+ if m.HcaObjects != 0 { -+ n += 1 + sovMetrics(uint64(m.HcaObjects)) -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func (m *NetworkStat) Size() (n int) { -+ if m == nil { -+ return 0 -+ } -+ var l int -+ _ = l -+ l = len(m.Name) -+ if l > 0 { -+ n += 1 + l + sovMetrics(uint64(l)) -+ } -+ if m.RxBytes != 0 { -+ n += 1 + sovMetrics(uint64(m.RxBytes)) -+ } -+ if m.RxPackets != 0 { -+ n += 1 + sovMetrics(uint64(m.RxPackets)) -+ } -+ if m.RxErrors != 0 { -+ n += 1 + sovMetrics(uint64(m.RxErrors)) -+ } -+ if m.RxDropped != 0 { -+ n += 1 + sovMetrics(uint64(m.RxDropped)) -+ } -+ if m.TxBytes != 0 { -+ n += 1 + sovMetrics(uint64(m.TxBytes)) -+ } -+ if m.TxPackets != 0 { -+ n += 1 + sovMetrics(uint64(m.TxPackets)) -+ } -+ if m.TxErrors != 0 { -+ n += 1 + sovMetrics(uint64(m.TxErrors)) -+ } -+ if m.TxDropped != 0 { -+ n += 1 + sovMetrics(uint64(m.TxDropped)) -+ } -+ if m.XXX_unrecognized != nil { -+ n += len(m.XXX_unrecognized) -+ } -+ return n -+} -+ -+func sovMetrics(x uint64) (n int) { -+ for { -+ n++ -+ x >>= 7 -+ if x == 0 { -+ break -+ } -+ } -+ return n -+} -+func sozMetrics(x uint64) (n int) { -+ return sovMetrics(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -+} -+func (this *Metrics) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&Metrics{`, -+ `Hugetlb:` + strings.Replace(fmt.Sprintf("%v", this.Hugetlb), "HugetlbStat", "HugetlbStat", 1) + `,`, -+ `Pids:` + strings.Replace(fmt.Sprintf("%v", this.Pids), "PidsStat", "PidsStat", 1) + `,`, -+ `CPU:` + strings.Replace(fmt.Sprintf("%v", this.CPU), "CPUStat", "CPUStat", 1) + `,`, -+ `Memory:` + strings.Replace(fmt.Sprintf("%v", this.Memory), "MemoryStat", "MemoryStat", 1) + `,`, -+ `Blkio:` + strings.Replace(fmt.Sprintf("%v", this.Blkio), "BlkIOStat", "BlkIOStat", 1) + `,`, -+ `Rdma:` + strings.Replace(fmt.Sprintf("%v", this.Rdma), "RdmaStat", "RdmaStat", 1) + `,`, -+ `Network:` + strings.Replace(fmt.Sprintf("%v", this.Network), "NetworkStat", "NetworkStat", 1) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *HugetlbStat) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&HugetlbStat{`, -+ `Usage:` + fmt.Sprintf("%v", this.Usage) + `,`, -+ `Max:` + fmt.Sprintf("%v", this.Max) + `,`, -+ `Failcnt:` + fmt.Sprintf("%v", this.Failcnt) + `,`, -+ `Pagesize:` + fmt.Sprintf("%v", this.Pagesize) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *PidsStat) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&PidsStat{`, -+ `Current:` + fmt.Sprintf("%v", this.Current) + `,`, -+ `Limit:` + fmt.Sprintf("%v", this.Limit) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *CPUStat) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&CPUStat{`, -+ `Usage:` + strings.Replace(fmt.Sprintf("%v", this.Usage), "CPUUsage", "CPUUsage", 1) + `,`, -+ `Throttling:` + strings.Replace(fmt.Sprintf("%v", this.Throttling), "Throttle", "Throttle", 1) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *CPUUsage) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&CPUUsage{`, -+ `Total:` + fmt.Sprintf("%v", this.Total) + `,`, -+ `Kernel:` + fmt.Sprintf("%v", this.Kernel) + `,`, -+ `User:` + fmt.Sprintf("%v", this.User) + `,`, -+ `PerCPU:` + fmt.Sprintf("%v", this.PerCPU) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *Throttle) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&Throttle{`, -+ `Periods:` + fmt.Sprintf("%v", this.Periods) + `,`, -+ `ThrottledPeriods:` + fmt.Sprintf("%v", this.ThrottledPeriods) + `,`, -+ `ThrottledTime:` + fmt.Sprintf("%v", this.ThrottledTime) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *MemoryStat) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&MemoryStat{`, -+ `Cache:` + fmt.Sprintf("%v", this.Cache) + `,`, -+ `RSS:` + fmt.Sprintf("%v", this.RSS) + `,`, -+ `RSSHuge:` + fmt.Sprintf("%v", this.RSSHuge) + `,`, -+ `MappedFile:` + fmt.Sprintf("%v", this.MappedFile) + `,`, -+ `Dirty:` + fmt.Sprintf("%v", this.Dirty) + `,`, -+ `Writeback:` + fmt.Sprintf("%v", this.Writeback) + `,`, -+ `PgPgIn:` + fmt.Sprintf("%v", this.PgPgIn) + `,`, -+ `PgPgOut:` + fmt.Sprintf("%v", this.PgPgOut) + `,`, -+ `PgFault:` + fmt.Sprintf("%v", this.PgFault) + `,`, -+ `PgMajFault:` + fmt.Sprintf("%v", this.PgMajFault) + `,`, -+ `InactiveAnon:` + fmt.Sprintf("%v", this.InactiveAnon) + `,`, -+ `ActiveAnon:` + fmt.Sprintf("%v", this.ActiveAnon) + `,`, -+ `InactiveFile:` + fmt.Sprintf("%v", this.InactiveFile) + `,`, -+ `ActiveFile:` + fmt.Sprintf("%v", this.ActiveFile) + `,`, -+ `Unevictable:` + fmt.Sprintf("%v", this.Unevictable) + `,`, -+ `HierarchicalMemoryLimit:` + fmt.Sprintf("%v", this.HierarchicalMemoryLimit) + `,`, -+ `HierarchicalSwapLimit:` + fmt.Sprintf("%v", this.HierarchicalSwapLimit) + `,`, -+ `TotalCache:` + fmt.Sprintf("%v", this.TotalCache) + `,`, -+ `TotalRSS:` + fmt.Sprintf("%v", this.TotalRSS) + `,`, -+ `TotalRSSHuge:` + fmt.Sprintf("%v", this.TotalRSSHuge) + `,`, -+ `TotalMappedFile:` + fmt.Sprintf("%v", this.TotalMappedFile) + `,`, -+ `TotalDirty:` + fmt.Sprintf("%v", this.TotalDirty) + `,`, -+ `TotalWriteback:` + fmt.Sprintf("%v", this.TotalWriteback) + `,`, -+ `TotalPgPgIn:` + fmt.Sprintf("%v", this.TotalPgPgIn) + `,`, -+ `TotalPgPgOut:` + fmt.Sprintf("%v", this.TotalPgPgOut) + `,`, -+ `TotalPgFault:` + fmt.Sprintf("%v", this.TotalPgFault) + `,`, -+ `TotalPgMajFault:` + fmt.Sprintf("%v", this.TotalPgMajFault) + `,`, -+ `TotalInactiveAnon:` + fmt.Sprintf("%v", this.TotalInactiveAnon) + `,`, -+ `TotalActiveAnon:` + fmt.Sprintf("%v", this.TotalActiveAnon) + `,`, -+ `TotalInactiveFile:` + fmt.Sprintf("%v", this.TotalInactiveFile) + `,`, -+ `TotalActiveFile:` + fmt.Sprintf("%v", this.TotalActiveFile) + `,`, -+ `TotalUnevictable:` + fmt.Sprintf("%v", this.TotalUnevictable) + `,`, -+ `Usage:` + strings.Replace(fmt.Sprintf("%v", this.Usage), "MemoryEntry", "MemoryEntry", 1) + `,`, -+ `Swap:` + strings.Replace(fmt.Sprintf("%v", this.Swap), "MemoryEntry", "MemoryEntry", 1) + `,`, -+ `Kernel:` + strings.Replace(fmt.Sprintf("%v", this.Kernel), "MemoryEntry", "MemoryEntry", 1) + `,`, -+ `KernelTCP:` + strings.Replace(fmt.Sprintf("%v", this.KernelTCP), "MemoryEntry", "MemoryEntry", 1) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *MemoryEntry) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&MemoryEntry{`, -+ `Limit:` + fmt.Sprintf("%v", this.Limit) + `,`, -+ `Usage:` + fmt.Sprintf("%v", this.Usage) + `,`, -+ `Max:` + fmt.Sprintf("%v", this.Max) + `,`, -+ `Failcnt:` + fmt.Sprintf("%v", this.Failcnt) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *BlkIOStat) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&BlkIOStat{`, -+ `IoServiceBytesRecursive:` + strings.Replace(fmt.Sprintf("%v", this.IoServiceBytesRecursive), "BlkIOEntry", "BlkIOEntry", 1) + `,`, -+ `IoServicedRecursive:` + strings.Replace(fmt.Sprintf("%v", this.IoServicedRecursive), "BlkIOEntry", "BlkIOEntry", 1) + `,`, -+ `IoQueuedRecursive:` + strings.Replace(fmt.Sprintf("%v", this.IoQueuedRecursive), "BlkIOEntry", "BlkIOEntry", 1) + `,`, -+ `IoServiceTimeRecursive:` + strings.Replace(fmt.Sprintf("%v", this.IoServiceTimeRecursive), "BlkIOEntry", "BlkIOEntry", 1) + `,`, -+ `IoWaitTimeRecursive:` + strings.Replace(fmt.Sprintf("%v", this.IoWaitTimeRecursive), "BlkIOEntry", "BlkIOEntry", 1) + `,`, -+ `IoMergedRecursive:` + strings.Replace(fmt.Sprintf("%v", this.IoMergedRecursive), "BlkIOEntry", "BlkIOEntry", 1) + `,`, -+ `IoTimeRecursive:` + strings.Replace(fmt.Sprintf("%v", this.IoTimeRecursive), "BlkIOEntry", "BlkIOEntry", 1) + `,`, -+ `SectorsRecursive:` + strings.Replace(fmt.Sprintf("%v", this.SectorsRecursive), "BlkIOEntry", "BlkIOEntry", 1) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *BlkIOEntry) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&BlkIOEntry{`, -+ `Op:` + fmt.Sprintf("%v", this.Op) + `,`, -+ `Device:` + fmt.Sprintf("%v", this.Device) + `,`, -+ `Major:` + fmt.Sprintf("%v", this.Major) + `,`, -+ `Minor:` + fmt.Sprintf("%v", this.Minor) + `,`, -+ `Value:` + fmt.Sprintf("%v", this.Value) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *RdmaStat) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&RdmaStat{`, -+ `Current:` + strings.Replace(fmt.Sprintf("%v", this.Current), "RdmaEntry", "RdmaEntry", 1) + `,`, -+ `Limit:` + strings.Replace(fmt.Sprintf("%v", this.Limit), "RdmaEntry", "RdmaEntry", 1) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *RdmaEntry) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&RdmaEntry{`, -+ `Device:` + fmt.Sprintf("%v", this.Device) + `,`, -+ `HcaHandles:` + fmt.Sprintf("%v", this.HcaHandles) + `,`, -+ `HcaObjects:` + fmt.Sprintf("%v", this.HcaObjects) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func (this *NetworkStat) String() string { -+ if this == nil { -+ return "nil" -+ } -+ s := strings.Join([]string{`&NetworkStat{`, -+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`, -+ `RxBytes:` + fmt.Sprintf("%v", this.RxBytes) + `,`, -+ `RxPackets:` + fmt.Sprintf("%v", this.RxPackets) + `,`, -+ `RxErrors:` + fmt.Sprintf("%v", this.RxErrors) + `,`, -+ `RxDropped:` + fmt.Sprintf("%v", this.RxDropped) + `,`, -+ `TxBytes:` + fmt.Sprintf("%v", this.TxBytes) + `,`, -+ `TxPackets:` + fmt.Sprintf("%v", this.TxPackets) + `,`, -+ `TxErrors:` + fmt.Sprintf("%v", this.TxErrors) + `,`, -+ `TxDropped:` + fmt.Sprintf("%v", this.TxDropped) + `,`, -+ `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, -+ `}`, -+ }, "") -+ return s -+} -+func valueToStringMetrics(v interface{}) string { -+ rv := reflect.ValueOf(v) -+ if rv.IsNil() { -+ return "nil" -+ } -+ pv := reflect.Indirect(rv).Interface() -+ return fmt.Sprintf("*%v", pv) -+} -+func (m *Metrics) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: Metrics: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: Metrics: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Hugetlb", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.Hugetlb = append(m.Hugetlb, &HugetlbStat{}) -+ if err := m.Hugetlb[len(m.Hugetlb)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 2: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Pids", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.Pids == nil { -+ m.Pids = &PidsStat{} -+ } -+ if err := m.Pids.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 3: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field CPU", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.CPU == nil { -+ m.CPU = &CPUStat{} -+ } -+ if err := m.CPU.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 4: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Memory", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.Memory == nil { -+ m.Memory = &MemoryStat{} -+ } -+ if err := m.Memory.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 5: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Blkio", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.Blkio == nil { -+ m.Blkio = &BlkIOStat{} -+ } -+ if err := m.Blkio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 6: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Rdma", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.Rdma == nil { -+ m.Rdma = &RdmaStat{} -+ } -+ if err := m.Rdma.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 7: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.Network = append(m.Network, &NetworkStat{}) -+ if err := m.Network[len(m.Network)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *HugetlbStat) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: HugetlbStat: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: HugetlbStat: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Usage", wireType) -+ } -+ m.Usage = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Usage |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 2: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Max", wireType) -+ } -+ m.Max = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Max |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 3: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Failcnt", wireType) -+ } -+ m.Failcnt = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Failcnt |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 4: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Pagesize", wireType) -+ } -+ var stringLen uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ stringLen |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ intStringLen := int(stringLen) -+ if intStringLen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + intStringLen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.Pagesize = string(dAtA[iNdEx:postIndex]) -+ iNdEx = postIndex -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *PidsStat) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: PidsStat: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: PidsStat: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) -+ } -+ m.Current = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Current |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 2: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Limit", wireType) -+ } -+ m.Limit = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Limit |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *CPUStat) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: CPUStat: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: CPUStat: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Usage", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.Usage == nil { -+ m.Usage = &CPUUsage{} -+ } -+ if err := m.Usage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 2: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Throttling", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.Throttling == nil { -+ m.Throttling = &Throttle{} -+ } -+ if err := m.Throttling.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *CPUUsage) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: CPUUsage: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: CPUUsage: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Total", wireType) -+ } -+ m.Total = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Total |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 2: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Kernel", wireType) -+ } -+ m.Kernel = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Kernel |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 3: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) -+ } -+ m.User = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.User |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 4: -+ if wireType == 0 { -+ var v uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ v |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ m.PerCPU = append(m.PerCPU, v) -+ } else if wireType == 2 { -+ var packedLen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ packedLen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if packedLen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + packedLen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ var elementCount int -+ var count int -+ for _, integer := range dAtA[iNdEx:postIndex] { -+ if integer < 128 { -+ count++ -+ } -+ } -+ elementCount = count -+ if elementCount != 0 && len(m.PerCPU) == 0 { -+ m.PerCPU = make([]uint64, 0, elementCount) -+ } -+ for iNdEx < postIndex { -+ var v uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ v |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ m.PerCPU = append(m.PerCPU, v) -+ } -+ } else { -+ return fmt.Errorf("proto: wrong wireType = %d for field PerCPU", wireType) -+ } -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *Throttle) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: Throttle: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: Throttle: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Periods", wireType) -+ } -+ m.Periods = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Periods |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 2: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field ThrottledPeriods", wireType) -+ } -+ m.ThrottledPeriods = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.ThrottledPeriods |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 3: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field ThrottledTime", wireType) -+ } -+ m.ThrottledTime = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.ThrottledTime |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *MemoryStat) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: MemoryStat: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: MemoryStat: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Cache", wireType) -+ } -+ m.Cache = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Cache |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 2: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field RSS", wireType) -+ } -+ m.RSS = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.RSS |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 3: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field RSSHuge", wireType) -+ } -+ m.RSSHuge = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.RSSHuge |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 4: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field MappedFile", wireType) -+ } -+ m.MappedFile = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.MappedFile |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 5: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Dirty", wireType) -+ } -+ m.Dirty = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Dirty |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 6: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Writeback", wireType) -+ } -+ m.Writeback = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Writeback |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 7: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field PgPgIn", wireType) -+ } -+ m.PgPgIn = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.PgPgIn |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 8: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field PgPgOut", wireType) -+ } -+ m.PgPgOut = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.PgPgOut |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 9: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field PgFault", wireType) -+ } -+ m.PgFault = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.PgFault |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 10: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field PgMajFault", wireType) -+ } -+ m.PgMajFault = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.PgMajFault |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 11: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field InactiveAnon", wireType) -+ } -+ m.InactiveAnon = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.InactiveAnon |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 12: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field ActiveAnon", wireType) -+ } -+ m.ActiveAnon = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.ActiveAnon |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 13: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field InactiveFile", wireType) -+ } -+ m.InactiveFile = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.InactiveFile |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 14: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field ActiveFile", wireType) -+ } -+ m.ActiveFile = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.ActiveFile |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 15: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Unevictable", wireType) -+ } -+ m.Unevictable = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Unevictable |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 16: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field HierarchicalMemoryLimit", wireType) -+ } -+ m.HierarchicalMemoryLimit = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.HierarchicalMemoryLimit |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 17: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field HierarchicalSwapLimit", wireType) -+ } -+ m.HierarchicalSwapLimit = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.HierarchicalSwapLimit |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 18: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalCache", wireType) -+ } -+ m.TotalCache = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalCache |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 19: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalRSS", wireType) -+ } -+ m.TotalRSS = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalRSS |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 20: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalRSSHuge", wireType) -+ } -+ m.TotalRSSHuge = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalRSSHuge |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 21: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalMappedFile", wireType) -+ } -+ m.TotalMappedFile = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalMappedFile |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 22: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalDirty", wireType) -+ } -+ m.TotalDirty = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalDirty |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 23: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalWriteback", wireType) -+ } -+ m.TotalWriteback = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalWriteback |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 24: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalPgPgIn", wireType) -+ } -+ m.TotalPgPgIn = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalPgPgIn |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 25: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalPgPgOut", wireType) -+ } -+ m.TotalPgPgOut = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalPgPgOut |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 26: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalPgFault", wireType) -+ } -+ m.TotalPgFault = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalPgFault |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 27: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalPgMajFault", wireType) -+ } -+ m.TotalPgMajFault = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalPgMajFault |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 28: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalInactiveAnon", wireType) -+ } -+ m.TotalInactiveAnon = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalInactiveAnon |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 29: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalActiveAnon", wireType) -+ } -+ m.TotalActiveAnon = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalActiveAnon |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 30: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalInactiveFile", wireType) -+ } -+ m.TotalInactiveFile = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalInactiveFile |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 31: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalActiveFile", wireType) -+ } -+ m.TotalActiveFile = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalActiveFile |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 32: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TotalUnevictable", wireType) -+ } -+ m.TotalUnevictable = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TotalUnevictable |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 33: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Usage", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.Usage == nil { -+ m.Usage = &MemoryEntry{} -+ } -+ if err := m.Usage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 34: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Swap", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.Swap == nil { -+ m.Swap = &MemoryEntry{} -+ } -+ if err := m.Swap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 35: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Kernel", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.Kernel == nil { -+ m.Kernel = &MemoryEntry{} -+ } -+ if err := m.Kernel.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 36: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field KernelTCP", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ if m.KernelTCP == nil { -+ m.KernelTCP = &MemoryEntry{} -+ } -+ if err := m.KernelTCP.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *MemoryEntry) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: MemoryEntry: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: MemoryEntry: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Limit", wireType) -+ } -+ m.Limit = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Limit |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 2: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Usage", wireType) -+ } -+ m.Usage = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Usage |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 3: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Max", wireType) -+ } -+ m.Max = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Max |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 4: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Failcnt", wireType) -+ } -+ m.Failcnt = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Failcnt |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *BlkIOStat) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: BlkIOStat: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: BlkIOStat: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field IoServiceBytesRecursive", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.IoServiceBytesRecursive = append(m.IoServiceBytesRecursive, &BlkIOEntry{}) -+ if err := m.IoServiceBytesRecursive[len(m.IoServiceBytesRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 2: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field IoServicedRecursive", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.IoServicedRecursive = append(m.IoServicedRecursive, &BlkIOEntry{}) -+ if err := m.IoServicedRecursive[len(m.IoServicedRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 3: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field IoQueuedRecursive", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.IoQueuedRecursive = append(m.IoQueuedRecursive, &BlkIOEntry{}) -+ if err := m.IoQueuedRecursive[len(m.IoQueuedRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 4: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field IoServiceTimeRecursive", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.IoServiceTimeRecursive = append(m.IoServiceTimeRecursive, &BlkIOEntry{}) -+ if err := m.IoServiceTimeRecursive[len(m.IoServiceTimeRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 5: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field IoWaitTimeRecursive", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.IoWaitTimeRecursive = append(m.IoWaitTimeRecursive, &BlkIOEntry{}) -+ if err := m.IoWaitTimeRecursive[len(m.IoWaitTimeRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 6: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field IoMergedRecursive", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.IoMergedRecursive = append(m.IoMergedRecursive, &BlkIOEntry{}) -+ if err := m.IoMergedRecursive[len(m.IoMergedRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 7: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field IoTimeRecursive", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.IoTimeRecursive = append(m.IoTimeRecursive, &BlkIOEntry{}) -+ if err := m.IoTimeRecursive[len(m.IoTimeRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 8: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field SectorsRecursive", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.SectorsRecursive = append(m.SectorsRecursive, &BlkIOEntry{}) -+ if err := m.SectorsRecursive[len(m.SectorsRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *BlkIOEntry) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: BlkIOEntry: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: BlkIOEntry: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Op", wireType) -+ } -+ var stringLen uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ stringLen |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ intStringLen := int(stringLen) -+ if intStringLen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + intStringLen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.Op = string(dAtA[iNdEx:postIndex]) -+ iNdEx = postIndex -+ case 2: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType) -+ } -+ var stringLen uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ stringLen |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ intStringLen := int(stringLen) -+ if intStringLen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + intStringLen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.Device = string(dAtA[iNdEx:postIndex]) -+ iNdEx = postIndex -+ case 3: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Major", wireType) -+ } -+ m.Major = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Major |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 4: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Minor", wireType) -+ } -+ m.Minor = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Minor |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 5: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) -+ } -+ m.Value = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.Value |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *RdmaStat) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: RdmaStat: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: RdmaStat: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.Current = append(m.Current, &RdmaEntry{}) -+ if err := m.Current[len(m.Current)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ case 2: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Limit", wireType) -+ } -+ var msglen int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ msglen |= int(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if msglen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + msglen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.Limit = append(m.Limit, &RdmaEntry{}) -+ if err := m.Limit[len(m.Limit)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { -+ return err -+ } -+ iNdEx = postIndex -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *RdmaEntry) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: RdmaEntry: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: RdmaEntry: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType) -+ } -+ var stringLen uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ stringLen |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ intStringLen := int(stringLen) -+ if intStringLen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + intStringLen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.Device = string(dAtA[iNdEx:postIndex]) -+ iNdEx = postIndex -+ case 2: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field HcaHandles", wireType) -+ } -+ m.HcaHandles = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.HcaHandles |= uint32(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 3: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field HcaObjects", wireType) -+ } -+ m.HcaObjects = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.HcaObjects |= uint32(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func (m *NetworkStat) Unmarshal(dAtA []byte) error { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ preIndex := iNdEx -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ fieldNum := int32(wire >> 3) -+ wireType := int(wire & 0x7) -+ if wireType == 4 { -+ return fmt.Errorf("proto: NetworkStat: wiretype end group for non-group") -+ } -+ if fieldNum <= 0 { -+ return fmt.Errorf("proto: NetworkStat: illegal tag %d (wire type %d)", fieldNum, wire) -+ } -+ switch fieldNum { -+ case 1: -+ if wireType != 2 { -+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) -+ } -+ var stringLen uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ stringLen |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ intStringLen := int(stringLen) -+ if intStringLen < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ postIndex := iNdEx + intStringLen -+ if postIndex < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if postIndex > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.Name = string(dAtA[iNdEx:postIndex]) -+ iNdEx = postIndex -+ case 2: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field RxBytes", wireType) -+ } -+ m.RxBytes = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.RxBytes |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 3: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field RxPackets", wireType) -+ } -+ m.RxPackets = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.RxPackets |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 4: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field RxErrors", wireType) -+ } -+ m.RxErrors = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.RxErrors |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 5: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field RxDropped", wireType) -+ } -+ m.RxDropped = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.RxDropped |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 6: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TxBytes", wireType) -+ } -+ m.TxBytes = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TxBytes |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 7: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TxPackets", wireType) -+ } -+ m.TxPackets = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TxPackets |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 8: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TxErrors", wireType) -+ } -+ m.TxErrors = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TxErrors |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ case 9: -+ if wireType != 0 { -+ return fmt.Errorf("proto: wrong wireType = %d for field TxDropped", wireType) -+ } -+ m.TxDropped = 0 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ m.TxDropped |= uint64(b&0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ default: -+ iNdEx = preIndex -+ skippy, err := skipMetrics(dAtA[iNdEx:]) -+ if err != nil { -+ return err -+ } -+ if skippy < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) < 0 { -+ return ErrInvalidLengthMetrics -+ } -+ if (iNdEx + skippy) > l { -+ return io.ErrUnexpectedEOF -+ } -+ m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) -+ iNdEx += skippy -+ } -+ } -+ -+ if iNdEx > l { -+ return io.ErrUnexpectedEOF -+ } -+ return nil -+} -+func skipMetrics(dAtA []byte) (n int, err error) { -+ l := len(dAtA) -+ iNdEx := 0 -+ for iNdEx < l { -+ var wire uint64 -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return 0, ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return 0, io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ wire |= (uint64(b) & 0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ wireType := int(wire & 0x7) -+ switch wireType { -+ case 0: -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return 0, ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return 0, io.ErrUnexpectedEOF -+ } -+ iNdEx++ -+ if dAtA[iNdEx-1] < 0x80 { -+ break -+ } -+ } -+ return iNdEx, nil -+ case 1: -+ iNdEx += 8 -+ return iNdEx, nil -+ case 2: -+ var length int -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return 0, ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return 0, io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ length |= (int(b) & 0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ if length < 0 { -+ return 0, ErrInvalidLengthMetrics -+ } -+ iNdEx += length -+ if iNdEx < 0 { -+ return 0, ErrInvalidLengthMetrics -+ } -+ return iNdEx, nil -+ case 3: -+ for { -+ var innerWire uint64 -+ var start int = iNdEx -+ for shift := uint(0); ; shift += 7 { -+ if shift >= 64 { -+ return 0, ErrIntOverflowMetrics -+ } -+ if iNdEx >= l { -+ return 0, io.ErrUnexpectedEOF -+ } -+ b := dAtA[iNdEx] -+ iNdEx++ -+ innerWire |= (uint64(b) & 0x7F) << shift -+ if b < 0x80 { -+ break -+ } -+ } -+ innerWireType := int(innerWire & 0x7) -+ if innerWireType == 4 { -+ break -+ } -+ next, err := skipMetrics(dAtA[start:]) -+ if err != nil { -+ return 0, err -+ } -+ iNdEx = start + next -+ if iNdEx < 0 { -+ return 0, ErrInvalidLengthMetrics -+ } -+ } -+ return iNdEx, nil -+ case 4: -+ return iNdEx, nil -+ case 5: -+ iNdEx += 4 -+ return iNdEx, nil -+ default: -+ return 0, fmt.Errorf("proto: illegal wireType %d", wireType) -+ } -+ } -+ panic("unreachable") -+} -+ -+var ( -+ ErrInvalidLengthMetrics = fmt.Errorf("proto: negative length found during unmarshaling") -+ ErrIntOverflowMetrics = fmt.Errorf("proto: integer overflow") -+) -diff --git a/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.txt b/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.txt -new file mode 100644 -index 000000000..7a960c678 ---- /dev/null -+++ b/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.txt -@@ -0,0 +1,712 @@ -+file { -+ name: "github.com/containerd/cgroups/stats/v1/metrics.proto" -+ package: "io.containerd.cgroups.v1" -+ dependency: "gogoproto/gogo.proto" -+ message_type { -+ name: "Metrics" -+ field { -+ name: "hugetlb" -+ number: 1 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.HugetlbStat" -+ json_name: "hugetlb" -+ } -+ field { -+ name: "pids" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.PidsStat" -+ json_name: "pids" -+ } -+ field { -+ name: "cpu" -+ number: 3 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.CPUStat" -+ options { -+ 65004: "CPU" -+ } -+ json_name: "cpu" -+ } -+ field { -+ name: "memory" -+ number: 4 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.MemoryStat" -+ json_name: "memory" -+ } -+ field { -+ name: "blkio" -+ number: 5 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.BlkIOStat" -+ json_name: "blkio" -+ } -+ field { -+ name: "rdma" -+ number: 6 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.RdmaStat" -+ json_name: "rdma" -+ } -+ field { -+ name: "network" -+ number: 7 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.NetworkStat" -+ json_name: "network" -+ } -+ } -+ message_type { -+ name: "HugetlbStat" -+ field { -+ name: "usage" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "usage" -+ } -+ field { -+ name: "max" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "max" -+ } -+ field { -+ name: "failcnt" -+ number: 3 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "failcnt" -+ } -+ field { -+ name: "pagesize" -+ number: 4 -+ label: LABEL_OPTIONAL -+ type: TYPE_STRING -+ json_name: "pagesize" -+ } -+ } -+ message_type { -+ name: "PidsStat" -+ field { -+ name: "current" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "current" -+ } -+ field { -+ name: "limit" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "limit" -+ } -+ } -+ message_type { -+ name: "CPUStat" -+ field { -+ name: "usage" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.CPUUsage" -+ json_name: "usage" -+ } -+ field { -+ name: "throttling" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.Throttle" -+ json_name: "throttling" -+ } -+ } -+ message_type { -+ name: "CPUUsage" -+ field { -+ name: "total" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "total" -+ } -+ field { -+ name: "kernel" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "kernel" -+ } -+ field { -+ name: "user" -+ number: 3 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "user" -+ } -+ field { -+ name: "per_cpu" -+ number: 4 -+ label: LABEL_REPEATED -+ type: TYPE_UINT64 -+ options { -+ 65004: "PerCPU" -+ } -+ json_name: "perCpu" -+ } -+ } -+ message_type { -+ name: "Throttle" -+ field { -+ name: "periods" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "periods" -+ } -+ field { -+ name: "throttled_periods" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "throttledPeriods" -+ } -+ field { -+ name: "throttled_time" -+ number: 3 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "throttledTime" -+ } -+ } -+ message_type { -+ name: "MemoryStat" -+ field { -+ name: "cache" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "cache" -+ } -+ field { -+ name: "rss" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ options { -+ 65004: "RSS" -+ } -+ json_name: "rss" -+ } -+ field { -+ name: "rss_huge" -+ number: 3 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ options { -+ 65004: "RSSHuge" -+ } -+ json_name: "rssHuge" -+ } -+ field { -+ name: "mapped_file" -+ number: 4 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "mappedFile" -+ } -+ field { -+ name: "dirty" -+ number: 5 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "dirty" -+ } -+ field { -+ name: "writeback" -+ number: 6 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "writeback" -+ } -+ field { -+ name: "pg_pg_in" -+ number: 7 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "pgPgIn" -+ } -+ field { -+ name: "pg_pg_out" -+ number: 8 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "pgPgOut" -+ } -+ field { -+ name: "pg_fault" -+ number: 9 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "pgFault" -+ } -+ field { -+ name: "pg_maj_fault" -+ number: 10 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "pgMajFault" -+ } -+ field { -+ name: "inactive_anon" -+ number: 11 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "inactiveAnon" -+ } -+ field { -+ name: "active_anon" -+ number: 12 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "activeAnon" -+ } -+ field { -+ name: "inactive_file" -+ number: 13 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "inactiveFile" -+ } -+ field { -+ name: "active_file" -+ number: 14 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "activeFile" -+ } -+ field { -+ name: "unevictable" -+ number: 15 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "unevictable" -+ } -+ field { -+ name: "hierarchical_memory_limit" -+ number: 16 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "hierarchicalMemoryLimit" -+ } -+ field { -+ name: "hierarchical_swap_limit" -+ number: 17 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "hierarchicalSwapLimit" -+ } -+ field { -+ name: "total_cache" -+ number: 18 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalCache" -+ } -+ field { -+ name: "total_rss" -+ number: 19 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ options { -+ 65004: "TotalRSS" -+ } -+ json_name: "totalRss" -+ } -+ field { -+ name: "total_rss_huge" -+ number: 20 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ options { -+ 65004: "TotalRSSHuge" -+ } -+ json_name: "totalRssHuge" -+ } -+ field { -+ name: "total_mapped_file" -+ number: 21 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalMappedFile" -+ } -+ field { -+ name: "total_dirty" -+ number: 22 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalDirty" -+ } -+ field { -+ name: "total_writeback" -+ number: 23 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalWriteback" -+ } -+ field { -+ name: "total_pg_pg_in" -+ number: 24 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalPgPgIn" -+ } -+ field { -+ name: "total_pg_pg_out" -+ number: 25 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalPgPgOut" -+ } -+ field { -+ name: "total_pg_fault" -+ number: 26 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalPgFault" -+ } -+ field { -+ name: "total_pg_maj_fault" -+ number: 27 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalPgMajFault" -+ } -+ field { -+ name: "total_inactive_anon" -+ number: 28 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalInactiveAnon" -+ } -+ field { -+ name: "total_active_anon" -+ number: 29 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalActiveAnon" -+ } -+ field { -+ name: "total_inactive_file" -+ number: 30 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalInactiveFile" -+ } -+ field { -+ name: "total_active_file" -+ number: 31 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalActiveFile" -+ } -+ field { -+ name: "total_unevictable" -+ number: 32 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "totalUnevictable" -+ } -+ field { -+ name: "usage" -+ number: 33 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.MemoryEntry" -+ json_name: "usage" -+ } -+ field { -+ name: "swap" -+ number: 34 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.MemoryEntry" -+ json_name: "swap" -+ } -+ field { -+ name: "kernel" -+ number: 35 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.MemoryEntry" -+ json_name: "kernel" -+ } -+ field { -+ name: "kernel_tcp" -+ number: 36 -+ label: LABEL_OPTIONAL -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.MemoryEntry" -+ options { -+ 65004: "KernelTCP" -+ } -+ json_name: "kernelTcp" -+ } -+ } -+ message_type { -+ name: "MemoryEntry" -+ field { -+ name: "limit" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "limit" -+ } -+ field { -+ name: "usage" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "usage" -+ } -+ field { -+ name: "max" -+ number: 3 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "max" -+ } -+ field { -+ name: "failcnt" -+ number: 4 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "failcnt" -+ } -+ } -+ message_type { -+ name: "BlkIOStat" -+ field { -+ name: "io_service_bytes_recursive" -+ number: 1 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.BlkIOEntry" -+ json_name: "ioServiceBytesRecursive" -+ } -+ field { -+ name: "io_serviced_recursive" -+ number: 2 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.BlkIOEntry" -+ json_name: "ioServicedRecursive" -+ } -+ field { -+ name: "io_queued_recursive" -+ number: 3 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.BlkIOEntry" -+ json_name: "ioQueuedRecursive" -+ } -+ field { -+ name: "io_service_time_recursive" -+ number: 4 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.BlkIOEntry" -+ json_name: "ioServiceTimeRecursive" -+ } -+ field { -+ name: "io_wait_time_recursive" -+ number: 5 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.BlkIOEntry" -+ json_name: "ioWaitTimeRecursive" -+ } -+ field { -+ name: "io_merged_recursive" -+ number: 6 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.BlkIOEntry" -+ json_name: "ioMergedRecursive" -+ } -+ field { -+ name: "io_time_recursive" -+ number: 7 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.BlkIOEntry" -+ json_name: "ioTimeRecursive" -+ } -+ field { -+ name: "sectors_recursive" -+ number: 8 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.BlkIOEntry" -+ json_name: "sectorsRecursive" -+ } -+ } -+ message_type { -+ name: "BlkIOEntry" -+ field { -+ name: "op" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_STRING -+ json_name: "op" -+ } -+ field { -+ name: "device" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_STRING -+ json_name: "device" -+ } -+ field { -+ name: "major" -+ number: 3 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "major" -+ } -+ field { -+ name: "minor" -+ number: 4 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "minor" -+ } -+ field { -+ name: "value" -+ number: 5 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "value" -+ } -+ } -+ message_type { -+ name: "RdmaStat" -+ field { -+ name: "current" -+ number: 1 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.RdmaEntry" -+ json_name: "current" -+ } -+ field { -+ name: "limit" -+ number: 2 -+ label: LABEL_REPEATED -+ type: TYPE_MESSAGE -+ type_name: ".io.containerd.cgroups.v1.RdmaEntry" -+ json_name: "limit" -+ } -+ } -+ message_type { -+ name: "RdmaEntry" -+ field { -+ name: "device" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_STRING -+ json_name: "device" -+ } -+ field { -+ name: "hca_handles" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT32 -+ json_name: "hcaHandles" -+ } -+ field { -+ name: "hca_objects" -+ number: 3 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT32 -+ json_name: "hcaObjects" -+ } -+ } -+ message_type { -+ name: "NetworkStat" -+ field { -+ name: "name" -+ number: 1 -+ label: LABEL_OPTIONAL -+ type: TYPE_STRING -+ json_name: "name" -+ } -+ field { -+ name: "rx_bytes" -+ number: 2 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "rxBytes" -+ } -+ field { -+ name: "rx_packets" -+ number: 3 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "rxPackets" -+ } -+ field { -+ name: "rx_errors" -+ number: 4 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "rxErrors" -+ } -+ field { -+ name: "rx_dropped" -+ number: 5 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "rxDropped" -+ } -+ field { -+ name: "tx_bytes" -+ number: 6 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "txBytes" -+ } -+ field { -+ name: "tx_packets" -+ number: 7 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "txPackets" -+ } -+ field { -+ name: "tx_errors" -+ number: 8 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "txErrors" -+ } -+ field { -+ name: "tx_dropped" -+ number: 9 -+ label: LABEL_OPTIONAL -+ type: TYPE_UINT64 -+ json_name: "txDropped" -+ } -+ } -+ syntax: "proto3" -+} -diff --git a/vendor/github.com/containerd/cgroups/stats/v1/metrics.proto b/vendor/github.com/containerd/cgroups/stats/v1/metrics.proto -new file mode 100644 -index 000000000..62b519806 ---- /dev/null -+++ b/vendor/github.com/containerd/cgroups/stats/v1/metrics.proto -@@ -0,0 +1,136 @@ -+syntax = "proto3"; -+ -+package io.containerd.cgroups.v1; -+ -+import "gogoproto/gogo.proto"; -+ -+message Metrics { -+ repeated HugetlbStat hugetlb = 1; -+ PidsStat pids = 2; -+ CPUStat cpu = 3 [(gogoproto.customname) = "CPU"]; -+ MemoryStat memory = 4; -+ BlkIOStat blkio = 5; -+ RdmaStat rdma = 6; -+ repeated NetworkStat network = 7; -+} -+ -+message HugetlbStat { -+ uint64 usage = 1; -+ uint64 max = 2; -+ uint64 failcnt = 3; -+ string pagesize = 4; -+} -+ -+message PidsStat { -+ uint64 current = 1; -+ uint64 limit = 2; -+} -+ -+message CPUStat { -+ CPUUsage usage = 1; -+ Throttle throttling = 2; -+} -+ -+message CPUUsage { -+ // values in nanoseconds -+ uint64 total = 1; -+ uint64 kernel = 2; -+ uint64 user = 3; -+ repeated uint64 per_cpu = 4 [(gogoproto.customname) = "PerCPU"]; -+ -+} -+ -+message Throttle { -+ uint64 periods = 1; -+ uint64 throttled_periods = 2; -+ uint64 throttled_time = 3; -+} -+ -+message MemoryStat { -+ uint64 cache = 1; -+ uint64 rss = 2 [(gogoproto.customname) = "RSS"]; -+ uint64 rss_huge = 3 [(gogoproto.customname) = "RSSHuge"]; -+ uint64 mapped_file = 4; -+ uint64 dirty = 5; -+ uint64 writeback = 6; -+ uint64 pg_pg_in = 7; -+ uint64 pg_pg_out = 8; -+ uint64 pg_fault = 9; -+ uint64 pg_maj_fault = 10; -+ uint64 inactive_anon = 11; -+ uint64 active_anon = 12; -+ uint64 inactive_file = 13; -+ uint64 active_file = 14; -+ uint64 unevictable = 15; -+ uint64 hierarchical_memory_limit = 16; -+ uint64 hierarchical_swap_limit = 17; -+ uint64 total_cache = 18; -+ uint64 total_rss = 19 [(gogoproto.customname) = "TotalRSS"]; -+ uint64 total_rss_huge = 20 [(gogoproto.customname) = "TotalRSSHuge"]; -+ uint64 total_mapped_file = 21; -+ uint64 total_dirty = 22; -+ uint64 total_writeback = 23; -+ uint64 total_pg_pg_in = 24; -+ uint64 total_pg_pg_out = 25; -+ uint64 total_pg_fault = 26; -+ uint64 total_pg_maj_fault = 27; -+ uint64 total_inactive_anon = 28; -+ uint64 total_active_anon = 29; -+ uint64 total_inactive_file = 30; -+ uint64 total_active_file = 31; -+ uint64 total_unevictable = 32; -+ MemoryEntry usage = 33; -+ MemoryEntry swap = 34; -+ MemoryEntry kernel = 35; -+ MemoryEntry kernel_tcp = 36 [(gogoproto.customname) = "KernelTCP"]; -+ -+} -+ -+message MemoryEntry { -+ uint64 limit = 1; -+ uint64 usage = 2; -+ uint64 max = 3; -+ uint64 failcnt = 4; -+} -+ -+message BlkIOStat { -+ repeated BlkIOEntry io_service_bytes_recursive = 1; -+ repeated BlkIOEntry io_serviced_recursive = 2; -+ repeated BlkIOEntry io_queued_recursive = 3; -+ repeated BlkIOEntry io_service_time_recursive = 4; -+ repeated BlkIOEntry io_wait_time_recursive = 5; -+ repeated BlkIOEntry io_merged_recursive = 6; -+ repeated BlkIOEntry io_time_recursive = 7; -+ repeated BlkIOEntry sectors_recursive = 8; -+} -+ -+message BlkIOEntry { -+ string op = 1; -+ string device = 2; -+ uint64 major = 3; -+ uint64 minor = 4; -+ uint64 value = 5; -+} -+ -+message RdmaStat { -+ repeated RdmaEntry current = 1; -+ repeated RdmaEntry limit = 2; -+} -+ -+message RdmaEntry { -+ string device = 1; -+ uint32 hca_handles = 2; -+ uint32 hca_objects = 3; -+} -+ -+message NetworkStat { -+ string name = 1; -+ uint64 rx_bytes = 2; -+ uint64 rx_packets = 3; -+ uint64 rx_errors = 4; -+ uint64 rx_dropped = 5; -+ uint64 tx_bytes = 6; -+ uint64 tx_packets = 7; -+ uint64 tx_errors = 8; -+ uint64 tx_dropped = 9; -+} -diff --git a/vendor/github.com/containers/image/v5/copy/copy.go b/vendor/github.com/containers/image/v5/copy/copy.go -index 090d862d5..8432dbe32 100644 ---- a/vendor/github.com/containers/image/v5/copy/copy.go -+++ b/vendor/github.com/containers/image/v5/copy/copy.go -@@ -21,12 +21,14 @@ import ( - "github.com/containers/image/v5/signature" - "github.com/containers/image/v5/transports" - "github.com/containers/image/v5/types" -+ "github.com/containers/ocicrypt" -+ encconfig "github.com/containers/ocicrypt/config" - digest "github.com/opencontainers/go-digest" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "github.com/pkg/errors" - "github.com/sirupsen/logrus" -- "github.com/vbauerster/mpb" -- "github.com/vbauerster/mpb/decor" -+ "github.com/vbauerster/mpb/v4" -+ "github.com/vbauerster/mpb/v4/decor" - "golang.org/x/crypto/ssh/terminal" - "golang.org/x/sync/semaphore" - ) -@@ -39,9 +41,14 @@ type digestingReader struct { - validationSucceeded bool - } - --// maxParallelDownloads is used to limit the maxmimum number of parallel --// downloads. Let's follow Firefox by limiting it to 6. --var maxParallelDownloads = 6 -+var ( -+ // ErrDecryptParamsMissing is returned if there is missing decryption parameters -+ ErrDecryptParamsMissing = errors.New("Necessary DecryptParameters not present") -+ -+ // maxParallelDownloads is used to limit the maxmimum number of parallel -+ // downloads. Let's follow Firefox by limiting it to 6. -+ maxParallelDownloads = 6 -+) - - // compressionBufferSize is the buffer size used to compress a blob - var compressionBufferSize = 1048576 -@@ -50,6 +57,7 @@ var compressionBufferSize = 1048576 - // or set validationSucceeded/validationFailed to true if the source stream does/does not match expectedDigest. - // (neither is set if EOF is never reached). - func newDigestingReader(source io.Reader, expectedDigest digest.Digest) (*digestingReader, error) { -+ var digester digest.Digester - if err := expectedDigest.Validate(); err != nil { - return nil, errors.Errorf("Invalid digest specification %s", expectedDigest) - } -@@ -57,9 +65,11 @@ func newDigestingReader(source io.Reader, expectedDigest digest.Digest) (*digest - if !digestAlgorithm.Available() { - return nil, errors.Errorf("Invalid digest specification %s: unsupported digest algorithm %s", expectedDigest, digestAlgorithm) - } -+ digester = digestAlgorithm.Digester() -+ - return &digestingReader{ - source: source, -- digester: digestAlgorithm.Digester(), -+ digester: digester, - expectedDigest: expectedDigest, - validationFailed: false, - }, nil -@@ -99,6 +109,8 @@ type copier struct { - copyInParallel bool - compressionFormat compression.Algorithm - compressionLevel *int -+ ociDecryptConfig *encconfig.DecryptConfig -+ ociEncryptConfig *encconfig.EncryptConfig - } - - // imageCopier tracks state specific to a single image (possibly an item of a manifest list) -@@ -109,6 +121,9 @@ type imageCopier struct { - diffIDsAreNeeded bool - canModifyManifest bool - canSubstituteBlobs bool -+ ociDecryptConfig *encconfig.DecryptConfig -+ ociEncryptConfig *encconfig.EncryptConfig -+ ociEncryptLayers *[]int - } - - const ( -@@ -155,6 +170,20 @@ type Options struct { - ForceManifestMIMEType string - ImageListSelection ImageListSelection // set to either CopySystemImage (the default), CopyAllImages, or CopySpecificImages to control which instances we copy when the source reference is a list; ignored if the source reference is not a list - Instances []digest.Digest // if ImageListSelection is CopySpecificImages, copy only these instances and the list itself -+ // If OciEncryptConfig is non-nil, it indicates that an image should be encrypted. -+ // The encryption options is derived from the construction of EncryptConfig object. -+ // Note: During initial encryption process of a layer, the resultant digest is not known -+ // during creation, so newDigestingReader has to be set with validateDigest = false -+ OciEncryptConfig *encconfig.EncryptConfig -+ // OciEncryptLayers represents the list of layers to encrypt. -+ // If nil, don't encrypt any layers. -+ // If non-nil and len==0, denotes encrypt all layers. -+ // integers in the slice represent 0-indexed layer indices, with support for negative -+ // indexing. i.e. 0 is the first layer, -1 is the last (top-most) layer. -+ OciEncryptLayers *[]int -+ // OciDecryptConfig contains the config that can be used to decrypt an image if it is -+ // encrypted if non-nil. If nil, it does not attempt to decrypt an image. -+ OciDecryptConfig *encconfig.DecryptConfig - } - - // validateImageListSelection returns an error if the passed-in value is not one that we recognize as a valid ImageListSelection value -@@ -351,6 +380,7 @@ func (c *copier) copyMultipleImages(ctx context.Context, policyContext *signatur - return nil, "", errors.Wrap(err, "Can not copy signatures") - } - } -+ canModifyManifestList := (len(sigs) == 0) - - // Determine if we'll need to convert the manifest list to a different format. - forceListMIMEType := options.ForceManifestMIMEType -@@ -365,7 +395,6 @@ func (c *copier) copyMultipleImages(ctx context.Context, policyContext *signatur - return nil, "", errors.Wrapf(err, "Error determining manifest list type to write to destination") - } - if selectedListType != list.MIMEType() { -- canModifyManifestList := (len(sigs) == 0) - if !canModifyManifestList { - return nil, "", errors.Errorf("Error: manifest list must be converted to type %q to be written to destination, but that would invalidate signatures", selectedListType) - } -@@ -422,12 +451,6 @@ func (c *copier) copyMultipleImages(ctx context.Context, policyContext *signatur - return nil, "", errors.Wrapf(err, "Error updating manifest list") - } - -- // Check if the updates meaningfully changed the list of images. -- listIsModified := false -- if !reflect.DeepEqual(list.Instances(), originalList.Instances()) { -- listIsModified = true -- } -- - // Perform the list conversion. - if selectedListType != list.MIMEType() { - list, err = list.ConvertToMIMEType(selectedListType) -@@ -436,12 +459,23 @@ func (c *copier) copyMultipleImages(ctx context.Context, policyContext *signatur - } - } - -- // If we can't use the original value, but we have to change it, flag an error. -- if listIsModified { -- manifestList, err = list.Serialize() -- if err != nil { -- return nil, "", errors.Wrapf(err, "Error encoding updated manifest list (%q: %#v)", list.MIMEType(), list.Instances()) -+ // Check if the updates or a type conversion meaningfully changed the list of images -+ // by serializing them both so that we can compare them. -+ updatedManifestList, err := list.Serialize() -+ if err != nil { -+ return nil, "", errors.Wrapf(err, "Error encoding updated manifest list (%q: %#v)", list.MIMEType(), list.Instances()) -+ } -+ originalManifestList, err := originalList.Serialize() -+ if err != nil { -+ return nil, "", errors.Wrapf(err, "Error encoding original manifest list for comparison (%q: %#v)", originalList.MIMEType(), originalList.Instances()) -+ } -+ -+ // If we can't just use the original value, but we have to change it, flag an error. -+ if !bytes.Equal(updatedManifestList, originalManifestList) { -+ if !canModifyManifestList { -+ return nil, "", errors.Errorf("Error: manifest list must be converted to type %q to be written to destination, but that would invalidate signatures", selectedListType) - } -+ manifestList = updatedManifestList - logrus.Debugf("Manifest list has been updated") - } - -@@ -493,6 +527,15 @@ func (c *copier) copyOneImage(ctx context.Context, policyContext *signature.Poli - return nil, "", "", errors.Wrapf(err, "Error initializing image from source %s", transports.ImageName(c.rawSource.Reference())) - } - -+ // TODO: Remove src.SupportsEncryption call and interface once copyUpdatedConfigAndManifest does not depend on source Image manifest type -+ // Currently, the way copyUpdatedConfigAndManifest updates the manifest is to apply updates to the source manifest and call PutManifest -+ // of the modified source manifest. The implication is that schemas like docker2 cannot be encrypted even though the destination -+ // supports encryption because docker2 struct does not have annotations, which are required. -+ // Reference to issue: https://github.com/containers/image/issues/746 -+ if options.OciEncryptLayers != nil && !src.SupportsEncryption(ctx) { -+ return nil, "", "", errors.Errorf("Encryption request but not supported by source transport %s", src.Reference().Transport().Name()) -+ } -+ - // If the destination is a digested reference, make a note of that, determine what digest value we're - // expecting, and check that the source manifest matches it. If the source manifest doesn't, but it's - // one item from a manifest list that matches it, accept that as a match. -@@ -524,7 +567,7 @@ func (c *copier) copyOneImage(ctx context.Context, policyContext *signature.Poli - } - } - -- if err := checkImageDestinationForCurrentRuntimeOS(ctx, options.DestinationCtx, src, c.dest); err != nil { -+ if err := checkImageDestinationForCurrentRuntime(ctx, options.DestinationCtx, src, c.dest); err != nil { - return nil, "", "", err - } - -@@ -552,6 +595,9 @@ func (c *copier) copyOneImage(ctx context.Context, policyContext *signature.Poli - src: src, - // diffIDsAreNeeded is computed later - canModifyManifest: len(sigs) == 0 && !destIsDigestedReference, -+ ociDecryptConfig: options.OciDecryptConfig, -+ ociEncryptConfig: options.OciEncryptConfig, -+ ociEncryptLayers: options.OciEncryptLayers, - } - // Ensure _this_ copy sees exactly the intended data when either processing a signed image or signing it. - // This may be too conservative, but for now, better safe than sorry, _especially_ on the SignBy path: -@@ -565,15 +611,19 @@ func (c *copier) copyOneImage(ctx context.Context, policyContext *signature.Poli - return nil, "", "", err - } - -+ destRequiresOciEncryption := (isEncrypted(src) && ic.ociDecryptConfig != nil) || options.OciEncryptLayers != nil -+ - // We compute preferredManifestMIMEType only to show it in error messages. - // Without having to add this context in an error message, we would be happy enough to know only that no conversion is needed. -- preferredManifestMIMEType, otherManifestMIMETypeCandidates, err := ic.determineManifestConversion(ctx, c.dest.SupportedManifestMIMETypes(), options.ForceManifestMIMEType) -+ preferredManifestMIMEType, otherManifestMIMETypeCandidates, err := ic.determineManifestConversion(ctx, c.dest.SupportedManifestMIMETypes(), options.ForceManifestMIMEType, destRequiresOciEncryption) - if err != nil { - return nil, "", "", err - } - - // If src.UpdatedImageNeedsLayerDiffIDs(ic.manifestUpdates) will be true, it needs to be true by the time we get here. - ic.diffIDsAreNeeded = src.UpdatedImageNeedsLayerDiffIDs(*ic.manifestUpdates) -+ // If encrypted and decryption keys provided, we should try to decrypt -+ ic.diffIDsAreNeeded = ic.diffIDsAreNeeded || (isEncrypted(src) && ic.ociDecryptConfig != nil) || ic.ociEncryptConfig != nil - - if err := ic.copyLayers(ctx); err != nil { - return nil, "", "", err -@@ -651,21 +701,28 @@ func (c *copier) Printf(format string, a ...interface{}) { - fmt.Fprintf(c.reportWriter, format, a...) - } - --func checkImageDestinationForCurrentRuntimeOS(ctx context.Context, sys *types.SystemContext, src types.Image, dest types.ImageDestination) error { -+// checkImageDestinationForCurrentRuntime enforces dest.MustMatchRuntimeOS, if necessary. -+func checkImageDestinationForCurrentRuntime(ctx context.Context, sys *types.SystemContext, src types.Image, dest types.ImageDestination) error { - if dest.MustMatchRuntimeOS() { -+ c, err := src.OCIConfig(ctx) -+ if err != nil { -+ return errors.Wrapf(err, "Error parsing image configuration") -+ } -+ - wantedOS := runtime.GOOS - if sys != nil && sys.OSChoice != "" { - wantedOS = sys.OSChoice - } -- c, err := src.OCIConfig(ctx) -- if err != nil { -- return errors.Wrapf(err, "Error parsing image configuration") -+ if wantedOS != c.OS { -+ logrus.Infof("Image operating system mismatch: image uses %q, expecting %q", c.OS, wantedOS) -+ } -+ -+ wantedArch := runtime.GOARCH -+ if sys != nil && sys.ArchitectureChoice != "" { -+ wantedArch = sys.ArchitectureChoice - } -- osErr := fmt.Errorf("image operating system %q cannot be used on %q", c.OS, wantedOS) -- if wantedOS == "windows" && c.OS == "linux" { -- return osErr -- } else if wantedOS != "windows" && c.OS == "windows" { -- return osErr -+ if wantedArch != c.Architecture { -+ logrus.Infof("Image architecture mismatch: image uses %q, expecting %q", c.Architecture, wantedArch) - } - } - return nil -@@ -709,6 +766,7 @@ func (ic *imageCopier) copyLayers(ctx context.Context) error { - return err - } - srcInfosUpdated := false -+ // If we only need to check authorization, no updates required. - if updatedSrcInfos != nil && !reflect.DeepEqual(srcInfos, updatedSrcInfos) { - if !ic.canModifyManifest { - return errors.Errorf("Internal error: copyLayers() needs to use an updated manifest but that was known to be forbidden") -@@ -737,7 +795,7 @@ func (ic *imageCopier) copyLayers(ctx context.Context) error { - } - - data := make([]copyLayerData, numLayers) -- copyLayerHelper := func(index int, srcLayer types.BlobInfo, pool *mpb.Progress) { -+ copyLayerHelper := func(index int, srcLayer types.BlobInfo, toEncrypt bool, pool *mpb.Progress) { - defer copySemaphore.Release(1) - defer copyGroup.Done() - cld := copyLayerData{} -@@ -752,18 +810,39 @@ func (ic *imageCopier) copyLayers(ctx context.Context) error { - logrus.Debugf("Skipping foreign layer %q copy to %s", cld.destInfo.Digest, ic.c.dest.Reference().Transport().Name()) - } - } else { -- cld.destInfo, cld.diffID, cld.err = ic.copyLayer(ctx, srcLayer, pool) -+ cld.destInfo, cld.diffID, cld.err = ic.copyLayer(ctx, srcLayer, toEncrypt, pool) - } - data[index] = cld - } - -+ // Create layer Encryption map -+ encLayerBitmap := map[int]bool{} -+ var encryptAll bool -+ if ic.ociEncryptLayers != nil { -+ encryptAll = len(*ic.ociEncryptLayers) == 0 -+ totalLayers := len(srcInfos) -+ for _, l := range *ic.ociEncryptLayers { -+ // if layer is negative, it is reverse indexed. -+ encLayerBitmap[(totalLayers+l)%totalLayers] = true -+ } -+ -+ if encryptAll { -+ for i := 0; i < len(srcInfos); i++ { -+ encLayerBitmap[i] = true -+ } -+ } -+ } -+ - func() { // A scope for defer - progressPool, progressCleanup := ic.c.newProgressPool(ctx) - defer progressCleanup() - - for i, srcLayer := range srcInfos { -- copySemaphore.Acquire(ctx, 1) -- go copyLayerHelper(i, srcLayer, progressPool) -+ err = copySemaphore.Acquire(ctx, 1) -+ if err != nil { -+ logrus.Debug("Can't acquire semaphoer", err) -+ } -+ go copyLayerHelper(i, srcLayer, encLayerBitmap[i], progressPool) - } - - // Wait for all layers to be copied -@@ -854,7 +933,7 @@ func (ic *imageCopier) copyUpdatedConfigAndManifest(ctx context.Context, instanc - // The caller must eventually call the returned cleanup function after the pool will no longer be updated. - func (c *copier) newProgressPool(ctx context.Context) (*mpb.Progress, func()) { - ctx, cancel := context.WithCancel(ctx) -- pool := mpb.New(mpb.WithWidth(40), mpb.WithOutput(c.progressOutput), mpb.WithContext(ctx)) -+ pool := mpb.NewWithContext(ctx, mpb.WithWidth(40), mpb.WithOutput(c.progressOutput)) - return pool, func() { - cancel() - pool.Wait() -@@ -874,6 +953,9 @@ func (c *copier) createProgressBar(pool *mpb.Progress, info types.BlobInfo, kind - prefix = prefix[:maxPrefixLen] - } - -+ // onComplete will replace prefix once the bar/spinner has completed -+ onComplete = prefix + " " + onComplete -+ - // Use a normal progress bar when we know the size (i.e., size > 0). - // Otherwise, use a spinner to indicate that something's happening. - var bar *mpb.Bar -@@ -881,10 +963,10 @@ func (c *copier) createProgressBar(pool *mpb.Progress, info types.BlobInfo, kind - bar = pool.AddBar(info.Size, - mpb.BarClearOnComplete(), - mpb.PrependDecorators( -- decor.Name(prefix), -+ decor.OnComplete(decor.Name(prefix), onComplete), - ), - mpb.AppendDecorators( -- decor.OnComplete(decor.CountersKibiByte("%.1f / %.1f"), " "+onComplete), -+ decor.OnComplete(decor.CountersKibiByte("%.1f / %.1f"), ""), - ), - ) - } else { -@@ -893,10 +975,7 @@ func (c *copier) createProgressBar(pool *mpb.Progress, info types.BlobInfo, kind - mpb.BarClearOnComplete(), - mpb.SpinnerStyle([]string{".", "..", "...", "....", ""}), - mpb.PrependDecorators( -- decor.Name(prefix), -- ), -- mpb.AppendDecorators( -- decor.OnComplete(decor.Name(""), " "+onComplete), -+ decor.OnComplete(decor.Name(prefix), onComplete), - ), - ) - } -@@ -919,7 +998,7 @@ func (c *copier) copyConfig(ctx context.Context, src types.Image) error { - progressPool, progressCleanup := c.newProgressPool(ctx) - defer progressCleanup() - bar := c.createProgressBar(progressPool, srcInfo, "config", "done") -- destInfo, err := c.copyBlobFromStream(ctx, bytes.NewReader(configBlob), srcInfo, nil, false, true, bar) -+ destInfo, err := c.copyBlobFromStream(ctx, bytes.NewReader(configBlob), srcInfo, nil, false, true, false, bar) - if err != nil { - return types.BlobInfo{}, err - } -@@ -945,9 +1024,10 @@ type diffIDResult struct { - - // copyLayer copies a layer with srcInfo (with known Digest and Annotations and possibly known Size) in src to dest, perhaps compressing it if canCompress, - // and returns a complete blobInfo of the copied layer, and a value for LayerDiffIDs if diffIDIsNeeded --func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo, pool *mpb.Progress) (types.BlobInfo, digest.Digest, error) { -+func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo, toEncrypt bool, pool *mpb.Progress) (types.BlobInfo, digest.Digest, error) { - cachedDiffID := ic.c.blobInfoCache.UncompressedDigest(srcInfo.Digest) // May be "" -- diffIDIsNeeded := ic.diffIDsAreNeeded && cachedDiffID == "" -+ // Diffs are needed if we are encrypting an image or trying to decrypt an image -+ diffIDIsNeeded := ic.diffIDsAreNeeded && cachedDiffID == "" || toEncrypt || (isOciEncrypted(srcInfo.MediaType) && ic.ociDecryptConfig != nil) - - // If we already have the blob, and we don't need to compute the diffID, then we don't need to read it from the source. - if !diffIDIsNeeded { -@@ -972,7 +1052,7 @@ func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo, po - - bar := ic.c.createProgressBar(pool, srcInfo, "blob", "done") - -- blobInfo, diffIDChan, err := ic.copyLayerFromStream(ctx, srcStream, types.BlobInfo{Digest: srcInfo.Digest, Size: srcBlobSize, Annotations: srcInfo.Annotations}, diffIDIsNeeded, bar) -+ blobInfo, diffIDChan, err := ic.copyLayerFromStream(ctx, srcStream, types.BlobInfo{Digest: srcInfo.Digest, Size: srcBlobSize, MediaType: srcInfo.MediaType, Annotations: srcInfo.Annotations}, diffIDIsNeeded, toEncrypt, bar) - if err != nil { - return types.BlobInfo{}, "", err - } -@@ -1003,7 +1083,7 @@ func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo, po - // perhaps compressing the stream if canCompress, - // and returns a complete blobInfo of the copied blob and perhaps a <-chan diffIDResult if diffIDIsNeeded, to be read by the caller. - func (ic *imageCopier) copyLayerFromStream(ctx context.Context, srcStream io.Reader, srcInfo types.BlobInfo, -- diffIDIsNeeded bool, bar *mpb.Bar) (types.BlobInfo, <-chan diffIDResult, error) { -+ diffIDIsNeeded bool, toEncrypt bool, bar *mpb.Bar) (types.BlobInfo, <-chan diffIDResult, error) { - var getDiffIDRecorder func(compression.DecompressorFunc) io.Writer // = nil - var diffIDChan chan diffIDResult - -@@ -1012,7 +1092,7 @@ func (ic *imageCopier) copyLayerFromStream(ctx context.Context, srcStream io.Rea - diffIDChan = make(chan diffIDResult, 1) // Buffered, so that sending a value after this or our caller has failed and exited does not block. - pipeReader, pipeWriter := io.Pipe() - defer func() { // Note that this is not the same as {defer pipeWriter.CloseWithError(err)}; we need err to be evaluated lazily. -- pipeWriter.CloseWithError(err) // CloseWithError(nil) is equivalent to Close() -+ _ = pipeWriter.CloseWithError(err) // CloseWithError(nil) is equivalent to Close(), always returns nil - }() - - getDiffIDRecorder = func(decompressor compression.DecompressorFunc) io.Writer { -@@ -1027,7 +1107,10 @@ func (ic *imageCopier) copyLayerFromStream(ctx context.Context, srcStream io.Rea - return pipeWriter - } - } -- blobInfo, err := ic.c.copyBlobFromStream(ctx, srcStream, srcInfo, getDiffIDRecorder, ic.canModifyManifest, false, bar) // Sets err to nil on success -+ ic.c.ociDecryptConfig = ic.ociDecryptConfig -+ ic.c.ociEncryptConfig = ic.ociEncryptConfig -+ -+ blobInfo, err := ic.c.copyBlobFromStream(ctx, srcStream, srcInfo, getDiffIDRecorder, ic.canModifyManifest, false, toEncrypt, bar) // Sets err to nil on success - return blobInfo, diffIDChan, err - // We need the defer … pipeWriter.CloseWithError() to happen HERE so that the caller can block on reading from diffIDChan - } -@@ -1064,7 +1147,7 @@ func computeDiffID(stream io.Reader, decompressor compression.DecompressorFunc) - // and returns a complete blobInfo of the copied blob. - func (c *copier) copyBlobFromStream(ctx context.Context, srcStream io.Reader, srcInfo types.BlobInfo, - getOriginalLayerCopyWriter func(decompressor compression.DecompressorFunc) io.Writer, -- canModifyBlob bool, isConfig bool, bar *mpb.Bar) (types.BlobInfo, error) { -+ canModifyBlob bool, isConfig bool, toEncrypt bool, bar *mpb.Bar) (types.BlobInfo, error) { - // The copying happens through a pipeline of connected io.Readers. - // === Input: srcStream - -@@ -1078,7 +1161,29 @@ func (c *copier) copyBlobFromStream(ctx context.Context, srcStream io.Reader, sr - if err != nil { - return types.BlobInfo{}, errors.Wrapf(err, "Error preparing to verify blob %s", srcInfo.Digest) - } -+ - var destStream io.Reader = digestingReader -+ var decrypted bool -+ if isOciEncrypted(srcInfo.MediaType) && c.ociDecryptConfig != nil { -+ newDesc := imgspecv1.Descriptor{ -+ Annotations: srcInfo.Annotations, -+ } -+ -+ var d digest.Digest -+ destStream, d, err = ocicrypt.DecryptLayer(c.ociDecryptConfig, destStream, newDesc, false) -+ if err != nil { -+ return types.BlobInfo{}, errors.Wrapf(err, "Error decrypting layer %s", srcInfo.Digest) -+ } -+ -+ srcInfo.Digest = d -+ srcInfo.Size = -1 -+ for k := range srcInfo.Annotations { -+ if strings.HasPrefix(k, "org.opencontainers.image.enc") { -+ delete(srcInfo.Annotations, k) -+ } -+ } -+ decrypted = true -+ } - - // === Detect compression of the input stream. - // This requires us to “peek ahead” into the stream to read the initial part, which requires us to chain through another io.Reader returned by DetectCompression. -@@ -1101,7 +1206,12 @@ func (c *copier) copyBlobFromStream(ctx context.Context, srcStream io.Reader, sr - // === Deal with layer compression/decompression if necessary - var inputInfo types.BlobInfo - var compressionOperation types.LayerCompression -- if canModifyBlob && c.dest.DesiredLayerCompression() == types.Compress && !isCompressed { -+ if canModifyBlob && isOciEncrypted(srcInfo.MediaType) { -+ // PreserveOriginal due to any compression not being able to be done on an encrypted blob unless decrypted -+ logrus.Debugf("Using original blob without modification for encrypted blob") -+ compressionOperation = types.PreserveOriginal -+ inputInfo = srcInfo -+ } else if canModifyBlob && c.dest.DesiredLayerCompression() == types.Compress && !isCompressed { - logrus.Debugf("Compressing blob on the fly") - compressionOperation = types.Compress - pipeReader, pipeWriter := io.Pipe() -@@ -1152,15 +1262,51 @@ func (c *copier) copyBlobFromStream(ctx context.Context, srcStream io.Reader, sr - inputInfo = srcInfo - } - -+ // Perform image encryption for valid mediatypes if ociEncryptConfig provided -+ var ( -+ encrypted bool -+ finalizer ocicrypt.EncryptLayerFinalizer -+ ) -+ if toEncrypt { -+ if decrypted { -+ return types.BlobInfo{}, errors.New("Unable to support both decryption and encryption in the same copy") -+ } -+ -+ if !isOciEncrypted(srcInfo.MediaType) && c.ociEncryptConfig != nil { -+ var annotations map[string]string -+ if !decrypted { -+ annotations = srcInfo.Annotations -+ } -+ desc := imgspecv1.Descriptor{ -+ MediaType: srcInfo.MediaType, -+ Digest: srcInfo.Digest, -+ Size: srcInfo.Size, -+ Annotations: annotations, -+ } -+ -+ s, fin, err := ocicrypt.EncryptLayer(c.ociEncryptConfig, destStream, desc) -+ if err != nil { -+ return types.BlobInfo{}, errors.Wrapf(err, "Error encrypting blob %s", srcInfo.Digest) -+ } -+ -+ destStream = s -+ finalizer = fin -+ inputInfo.Digest = "" -+ inputInfo.Size = -1 -+ encrypted = true -+ } -+ } -+ - // === Report progress using the c.progress channel, if required. - if c.progress != nil && c.progressInterval > 0 { -- destStream = &progressReader{ -- source: destStream, -- channel: c.progress, -- interval: c.progressInterval, -- artifact: srcInfo, -- lastTime: time.Now(), -- } -+ progressReader := newProgressReader( -+ destStream, -+ c.progress, -+ c.progressInterval, -+ srcInfo, -+ ) -+ defer progressReader.reportDone() -+ destStream = progressReader - } - - // === Finally, send the layer stream to dest. -@@ -1176,6 +1322,21 @@ func (c *copier) copyBlobFromStream(ctx context.Context, srcStream io.Reader, sr - if canModifyBlob && !isConfig { - uploadedInfo.CompressionAlgorithm = &desiredCompressionFormat - } -+ if decrypted { -+ uploadedInfo.CryptoOperation = types.Decrypt -+ } else if encrypted { -+ encryptAnnotations, err := finalizer() -+ if err != nil { -+ return types.BlobInfo{}, errors.Wrap(err, "Unable to finalize encryption") -+ } -+ uploadedInfo.CryptoOperation = types.Encrypt -+ if uploadedInfo.Annotations == nil { -+ uploadedInfo.Annotations = map[string]string{} -+ } -+ for k, v := range encryptAnnotations { -+ uploadedInfo.Annotations[k] = v -+ } -+ } - - // This is fairly horrible: the writer from getOriginalLayerCopyWriter wants to consumer - // all of the input (to compute DiffIDs), even if dest.PutBlob does not need it. -@@ -1218,7 +1379,7 @@ func (c *copier) copyBlobFromStream(ctx context.Context, srcStream io.Reader, sr - func (c *copier) compressGoroutine(dest *io.PipeWriter, src io.Reader, compressionFormat compression.Algorithm) { - err := errors.New("Internal error: unexpected panic in compressGoroutine") - defer func() { // Note that this is not the same as {defer dest.CloseWithError(err)}; we need err to be evaluated lazily. -- dest.CloseWithError(err) // CloseWithError(nil) is equivalent to Close() -+ _ = dest.CloseWithError(err) // CloseWithError(nil) is equivalent to Close(), always returns nil - }() - - compressor, err := compression.CompressStream(dest, compressionFormat, c.compressionLevel) -diff --git a/vendor/github.com/containers/image/v5/copy/encrypt.go b/vendor/github.com/containers/image/v5/copy/encrypt.go -new file mode 100644 -index 000000000..a18d6f151 ---- /dev/null -+++ b/vendor/github.com/containers/image/v5/copy/encrypt.go -@@ -0,0 +1,24 @@ -+package copy -+ -+import ( -+ "strings" -+ -+ "github.com/containers/image/v5/types" -+) -+ -+// isOciEncrypted returns a bool indicating if a mediatype is encrypted -+// This function will be moved to be part of OCI spec when adopted. -+func isOciEncrypted(mediatype string) bool { -+ return strings.HasSuffix(mediatype, "+encrypted") -+} -+ -+// isEncrypted checks if an image is encrypted -+func isEncrypted(i types.Image) bool { -+ layers := i.LayerInfos() -+ for _, l := range layers { -+ if isOciEncrypted(l.MediaType) { -+ return true -+ } -+ } -+ return false -+} -diff --git a/vendor/github.com/containers/image/v5/copy/manifest.go b/vendor/github.com/containers/image/v5/copy/manifest.go -index f5f6c9c5f..5a3cf06a4 100644 ---- a/vendor/github.com/containers/image/v5/copy/manifest.go -+++ b/vendor/github.com/containers/image/v5/copy/manifest.go -@@ -42,7 +42,7 @@ func (os *orderedSet) append(s string) { - // Note that the conversion will only happen later, through ic.src.UpdatedImage - // Returns the preferred manifest MIME type (whether we are converting to it or using it unmodified), - // and a list of other possible alternatives, in order. --func (ic *imageCopier) determineManifestConversion(ctx context.Context, destSupportedManifestMIMETypes []string, forceManifestMIMEType string) (string, []string, error) { -+func (ic *imageCopier) determineManifestConversion(ctx context.Context, destSupportedManifestMIMETypes []string, forceManifestMIMEType string, requiresOciEncryption bool) (string, []string, error) { - _, srcType, err := ic.src.Manifest(ctx) - if err != nil { // This should have been cached?! - return "", nil, errors.Wrap(err, "Error reading manifest") -@@ -57,12 +57,14 @@ func (ic *imageCopier) determineManifestConversion(ctx context.Context, destSupp - destSupportedManifestMIMETypes = []string{forceManifestMIMEType} - } - -- if len(destSupportedManifestMIMETypes) == 0 { -+ if len(destSupportedManifestMIMETypes) == 0 && (!requiresOciEncryption || manifest.MIMETypeSupportsEncryption(srcType)) { - return srcType, []string{}, nil // Anything goes; just use the original as is, do not try any conversions. - } - supportedByDest := map[string]struct{}{} - for _, t := range destSupportedManifestMIMETypes { -- supportedByDest[t] = struct{}{} -+ if !requiresOciEncryption || manifest.MIMETypeSupportsEncryption(t) { -+ supportedByDest[t] = struct{}{} -+ } - } - - // destSupportedManifestMIMETypes is a static guess; a particular registry may still only support a subset of the types. -@@ -125,14 +127,14 @@ func isMultiImage(ctx context.Context, img types.UnparsedImage) (bool, error) { - // forced value, and returns the MIME type to which we should convert the list - // of manifests, whether we are converting to it or using it unmodified. - func (c *copier) determineListConversion(currentListMIMEType string, destSupportedMIMETypes []string, forcedListMIMEType string) (string, error) { -- // If we're forcing it, we prefer the forced value over everything else. -- if forcedListMIMEType != "" { -- return forcedListMIMEType, nil -- } - // If there's no list of supported types, then anything we support is expected to be supported. - if len(destSupportedMIMETypes) == 0 { - destSupportedMIMETypes = manifest.SupportedListMIMETypes - } -+ // If we're forcing it, replace the list of supported types with the forced value. -+ if forcedListMIMEType != "" { -+ destSupportedMIMETypes = []string{forcedListMIMEType} -+ } - var selectedType string - for i := range destSupportedMIMETypes { - // The second priority is the first member of the list of acceptable types that is a list, -@@ -146,9 +148,15 @@ func (c *copier) determineListConversion(currentListMIMEType string, destSupport - selectedType = destSupportedMIMETypes[i] - } - } -+ logrus.Debugf("Manifest list has MIME type %s, ordered candidate list [%s]", currentListMIMEType, strings.Join(destSupportedMIMETypes, ", ")) - if selectedType == "" { - return "", errors.Errorf("destination does not support any supported manifest list types (%v)", manifest.SupportedListMIMETypes) - } -+ if selectedType != currentListMIMEType { -+ logrus.Debugf("... will convert to %s", selectedType) -+ } else { -+ logrus.Debugf("... will use the original manifest list type") -+ } - // Done. - return selectedType, nil - } -diff --git a/vendor/github.com/containers/image/v5/copy/progress_reader.go b/vendor/github.com/containers/image/v5/copy/progress_reader.go -index 1d0c41bce..0761065a2 100644 ---- a/vendor/github.com/containers/image/v5/copy/progress_reader.go -+++ b/vendor/github.com/containers/image/v5/copy/progress_reader.go -@@ -9,20 +9,71 @@ import ( - - // progressReader is a reader that reports its progress on an interval. - type progressReader struct { -- source io.Reader -- channel chan types.ProgressProperties -- interval time.Duration -- artifact types.BlobInfo -- lastTime time.Time -- offset uint64 -+ source io.Reader -+ channel chan<- types.ProgressProperties -+ interval time.Duration -+ artifact types.BlobInfo -+ lastUpdate time.Time -+ offset uint64 -+ offsetUpdate uint64 - } - -+// newProgressReader creates a new progress reader for: -+// `source`: The source when internally reading bytes -+// `channel`: The reporter channel to which the progress will be sent -+// `interval`: The update interval to indicate how often the progress should update -+// `artifact`: The blob metadata which is currently being progressed -+func newProgressReader( -+ source io.Reader, -+ channel chan<- types.ProgressProperties, -+ interval time.Duration, -+ artifact types.BlobInfo, -+) *progressReader { -+ // The progress reader constructor informs the progress channel -+ // that a new artifact will be read -+ channel <- types.ProgressProperties{ -+ Event: types.ProgressEventNewArtifact, -+ Artifact: artifact, -+ } -+ return &progressReader{ -+ source: source, -+ channel: channel, -+ interval: interval, -+ artifact: artifact, -+ lastUpdate: time.Now(), -+ offset: 0, -+ offsetUpdate: 0, -+ } -+} -+ -+// reportDone indicates to the internal channel that the progress has been -+// finished -+func (r *progressReader) reportDone() { -+ r.channel <- types.ProgressProperties{ -+ Event: types.ProgressEventDone, -+ Artifact: r.artifact, -+ Offset: r.offset, -+ OffsetUpdate: r.offsetUpdate, -+ } -+} -+ -+// Read continuously reads bytes into the progress reader and reports the -+// status via the internal channel - func (r *progressReader) Read(p []byte) (int, error) { - n, err := r.source.Read(p) - r.offset += uint64(n) -- if time.Since(r.lastTime) > r.interval { -- r.channel <- types.ProgressProperties{Artifact: r.artifact, Offset: r.offset} -- r.lastTime = time.Now() -+ r.offsetUpdate += uint64(n) -+ -+ // Fire the progress reader in the provided interval -+ if time.Since(r.lastUpdate) > r.interval { -+ r.channel <- types.ProgressProperties{ -+ Event: types.ProgressEventRead, -+ Artifact: r.artifact, -+ Offset: r.offset, -+ OffsetUpdate: r.offsetUpdate, -+ } -+ r.lastUpdate = time.Now() -+ r.offsetUpdate = 0 - } - return n, err - } -diff --git a/vendor/github.com/containers/image/v5/directory/directory_dest.go b/vendor/github.com/containers/image/v5/directory/directory_dest.go -index 2d6650de7..d70b6c07f 100644 ---- a/vendor/github.com/containers/image/v5/directory/directory_dest.go -+++ b/vendor/github.com/containers/image/v5/directory/directory_dest.go -@@ -6,6 +6,7 @@ import ( - "io/ioutil" - "os" - "path/filepath" -+ "runtime" - - "github.com/containers/image/v5/types" - "github.com/opencontainers/go-digest" -@@ -112,7 +113,7 @@ func (d *dirImageDestination) AcceptsForeignLayerURLs() bool { - return false - } - --// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise. -+// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise. - func (d *dirImageDestination) MustMatchRuntimeOS() bool { - return false - } -@@ -142,8 +143,11 @@ func (d *dirImageDestination) PutBlob(ctx context.Context, stream io.Reader, inp - return types.BlobInfo{}, err - } - succeeded := false -+ explicitClosed := false - defer func() { -- blobFile.Close() -+ if !explicitClosed { -+ blobFile.Close() -+ } - if !succeeded { - os.Remove(blobFile.Name()) - } -@@ -164,10 +168,21 @@ func (d *dirImageDestination) PutBlob(ctx context.Context, stream io.Reader, inp - if err := blobFile.Sync(); err != nil { - return types.BlobInfo{}, err - } -- if err := blobFile.Chmod(0644); err != nil { -- return types.BlobInfo{}, err -+ -+ // On POSIX systems, blobFile was created with mode 0600, so we need to make it readable. -+ // On Windows, the “permissions of newly created files” argument to syscall.Open is -+ // ignored and the file is already readable; besides, blobFile.Chmod, i.e. syscall.Fchmod, -+ // always fails on Windows. -+ if runtime.GOOS != "windows" { -+ if err := blobFile.Chmod(0644); err != nil { -+ return types.BlobInfo{}, err -+ } - } -+ - blobPath := d.ref.layerPath(computedDigest) -+ // need to explicitly close the file, since a rename won't otherwise not work on Windows -+ blobFile.Close() -+ explicitClosed = true - if err := os.Rename(blobFile.Name(), blobPath); err != nil { - return types.BlobInfo{}, err - } -diff --git a/vendor/github.com/containers/image/v5/docker/archive/dest.go b/vendor/github.com/containers/image/v5/docker/archive/dest.go -index 5845f63be..1cf197429 100644 ---- a/vendor/github.com/containers/image/v5/docker/archive/dest.go -+++ b/vendor/github.com/containers/image/v5/docker/archive/dest.go -@@ -36,7 +36,7 @@ func newImageDestination(sys *types.SystemContext, ref archiveReference) (types. - return nil, errors.New("docker-archive doesn't support modifying existing images") - } - -- tarDest := tarfile.NewDestination(fh, ref.destinationRef) -+ tarDest := tarfile.NewDestinationWithContext(sys, fh, ref.destinationRef) - if sys != nil && sys.DockerArchiveAdditionalTags != nil { - tarDest.AddRepoTags(sys.DockerArchiveAdditionalTags) - } -diff --git a/vendor/github.com/containers/image/v5/docker/archive/src.go b/vendor/github.com/containers/image/v5/docker/archive/src.go -index a90707437..6a628508d 100644 ---- a/vendor/github.com/containers/image/v5/docker/archive/src.go -+++ b/vendor/github.com/containers/image/v5/docker/archive/src.go -@@ -2,6 +2,7 @@ package archive - - import ( - "context" -+ - "github.com/containers/image/v5/docker/tarfile" - "github.com/containers/image/v5/types" - "github.com/sirupsen/logrus" -@@ -14,11 +15,11 @@ type archiveImageSource struct { - - // newImageSource returns a types.ImageSource for the specified image reference. - // The caller must call .Close() on the returned ImageSource. --func newImageSource(ctx context.Context, ref archiveReference) (types.ImageSource, error) { -+func newImageSource(ctx context.Context, sys *types.SystemContext, ref archiveReference) (types.ImageSource, error) { - if ref.destinationRef != nil { - logrus.Warnf("docker-archive: references are not supported for sources (ignoring)") - } -- src, err := tarfile.NewSourceFromFile(ref.path) -+ src, err := tarfile.NewSourceFromFileWithContext(sys, ref.path) - if err != nil { - return nil, err - } -diff --git a/vendor/github.com/containers/image/v5/docker/archive/transport.go b/vendor/github.com/containers/image/v5/docker/archive/transport.go -index 44213bb8d..46c01891f 100644 ---- a/vendor/github.com/containers/image/v5/docker/archive/transport.go -+++ b/vendor/github.com/containers/image/v5/docker/archive/transport.go -@@ -134,7 +134,7 @@ func (ref archiveReference) PolicyConfigurationNamespaces() []string { - // verify that UnparsedImage, and convert it into a real Image via image.FromUnparsedImage. - // WARNING: This may not do the right thing for a manifest list, see image.FromSource for details. - func (ref archiveReference) NewImage(ctx context.Context, sys *types.SystemContext) (types.ImageCloser, error) { -- src, err := newImageSource(ctx, ref) -+ src, err := newImageSource(ctx, sys, ref) - if err != nil { - return nil, err - } -@@ -144,7 +144,7 @@ func (ref archiveReference) NewImage(ctx context.Context, sys *types.SystemConte - // NewImageSource returns a types.ImageSource for this reference. - // The caller must call .Close() on the returned ImageSource. - func (ref archiveReference) NewImageSource(ctx context.Context, sys *types.SystemContext) (types.ImageSource, error) { -- return newImageSource(ctx, ref) -+ return newImageSource(ctx, sys, ref) - } - - // NewImageDestination returns a types.ImageDestination for this reference. -diff --git a/vendor/github.com/containers/image/v5/docker/daemon/daemon_dest.go b/vendor/github.com/containers/image/v5/docker/daemon/daemon_dest.go -index 25ce55a17..c6afd4bde 100644 ---- a/vendor/github.com/containers/image/v5/docker/daemon/daemon_dest.go -+++ b/vendor/github.com/containers/image/v5/docker/daemon/daemon_dest.go -@@ -54,7 +54,7 @@ func newImageDestination(ctx context.Context, sys *types.SystemContext, ref daem - return &daemonImageDestination{ - ref: ref, - mustMatchRuntimeOS: mustMatchRuntimeOS, -- Destination: tarfile.NewDestination(writer, namedTaggedRef), -+ Destination: tarfile.NewDestinationWithContext(sys, writer, namedTaggedRef), - goroutineCancel: goroutineCancel, - statusChannel: statusChannel, - writer: writer, -@@ -73,7 +73,9 @@ func imageLoadGoroutine(ctx context.Context, c *client.Client, reader *io.PipeRe - if err == nil { - reader.Close() - } else { -- reader.CloseWithError(err) -+ if err := reader.CloseWithError(err); err != nil { -+ logrus.Debugf("imageLoadGoroutine: Error during reader.CloseWithError: %v", err) -+ } - } - }() - -@@ -90,7 +92,7 @@ func (d *daemonImageDestination) DesiredLayerCompression() types.LayerCompressio - return types.PreserveOriginal - } - --// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise. -+// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise. - func (d *daemonImageDestination) MustMatchRuntimeOS() bool { - return d.mustMatchRuntimeOS - } -@@ -109,7 +111,9 @@ func (d *daemonImageDestination) Close() error { - // immediately, and hopefully, through terminating the sending which uses "Transfer-Encoding: chunked"" without sending - // the terminating zero-length chunk, prevent the docker daemon from processing the tar stream at all. - // Whether that works or not, closing the PipeWriter seems desirable in any case. -- d.writer.CloseWithError(errors.New("Aborting upload, daemonImageDestination closed without a previous .Commit()")) -+ if err := d.writer.CloseWithError(errors.New("Aborting upload, daemonImageDestination closed without a previous .Commit()")); err != nil { -+ return err -+ } - } - d.goroutineCancel() - -diff --git a/vendor/github.com/containers/image/v5/docker/daemon/daemon_src.go b/vendor/github.com/containers/image/v5/docker/daemon/daemon_src.go -index 46fbcc4e0..1827f811d 100644 ---- a/vendor/github.com/containers/image/v5/docker/daemon/daemon_src.go -+++ b/vendor/github.com/containers/image/v5/docker/daemon/daemon_src.go -@@ -13,11 +13,6 @@ type daemonImageSource struct { - *tarfile.Source // Implements most of types.ImageSource - } - --type layerInfo struct { -- path string -- size int64 --} -- - // newImageSource returns a types.ImageSource for the specified image reference. - // The caller must call .Close() on the returned ImageSource. - // -@@ -40,7 +35,7 @@ func newImageSource(ctx context.Context, sys *types.SystemContext, ref daemonRef - } - defer inputStream.Close() - -- src, err := tarfile.NewSourceFromStream(inputStream) -+ src, err := tarfile.NewSourceFromStreamWithSystemContext(sys, inputStream) - if err != nil { - return nil, err - } -diff --git a/vendor/github.com/containers/image/v5/docker/docker_client.go b/vendor/github.com/containers/image/v5/docker/docker_client.go -index bff077a40..aa8463d18 100644 ---- a/vendor/github.com/containers/image/v5/docker/docker_client.go -+++ b/vendor/github.com/containers/image/v5/docker/docker_client.go -@@ -45,6 +45,10 @@ const ( - - extensionSignatureSchemaVersion = 2 // extensionSignature.Version - extensionSignatureTypeAtomic = "atomic" // extensionSignature.Type -+ -+ backoffNumIterations = 5 -+ backoffInitialDelay = 2 * time.Second -+ backoffMaxDelay = 60 * time.Second - ) - - var systemPerHostCertDirPaths = [2]string{"/etc/containers/certs.d", "/etc/docker/certs.d"} -@@ -277,7 +281,7 @@ func CheckAuth(ctx context.Context, sys *types.SystemContext, username, password - } - defer resp.Body.Close() - -- return httpResponseToError(resp) -+ return httpResponseToError(resp, "") - } - - // SearchResult holds the information of each matching image -@@ -351,7 +355,7 @@ func SearchRegistry(ctx context.Context, sys *types.SystemContext, registry, ima - } else { - defer resp.Body.Close() - if resp.StatusCode != http.StatusOK { -- logrus.Debugf("error getting search results from v1 endpoint %q: %v", registry, httpResponseToError(resp)) -+ logrus.Debugf("error getting search results from v1 endpoint %q: %v", registry, httpResponseToError(resp, "")) - } else { - if err := json.NewDecoder(resp.Body).Decode(v1Res); err != nil { - return nil, err -@@ -368,7 +372,7 @@ func SearchRegistry(ctx context.Context, sys *types.SystemContext, registry, ima - } else { - defer resp.Body.Close() - if resp.StatusCode != http.StatusOK { -- logrus.Errorf("error getting search results from v2 endpoint %q: %v", registry, httpResponseToError(resp)) -+ logrus.Errorf("error getting search results from v2 endpoint %q: %v", registry, httpResponseToError(resp, "")) - } else { - if err := json.NewDecoder(resp.Body).Decode(v2Res); err != nil { - return nil, err -@@ -400,74 +404,64 @@ func (c *dockerClient) makeRequest(ctx context.Context, method, path string, hea - return c.makeRequestToResolvedURL(ctx, method, url, headers, stream, -1, auth, extraScope) - } - -+// parseRetryAfter determines the delay required by the "Retry-After" header in res and returns it, -+// silently falling back to fallbackDelay if the header is missing or invalid. -+func parseRetryAfter(res *http.Response, fallbackDelay time.Duration) time.Duration { -+ after := res.Header.Get("Retry-After") -+ if after == "" { -+ return fallbackDelay -+ } -+ logrus.Debugf("Detected 'Retry-After' header %q", after) -+ // First, check if we have a numerical value. -+ if num, err := strconv.ParseInt(after, 10, 64); err == nil { -+ return time.Duration(num) * time.Second -+ } -+ // Second, check if we have an HTTP date. -+ // If the delta between the date and now is positive, use it. -+ // Otherwise, fall back to using the default exponential back off. -+ if t, err := http.ParseTime(after); err == nil { -+ delta := time.Until(t) -+ if delta > 0 { -+ return delta -+ } -+ logrus.Debugf("Retry-After date in the past, ignoring it") -+ return fallbackDelay -+ } -+ // If the header contents are bogus, fall back to using the default exponential back off. -+ logrus.Debugf("Invalid Retry-After format, ignoring it") -+ return fallbackDelay -+} -+ - // makeRequestToResolvedURL creates and executes a http.Request with the specified parameters, adding authentication and TLS options for the Docker client. - // streamLen, if not -1, specifies the length of the data expected on stream. - // makeRequest should generally be preferred. --// In case of an http 429 status code in the response, it performs an exponential back off starting at 2 seconds for at most 5 iterations. --// If the `Retry-After` header is set in the response, the specified value or date is --// If the stream is non-nil, no back off will be performed. -+// In case of an HTTP 429 status code in the response, it may automatically retry a few times. - // TODO(runcom): too many arguments here, use a struct - func (c *dockerClient) makeRequestToResolvedURL(ctx context.Context, method, url string, headers map[string][]string, stream io.Reader, streamLen int64, auth sendAuth, extraScope *authScope) (*http.Response, error) { -- var ( -- res *http.Response -- err error -- delay int64 -- ) -- delay = 2 -- const numIterations = 5 -- const maxDelay = 60 -- -- // math.Min() only supports float64, so have an anonymous func to avoid -- // casting. -- min := func(a int64, b int64) int64 { -- if a < b { -- return a -+ delay := backoffInitialDelay -+ attempts := 0 -+ for { -+ res, err := c.makeRequestToResolvedURLOnce(ctx, method, url, headers, stream, streamLen, auth, extraScope) -+ attempts++ -+ if res == nil || res.StatusCode != http.StatusTooManyRequests || // Only retry on StatusTooManyRequests, success or other failure is returned to caller immediately -+ stream != nil || // We can't retry with a body (which is not restartable in the general case) -+ attempts == backoffNumIterations { -+ return res, err - } -- return b -- } - -- nextDelay := func(r *http.Response, delay int64) int64 { -- after := res.Header.Get("Retry-After") -- if after == "" { -- return min(delay, maxDelay) -- } -- logrus.Debugf("detected 'Retry-After' header %q", after) -- // First check if we have a numerical value. -- if num, err := strconv.ParseInt(after, 10, 64); err == nil { -- return min(num, maxDelay) -+ delay = parseRetryAfter(res, delay) -+ if delay > backoffMaxDelay { -+ delay = backoffMaxDelay - } -- // Secondly check if we have an http date. -- // If the delta between the date and now is positive, use it. -- // Otherwise, fall back to using the default exponential back off. -- if t, err := http.ParseTime(after); err == nil { -- delta := int64(t.Sub(time.Now()).Seconds()) -- if delta > 0 { -- return min(delta, maxDelay) -- } -- logrus.Debugf("negative date: falling back to using %d seconds", delay) -- return min(delay, maxDelay) -+ logrus.Debugf("Too many requests to %s: sleeping for %f seconds before next attempt", url, delay.Seconds()) -+ select { -+ case <-ctx.Done(): -+ return nil, ctx.Err() -+ case <-time.After(delay): -+ // Nothing - } -- // If the header contains bogus, fall back to using the default -- // exponential back off. -- logrus.Debugf("invalid format: falling back to using %d seconds", delay) -- return min(delay, maxDelay) -- } -- -- for i := 0; i < numIterations; i++ { -- res, err = c.makeRequestToResolvedURLOnce(ctx, method, url, headers, stream, streamLen, auth, extraScope) -- if stream == nil && res != nil && res.StatusCode == http.StatusTooManyRequests { -- if i < numIterations-1 { -- logrus.Errorf("HEADER %v", res.Header) -- delay = nextDelay(res, delay) // compute next delay - does NOT exceed maxDelay -- logrus.Debugf("too many request to %s: sleeping for %d seconds before next attempt", url, delay) -- time.Sleep(time.Duration(delay) * time.Second) -- delay = delay * 2 // exponential back off -- } -- continue -- } -- break -+ delay = delay * 2 // exponential back off - } -- return res, err - } - - // makeRequestToResolvedURLOnce creates and executes a http.Request with the specified parameters, adding authentication and TLS options for the Docker client. -@@ -627,7 +621,7 @@ func (c *dockerClient) detectPropertiesHelper(ctx context.Context) error { - defer resp.Body.Close() - logrus.Debugf("Ping %s status %d", url, resp.StatusCode) - if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusUnauthorized { -- return httpResponseToError(resp) -+ return httpResponseToError(resp, "") - } - c.challenges = parseAuthHeader(resp.Header) - c.scheme = scheme -diff --git a/vendor/github.com/containers/image/v5/docker/docker_image.go b/vendor/github.com/containers/image/v5/docker/docker_image.go -index dad382cd0..483581dbc 100644 ---- a/vendor/github.com/containers/image/v5/docker/docker_image.go -+++ b/vendor/github.com/containers/image/v5/docker/docker_image.go -@@ -70,7 +70,7 @@ func GetRepositoryTags(ctx context.Context, sys *types.SystemContext, ref types. - return nil, err - } - defer res.Body.Close() -- if err := httpResponseToError(res); err != nil { -+ if err := httpResponseToError(res, "Error fetching tags list"); err != nil { - return nil, err - } - -diff --git a/vendor/github.com/containers/image/v5/docker/docker_image_dest.go b/vendor/github.com/containers/image/v5/docker/docker_image_dest.go -index ce8a1f357..ab74e1607 100644 ---- a/vendor/github.com/containers/image/v5/docker/docker_image_dest.go -+++ b/vendor/github.com/containers/image/v5/docker/docker_image_dest.go -@@ -59,14 +59,16 @@ func (d *dockerImageDestination) Close() error { - } - - func (d *dockerImageDestination) SupportedManifestMIMETypes() []string { -- return []string{ -+ mimeTypes := []string{ - imgspecv1.MediaTypeImageManifest, - manifest.DockerV2Schema2MediaType, - imgspecv1.MediaTypeImageIndex, - manifest.DockerV2ListMediaType, -- manifest.DockerV2Schema1SignedMediaType, -- manifest.DockerV2Schema1MediaType, - } -+ if d.c.sys == nil || !d.c.sys.DockerDisableDestSchema1MIMETypes { -+ mimeTypes = append(mimeTypes, manifest.DockerV2Schema1SignedMediaType, manifest.DockerV2Schema1MediaType) -+ } -+ return mimeTypes - } - - // SupportsSignatures returns an error (to be displayed to the user) if the destination certainly can't store signatures. -@@ -95,7 +97,7 @@ func (d *dockerImageDestination) AcceptsForeignLayerURLs() bool { - return true - } - --// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise. -+// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise. - func (d *dockerImageDestination) MustMatchRuntimeOS() bool { - return false - } -diff --git a/vendor/github.com/containers/image/v5/docker/docker_image_src.go b/vendor/github.com/containers/image/v5/docker/docker_image_src.go -index 5436d9b7d..967845e72 100644 ---- a/vendor/github.com/containers/image/v5/docker/docker_image_src.go -+++ b/vendor/github.com/containers/image/v5/docker/docker_image_src.go -@@ -10,6 +10,7 @@ import ( - "net/url" - "os" - "strconv" -+ "strings" - - "github.com/containers/image/v5/docker/reference" - "github.com/containers/image/v5/internal/iolimits" -@@ -54,43 +55,77 @@ func newImageSource(ctx context.Context, sys *types.SystemContext, ref dockerRef - // non-mirror original location last; this both transparently handles the case - // of no mirrors configured, and ensures we return the error encountered when - // acessing the upstream location if all endpoints fail. -- manifestLoadErr := errors.New("Internal error: newImageSource returned without trying any endpoint") - pullSources, err := registry.PullSourcesFromReference(ref.ref) - if err != nil { - return nil, err - } -+ type attempt struct { -+ ref reference.Named -+ err error -+ } -+ attempts := []attempt{} - for _, pullSource := range pullSources { -- logrus.Debugf("Trying to pull %q", pullSource.Reference) -- dockerRef, err := newReference(pullSource.Reference) -- if err != nil { -- return nil, err -+ logrus.Debugf("Trying to access %q", pullSource.Reference) -+ s, err := newImageSourceAttempt(ctx, sys, pullSource, primaryDomain) -+ if err == nil { -+ return s, nil - } -- -- endpointSys := sys -- // sys.DockerAuthConfig does not explicitly specify a registry; we must not blindly send the credentials intended for the primary endpoint to mirrors. -- if endpointSys != nil && endpointSys.DockerAuthConfig != nil && reference.Domain(dockerRef.ref) != primaryDomain { -- copy := *endpointSys -- copy.DockerAuthConfig = nil -- endpointSys = © -+ logrus.Debugf("Accessing %q failed: %v", pullSource.Reference, err) -+ attempts = append(attempts, attempt{ -+ ref: pullSource.Reference, -+ err: err, -+ }) -+ } -+ switch len(attempts) { -+ case 0: -+ return nil, errors.New("Internal error: newImageSource returned without trying any endpoint") -+ case 1: -+ return nil, attempts[0].err // If no mirrors are used, perfectly preserve the error type and add no noise. -+ default: -+ // Don’t just build a string, try to preserve the typed error. -+ primary := &attempts[len(attempts)-1] -+ extras := []string{} -+ for i := 0; i < len(attempts)-1; i++ { -+ // This is difficult to fit into a single-line string, when the error can contain arbitrary strings including any metacharacters we decide to use. -+ // The paired [] at least have some chance of being unambiguous. -+ extras = append(extras, fmt.Sprintf("[%s: %v]", attempts[i].ref.String(), attempts[i].err)) - } -+ return nil, errors.Wrapf(primary.err, "(Mirrors also failed: %s): %s", strings.Join(extras, "\n"), primary.ref.String()) -+ } -+} - -- client, err := newDockerClientFromRef(endpointSys, dockerRef, false, "pull") -- if err != nil { -- return nil, err -- } -- client.tlsClientConfig.InsecureSkipVerify = pullSource.Endpoint.Insecure -+// newImageSourceAttempt is an internal helper for newImageSource. Everyone else must call newImageSource. -+// Given a pullSource and primaryDomain, return a dockerImageSource if it is reachable. -+// The caller must call .Close() on the returned ImageSource. -+func newImageSourceAttempt(ctx context.Context, sys *types.SystemContext, pullSource sysregistriesv2.PullSource, primaryDomain string) (*dockerImageSource, error) { -+ ref, err := newReference(pullSource.Reference) -+ if err != nil { -+ return nil, err -+ } - -- testImageSource := &dockerImageSource{ -- ref: dockerRef, -- c: client, -- } -+ endpointSys := sys -+ // sys.DockerAuthConfig does not explicitly specify a registry; we must not blindly send the credentials intended for the primary endpoint to mirrors. -+ if endpointSys != nil && endpointSys.DockerAuthConfig != nil && reference.Domain(ref.ref) != primaryDomain { -+ copy := *endpointSys -+ copy.DockerAuthConfig = nil -+ endpointSys = © -+ } - -- manifestLoadErr = testImageSource.ensureManifestIsLoaded(ctx) -- if manifestLoadErr == nil { -- return testImageSource, nil -- } -+ client, err := newDockerClientFromRef(endpointSys, ref, false, "pull") -+ if err != nil { -+ return nil, err -+ } -+ client.tlsClientConfig.InsecureSkipVerify = pullSource.Endpoint.Insecure -+ -+ s := &dockerImageSource{ -+ ref: ref, -+ c: client, -+ } -+ -+ if err := s.ensureManifestIsLoaded(ctx); err != nil { -+ return nil, err - } -- return nil, manifestLoadErr -+ return s, nil - } - - // Reference returns the reference used to set up this source, _as specified by the user_ -@@ -241,7 +276,7 @@ func (s *dockerImageSource) GetBlob(ctx context.Context, info types.BlobInfo, ca - if err != nil { - return nil, 0, err - } -- if err := httpResponseToError(res); err != nil { -+ if err := httpResponseToError(res, "Error fetching blob"); err != nil { - return nil, 0, err - } - cache.RecordKnownLocation(s.ref.Transport(), bicTransportScope(s.ref), info.Digest, newBICLocationReference(s.ref)) -diff --git a/vendor/github.com/containers/image/v5/docker/errors.go b/vendor/github.com/containers/image/v5/docker/errors.go -index 860868f41..f626cc7da 100644 ---- a/vendor/github.com/containers/image/v5/docker/errors.go -+++ b/vendor/github.com/containers/image/v5/docker/errors.go -@@ -14,7 +14,7 @@ var ( - // docker V1 registry. - ErrV1NotSupported = errors.New("can't talk to a V1 docker registry") - // ErrTooManyRequests is returned when the status code returned is 429 -- ErrTooManyRequests = errors.New("too many request to registry") -+ ErrTooManyRequests = errors.New("too many requests to registry") - ) - - // ErrUnauthorizedForCredentials is returned when the status code returned is 401 -@@ -26,9 +26,9 @@ func (e ErrUnauthorizedForCredentials) Error() string { - return fmt.Sprintf("unable to retrieve auth token: invalid username/password: %s", e.Err.Error()) - } - --// httpResponseToError translates the https.Response into an error. It returns -+// httpResponseToError translates the https.Response into an error, possibly prefixing it with the supplied context. It returns - // nil if the response is not considered an error. --func httpResponseToError(res *http.Response) error { -+func httpResponseToError(res *http.Response, context string) error { - switch res.StatusCode { - case http.StatusOK: - return nil -@@ -38,6 +38,9 @@ func httpResponseToError(res *http.Response) error { - err := client.HandleErrorResponse(res) - return ErrUnauthorizedForCredentials{Err: err} - default: -- return perrors.Errorf("invalid status code from registry %d (%s)", res.StatusCode, http.StatusText(res.StatusCode)) -+ if context != "" { -+ context = context + ": " -+ } -+ return perrors.Errorf("%sinvalid status code from registry %d (%s)", context, res.StatusCode, http.StatusText(res.StatusCode)) - } - } -diff --git a/vendor/github.com/containers/image/v5/docker/tarfile/dest.go b/vendor/github.com/containers/image/v5/docker/tarfile/dest.go -index 9748ca112..c171da505 100644 ---- a/vendor/github.com/containers/image/v5/docker/tarfile/dest.go -+++ b/vendor/github.com/containers/image/v5/docker/tarfile/dest.go -@@ -30,10 +30,17 @@ type Destination struct { - // Other state. - blobs map[digest.Digest]types.BlobInfo // list of already-sent blobs - config []byte -+ sysCtx *types.SystemContext - } - - // NewDestination returns a tarfile.Destination for the specified io.Writer. -+// Deprecated: please use NewDestinationWithContext instead - func NewDestination(dest io.Writer, ref reference.NamedTagged) *Destination { -+ return NewDestinationWithContext(nil, dest, ref) -+} -+ -+// NewDestinationWithContext returns a tarfile.Destination for the specified io.Writer. -+func NewDestinationWithContext(sys *types.SystemContext, dest io.Writer, ref reference.NamedTagged) *Destination { - repoTags := []reference.NamedTagged{} - if ref != nil { - repoTags = append(repoTags, ref) -@@ -43,6 +50,7 @@ func NewDestination(dest io.Writer, ref reference.NamedTagged) *Destination { - tar: tar.NewWriter(dest), - repoTags: repoTags, - blobs: make(map[digest.Digest]types.BlobInfo), -+ sysCtx: sys, - } - } - -@@ -71,7 +79,7 @@ func (d *Destination) AcceptsForeignLayerURLs() bool { - return false - } - --// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise. -+// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise. - func (d *Destination) MustMatchRuntimeOS() bool { - return false - } -@@ -100,7 +108,7 @@ func (d *Destination) PutBlob(ctx context.Context, stream io.Reader, inputInfo t - // When the layer is decompressed, we also have to generate the digest on uncompressed datas. - if inputInfo.Size == -1 || inputInfo.Digest.String() == "" { - logrus.Debugf("docker tarfile: input with unknown size, streaming to disk first ...") -- streamCopy, err := ioutil.TempFile(tmpdir.TemporaryDirectoryForBigFiles(), "docker-tarfile-blob") -+ streamCopy, err := ioutil.TempFile(tmpdir.TemporaryDirectoryForBigFiles(d.sysCtx), "docker-tarfile-blob") - if err != nil { - return types.BlobInfo{}, err - } -@@ -114,7 +122,7 @@ func (d *Destination) PutBlob(ctx context.Context, stream io.Reader, inputInfo t - if err != nil { - return types.BlobInfo{}, err - } -- _, err = streamCopy.Seek(0, os.SEEK_SET) -+ _, err = streamCopy.Seek(0, io.SeekStart) - if err != nil { - return types.BlobInfo{}, err - } -diff --git a/vendor/github.com/containers/image/v5/docker/tarfile/src.go b/vendor/github.com/containers/image/v5/docker/tarfile/src.go -index bbf604da6..c1f1a0f27 100644 ---- a/vendor/github.com/containers/image/v5/docker/tarfile/src.go -+++ b/vendor/github.com/containers/image/v5/docker/tarfile/src.go -@@ -47,7 +47,14 @@ type layerInfo struct { - // To do for both the NewSourceFromFile and NewSourceFromStream functions - - // NewSourceFromFile returns a tarfile.Source for the specified path. -+// Deprecated: Please use NewSourceFromFileWithContext which will allows you to configure temp directory -+// for big files through SystemContext.BigFilesTemporaryDir - func NewSourceFromFile(path string) (*Source, error) { -+ return NewSourceFromFileWithContext(nil, path) -+} -+ -+// NewSourceFromFileWithContext returns a tarfile.Source for the specified path. -+func NewSourceFromFileWithContext(sys *types.SystemContext, path string) (*Source, error) { - file, err := os.Open(path) - if err != nil { - return nil, errors.Wrapf(err, "error opening file %q", path) -@@ -66,16 +73,25 @@ func NewSourceFromFile(path string) (*Source, error) { - tarPath: path, - }, nil - } -- return NewSourceFromStream(stream) -+ return NewSourceFromStreamWithSystemContext(sys, stream) - } - - // NewSourceFromStream returns a tarfile.Source for the specified inputStream, - // which can be either compressed or uncompressed. The caller can close the - // inputStream immediately after NewSourceFromFile returns. -+// Deprecated: Please use NewSourceFromStreamWithSystemContext which will allows you to configure -+// temp directory for big files through SystemContext.BigFilesTemporaryDir - func NewSourceFromStream(inputStream io.Reader) (*Source, error) { -+ return NewSourceFromStreamWithSystemContext(nil, inputStream) -+} -+ -+// NewSourceFromStreamWithSystemContext returns a tarfile.Source for the specified inputStream, -+// which can be either compressed or uncompressed. The caller can close the -+// inputStream immediately after NewSourceFromFile returns. -+func NewSourceFromStreamWithSystemContext(sys *types.SystemContext, inputStream io.Reader) (*Source, error) { - // FIXME: use SystemContext here. - // Save inputStream to a temporary file -- tarCopyFile, err := ioutil.TempFile(tmpdir.TemporaryDirectoryForBigFiles(), "docker-tar") -+ tarCopyFile, err := ioutil.TempFile(tmpdir.TemporaryDirectoryForBigFiles(sys), "docker-tar") - if err != nil { - return nil, errors.Wrap(err, "error creating temporary file") - } -@@ -147,7 +163,7 @@ func (s *Source) openTarComponent(componentPath string) (io.ReadCloser, error) { - } - if header.FileInfo().Mode()&os.ModeType == os.ModeSymlink { // FIXME: untested - // We follow only one symlink; so no loops are possible. -- if _, err := f.Seek(0, os.SEEK_SET); err != nil { -+ if _, err := f.Seek(0, io.SeekStart); err != nil { - return nil, err - } - // The new path could easily point "outside" the archive, but we only compare it to existing tar headers without extracting the archive, -diff --git a/vendor/github.com/containers/image/v5/docker/wwwauthenticate.go b/vendor/github.com/containers/image/v5/docker/wwwauthenticate.go -index 23664a74a..d0bbbba8a 100644 ---- a/vendor/github.com/containers/image/v5/docker/wwwauthenticate.go -+++ b/vendor/github.com/containers/image/v5/docker/wwwauthenticate.go -@@ -48,8 +48,8 @@ func init() { - var t octetType - isCtl := c <= 31 || c == 127 - isChar := 0 <= c && c <= 127 -- isSeparator := strings.IndexRune(" \t\"(),/:;<=>?@[]\\{}", rune(c)) >= 0 -- if strings.IndexRune(" \t\r\n", rune(c)) >= 0 { -+ isSeparator := strings.ContainsRune(" \t\"(),/:;<=>?@[]\\{}", rune(c)) -+ if strings.ContainsRune(" \t\r\n", rune(c)) { - t |= isSpace - } - if isChar && !isCtl && !isSeparator { -diff --git a/vendor/github.com/containers/image/v5/image/docker_schema1.go b/vendor/github.com/containers/image/v5/image/docker_schema1.go -index 1a1c39d55..48ddb174e 100644 ---- a/vendor/github.com/containers/image/v5/image/docker_schema1.go -+++ b/vendor/github.com/containers/image/v5/image/docker_schema1.go -@@ -200,3 +200,8 @@ func (m *manifestSchema1) convertToManifestSchema2(uploadedLayerInfos []types.Bl - - return manifestSchema2FromComponents(configDescriptor, nil, configJSON, layers), nil - } -+ -+// SupportsEncryption returns if encryption is supported for the manifest type -+func (m *manifestSchema1) SupportsEncryption(context.Context) bool { -+ return false -+} -diff --git a/vendor/github.com/containers/image/v5/image/docker_schema2.go b/vendor/github.com/containers/image/v5/image/docker_schema2.go -index 29c5047d7..1e2114d7e 100644 ---- a/vendor/github.com/containers/image/v5/image/docker_schema2.go -+++ b/vendor/github.com/containers/image/v5/image/docker_schema2.go -@@ -355,3 +355,8 @@ func v1ConfigFromConfigJSON(configJSON []byte, v1ID, parentV1ID string, throwawa - } - return json.Marshal(rawContents) - } -+ -+// SupportsEncryption returns if encryption is supported for the manifest type -+func (m *manifestSchema2) SupportsEncryption(context.Context) bool { -+ return false -+} -diff --git a/vendor/github.com/containers/image/v5/image/manifest.go b/vendor/github.com/containers/image/v5/image/manifest.go -index fe66da157..c574fa9fc 100644 ---- a/vendor/github.com/containers/image/v5/image/manifest.go -+++ b/vendor/github.com/containers/image/v5/image/manifest.go -@@ -44,6 +44,8 @@ type genericManifest interface { - // UpdatedImage returns a types.Image modified according to options. - // This does not change the state of the original Image object. - UpdatedImage(ctx context.Context, options types.ManifestUpdateOptions) (types.Image, error) -+ // SupportsEncryption returns if encryption is supported for the manifest type -+ SupportsEncryption(ctx context.Context) bool - } - - // manifestInstanceFromBlob returns a genericManifest implementation for (manblob, mt) in src. -diff --git a/vendor/github.com/containers/image/v5/image/oci.go b/vendor/github.com/containers/image/v5/image/oci.go -index 406da262f..b5ddb9aaa 100644 ---- a/vendor/github.com/containers/image/v5/image/oci.go -+++ b/vendor/github.com/containers/image/v5/image/oci.go -@@ -212,3 +212,8 @@ func (m *manifestOCI1) convertToManifestSchema2() (types.Image, error) { - m1 := manifestSchema2FromComponents(config, m.src, nil, layers) - return memoryImageFromManifest(m1), nil - } -+ -+// SupportsEncryption returns if encryption is supported for the manifest type -+func (m *manifestOCI1) SupportsEncryption(context.Context) bool { -+ return true -+} -diff --git a/vendor/github.com/containers/image/v5/internal/pkg/keyctl/keyring.go b/vendor/github.com/containers/image/v5/internal/pkg/keyctl/keyring.go -index 4bf170156..91c64a1b8 100644 ---- a/vendor/github.com/containers/image/v5/internal/pkg/keyctl/keyring.go -+++ b/vendor/github.com/containers/image/v5/internal/pkg/keyctl/keyring.go -@@ -5,9 +5,6 @@ - // +build linux - - // Package keyctl is a Go interface to linux kernel keyrings (keyctl interface) --// --// Deprecated: Most callers should use either golang.org/x/sys/unix directly, --// or the original (and more extensive) github.com/jsipprell/keyctl . - package keyctl - - import ( -diff --git a/vendor/github.com/containers/image/v5/internal/tmpdir/tmpdir.go b/vendor/github.com/containers/image/v5/internal/tmpdir/tmpdir.go -index 8c776929c..a3081f4f2 100644 ---- a/vendor/github.com/containers/image/v5/internal/tmpdir/tmpdir.go -+++ b/vendor/github.com/containers/image/v5/internal/tmpdir/tmpdir.go -@@ -3,6 +3,8 @@ package tmpdir - import ( - "os" - "runtime" -+ -+ "github.com/containers/image/v5/types" - ) - - // unixTempDirForBigFiles is the directory path to store big files on non Windows systems. -@@ -18,7 +20,10 @@ const builtinUnixTempDirForBigFiles = "/var/tmp" - // TemporaryDirectoryForBigFiles returns a directory for temporary (big) files. - // On non Windows systems it avoids the use of os.TempDir(), because the default temporary directory usually falls under /tmp - // which on systemd based systems could be the unsuitable tmpfs filesystem. --func TemporaryDirectoryForBigFiles() string { -+func TemporaryDirectoryForBigFiles(sys *types.SystemContext) string { -+ if sys != nil && sys.BigFilesTemporaryDir != "" { -+ return sys.BigFilesTemporaryDir -+ } - var temporaryDirectoryForBigFiles string - if runtime.GOOS == "windows" { - temporaryDirectoryForBigFiles = os.TempDir() -diff --git a/vendor/github.com/containers/image/v5/manifest/list.go b/vendor/github.com/containers/image/v5/manifest/list.go -index 6d10430fd..c7d741dc2 100644 ---- a/vendor/github.com/containers/image/v5/manifest/list.go -+++ b/vendor/github.com/containers/image/v5/manifest/list.go -@@ -66,9 +66,7 @@ func dupStringSlice(list []string) []string { - return nil - } - dup := make([]string, len(list)) -- for i := range list { -- dup[i] = list[i] -- } -+ copy(dup, list) - return dup - } - -diff --git a/vendor/github.com/containers/image/v5/manifest/manifest.go b/vendor/github.com/containers/image/v5/manifest/manifest.go -index 5b4d341d8..033b8d951 100644 ---- a/vendor/github.com/containers/image/v5/manifest/manifest.go -+++ b/vendor/github.com/containers/image/v5/manifest/manifest.go -@@ -206,6 +206,11 @@ func MIMETypeIsMultiImage(mimeType string) bool { - return mimeType == DockerV2ListMediaType || mimeType == imgspecv1.MediaTypeImageIndex - } - -+// MIMETypeSupportsEncryption returns true if the mimeType supports encryption -+func MIMETypeSupportsEncryption(mimeType string) bool { -+ return mimeType == imgspecv1.MediaTypeImageManifest -+} -+ - // NormalizedMIMEType returns the effective MIME type of a manifest MIME type returned by a server, - // centralizing various workarounds. - func NormalizedMIMEType(input string) string { -diff --git a/vendor/github.com/containers/image/v5/manifest/oci.go b/vendor/github.com/containers/image/v5/manifest/oci.go -index 46c551b18..2d27d9433 100644 ---- a/vendor/github.com/containers/image/v5/manifest/oci.go -+++ b/vendor/github.com/containers/image/v5/manifest/oci.go -@@ -3,9 +3,11 @@ package manifest - import ( - "encoding/json" - "fmt" -+ "strings" - - "github.com/containers/image/v5/pkg/compression" - "github.com/containers/image/v5/types" -+ ociencspec "github.com/containers/ocicrypt/spec" - "github.com/opencontainers/go-digest" - "github.com/opencontainers/image-spec/specs-go" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" -@@ -33,7 +35,7 @@ type OCI1 struct { - // SupportedOCI1MediaType checks if the specified string is a supported OCI1 media type. - func SupportedOCI1MediaType(m string) error { - switch m { -- case imgspecv1.MediaTypeDescriptor, imgspecv1.MediaTypeImageConfig, imgspecv1.MediaTypeImageLayer, imgspecv1.MediaTypeImageLayerGzip, imgspecv1.MediaTypeImageLayerNonDistributable, imgspecv1.MediaTypeImageLayerNonDistributableGzip, imgspecv1.MediaTypeImageLayerNonDistributableZstd, imgspecv1.MediaTypeImageLayerZstd, imgspecv1.MediaTypeImageManifest, imgspecv1.MediaTypeLayoutHeader: -+ case imgspecv1.MediaTypeDescriptor, imgspecv1.MediaTypeImageConfig, imgspecv1.MediaTypeImageLayer, imgspecv1.MediaTypeImageLayerGzip, imgspecv1.MediaTypeImageLayerNonDistributable, imgspecv1.MediaTypeImageLayerNonDistributableGzip, imgspecv1.MediaTypeImageLayerNonDistributableZstd, imgspecv1.MediaTypeImageLayerZstd, imgspecv1.MediaTypeImageManifest, imgspecv1.MediaTypeLayoutHeader, ociencspec.MediaTypeLayerEnc, ociencspec.MediaTypeLayerGzipEnc: - return nil - default: - return fmt.Errorf("unsupported OCIv1 media type: %q", m) -@@ -117,7 +119,7 @@ func isOCI1Layer(mimeType string) bool { - } - } - --// UpdateLayerInfos replaces the original layers with the specified BlobInfos (size+digest+urls), in order (the root layer first, and then successive layered layers) -+// UpdateLayerInfos replaces the original layers with the specified BlobInfos (size+digest+urls+mediatype), in order (the root layer first, and then successive layered layers) - func (m *OCI1) UpdateLayerInfos(layerInfos []types.BlobInfo) error { - if len(m.Layers) != len(layerInfos) { - return errors.Errorf("Error preparing updated manifest: layer count changed from %d to %d", len(m.Layers), len(layerInfos)) -@@ -125,11 +127,20 @@ func (m *OCI1) UpdateLayerInfos(layerInfos []types.BlobInfo) error { - original := m.Layers - m.Layers = make([]imgspecv1.Descriptor, len(layerInfos)) - for i, info := range layerInfos { -+ mimeType := original[i].MediaType - // First make sure we support the media type of the original layer. - if err := SupportedOCI1MediaType(original[i].MediaType); err != nil { - return fmt.Errorf("Error preparing updated manifest: unknown media type of original layer: %q", original[i].MediaType) - } - -+ if info.CryptoOperation == types.Decrypt { -+ decMimeType, err := getDecryptedMediaType(mimeType) -+ if err != nil { -+ return fmt.Errorf("error preparing updated manifest: decryption specified but original mediatype is not encrypted: %q", mimeType) -+ } -+ mimeType = decMimeType -+ } -+ - // Set the correct media types based on the specified compression - // operation, the desired compression algorithm AND the original media - // type. -@@ -142,31 +153,29 @@ func (m *OCI1) UpdateLayerInfos(layerInfos []types.BlobInfo) error { - switch info.CompressionOperation { - case types.PreserveOriginal: - // Keep the original media type. -- m.Layers[i].MediaType = original[i].MediaType -+ m.Layers[i].MediaType = mimeType - - case types.Decompress: - // Decompress the original media type and check if it was - // non-distributable one or not. -- mimeType := original[i].MediaType - switch { - case isOCI1NonDistributableLayer(mimeType): - m.Layers[i].MediaType = imgspecv1.MediaTypeImageLayerNonDistributable - case isOCI1Layer(mimeType): - m.Layers[i].MediaType = imgspecv1.MediaTypeImageLayer - default: -- return fmt.Errorf("Error preparing updated manifest: unsupported media type for decompression: %q", original[i].MediaType) -+ return fmt.Errorf("Error preparing updated manifest: unsupported media type for decompression: %q", mimeType) - } - - case types.Compress: - if info.CompressionAlgorithm == nil { - logrus.Debugf("Error preparing updated manifest: blob %q was compressed but does not specify by which algorithm: falling back to use the original blob", info.Digest) -- m.Layers[i].MediaType = original[i].MediaType -+ m.Layers[i].MediaType = mimeType - break - } - // Compress the original media type and set the new one based on - // that type (distributable or not) and the specified compression - // algorithm. Throw an error if the algorithm is not supported. -- mimeType := original[i].MediaType - switch info.CompressionAlgorithm.Name() { - case compression.Gzip.Name(): - switch { -@@ -175,7 +184,7 @@ func (m *OCI1) UpdateLayerInfos(layerInfos []types.BlobInfo) error { - case isOCI1Layer(mimeType): - m.Layers[i].MediaType = imgspecv1.MediaTypeImageLayerGzip - default: -- return fmt.Errorf("Error preparing updated manifest: unsupported media type for compression: %q", original[i].MediaType) -+ return fmt.Errorf("Error preparing updated manifest: unsupported media type for compression: %q", mimeType) - } - - case compression.Zstd.Name(): -@@ -185,7 +194,7 @@ func (m *OCI1) UpdateLayerInfos(layerInfos []types.BlobInfo) error { - case isOCI1Layer(mimeType): - m.Layers[i].MediaType = imgspecv1.MediaTypeImageLayerZstd - default: -- return fmt.Errorf("Error preparing updated manifest: unsupported media type for compression: %q", original[i].MediaType) -+ return fmt.Errorf("Error preparing updated manifest: unsupported media type for compression: %q", mimeType) - } - - default: -@@ -195,6 +204,15 @@ func (m *OCI1) UpdateLayerInfos(layerInfos []types.BlobInfo) error { - default: - return fmt.Errorf("Error preparing updated manifest: unknown compression operation (%d) for layer %q", info.CompressionOperation, info.Digest) - } -+ -+ if info.CryptoOperation == types.Encrypt { -+ encMediaType, err := getEncryptedMediaType(m.Layers[i].MediaType) -+ if err != nil { -+ return fmt.Errorf("error preparing updated manifest: encryption specified but no counterpart for mediatype: %q", m.Layers[i].MediaType) -+ } -+ m.Layers[i].MediaType = encMediaType -+ } -+ - m.Layers[i].Digest = info.Digest - m.Layers[i].Size = info.Size - m.Layers[i].Annotations = info.Annotations -@@ -220,7 +238,9 @@ func (m *OCI1) Inspect(configGetter func(types.BlobInfo) ([]byte, error)) (*type - return nil, err - } - d1 := &Schema2V1Image{} -- json.Unmarshal(config, d1) -+ if err := json.Unmarshal(config, d1); err != nil { -+ return nil, err -+ } - i := &types.ImageInspectInfo{ - Tag: "", - Created: v1.Created, -@@ -241,3 +261,30 @@ func (m *OCI1) ImageID([]digest.Digest) (string, error) { - } - return m.Config.Digest.Hex(), nil - } -+ -+// getEncryptedMediaType will return the mediatype to its encrypted counterpart and return -+// an error if the mediatype does not support encryption -+func getEncryptedMediaType(mediatype string) (string, error) { -+ for _, s := range strings.Split(mediatype, "+")[1:] { -+ if s == "encrypted" { -+ return "", errors.Errorf("unsupportedmediatype: %v already encrypted", mediatype) -+ } -+ } -+ unsuffixedMediatype := strings.Split(mediatype, "+")[0] -+ switch unsuffixedMediatype { -+ case DockerV2Schema2LayerMediaType, imgspecv1.MediaTypeImageLayer, imgspecv1.MediaTypeImageLayerNonDistributable: -+ return mediatype + "+encrypted", nil -+ } -+ -+ return "", errors.Errorf("unsupported mediatype to encrypt: %v", mediatype) -+} -+ -+// getEncryptedMediaType will return the mediatype to its encrypted counterpart and return -+// an error if the mediatype does not support decryption -+func getDecryptedMediaType(mediatype string) (string, error) { -+ if !strings.HasSuffix(mediatype, "+encrypted") { -+ return "", errors.Errorf("unsupported mediatype to decrypt %v:", mediatype) -+ } -+ -+ return strings.TrimSuffix(mediatype, "+encrypted"), nil -+} -diff --git a/vendor/github.com/containers/image/v5/oci/archive/oci_dest.go b/vendor/github.com/containers/image/v5/oci/archive/oci_dest.go -index 164d5522d..0509eaa83 100644 ---- a/vendor/github.com/containers/image/v5/oci/archive/oci_dest.go -+++ b/vendor/github.com/containers/image/v5/oci/archive/oci_dest.go -@@ -9,6 +9,7 @@ import ( - "github.com/containers/storage/pkg/archive" - digest "github.com/opencontainers/go-digest" - "github.com/pkg/errors" -+ "github.com/sirupsen/logrus" - ) - - type ociArchiveImageDestination struct { -@@ -19,7 +20,7 @@ type ociArchiveImageDestination struct { - - // newImageDestination returns an ImageDestination for writing to an existing directory. - func newImageDestination(ctx context.Context, sys *types.SystemContext, ref ociArchiveReference) (types.ImageDestination, error) { -- tempDirRef, err := createOCIRef(ref.image) -+ tempDirRef, err := createOCIRef(sys, ref.image) - if err != nil { - return nil, errors.Wrapf(err, "error creating oci reference") - } -@@ -43,7 +44,10 @@ func (d *ociArchiveImageDestination) Reference() types.ImageReference { - // Close removes resources associated with an initialized ImageDestination, if any - // Close deletes the temp directory of the oci-archive image - func (d *ociArchiveImageDestination) Close() error { -- defer d.tempDirRef.deleteTempDir() -+ defer func() { -+ err := d.tempDirRef.deleteTempDir() -+ logrus.Debugf("Error deleting temporary directory: %v", err) -+ }() - return d.unpackedDest.Close() - } - -@@ -66,7 +70,7 @@ func (d *ociArchiveImageDestination) AcceptsForeignLayerURLs() bool { - return d.unpackedDest.AcceptsForeignLayerURLs() - } - --// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise -+// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise - func (d *ociArchiveImageDestination) MustMatchRuntimeOS() bool { - return d.unpackedDest.MustMatchRuntimeOS() - } -diff --git a/vendor/github.com/containers/image/v5/oci/archive/oci_src.go b/vendor/github.com/containers/image/v5/oci/archive/oci_src.go -index 33a41d44b..8f07b3307 100644 ---- a/vendor/github.com/containers/image/v5/oci/archive/oci_src.go -+++ b/vendor/github.com/containers/image/v5/oci/archive/oci_src.go -@@ -9,6 +9,7 @@ import ( - digest "github.com/opencontainers/go-digest" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "github.com/pkg/errors" -+ "github.com/sirupsen/logrus" - ) - - type ociArchiveImageSource struct { -@@ -20,7 +21,7 @@ type ociArchiveImageSource struct { - // newImageSource returns an ImageSource for reading from an existing directory. - // newImageSource untars the file and saves it in a temp directory - func newImageSource(ctx context.Context, sys *types.SystemContext, ref ociArchiveReference) (types.ImageSource, error) { -- tempDirRef, err := createUntarTempDir(ref) -+ tempDirRef, err := createUntarTempDir(sys, ref) - if err != nil { - return nil, errors.Wrap(err, "error creating temp directory") - } -@@ -38,16 +39,25 @@ func newImageSource(ctx context.Context, sys *types.SystemContext, ref ociArchiv - } - - // LoadManifestDescriptor loads the manifest -+// Deprecated: use LoadManifestDescriptorWithContext instead - func LoadManifestDescriptor(imgRef types.ImageReference) (imgspecv1.Descriptor, error) { -+ return LoadManifestDescriptorWithContext(nil, imgRef) -+} -+ -+// LoadManifestDescriptorWithContext loads the manifest -+func LoadManifestDescriptorWithContext(sys *types.SystemContext, imgRef types.ImageReference) (imgspecv1.Descriptor, error) { - ociArchRef, ok := imgRef.(ociArchiveReference) - if !ok { - return imgspecv1.Descriptor{}, errors.Errorf("error typecasting, need type ociArchiveReference") - } -- tempDirRef, err := createUntarTempDir(ociArchRef) -+ tempDirRef, err := createUntarTempDir(sys, ociArchRef) - if err != nil { - return imgspecv1.Descriptor{}, errors.Wrap(err, "error creating temp directory") - } -- defer tempDirRef.deleteTempDir() -+ defer func() { -+ err := tempDirRef.deleteTempDir() -+ logrus.Debugf("Error deleting temporary directory: %v", err) -+ }() - - descriptor, err := ocilayout.LoadManifestDescriptor(tempDirRef.ociRefExtracted) - if err != nil { -@@ -64,7 +74,10 @@ func (s *ociArchiveImageSource) Reference() types.ImageReference { - // Close removes resources associated with an initialized ImageSource, if any. - // Close deletes the temporary directory at dst - func (s *ociArchiveImageSource) Close() error { -- defer s.tempDirRef.deleteTempDir() -+ defer func() { -+ err := s.tempDirRef.deleteTempDir() -+ logrus.Debugf("error deleting tmp dir: %v", err) -+ }() - return s.unpackedSrc.Close() - } - -diff --git a/vendor/github.com/containers/image/v5/oci/archive/oci_transport.go b/vendor/github.com/containers/image/v5/oci/archive/oci_transport.go -index 2d72a6fee..3033b4a27 100644 ---- a/vendor/github.com/containers/image/v5/oci/archive/oci_transport.go -+++ b/vendor/github.com/containers/image/v5/oci/archive/oci_transport.go -@@ -96,7 +96,7 @@ func (ref ociArchiveReference) PolicyConfigurationIdentity() string { - // NOTE: ref.image is not a part of the image identity, because "$dir:$someimage" and "$dir:" may mean the - // same image and the two can’t be statically disambiguated. Using at least the repository directory is - // less granular but hopefully still useful. -- return fmt.Sprintf("%s", ref.resolvedFile) -+ return ref.resolvedFile - } - - // PolicyConfigurationNamespaces returns a list of other policy configuration namespaces to search -@@ -159,8 +159,9 @@ func (t *tempDirOCIRef) deleteTempDir() error { - } - - // createOCIRef creates the oci reference of the image --func createOCIRef(image string) (tempDirOCIRef, error) { -- dir, err := ioutil.TempDir(tmpdir.TemporaryDirectoryForBigFiles(), "oci") -+// If SystemContext.BigFilesTemporaryDir not "", overrides the temporary directory to use for storing big files -+func createOCIRef(sys *types.SystemContext, image string) (tempDirOCIRef, error) { -+ dir, err := ioutil.TempDir(tmpdir.TemporaryDirectoryForBigFiles(sys), "oci") - if err != nil { - return tempDirOCIRef{}, errors.Wrapf(err, "error creating temp directory") - } -@@ -174,8 +175,8 @@ func createOCIRef(image string) (tempDirOCIRef, error) { - } - - // creates the temporary directory and copies the tarred content to it --func createUntarTempDir(ref ociArchiveReference) (tempDirOCIRef, error) { -- tempDirRef, err := createOCIRef(ref.image) -+func createUntarTempDir(sys *types.SystemContext, ref ociArchiveReference) (tempDirOCIRef, error) { -+ tempDirRef, err := createOCIRef(sys, ref.image) - if err != nil { - return tempDirOCIRef{}, errors.Wrap(err, "error creating oci reference") - } -diff --git a/vendor/github.com/containers/image/v5/oci/layout/oci_dest.go b/vendor/github.com/containers/image/v5/oci/layout/oci_dest.go -index 370e8d2cd..fb0449ca5 100644 ---- a/vendor/github.com/containers/image/v5/oci/layout/oci_dest.go -+++ b/vendor/github.com/containers/image/v5/oci/layout/oci_dest.go -@@ -97,7 +97,7 @@ func (d *ociImageDestination) AcceptsForeignLayerURLs() bool { - return true - } - --// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise. -+// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise. - func (d *ociImageDestination) MustMatchRuntimeOS() bool { - return false - } -diff --git a/vendor/github.com/containers/image/v5/oci/layout/oci_transport.go b/vendor/github.com/containers/image/v5/oci/layout/oci_transport.go -index c662c9a7a..a99b63158 100644 ---- a/vendor/github.com/containers/image/v5/oci/layout/oci_transport.go -+++ b/vendor/github.com/containers/image/v5/oci/layout/oci_transport.go -@@ -124,7 +124,7 @@ func (ref ociReference) PolicyConfigurationIdentity() string { - // NOTE: ref.image is not a part of the image identity, because "$dir:$someimage" and "$dir:" may mean the - // same image and the two can’t be statically disambiguated. Using at least the repository directory is - // less granular but hopefully still useful. -- return fmt.Sprintf("%s", ref.resolvedDir) -+ return ref.resolvedDir - } - - // PolicyConfigurationNamespaces returns a list of other policy configuration namespaces to search -diff --git a/vendor/github.com/containers/image/v5/openshift/openshift-copies.go b/vendor/github.com/containers/image/v5/openshift/openshift-copies.go -index f45dc24c4..585b75069 100644 ---- a/vendor/github.com/containers/image/v5/openshift/openshift-copies.go -+++ b/vendor/github.com/containers/image/v5/openshift/openshift-copies.go -@@ -19,6 +19,7 @@ import ( - "github.com/ghodss/yaml" - "github.com/imdario/mergo" - "github.com/pkg/errors" -+ "github.com/sirupsen/logrus" - "golang.org/x/net/http2" - "k8s.io/client-go/util/homedir" - ) -@@ -137,9 +138,8 @@ func (config *deferredLoadingClientConfig) createClientConfig() (clientConfig, e - return nil, err - } - -- var mergedClientConfig clientConfig - // REMOVED: Interactive fallback support. -- mergedClientConfig = newNonInteractiveClientConfig(*mergedConfig) -+ mergedClientConfig := newNonInteractiveClientConfig(*mergedConfig) - - config.clientConfig = mergedClientConfig - } -@@ -210,13 +210,17 @@ func (config *directClientConfig) ClientConfig() (*restConfig, error) { - if err != nil { - return nil, err - } -- mergo.MergeWithOverwrite(clientConfig, userAuthPartialConfig) -+ if err = mergo.MergeWithOverwrite(clientConfig, userAuthPartialConfig); err != nil { -+ return nil, err -+ } - - serverAuthPartialConfig, err := getServerIdentificationPartialConfig(configAuthInfo, configClusterInfo) - if err != nil { - return nil, err - } -- mergo.MergeWithOverwrite(clientConfig, serverAuthPartialConfig) -+ if err = mergo.MergeWithOverwrite(clientConfig, serverAuthPartialConfig); err != nil { -+ return nil, err -+ } - } - - return clientConfig, nil -@@ -237,7 +241,9 @@ func getServerIdentificationPartialConfig(configAuthInfo clientcmdAuthInfo, conf - configClientConfig.CAFile = configClusterInfo.CertificateAuthority - configClientConfig.CAData = configClusterInfo.CertificateAuthorityData - configClientConfig.Insecure = configClusterInfo.InsecureSkipTLSVerify -- mergo.MergeWithOverwrite(mergedConfig, configClientConfig) -+ if err := mergo.MergeWithOverwrite(mergedConfig, configClientConfig); err != nil { -+ return nil, err -+ } - - return mergedConfig, nil - } -@@ -272,14 +278,6 @@ func getUserIdentificationPartialConfig(configAuthInfo clientcmdAuthInfo) (*rest - return mergedConfig, nil - } - --// canIdentifyUser is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd.canIdentifyUser --func canIdentifyUser(config restConfig) bool { -- return len(config.Username) > 0 || -- (len(config.CertFile) > 0 || len(config.CertData) > 0) || -- len(config.BearerToken) > 0 -- --} -- - // ConfirmUsable is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd.DirectClientConfig.ConfirmUsable. - // ConfirmUsable looks a particular context and determines if that particular part of the config is useable. There might still be errors in the config, - // but no errors in the sections requested or referenced. It does not return early so that it can find as many errors as possible. -@@ -320,7 +318,9 @@ func (config *directClientConfig) getContext() clientcmdContext { - - var mergedContext clientcmdContext - if configContext, exists := contexts[contextName]; exists { -- mergo.MergeWithOverwrite(&mergedContext, configContext) -+ if err := mergo.MergeWithOverwrite(&mergedContext, configContext); err != nil { -+ logrus.Debugf("Can't merge configContext: %v", err) -+ } - } - // REMOVED: overrides support - -@@ -333,6 +333,17 @@ var ( - errEmptyCluster = errors.New("cluster has no server defined") - ) - -+//helper for checking certificate/key/CA -+func validateFileIsReadable(name string) error { -+ answer, err := os.Open(name) -+ defer func() { -+ if err := answer.Close(); err != nil { -+ logrus.Debugf("Error closing %v: %v", name, err) -+ } -+ }() -+ return err -+} -+ - // validateClusterInfo is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd.DirectClientConfig.validateClusterInfo. - // validateClusterInfo looks for conflicts and errors in the cluster info - func validateClusterInfo(clusterName string, clusterInfo clientcmdCluster) []error { -@@ -354,8 +365,7 @@ func validateClusterInfo(clusterName string, clusterInfo clientcmdCluster) []err - validationErrors = append(validationErrors, errors.Errorf("certificate-authority-data and certificate-authority are both specified for %v. certificate-authority-data will override", clusterName)) - } - if len(clusterInfo.CertificateAuthority) != 0 { -- clientCertCA, err := os.Open(clusterInfo.CertificateAuthority) -- defer clientCertCA.Close() -+ err := validateFileIsReadable(clusterInfo.CertificateAuthority) - if err != nil { - validationErrors = append(validationErrors, errors.Errorf("unable to read certificate-authority %v for %v due to %v", clusterInfo.CertificateAuthority, clusterName, err)) - } -@@ -393,15 +403,13 @@ func validateAuthInfo(authInfoName string, authInfo clientcmdAuthInfo) []error { - } - - if len(authInfo.ClientCertificate) != 0 { -- clientCertFile, err := os.Open(authInfo.ClientCertificate) -- defer clientCertFile.Close() -+ err := validateFileIsReadable(authInfo.ClientCertificate) - if err != nil { - validationErrors = append(validationErrors, errors.Errorf("unable to read client-cert %v for %v due to %v", authInfo.ClientCertificate, authInfoName, err)) - } - } - if len(authInfo.ClientKey) != 0 { -- clientKeyFile, err := os.Open(authInfo.ClientKey) -- defer clientKeyFile.Close() -+ err := validateFileIsReadable(authInfo.ClientKey) - if err != nil { - validationErrors = append(validationErrors, errors.Errorf("unable to read client-key %v for %v due to %v", authInfo.ClientKey, authInfoName, err)) - } -@@ -423,7 +431,9 @@ func (config *directClientConfig) getAuthInfo() clientcmdAuthInfo { - - var mergedAuthInfo clientcmdAuthInfo - if configAuthInfo, exists := authInfos[authInfoName]; exists { -- mergo.MergeWithOverwrite(&mergedAuthInfo, configAuthInfo) -+ if err := mergo.MergeWithOverwrite(&mergedAuthInfo, configAuthInfo); err != nil { -+ logrus.Debugf("Can't merge configAuthInfo: %v", err) -+ } - } - // REMOVED: overrides support - -@@ -436,10 +446,16 @@ func (config *directClientConfig) getCluster() clientcmdCluster { - clusterInfoName := config.getClusterName() - - var mergedClusterInfo clientcmdCluster -- mergo.MergeWithOverwrite(&mergedClusterInfo, defaultCluster) -- mergo.MergeWithOverwrite(&mergedClusterInfo, envVarCluster) -+ if err := mergo.MergeWithOverwrite(&mergedClusterInfo, defaultCluster); err != nil { -+ logrus.Debugf("Can't merge defaultCluster: %v", err) -+ } -+ if err := mergo.MergeWithOverwrite(&mergedClusterInfo, envVarCluster); err != nil { -+ logrus.Debugf("Can't merge envVarCluster: %v", err) -+ } - if configClusterInfo, exists := clusterInfos[clusterInfoName]; exists { -- mergo.MergeWithOverwrite(&mergedClusterInfo, configClusterInfo) -+ if err := mergo.MergeWithOverwrite(&mergedClusterInfo, configClusterInfo); err != nil { -+ logrus.Debugf("Can't merge configClusterInfo: %v", err) -+ } - } - // REMOVED: overrides support - -@@ -573,7 +589,9 @@ func (rules *clientConfigLoadingRules) Load() (*clientcmdConfig, error) { - // first merge all of our maps - mapConfig := clientcmdNewConfig() - for _, kubeconfig := range kubeconfigs { -- mergo.MergeWithOverwrite(mapConfig, kubeconfig) -+ if err := mergo.MergeWithOverwrite(mapConfig, kubeconfig); err != nil { -+ return nil, err -+ } - } - - // merge all of the struct values in the reverse order so that priority is given correctly -@@ -581,14 +599,20 @@ func (rules *clientConfigLoadingRules) Load() (*clientcmdConfig, error) { - nonMapConfig := clientcmdNewConfig() - for i := len(kubeconfigs) - 1; i >= 0; i-- { - kubeconfig := kubeconfigs[i] -- mergo.MergeWithOverwrite(nonMapConfig, kubeconfig) -+ if err := mergo.MergeWithOverwrite(nonMapConfig, kubeconfig); err != nil { -+ return nil, err -+ } - } - - // since values are overwritten, but maps values are not, we can merge the non-map config on top of the map config and - // get the values we expect. - config := clientcmdNewConfig() -- mergo.MergeWithOverwrite(config, mapConfig) -- mergo.MergeWithOverwrite(config, nonMapConfig) -+ if err := mergo.MergeWithOverwrite(config, mapConfig); err != nil { -+ return nil, err -+ } -+ if err := mergo.MergeWithOverwrite(config, nonMapConfig); err != nil { -+ return nil, err -+ } - - // REMOVED: Possibility to skip this. - if err := resolveLocalPaths(config); err != nil { -diff --git a/vendor/github.com/containers/image/v5/openshift/openshift.go b/vendor/github.com/containers/image/v5/openshift/openshift.go -index c37e1b751..28bfc456d 100644 ---- a/vendor/github.com/containers/image/v5/openshift/openshift.go -+++ b/vendor/github.com/containers/image/v5/openshift/openshift.go -@@ -378,7 +378,7 @@ func (d *openshiftImageDestination) AcceptsForeignLayerURLs() bool { - return true - } - --// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise. -+// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise. - func (d *openshiftImageDestination) MustMatchRuntimeOS() bool { - return false - } -@@ -491,6 +491,9 @@ sigExists: - Content: newSig, - } - body, err := json.Marshal(sig) -+ if err != nil { -+ return err -+ } - _, err = d.client.doRequest(ctx, "POST", "/oapi/v1/imagesignatures", body) - if err != nil { - return err -diff --git a/vendor/github.com/containers/image/v5/ostree/ostree_dest.go b/vendor/github.com/containers/image/v5/ostree/ostree_dest.go -index c442b4d2e..115097055 100644 ---- a/vendor/github.com/containers/image/v5/ostree/ostree_dest.go -+++ b/vendor/github.com/containers/image/v5/ostree/ostree_dest.go -@@ -120,7 +120,7 @@ func (d *ostreeImageDestination) AcceptsForeignLayerURLs() bool { - return false - } - --// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise. -+// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise. - func (d *ostreeImageDestination) MustMatchRuntimeOS() bool { - return true - } -diff --git a/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/system_registries_v2.go b/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/system_registries_v2.go -index ff802cefd..60d67dfdc 100644 ---- a/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/system_registries_v2.go -+++ b/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/system_registries_v2.go -@@ -275,7 +275,10 @@ func (config *V2RegistriesConf) postProcess() error { - // Note: we need to iterate over the registries array to ensure a - // deterministic behavior which is not guaranteed by maps. - for _, reg := range config.Registries { -- others, _ := regMap[reg.Location] -+ others, ok := regMap[reg.Location] -+ if !ok { -+ return fmt.Errorf("Internal error in V2RegistriesConf.PostProcess: entry in regMap is missing") -+ } - for _, other := range others { - if reg.Insecure != other.Insecure { - msg := fmt.Sprintf("registry '%s' is defined multiple times with conflicting 'insecure' setting", reg.Location) -diff --git a/vendor/github.com/containers/image/v5/pkg/tlsclientconfig/tlsclientconfig.go b/vendor/github.com/containers/image/v5/pkg/tlsclientconfig/tlsclientconfig.go -index 6785564e8..7e2142b1f 100644 ---- a/vendor/github.com/containers/image/v5/pkg/tlsclientconfig/tlsclientconfig.go -+++ b/vendor/github.com/containers/image/v5/pkg/tlsclientconfig/tlsclientconfig.go -@@ -99,14 +99,13 @@ func NewTransport() *http.Transport { - } - tr := &http.Transport{ - Proxy: http.ProxyFromEnvironment, -- Dial: direct.Dial, -+ DialContext: direct.DialContext, - TLSHandshakeTimeout: 10 * time.Second, - // TODO(dmcgowan): Call close idle connections when complete and use keep alive - DisableKeepAlives: true, - } -- proxyDialer, err := sockets.DialerFromEnvironment(direct) -- if err == nil { -- tr.Dial = proxyDialer.Dial -+ if _, err := sockets.DialerFromEnvironment(direct); err != nil { -+ logrus.Debugf("Can't execute DialerFromEnvironment: %v", err) - } - return tr - } -diff --git a/vendor/github.com/containers/image/v5/signature/mechanism_gpgme.go b/vendor/github.com/containers/image/v5/signature/mechanism_gpgme.go -index 4825ab27c..277fba16b 100644 ---- a/vendor/github.com/containers/image/v5/signature/mechanism_gpgme.go -+++ b/vendor/github.com/containers/image/v5/signature/mechanism_gpgme.go -@@ -139,7 +139,7 @@ func (m *gpgmeSigningMechanism) Sign(input []byte, keyIdentity string) ([]byte, - } - - // Verify parses unverifiedSignature and returns the content and the signer's identity --func (m gpgmeSigningMechanism) Verify(unverifiedSignature []byte) (contents []byte, keyIdentity string, err error) { -+func (m *gpgmeSigningMechanism) Verify(unverifiedSignature []byte) (contents []byte, keyIdentity string, err error) { - signedBuffer := bytes.Buffer{} - signedData, err := gpgme.NewDataWriter(&signedBuffer) - if err != nil { -@@ -170,6 +170,6 @@ func (m gpgmeSigningMechanism) Verify(unverifiedSignature []byte) (contents []by - // WARNING: The short key identifier (which correponds to "Key ID" for OpenPGP keys) - // is NOT the same as a "key identity" used in other calls ot this interface, and - // the values may have no recognizable relationship if the public key is not available. --func (m gpgmeSigningMechanism) UntrustedSignatureContents(untrustedSignature []byte) (untrustedContents []byte, shortKeyIdentifier string, err error) { -+func (m *gpgmeSigningMechanism) UntrustedSignatureContents(untrustedSignature []byte) (untrustedContents []byte, shortKeyIdentifier string, err error) { - return gpgUntrustedSignatureContents(untrustedSignature) - } -diff --git a/vendor/github.com/containers/image/v5/signature/mechanism_openpgp.go b/vendor/github.com/containers/image/v5/signature/mechanism_openpgp.go -index eccd610c9..51f20f310 100644 ---- a/vendor/github.com/containers/image/v5/signature/mechanism_openpgp.go -+++ b/vendor/github.com/containers/image/v5/signature/mechanism_openpgp.go -@@ -154,6 +154,6 @@ func (m *openpgpSigningMechanism) Verify(unverifiedSignature []byte) (contents [ - // WARNING: The short key identifier (which correponds to "Key ID" for OpenPGP keys) - // is NOT the same as a "key identity" used in other calls ot this interface, and - // the values may have no recognizable relationship if the public key is not available. --func (m openpgpSigningMechanism) UntrustedSignatureContents(untrustedSignature []byte) (untrustedContents []byte, shortKeyIdentifier string, err error) { -+func (m *openpgpSigningMechanism) UntrustedSignatureContents(untrustedSignature []byte) (untrustedContents []byte, shortKeyIdentifier string, err error) { - return gpgUntrustedSignatureContents(untrustedSignature) - } -diff --git a/vendor/github.com/containers/image/v5/signature/policy_eval.go b/vendor/github.com/containers/image/v5/signature/policy_eval.go -index e94de2a9c..a1fb1eebb 100644 ---- a/vendor/github.com/containers/image/v5/signature/policy_eval.go -+++ b/vendor/github.com/containers/image/v5/signature/policy_eval.go -@@ -85,7 +85,6 @@ type PolicyContext struct { - type policyContextState string - - const ( -- pcInvalid policyContextState = "" - pcInitializing policyContextState = "Initializing" - pcReady policyContextState = "Ready" - pcInUse policyContextState = "InUse" -diff --git a/vendor/github.com/containers/image/v5/signature/signature.go b/vendor/github.com/containers/image/v5/signature/signature.go -index 44e70b3b9..bc1c0e575 100644 ---- a/vendor/github.com/containers/image/v5/signature/signature.go -+++ b/vendor/github.com/containers/image/v5/signature/signature.go -@@ -111,8 +111,8 @@ var _ json.Unmarshaler = (*untrustedSignature)(nil) - func (s *untrustedSignature) UnmarshalJSON(data []byte) error { - err := s.strictUnmarshalJSON(data) - if err != nil { -- if _, ok := err.(jsonFormatError); ok { -- err = InvalidSignatureError{msg: err.Error()} -+ if formatErr, ok := err.(jsonFormatError); ok { -+ err = InvalidSignatureError{msg: formatErr.Error()} - } - } - return err -diff --git a/vendor/github.com/containers/image/v5/storage/storage_image.go b/vendor/github.com/containers/image/v5/storage/storage_image.go -index 2b89f329f..df4b67c7a 100644 ---- a/vendor/github.com/containers/image/v5/storage/storage_image.go -+++ b/vendor/github.com/containers/image/v5/storage/storage_image.go -@@ -147,7 +147,8 @@ func (s *storageImageSource) getBlobAndLayerID(info types.BlobInfo) (rc io.ReadC - // Check if the blob corresponds to a diff that was used to initialize any layers. Our - // callers should try to retrieve layers using their uncompressed digests, so no need to - // check if they're using one of the compressed digests, which we can't reproduce anyway. -- layers, err := s.imageRef.transport.store.LayersByUncompressedDigest(info.Digest) -+ layers, _ := s.imageRef.transport.store.LayersByUncompressedDigest(info.Digest) -+ - // If it's not a layer, then it must be a data item. - if len(layers) == 0 { - b, err := s.imageRef.transport.store.ImageBigData(s.image.ID, info.Digest.String()) -@@ -341,8 +342,8 @@ func (s *storageImageSource) GetSignatures(ctx context.Context, instanceDigest * - - // newImageDestination sets us up to write a new image, caching blobs in a temporary directory until - // it's time to Commit() the image --func newImageDestination(imageRef storageReference) (*storageImageDestination, error) { -- directory, err := ioutil.TempDir(tmpdir.TemporaryDirectoryForBigFiles(), "storage") -+func newImageDestination(sys *types.SystemContext, imageRef storageReference) (*storageImageDestination, error) { -+ directory, err := ioutil.TempDir(tmpdir.TemporaryDirectoryForBigFiles(sys), "storage") - if err != nil { - return nil, errors.Wrapf(err, "error creating a temporary directory") - } -@@ -930,7 +931,7 @@ func (s *storageImageDestination) AcceptsForeignLayerURLs() bool { - return false - } - --// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise. -+// MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise. - func (s *storageImageDestination) MustMatchRuntimeOS() bool { - return true - } -diff --git a/vendor/github.com/containers/image/v5/storage/storage_reference.go b/vendor/github.com/containers/image/v5/storage/storage_reference.go -index 4e137ad1b..5199fb535 100644 ---- a/vendor/github.com/containers/image/v5/storage/storage_reference.go -+++ b/vendor/github.com/containers/image/v5/storage/storage_reference.go -@@ -93,6 +93,9 @@ func imageMatchesSystemContext(store storage.Store, img *storage.Image, manifest - } - // Load the image's configuration blob. - m, err := manifest.FromBlob(manifestBytes, manifestType) -+ if err != nil { -+ return false -+ } - getConfig := func(blobInfo types.BlobInfo) ([]byte, error) { - return store.ImageBigData(img.ID, blobInfo.Digest.String()) - } -@@ -295,5 +298,5 @@ func (s storageReference) NewImageSource(ctx context.Context, sys *types.SystemC - } - - func (s storageReference) NewImageDestination(ctx context.Context, sys *types.SystemContext) (types.ImageDestination, error) { -- return newImageDestination(s) -+ return newImageDestination(sys, s) - } -diff --git a/vendor/github.com/containers/image/v5/types/types.go b/vendor/github.com/containers/image/v5/types/types.go -index 2db8c7827..ba249ca25 100644 ---- a/vendor/github.com/containers/image/v5/types/types.go -+++ b/vendor/github.com/containers/image/v5/types/types.go -@@ -104,6 +104,19 @@ const ( - Compress - ) - -+// LayerCrypto indicates if layers have been encrypted or decrypted or none -+type LayerCrypto int -+ -+const ( -+ // PreserveOriginalCrypto indicates the layer must be preserved, ie -+ // no encryption/decryption -+ PreserveOriginalCrypto LayerCrypto = iota -+ // Encrypt indicates the layer is encrypted -+ Encrypt -+ // Decrypt indicates the layer is decrypted -+ Decrypt -+) -+ - // BlobInfo collects known information about a blob (layer/config). - // In some situations, some fields may be unknown, in others they may be mandatory; documenting an “unknown” value here does not override that. - type BlobInfo struct { -@@ -115,11 +128,18 @@ type BlobInfo struct { - // CompressionOperation is used in Image.UpdateLayerInfos to instruct - // whether the original layer should be preserved or (de)compressed. The - // field defaults to preserve the original layer. -+ // TODO: To remove together with CryptoOperation in re-design to remove -+ // field out out of BlobInfo. - CompressionOperation LayerCompression - // CompressionAlgorithm is used in Image.UpdateLayerInfos to set the correct - // MIME type for compressed layers (e.g., gzip or zstd). This field MUST be - // set when `CompressionOperation == Compress`. - CompressionAlgorithm *compression.Algorithm -+ // CryptoOperation is used in Image.UpdateLayerInfos to instruct -+ // whether the original layer was encrypted/decrypted -+ // TODO: To remove together with CompressionOperation in re-design to -+ // remove field out out of BlobInfo. -+ CryptoOperation LayerCrypto - } - - // BICTransportScope encapsulates transport-dependent representation of a “scope” where blobs are or are not present. -@@ -264,7 +284,7 @@ type ImageDestination interface { - // AcceptsForeignLayerURLs returns false iff foreign layers in manifest should be actually - // uploaded to the image destination, true otherwise. - AcceptsForeignLayerURLs() bool -- // MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime OS. False otherwise. -+ // MustMatchRuntimeOS returns true iff the destination can store only images targeted for the current runtime architecture and OS. False otherwise. - MustMatchRuntimeOS() bool - // IgnoresEmbeddedDockerReference() returns true iff the destination does not care about Image.EmbeddedDockerReferenceConflicts(), - // and would prefer to receive an unmodified manifest instead of one modified for the destination. -@@ -378,6 +398,8 @@ type Image interface { - // Everything in options.InformationOnly should be provided, other fields should be set only if a modification is desired. - // This does not change the state of the original Image object. - UpdatedImage(ctx context.Context, options ManifestUpdateOptions) (Image, error) -+ // SupportsEncryption returns an indicator that the image supports encryption -+ SupportsEncryption(ctx context.Context) bool - // Size returns an approximation of the amount of disk space which is consumed by the image in its current - // location. If the size is not known, -1 will be returned. - Size() (int64, error) -@@ -448,7 +470,7 @@ const ( - // OptionalBoolFalse. The function is meant to avoid boilerplate code of users. - func NewOptionalBool(b bool) OptionalBool { - o := OptionalBoolFalse -- if b == true { -+ if b { - o = OptionalBoolTrue - } - return o -@@ -490,9 +512,10 @@ type SystemContext struct { - OSChoice string - // If not "", overrides the system's default directory containing a blob info cache. - BlobInfoCacheDir string -- - // Additional tags when creating or copying a docker-archive. - DockerArchiveAdditionalTags []reference.NamedTagged -+ // If not "", overrides the temporary directory to use for storing big files -+ BigFilesTemporaryDir string - - // === OCI.Transport overrides === - // If not "", a directory containing a CA certificate (ending with ".crt"), -@@ -524,6 +547,8 @@ type SystemContext struct { - // Note that this field is used mainly to integrate containers/image into projectatomic/docker - // in order to not break any existing docker's integration tests. - DockerDisableV1Ping bool -+ // If true, dockerImageDestination.SupportedManifestMIMETypes will omit the Schema1 media types from the supported list -+ DockerDisableDestSchema1MIMETypes bool - // Directory to use for OSTree temporary files - OSTreeTmpDirPath string - -@@ -547,9 +572,37 @@ type SystemContext struct { - CompressionLevel *int - } - -+// ProgressEvent is the type of events a progress reader can produce -+// Warning: new event types may be added any time. -+type ProgressEvent uint -+ -+const ( -+ // ProgressEventNewArtifact will be fired on progress reader setup -+ ProgressEventNewArtifact ProgressEvent = iota -+ -+ // ProgressEventRead indicates that the artifact download is currently in -+ // progress -+ ProgressEventRead -+ -+ // ProgressEventDone is fired when the data transfer has been finished for -+ // the specific artifact -+ ProgressEventDone -+) -+ - // ProgressProperties is used to pass information from the copy code to a monitor which - // can use the real-time information to produce output or react to changes. - type ProgressProperties struct { -+ // The event indicating what -+ Event ProgressEvent -+ -+ // The artifact which has been updated in this interval - Artifact BlobInfo -- Offset uint64 -+ -+ // The currently downloaded size in bytes -+ // Increases from 0 to the final Artifact size -+ Offset uint64 -+ -+ // The additional offset which has been downloaded inside the last update -+ // interval. Will be reset after each ProgressEventRead event. -+ OffsetUpdate uint64 - } -diff --git a/vendor/github.com/containers/image/v5/version/version.go b/vendor/github.com/containers/image/v5/version/version.go -index 572be2b89..0fd7a4a37 100644 ---- a/vendor/github.com/containers/image/v5/version/version.go -+++ b/vendor/github.com/containers/image/v5/version/version.go -@@ -6,9 +6,9 @@ const ( - // VersionMajor is for an API incompatible changes - VersionMajor = 5 - // VersionMinor is for functionality in a backwards-compatible manner -- VersionMinor = 0 -+ VersionMinor = 2 - // VersionPatch is for backwards-compatible bug fixes -- VersionPatch = 0 -+ VersionPatch = 1 - - // VersionDev indicates development branch. Releases will be empty string. - VersionDev = "" -diff --git a/vendor/github.com/containers/ocicrypt/MAINTAINERS b/vendor/github.com/containers/ocicrypt/MAINTAINERS -new file mode 100644 -index 000000000..e6a7d1f0a ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/MAINTAINERS -@@ -0,0 +1,5 @@ -+# ocicrypt maintainers -+# -+# Github ID, Name, Email Address -+lumjjb, Brandon Lum, lumjjb@gmail.com -+stefanberger, Stefan Berger, stefanb@linux.ibm.com -diff --git a/vendor/github.com/containers/ocicrypt/Makefile b/vendor/github.com/containers/ocicrypt/Makefile -new file mode 100644 -index 000000000..49fa80d74 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/Makefile -@@ -0,0 +1,31 @@ -+# Copyright The containerd Authors. -+ -+# 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. -+ -+.PHONY: check build decoder -+ -+all: build -+ -+FORCE: -+ -+check: -+ golangci-lint run -+ -+build: vendor -+ go build ./... -+ -+vendor: -+ go mod tidy -+ -+test: -+ go test ./... -diff --git a/vendor/github.com/containers/ocicrypt/README.md b/vendor/github.com/containers/ocicrypt/README.md -new file mode 100644 -index 000000000..ec5ae5b35 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/README.md -@@ -0,0 +1,32 @@ -+# OCIcrypt Library -+ -+The `ocicrypt` library is the OCI image spec implementation of container image encryption. More details of the spec can be seen in the [OCI repository](https://github.com/opencontainers/image-spec/pull/775). The purpose of this library is to encode spec structures and consts in code, as well as provide a consistent implementation of image encryption across container runtimes and build tools. -+ -+## Usage -+ -+There are various levels of usage for this library. The main consumers of these would be runtime/buil tools, and a more specific use would be in the ability to extend cryptographic function. -+ -+### Runtime/Build tool usage -+ -+The general exposed interface a runtime/build tool would use, would be to perform encryption or decryption of layers: -+ -+``` -+package "github.com/containers/ocicrypt" -+func EncryptLayer(ec *config.EncryptConfig, encOrPlainLayerReader io.Reader, desc ocispec.Descriptor) (io.Reader, EncryptLayerFinalizer, error) -+func DecryptLayer(dc *config.DecryptConfig, encLayerReader io.Reader, desc ocispec.Descriptor, unwrapOnly bool) (io.Reader, digest.Digest, error) -+``` -+ -+The settings/parameters to these functions can be specified via creation of an encryption config with the `github.com/containers/ocicrypt/config` package. We note that because setting of annotations and other fields of the layer descriptor is done through various means in different runtimes/build tools, it is the resposibility of the caller to still ensure that the layer descriptor follows the OCI specification (i.e. encoding, setting annotations, etc.). -+ -+ -+### Crypto Agility and Extensibility -+ -+The implementation for both symmetric and assymetric encryption used in this library are behind 2 main interfaces, which users can extend if need be. These are in the following packages: -+- github.com/containers/ocicrypt/blockcipher - LayerBlockCipher interface for block ciphers -+- github.com/containers/ocicrypt/keywrap - KeyWrapper interface for key wrapping -+ -+We note that adding interfaces here is risky outside the OCI spec is not recommended, unless for very specialized and confined usecases. Please open an issue or PR if there is a general usecase that could be added to the OCI spec. -+ -+## Security Issues -+ -+We consider security issues related to this library critical. Please report and security related issues by emailing maintainers in the [MAINTAINERS](MAINTAINERS) file. -diff --git a/vendor/github.com/containers/ocicrypt/blockcipher/blockcipher.go b/vendor/github.com/containers/ocicrypt/blockcipher/blockcipher.go -new file mode 100644 -index 000000000..da403d95d ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/blockcipher/blockcipher.go -@@ -0,0 +1,160 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 blockcipher -+ -+import ( -+ "io" -+ -+ "github.com/opencontainers/go-digest" -+ "github.com/pkg/errors" -+) -+ -+// LayerCipherType is the ciphertype as specified in the layer metadata -+type LayerCipherType string -+ -+// TODO: Should be obtained from OCI spec once included -+const ( -+ AES256CTR LayerCipherType = "AES_256_CTR_HMAC_SHA256" -+) -+ -+// PrivateLayerBlockCipherOptions includes the information required to encrypt/decrypt -+// an image which are sensitive and should not be in plaintext -+type PrivateLayerBlockCipherOptions struct { -+ // SymmetricKey represents the symmetric key used for encryption/decryption -+ // This field should be populated by Encrypt/Decrypt calls -+ SymmetricKey []byte `json:"symkey"` -+ -+ // Digest is the digest of the original data for verification. -+ // This is NOT populated by Encrypt/Decrypt calls -+ Digest digest.Digest `json:"digest"` -+ -+ // CipherOptions contains the cipher metadata used for encryption/decryption -+ // This field should be populated by Encrypt/Decrypt calls -+ CipherOptions map[string][]byte `json:"cipheroptions"` -+} -+ -+// PublicLayerBlockCipherOptions includes the information required to encrypt/decrypt -+// an image which are public and can be deduplicated in plaintext across multiple -+// recipients -+type PublicLayerBlockCipherOptions struct { -+ // CipherType denotes the cipher type according to the list of OCI suppported -+ // cipher types. -+ CipherType LayerCipherType `json:"cipher"` -+ -+ // Hmac contains the hmac string to help verify encryption -+ Hmac []byte `json:"hmac"` -+ -+ // CipherOptions contains the cipher metadata used for encryption/decryption -+ // This field should be populated by Encrypt/Decrypt calls -+ CipherOptions map[string][]byte `json:"cipheroptions"` -+} -+ -+// LayerBlockCipherOptions contains the public and private LayerBlockCipherOptions -+// required to encrypt/decrypt an image -+type LayerBlockCipherOptions struct { -+ Public PublicLayerBlockCipherOptions -+ Private PrivateLayerBlockCipherOptions -+} -+ -+// LayerBlockCipher returns a provider for encrypt/decrypt functionality -+// for handling the layer data for a specific algorithm -+type LayerBlockCipher interface { -+ // GenerateKey creates a symmetric key -+ GenerateKey() ([]byte, error) -+ // Encrypt takes in layer data and returns the ciphertext and relevant LayerBlockCipherOptions -+ Encrypt(layerDataReader io.Reader, opt LayerBlockCipherOptions) (io.Reader, Finalizer, error) -+ // Decrypt takes in layer ciphertext data and returns the plaintext and relevant LayerBlockCipherOptions -+ Decrypt(layerDataReader io.Reader, opt LayerBlockCipherOptions) (io.Reader, LayerBlockCipherOptions, error) -+} -+ -+// LayerBlockCipherHandler is the handler for encrypt/decrypt for layers -+type LayerBlockCipherHandler struct { -+ cipherMap map[LayerCipherType]LayerBlockCipher -+} -+ -+// Finalizer is called after data blobs are written, and returns the LayerBlockCipherOptions for the encrypted blob -+type Finalizer func() (LayerBlockCipherOptions, error) -+ -+// GetOpt returns the value of the cipher option and if the option exists -+func (lbco LayerBlockCipherOptions) GetOpt(key string) (value []byte, ok bool) { -+ if v, ok := lbco.Public.CipherOptions[key]; ok { -+ return v, ok -+ } else if v, ok := lbco.Private.CipherOptions[key]; ok { -+ return v, ok -+ } else { -+ return nil, false -+ } -+} -+ -+func wrapFinalizerWithType(fin Finalizer, typ LayerCipherType) Finalizer { -+ return func() (LayerBlockCipherOptions, error) { -+ lbco, err := fin() -+ if err != nil { -+ return LayerBlockCipherOptions{}, err -+ } -+ lbco.Public.CipherType = typ -+ return lbco, err -+ } -+} -+ -+// Encrypt is the handler for the layer decryption routine -+func (h *LayerBlockCipherHandler) Encrypt(plainDataReader io.Reader, typ LayerCipherType) (io.Reader, Finalizer, error) { -+ if c, ok := h.cipherMap[typ]; ok { -+ sk, err := c.GenerateKey() -+ if err != nil { -+ return nil, nil, err -+ } -+ opt := LayerBlockCipherOptions{ -+ Private: PrivateLayerBlockCipherOptions{ -+ SymmetricKey: sk, -+ }, -+ } -+ encDataReader, fin, err := c.Encrypt(plainDataReader, opt) -+ if err == nil { -+ fin = wrapFinalizerWithType(fin, typ) -+ } -+ return encDataReader, fin, err -+ } -+ return nil, nil, errors.Errorf("unsupported cipher type: %s", typ) -+} -+ -+// Decrypt is the handler for the layer decryption routine -+func (h *LayerBlockCipherHandler) Decrypt(encDataReader io.Reader, opt LayerBlockCipherOptions) (io.Reader, LayerBlockCipherOptions, error) { -+ typ := opt.Public.CipherType -+ if typ == "" { -+ return nil, LayerBlockCipherOptions{}, errors.New("no cipher type provided") -+ } -+ if c, ok := h.cipherMap[LayerCipherType(typ)]; ok { -+ return c.Decrypt(encDataReader, opt) -+ } -+ return nil, LayerBlockCipherOptions{}, errors.Errorf("unsupported cipher type: %s", typ) -+} -+ -+// NewLayerBlockCipherHandler returns a new default handler -+func NewLayerBlockCipherHandler() (*LayerBlockCipherHandler, error) { -+ h := LayerBlockCipherHandler{ -+ cipherMap: map[LayerCipherType]LayerBlockCipher{}, -+ } -+ -+ var err error -+ h.cipherMap[AES256CTR], err = NewAESCTRLayerBlockCipher(256) -+ if err != nil { -+ return nil, errors.Wrap(err, "unable to set up Cipher AES-256-CTR") -+ } -+ -+ return &h, nil -+} -diff --git a/vendor/github.com/containers/ocicrypt/blockcipher/blockcipher_aes_ctr.go b/vendor/github.com/containers/ocicrypt/blockcipher/blockcipher_aes_ctr.go -new file mode 100644 -index 000000000..095a53e35 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/blockcipher/blockcipher_aes_ctr.go -@@ -0,0 +1,193 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 blockcipher -+ -+import ( -+ "crypto/aes" -+ "crypto/cipher" -+ "crypto/hmac" -+ "crypto/rand" -+ "crypto/sha256" -+ "fmt" -+ "hash" -+ "io" -+ -+ "github.com/containers/ocicrypt/utils" -+ "github.com/pkg/errors" -+) -+ -+// AESCTRLayerBlockCipher implements the AES CTR stream cipher -+type AESCTRLayerBlockCipher struct { -+ keylen int // in bytes -+ reader io.Reader -+ encrypt bool -+ stream cipher.Stream -+ err error -+ hmac hash.Hash -+ expHmac []byte -+ doneEncrypting bool -+} -+ -+type aesctrcryptor struct { -+ bc *AESCTRLayerBlockCipher -+} -+ -+// NewAESCTRLayerBlockCipher returns a new AES SIV block cipher of 256 or 512 bits -+func NewAESCTRLayerBlockCipher(bits int) (LayerBlockCipher, error) { -+ if bits != 256 { -+ return nil, errors.New("AES CTR bit count not supported") -+ } -+ return &AESCTRLayerBlockCipher{keylen: bits / 8}, nil -+} -+ -+func (r *aesctrcryptor) Read(p []byte) (int, error) { -+ var ( -+ o int -+ ) -+ -+ if r.bc.err != nil { -+ return 0, r.bc.err -+ } -+ -+ o, err := utils.FillBuffer(r.bc.reader, p) -+ if err != nil { -+ if err == io.EOF { -+ r.bc.err = err -+ } else { -+ return 0, err -+ } -+ } -+ -+ if !r.bc.encrypt { -+ if _, err := r.bc.hmac.Write(p[:o]); err != nil { -+ r.bc.err = errors.Wrapf(err, "could not write to hmac") -+ return 0, r.bc.err -+ } -+ -+ if r.bc.err == io.EOF { -+ // Before we return EOF we let the HMAC comparison -+ // provide a verdict -+ if !hmac.Equal(r.bc.hmac.Sum(nil), r.bc.expHmac) { -+ r.bc.err = fmt.Errorf("could not properly decrypt byte stream; exp hmac: '%x', actual hmac: '%s'", r.bc.expHmac, r.bc.hmac.Sum(nil)) -+ return 0, r.bc.err -+ } -+ } -+ } -+ -+ r.bc.stream.XORKeyStream(p[:o], p[:o]) -+ -+ if r.bc.encrypt { -+ if _, err := r.bc.hmac.Write(p[:o]); err != nil { -+ r.bc.err = errors.Wrapf(err, "could not write to hmac") -+ return 0, r.bc.err -+ } -+ -+ if r.bc.err == io.EOF { -+ // Final data encrypted; Do the 'then-MAC' part -+ r.bc.doneEncrypting = true -+ } -+ } -+ -+ return o, r.bc.err -+} -+ -+// init initializes an instance -+func (bc *AESCTRLayerBlockCipher) init(encrypt bool, reader io.Reader, opts LayerBlockCipherOptions) (LayerBlockCipherOptions, error) { -+ var ( -+ err error -+ ) -+ -+ key := opts.Private.SymmetricKey -+ if len(key) != bc.keylen { -+ return LayerBlockCipherOptions{}, fmt.Errorf("invalid key length of %d bytes; need %d bytes", len(key), bc.keylen) -+ } -+ -+ nonce, ok := opts.GetOpt("nonce") -+ if !ok { -+ nonce = make([]byte, aes.BlockSize) -+ if _, err := io.ReadFull(rand.Reader, nonce); err != nil { -+ return LayerBlockCipherOptions{}, errors.Wrap(err, "unable to generate random nonce") -+ } -+ } -+ -+ block, err := aes.NewCipher(key) -+ if err != nil { -+ return LayerBlockCipherOptions{}, errors.Wrap(err, "aes.NewCipher failed") -+ } -+ -+ bc.reader = reader -+ bc.encrypt = encrypt -+ bc.stream = cipher.NewCTR(block, nonce) -+ bc.err = nil -+ bc.hmac = hmac.New(sha256.New, key) -+ bc.expHmac = opts.Public.Hmac -+ bc.doneEncrypting = false -+ -+ if !encrypt && len(bc.expHmac) == 0 { -+ return LayerBlockCipherOptions{}, errors.New("HMAC is not provided for decryption process") -+ } -+ -+ lbco := LayerBlockCipherOptions{ -+ Private: PrivateLayerBlockCipherOptions{ -+ SymmetricKey: key, -+ CipherOptions: map[string][]byte{ -+ "nonce": nonce, -+ }, -+ }, -+ } -+ -+ return lbco, nil -+} -+ -+// GenerateKey creates a synmmetric key -+func (bc *AESCTRLayerBlockCipher) GenerateKey() ([]byte, error) { -+ key := make([]byte, bc.keylen) -+ if _, err := io.ReadFull(rand.Reader, key); err != nil { -+ return nil, err -+ } -+ return key, nil -+} -+ -+// Encrypt takes in layer data and returns the ciphertext and relevant LayerBlockCipherOptions -+func (bc *AESCTRLayerBlockCipher) Encrypt(plainDataReader io.Reader, opt LayerBlockCipherOptions) (io.Reader, Finalizer, error) { -+ lbco, err := bc.init(true, plainDataReader, opt) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ finalizer := func() (LayerBlockCipherOptions, error) { -+ if !bc.doneEncrypting { -+ return LayerBlockCipherOptions{}, errors.New("Read()ing not complete, unable to finalize") -+ } -+ if lbco.Public.CipherOptions == nil { -+ lbco.Public.CipherOptions = map[string][]byte{} -+ } -+ lbco.Public.Hmac = bc.hmac.Sum(nil) -+ return lbco, nil -+ } -+ return &aesctrcryptor{bc}, finalizer, nil -+} -+ -+// Decrypt takes in layer ciphertext data and returns the plaintext and relevant LayerBlockCipherOptions -+func (bc *AESCTRLayerBlockCipher) Decrypt(encDataReader io.Reader, opt LayerBlockCipherOptions) (io.Reader, LayerBlockCipherOptions, error) { -+ lbco, err := bc.init(false, encDataReader, opt) -+ if err != nil { -+ return nil, LayerBlockCipherOptions{}, err -+ } -+ -+ return utils.NewDelayedReader(&aesctrcryptor{bc}, 1024*10), lbco, nil -+} -diff --git a/vendor/github.com/containers/ocicrypt/config/config.go b/vendor/github.com/containers/ocicrypt/config/config.go -new file mode 100644 -index 000000000..d960766eb ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/config/config.go -@@ -0,0 +1,114 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 config -+ -+// EncryptConfig is the container image PGP encryption configuration holding -+// the identifiers of those that will be able to decrypt the container and -+// the PGP public keyring file data that contains their public keys. -+type EncryptConfig struct { -+ // map holding 'gpg-recipients', 'gpg-pubkeyringfile', 'pubkeys', 'x509s' -+ Parameters map[string][][]byte -+ -+ DecryptConfig DecryptConfig -+} -+ -+// DecryptConfig wraps the Parameters map that holds the decryption key -+type DecryptConfig struct { -+ // map holding 'privkeys', 'x509s', 'gpg-privatekeys' -+ Parameters map[string][][]byte -+} -+ -+// CryptoConfig is a common wrapper for EncryptConfig and DecrypConfig that can -+// be passed through functions that share much code for encryption and decryption -+type CryptoConfig struct { -+ EncryptConfig *EncryptConfig -+ DecryptConfig *DecryptConfig -+} -+ -+// InitDecryption initialized a CryptoConfig object with parameters used for decryption -+func InitDecryption(dcparameters map[string][][]byte) CryptoConfig { -+ return CryptoConfig{ -+ DecryptConfig: &DecryptConfig{ -+ Parameters: dcparameters, -+ }, -+ } -+} -+ -+// InitEncryption initializes a CryptoConfig object with parameters used for encryption -+// It also takes dcparameters that may be needed for decryption when adding a recipient -+// to an already encrypted image -+func InitEncryption(parameters, dcparameters map[string][][]byte) CryptoConfig { -+ return CryptoConfig{ -+ EncryptConfig: &EncryptConfig{ -+ Parameters: parameters, -+ DecryptConfig: DecryptConfig{ -+ Parameters: dcparameters, -+ }, -+ }, -+ } -+} -+ -+// CombineCryptoConfigs takes a CryptoConfig list and creates a single CryptoConfig -+// containing the crypto configuration of all the key bundles -+func CombineCryptoConfigs(ccs []CryptoConfig) CryptoConfig { -+ ecparam := map[string][][]byte{} -+ ecdcparam := map[string][][]byte{} -+ dcparam := map[string][][]byte{} -+ -+ for _, cc := range ccs { -+ if ec := cc.EncryptConfig; ec != nil { -+ addToMap(ecparam, ec.Parameters) -+ addToMap(ecdcparam, ec.DecryptConfig.Parameters) -+ } -+ -+ if dc := cc.DecryptConfig; dc != nil { -+ addToMap(dcparam, dc.Parameters) -+ } -+ } -+ -+ return CryptoConfig{ -+ EncryptConfig: &EncryptConfig{ -+ Parameters: ecparam, -+ DecryptConfig: DecryptConfig{ -+ Parameters: ecdcparam, -+ }, -+ }, -+ DecryptConfig: &DecryptConfig{ -+ Parameters: dcparam, -+ }, -+ } -+ -+} -+ -+// AttachDecryptConfig adds DecryptConfig to the field of EncryptConfig so that -+// the decryption parameters can be used to add recipients to an existing image -+// if the user is able to decrypt it. -+func (ec *EncryptConfig) AttachDecryptConfig(dc *DecryptConfig) { -+ if dc != nil { -+ addToMap(ec.DecryptConfig.Parameters, dc.Parameters) -+ } -+} -+ -+func addToMap(orig map[string][][]byte, add map[string][][]byte) { -+ for k, v := range add { -+ if ov, ok := orig[k]; ok { -+ orig[k] = append(ov, v...) -+ } else { -+ orig[k] = v -+ } -+ } -+} -diff --git a/vendor/github.com/containers/ocicrypt/config/constructors.go b/vendor/github.com/containers/ocicrypt/config/constructors.go -new file mode 100644 -index 000000000..44adcdb35 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/config/constructors.go -@@ -0,0 +1,134 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 config -+ -+import ( -+ "github.com/pkg/errors" -+) -+ -+// EncryptWithJwe returns a CryptoConfig to encrypt with jwe public keys -+func EncryptWithJwe(pubKeys [][]byte) (CryptoConfig, error) { -+ dc := DecryptConfig{} -+ ep := map[string][][]byte{ -+ "pubkeys": pubKeys, -+ } -+ -+ return CryptoConfig{ -+ EncryptConfig: &EncryptConfig{ -+ Parameters: ep, -+ DecryptConfig: dc, -+ }, -+ DecryptConfig: &dc, -+ }, nil -+} -+ -+// EncryptWithPkcs7 returns a CryptoConfig to encrypt with pkcs7 x509 certs -+func EncryptWithPkcs7(x509s [][]byte) (CryptoConfig, error) { -+ dc := DecryptConfig{} -+ -+ ep := map[string][][]byte{ -+ "x509s": x509s, -+ } -+ -+ return CryptoConfig{ -+ EncryptConfig: &EncryptConfig{ -+ Parameters: ep, -+ DecryptConfig: dc, -+ }, -+ DecryptConfig: &dc, -+ }, nil -+} -+ -+// EncryptWithGpg returns a CryptoConfig to encrypt with configured gpg parameters -+func EncryptWithGpg(gpgRecipients [][]byte, gpgPubRingFile []byte) (CryptoConfig, error) { -+ dc := DecryptConfig{} -+ ep := map[string][][]byte{ -+ "gpg-recipients": gpgRecipients, -+ "gpg-pubkeyringfile": {gpgPubRingFile}, -+ } -+ -+ return CryptoConfig{ -+ EncryptConfig: &EncryptConfig{ -+ Parameters: ep, -+ DecryptConfig: dc, -+ }, -+ DecryptConfig: &dc, -+ }, nil -+} -+ -+// DecryptWithPrivKeys returns a CryptoConfig to decrypt with configured private keys -+func DecryptWithPrivKeys(privKeys [][]byte, privKeysPasswords [][]byte) (CryptoConfig, error) { -+ if len(privKeys) != len(privKeysPasswords) { -+ return CryptoConfig{}, errors.New("Length of privKeys should match length of privKeysPasswords") -+ } -+ -+ dc := DecryptConfig{ -+ Parameters: map[string][][]byte{ -+ "privkeys": privKeys, -+ "privkeys-passwords": privKeysPasswords, -+ }, -+ } -+ -+ ep := map[string][][]byte{} -+ -+ return CryptoConfig{ -+ EncryptConfig: &EncryptConfig{ -+ Parameters: ep, -+ DecryptConfig: dc, -+ }, -+ DecryptConfig: &dc, -+ }, nil -+} -+ -+// DecryptWithX509s returns a CryptoConfig to decrypt with configured x509 certs -+func DecryptWithX509s(x509s [][]byte) (CryptoConfig, error) { -+ dc := DecryptConfig{ -+ Parameters: map[string][][]byte{ -+ "x509s": x509s, -+ }, -+ } -+ -+ ep := map[string][][]byte{} -+ -+ return CryptoConfig{ -+ EncryptConfig: &EncryptConfig{ -+ Parameters: ep, -+ DecryptConfig: dc, -+ }, -+ DecryptConfig: &dc, -+ }, nil -+} -+ -+// DecryptWithGpgPrivKeys returns a CryptoConfig to decrypt with configured gpg private keys -+func DecryptWithGpgPrivKeys(gpgPrivKeys, gpgPrivKeysPwds [][]byte) (CryptoConfig, error) { -+ dc := DecryptConfig{ -+ Parameters: map[string][][]byte{ -+ "gpg-privatekeys": gpgPrivKeys, -+ "gpg-privatekeys-passwords": gpgPrivKeysPwds, -+ }, -+ } -+ -+ ep := map[string][][]byte{} -+ -+ return CryptoConfig{ -+ EncryptConfig: &EncryptConfig{ -+ Parameters: ep, -+ DecryptConfig: dc, -+ }, -+ DecryptConfig: &dc, -+ }, nil -+} -diff --git a/vendor/github.com/containers/ocicrypt/encryption.go b/vendor/github.com/containers/ocicrypt/encryption.go -new file mode 100644 -index 000000000..139ff5f93 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/encryption.go -@@ -0,0 +1,325 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 ocicrypt -+ -+import ( -+ "encoding/base64" -+ "encoding/json" -+ "io" -+ "strings" -+ -+ "github.com/containers/ocicrypt/blockcipher" -+ "github.com/containers/ocicrypt/config" -+ "github.com/containers/ocicrypt/keywrap" -+ "github.com/containers/ocicrypt/keywrap/jwe" -+ "github.com/containers/ocicrypt/keywrap/pgp" -+ "github.com/containers/ocicrypt/keywrap/pkcs7" -+ "github.com/opencontainers/go-digest" -+ ocispec "github.com/opencontainers/image-spec/specs-go/v1" -+ "github.com/pkg/errors" -+) -+ -+// EncryptLayerFinalizer is a finalizer run to return the annotations to set for -+// the encrypted layer -+type EncryptLayerFinalizer func() (map[string]string, error) -+ -+func init() { -+ keyWrappers = make(map[string]keywrap.KeyWrapper) -+ keyWrapperAnnotations = make(map[string]string) -+ RegisterKeyWrapper("pgp", pgp.NewKeyWrapper()) -+ RegisterKeyWrapper("jwe", jwe.NewKeyWrapper()) -+ RegisterKeyWrapper("pkcs7", pkcs7.NewKeyWrapper()) -+} -+ -+var keyWrappers map[string]keywrap.KeyWrapper -+var keyWrapperAnnotations map[string]string -+ -+// RegisterKeyWrapper allows to register key wrappers by their encryption scheme -+func RegisterKeyWrapper(scheme string, iface keywrap.KeyWrapper) { -+ keyWrappers[scheme] = iface -+ keyWrapperAnnotations[iface.GetAnnotationID()] = scheme -+} -+ -+// GetKeyWrapper looks up the encryptor interface given an encryption scheme (gpg, jwe) -+func GetKeyWrapper(scheme string) keywrap.KeyWrapper { -+ return keyWrappers[scheme] -+} -+ -+// GetWrappedKeysMap returns a map of wrappedKeys as values in a -+// map with the encryption scheme(s) as the key(s) -+func GetWrappedKeysMap(desc ocispec.Descriptor) map[string]string { -+ wrappedKeysMap := make(map[string]string) -+ -+ for annotationsID, scheme := range keyWrapperAnnotations { -+ if annotation, ok := desc.Annotations[annotationsID]; ok { -+ wrappedKeysMap[scheme] = annotation -+ } -+ } -+ return wrappedKeysMap -+} -+ -+// EncryptLayer encrypts the layer by running one encryptor after the other -+func EncryptLayer(ec *config.EncryptConfig, encOrPlainLayerReader io.Reader, desc ocispec.Descriptor) (io.Reader, EncryptLayerFinalizer, error) { -+ var ( -+ encLayerReader io.Reader -+ err error -+ encrypted bool -+ bcFin blockcipher.Finalizer -+ privOptsData []byte -+ pubOptsData []byte -+ ) -+ -+ if ec == nil { -+ return nil, nil, errors.New("EncryptConfig must not be nil") -+ } -+ -+ for annotationsID := range keyWrapperAnnotations { -+ annotation := desc.Annotations[annotationsID] -+ if annotation != "" { -+ privOptsData, err = decryptLayerKeyOptsData(&ec.DecryptConfig, desc) -+ if err != nil { -+ return nil, nil, err -+ } -+ pubOptsData, err = getLayerPubOpts(desc) -+ if err != nil { -+ return nil, nil, err -+ } -+ // already encrypted! -+ encrypted = true -+ } -+ } -+ -+ if !encrypted { -+ encLayerReader, bcFin, err = commonEncryptLayer(encOrPlainLayerReader, desc.Digest, blockcipher.AES256CTR) -+ if err != nil { -+ return nil, nil, err -+ } -+ } -+ -+ encLayerFinalizer := func() (map[string]string, error) { -+ // If layer was already encrypted, bcFin should be nil, use existing optsData -+ if bcFin != nil { -+ opts, err := bcFin() -+ if err != nil { -+ return nil, err -+ } -+ privOptsData, err = json.Marshal(opts.Private) -+ if err != nil { -+ return nil, errors.Wrapf(err, "could not JSON marshal opts") -+ } -+ pubOptsData, err = json.Marshal(opts.Public) -+ if err != nil { -+ return nil, errors.Wrapf(err, "could not JSON marshal opts") -+ } -+ } -+ -+ newAnnotations := make(map[string]string) -+ for annotationsID, scheme := range keyWrapperAnnotations { -+ b64Annotations := desc.Annotations[annotationsID] -+ keywrapper := GetKeyWrapper(scheme) -+ b64Annotations, err = preWrapKeys(keywrapper, ec, b64Annotations, privOptsData) -+ if err != nil { -+ return nil, err -+ } -+ if b64Annotations != "" { -+ newAnnotations[annotationsID] = b64Annotations -+ } -+ } -+ -+ newAnnotations["org.opencontainers.image.enc.pubopts"] = base64.StdEncoding.EncodeToString(pubOptsData) -+ -+ if len(newAnnotations) == 0 { -+ return nil, errors.New("no encryptor found to handle encryption") -+ } -+ -+ return newAnnotations, err -+ } -+ -+ // if nothing was encrypted, we just return encLayer = nil -+ return encLayerReader, encLayerFinalizer, err -+ -+} -+ -+// preWrapKeys calls WrapKeys and handles the base64 encoding and concatenation of the -+// annotation data -+func preWrapKeys(keywrapper keywrap.KeyWrapper, ec *config.EncryptConfig, b64Annotations string, optsData []byte) (string, error) { -+ newAnnotation, err := keywrapper.WrapKeys(ec, optsData) -+ if err != nil || len(newAnnotation) == 0 { -+ return b64Annotations, err -+ } -+ b64newAnnotation := base64.StdEncoding.EncodeToString(newAnnotation) -+ if b64Annotations == "" { -+ return b64newAnnotation, nil -+ } -+ return b64Annotations + "," + b64newAnnotation, nil -+} -+ -+// DecryptLayer decrypts a layer trying one keywrap.KeyWrapper after the other to see whether it -+// can apply the provided private key -+// If unwrapOnly is set we will only try to decrypt the layer encryption key and return -+func DecryptLayer(dc *config.DecryptConfig, encLayerReader io.Reader, desc ocispec.Descriptor, unwrapOnly bool) (io.Reader, digest.Digest, error) { -+ if dc == nil { -+ return nil, "", errors.New("DecryptConfig must not be nil") -+ } -+ privOptsData, err := decryptLayerKeyOptsData(dc, desc) -+ if err != nil || unwrapOnly { -+ return nil, "", err -+ } -+ -+ var pubOptsData []byte -+ pubOptsData, err = getLayerPubOpts(desc) -+ if err != nil { -+ return nil, "", err -+ } -+ -+ return commonDecryptLayer(encLayerReader, privOptsData, pubOptsData) -+} -+ -+func decryptLayerKeyOptsData(dc *config.DecryptConfig, desc ocispec.Descriptor) ([]byte, error) { -+ privKeyGiven := false -+ for annotationsID, scheme := range keyWrapperAnnotations { -+ b64Annotation := desc.Annotations[annotationsID] -+ if b64Annotation != "" { -+ keywrapper := GetKeyWrapper(scheme) -+ -+ if len(keywrapper.GetPrivateKeys(dc.Parameters)) == 0 { -+ continue -+ } -+ privKeyGiven = true -+ -+ optsData, err := preUnwrapKey(keywrapper, dc, b64Annotation) -+ if err != nil { -+ // try next keywrap.KeyWrapper -+ continue -+ } -+ if optsData == nil { -+ // try next keywrap.KeyWrapper -+ continue -+ } -+ return optsData, nil -+ } -+ } -+ if !privKeyGiven { -+ return nil, errors.New("missing private key needed for decryption") -+ } -+ return nil, errors.Errorf("no suitable key unwrapper found or none of the private keys could be used for decryption") -+} -+ -+func getLayerPubOpts(desc ocispec.Descriptor) ([]byte, error) { -+ pubOptsString := desc.Annotations["org.opencontainers.image.enc.pubopts"] -+ if pubOptsString == "" { -+ return json.Marshal(blockcipher.PublicLayerBlockCipherOptions{}) -+ } -+ return base64.StdEncoding.DecodeString(pubOptsString) -+} -+ -+// preUnwrapKey decodes the comma separated base64 strings and calls the Unwrap function -+// of the given keywrapper with it and returns the result in case the Unwrap functions -+// does not return an error. If all attempts fail, an error is returned. -+func preUnwrapKey(keywrapper keywrap.KeyWrapper, dc *config.DecryptConfig, b64Annotations string) ([]byte, error) { -+ if b64Annotations == "" { -+ return nil, nil -+ } -+ for _, b64Annotation := range strings.Split(b64Annotations, ",") { -+ annotation, err := base64.StdEncoding.DecodeString(b64Annotation) -+ if err != nil { -+ return nil, errors.New("could not base64 decode the annotation") -+ } -+ optsData, err := keywrapper.UnwrapKey(dc, annotation) -+ if err != nil { -+ continue -+ } -+ return optsData, nil -+ } -+ return nil, errors.New("no suitable key found for decrypting layer key") -+} -+ -+// commonEncryptLayer is a function to encrypt the plain layer using a new random -+// symmetric key and return the LayerBlockCipherHandler's JSON in string form for -+// later use during decryption -+func commonEncryptLayer(plainLayerReader io.Reader, d digest.Digest, typ blockcipher.LayerCipherType) (io.Reader, blockcipher.Finalizer, error) { -+ lbch, err := blockcipher.NewLayerBlockCipherHandler() -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ encLayerReader, bcFin, err := lbch.Encrypt(plainLayerReader, typ) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ newBcFin := func() (blockcipher.LayerBlockCipherOptions, error) { -+ lbco, err := bcFin() -+ if err != nil { -+ return blockcipher.LayerBlockCipherOptions{}, err -+ } -+ lbco.Private.Digest = d -+ return lbco, nil -+ } -+ -+ return encLayerReader, newBcFin, err -+} -+ -+// commonDecryptLayer decrypts an encrypted layer previously encrypted with commonEncryptLayer -+// by passing along the optsData -+func commonDecryptLayer(encLayerReader io.Reader, privOptsData []byte, pubOptsData []byte) (io.Reader, digest.Digest, error) { -+ privOpts := blockcipher.PrivateLayerBlockCipherOptions{} -+ err := json.Unmarshal(privOptsData, &privOpts) -+ if err != nil { -+ return nil, "", errors.Wrapf(err, "could not JSON unmarshal privOptsData") -+ } -+ -+ lbch, err := blockcipher.NewLayerBlockCipherHandler() -+ if err != nil { -+ return nil, "", err -+ } -+ -+ pubOpts := blockcipher.PublicLayerBlockCipherOptions{} -+ if len(pubOptsData) > 0 { -+ err := json.Unmarshal(pubOptsData, &pubOpts) -+ if err != nil { -+ return nil, "", errors.Wrapf(err, "could not JSON unmarshal pubOptsData") -+ } -+ } -+ -+ opts := blockcipher.LayerBlockCipherOptions{ -+ Private: privOpts, -+ Public: pubOpts, -+ } -+ -+ plainLayerReader, opts, err := lbch.Decrypt(encLayerReader, opts) -+ if err != nil { -+ return nil, "", err -+ } -+ -+ return plainLayerReader, opts.Private.Digest, nil -+} -+ -+// FilterOutAnnotations filters out the annotations belonging to the image encryption 'namespace' -+// and returns a map with those taken out -+func FilterOutAnnotations(annotations map[string]string) map[string]string { -+ a := make(map[string]string) -+ if len(annotations) > 0 { -+ for k, v := range annotations { -+ if strings.HasPrefix(k, "org.opencontainers.image.enc.") { -+ continue -+ } -+ a[k] = v -+ } -+ } -+ return a -+} -diff --git a/vendor/github.com/containers/ocicrypt/go.mod b/vendor/github.com/containers/ocicrypt/go.mod -new file mode 100644 -index 000000000..214496e05 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/go.mod -@@ -0,0 +1,18 @@ -+module github.com/containers/ocicrypt -+ -+go 1.12 -+ -+require ( -+ github.com/containerd/containerd v1.2.10 -+ github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa -+ github.com/opencontainers/go-digest v1.0.0-rc1 -+ github.com/opencontainers/image-spec v1.0.1 -+ github.com/pkg/errors v0.8.1 -+ github.com/sirupsen/logrus v1.4.2 // indirect -+ github.com/stretchr/testify v1.3.0 // indirect -+ github.com/urfave/cli v1.22.1 -+ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 -+ google.golang.org/grpc v1.24.0 // indirect -+ gopkg.in/square/go-jose.v2 v2.3.1 -+ gotest.tools v2.2.0+incompatible // indirect -+) -diff --git a/vendor/github.com/containers/ocicrypt/go.sum b/vendor/github.com/containers/ocicrypt/go.sum -new file mode 100644 -index 000000000..d4c40e3ae ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/go.sum -@@ -0,0 +1,73 @@ -+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -+github.com/containerd/containerd v1.2.10 h1:liQDhXqIn7y6cJ/7qBgOaZsiTZJc56/wkkhDBiDBRDw= -+github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -+github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY= -+github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -+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/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= -+github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= -+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= -+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -+github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= -+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -+github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= -+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -+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/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= -+github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -+github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= -+github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -+github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= -+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -+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/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= -+github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -+github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= -+github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -+github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= -+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -+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= -+github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= -+github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -+golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc= -+golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ= -+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= -+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc= -+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= -+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= -+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -+google.golang.org/grpc v1.24.0 h1:vb/1TCsVn3DcJlQ0Gs1yB1pKI6Do2/QNwxdKqmc/b0s= -+google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= -+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -+gopkg.in/square/go-jose.v2 v2.3.1 h1:SK5KegNXmKmqE342YYN2qPHEnUYeoMiXXl1poUlI+o4= -+gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -+gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -+gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -diff --git a/vendor/github.com/containers/ocicrypt/gpg.go b/vendor/github.com/containers/ocicrypt/gpg.go -new file mode 100644 -index 000000000..44cafae0c ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/gpg.go -@@ -0,0 +1,425 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 ocicrypt -+ -+import ( -+ "fmt" -+ "io/ioutil" -+ "os" -+ "os/exec" -+ "regexp" -+ "strconv" -+ "strings" -+ -+ ocispec "github.com/opencontainers/image-spec/specs-go/v1" -+ "github.com/pkg/errors" -+ "golang.org/x/crypto/ssh/terminal" -+) -+ -+// GPGVersion enum representing the GPG client version to use. -+type GPGVersion int -+ -+const ( -+ // GPGv2 signifies gpgv2+ -+ GPGv2 GPGVersion = iota -+ // GPGv1 signifies gpgv1+ -+ GPGv1 -+ // GPGVersionUndetermined signifies gpg client version undetermined -+ GPGVersionUndetermined -+) -+ -+// GPGClient defines an interface for wrapping the gpg command line tools -+type GPGClient interface { -+ // ReadGPGPubRingFile gets the byte sequence of the gpg public keyring -+ ReadGPGPubRingFile() ([]byte, error) -+ // GetGPGPrivateKey gets the private key bytes of a keyid given a passphrase -+ GetGPGPrivateKey(keyid uint64, passphrase string) ([]byte, error) -+ // GetSecretKeyDetails gets the details of a secret key -+ GetSecretKeyDetails(keyid uint64) ([]byte, bool, error) -+ // GetKeyDetails gets the details of a public key -+ GetKeyDetails(keyid uint64) ([]byte, bool, error) -+ // ResolveRecipients resolves PGP key ids to user names -+ ResolveRecipients([]string) []string -+} -+ -+// gpgClient contains generic gpg client information -+type gpgClient struct { -+ gpgHomeDir string -+} -+ -+// gpgv2Client is a gpg2 client -+type gpgv2Client struct { -+ gpgClient -+} -+ -+// gpgv1Client is a gpg client -+type gpgv1Client struct { -+ gpgClient -+} -+ -+// GuessGPGVersion guesses the version of gpg. Defaults to gpg2 if exists, if -+// not defaults to regular gpg. -+func GuessGPGVersion() GPGVersion { -+ if err := exec.Command("gpg2", "--version").Run(); err == nil { -+ return GPGv2 -+ } else if err := exec.Command("gpg", "--version").Run(); err == nil { -+ return GPGv1 -+ } else { -+ return GPGVersionUndetermined -+ } -+} -+ -+// NewGPGClient creates a new GPGClient object representing the given version -+// and using the given home directory -+func NewGPGClient(gpgVersion, gpgHomeDir string) (GPGClient, error) { -+ v := new(GPGVersion) -+ switch gpgVersion { -+ case "v1": -+ *v = GPGv1 -+ case "v2": -+ *v = GPGv2 -+ default: -+ v = nil -+ } -+ return newGPGClient(v, gpgHomeDir) -+} -+ -+func newGPGClient(version *GPGVersion, homedir string) (GPGClient, error) { -+ var gpgVersion GPGVersion -+ if version != nil { -+ gpgVersion = *version -+ } else { -+ gpgVersion = GuessGPGVersion() -+ } -+ -+ switch gpgVersion { -+ case GPGv1: -+ return &gpgv1Client{ -+ gpgClient: gpgClient{gpgHomeDir: homedir}, -+ }, nil -+ case GPGv2: -+ return &gpgv2Client{ -+ gpgClient: gpgClient{gpgHomeDir: homedir}, -+ }, nil -+ case GPGVersionUndetermined: -+ return nil, fmt.Errorf("unable to determine GPG version") -+ default: -+ return nil, fmt.Errorf("unhandled case: NewGPGClient") -+ } -+} -+ -+// GetGPGPrivateKey gets the bytes of a specified keyid, supplying a passphrase -+func (gc *gpgv2Client) GetGPGPrivateKey(keyid uint64, passphrase string) ([]byte, error) { -+ var args []string -+ -+ if gc.gpgHomeDir != "" { -+ args = append(args, []string{"--homedir", gc.gpgHomeDir}...) -+ } -+ -+ rfile, wfile, err := os.Pipe() -+ if err != nil { -+ return nil, errors.Wrapf(err, "could not create pipe") -+ } -+ defer func() { -+ rfile.Close() -+ wfile.Close() -+ }() -+ // fill pipe in background -+ go func(passphrase string) { -+ _, _ = wfile.Write([]byte(passphrase)) -+ wfile.Close() -+ }(passphrase) -+ -+ args = append(args, []string{"--pinentry-mode", "loopback", "--batch", "--passphrase-fd", fmt.Sprintf("%d", 3), "--export-secret-key", fmt.Sprintf("0x%x", keyid)}...) -+ -+ cmd := exec.Command("gpg2", args...) -+ cmd.ExtraFiles = []*os.File{rfile} -+ -+ return runGPGGetOutput(cmd) -+} -+ -+// ReadGPGPubRingFile reads the GPG public key ring file -+func (gc *gpgv2Client) ReadGPGPubRingFile() ([]byte, error) { -+ var args []string -+ -+ if gc.gpgHomeDir != "" { -+ args = append(args, []string{"--homedir", gc.gpgHomeDir}...) -+ } -+ args = append(args, []string{"--batch", "--export"}...) -+ -+ cmd := exec.Command("gpg2", args...) -+ -+ return runGPGGetOutput(cmd) -+} -+ -+func (gc *gpgv2Client) getKeyDetails(option string, keyid uint64) ([]byte, bool, error) { -+ var args []string -+ -+ if gc.gpgHomeDir != "" { -+ args = append([]string{"--homedir", gc.gpgHomeDir}) -+ } -+ args = append(args, option, fmt.Sprintf("0x%x", keyid)) -+ -+ cmd := exec.Command("gpg2", args...) -+ -+ keydata, err := runGPGGetOutput(cmd) -+ return keydata, err == nil, err -+} -+ -+// GetSecretKeyDetails retrives the secret key details of key with keyid. -+// returns a byte array of the details and a bool if the key exists -+func (gc *gpgv2Client) GetSecretKeyDetails(keyid uint64) ([]byte, bool, error) { -+ return gc.getKeyDetails("-K", keyid) -+} -+ -+// GetKeyDetails retrives the public key details of key with keyid. -+// returns a byte array of the details and a bool if the key exists -+func (gc *gpgv2Client) GetKeyDetails(keyid uint64) ([]byte, bool, error) { -+ return gc.getKeyDetails("-k", keyid) -+} -+ -+// ResolveRecipients converts PGP keyids to email addresses, if possible -+func (gc *gpgv2Client) ResolveRecipients(recipients []string) []string { -+ return resolveRecipients(gc, recipients) -+} -+ -+// GetGPGPrivateKey gets the bytes of a specified keyid, supplying a passphrase -+func (gc *gpgv1Client) GetGPGPrivateKey(keyid uint64, _ string) ([]byte, error) { -+ var args []string -+ -+ if gc.gpgHomeDir != "" { -+ args = append(args, []string{"--homedir", gc.gpgHomeDir}...) -+ } -+ args = append(args, []string{"--batch", "--export-secret-key", fmt.Sprintf("0x%x", keyid)}...) -+ -+ cmd := exec.Command("gpg", args...) -+ -+ return runGPGGetOutput(cmd) -+} -+ -+// ReadGPGPubRingFile reads the GPG public key ring file -+func (gc *gpgv1Client) ReadGPGPubRingFile() ([]byte, error) { -+ var args []string -+ -+ if gc.gpgHomeDir != "" { -+ args = append(args, []string{"--homedir", gc.gpgHomeDir}...) -+ } -+ args = append(args, []string{"--batch", "--export"}...) -+ -+ cmd := exec.Command("gpg", args...) -+ -+ return runGPGGetOutput(cmd) -+} -+ -+func (gc *gpgv1Client) getKeyDetails(option string, keyid uint64) ([]byte, bool, error) { -+ var args []string -+ -+ if gc.gpgHomeDir != "" { -+ args = append([]string{"--homedir", gc.gpgHomeDir}) -+ } -+ args = append(args, option, fmt.Sprintf("0x%x", keyid)) -+ -+ cmd := exec.Command("gpg", args...) -+ -+ keydata, err := runGPGGetOutput(cmd) -+ -+ return keydata, err == nil, err -+} -+ -+// GetSecretKeyDetails retrives the secret key details of key with keyid. -+// returns a byte array of the details and a bool if the key exists -+func (gc *gpgv1Client) GetSecretKeyDetails(keyid uint64) ([]byte, bool, error) { -+ return gc.getKeyDetails("-K", keyid) -+} -+ -+// GetKeyDetails retrives the public key details of key with keyid. -+// returns a byte array of the details and a bool if the key exists -+func (gc *gpgv1Client) GetKeyDetails(keyid uint64) ([]byte, bool, error) { -+ return gc.getKeyDetails("-k", keyid) -+} -+ -+// ResolveRecipients converts PGP keyids to email addresses, if possible -+func (gc *gpgv1Client) ResolveRecipients(recipients []string) []string { -+ return resolveRecipients(gc, recipients) -+} -+ -+// runGPGGetOutput runs the GPG commandline and returns stdout as byte array -+// and any stderr in the error -+func runGPGGetOutput(cmd *exec.Cmd) ([]byte, error) { -+ stdout, err := cmd.StdoutPipe() -+ if err != nil { -+ return nil, err -+ } -+ stderr, err := cmd.StderrPipe() -+ if err != nil { -+ return nil, err -+ } -+ if err := cmd.Start(); err != nil { -+ return nil, err -+ } -+ -+ stdoutstr, err2 := ioutil.ReadAll(stdout) -+ stderrstr, _ := ioutil.ReadAll(stderr) -+ -+ if err := cmd.Wait(); err != nil { -+ return nil, fmt.Errorf("error from %s: %s", cmd.Path, string(stderrstr)) -+ } -+ -+ return stdoutstr, err2 -+} -+ -+// resolveRecipients walks the list of recipients and attempts to convert -+// all keyIds to email addresses; if something goes wrong during the -+// conversion of a recipient, the original string is returned for that -+// recpient -+func resolveRecipients(gc GPGClient, recipients []string) []string { -+ var result []string -+ -+ for _, recipient := range recipients { -+ keyID, err := strconv.ParseUint(recipient, 0, 64) -+ if err != nil { -+ result = append(result, recipient) -+ } else { -+ details, found, _ := gc.GetKeyDetails(keyID) -+ if !found { -+ result = append(result, recipient) -+ } else { -+ email := extractEmailFromDetails(details) -+ if email == "" { -+ result = append(result, recipient) -+ } else { -+ result = append(result, email) -+ } -+ } -+ } -+ } -+ return result -+} -+ -+var emailPattern = regexp.MustCompile(`uid\s+\[.*\]\s.*\s<(?P.+)>`) -+ -+func extractEmailFromDetails(details []byte) string { -+ loc := emailPattern.FindSubmatchIndex(details) -+ if len(loc) == 0 { -+ return "" -+ } -+ return string(emailPattern.Expand(nil, []byte("$email"), details, loc)) -+} -+ -+// uint64ToStringArray converts an array of uint64's to an array of strings -+// by applying a format string to each uint64 -+func uint64ToStringArray(format string, in []uint64) []string { -+ var ret []string -+ -+ for _, v := range in { -+ ret = append(ret, fmt.Sprintf(format, v)) -+ } -+ return ret -+} -+ -+// GPGGetPrivateKey walks the list of layerInfos and tries to decrypt the -+// wrapped symmetric keys. For this it determines whether a private key is -+// in the GPGVault or on this system and prompts for the passwords for those -+// that are available. If we do not find a private key on the system for -+// getting to the symmetric key of a layer then an error is generated. -+func GPGGetPrivateKey(descs []ocispec.Descriptor, gpgClient GPGClient, gpgVault GPGVault, mustFindKey bool) (gpgPrivKeys [][]byte, gpgPrivKeysPwds [][]byte, err error) { -+ // PrivateKeyData describes a private key -+ type PrivateKeyData struct { -+ KeyData []byte -+ KeyDataPassword []byte -+ } -+ var pkd PrivateKeyData -+ keyIDPasswordMap := make(map[uint64]PrivateKeyData) -+ -+ for _, desc := range descs { -+ for scheme, b64pgpPackets := range GetWrappedKeysMap(desc) { -+ if scheme != "pgp" { -+ continue -+ } -+ keywrapper := GetKeyWrapper(scheme) -+ if keywrapper == nil { -+ return nil, nil, errors.Errorf("could not get KeyWrapper for %s\n", scheme) -+ } -+ keyIds, err := keywrapper.GetKeyIdsFromPacket(b64pgpPackets) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ found := false -+ for _, keyid := range keyIds { -+ // do we have this key? -- first check the vault -+ if gpgVault != nil { -+ _, keydata := gpgVault.GetGPGPrivateKey(keyid) -+ if len(keydata) > 0 { -+ pkd = PrivateKeyData{ -+ KeyData: keydata, -+ KeyDataPassword: nil, // password not supported in this case -+ } -+ keyIDPasswordMap[keyid] = pkd -+ found = true -+ break -+ } -+ } else if gpgClient != nil { -+ // check the local system's gpg installation -+ keyinfo, haveKey, _ := gpgClient.GetSecretKeyDetails(keyid) -+ // this may fail if the key is not here; we ignore the error -+ if !haveKey { -+ // key not on this system -+ continue -+ } -+ -+ _, found = keyIDPasswordMap[keyid] -+ if !found { -+ fmt.Printf("Passphrase required for Key id 0x%x: \n%v", keyid, string(keyinfo)) -+ fmt.Printf("Enter passphrase for key with Id 0x%x: ", keyid) -+ -+ password, err := terminal.ReadPassword(int(os.Stdin.Fd())) -+ fmt.Printf("\n") -+ if err != nil { -+ return nil, nil, err -+ } -+ keydata, err := gpgClient.GetGPGPrivateKey(keyid, string(password)) -+ if err != nil { -+ return nil, nil, err -+ } -+ pkd = PrivateKeyData{ -+ KeyData: keydata, -+ KeyDataPassword: password, -+ } -+ keyIDPasswordMap[keyid] = pkd -+ found = true -+ } -+ break -+ } else { -+ return nil, nil, errors.New("no GPGVault or GPGClient passed") -+ } -+ } -+ if !found && len(b64pgpPackets) > 0 && mustFindKey { -+ ids := uint64ToStringArray("0x%x", keyIds) -+ -+ return nil, nil, errors.Errorf("missing key for decryption of layer %x of %s. Need one of the following keys: %s", desc.Digest, desc.Platform, strings.Join(ids, ", ")) -+ } -+ } -+ } -+ -+ for _, pkd := range keyIDPasswordMap { -+ gpgPrivKeys = append(gpgPrivKeys, pkd.KeyData) -+ gpgPrivKeysPwds = append(gpgPrivKeysPwds, pkd.KeyDataPassword) -+ } -+ -+ return gpgPrivKeys, gpgPrivKeysPwds, nil -+} -diff --git a/vendor/github.com/containers/ocicrypt/gpgvault.go b/vendor/github.com/containers/ocicrypt/gpgvault.go -new file mode 100644 -index 000000000..dd9a10007 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/gpgvault.go -@@ -0,0 +1,100 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 ocicrypt -+ -+import ( -+ "bytes" -+ "io/ioutil" -+ -+ "github.com/pkg/errors" -+ "golang.org/x/crypto/openpgp" -+ "golang.org/x/crypto/openpgp/packet" -+) -+ -+// GPGVault defines an interface for wrapping multiple secret key rings -+type GPGVault interface { -+ // AddSecretKeyRingData adds a secret keyring via its raw byte array -+ AddSecretKeyRingData(gpgSecretKeyRingData []byte) error -+ // AddSecretKeyRingDataArray adds secret keyring via its raw byte arrays -+ AddSecretKeyRingDataArray(gpgSecretKeyRingDataArray [][]byte) error -+ // AddSecretKeyRingFiles adds secret keyrings given their filenames -+ AddSecretKeyRingFiles(filenames []string) error -+ // GetGPGPrivateKey gets the private key bytes of a keyid given a passphrase -+ GetGPGPrivateKey(keyid uint64) ([]openpgp.Key, []byte) -+} -+ -+// gpgVault wraps an array of gpgSecretKeyRing -+type gpgVault struct { -+ entityLists []openpgp.EntityList -+ keyDataList [][]byte // the raw data original passed in -+} -+ -+// NewGPGVault creates an empty GPGVault -+func NewGPGVault() GPGVault { -+ return &gpgVault{} -+} -+ -+// AddSecretKeyRingData adds a secret keyring's to the gpgVault; the raw byte -+// array read from the file must be passed and will be parsed by this function -+func (g *gpgVault) AddSecretKeyRingData(gpgSecretKeyRingData []byte) error { -+ // read the private keys -+ r := bytes.NewReader(gpgSecretKeyRingData) -+ entityList, err := openpgp.ReadKeyRing(r) -+ if err != nil { -+ return errors.Wrapf(err, "could not read keyring") -+ } -+ g.entityLists = append(g.entityLists, entityList) -+ g.keyDataList = append(g.keyDataList, gpgSecretKeyRingData) -+ return nil -+} -+ -+// AddSecretKeyRingDataArray adds secret keyrings to the gpgVault; the raw byte -+// arrays read from files must be passed -+func (g *gpgVault) AddSecretKeyRingDataArray(gpgSecretKeyRingDataArray [][]byte) error { -+ for _, gpgSecretKeyRingData := range gpgSecretKeyRingDataArray { -+ if err := g.AddSecretKeyRingData(gpgSecretKeyRingData); err != nil { -+ return err -+ } -+ } -+ return nil -+} -+ -+// AddSecretKeyRingFiles adds the secret key rings given their filenames -+func (g *gpgVault) AddSecretKeyRingFiles(filenames []string) error { -+ for _, filename := range filenames { -+ gpgSecretKeyRingData, err := ioutil.ReadFile(filename) -+ if err != nil { -+ return err -+ } -+ err = g.AddSecretKeyRingData(gpgSecretKeyRingData) -+ if err != nil { -+ return err -+ } -+ } -+ return nil -+} -+ -+// GetGPGPrivateKey gets the bytes of a specified keyid, supplying a passphrase -+func (g *gpgVault) GetGPGPrivateKey(keyid uint64) ([]openpgp.Key, []byte) { -+ for i, el := range g.entityLists { -+ decKeys := el.KeysByIdUsage(keyid, packet.KeyFlagEncryptCommunications) -+ if len(decKeys) > 0 { -+ return decKeys, g.keyDataList[i] -+ } -+ } -+ return nil, nil -+} -diff --git a/vendor/github.com/containers/ocicrypt/keywrap/jwe/keywrapper_jwe.go b/vendor/github.com/containers/ocicrypt/keywrap/jwe/keywrapper_jwe.go -new file mode 100644 -index 000000000..5d1dde241 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/keywrap/jwe/keywrapper_jwe.go -@@ -0,0 +1,132 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 jwe -+ -+import ( -+ "crypto/ecdsa" -+ -+ "github.com/containers/ocicrypt/config" -+ "github.com/containers/ocicrypt/keywrap" -+ "github.com/containers/ocicrypt/utils" -+ "github.com/pkg/errors" -+ jose "gopkg.in/square/go-jose.v2" -+) -+ -+type jweKeyWrapper struct { -+} -+ -+func (kw *jweKeyWrapper) GetAnnotationID() string { -+ return "org.opencontainers.image.enc.keys.jwe" -+} -+ -+// NewKeyWrapper returns a new key wrapping interface using jwe -+func NewKeyWrapper() keywrap.KeyWrapper { -+ return &jweKeyWrapper{} -+} -+ -+// WrapKeys wraps the session key for recpients and encrypts the optsData, which -+// describe the symmetric key used for encrypting the layer -+func (kw *jweKeyWrapper) WrapKeys(ec *config.EncryptConfig, optsData []byte) ([]byte, error) { -+ var joseRecipients []jose.Recipient -+ -+ err := addPubKeys(&joseRecipients, ec.Parameters["pubkeys"]) -+ if err != nil { -+ return nil, err -+ } -+ // no recipients is not an error... -+ if len(joseRecipients) == 0 { -+ return nil, nil -+ } -+ -+ encrypter, err := jose.NewMultiEncrypter(jose.A256GCM, joseRecipients, nil) -+ if err != nil { -+ return nil, errors.Wrapf(err, "jose.NewMultiEncrypter failed") -+ } -+ jwe, err := encrypter.Encrypt(optsData) -+ if err != nil { -+ return nil, errors.Wrapf(err, "JWE Encrypt failed") -+ } -+ return []byte(jwe.FullSerialize()), nil -+} -+ -+func (kw *jweKeyWrapper) UnwrapKey(dc *config.DecryptConfig, jweString []byte) ([]byte, error) { -+ jwe, err := jose.ParseEncrypted(string(jweString)) -+ if err != nil { -+ return nil, errors.New("jose.ParseEncrypted failed") -+ } -+ -+ privKeys := kw.GetPrivateKeys(dc.Parameters) -+ if len(privKeys) == 0 { -+ return nil, errors.New("No private keys found for JWE decryption") -+ } -+ privKeysPasswords := kw.getPrivateKeysPasswords(dc.Parameters) -+ if len(privKeysPasswords) != len(privKeys) { -+ return nil, errors.New("Private key password array length must be same as that of private keys") -+ } -+ -+ for idx, privKey := range privKeys { -+ key, err := utils.ParsePrivateKey(privKey, privKeysPasswords[idx], "JWE") -+ if err != nil { -+ return nil, err -+ } -+ _, _, plain, err := jwe.DecryptMulti(key) -+ if err == nil { -+ return plain, nil -+ } -+ } -+ return nil, errors.New("JWE: No suitable private key found for decryption") -+} -+ -+func (kw *jweKeyWrapper) GetPrivateKeys(dcparameters map[string][][]byte) [][]byte { -+ return dcparameters["privkeys"] -+} -+ -+func (kw *jweKeyWrapper) getPrivateKeysPasswords(dcparameters map[string][][]byte) [][]byte { -+ return dcparameters["privkeys-passwords"] -+} -+ -+func (kw *jweKeyWrapper) GetKeyIdsFromPacket(b64jwes string) ([]uint64, error) { -+ return nil, nil -+} -+ -+func (kw *jweKeyWrapper) GetRecipients(b64jwes string) ([]string, error) { -+ return []string{"[jwe]"}, nil -+} -+ -+func addPubKeys(joseRecipients *[]jose.Recipient, pubKeys [][]byte) error { -+ if len(pubKeys) == 0 { -+ return nil -+ } -+ for _, pubKey := range pubKeys { -+ key, err := utils.ParsePublicKey(pubKey, "JWE") -+ if err != nil { -+ return err -+ } -+ -+ alg := jose.RSA_OAEP -+ switch key.(type) { -+ case *ecdsa.PublicKey: -+ alg = jose.ECDH_ES_A256KW -+ } -+ -+ *joseRecipients = append(*joseRecipients, jose.Recipient{ -+ Algorithm: alg, -+ Key: key, -+ }) -+ } -+ return nil -+} -diff --git a/vendor/github.com/containers/ocicrypt/keywrap/keywrap.go b/vendor/github.com/containers/ocicrypt/keywrap/keywrap.go -new file mode 100644 -index 000000000..75fdf6886 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/keywrap/keywrap.go -@@ -0,0 +1,40 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 keywrap -+ -+import ( -+ "github.com/containers/ocicrypt/config" -+) -+ -+// KeyWrapper is the interface used for wrapping keys using -+// a specific encryption technology (pgp, jwe) -+type KeyWrapper interface { -+ WrapKeys(ec *config.EncryptConfig, optsData []byte) ([]byte, error) -+ UnwrapKey(dc *config.DecryptConfig, annotation []byte) ([]byte, error) -+ GetAnnotationID() string -+ // GetPrivateKeys (optional) gets the array of private keys. It is an optional implementation -+ // as in some key services, a private key may not be exportable (i.e. HSM) -+ GetPrivateKeys(dcparameters map[string][][]byte) [][]byte -+ -+ // GetKeyIdsFromPacket (optional) gets a list of key IDs. This is optional as some encryption -+ // schemes may not have a notion of key IDs -+ GetKeyIdsFromPacket(packet string) ([]uint64, error) -+ -+ // GetRecipients (optional) gets a list of recipients. It is optional due to the validity of -+ // recipients in a particular encryptiong scheme -+ GetRecipients(packet string) ([]string, error) -+} -diff --git a/vendor/github.com/containers/ocicrypt/keywrap/pgp/keywrapper_gpg.go b/vendor/github.com/containers/ocicrypt/keywrap/pgp/keywrapper_gpg.go -new file mode 100644 -index 000000000..ff70c2d65 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/keywrap/pgp/keywrapper_gpg.go -@@ -0,0 +1,269 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 pgp -+ -+import ( -+ "bytes" -+ "crypto" -+ "crypto/rand" -+ "encoding/base64" -+ "fmt" -+ "io" -+ "io/ioutil" -+ "net/mail" -+ "strconv" -+ "strings" -+ -+ "github.com/containers/ocicrypt/config" -+ "github.com/containers/ocicrypt/keywrap" -+ "github.com/pkg/errors" -+ "golang.org/x/crypto/openpgp" -+ "golang.org/x/crypto/openpgp/packet" -+) -+ -+type gpgKeyWrapper struct { -+} -+ -+// NewKeyWrapper returns a new key wrapping interface for pgp -+func NewKeyWrapper() keywrap.KeyWrapper { -+ return &gpgKeyWrapper{} -+} -+ -+var ( -+ // GPGDefaultEncryptConfig is the default configuration for layer encryption/decryption -+ GPGDefaultEncryptConfig = &packet.Config{ -+ Rand: rand.Reader, -+ DefaultHash: crypto.SHA256, -+ DefaultCipher: packet.CipherAES256, -+ CompressionConfig: &packet.CompressionConfig{Level: 0}, // No compression -+ RSABits: 2048, -+ } -+) -+ -+func (kw *gpgKeyWrapper) GetAnnotationID() string { -+ return "org.opencontainers.image.enc.keys.pgp" -+} -+ -+// WrapKeys wraps the session key for recpients and encrypts the optsData, which -+// describe the symmetric key used for encrypting the layer -+func (kw *gpgKeyWrapper) WrapKeys(ec *config.EncryptConfig, optsData []byte) ([]byte, error) { -+ ciphertext := new(bytes.Buffer) -+ el, err := kw.createEntityList(ec) -+ if err != nil { -+ return nil, errors.Wrap(err, "unable to create entity list") -+ } -+ if len(el) == 0 { -+ // nothing to do -- not an error -+ return nil, nil -+ } -+ -+ plaintextWriter, err := openpgp.Encrypt(ciphertext, -+ el, /*EntityList*/ -+ nil, /* Sign*/ -+ nil, /* FileHint */ -+ GPGDefaultEncryptConfig) -+ if err != nil { -+ return nil, err -+ } -+ -+ if _, err = plaintextWriter.Write(optsData); err != nil { -+ return nil, err -+ } else if err = plaintextWriter.Close(); err != nil { -+ return nil, err -+ } -+ return ciphertext.Bytes(), err -+} -+ -+// UnwrapKey unwraps the symmetric key with which the layer is encrypted -+// This symmetric key is encrypted in the PGP payload. -+func (kw *gpgKeyWrapper) UnwrapKey(dc *config.DecryptConfig, pgpPacket []byte) ([]byte, error) { -+ pgpPrivateKeys, pgpPrivateKeysPwd, err := kw.getKeyParameters(dc.Parameters) -+ if err != nil { -+ return nil, err -+ } -+ -+ for idx, pgpPrivateKey := range pgpPrivateKeys { -+ r := bytes.NewBuffer(pgpPrivateKey) -+ entityList, err := openpgp.ReadKeyRing(r) -+ if err != nil { -+ return nil, errors.Wrap(err, "unable to parse private keys") -+ } -+ -+ var prompt openpgp.PromptFunction -+ if len(pgpPrivateKeysPwd) > idx { -+ responded := false -+ prompt = func(keys []openpgp.Key, symmetric bool) ([]byte, error) { -+ if responded { -+ return nil, fmt.Errorf("don't seem to have the right password") -+ } -+ responded = true -+ for _, key := range keys { -+ if key.PrivateKey != nil { -+ _ = key.PrivateKey.Decrypt(pgpPrivateKeysPwd[idx]) -+ } -+ } -+ return pgpPrivateKeysPwd[idx], nil -+ } -+ } -+ -+ r = bytes.NewBuffer(pgpPacket) -+ md, err := openpgp.ReadMessage(r, entityList, prompt, GPGDefaultEncryptConfig) -+ if err != nil { -+ continue -+ } -+ // we get the plain key options back -+ optsData, err := ioutil.ReadAll(md.UnverifiedBody) -+ if err != nil { -+ continue -+ } -+ return optsData, nil -+ } -+ return nil, errors.New("PGP: No suitable key found to unwrap key") -+} -+ -+// GetKeyIdsFromWrappedKeys converts the base64 encoded PGPPacket to uint64 keyIds -+func (kw *gpgKeyWrapper) GetKeyIdsFromPacket(b64pgpPackets string) ([]uint64, error) { -+ -+ var keyids []uint64 -+ for _, b64pgpPacket := range strings.Split(b64pgpPackets, ",") { -+ pgpPacket, err := base64.StdEncoding.DecodeString(b64pgpPacket) -+ if err != nil { -+ return nil, errors.Wrapf(err, "could not decode base64 encoded PGP packet") -+ } -+ newids, err := kw.getKeyIDs(pgpPacket) -+ if err != nil { -+ return nil, err -+ } -+ keyids = append(keyids, newids...) -+ } -+ return keyids, nil -+} -+ -+// getKeyIDs parses a PGPPacket and gets the list of recipients' key IDs -+func (kw *gpgKeyWrapper) getKeyIDs(pgpPacket []byte) ([]uint64, error) { -+ var keyids []uint64 -+ -+ kbuf := bytes.NewBuffer(pgpPacket) -+ packets := packet.NewReader(kbuf) -+ParsePackets: -+ for { -+ p, err := packets.Next() -+ if err == io.EOF { -+ break ParsePackets -+ } -+ if err != nil { -+ return []uint64{}, errors.Wrapf(err, "packets.Next() failed") -+ } -+ switch p := p.(type) { -+ case *packet.EncryptedKey: -+ keyids = append(keyids, p.KeyId) -+ case *packet.SymmetricallyEncrypted: -+ break ParsePackets -+ } -+ } -+ return keyids, nil -+} -+ -+// GetRecipients converts the wrappedKeys to an array of recipients -+func (kw *gpgKeyWrapper) GetRecipients(b64pgpPackets string) ([]string, error) { -+ keyIds, err := kw.GetKeyIdsFromPacket(b64pgpPackets) -+ if err != nil { -+ return nil, err -+ } -+ var array []string -+ for _, keyid := range keyIds { -+ array = append(array, "0x"+strconv.FormatUint(keyid, 16)) -+ } -+ return array, nil -+} -+ -+func (kw *gpgKeyWrapper) GetPrivateKeys(dcparameters map[string][][]byte) [][]byte { -+ return dcparameters["gpg-privatekeys"] -+} -+ -+func (kw *gpgKeyWrapper) getKeyParameters(dcparameters map[string][][]byte) ([][]byte, [][]byte, error) { -+ -+ privKeys := kw.GetPrivateKeys(dcparameters) -+ if len(privKeys) == 0 { -+ return nil, nil, errors.New("GPG: Missing private key parameter") -+ } -+ -+ return privKeys, dcparameters["gpg-privatekeys-passwords"], nil -+} -+ -+// createEntityList creates the opengpg EntityList by reading the KeyRing -+// first and then filtering out recipients' keys -+func (kw *gpgKeyWrapper) createEntityList(ec *config.EncryptConfig) (openpgp.EntityList, error) { -+ pgpPubringFile := ec.Parameters["gpg-pubkeyringfile"] -+ if len(pgpPubringFile) == 0 { -+ return nil, nil -+ } -+ r := bytes.NewReader(pgpPubringFile[0]) -+ -+ entityList, err := openpgp.ReadKeyRing(r) -+ if err != nil { -+ return nil, err -+ } -+ -+ gpgRecipients := ec.Parameters["gpg-recipients"] -+ if len(gpgRecipients) == 0 { -+ return nil, nil -+ } -+ -+ rSet := make(map[string]int) -+ for _, r := range gpgRecipients { -+ rSet[string(r)] = 0 -+ } -+ -+ var filteredList openpgp.EntityList -+ for _, entity := range entityList { -+ for k := range entity.Identities { -+ addr, err := mail.ParseAddress(k) -+ if err != nil { -+ return nil, err -+ } -+ for _, r := range gpgRecipients { -+ recp := string(r) -+ if strings.Compare(addr.Name, recp) == 0 || strings.Compare(addr.Address, recp) == 0 { -+ filteredList = append(filteredList, entity) -+ rSet[recp] = rSet[recp] + 1 -+ } -+ } -+ } -+ } -+ -+ // make sure we found keys for all the Recipients... -+ var buffer bytes.Buffer -+ notFound := false -+ buffer.WriteString("PGP: No key found for the following recipients: ") -+ -+ for k, v := range rSet { -+ if v == 0 { -+ if notFound { -+ buffer.WriteString(", ") -+ } -+ buffer.WriteString(k) -+ notFound = true -+ } -+ } -+ -+ if notFound { -+ return nil, errors.New(buffer.String()) -+ } -+ -+ return filteredList, nil -+} -diff --git a/vendor/github.com/containers/ocicrypt/keywrap/pkcs7/keywrapper_pkcs7.go b/vendor/github.com/containers/ocicrypt/keywrap/pkcs7/keywrapper_pkcs7.go -new file mode 100644 -index 000000000..2762b9777 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/keywrap/pkcs7/keywrapper_pkcs7.go -@@ -0,0 +1,132 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 pkcs7 -+ -+import ( -+ "crypto" -+ "crypto/x509" -+ -+ "github.com/containers/ocicrypt/config" -+ "github.com/containers/ocicrypt/keywrap" -+ "github.com/containers/ocicrypt/utils" -+ "github.com/fullsailor/pkcs7" -+ "github.com/pkg/errors" -+) -+ -+type pkcs7KeyWrapper struct { -+} -+ -+// NewKeyWrapper returns a new key wrapping interface using jwe -+func NewKeyWrapper() keywrap.KeyWrapper { -+ return &pkcs7KeyWrapper{} -+} -+ -+func (kw *pkcs7KeyWrapper) GetAnnotationID() string { -+ return "org.opencontainers.image.enc.keys.pkcs7" -+} -+ -+// WrapKeys wraps the session key for recpients and encrypts the optsData, which -+// describe the symmetric key used for encrypting the layer -+func (kw *pkcs7KeyWrapper) WrapKeys(ec *config.EncryptConfig, optsData []byte) ([]byte, error) { -+ x509Certs, err := collectX509s(ec.Parameters["x509s"]) -+ if err != nil { -+ return nil, err -+ } -+ // no recipients is not an error... -+ if len(x509Certs) == 0 { -+ return nil, nil -+ } -+ -+ pkcs7.ContentEncryptionAlgorithm = pkcs7.EncryptionAlgorithmAES128GCM -+ return pkcs7.Encrypt(optsData, x509Certs) -+} -+ -+func collectX509s(x509s [][]byte) ([]*x509.Certificate, error) { -+ if len(x509s) == 0 { -+ return nil, nil -+ } -+ var x509Certs []*x509.Certificate -+ for _, x509 := range x509s { -+ x509Cert, err := utils.ParseCertificate(x509, "PKCS7") -+ if err != nil { -+ return nil, err -+ } -+ x509Certs = append(x509Certs, x509Cert) -+ } -+ return x509Certs, nil -+} -+ -+func (kw *pkcs7KeyWrapper) GetPrivateKeys(dcparameters map[string][][]byte) [][]byte { -+ return dcparameters["privkeys"] -+} -+ -+func (kw *pkcs7KeyWrapper) getPrivateKeysPasswords(dcparameters map[string][][]byte) [][]byte { -+ return dcparameters["privkeys-passwords"] -+} -+ -+// UnwrapKey unwraps the symmetric key with which the layer is encrypted -+// This symmetric key is encrypted in the PKCS7 payload. -+func (kw *pkcs7KeyWrapper) UnwrapKey(dc *config.DecryptConfig, pkcs7Packet []byte) ([]byte, error) { -+ privKeys := kw.GetPrivateKeys(dc.Parameters) -+ if len(privKeys) == 0 { -+ return nil, errors.New("no private keys found for PKCS7 decryption") -+ } -+ privKeysPasswords := kw.getPrivateKeysPasswords(dc.Parameters) -+ if len(privKeysPasswords) != len(privKeys) { -+ return nil, errors.New("private key password array length must be same as that of private keys") -+ } -+ -+ x509Certs, err := collectX509s(dc.Parameters["x509s"]) -+ if err != nil { -+ return nil, err -+ } -+ if len(x509Certs) == 0 { -+ return nil, errors.New("no x509 certificates found needed for PKCS7 decryption") -+ } -+ -+ p7, err := pkcs7.Parse(pkcs7Packet) -+ if err != nil { -+ return nil, errors.Wrapf(err, "could not parse PKCS7 packet") -+ } -+ -+ for idx, privKey := range privKeys { -+ key, err := utils.ParsePrivateKey(privKey, privKeysPasswords[idx], "PKCS7") -+ if err != nil { -+ return nil, err -+ } -+ for _, x509Cert := range x509Certs { -+ optsData, err := p7.Decrypt(x509Cert, crypto.PrivateKey(key)) -+ if err != nil { -+ continue -+ } -+ return optsData, nil -+ } -+ } -+ return nil, errors.New("PKCS7: No suitable private key found for decryption") -+} -+ -+// GetKeyIdsFromWrappedKeys converts the base64 encoded Packet to uint64 keyIds; -+// We cannot do this with pkcs7 -+func (kw *pkcs7KeyWrapper) GetKeyIdsFromPacket(b64pkcs7Packets string) ([]uint64, error) { -+ return nil, nil -+} -+ -+// GetRecipients converts the wrappedKeys to an array of recipients -+// We cannot do this with pkcs7 -+func (kw *pkcs7KeyWrapper) GetRecipients(b64pkcs7Packets string) ([]string, error) { -+ return []string{"[pkcs7]"}, nil -+} -diff --git a/vendor/github.com/containers/ocicrypt/reader.go b/vendor/github.com/containers/ocicrypt/reader.go -new file mode 100644 -index 000000000..a93eec8e9 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/reader.go -@@ -0,0 +1,40 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 ocicrypt -+ -+import ( -+ "io" -+) -+ -+type readerAtReader struct { -+ r io.ReaderAt -+ off int64 -+} -+ -+// ReaderFromReaderAt takes an io.ReaderAt and returns an io.Reader -+func ReaderFromReaderAt(r io.ReaderAt) io.Reader { -+ return &readerAtReader{ -+ r: r, -+ off: 0, -+ } -+} -+ -+func (rar *readerAtReader) Read(p []byte) (n int, err error) { -+ n, err = rar.r.ReadAt(p, rar.off) -+ rar.off += int64(n) -+ return n, err -+} -diff --git a/vendor/github.com/containers/ocicrypt/spec/spec.go b/vendor/github.com/containers/ocicrypt/spec/spec.go -new file mode 100644 -index 000000000..330069d49 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/spec/spec.go -@@ -0,0 +1,12 @@ -+package spec -+ -+const ( -+ // MediaTypeLayerEnc is MIME type used for encrypted layers. -+ MediaTypeLayerEnc = "application/vnd.oci.image.layer.v1.tar+encrypted" -+ // MediaTypeLayerGzipEnc is MIME type used for encrypted compressed layers. -+ MediaTypeLayerGzipEnc = "application/vnd.oci.image.layer.v1.tar+gzip+encrypted" -+ // MediaTypeLayerNonDistributableEnc is MIME type used for non distributable encrypted layers. -+ MediaTypeLayerNonDistributableEnc = "application/vnd.oci.image.layer.nondistributable.v1.tar+encrypted" -+ // MediaTypeLayerGzipEnc is MIME type used for non distributable encrypted compressed layers. -+ MediaTypeLayerNonDistributableGzipEnc = "application/vnd.oci.image.layer.nondistributable.v1.tar+gzip+encrypted" -+) -diff --git a/vendor/github.com/containers/ocicrypt/utils/delayedreader.go b/vendor/github.com/containers/ocicrypt/utils/delayedreader.go -new file mode 100644 -index 000000000..3b939bdea ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/utils/delayedreader.go -@@ -0,0 +1,109 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 utils -+ -+import ( -+ "io" -+) -+ -+func min(a, b int) int { -+ if a < b { -+ return a -+ } -+ return b -+} -+ -+// DelayedReader wraps a io.Reader and allows a client to use the Reader -+// interface. The DelayedReader holds back some buffer to the client -+// so that it can report any error that occurred on the Reader it wraps -+// early to the client while it may still have held some data back. -+type DelayedReader struct { -+ reader io.Reader // Reader to Read() bytes from and delay them -+ err error // error that occurred on the reader -+ buffer []byte // delay buffer -+ bufbytes int // number of bytes in the delay buffer to give to Read(); on '0' we return 'EOF' to caller -+ bufoff int // offset in the delay buffer to give to Read() -+} -+ -+// NewDelayedReader wraps a io.Reader and allocates a delay buffer of bufsize bytes -+func NewDelayedReader(reader io.Reader, bufsize uint) io.Reader { -+ return &DelayedReader{ -+ reader: reader, -+ buffer: make([]byte, bufsize), -+ } -+} -+ -+// Read implements the io.Reader interface -+func (dr *DelayedReader) Read(p []byte) (int, error) { -+ if dr.err != nil && dr.err != io.EOF { -+ return 0, dr.err -+ } -+ -+ // if we are completely drained, return io.EOF -+ if dr.err == io.EOF && dr.bufbytes == 0 { -+ return 0, io.EOF -+ } -+ -+ // only at the beginning we fill our delay buffer in an extra step -+ if dr.bufbytes < len(dr.buffer) && dr.err == nil { -+ dr.bufbytes, dr.err = FillBuffer(dr.reader, dr.buffer) -+ if dr.err != nil && dr.err != io.EOF { -+ return 0, dr.err -+ } -+ } -+ // dr.err != nil means we have EOF and can drain the delay buffer -+ // otherwise we need to still read from the reader -+ -+ var tmpbuf []byte -+ tmpbufbytes := 0 -+ if dr.err == nil { -+ tmpbuf = make([]byte, len(p)) -+ tmpbufbytes, dr.err = FillBuffer(dr.reader, tmpbuf) -+ if dr.err != nil && dr.err != io.EOF { -+ return 0, dr.err -+ } -+ } -+ -+ // copy out of the delay buffer into 'p' -+ tocopy1 := min(len(p), dr.bufbytes) -+ c1 := copy(p[:tocopy1], dr.buffer[dr.bufoff:]) -+ dr.bufoff += c1 -+ dr.bufbytes -= c1 -+ -+ c2 := 0 -+ // can p still hold more data? -+ if c1 < len(p) { -+ // copy out of the tmpbuf into 'p' -+ c2 = copy(p[tocopy1:], tmpbuf[:tmpbufbytes]) -+ } -+ -+ // if tmpbuf holds data we need to hold onto, copy them -+ // into the delay buffer -+ if tmpbufbytes-c2 > 0 { -+ // left-shift the delay buffer and append the tmpbuf's remaining data -+ dr.buffer = dr.buffer[dr.bufoff : dr.bufoff+dr.bufbytes] -+ dr.buffer = append(dr.buffer, tmpbuf[c2:tmpbufbytes]...) -+ dr.bufoff = 0 -+ dr.bufbytes = len(dr.buffer) -+ } -+ -+ var err error -+ if dr.bufbytes == 0 { -+ err = io.EOF -+ } -+ return c1 + c2, err -+} -diff --git a/vendor/github.com/containers/ocicrypt/utils/ioutils.go b/vendor/github.com/containers/ocicrypt/utils/ioutils.go -new file mode 100644 -index 000000000..c360e0a33 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/utils/ioutils.go -@@ -0,0 +1,31 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 utils -+ -+import ( -+ "io" -+) -+ -+// FillBuffer fills the given buffer with as many bytes from the reader as possible. It returns -+// EOF if an EOF was encountered or any other error. -+func FillBuffer(reader io.Reader, buffer []byte) (int, error) { -+ n, err := io.ReadFull(reader, buffer) -+ if err == io.ErrUnexpectedEOF { -+ return n, io.EOF -+ } -+ return n, err -+} -diff --git a/vendor/github.com/containers/ocicrypt/utils/testing.go b/vendor/github.com/containers/ocicrypt/utils/testing.go -new file mode 100644 -index 000000000..e2ed4b1d8 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/utils/testing.go -@@ -0,0 +1,166 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 utils -+ -+import ( -+ "crypto/ecdsa" -+ "crypto/elliptic" -+ "crypto/rand" -+ "crypto/rsa" -+ "crypto/x509" -+ "crypto/x509/pkix" -+ "encoding/pem" -+ "math/big" -+ "time" -+ -+ "github.com/pkg/errors" -+) -+ -+// CreateRSAKey creates an RSA key -+func CreateRSAKey(bits int) (*rsa.PrivateKey, error) { -+ key, err := rsa.GenerateKey(rand.Reader, bits) -+ if err != nil { -+ return nil, errors.Wrap(err, "rsa.GenerateKey failed") -+ } -+ return key, nil -+} -+ -+// CreateRSATestKey creates an RSA key of the given size and returns -+// the public and private key in PEM or DER format -+func CreateRSATestKey(bits int, password []byte, pemencode bool) ([]byte, []byte, error) { -+ key, err := CreateRSAKey(bits) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ pubData, err := x509.MarshalPKIXPublicKey(&key.PublicKey) -+ if err != nil { -+ return nil, nil, errors.Wrap(err, "x509.MarshalPKIXPublicKey failed") -+ } -+ privData := x509.MarshalPKCS1PrivateKey(key) -+ -+ // no more encoding needed for DER -+ if !pemencode { -+ return pubData, privData, nil -+ } -+ -+ publicKey := pem.EncodeToMemory(&pem.Block{ -+ Type: "PUBLIC KEY", -+ Bytes: pubData, -+ }) -+ -+ var block *pem.Block -+ -+ typ := "RSA PRIVATE KEY" -+ if len(password) > 0 { -+ block, err = x509.EncryptPEMBlock(rand.Reader, typ, privData, password, x509.PEMCipherAES256) -+ if err != nil { -+ return nil, nil, errors.Wrap(err, "x509.EncryptPEMBlock failed") -+ } -+ } else { -+ block = &pem.Block{ -+ Type: typ, -+ Bytes: privData, -+ } -+ } -+ -+ privateKey := pem.EncodeToMemory(block) -+ -+ return publicKey, privateKey, nil -+} -+ -+// CreateECDSATestKey creates and elliptic curve key for the given curve and returns -+// the public and private key in DER format -+func CreateECDSATestKey(curve elliptic.Curve) ([]byte, []byte, error) { -+ key, err := ecdsa.GenerateKey(curve, rand.Reader) -+ if err != nil { -+ return nil, nil, errors.Wrapf(err, "ecdsa.GenerateKey failed") -+ } -+ -+ pubData, err := x509.MarshalPKIXPublicKey(&key.PublicKey) -+ if err != nil { -+ return nil, nil, errors.Wrapf(err, "x509.MarshalPKIXPublicKey failed") -+ } -+ -+ privData, err := x509.MarshalECPrivateKey(key) -+ if err != nil { -+ return nil, nil, errors.Wrapf(err, "x509.MarshalECPrivateKey failed") -+ } -+ -+ return pubData, privData, nil -+} -+ -+// CreateTestCA creates a root CA for testing -+func CreateTestCA() (*rsa.PrivateKey, *x509.Certificate, error) { -+ key, err := rsa.GenerateKey(rand.Reader, 2048) -+ if err != nil { -+ return nil, nil, errors.Wrap(err, "rsa.GenerateKey failed") -+ } -+ -+ ca := &x509.Certificate{ -+ SerialNumber: big.NewInt(1), -+ Subject: pkix.Name{ -+ CommonName: "test-ca", -+ }, -+ NotBefore: time.Now(), -+ NotAfter: time.Now().AddDate(1, 0, 0), -+ IsCA: true, -+ KeyUsage: x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign, -+ BasicConstraintsValid: true, -+ } -+ caCert, err := certifyKey(&key.PublicKey, ca, key, ca) -+ -+ return key, caCert, err -+} -+ -+// CertifyKey certifies a public key using the given CA's private key and cert; -+// The certificate template for the public key is optional -+func CertifyKey(pubbytes []byte, template *x509.Certificate, caKey *rsa.PrivateKey, caCert *x509.Certificate) (*x509.Certificate, error) { -+ pubKey, err := ParsePublicKey(pubbytes, "CertifyKey") -+ if err != nil { -+ return nil, err -+ } -+ return certifyKey(pubKey, template, caKey, caCert) -+} -+ -+func certifyKey(pub interface{}, template *x509.Certificate, caKey *rsa.PrivateKey, caCert *x509.Certificate) (*x509.Certificate, error) { -+ if template == nil { -+ template = &x509.Certificate{ -+ SerialNumber: big.NewInt(1), -+ Subject: pkix.Name{ -+ CommonName: "testkey", -+ }, -+ NotBefore: time.Now(), -+ NotAfter: time.Now().Add(time.Hour), -+ IsCA: false, -+ KeyUsage: x509.KeyUsageDigitalSignature, -+ BasicConstraintsValid: true, -+ } -+ } -+ -+ certDER, err := x509.CreateCertificate(rand.Reader, template, caCert, pub, caKey) -+ if err != nil { -+ return nil, errors.Wrap(err, "x509.CreateCertificate failed") -+ } -+ -+ cert, err := x509.ParseCertificate(certDER) -+ if err != nil { -+ return nil, errors.Wrap(err, "x509.ParseCertificate failed") -+ } -+ -+ return cert, nil -+} -diff --git a/vendor/github.com/containers/ocicrypt/utils/utils.go b/vendor/github.com/containers/ocicrypt/utils/utils.go -new file mode 100644 -index 000000000..14eea38c1 ---- /dev/null -+++ b/vendor/github.com/containers/ocicrypt/utils/utils.go -@@ -0,0 +1,220 @@ -+/* -+ Copyright The ocicrypt Authors. -+ -+ 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 utils -+ -+import ( -+ "bytes" -+ "crypto/x509" -+ "encoding/base64" -+ "encoding/pem" -+ "fmt" -+ "strings" -+ -+ "github.com/pkg/errors" -+ "golang.org/x/crypto/openpgp" -+ json "gopkg.in/square/go-jose.v2" -+) -+ -+// parseJWKPrivateKey parses the input byte array as a JWK and makes sure it's a private key -+func parseJWKPrivateKey(privKey []byte, prefix string) (interface{}, error) { -+ jwk := json.JSONWebKey{} -+ err := jwk.UnmarshalJSON(privKey) -+ if err != nil { -+ return nil, errors.Wrapf(err, "%s: Could not parse input as JWK", prefix) -+ } -+ if jwk.IsPublic() { -+ return nil, fmt.Errorf("%s: JWK is not a private key", prefix) -+ } -+ return &jwk, nil -+} -+ -+// parseJWKPublicKey parses the input byte array as a JWK -+func parseJWKPublicKey(privKey []byte, prefix string) (interface{}, error) { -+ jwk := json.JSONWebKey{} -+ err := jwk.UnmarshalJSON(privKey) -+ if err != nil { -+ return nil, errors.Wrapf(err, "%s: Could not parse input as JWK", prefix) -+ } -+ if !jwk.IsPublic() { -+ return nil, fmt.Errorf("%s: JWK is not a public key", prefix) -+ } -+ return &jwk, nil -+} -+ -+// IsPasswordError checks whether an error is related to a missing or wrong -+// password -+func IsPasswordError(err error) bool { -+ if err == nil { -+ return false -+ } -+ msg := strings.ToLower(err.Error()) -+ -+ return strings.Contains(msg, "password") && -+ (strings.Contains(msg, "missing") || strings.Contains(msg, "wrong")) -+} -+ -+// ParsePrivateKey tries to parse a private key in DER format first and -+// PEM format after, returning an error if the parsing failed -+func ParsePrivateKey(privKey, privKeyPassword []byte, prefix string) (interface{}, error) { -+ key, err := x509.ParsePKCS8PrivateKey(privKey) -+ if err != nil { -+ key, err = x509.ParsePKCS1PrivateKey(privKey) -+ if err != nil { -+ key, err = x509.ParseECPrivateKey(privKey) -+ } -+ } -+ if err != nil { -+ block, _ := pem.Decode(privKey) -+ if block != nil { -+ var der []byte -+ if x509.IsEncryptedPEMBlock(block) { -+ if privKeyPassword == nil { -+ return nil, errors.Errorf("%s: Missing password for encrypted private key", prefix) -+ } -+ der, err = x509.DecryptPEMBlock(block, privKeyPassword) -+ if err != nil { -+ return nil, errors.Errorf("%s: Wrong password: could not decrypt private key", prefix) -+ } -+ } else { -+ der = block.Bytes -+ } -+ -+ key, err = x509.ParsePKCS8PrivateKey(der) -+ if err != nil { -+ key, err = x509.ParsePKCS1PrivateKey(der) -+ if err != nil { -+ return nil, errors.Wrapf(err, "%s: Could not parse private key", prefix) -+ } -+ } -+ } else { -+ key, err = parseJWKPrivateKey(privKey, prefix) -+ } -+ } -+ return key, err -+} -+ -+// IsPrivateKey returns true in case the given byte array represents a private key -+// It returns an error if for example the password is wrong -+func IsPrivateKey(data []byte, password []byte) (bool, error) { -+ _, err := ParsePrivateKey(data, password, "") -+ return err == nil, err -+} -+ -+// ParsePublicKey tries to parse a public key in DER format first and -+// PEM format after, returning an error if the parsing failed -+func ParsePublicKey(pubKey []byte, prefix string) (interface{}, error) { -+ key, err := x509.ParsePKIXPublicKey(pubKey) -+ if err != nil { -+ block, _ := pem.Decode(pubKey) -+ if block != nil { -+ key, err = x509.ParsePKIXPublicKey(block.Bytes) -+ if err != nil { -+ return nil, errors.Wrapf(err, "%s: Could not parse public key", prefix) -+ } -+ } else { -+ key, err = parseJWKPublicKey(pubKey, prefix) -+ } -+ } -+ return key, err -+} -+ -+// IsPublicKey returns true in case the given byte array represents a public key -+func IsPublicKey(data []byte) bool { -+ _, err := ParsePublicKey(data, "") -+ return err == nil -+} -+ -+// ParseCertificate tries to parse a public key in DER format first and -+// PEM format after, returning an error if the parsing failed -+func ParseCertificate(certBytes []byte, prefix string) (*x509.Certificate, error) { -+ x509Cert, err := x509.ParseCertificate(certBytes) -+ if err != nil { -+ block, _ := pem.Decode(certBytes) -+ if block == nil { -+ return nil, fmt.Errorf("%s: Could not PEM decode x509 certificate", prefix) -+ } -+ x509Cert, err = x509.ParseCertificate(block.Bytes) -+ if err != nil { -+ return nil, errors.Wrapf(err, "%s: Could not parse x509 certificate", prefix) -+ } -+ } -+ return x509Cert, err -+} -+ -+// IsCertificate returns true in case the given byte array represents an x.509 certificate -+func IsCertificate(data []byte) bool { -+ _, err := ParseCertificate(data, "") -+ return err == nil -+} -+ -+// IsGPGPrivateKeyRing returns true in case the given byte array represents a GPG private key ring file -+func IsGPGPrivateKeyRing(data []byte) bool { -+ r := bytes.NewBuffer(data) -+ _, err := openpgp.ReadKeyRing(r) -+ return err == nil -+} -+ -+// SortDecryptionKeys parses a list of comma separated base64 entries and sorts the data into -+// a map. Each entry in the list may be either a GPG private key ring, private key, or x.509 -+// certificate -+func SortDecryptionKeys(b64ItemList string) (map[string][][]byte, error) { -+ dcparameters := make(map[string][][]byte) -+ -+ for _, b64Item := range strings.Split(b64ItemList, ",") { -+ var password []byte -+ b64Data := strings.Split(b64Item, ":") -+ keyData, err := base64.StdEncoding.DecodeString(b64Data[0]) -+ if err != nil { -+ return nil, errors.New("Could not base64 decode a passed decryption key") -+ } -+ if len(b64Data) == 2 { -+ password, err = base64.StdEncoding.DecodeString(b64Data[1]) -+ if err != nil { -+ return nil, errors.New("Could not base64 decode a passed decryption key password") -+ } -+ } -+ var key string -+ isPrivKey, err := IsPrivateKey(keyData, password) -+ if IsPasswordError(err) { -+ return nil, err -+ } -+ if isPrivKey { -+ key = "privkeys" -+ if _, ok := dcparameters["privkeys-passwords"]; !ok { -+ dcparameters["privkeys-passwords"] = [][]byte{password} -+ } else { -+ dcparameters["privkeys-passwords"] = append(dcparameters["privkeys-passwords"], password) -+ } -+ } else if IsCertificate(keyData) { -+ key = "x509s" -+ } else if IsGPGPrivateKeyRing(keyData) { -+ key = "gpg-privatekeys" -+ } -+ if key != "" { -+ values := dcparameters[key] -+ if values == nil { -+ dcparameters[key] = [][]byte{keyData} -+ } else { -+ dcparameters[key] = append(dcparameters[key], keyData) -+ } -+ } else { -+ return nil, errors.New("Unknown decryption key type") -+ } -+ } -+ -+ return dcparameters, nil -+} -diff --git a/vendor/github.com/containers/storage/.cirrus.yml b/vendor/github.com/containers/storage/.cirrus.yml -index 619e077d0..e4b38947d 100644 ---- a/vendor/github.com/containers/storage/.cirrus.yml -+++ b/vendor/github.com/containers/storage/.cirrus.yml -@@ -19,9 +19,11 @@ env: - #### - # GCE project where images live - IMAGE_PROJECT: "libpod-218412" -- FEDORA_CACHE_IMAGE_NAME: "fedora-cloud-base-30-1-2-1556821664" -- PRIOR_FEDORA_CACHE_IMAGE_NAME: "fedora-cloud-base-29-1-2-1541789245" -- UBUNTU_CACHE_IMAGE_NAME: "ubuntu-1904-disco-v20190514" -+ _BUILT_IMAGE_SUFFIX: "libpod-6228273469587456" -+ FEDORA_CACHE_IMAGE_NAME: "fedora-31-${_BUILT_IMAGE_SUFFIX}" -+ PRIOR_FEDORA_CACHE_IMAGE_NAME: "fedora-30-${_BUILT_IMAGE_SUFFIX}" -+ UBUNTU_CACHE_IMAGE_NAME: "ubuntu-19-${_BUILT_IMAGE_SUFFIX}" -+ PRIOR_UBUNTU_CACHE_IMAGE_NAME: "ubuntu-18-${_BUILT_IMAGE_SUFFIX}" - - #### - #### Command variables to help avoid duplication -@@ -49,11 +51,14 @@ gce_instance: - image_name: "${FEDORA_CACHE_IMAGE_NAME}" - - testing_task: -+ depends_on: -+ - lint - gce_instance: # Only need to specify differences from defaults (above) - matrix: # Duplicate this task for each matrix product. - image_name: "${FEDORA_CACHE_IMAGE_NAME}" - image_name: "${PRIOR_FEDORA_CACHE_IMAGE_NAME}" - image_name: "${UBUNTU_CACHE_IMAGE_NAME}" -+ # image_name: "${PRIOR_UBUNTU_CACHE_IMAGE_NAME}" # No fuse3 support - - # Separate scripts for separate outputs, makes debugging easier. - setup_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/setup.sh |& ${_TIMESTAMP}' -@@ -99,6 +104,7 @@ meta_task: - ${FEDORA_CACHE_IMAGE_NAME} - ${PRIOR_FEDORA_CACHE_IMAGE_NAME} - ${UBUNTU_CACHE_IMAGE_NAME} -+ ${PRIOR_UBUNTU_CACHE_IMAGE_NAME} - BUILDID: "${CIRRUS_BUILD_ID}" - REPOREF: "${CIRRUS_CHANGE_IN_REPO}" - GCPJSON: ENCRYPTED[244a93fe8b386b48b96f748342bf741350e43805eee81dd04b45093bdf737e540b993fc735df41f131835fa0f9b65826] -@@ -110,7 +116,7 @@ meta_task: - - vendor_task: - container: -- image: golang:1.12 -+ image: golang:1.13 - modules_cache: - fingerprint_script: cat go.sum - folder: $GOPATH/pkg/mod -diff --git a/vendor/github.com/containers/storage/.gitignore b/vendor/github.com/containers/storage/.gitignore -index 1896698e4..64b9a98bd 100644 ---- a/vendor/github.com/containers/storage/.gitignore -+++ b/vendor/github.com/containers/storage/.gitignore -@@ -2,6 +2,7 @@ - # if you want to ignore files created by your editor/tools, - # please consider a global .gitignore https://help.github.com/articles/ignoring-files - *.1 -+*.5 - *.exe - *~ - *.orig -diff --git a/vendor/github.com/containers/storage/.golangci.yml b/vendor/github.com/containers/storage/.golangci.yml -index ec4ebb187..cd4638a39 100644 ---- a/vendor/github.com/containers/storage/.golangci.yml -+++ b/vendor/github.com/containers/storage/.golangci.yml -@@ -3,37 +3,35 @@ run: - concurrency: 6 - deadline: 5m - linters: -- disable-all: true -- enable: -- - bodyclose -- - depguard -- - gofmt -- - interfacer -- - typecheck -- # - deadcode -- # - dupl -- # - errcheck -- # - gochecknoglobals -- # - gochecknoinits -- # - goconst -- # - gocritic -- # - gocyclo -- # - goimports -- # - golint -- # - gosec -- # - gosimple -- # - govet -- # - ineffassign -- # - lll -- # - maligned -- # - misspell -- # - nakedret -- # - prealloc -- # - scopelint -- # - staticcheck -- # - structcheck -- # - stylecheck -- # - unconvert -- # - unparam -- # - unused -- # - varcheck -+ enable-all: true -+ disable: -+ - dogsled -+ - dupl -+ - errcheck -+ - funlen -+ - gochecknoglobals -+ - gochecknoinits -+ - gocognit -+ - gocritic -+ - gocyclo -+ - godox -+ - gomnd -+ - gosec -+ - gosimple -+ - govet -+ - ineffassign -+ - lll -+ - maligned -+ - misspell -+ - nakedret -+ - prealloc -+ - scopelint -+ - staticcheck -+ - structcheck -+ - stylecheck -+ - unconvert -+ - unparam -+ - unused -+ - varcheck -+ - whitespace -+ - wsl -diff --git a/vendor/github.com/containers/storage/.travis.yml b/vendor/github.com/containers/storage/.travis.yml -index dc1c61391..a7865729d 100644 ---- a/vendor/github.com/containers/storage/.travis.yml -+++ b/vendor/github.com/containers/storage/.travis.yml -@@ -15,30 +15,21 @@ env: - - GO_VERSION="stable" - DISTRO="ubuntu" - -- - GO_VERSION="1.11" -- DISTRO="ubuntu" -- -- - GO_VERSION="1.12" -+ - GO_VERSION="1.12.12" - DISTRO="ubuntu" - - # Fedora - - GO_VERSION="stable" - DISTRO="fedora" - -- - GO_VERSION="1.11" -- DISTRO="fedora" -- -- - GO_VERSION="1.12" -+ - GO_VERSION="1.12.12" - DISTRO="fedora" - - # CentOS - - GO_VERSION="stable" - DISTRO="centos" - -- - GO_VERSION="1.11" -- DISTRO="centos" -- -- - GO_VERSION="1.12" -+ - GO_VERSION="1.12.12" - DISTRO="centos" - - # GO_VERSION="stable" builds successfully, but tests fail on all platforms. -diff --git a/vendor/github.com/containers/storage/Makefile b/vendor/github.com/containers/storage/Makefile -index 90e5ca499..1b69d6060 100644 ---- a/vendor/github.com/containers/storage/Makefile -+++ b/vendor/github.com/containers/storage/Makefile -@@ -34,9 +34,11 @@ BUILDFLAGS := -tags "$(AUTOTAGS) $(TAGS)" $(FLAGS) - GO ?= go - - GO_BUILD=$(GO) build -+GO_TEST=$(GO) test - # Go module support: set `-mod=vendor` to use the vendored sources - ifeq ($(shell $(GO) help mod >/dev/null 2>&1 && echo true), true) - GO_BUILD=GO111MODULE=on $(GO) build -mod=vendor -+ GO_TEST=GO111MODULE=on $(GO) test -mod=vendor - endif - - RUNINVM := vagrant/runinvm.sh -@@ -95,7 +97,7 @@ test: local-binary ## build the binaries and run the tests using VMs - $(RUNINVM) make local-binary local-cross local-test-unit local-test-integration - - local-test-unit: local-binary ## run the unit tests on the host (requires\nsuperuser privileges) -- @$(GO) test $(BUILDFLAGS) $(shell $(GO) list ./... | grep -v ^$(PACKAGE)/vendor) -+ @$(GO_TEST) $(BUILDFLAGS) $(shell $(GO) list ./... | grep -v ^$(PACKAGE)/vendor) - - test-unit: local-binary ## run the unit tests using VMs - $(RUNINVM) make local-$@ -@@ -127,6 +129,9 @@ lint: install.tools - help: ## this help - @awk 'BEGIN {FS = ":.*?## "} /^[a-z A-Z_-]+:.*?## / {gsub(" ",",",$$1);gsub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-21s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) - -+vendor-in-container: -+ podman run --privileged --rm --env HOME=/root -v `pwd`:/src -w /src golang make vendor -+ - vendor: - export GO111MODULE=on \ - $(GO) mod tidy && \ -diff --git a/vendor/github.com/containers/storage/VERSION b/vendor/github.com/containers/storage/VERSION -index 2e3a551fe..98e863cdf 100644 ---- a/vendor/github.com/containers/storage/VERSION -+++ b/vendor/github.com/containers/storage/VERSION -@@ -1 +1 @@ --1.13.6 -+1.15.8 -diff --git a/vendor/github.com/containers/storage/drivers/aufs/aufs.go b/vendor/github.com/containers/storage/drivers/aufs/aufs.go -index 4430670a2..c4ced0488 100644 ---- a/vendor/github.com/containers/storage/drivers/aufs/aufs.go -+++ b/vendor/github.com/containers/storage/drivers/aufs/aufs.go -@@ -35,7 +35,7 @@ import ( - "sync" - "time" - -- "github.com/containers/storage/drivers" -+ graphdriver "github.com/containers/storage/drivers" - "github.com/containers/storage/pkg/archive" - "github.com/containers/storage/pkg/chrootarchive" - "github.com/containers/storage/pkg/directory" -diff --git a/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go b/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go -index 1f719fa85..be4362dc0 100644 ---- a/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go -+++ b/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go -@@ -26,7 +26,7 @@ import ( - "sync" - "unsafe" - -- "github.com/containers/storage/drivers" -+ graphdriver "github.com/containers/storage/drivers" - "github.com/containers/storage/pkg/idtools" - "github.com/containers/storage/pkg/mount" - "github.com/containers/storage/pkg/parsers" -@@ -627,7 +627,12 @@ func (d *Driver) Remove(id string) error { - d.updateQuotaStatus() - - if err := subvolDelete(d.subvolumesDir(), id, d.quotaEnabled); err != nil { -- return err -+ if d.quotaEnabled { -+ return err -+ } -+ // If quota is not enabled, fallback to rmdir syscall to delete subvolumes. -+ // This would allow unprivileged user to delete their owned subvolumes -+ // in kernel >= 4.18 without user_subvol_rm_alowed mount option. - } - if err := system.EnsureRemoveAll(dir); err != nil { - return err -diff --git a/vendor/github.com/containers/storage/drivers/chown_unix.go b/vendor/github.com/containers/storage/drivers/chown_unix.go -index 51d6d754b..94c641536 100644 ---- a/vendor/github.com/containers/storage/drivers/chown_unix.go -+++ b/vendor/github.com/containers/storage/drivers/chown_unix.go -@@ -25,14 +25,14 @@ func platformLChown(path string, info os.FileInfo, toHost, toContainer *idtools. - UID: uid, - GID: gid, - } -- mappedUid, mappedGid, err := toContainer.ToContainer(pair) -+ mappedUID, mappedGID, err := toContainer.ToContainer(pair) - if err != nil { - if (uid != 0) || (gid != 0) { - return fmt.Errorf("error mapping host ID pair %#v for %q to container: %v", pair, path, err) - } -- mappedUid, mappedGid = uid, gid -+ mappedUID, mappedGID = uid, gid - } -- uid, gid = mappedUid, mappedGid -+ uid, gid = mappedUID, mappedGID - } - if toHost != nil { - pair := idtools.IDPair{ -diff --git a/vendor/github.com/containers/storage/drivers/copy/copy_linux.go b/vendor/github.com/containers/storage/drivers/copy/copy_linux.go -index d614b78fc..c00b9e47d 100644 ---- a/vendor/github.com/containers/storage/drivers/copy/copy_linux.go -+++ b/vendor/github.com/containers/storage/drivers/copy/copy_linux.go -@@ -16,6 +16,7 @@ import ( - "io" - "os" - "path/filepath" -+ "strings" - "syscall" - "time" - -@@ -97,7 +98,7 @@ func legacyCopy(srcFile io.Reader, dstFile io.Writer) error { - - func copyXattr(srcPath, dstPath, attr string) error { - data, err := system.Lgetxattr(srcPath, attr) -- if err != nil { -+ if err != nil && err != unix.EOPNOTSUPP { - return err - } - if data != nil { -@@ -155,7 +156,7 @@ func DirCopy(srcDir, dstDir string, copyMode Mode, copyXattrs bool) error { - - switch mode := f.Mode(); { - case mode.IsRegular(): -- id := fileID{dev: stat.Dev, ino: stat.Ino} -+ id := fileID{dev: uint64(stat.Dev), ino: stat.Ino} - if copyMode == Hardlink { - isHardlink = true - if err2 := os.Link(srcPath, dstPath); err2 != nil { -@@ -271,6 +272,19 @@ func doCopyXattrs(srcPath, dstPath string) error { - return err - } - -+ xattrs, err := system.Llistxattr(srcPath) -+ if err != nil && err != unix.EOPNOTSUPP { -+ return err -+ } -+ -+ for _, key := range xattrs { -+ if strings.HasPrefix(key, "user.") { -+ if err := copyXattr(srcPath, dstPath, key); err != nil { -+ return err -+ } -+ } -+ } -+ - // We need to copy this attribute if it appears in an overlay upper layer, as - // this function is used to copy those. It is set by overlay if a directory - // is removed and then re-created and should not inherit anything from the -diff --git a/vendor/github.com/containers/storage/drivers/devmapper/deviceset.go b/vendor/github.com/containers/storage/drivers/devmapper/deviceset.go -index 1ea6cfc36..867ad1196 100644 ---- a/vendor/github.com/containers/storage/drivers/devmapper/deviceset.go -+++ b/vendor/github.com/containers/storage/drivers/devmapper/deviceset.go -@@ -18,7 +18,7 @@ import ( - "sync" - "time" - -- "github.com/containers/storage/drivers" -+ graphdriver "github.com/containers/storage/drivers" - "github.com/containers/storage/pkg/devicemapper" - "github.com/containers/storage/pkg/dmesg" - "github.com/containers/storage/pkg/idtools" -@@ -49,8 +49,13 @@ var ( - lvmSetupConfigForce bool - ) - --const deviceSetMetaFile string = "deviceset-metadata" --const transactionMetaFile string = "transaction-metadata" -+const ( -+ deviceSetMetaFile = "deviceset-metadata" -+ transactionMetaFile = "transaction-metadata" -+ xfs = "xfs" -+ ext4 = "ext4" -+ base = "base" -+) - - type transaction struct { - OpenTransactionID uint64 `json:"open_transaction_id"` -@@ -199,7 +204,7 @@ func getDevName(name string) string { - func (info *devInfo) Name() string { - hash := info.Hash - if hash == "" { -- hash = "base" -+ hash = base - } - return fmt.Sprintf("%s-%s", info.devices.devicePrefix, hash) - } -@@ -219,7 +224,7 @@ func (devices *DeviceSet) metadataDir() string { - func (devices *DeviceSet) metadataFile(info *devInfo) string { - file := info.Hash - if file == "" { -- file = "base" -+ file = base - } - return path.Join(devices.metadataDir(), file) - } -@@ -440,7 +445,7 @@ func (devices *DeviceSet) deviceFileWalkFunction(path string, finfo os.FileInfo) - logrus.Debugf("devmapper: Loading data for file %s", path) - - hash := finfo.Name() -- if hash == "base" { -+ if hash == base { - hash = "" - } - -@@ -542,7 +547,7 @@ func xfsSupported() error { - } - - // Check if kernel supports xfs filesystem or not. -- exec.Command("modprobe", "xfs").Run() -+ exec.Command("modprobe", xfs).Run() - - f, err := os.Open("/proc/filesystems") - if err != nil { -@@ -567,16 +572,16 @@ func xfsSupported() error { - func determineDefaultFS() string { - err := xfsSupported() - if err == nil { -- return "xfs" -+ return xfs - } - -- logrus.Warnf("devmapper: XFS is not supported in your system (%v). Defaulting to ext4 filesystem", err) -- return "ext4" -+ logrus.Warnf("devmapper: XFS is not supported in your system (%v). Defaulting to %s filesystem", ext4, err) -+ return ext4 - } - - // mkfsOptions tries to figure out whether some additional mkfs options are required - func mkfsOptions(fs string) []string { -- if fs == "xfs" && !kernel.CheckKernelVersion(3, 16, 0) { -+ if fs == xfs && !kernel.CheckKernelVersion(3, 16, 0) { - // For kernels earlier than 3.16 (and newer xfsutils), - // some xfs features need to be explicitly disabled. - return []string{"-m", "crc=0,finobt=0"} -@@ -609,9 +614,9 @@ func (devices *DeviceSet) createFilesystem(info *devInfo) (err error) { - }() - - switch devices.filesystem { -- case "xfs": -+ case xfs: - err = exec.Command("mkfs.xfs", args...).Run() -- case "ext4": -+ case ext4: - err = exec.Command("mkfs.ext4", append([]string{"-E", "nodiscard,lazy_itable_init=0,lazy_journal_init=0"}, args...)...).Run() - if err != nil { - err = exec.Command("mkfs.ext4", append([]string{"-E", "nodiscard,lazy_itable_init=0"}, args...)...).Run() -@@ -1197,7 +1202,7 @@ func (devices *DeviceSet) growFS(info *devInfo) error { - } - - options := "" -- if devices.BaseDeviceFilesystem == "xfs" { -+ if devices.BaseDeviceFilesystem == xfs { - // XFS needs nouuid or it can't mount filesystems with the same fs - options = joinMountOptions(options, "nouuid") - } -@@ -1210,11 +1215,11 @@ func (devices *DeviceSet) growFS(info *devInfo) error { - defer unix.Unmount(fsMountPoint, unix.MNT_DETACH) - - switch devices.BaseDeviceFilesystem { -- case "ext4": -+ case ext4: - if out, err := exec.Command("resize2fs", info.DevName()).CombinedOutput(); err != nil { - return fmt.Errorf("Failed to grow rootfs:%v:%s", err, string(out)) - } -- case "xfs": -+ case xfs: - if out, err := exec.Command("xfs_growfs", info.DevName()).CombinedOutput(); err != nil { - return fmt.Errorf("Failed to grow rootfs:%v:%s", err, string(out)) - } -@@ -2391,7 +2396,7 @@ func (devices *DeviceSet) MountDevice(hash, path string, moptions graphdriver.Mo - - options := "" - -- if fstype == "xfs" { -+ if fstype == xfs { - // XFS needs nouuid or it can't mount filesystems with the same fs - options = joinMountOptions(options, "nouuid") - } -@@ -2412,7 +2417,7 @@ func (devices *DeviceSet) MountDevice(hash, path string, moptions graphdriver.Mo - return fmt.Errorf("devmapper: Error mounting '%s' on '%s': %s\n%v", info.DevName(), path, err, string(dmesg.Dmesg(256))) - } - -- if fstype == "xfs" && devices.xfsNospaceRetries != "" { -+ if fstype == xfs && devices.xfsNospaceRetries != "" { - if err := devices.xfsSetNospaceRetries(info); err != nil { - unix.Unmount(path, unix.MNT_DETACH) - devices.deactivateDevice(info) -@@ -2693,7 +2698,7 @@ func NewDeviceSet(root string, doInit bool, options []string, uidMaps, gidMaps [ - } - devices.metaDataLoopbackSize = size - case "dm.fs": -- if val != "ext4" && val != "xfs" { -+ if val != ext4 && val != xfs { - return nil, fmt.Errorf("devmapper: Unsupported filesystem %s", val) - } - devices.filesystem = val -diff --git a/vendor/github.com/containers/storage/drivers/devmapper/driver.go b/vendor/github.com/containers/storage/drivers/devmapper/driver.go -index 3c044c12e..ca50e7f06 100644 ---- a/vendor/github.com/containers/storage/drivers/devmapper/driver.go -+++ b/vendor/github.com/containers/storage/drivers/devmapper/driver.go -@@ -9,7 +9,7 @@ import ( - "path" - "strconv" - -- "github.com/containers/storage/drivers" -+ graphdriver "github.com/containers/storage/drivers" - "github.com/containers/storage/pkg/devicemapper" - "github.com/containers/storage/pkg/idtools" - "github.com/containers/storage/pkg/locker" -diff --git a/vendor/github.com/containers/storage/drivers/driver.go b/vendor/github.com/containers/storage/drivers/driver.go -index 8d6b2a5dc..a5393c10f 100644 ---- a/vendor/github.com/containers/storage/drivers/driver.go -+++ b/vendor/github.com/containers/storage/drivers/driver.go -@@ -49,8 +49,8 @@ type MountOpts struct { - // Mount label is the MAC Labels to assign to mount point (SELINUX) - MountLabel string - // UidMaps & GidMaps are the User Namespace mappings to be assigned to content in the mount point -- UidMaps []idtools.IDMap -- GidMaps []idtools.IDMap -+ UidMaps []idtools.IDMap // nolint: golint -+ GidMaps []idtools.IDMap // nolint: golint - Options []string - } - -diff --git a/vendor/github.com/containers/storage/drivers/driver_linux.go b/vendor/github.com/containers/storage/drivers/driver_linux.go -index a45f6b44c..dddf8a8b4 100644 ---- a/vendor/github.com/containers/storage/drivers/driver_linux.go -+++ b/vendor/github.com/containers/storage/drivers/driver_linux.go -@@ -48,6 +48,8 @@ const ( - FsMagicZfs = FsMagic(0x2fc12fc1) - // FsMagicOverlay filesystem id for overlay - FsMagicOverlay = FsMagic(0x794C7630) -+ // FsMagicFUSE filesystem id for FUSE -+ FsMagicFUSE = FsMagic(0x65735546) - ) - - var ( -diff --git a/vendor/github.com/containers/storage/drivers/overlay/overlay.go b/vendor/github.com/containers/storage/drivers/overlay/overlay.go -index 97222fe7a..232cac71a 100644 ---- a/vendor/github.com/containers/storage/drivers/overlay/overlay.go -+++ b/vendor/github.com/containers/storage/drivers/overlay/overlay.go -@@ -142,8 +142,7 @@ func Init(home string, options graphdriver.Options) (graphdriver.Driver, error) - if opts.mountProgram == "" { - switch fsMagic { - case graphdriver.FsMagicAufs, graphdriver.FsMagicZfs, graphdriver.FsMagicOverlay, graphdriver.FsMagicEcryptfs: -- logrus.Errorf("'overlay' is not supported over %s", backingFs) -- return nil, errors.Wrapf(graphdriver.ErrIncompatibleFS, "'overlay' is not supported over %s", backingFs) -+ return nil, errors.Wrapf(graphdriver.ErrIncompatibleFS, "'overlay' is not supported over %s, a mount_program is required", backingFs) - } - } - -@@ -231,13 +230,18 @@ func Init(home string, options graphdriver.Options) (graphdriver.Driver, error) - } - } - -+ fileSystemType := graphdriver.FsMagicOverlay -+ if opts.mountProgram != "" { -+ fileSystemType = graphdriver.FsMagicFUSE -+ } -+ - d := &Driver{ - name: "overlay", - home: home, - runhome: runhome, - uidMaps: options.UIDMaps, - gidMaps: options.GIDMaps, -- ctr: graphdriver.NewRefCounter(graphdriver.NewFsChecker(graphdriver.FsMagicOverlay)), -+ ctr: graphdriver.NewRefCounter(graphdriver.NewFsChecker(fileSystemType)), - supportsDType: supportsDType, - usingMetacopy: usingMetacopy, - locker: locker.New(), -@@ -397,9 +401,8 @@ func supportsOverlay(home string, homeMagic graphdriver.FsMagic, rootUID, rootGI - if err == nil { - logrus.Debugf("overlay test mount with multiple lowers succeeded") - return supportsDType, nil -- } else { -- logrus.Debugf("overlay test mount with multiple lowers failed %v", err) - } -+ logrus.Debugf("overlay test mount with multiple lowers failed %v", err) - } - flags = fmt.Sprintf("lowerdir=%s,upperdir=%s,workdir=%s", lower1Dir, upperDir, workDir) - if len(flags) < unix.Getpagesize() { -@@ -407,9 +410,8 @@ func supportsOverlay(home string, homeMagic graphdriver.FsMagic, rootUID, rootGI - if err == nil { - logrus.Errorf("overlay test mount with multiple lowers failed, but succeeded with a single lower") - return supportsDType, errors.Wrap(graphdriver.ErrNotSupported, "kernel too old to provide multiple lowers feature for overlay") -- } else { -- logrus.Debugf("overlay test mount with a single lower failed %v", err) - } -+ logrus.Debugf("overlay test mount with a single lower failed %v", err) - } - logrus.Errorf("'overlay' is not supported over %s at %q", backingFs, home) - return supportsDType, errors.Wrapf(graphdriver.ErrIncompatibleFS, "'overlay' is not supported over %s at %q", backingFs, home) -@@ -671,9 +673,6 @@ func (d *Driver) getLower(parent string) (string, error) { - parentLowers := strings.Split(string(parentLower), ":") - lowers = append(lowers, parentLowers...) - } -- if len(lowers) > maxDepth { -- return "", errors.New("max depth exceeded") -- } - return strings.Join(lowers, ":"), nil - } - -@@ -809,20 +808,15 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO - return "", err - } - readWrite := true -- // fuse-overlayfs doesn't support working without an upperdir. -- if d.options.mountProgram == "" { -- for _, o := range options.Options { -- if o == "ro" { -- readWrite = false -- break -- } -- } -- } - - lowers, err := ioutil.ReadFile(path.Join(dir, lowerFile)) - if err != nil && !os.IsNotExist(err) { - return "", err - } -+ splitLowers := strings.Split(string(lowers), ":") -+ if len(splitLowers) > maxDepth { -+ return "", errors.New("max depth exceeded") -+ } - - // absLowers is the list of lowers as absolute paths, which works well with additional stores. - absLowers := []string{} -@@ -846,7 +840,7 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO - - // For each lower, resolve its path, and append it and any additional diffN - // directories to the lowers list. -- for _, l := range strings.Split(string(lowers), ":") { -+ for _, l := range splitLowers { - if l == "" { - continue - } -@@ -1016,8 +1010,39 @@ func (d *Driver) Put(id string) error { - if _, err := ioutil.ReadFile(path.Join(dir, lowerFile)); err != nil && !os.IsNotExist(err) { - return err - } -- if err := unix.Unmount(mountpoint, unix.MNT_DETACH); err != nil && !os.IsNotExist(err) { -- logrus.Debugf("Failed to unmount %s overlay: %s - %v", id, mountpoint, err) -+ -+ unmounted := false -+ -+ if d.options.mountProgram != "" { -+ // Attempt to unmount the FUSE mount using either fusermount or fusermount3. -+ // If they fail, fallback to unix.Unmount -+ for _, v := range []string{"fusermount3", "fusermount"} { -+ err := exec.Command(v, "-u", mountpoint).Run() -+ if err != nil && !os.IsNotExist(err) { -+ logrus.Debugf("Error unmounting %s with %s - %v", mountpoint, v, err) -+ } -+ if err == nil { -+ unmounted = true -+ break -+ } -+ } -+ // If fusermount|fusermount3 failed to unmount the FUSE file system, make sure all -+ // pending changes are propagated to the file system -+ if !unmounted { -+ fd, err := unix.Open(mountpoint, unix.O_DIRECTORY, 0) -+ if err == nil { -+ if err := unix.Syncfs(fd); err != nil { -+ logrus.Debugf("Error Syncfs(%s) - %v", mountpoint, err) -+ } -+ unix.Close(fd) -+ } -+ } -+ } -+ -+ if !unmounted { -+ if err := unix.Unmount(mountpoint, unix.MNT_DETACH); err != nil && !os.IsNotExist(err) { -+ logrus.Debugf("Failed to unmount %s overlay: %s - %v", id, mountpoint, err) -+ } - } - - if err := unix.Rmdir(mountpoint); err != nil && !os.IsNotExist(err) { -diff --git a/vendor/github.com/containers/storage/drivers/overlayutils/overlayutils.go b/vendor/github.com/containers/storage/drivers/overlayutils/overlayutils.go -index 49aaad07d..9fc57b36b 100644 ---- a/vendor/github.com/containers/storage/drivers/overlayutils/overlayutils.go -+++ b/vendor/github.com/containers/storage/drivers/overlayutils/overlayutils.go -@@ -5,7 +5,7 @@ package overlayutils - import ( - "fmt" - -- "github.com/containers/storage/drivers" -+ graphdriver "github.com/containers/storage/drivers" - "github.com/pkg/errors" - ) - -diff --git a/vendor/github.com/containers/storage/drivers/vfs/copy_linux.go b/vendor/github.com/containers/storage/drivers/vfs/copy_linux.go -index 8137fcf67..bf22a5f6f 100644 ---- a/vendor/github.com/containers/storage/drivers/vfs/copy_linux.go -+++ b/vendor/github.com/containers/storage/drivers/vfs/copy_linux.go -@@ -3,5 +3,5 @@ package vfs - import "github.com/containers/storage/drivers/copy" - - func dirCopy(srcDir, dstDir string) error { -- return copy.DirCopy(srcDir, dstDir, copy.Content, false) -+ return copy.DirCopy(srcDir, dstDir, copy.Content, true) - } -diff --git a/vendor/github.com/containers/storage/drivers/vfs/driver.go b/vendor/github.com/containers/storage/drivers/vfs/driver.go -index 58a1635ae..f2859b427 100644 ---- a/vendor/github.com/containers/storage/drivers/vfs/driver.go -+++ b/vendor/github.com/containers/storage/drivers/vfs/driver.go -@@ -8,7 +8,7 @@ import ( - "strconv" - "strings" - -- "github.com/containers/storage/drivers" -+ graphdriver "github.com/containers/storage/drivers" - "github.com/containers/storage/pkg/archive" - "github.com/containers/storage/pkg/idtools" - "github.com/containers/storage/pkg/parsers" -diff --git a/vendor/github.com/containers/storage/drivers/zfs/zfs.go b/vendor/github.com/containers/storage/drivers/zfs/zfs.go -index a2bf5565b..c9c8c5c3c 100644 ---- a/vendor/github.com/containers/storage/drivers/zfs/zfs.go -+++ b/vendor/github.com/containers/storage/drivers/zfs/zfs.go -@@ -12,7 +12,7 @@ import ( - "sync" - "time" - -- "github.com/containers/storage/drivers" -+ graphdriver "github.com/containers/storage/drivers" - "github.com/containers/storage/pkg/idtools" - "github.com/containers/storage/pkg/mount" - "github.com/containers/storage/pkg/parsers" -diff --git a/vendor/github.com/containers/storage/drivers/zfs/zfs_linux.go b/vendor/github.com/containers/storage/drivers/zfs/zfs_linux.go -index fb1ef3a3d..edcb1da36 100644 ---- a/vendor/github.com/containers/storage/drivers/zfs/zfs_linux.go -+++ b/vendor/github.com/containers/storage/drivers/zfs/zfs_linux.go -@@ -1,7 +1,7 @@ - package zfs - - import ( -- "github.com/containers/storage/drivers" -+ graphdriver "github.com/containers/storage/drivers" - "github.com/pkg/errors" - "github.com/sirupsen/logrus" - ) -diff --git a/vendor/github.com/containers/storage/go.mod b/vendor/github.com/containers/storage/go.mod -index 934e82ad2..ba40f9c14 100644 ---- a/vendor/github.com/containers/storage/go.mod -+++ b/vendor/github.com/containers/storage/go.mod -@@ -3,26 +3,29 @@ module github.com/containers/storage - require ( - github.com/BurntSushi/toml v0.3.1 - github.com/DataDog/zstd v1.4.0 // indirect -- github.com/Microsoft/go-winio v0.4.12 -- github.com/Microsoft/hcsshim v0.8.6 -- github.com/docker/docker v0.0.0-20171019062838-86f080cff091 -+ github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 -+ github.com/Microsoft/hcsshim v0.8.7 -+ github.com/docker/docker v0.0.0-20171019062838-86f080cff091 // indirect - github.com/docker/go-units v0.4.0 -- github.com/klauspost/compress v1.7.2 -+ github.com/klauspost/compress v1.9.8 - github.com/klauspost/cpuid v1.2.1 // indirect - github.com/klauspost/pgzip v1.2.1 -- github.com/mattn/go-shellwords v1.0.5 -+ github.com/mattn/go-shellwords v1.0.9 - github.com/mistifyio/go-zfs v2.1.1+incompatible - github.com/opencontainers/go-digest v1.0.0-rc1 -- github.com/opencontainers/runc v1.0.0-rc8 -- github.com/opencontainers/selinux v1.2.2 -- github.com/pkg/errors v0.8.1 -+ github.com/opencontainers/runc v1.0.0-rc9 -+ github.com/opencontainers/selinux v1.3.1 -+ github.com/pkg/errors v0.9.1 - github.com/pquerna/ffjson v0.0.0-20181028064349-e517b90714f7 - github.com/sirupsen/logrus v1.4.2 -- github.com/stretchr/testify v1.3.0 -+ github.com/spf13/pflag v1.0.3 // indirect -+ github.com/stretchr/testify v1.4.0 - github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 - github.com/tchap/go-patricia v2.3.0+incompatible - github.com/vbatts/tar-split v0.11.1 - golang.org/x/net v0.0.0-20190628185345-da137c7871d7 -- golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb -- gotest.tools v0.0.0-20190624233834-05ebafbffc79 -+ golang.org/x/sys v0.0.0-20191115151921-52ab43148777 -+ gotest.tools v2.2.0+incompatible - ) -+ -+go 1.13 -diff --git a/vendor/github.com/containers/storage/go.sum b/vendor/github.com/containers/storage/go.sum -index a0e05dd1d..e2785594d 100644 ---- a/vendor/github.com/containers/storage/go.sum -+++ b/vendor/github.com/containers/storage/go.sum -@@ -1,11 +1,40 @@ -+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= - github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= - github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= - github.com/DataDog/zstd v1.4.0 h1:vhoV+DUHnRZdKW1i5UMjAk2G4JY8wN4ayRfYDNdEhwo= - github.com/DataDog/zstd v1.4.0/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= - github.com/Microsoft/go-winio v0.4.12 h1:xAfWHN1IrQ0NJ9TBC0KBZoqLjzDTr1ML+4MywiUOryc= - github.com/Microsoft/go-winio v0.4.12/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= -+github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU= -+github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA= -+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= - github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA= - github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -+github.com/Microsoft/hcsshim v0.8.7 h1:ptnOoufxGSzauVTsdE+wMYnCWA301PdoN4xg5oRdZpg= -+github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= -+github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -+github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b h1:T4nWG1TXIxeor8mAu5bFguPJgSIGhZqv/f0z55KCrJM= -+github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b/go.mod h1:TrMrLQfeENAPYPRsJuq3jsqdlRh3lvi6trTZJG8+tho= -+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s= -+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -+github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -+github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50 h1:WMpHmC6AxwWb9hMqhudkqG7A/p14KiMnl6d3r1iUMjU= -+github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -+github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -+github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -+github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -+github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -+github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -+github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c= -+github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -+github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY= -+github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -+github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg= -+github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= - 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= -@@ -13,10 +42,43 @@ github.com/docker/docker v0.0.0-20171019062838-86f080cff091 h1:QpxpTw4MJeOzbC7X0 - github.com/docker/docker v0.0.0-20171019062838-86f080cff091/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= - github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= - github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -+github.com/godbus/dbus v4.1.0+incompatible h1:WqqLRTsQic3apZUK9qC5sGNfXthmPXzUZ7nQPrNITa4= -+github.com/godbus/dbus v4.1.0+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -+github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= -+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -+github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= -+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= - github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= - github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -+github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= -+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -+github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -+github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= -+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= -+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -+github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= - github.com/klauspost/compress v1.7.2 h1:liMOoeIvFpr9kEvalrZ7VVBA4wGf7zfOgwBjzz/5g2Y= - github.com/klauspost/compress v1.7.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -+github.com/klauspost/compress v1.9.1 h1:TWy0o9J9c6LK9C8t7Msh6IAJNXbsU/nvKLTQUU5HdaY= -+github.com/klauspost/compress v1.9.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -+github.com/klauspost/compress v1.9.2 h1:LfVyl+ZlLlLDeQ/d2AqfGIIH4qEDu0Ed2S5GyhCWIWY= -+github.com/klauspost/compress v1.9.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -+github.com/klauspost/compress v1.9.3 h1:hkFELABwacUEgBfiguNeQydKv3M9pawBq8o24Ypw9+M= -+github.com/klauspost/compress v1.9.3/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -+github.com/klauspost/compress v1.9.4 h1:xhvAeUPQ2drNUhKtrGdTGNvV9nNafHMUkRyLkzxJoB4= -+github.com/klauspost/compress v1.9.4/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -+github.com/klauspost/compress v1.9.5 h1:U+CaK85mrNNb4k8BNOfgJtJ/gr6kswUCFj6miSzVC6M= -+github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -+github.com/klauspost/compress v1.9.7 h1:hYW1gP94JUmAhBtJ+LNz5My+gBobDxPR1iVuKug26aA= -+github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -+github.com/klauspost/compress v1.9.8 h1:VMAMUUOh+gaxKTMk+zqbjsSjsIcUcL/LF4o63i82QyA= -+github.com/klauspost/compress v1.9.8/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= - github.com/klauspost/cpuid v1.2.1 h1:vJi+O/nMdFt0vqm8NZBI6wzALWdA2X+egi0ogNyrC/w= - github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= - github.com/klauspost/pgzip v1.2.1 h1:oIPZROsWuPHpOdMVWLuJZXwgjhrW8r1yEX8UqMyeNHM= -@@ -25,45 +87,143 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGi - github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= - github.com/mattn/go-shellwords v1.0.5 h1:JhhFTIOslh5ZsPrpa3Wdg8bF0WI3b44EMblmU9wIsXc= - github.com/mattn/go-shellwords v1.0.5/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= -+github.com/mattn/go-shellwords v1.0.6 h1:9Jok5pILi5S1MnDirGVTufYGtksUs/V2BWUP3ZkeUUI= -+github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= -+github.com/mattn/go-shellwords v1.0.7 h1:KqhVjVZomx2puPACkj9vrGFqnp42Htvo9SEAWePHKOs= -+github.com/mattn/go-shellwords v1.0.7/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= -+github.com/mattn/go-shellwords v1.0.9 h1:eaB5JspOwiKKcHdqcjbfe5lA9cNn/4NRRtddXJCimqk= -+github.com/mattn/go-shellwords v1.0.9/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= - github.com/mistifyio/go-zfs v2.1.1+incompatible h1:gAMO1HM9xBRONLHHYnu5iFsOJUiJdNZo6oqSENd4eW8= - github.com/mistifyio/go-zfs v2.1.1+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= -+github.com/mrunalp/fileutils v0.0.0-20171103030105-7d4729fb3618 h1:7InQ7/zrOh6SlFjaXFubv0xX0HsuC9qJsdqm7bNQpYM= -+github.com/mrunalp/fileutils v0.0.0-20171103030105-7d4729fb3618/go.mod h1:x8F1gnqOkIEiO4rqoeEEEqQbo7HjGMTvyoq3gej4iT0= -+github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= - github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= - github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -+github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v0.1.1 h1:GlxAyO6x8rfZYN9Tt0Kti5a/cP41iuiO2yYT0IJGY8Y= - github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= - github.com/opencontainers/runc v1.0.0-rc8 h1:dDCFes8Hj1r/i5qnypONo5jdOme/8HWZC/aNDyhECt0= - github.com/opencontainers/runc v1.0.0-rc8/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -+github.com/opencontainers/runc v1.0.0-rc9 h1:/k06BMULKF5hidyoZymkoDCzdJzltZpz/UU4LguQVtc= -+github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -+github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -+github.com/opencontainers/runtime-spec v1.0.1 h1:wY4pOY8fBdSIvs9+IDHC55thBuEulhzfSgKeC1yFvzQ= -+github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -+github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= - github.com/opencontainers/selinux v1.2.2 h1:Kx9J6eDG5/24A6DtUquGSpJQ+m2MUTahn4FtGEe8bFg= - github.com/opencontainers/selinux v1.2.2/go.mod h1:+BLncwf63G4dgOzykXAxcmnFlUaOlkDdmw/CqsW6pjs= -+github.com/opencontainers/selinux v1.3.0 h1:xsI95WzPZu5exzA6JzkLSfdr/DilzOhCJOqGe5TgR0g= -+github.com/opencontainers/selinux v1.3.0/go.mod h1:+BLncwf63G4dgOzykXAxcmnFlUaOlkDdmw/CqsW6pjs= -+github.com/opencontainers/selinux v1.3.1 h1:dn2Rc3wTEvTB6iVqoFrKKeMb0uZ38ZheeyMu2h5C1TI= -+github.com/opencontainers/selinux v1.3.1/go.mod h1:yTcKuYAh6R95iDpefGLQaPaRwJFwyzAJufJyiTt7s0g= - github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= - github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= - github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -+github.com/pkg/errors v0.9.0 h1:J8lpUdobwIeCI7OiSxHqEwJUKvJwicL5+3v1oe2Yb4k= -+github.com/pkg/errors v0.9.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= - 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/pquerna/ffjson v0.0.0-20181028064349-e517b90714f7 h1:gGBSHPOU7g8YjTbhwn+lvFm2VDEhhA+PwDIlstkgSxE= - github.com/pquerna/ffjson v0.0.0-20181028064349-e517b90714f7/go.mod h1:YARuvh7BUWHNhzDq2OM5tzR2RiCcN2D7sapiKyCel/M= -+github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -+github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= -+github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -+github.com/seccomp/libseccomp-golang v0.9.1 h1:NJjM5DNFOs0s3kYE1WUOr6G8V97sdt46rlXTMfXGWBo= -+github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= -+github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= -+github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -+github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= - github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= - github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= - 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 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= - 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= -+github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= -+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -+github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= - github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 h1:b6uOv7YOFK0TYG7HtkIgExQo+2RdLuwRft63jn2HWj8= - github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= - github.com/tchap/go-patricia v2.3.0+incompatible h1:GkY4dP3cEfEASBPPkWd+AmjYxhmDkqO9/zg7R0lSQRs= - github.com/tchap/go-patricia v2.3.0+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= -+github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -+github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= -+github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= - github.com/vbatts/tar-split v0.11.1 h1:0Odu65rhcZ3JZaPHxl7tCI3V/C/Q9Zf82UFravl02dE= - github.com/vbatts/tar-split v0.11.1/go.mod h1:LEuURwDEiWjRjwu46yU3KVGuUdVv/dcnpcEPSzR8z6g= -+github.com/vishvananda/netlink v1.0.0 h1:bqNY2lgheFIu1meHUFSH3d7vG93AFyqg3oGbJCOJgSM= -+github.com/vishvananda/netlink v1.0.0/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= -+github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f h1:nBX3nTcmxEtHSERBJaIo1Qa26VwRaopnZmfDQUXsF4I= -+github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= -+github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -+github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -+github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= -+go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= -+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= - golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -+golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8= -+golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= - golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU= - golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= - golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k= - golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo= -+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20191025090151-53bf42e6b339 h1:zSqWKgm/o7HAnlAzBQ+aetp9fpuyytsXnKA8eiLHYQM= -+golang.org/x/sys v0.0.0-20191025090151-53bf42e6b339/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20191115151921-52ab43148777 h1:wejkGHRTr38uaKRqECZlsCsJ1/TGxIyFbH32x5zUdu4= -+golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20191127021746-63cb32ae39b2 h1:/J2nHFg1MTqaRLFO7M+J78ASNsJoz3r0cvHBPQ77fsE= -+golang.org/x/sys v0.0.0-20191127021746-63cb32ae39b2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -+golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= - golang.org/x/tools v0.0.0-20180810170437-e96c4e24768d/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -+gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= -+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= - gotest.tools v0.0.0-20190624233834-05ebafbffc79 h1:C+K4iPg1rIvmCf4JjelkbWv2jeWevEwp05Lz8XfTYgE= - gotest.tools v0.0.0-20190624233834-05ebafbffc79/go.mod h1:R//lfYlUuTOTfblYI3lGoAAAebUdzjvbmQsuB7Ykd90= -+gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -+gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -+k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= -diff --git a/vendor/github.com/containers/storage/images.go b/vendor/github.com/containers/storage/images.go -index 5d6a2e48d..ef95598b8 100644 ---- a/vendor/github.com/containers/storage/images.go -+++ b/vendor/github.com/containers/storage/images.go -@@ -47,6 +47,11 @@ type Image struct { - // or canonical references. - Names []string `json:"names,omitempty"` - -+ // NamesHistory is an optional set of Names the image had in the past. The -+ // contained names are free from any duplicates, whereas the newest entry -+ // is the first one. -+ NamesHistory []string `json:"names-history,omitempty"` -+ - // TopLayer is the ID of the topmost layer of the image itself, if the - // image contains one or more layers. Multiple images can refer to the - // same top layer. -@@ -155,6 +160,7 @@ func copyImage(i *Image) *Image { - Digest: i.Digest, - Digests: copyDigestSlice(i.Digests), - Names: copyStringSlice(i.Names), -+ NamesHistory: copyStringSlice(i.NamesHistory), - TopLayer: i.TopLayer, - MappedTopLayers: copyStringSlice(i.MappedTopLayers), - Metadata: i.Metadata, -@@ -208,17 +214,17 @@ func bigDataNameIsManifest(name string) bool { - - // recomputeDigests takes a fixed digest and a name-to-digest map and builds a - // list of the unique values that would identify the image. --func (image *Image) recomputeDigests() error { -- validDigests := make([]digest.Digest, 0, len(image.BigDataDigests)+1) -+func (i *Image) recomputeDigests() error { -+ validDigests := make([]digest.Digest, 0, len(i.BigDataDigests)+1) - digests := make(map[digest.Digest]struct{}) -- if image.Digest != "" { -- if err := image.Digest.Validate(); err != nil { -- return errors.Wrapf(err, "error validating image digest %q", string(image.Digest)) -+ if i.Digest != "" { -+ if err := i.Digest.Validate(); err != nil { -+ return errors.Wrapf(err, "error validating image digest %q", string(i.Digest)) - } -- digests[image.Digest] = struct{}{} -- validDigests = append(validDigests, image.Digest) -+ digests[i.Digest] = struct{}{} -+ validDigests = append(validDigests, i.Digest) - } -- for name, digest := range image.BigDataDigests { -+ for name, digest := range i.BigDataDigests { - if !bigDataNameIsManifest(name) { - continue - } -@@ -231,10 +237,10 @@ func (image *Image) recomputeDigests() error { - validDigests = append(validDigests, digest) - } - } -- if image.Digest == "" && len(validDigests) > 0 { -- image.Digest = validDigests[0] -+ if i.Digest == "" && len(validDigests) > 0 { -+ i.Digest = validDigests[0] - } -- image.Digests = validDigests -+ i.Digests = validDigests - return nil - } - -@@ -481,6 +487,10 @@ func (r *imageStore) removeName(image *Image, name string) { - image.Names = stringSliceWithoutValue(image.Names, name) - } - -+func (i *Image) addNameToHistory(name string) { -+ i.NamesHistory = dedupeNames(append([]string{name}, i.NamesHistory...)) -+} -+ - func (r *imageStore) SetNames(id string, names []string) error { - if !r.IsReadWrite() { - return errors.Wrapf(ErrStoreIsReadOnly, "not allowed to change image name assignments at %q", r.imagespath()) -@@ -495,6 +505,7 @@ func (r *imageStore) SetNames(id string, names []string) error { - r.removeName(otherImage, name) - } - r.byname[name] = image -+ image.addNameToHistory(name) - } - image.Names = names - return r.Save() -diff --git a/vendor/github.com/containers/storage/images_ffjson.go b/vendor/github.com/containers/storage/images_ffjson.go -index 539acfe93..0dde97c18 100644 ---- a/vendor/github.com/containers/storage/images_ffjson.go -+++ b/vendor/github.com/containers/storage/images_ffjson.go -@@ -59,6 +59,22 @@ func (j *Image) MarshalJSONBuf(buf fflib.EncodingBuffer) error { - } - buf.WriteByte(',') - } -+ if len(j.NamesHistory) != 0 { -+ buf.WriteString(`"names-history":`) -+ if j.NamesHistory != nil { -+ buf.WriteString(`[`) -+ for i, v := range j.NamesHistory { -+ if i != 0 { -+ buf.WriteString(`,`) -+ } -+ fflib.WriteJsonString(buf, string(v)) -+ } -+ buf.WriteString(`]`) -+ } else { -+ buf.WriteString(`null`) -+ } -+ buf.WriteByte(',') -+ } - if len(j.TopLayer) != 0 { - buf.WriteString(`"layer":`) - fflib.WriteJsonString(buf, string(j.TopLayer)) -@@ -171,6 +187,8 @@ const ( - - ffjtImageNames - -+ ffjtImageNamesHistory -+ - ffjtImageTopLayer - - ffjtImageMappedTopLayers -@@ -194,6 +212,8 @@ var ffjKeyImageDigest = []byte("digest") - - var ffjKeyImageNames = []byte("names") - -+var ffjKeyImageNamesHistory = []byte("names-history") -+ - var ffjKeyImageTopLayer = []byte("layer") - - var ffjKeyImageMappedTopLayers = []byte("mapped-layers") -@@ -348,6 +368,11 @@ mainparse: - currentKey = ffjtImageNames - state = fflib.FFParse_want_colon - goto mainparse -+ -+ } else if bytes.Equal(ffjKeyImageNamesHistory, kn) { -+ currentKey = ffjtImageNamesHistory -+ state = fflib.FFParse_want_colon -+ goto mainparse - } - - } -@@ -400,6 +425,12 @@ mainparse: - goto mainparse - } - -+ if fflib.EqualFoldRight(ffjKeyImageNamesHistory, kn) { -+ currentKey = ffjtImageNamesHistory -+ state = fflib.FFParse_want_colon -+ goto mainparse -+ } -+ - if fflib.EqualFoldRight(ffjKeyImageNames, kn) { - currentKey = ffjtImageNames - state = fflib.FFParse_want_colon -@@ -444,6 +475,9 @@ mainparse: - case ffjtImageNames: - goto handle_Names - -+ case ffjtImageNamesHistory: -+ goto handle_NamesHistory -+ - case ffjtImageTopLayer: - goto handle_TopLayer - -@@ -608,6 +642,80 @@ handle_Names: - state = fflib.FFParse_after_value - goto mainparse - -+handle_NamesHistory: -+ -+ /* handler: j.NamesHistory type=[]string kind=slice quoted=false*/ -+ -+ { -+ -+ { -+ if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { -+ return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) -+ } -+ } -+ -+ if tok == fflib.FFTok_null { -+ j.NamesHistory = nil -+ } else { -+ -+ j.NamesHistory = []string{} -+ -+ wantVal := true -+ -+ for { -+ -+ var tmpJNamesHistory string -+ -+ tok = fs.Scan() -+ if tok == fflib.FFTok_error { -+ goto tokerror -+ } -+ if tok == fflib.FFTok_right_brace { -+ break -+ } -+ -+ if tok == fflib.FFTok_comma { -+ if wantVal == true { -+ // TODO(pquerna): this isn't an ideal error message, this handles -+ // things like [,,,] as an array value. -+ return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) -+ } -+ continue -+ } else { -+ wantVal = true -+ } -+ -+ /* handler: tmpJNamesHistory type=string kind=string quoted=false*/ -+ -+ { -+ -+ { -+ if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -+ return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) -+ } -+ } -+ -+ if tok == fflib.FFTok_null { -+ -+ } else { -+ -+ outBuf := fs.Output.Bytes() -+ -+ tmpJNamesHistory = string(string(outBuf)) -+ -+ } -+ } -+ -+ j.NamesHistory = append(j.NamesHistory, tmpJNamesHistory) -+ -+ wantVal = false -+ } -+ } -+ } -+ -+ state = fflib.FFParse_after_value -+ goto mainparse -+ - handle_TopLayer: - - /* handler: j.TopLayer type=string kind=string quoted=false*/ -diff --git a/vendor/github.com/containers/storage/layers.go b/vendor/github.com/containers/storage/layers.go -index ac905b0b4..dccfc169d 100644 ---- a/vendor/github.com/containers/storage/layers.go -+++ b/vendor/github.com/containers/storage/layers.go -@@ -18,6 +18,7 @@ import ( - "github.com/containers/storage/pkg/archive" - "github.com/containers/storage/pkg/idtools" - "github.com/containers/storage/pkg/ioutils" -+ "github.com/containers/storage/pkg/mount" - "github.com/containers/storage/pkg/stringid" - "github.com/containers/storage/pkg/system" - "github.com/containers/storage/pkg/tarlog" -@@ -238,6 +239,10 @@ type LayerStore interface { - // ApplyDiff reads a tarstream which was created by a previous call to Diff and - // applies its changes to a specified layer. - ApplyDiff(to string, diff io.Reader) (int64, error) -+ -+ // LoadLocked wraps Load in a locked state. This means it loads the store -+ // and cleans-up invalid layers if needed. -+ LoadLocked() error - } - - type layerStore struct { -@@ -345,6 +350,7 @@ func (r *layerStore) Load() error { - r.byname = names - r.bycompressedsum = compressedsums - r.byuncompressedsum = uncompressedsums -+ - // Load and merge information about which layers are mounted, and where. - if r.IsReadWrite() { - r.mountsLockfile.RLock() -@@ -352,22 +358,23 @@ func (r *layerStore) Load() error { - if err = r.loadMounts(); err != nil { - return err - } -- } -- // Last step: if we're writable, try to remove anything that a previous -- // user of this storage area marked for deletion but didn't manage to -- // actually delete. -- if r.IsReadWrite() && r.Locked() { -- for _, layer := range r.layers { -- if layer.Flags == nil { -- layer.Flags = make(map[string]interface{}) -- } -- if cleanup, ok := layer.Flags[incompleteFlag]; ok { -- if b, ok := cleanup.(bool); ok && b { -- err = r.deleteInternal(layer.ID) -- if err != nil { -- break -+ -+ // Last step: as we’re writable, try to remove anything that a previous -+ // user of this storage area marked for deletion but didn't manage to -+ // actually delete. -+ if r.Locked() { -+ for _, layer := range r.layers { -+ if layer.Flags == nil { -+ layer.Flags = make(map[string]interface{}) -+ } -+ if cleanup, ok := layer.Flags[incompleteFlag]; ok { -+ if b, ok := cleanup.(bool); ok && b { -+ err = r.deleteInternal(layer.ID) -+ if err != nil { -+ break -+ } -+ shouldSave = true - } -- shouldSave = true - } - } - } -@@ -375,9 +382,16 @@ func (r *layerStore) Load() error { - return r.saveLayers() - } - } -+ - return err - } - -+func (r *layerStore) LoadLocked() error { -+ r.lockfile.Lock() -+ defer r.lockfile.Unlock() -+ return r.Load() -+} -+ - func (r *layerStore) loadMounts() error { - mounts := make(map[string]*Layer) - mpath := r.mountspath() -@@ -475,7 +489,7 @@ func (r *layerStore) saveMounts() error { - return r.loadMounts() - } - --func newLayerStore(rundir string, layerdir string, driver drivers.Driver, uidMap, gidMap []idtools.IDMap) (LayerStore, error) { -+func (s *store) newLayerStore(rundir string, layerdir string, driver drivers.Driver) (LayerStore, error) { - if err := os.MkdirAll(rundir, 0700); err != nil { - return nil, err - } -@@ -486,8 +500,6 @@ func newLayerStore(rundir string, layerdir string, driver drivers.Driver, uidMap - if err != nil { - return nil, err - } -- lockfile.Lock() -- defer lockfile.Unlock() - mountsLockfile, err := GetLockfile(filepath.Join(rundir, "mountpoints.lock")) - if err != nil { - return nil, err -@@ -501,8 +513,8 @@ func newLayerStore(rundir string, layerdir string, driver drivers.Driver, uidMap - byid: make(map[string]*Layer), - bymount: make(map[string]*Layer), - byname: make(map[string]*Layer), -- uidMap: copyIDMap(uidMap), -- gidMap: copyIDMap(gidMap), -+ uidMap: copyIDMap(s.uidMap), -+ gidMap: copyIDMap(s.gidMap), - } - if err := rlstore.Load(); err != nil { - return nil, err -@@ -515,8 +527,6 @@ func newROLayerStore(rundir string, layerdir string, driver drivers.Driver) (ROL - if err != nil { - return nil, err - } -- lockfile.RLock() -- defer lockfile.Unlock() - rlstore := layerStore{ - lockfile: lockfile, - mountsLockfile: nil, -@@ -776,8 +786,17 @@ func (r *layerStore) Mount(id string, options drivers.MountOpts) (string, error) - return "", ErrLayerUnknown - } - if layer.MountCount > 0 { -- layer.MountCount++ -- return layer.MountPoint, r.saveMounts() -+ mounted, err := mount.Mounted(layer.MountPoint) -+ if err != nil { -+ return "", err -+ } -+ // If the container is not mounted then we have a condition -+ // where the kernel umounted the mount point. This means -+ // that the mount count never got decremented. -+ if mounted { -+ layer.MountCount++ -+ return layer.MountPoint, r.saveMounts() -+ } - } - if options.MountLabel == "" { - options.MountLabel = layer.MountLabel -diff --git a/vendor/github.com/containers/storage/layers_ffjson.go b/vendor/github.com/containers/storage/layers_ffjson.go -deleted file mode 100644 -index 3a1095226..000000000 ---- a/vendor/github.com/containers/storage/layers_ffjson.go -+++ /dev/null -@@ -1,2156 +0,0 @@ --// Code generated by ffjson . DO NOT EDIT. --// source: layers.go -- --package storage -- --import ( -- "bytes" -- "encoding/json" -- "fmt" -- "github.com/containers/storage/pkg/archive" -- "github.com/containers/storage/pkg/idtools" -- "github.com/opencontainers/go-digest" -- fflib "github.com/pquerna/ffjson/fflib/v1" --) -- --// MarshalJSON marshal bytes to json - template --func (j *DiffOptions) MarshalJSON() ([]byte, error) { -- var buf fflib.Buffer -- if j == nil { -- buf.WriteString("null") -- return buf.Bytes(), nil -- } -- err := j.MarshalJSONBuf(&buf) -- if err != nil { -- return nil, err -- } -- return buf.Bytes(), nil --} -- --// MarshalJSONBuf marshal buff to json - template --func (j *DiffOptions) MarshalJSONBuf(buf fflib.EncodingBuffer) error { -- if j == nil { -- buf.WriteString("null") -- return nil -- } -- var err error -- var obj []byte -- _ = obj -- _ = err -- if j.Compression != nil { -- buf.WriteString(`{"Compression":`) -- fflib.FormatBits2(buf, uint64(*j.Compression), 10, *j.Compression < 0) -- } else { -- buf.WriteString(`{"Compression":null`) -- } -- buf.WriteByte('}') -- return nil --} -- --const ( -- ffjtDiffOptionsbase = iota -- ffjtDiffOptionsnosuchkey -- -- ffjtDiffOptionsCompression --) -- --var ffjKeyDiffOptionsCompression = []byte("Compression") -- --// UnmarshalJSON umarshall json - template of ffjson --func (j *DiffOptions) UnmarshalJSON(input []byte) error { -- fs := fflib.NewFFLexer(input) -- return j.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) --} -- --// UnmarshalJSONFFLexer fast json unmarshall - template ffjson --func (j *DiffOptions) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { -- var err error -- currentKey := ffjtDiffOptionsbase -- _ = currentKey -- tok := fflib.FFTok_init -- wantedTok := fflib.FFTok_init -- --mainparse: -- for { -- tok = fs.Scan() -- // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- -- switch state { -- -- case fflib.FFParse_map_start: -- if tok != fflib.FFTok_left_bracket { -- wantedTok = fflib.FFTok_left_bracket -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_key -- continue -- -- case fflib.FFParse_after_value: -- if tok == fflib.FFTok_comma { -- state = fflib.FFParse_want_key -- } else if tok == fflib.FFTok_right_bracket { -- goto done -- } else { -- wantedTok = fflib.FFTok_comma -- goto wrongtokenerror -- } -- -- case fflib.FFParse_want_key: -- // json {} ended. goto exit. woo. -- if tok == fflib.FFTok_right_bracket { -- goto done -- } -- if tok != fflib.FFTok_string { -- wantedTok = fflib.FFTok_string -- goto wrongtokenerror -- } -- -- kn := fs.Output.Bytes() -- if len(kn) <= 0 { -- // "" case. hrm. -- currentKey = ffjtDiffOptionsnosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } else { -- switch kn[0] { -- -- case 'C': -- -- if bytes.Equal(ffjKeyDiffOptionsCompression, kn) { -- currentKey = ffjtDiffOptionsCompression -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- } -- -- if fflib.EqualFoldRight(ffjKeyDiffOptionsCompression, kn) { -- currentKey = ffjtDiffOptionsCompression -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- currentKey = ffjtDiffOptionsnosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case fflib.FFParse_want_colon: -- if tok != fflib.FFTok_colon { -- wantedTok = fflib.FFTok_colon -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_value -- continue -- case fflib.FFParse_want_value: -- -- if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { -- switch currentKey { -- -- case ffjtDiffOptionsCompression: -- goto handle_Compression -- -- case ffjtDiffOptionsnosuchkey: -- err = fs.SkipField(tok) -- if err != nil { -- return fs.WrapErr(err) -- } -- state = fflib.FFParse_after_value -- goto mainparse -- } -- } else { -- goto wantedvalue -- } -- } -- } -- --handle_Compression: -- -- /* handler: j.Compression type=archive.Compression kind=int quoted=false*/ -- -- { -- if tok != fflib.FFTok_integer && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for Compression", tok)) -- } -- } -- -- { -- -- if tok == fflib.FFTok_null { -- -- j.Compression = nil -- -- } else { -- -- tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 64) -- -- if err != nil { -- return fs.WrapErr(err) -- } -- -- ttypval := archive.Compression(tval) -- j.Compression = &ttypval -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --wantedvalue: -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) --wrongtokenerror: -- return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) --tokerror: -- if fs.BigError != nil { -- return fs.WrapErr(fs.BigError) -- } -- err = fs.Error.ToError() -- if err != nil { -- return fs.WrapErr(err) -- } -- panic("ffjson-generated: unreachable, please report bug.") --done: -- -- return nil --} -- --// MarshalJSON marshal bytes to json - template --func (j *Layer) MarshalJSON() ([]byte, error) { -- var buf fflib.Buffer -- if j == nil { -- buf.WriteString("null") -- return buf.Bytes(), nil -- } -- err := j.MarshalJSONBuf(&buf) -- if err != nil { -- return nil, err -- } -- return buf.Bytes(), nil --} -- --// MarshalJSONBuf marshal buff to json - template --func (j *Layer) MarshalJSONBuf(buf fflib.EncodingBuffer) error { -- if j == nil { -- buf.WriteString("null") -- return nil -- } -- var err error -- var obj []byte -- _ = obj -- _ = err -- buf.WriteString(`{ "id":`) -- fflib.WriteJsonString(buf, string(j.ID)) -- buf.WriteByte(',') -- if len(j.Names) != 0 { -- buf.WriteString(`"names":`) -- if j.Names != nil { -- buf.WriteString(`[`) -- for i, v := range j.Names { -- if i != 0 { -- buf.WriteString(`,`) -- } -- fflib.WriteJsonString(buf, string(v)) -- } -- buf.WriteString(`]`) -- } else { -- buf.WriteString(`null`) -- } -- buf.WriteByte(',') -- } -- if len(j.Parent) != 0 { -- buf.WriteString(`"parent":`) -- fflib.WriteJsonString(buf, string(j.Parent)) -- buf.WriteByte(',') -- } -- if len(j.Metadata) != 0 { -- buf.WriteString(`"metadata":`) -- fflib.WriteJsonString(buf, string(j.Metadata)) -- buf.WriteByte(',') -- } -- if len(j.MountLabel) != 0 { -- buf.WriteString(`"mountlabel":`) -- fflib.WriteJsonString(buf, string(j.MountLabel)) -- buf.WriteByte(',') -- } -- if true { -- buf.WriteString(`"created":`) -- -- { -- -- obj, err = j.Created.MarshalJSON() -- if err != nil { -- return err -- } -- buf.Write(obj) -- -- } -- buf.WriteByte(',') -- } -- if len(j.CompressedDigest) != 0 { -- buf.WriteString(`"compressed-diff-digest":`) -- fflib.WriteJsonString(buf, string(j.CompressedDigest)) -- buf.WriteByte(',') -- } -- if j.CompressedSize != 0 { -- buf.WriteString(`"compressed-size":`) -- fflib.FormatBits2(buf, uint64(j.CompressedSize), 10, j.CompressedSize < 0) -- buf.WriteByte(',') -- } -- if len(j.UncompressedDigest) != 0 { -- buf.WriteString(`"diff-digest":`) -- fflib.WriteJsonString(buf, string(j.UncompressedDigest)) -- buf.WriteByte(',') -- } -- if j.UncompressedSize != 0 { -- buf.WriteString(`"diff-size":`) -- fflib.FormatBits2(buf, uint64(j.UncompressedSize), 10, j.UncompressedSize < 0) -- buf.WriteByte(',') -- } -- if j.CompressionType != 0 { -- buf.WriteString(`"compression":`) -- fflib.FormatBits2(buf, uint64(j.CompressionType), 10, j.CompressionType < 0) -- buf.WriteByte(',') -- } -- if len(j.UIDs) != 0 { -- buf.WriteString(`"uidset":`) -- if j.UIDs != nil { -- buf.WriteString(`[`) -- for i, v := range j.UIDs { -- if i != 0 { -- buf.WriteString(`,`) -- } -- fflib.FormatBits2(buf, uint64(v), 10, false) -- } -- buf.WriteString(`]`) -- } else { -- buf.WriteString(`null`) -- } -- buf.WriteByte(',') -- } -- if len(j.GIDs) != 0 { -- buf.WriteString(`"gidset":`) -- if j.GIDs != nil { -- buf.WriteString(`[`) -- for i, v := range j.GIDs { -- if i != 0 { -- buf.WriteString(`,`) -- } -- fflib.FormatBits2(buf, uint64(v), 10, false) -- } -- buf.WriteString(`]`) -- } else { -- buf.WriteString(`null`) -- } -- buf.WriteByte(',') -- } -- if len(j.Flags) != 0 { -- buf.WriteString(`"flags":`) -- /* Falling back. type=map[string]interface {} kind=map */ -- err = buf.Encode(j.Flags) -- if err != nil { -- return err -- } -- buf.WriteByte(',') -- } -- if len(j.UIDMap) != 0 { -- buf.WriteString(`"uidmap":`) -- if j.UIDMap != nil { -- buf.WriteString(`[`) -- for i, v := range j.UIDMap { -- if i != 0 { -- buf.WriteString(`,`) -- } -- /* Struct fall back. type=idtools.IDMap kind=struct */ -- err = buf.Encode(&v) -- if err != nil { -- return err -- } -- } -- buf.WriteString(`]`) -- } else { -- buf.WriteString(`null`) -- } -- buf.WriteByte(',') -- } -- if len(j.GIDMap) != 0 { -- buf.WriteString(`"gidmap":`) -- if j.GIDMap != nil { -- buf.WriteString(`[`) -- for i, v := range j.GIDMap { -- if i != 0 { -- buf.WriteString(`,`) -- } -- /* Struct fall back. type=idtools.IDMap kind=struct */ -- err = buf.Encode(&v) -- if err != nil { -- return err -- } -- } -- buf.WriteString(`]`) -- } else { -- buf.WriteString(`null`) -- } -- buf.WriteByte(',') -- } -- buf.Rewind(1) -- buf.WriteByte('}') -- return nil --} -- --const ( -- ffjtLayerbase = iota -- ffjtLayernosuchkey -- -- ffjtLayerID -- -- ffjtLayerNames -- -- ffjtLayerParent -- -- ffjtLayerMetadata -- -- ffjtLayerMountLabel -- -- ffjtLayerCreated -- -- ffjtLayerCompressedDigest -- -- ffjtLayerCompressedSize -- -- ffjtLayerUncompressedDigest -- -- ffjtLayerUncompressedSize -- -- ffjtLayerCompressionType -- -- ffjtLayerUIDs -- -- ffjtLayerGIDs -- -- ffjtLayerFlags -- -- ffjtLayerUIDMap -- -- ffjtLayerGIDMap --) -- --var ffjKeyLayerID = []byte("id") -- --var ffjKeyLayerNames = []byte("names") -- --var ffjKeyLayerParent = []byte("parent") -- --var ffjKeyLayerMetadata = []byte("metadata") -- --var ffjKeyLayerMountLabel = []byte("mountlabel") -- --var ffjKeyLayerCreated = []byte("created") -- --var ffjKeyLayerCompressedDigest = []byte("compressed-diff-digest") -- --var ffjKeyLayerCompressedSize = []byte("compressed-size") -- --var ffjKeyLayerUncompressedDigest = []byte("diff-digest") -- --var ffjKeyLayerUncompressedSize = []byte("diff-size") -- --var ffjKeyLayerCompressionType = []byte("compression") -- --var ffjKeyLayerUIDs = []byte("uidset") -- --var ffjKeyLayerGIDs = []byte("gidset") -- --var ffjKeyLayerFlags = []byte("flags") -- --var ffjKeyLayerUIDMap = []byte("uidmap") -- --var ffjKeyLayerGIDMap = []byte("gidmap") -- --// UnmarshalJSON umarshall json - template of ffjson --func (j *Layer) UnmarshalJSON(input []byte) error { -- fs := fflib.NewFFLexer(input) -- return j.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) --} -- --// UnmarshalJSONFFLexer fast json unmarshall - template ffjson --func (j *Layer) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { -- var err error -- currentKey := ffjtLayerbase -- _ = currentKey -- tok := fflib.FFTok_init -- wantedTok := fflib.FFTok_init -- --mainparse: -- for { -- tok = fs.Scan() -- // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- -- switch state { -- -- case fflib.FFParse_map_start: -- if tok != fflib.FFTok_left_bracket { -- wantedTok = fflib.FFTok_left_bracket -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_key -- continue -- -- case fflib.FFParse_after_value: -- if tok == fflib.FFTok_comma { -- state = fflib.FFParse_want_key -- } else if tok == fflib.FFTok_right_bracket { -- goto done -- } else { -- wantedTok = fflib.FFTok_comma -- goto wrongtokenerror -- } -- -- case fflib.FFParse_want_key: -- // json {} ended. goto exit. woo. -- if tok == fflib.FFTok_right_bracket { -- goto done -- } -- if tok != fflib.FFTok_string { -- wantedTok = fflib.FFTok_string -- goto wrongtokenerror -- } -- -- kn := fs.Output.Bytes() -- if len(kn) <= 0 { -- // "" case. hrm. -- currentKey = ffjtLayernosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } else { -- switch kn[0] { -- -- case 'c': -- -- if bytes.Equal(ffjKeyLayerCreated, kn) { -- currentKey = ffjtLayerCreated -- state = fflib.FFParse_want_colon -- goto mainparse -- -- } else if bytes.Equal(ffjKeyLayerCompressedDigest, kn) { -- currentKey = ffjtLayerCompressedDigest -- state = fflib.FFParse_want_colon -- goto mainparse -- -- } else if bytes.Equal(ffjKeyLayerCompressedSize, kn) { -- currentKey = ffjtLayerCompressedSize -- state = fflib.FFParse_want_colon -- goto mainparse -- -- } else if bytes.Equal(ffjKeyLayerCompressionType, kn) { -- currentKey = ffjtLayerCompressionType -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'd': -- -- if bytes.Equal(ffjKeyLayerUncompressedDigest, kn) { -- currentKey = ffjtLayerUncompressedDigest -- state = fflib.FFParse_want_colon -- goto mainparse -- -- } else if bytes.Equal(ffjKeyLayerUncompressedSize, kn) { -- currentKey = ffjtLayerUncompressedSize -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'f': -- -- if bytes.Equal(ffjKeyLayerFlags, kn) { -- currentKey = ffjtLayerFlags -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'g': -- -- if bytes.Equal(ffjKeyLayerGIDs, kn) { -- currentKey = ffjtLayerGIDs -- state = fflib.FFParse_want_colon -- goto mainparse -- -- } else if bytes.Equal(ffjKeyLayerGIDMap, kn) { -- currentKey = ffjtLayerGIDMap -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'i': -- -- if bytes.Equal(ffjKeyLayerID, kn) { -- currentKey = ffjtLayerID -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'm': -- -- if bytes.Equal(ffjKeyLayerMetadata, kn) { -- currentKey = ffjtLayerMetadata -- state = fflib.FFParse_want_colon -- goto mainparse -- -- } else if bytes.Equal(ffjKeyLayerMountLabel, kn) { -- currentKey = ffjtLayerMountLabel -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'n': -- -- if bytes.Equal(ffjKeyLayerNames, kn) { -- currentKey = ffjtLayerNames -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'p': -- -- if bytes.Equal(ffjKeyLayerParent, kn) { -- currentKey = ffjtLayerParent -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'u': -- -- if bytes.Equal(ffjKeyLayerUIDs, kn) { -- currentKey = ffjtLayerUIDs -- state = fflib.FFParse_want_colon -- goto mainparse -- -- } else if bytes.Equal(ffjKeyLayerUIDMap, kn) { -- currentKey = ffjtLayerUIDMap -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeyLayerGIDMap, kn) { -- currentKey = ffjtLayerGIDMap -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeyLayerUIDMap, kn) { -- currentKey = ffjtLayerUIDMap -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.EqualFoldRight(ffjKeyLayerFlags, kn) { -- currentKey = ffjtLayerFlags -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.EqualFoldRight(ffjKeyLayerGIDs, kn) { -- currentKey = ffjtLayerGIDs -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.EqualFoldRight(ffjKeyLayerUIDs, kn) { -- currentKey = ffjtLayerUIDs -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.EqualFoldRight(ffjKeyLayerCompressionType, kn) { -- currentKey = ffjtLayerCompressionType -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.EqualFoldRight(ffjKeyLayerUncompressedSize, kn) { -- currentKey = ffjtLayerUncompressedSize -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.EqualFoldRight(ffjKeyLayerUncompressedDigest, kn) { -- currentKey = ffjtLayerUncompressedDigest -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.EqualFoldRight(ffjKeyLayerCompressedSize, kn) { -- currentKey = ffjtLayerCompressedSize -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.EqualFoldRight(ffjKeyLayerCompressedDigest, kn) { -- currentKey = ffjtLayerCompressedDigest -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeyLayerCreated, kn) { -- currentKey = ffjtLayerCreated -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeyLayerMountLabel, kn) { -- currentKey = ffjtLayerMountLabel -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeyLayerMetadata, kn) { -- currentKey = ffjtLayerMetadata -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeyLayerParent, kn) { -- currentKey = ffjtLayerParent -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.EqualFoldRight(ffjKeyLayerNames, kn) { -- currentKey = ffjtLayerNames -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeyLayerID, kn) { -- currentKey = ffjtLayerID -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- currentKey = ffjtLayernosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case fflib.FFParse_want_colon: -- if tok != fflib.FFTok_colon { -- wantedTok = fflib.FFTok_colon -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_value -- continue -- case fflib.FFParse_want_value: -- -- if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { -- switch currentKey { -- -- case ffjtLayerID: -- goto handle_ID -- -- case ffjtLayerNames: -- goto handle_Names -- -- case ffjtLayerParent: -- goto handle_Parent -- -- case ffjtLayerMetadata: -- goto handle_Metadata -- -- case ffjtLayerMountLabel: -- goto handle_MountLabel -- -- case ffjtLayerCreated: -- goto handle_Created -- -- case ffjtLayerCompressedDigest: -- goto handle_CompressedDigest -- -- case ffjtLayerCompressedSize: -- goto handle_CompressedSize -- -- case ffjtLayerUncompressedDigest: -- goto handle_UncompressedDigest -- -- case ffjtLayerUncompressedSize: -- goto handle_UncompressedSize -- -- case ffjtLayerCompressionType: -- goto handle_CompressionType -- -- case ffjtLayerUIDs: -- goto handle_UIDs -- -- case ffjtLayerGIDs: -- goto handle_GIDs -- -- case ffjtLayerFlags: -- goto handle_Flags -- -- case ffjtLayerUIDMap: -- goto handle_UIDMap -- -- case ffjtLayerGIDMap: -- goto handle_GIDMap -- -- case ffjtLayernosuchkey: -- err = fs.SkipField(tok) -- if err != nil { -- return fs.WrapErr(err) -- } -- state = fflib.FFParse_after_value -- goto mainparse -- } -- } else { -- goto wantedvalue -- } -- } -- } -- --handle_ID: -- -- /* handler: j.ID type=string kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- j.ID = string(string(outBuf)) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_Names: -- -- /* handler: j.Names type=[]string kind=slice quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- j.Names = nil -- } else { -- -- j.Names = []string{} -- -- wantVal := true -- -- for { -- -- var tmpJNames string -- -- tok = fs.Scan() -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- if tok == fflib.FFTok_right_brace { -- break -- } -- -- if tok == fflib.FFTok_comma { -- if wantVal == true { -- // TODO(pquerna): this isn't an ideal error message, this handles -- // things like [,,,] as an array value. -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) -- } -- continue -- } else { -- wantVal = true -- } -- -- /* handler: tmpJNames type=string kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- tmpJNames = string(string(outBuf)) -- -- } -- } -- -- j.Names = append(j.Names, tmpJNames) -- -- wantVal = false -- } -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_Parent: -- -- /* handler: j.Parent type=string kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- j.Parent = string(string(outBuf)) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_Metadata: -- -- /* handler: j.Metadata type=string kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- j.Metadata = string(string(outBuf)) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_MountLabel: -- -- /* handler: j.MountLabel type=string kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- j.MountLabel = string(string(outBuf)) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_Created: -- -- /* handler: j.Created type=time.Time kind=struct quoted=false*/ -- -- { -- if tok == fflib.FFTok_null { -- -- } else { -- -- tbuf, err := fs.CaptureField(tok) -- if err != nil { -- return fs.WrapErr(err) -- } -- -- err = j.Created.UnmarshalJSON(tbuf) -- if err != nil { -- return fs.WrapErr(err) -- } -- } -- state = fflib.FFParse_after_value -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_CompressedDigest: -- -- /* handler: j.CompressedDigest type=digest.Digest kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for Digest", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- j.CompressedDigest = digest.Digest(string(outBuf)) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_CompressedSize: -- -- /* handler: j.CompressedSize type=int64 kind=int64 quoted=false*/ -- -- { -- if tok != fflib.FFTok_integer && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for int64", tok)) -- } -- } -- -- { -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 64) -- -- if err != nil { -- return fs.WrapErr(err) -- } -- -- j.CompressedSize = int64(tval) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_UncompressedDigest: -- -- /* handler: j.UncompressedDigest type=digest.Digest kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for Digest", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- j.UncompressedDigest = digest.Digest(string(outBuf)) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_UncompressedSize: -- -- /* handler: j.UncompressedSize type=int64 kind=int64 quoted=false*/ -- -- { -- if tok != fflib.FFTok_integer && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for int64", tok)) -- } -- } -- -- { -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 64) -- -- if err != nil { -- return fs.WrapErr(err) -- } -- -- j.UncompressedSize = int64(tval) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_CompressionType: -- -- /* handler: j.CompressionType type=archive.Compression kind=int quoted=false*/ -- -- { -- if tok != fflib.FFTok_integer && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for Compression", tok)) -- } -- } -- -- { -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 64) -- -- if err != nil { -- return fs.WrapErr(err) -- } -- -- j.CompressionType = archive.Compression(tval) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_UIDs: -- -- /* handler: j.UIDs type=[]uint32 kind=slice quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- j.UIDs = nil -- } else { -- -- j.UIDs = []uint32{} -- -- wantVal := true -- -- for { -- -- var tmpJUIDs uint32 -- -- tok = fs.Scan() -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- if tok == fflib.FFTok_right_brace { -- break -- } -- -- if tok == fflib.FFTok_comma { -- if wantVal == true { -- // TODO(pquerna): this isn't an ideal error message, this handles -- // things like [,,,] as an array value. -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) -- } -- continue -- } else { -- wantVal = true -- } -- -- /* handler: tmpJUIDs type=uint32 kind=uint32 quoted=false*/ -- -- { -- if tok != fflib.FFTok_integer && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for uint32", tok)) -- } -- } -- -- { -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- tval, err := fflib.ParseUint(fs.Output.Bytes(), 10, 32) -- -- if err != nil { -- return fs.WrapErr(err) -- } -- -- tmpJUIDs = uint32(tval) -- -- } -- } -- -- j.UIDs = append(j.UIDs, tmpJUIDs) -- -- wantVal = false -- } -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_GIDs: -- -- /* handler: j.GIDs type=[]uint32 kind=slice quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- j.GIDs = nil -- } else { -- -- j.GIDs = []uint32{} -- -- wantVal := true -- -- for { -- -- var tmpJGIDs uint32 -- -- tok = fs.Scan() -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- if tok == fflib.FFTok_right_brace { -- break -- } -- -- if tok == fflib.FFTok_comma { -- if wantVal == true { -- // TODO(pquerna): this isn't an ideal error message, this handles -- // things like [,,,] as an array value. -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) -- } -- continue -- } else { -- wantVal = true -- } -- -- /* handler: tmpJGIDs type=uint32 kind=uint32 quoted=false*/ -- -- { -- if tok != fflib.FFTok_integer && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for uint32", tok)) -- } -- } -- -- { -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- tval, err := fflib.ParseUint(fs.Output.Bytes(), 10, 32) -- -- if err != nil { -- return fs.WrapErr(err) -- } -- -- tmpJGIDs = uint32(tval) -- -- } -- } -- -- j.GIDs = append(j.GIDs, tmpJGIDs) -- -- wantVal = false -- } -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_Flags: -- -- /* handler: j.Flags type=map[string]interface {} kind=map quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_left_bracket && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- j.Flags = nil -- } else { -- -- j.Flags = make(map[string]interface{}, 0) -- -- wantVal := true -- -- for { -- -- var k string -- -- var tmpJFlags interface{} -- -- tok = fs.Scan() -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- if tok == fflib.FFTok_right_bracket { -- break -- } -- -- if tok == fflib.FFTok_comma { -- if wantVal == true { -- // TODO(pquerna): this isn't an ideal error message, this handles -- // things like [,,,] as an array value. -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) -- } -- continue -- } else { -- wantVal = true -- } -- -- /* handler: k type=string kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- k = string(string(outBuf)) -- -- } -- } -- -- // Expect ':' after key -- tok = fs.Scan() -- if tok != fflib.FFTok_colon { -- return fs.WrapErr(fmt.Errorf("wanted colon token, but got token: %v", tok)) -- } -- -- tok = fs.Scan() -- /* handler: tmpJFlags type=interface {} kind=interface quoted=false*/ -- -- { -- /* Falling back. type=interface {} kind=interface */ -- tbuf, err := fs.CaptureField(tok) -- if err != nil { -- return fs.WrapErr(err) -- } -- -- err = json.Unmarshal(tbuf, &tmpJFlags) -- if err != nil { -- return fs.WrapErr(err) -- } -- } -- -- j.Flags[k] = tmpJFlags -- -- wantVal = false -- } -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_UIDMap: -- -- /* handler: j.UIDMap type=[]idtools.IDMap kind=slice quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- j.UIDMap = nil -- } else { -- -- j.UIDMap = []idtools.IDMap{} -- -- wantVal := true -- -- for { -- -- var tmpJUIDMap idtools.IDMap -- -- tok = fs.Scan() -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- if tok == fflib.FFTok_right_brace { -- break -- } -- -- if tok == fflib.FFTok_comma { -- if wantVal == true { -- // TODO(pquerna): this isn't an ideal error message, this handles -- // things like [,,,] as an array value. -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) -- } -- continue -- } else { -- wantVal = true -- } -- -- /* handler: tmpJUIDMap type=idtools.IDMap kind=struct quoted=false*/ -- -- { -- /* Falling back. type=idtools.IDMap kind=struct */ -- tbuf, err := fs.CaptureField(tok) -- if err != nil { -- return fs.WrapErr(err) -- } -- -- err = json.Unmarshal(tbuf, &tmpJUIDMap) -- if err != nil { -- return fs.WrapErr(err) -- } -- } -- -- j.UIDMap = append(j.UIDMap, tmpJUIDMap) -- -- wantVal = false -- } -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_GIDMap: -- -- /* handler: j.GIDMap type=[]idtools.IDMap kind=slice quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- j.GIDMap = nil -- } else { -- -- j.GIDMap = []idtools.IDMap{} -- -- wantVal := true -- -- for { -- -- var tmpJGIDMap idtools.IDMap -- -- tok = fs.Scan() -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- if tok == fflib.FFTok_right_brace { -- break -- } -- -- if tok == fflib.FFTok_comma { -- if wantVal == true { -- // TODO(pquerna): this isn't an ideal error message, this handles -- // things like [,,,] as an array value. -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) -- } -- continue -- } else { -- wantVal = true -- } -- -- /* handler: tmpJGIDMap type=idtools.IDMap kind=struct quoted=false*/ -- -- { -- /* Falling back. type=idtools.IDMap kind=struct */ -- tbuf, err := fs.CaptureField(tok) -- if err != nil { -- return fs.WrapErr(err) -- } -- -- err = json.Unmarshal(tbuf, &tmpJGIDMap) -- if err != nil { -- return fs.WrapErr(err) -- } -- } -- -- j.GIDMap = append(j.GIDMap, tmpJGIDMap) -- -- wantVal = false -- } -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --wantedvalue: -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) --wrongtokenerror: -- return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) --tokerror: -- if fs.BigError != nil { -- return fs.WrapErr(fs.BigError) -- } -- err = fs.Error.ToError() -- if err != nil { -- return fs.WrapErr(err) -- } -- panic("ffjson-generated: unreachable, please report bug.") --done: -- -- return nil --} -- --// MarshalJSON marshal bytes to json - template --func (j *layerMountPoint) MarshalJSON() ([]byte, error) { -- var buf fflib.Buffer -- if j == nil { -- buf.WriteString("null") -- return buf.Bytes(), nil -- } -- err := j.MarshalJSONBuf(&buf) -- if err != nil { -- return nil, err -- } -- return buf.Bytes(), nil --} -- --// MarshalJSONBuf marshal buff to json - template --func (j *layerMountPoint) MarshalJSONBuf(buf fflib.EncodingBuffer) error { -- if j == nil { -- buf.WriteString("null") -- return nil -- } -- var err error -- var obj []byte -- _ = obj -- _ = err -- buf.WriteString(`{"id":`) -- fflib.WriteJsonString(buf, string(j.ID)) -- buf.WriteString(`,"path":`) -- fflib.WriteJsonString(buf, string(j.MountPoint)) -- buf.WriteString(`,"count":`) -- fflib.FormatBits2(buf, uint64(j.MountCount), 10, j.MountCount < 0) -- buf.WriteByte('}') -- return nil --} -- --const ( -- ffjtlayerMountPointbase = iota -- ffjtlayerMountPointnosuchkey -- -- ffjtlayerMountPointID -- -- ffjtlayerMountPointMountPoint -- -- ffjtlayerMountPointMountCount --) -- --var ffjKeylayerMountPointID = []byte("id") -- --var ffjKeylayerMountPointMountPoint = []byte("path") -- --var ffjKeylayerMountPointMountCount = []byte("count") -- --// UnmarshalJSON umarshall json - template of ffjson --func (j *layerMountPoint) UnmarshalJSON(input []byte) error { -- fs := fflib.NewFFLexer(input) -- return j.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) --} -- --// UnmarshalJSONFFLexer fast json unmarshall - template ffjson --func (j *layerMountPoint) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { -- var err error -- currentKey := ffjtlayerMountPointbase -- _ = currentKey -- tok := fflib.FFTok_init -- wantedTok := fflib.FFTok_init -- --mainparse: -- for { -- tok = fs.Scan() -- // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- -- switch state { -- -- case fflib.FFParse_map_start: -- if tok != fflib.FFTok_left_bracket { -- wantedTok = fflib.FFTok_left_bracket -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_key -- continue -- -- case fflib.FFParse_after_value: -- if tok == fflib.FFTok_comma { -- state = fflib.FFParse_want_key -- } else if tok == fflib.FFTok_right_bracket { -- goto done -- } else { -- wantedTok = fflib.FFTok_comma -- goto wrongtokenerror -- } -- -- case fflib.FFParse_want_key: -- // json {} ended. goto exit. woo. -- if tok == fflib.FFTok_right_bracket { -- goto done -- } -- if tok != fflib.FFTok_string { -- wantedTok = fflib.FFTok_string -- goto wrongtokenerror -- } -- -- kn := fs.Output.Bytes() -- if len(kn) <= 0 { -- // "" case. hrm. -- currentKey = ffjtlayerMountPointnosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } else { -- switch kn[0] { -- -- case 'c': -- -- if bytes.Equal(ffjKeylayerMountPointMountCount, kn) { -- currentKey = ffjtlayerMountPointMountCount -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'i': -- -- if bytes.Equal(ffjKeylayerMountPointID, kn) { -- currentKey = ffjtlayerMountPointID -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case 'p': -- -- if bytes.Equal(ffjKeylayerMountPointMountPoint, kn) { -- currentKey = ffjtlayerMountPointMountPoint -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeylayerMountPointMountCount, kn) { -- currentKey = ffjtlayerMountPointMountCount -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeylayerMountPointMountPoint, kn) { -- currentKey = ffjtlayerMountPointMountPoint -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- if fflib.SimpleLetterEqualFold(ffjKeylayerMountPointID, kn) { -- currentKey = ffjtlayerMountPointID -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- currentKey = ffjtlayerMountPointnosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case fflib.FFParse_want_colon: -- if tok != fflib.FFTok_colon { -- wantedTok = fflib.FFTok_colon -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_value -- continue -- case fflib.FFParse_want_value: -- -- if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { -- switch currentKey { -- -- case ffjtlayerMountPointID: -- goto handle_ID -- -- case ffjtlayerMountPointMountPoint: -- goto handle_MountPoint -- -- case ffjtlayerMountPointMountCount: -- goto handle_MountCount -- -- case ffjtlayerMountPointnosuchkey: -- err = fs.SkipField(tok) -- if err != nil { -- return fs.WrapErr(err) -- } -- state = fflib.FFParse_after_value -- goto mainparse -- } -- } else { -- goto wantedvalue -- } -- } -- } -- --handle_ID: -- -- /* handler: j.ID type=string kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- j.ID = string(string(outBuf)) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_MountPoint: -- -- /* handler: j.MountPoint type=string kind=string quoted=false*/ -- -- { -- -- { -- if tok != fflib.FFTok_string && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) -- } -- } -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- outBuf := fs.Output.Bytes() -- -- j.MountPoint = string(string(outBuf)) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --handle_MountCount: -- -- /* handler: j.MountCount type=int kind=int quoted=false*/ -- -- { -- if tok != fflib.FFTok_integer && tok != fflib.FFTok_null { -- return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for int", tok)) -- } -- } -- -- { -- -- if tok == fflib.FFTok_null { -- -- } else { -- -- tval, err := fflib.ParseInt(fs.Output.Bytes(), 10, 64) -- -- if err != nil { -- return fs.WrapErr(err) -- } -- -- j.MountCount = int(tval) -- -- } -- } -- -- state = fflib.FFParse_after_value -- goto mainparse -- --wantedvalue: -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) --wrongtokenerror: -- return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) --tokerror: -- if fs.BigError != nil { -- return fs.WrapErr(fs.BigError) -- } -- err = fs.Error.ToError() -- if err != nil { -- return fs.WrapErr(err) -- } -- panic("ffjson-generated: unreachable, please report bug.") --done: -- -- return nil --} -- --// MarshalJSON marshal bytes to json - template --func (j *layerStore) MarshalJSON() ([]byte, error) { -- var buf fflib.Buffer -- if j == nil { -- buf.WriteString("null") -- return buf.Bytes(), nil -- } -- err := j.MarshalJSONBuf(&buf) -- if err != nil { -- return nil, err -- } -- return buf.Bytes(), nil --} -- --// MarshalJSONBuf marshal buff to json - template --func (j *layerStore) MarshalJSONBuf(buf fflib.EncodingBuffer) error { -- if j == nil { -- buf.WriteString("null") -- return nil -- } -- var err error -- var obj []byte -- _ = obj -- _ = err -- buf.WriteString(`{}`) -- return nil --} -- --const ( -- ffjtlayerStorebase = iota -- ffjtlayerStorenosuchkey --) -- --// UnmarshalJSON umarshall json - template of ffjson --func (j *layerStore) UnmarshalJSON(input []byte) error { -- fs := fflib.NewFFLexer(input) -- return j.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) --} -- --// UnmarshalJSONFFLexer fast json unmarshall - template ffjson --func (j *layerStore) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { -- var err error -- currentKey := ffjtlayerStorebase -- _ = currentKey -- tok := fflib.FFTok_init -- wantedTok := fflib.FFTok_init -- --mainparse: -- for { -- tok = fs.Scan() -- // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- -- switch state { -- -- case fflib.FFParse_map_start: -- if tok != fflib.FFTok_left_bracket { -- wantedTok = fflib.FFTok_left_bracket -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_key -- continue -- -- case fflib.FFParse_after_value: -- if tok == fflib.FFTok_comma { -- state = fflib.FFParse_want_key -- } else if tok == fflib.FFTok_right_bracket { -- goto done -- } else { -- wantedTok = fflib.FFTok_comma -- goto wrongtokenerror -- } -- -- case fflib.FFParse_want_key: -- // json {} ended. goto exit. woo. -- if tok == fflib.FFTok_right_bracket { -- goto done -- } -- if tok != fflib.FFTok_string { -- wantedTok = fflib.FFTok_string -- goto wrongtokenerror -- } -- -- kn := fs.Output.Bytes() -- if len(kn) <= 0 { -- // "" case. hrm. -- currentKey = ffjtlayerStorenosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } else { -- switch kn[0] { -- -- } -- -- currentKey = ffjtlayerStorenosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case fflib.FFParse_want_colon: -- if tok != fflib.FFTok_colon { -- wantedTok = fflib.FFTok_colon -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_value -- continue -- case fflib.FFParse_want_value: -- -- if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { -- switch currentKey { -- -- case ffjtlayerStorenosuchkey: -- err = fs.SkipField(tok) -- if err != nil { -- return fs.WrapErr(err) -- } -- state = fflib.FFParse_after_value -- goto mainparse -- } -- } else { -- goto wantedvalue -- } -- } -- } -- --wantedvalue: -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) --wrongtokenerror: -- return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) --tokerror: -- if fs.BigError != nil { -- return fs.WrapErr(fs.BigError) -- } -- err = fs.Error.ToError() -- if err != nil { -- return fs.WrapErr(err) -- } -- panic("ffjson-generated: unreachable, please report bug.") --done: -- -- return nil --} -- --// MarshalJSON marshal bytes to json - template --func (j *simpleGetCloser) MarshalJSON() ([]byte, error) { -- var buf fflib.Buffer -- if j == nil { -- buf.WriteString("null") -- return buf.Bytes(), nil -- } -- err := j.MarshalJSONBuf(&buf) -- if err != nil { -- return nil, err -- } -- return buf.Bytes(), nil --} -- --// MarshalJSONBuf marshal buff to json - template --func (j *simpleGetCloser) MarshalJSONBuf(buf fflib.EncodingBuffer) error { -- if j == nil { -- buf.WriteString("null") -- return nil -- } -- var err error -- var obj []byte -- _ = obj -- _ = err -- buf.WriteString(`{}`) -- return nil --} -- --const ( -- ffjtsimpleGetCloserbase = iota -- ffjtsimpleGetClosernosuchkey --) -- --// UnmarshalJSON umarshall json - template of ffjson --func (j *simpleGetCloser) UnmarshalJSON(input []byte) error { -- fs := fflib.NewFFLexer(input) -- return j.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) --} -- --// UnmarshalJSONFFLexer fast json unmarshall - template ffjson --func (j *simpleGetCloser) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { -- var err error -- currentKey := ffjtsimpleGetCloserbase -- _ = currentKey -- tok := fflib.FFTok_init -- wantedTok := fflib.FFTok_init -- --mainparse: -- for { -- tok = fs.Scan() -- // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) -- if tok == fflib.FFTok_error { -- goto tokerror -- } -- -- switch state { -- -- case fflib.FFParse_map_start: -- if tok != fflib.FFTok_left_bracket { -- wantedTok = fflib.FFTok_left_bracket -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_key -- continue -- -- case fflib.FFParse_after_value: -- if tok == fflib.FFTok_comma { -- state = fflib.FFParse_want_key -- } else if tok == fflib.FFTok_right_bracket { -- goto done -- } else { -- wantedTok = fflib.FFTok_comma -- goto wrongtokenerror -- } -- -- case fflib.FFParse_want_key: -- // json {} ended. goto exit. woo. -- if tok == fflib.FFTok_right_bracket { -- goto done -- } -- if tok != fflib.FFTok_string { -- wantedTok = fflib.FFTok_string -- goto wrongtokenerror -- } -- -- kn := fs.Output.Bytes() -- if len(kn) <= 0 { -- // "" case. hrm. -- currentKey = ffjtsimpleGetClosernosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } else { -- switch kn[0] { -- -- } -- -- currentKey = ffjtsimpleGetClosernosuchkey -- state = fflib.FFParse_want_colon -- goto mainparse -- } -- -- case fflib.FFParse_want_colon: -- if tok != fflib.FFTok_colon { -- wantedTok = fflib.FFTok_colon -- goto wrongtokenerror -- } -- state = fflib.FFParse_want_value -- continue -- case fflib.FFParse_want_value: -- -- if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { -- switch currentKey { -- -- case ffjtsimpleGetClosernosuchkey: -- err = fs.SkipField(tok) -- if err != nil { -- return fs.WrapErr(err) -- } -- state = fflib.FFParse_after_value -- goto mainparse -- } -- } else { -- goto wantedvalue -- } -- } -- } -- --wantedvalue: -- return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) --wrongtokenerror: -- return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) --tokerror: -- if fs.BigError != nil { -- return fs.WrapErr(fs.BigError) -- } -- err = fs.Error.ToError() -- if err != nil { -- return fs.WrapErr(err) -- } -- panic("ffjson-generated: unreachable, please report bug.") --done: -- -- return nil --} -diff --git a/vendor/github.com/containers/storage/pkg/archive/archive.go b/vendor/github.com/containers/storage/pkg/archive/archive.go -index 20f017e64..d9a2e473c 100644 ---- a/vendor/github.com/containers/storage/pkg/archive/archive.go -+++ b/vendor/github.com/containers/storage/pkg/archive/archive.go -@@ -68,6 +68,12 @@ type ( - } - ) - -+const ( -+ tarExt = "tar" -+ solaris = "solaris" -+ windows = "windows" -+) -+ - // Archiver allows the reuse of most utility functions of this package with a - // pluggable Untar function. To facilitate the passing of specific id mappings - // for untar, an archiver can be created with maps which will then be passed to -@@ -325,15 +331,15 @@ func ReplaceFileTarWrapper(inputTarStream io.ReadCloser, mods map[string]TarModi - func (compression *Compression) Extension() string { - switch *compression { - case Uncompressed: -- return "tar" -+ return tarExt - case Bzip2: -- return "tar.bz2" -+ return tarExt + ".bz2" - case Gzip: -- return "tar.gz" -+ return tarExt + ".gz" - case Xz: -- return "tar.xz" -+ return tarExt + ".xz" - case Zstd: -- return "tar.zst" -+ return tarExt + ".zst" - } - return "" - } -@@ -387,7 +393,10 @@ func fillGo18FileTypeBits(mode int64, fi os.FileInfo) int64 { - // ReadSecurityXattrToTarHeader reads security.capability xattr from filesystem - // to a tar header - func ReadSecurityXattrToTarHeader(path string, hdr *tar.Header) error { -- capability, _ := system.Lgetxattr(path, "security.capability") -+ capability, err := system.Lgetxattr(path, "security.capability") -+ if err != nil && err != system.EOPNOTSUPP { -+ return err -+ } - if capability != nil { - hdr.Xattrs = make(map[string]string) - hdr.Xattrs["security.capability"] = string(capability) -@@ -395,6 +404,31 @@ func ReadSecurityXattrToTarHeader(path string, hdr *tar.Header) error { - return nil - } - -+// ReadUserXattrToTarHeader reads user.* xattr from filesystem to a tar header -+func ReadUserXattrToTarHeader(path string, hdr *tar.Header) error { -+ xattrs, err := system.Llistxattr(path) -+ if err != nil && err != system.EOPNOTSUPP { -+ return err -+ } -+ for _, key := range xattrs { -+ if strings.HasPrefix(key, "user.") { -+ value, err := system.Lgetxattr(path, key) -+ if err == system.E2BIG { -+ logrus.Errorf("archive: Skipping xattr for file %s since value is too big: %s", path, key) -+ continue -+ } -+ if err != nil { -+ return err -+ } -+ if hdr.Xattrs == nil { -+ hdr.Xattrs = make(map[string]string) -+ } -+ hdr.Xattrs[key] = string(value) -+ } -+ } -+ return nil -+} -+ - type tarWhiteoutConverter interface { - ConvertWrite(*tar.Header, string, os.FileInfo) (*tar.Header, error) - ConvertRead(*tar.Header, string) (bool, error) -@@ -469,6 +503,9 @@ func (ta *tarAppender) addTarFile(path, name string) error { - if err := ReadSecurityXattrToTarHeader(path, hdr); err != nil { - return err - } -+ if err := ReadUserXattrToTarHeader(path, hdr); err != nil { -+ return err -+ } - if ta.CopyPass { - copyPassHeader(hdr) - } -@@ -540,10 +577,7 @@ func (ta *tarAppender) addTarFile(path, name string) error { - } - - if hdr.Typeflag == tar.TypeReg && hdr.Size > 0 { -- // We use system.OpenSequential to ensure we use sequential file -- // access on Windows to avoid depleting the standby list. -- // On Linux, this equates to a regular os.Open. -- file, err := system.OpenSequential(path) -+ file, err := os.Open(path) - if err != nil { - return err - } -@@ -584,7 +618,7 @@ func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader, L - // Source is regular file. We use system.OpenFileSequential to use sequential - // file access to avoid depleting the standby list on Windows. - // On Linux, this equates to a regular os.OpenFile -- file, err := system.OpenFileSequential(path, os.O_CREATE|os.O_WRONLY, hdrInfo.Mode()) -+ file, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, hdrInfo.Mode()) - if err != nil { - return err - } -@@ -642,7 +676,7 @@ func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader, L - } - - // Lchown is not supported on Windows. -- if Lchown && runtime.GOOS != "windows" { -+ if Lchown && runtime.GOOS != windows { - if chownOpts == nil { - chownOpts = &idtools.IDPair{UID: hdr.Uid, GID: hdr.Gid} - } -@@ -821,11 +855,12 @@ func TarWithOptions(srcPath string, options *TarOptions) (io.ReadCloser, error) - // is asking for that file no matter what - which is true - // for some files, like .dockerignore and Dockerfile (sometimes) - if include != relFilePath { -- skip, err = pm.Matches(relFilePath) -+ matches, err := pm.IsMatch(relFilePath) - if err != nil { - logrus.Errorf("Error matching %s: %v", relFilePath, err) - return err - } -+ skip = matches - } - - if skip { -@@ -1164,7 +1199,7 @@ func (archiver *Archiver) CopyFileWithTar(src, dst string) (err error) { - dst = filepath.Join(dst, filepath.Base(src)) - } - // Create the holding directory if necessary -- if err := system.MkdirAll(filepath.Dir(dst), 0700, ""); err != nil { -+ if err := os.MkdirAll(filepath.Dir(dst), 0700); err != nil { - return err - } - -diff --git a/vendor/github.com/containers/storage/pkg/archive/archive_linux.go b/vendor/github.com/containers/storage/pkg/archive/archive_linux.go -index 5602c7e21..3a47eceae 100644 ---- a/vendor/github.com/containers/storage/pkg/archive/archive_linux.go -+++ b/vendor/github.com/containers/storage/pkg/archive/archive_linux.go -@@ -61,10 +61,7 @@ func (o overlayWhiteoutConverter) ConvertWrite(hdr *tar.Header, path string, fi - } - if statErr == nil { - if stat.Mode()&os.ModeCharDevice != 0 { -- // It's a whiteout for this directory, so it can't have been -- // both deleted and recreated in the layer we're diffing. -- s := stat.Sys().(*syscall.Stat_t) -- if major(s.Rdev) == 0 && minor(s.Rdev) == 0 { -+ if isWhiteOut(stat) { - return nil, nil - } - } -@@ -98,8 +95,7 @@ func (o overlayWhiteoutConverter) ConvertWrite(hdr *tar.Header, path string, fi - // If it's whiteout for a parent directory, then the - // original directory wasn't inherited into this layer, - // so we don't need to emit whiteout for it. -- s := stat.Sys().(*syscall.Stat_t) -- if major(s.Rdev) == 0 && minor(s.Rdev) == 0 { -+ if isWhiteOut(stat) { - return nil, nil - } - } -@@ -141,3 +137,8 @@ func (overlayWhiteoutConverter) ConvertRead(hdr *tar.Header, path string) (bool, - - return true, nil - } -+ -+func isWhiteOut(stat os.FileInfo) bool { -+ s := stat.Sys().(*syscall.Stat_t) -+ return major(uint64(s.Rdev)) == 0 && minor(uint64(s.Rdev)) == 0 -+} -diff --git a/vendor/github.com/containers/storage/pkg/archive/changes.go b/vendor/github.com/containers/storage/pkg/archive/changes.go -index d3d6c8f74..3ce396070 100644 ---- a/vendor/github.com/containers/storage/pkg/archive/changes.go -+++ b/vendor/github.com/containers/storage/pkg/archive/changes.go -@@ -8,6 +8,7 @@ import ( - "io/ioutil" - "os" - "path/filepath" -+ "reflect" - "sort" - "strings" - "syscall" -@@ -263,6 +264,7 @@ type FileInfo struct { - children map[string]*FileInfo - capability []byte - added bool -+ xattrs map[string]string - } - - // LookUp looks up the file information of a file. -@@ -331,7 +333,8 @@ func (info *FileInfo) addChanges(oldInfo *FileInfo, changes *[]Change) { - // breaks down is if some code intentionally hides a change by setting - // back mtime - if statDifferent(oldStat, oldInfo, newStat, info) || -- !bytes.Equal(oldChild.capability, newChild.capability) { -+ !bytes.Equal(oldChild.capability, newChild.capability) || -+ !reflect.DeepEqual(oldChild.xattrs, newChild.xattrs) { - change := Change{ - Path: newChild.path(), - Kind: ChangeModify, -diff --git a/vendor/github.com/containers/storage/pkg/archive/changes_linux.go b/vendor/github.com/containers/storage/pkg/archive/changes_linux.go -index b12309361..ecfa45d73 100644 ---- a/vendor/github.com/containers/storage/pkg/archive/changes_linux.go -+++ b/vendor/github.com/containers/storage/pkg/archive/changes_linux.go -@@ -6,11 +6,13 @@ import ( - "os" - "path/filepath" - "sort" -+ "strings" - "syscall" - "unsafe" - - "github.com/containers/storage/pkg/idtools" - "github.com/containers/storage/pkg/system" -+ "github.com/sirupsen/logrus" - "golang.org/x/sys/unix" - ) - -@@ -83,7 +85,30 @@ func walkchunk(path string, fi os.FileInfo, dir string, root *FileInfo) error { - return err - } - info.stat = stat -- info.capability, _ = system.Lgetxattr(cpath, "security.capability") // lgetxattr(2): fs access -+ info.capability, err = system.Lgetxattr(cpath, "security.capability") // lgetxattr(2): fs access -+ if err != nil && err != system.EOPNOTSUPP { -+ return err -+ } -+ xattrs, err := system.Llistxattr(cpath) -+ if err != nil && err != system.EOPNOTSUPP { -+ return err -+ } -+ for _, key := range xattrs { -+ if strings.HasPrefix(key, "user.") { -+ value, err := system.Lgetxattr(cpath, key) -+ if err == system.E2BIG { -+ logrus.Errorf("archive: Skipping xattr for file %s since value is too big: %s", cpath, key) -+ continue -+ } -+ if err != nil { -+ return err -+ } -+ if info.xattrs == nil { -+ info.xattrs = make(map[string]string) -+ } -+ info.xattrs[key] = string(value) -+ } -+ } - parent.children[info.name] = info - return nil - } -@@ -307,9 +332,7 @@ func overlayLowerContainsWhiteout(root, path string) (bool, error) { - return false, err - } - if err == nil && stat.Mode()&os.ModeCharDevice != 0 { -- // Check if there's whiteout for the specified item in the specified layer. -- s := stat.Sys().(*syscall.Stat_t) -- if major(s.Rdev) == 0 && minor(s.Rdev) == 0 { -+ if isWhiteOut(stat) { - return true, nil - } - } -@@ -319,8 +342,7 @@ func overlayLowerContainsWhiteout(root, path string) (bool, error) { - func overlayDeletedFile(layers []string, root, path string, fi os.FileInfo) (string, error) { - // If it's a whiteout item, then a file or directory with that name is removed by this layer. - if fi.Mode()&os.ModeCharDevice != 0 { -- s := fi.Sys().(*syscall.Stat_t) -- if major(s.Rdev) == 0 && minor(s.Rdev) == 0 { -+ if isWhiteOut(fi) { - return path, nil - } - } -@@ -350,10 +372,7 @@ func overlayDeletedFile(layers []string, root, path string, fi os.FileInfo) (str - } - if err == nil { - if stat.Mode()&os.ModeCharDevice != 0 { -- // It's a whiteout for this directory, so it can't have been -- // deleted in this layer. -- s := stat.Sys().(*syscall.Stat_t) -- if major(s.Rdev) == 0 && minor(s.Rdev) == 0 { -+ if isWhiteOut(stat) { - return "", nil - } - } -@@ -370,10 +389,7 @@ func overlayDeletedFile(layers []string, root, path string, fi os.FileInfo) (str - } - if err == nil { - if stat.Mode()&os.ModeCharDevice != 0 { -- // If it's whiteout for a parent directory, then the -- // original directory wasn't inherited into the top layer. -- s := stat.Sys().(*syscall.Stat_t) -- if major(s.Rdev) == 0 && minor(s.Rdev) == 0 { -+ if isWhiteOut(stat) { - return "", nil - } - } -diff --git a/vendor/github.com/containers/storage/pkg/archive/changes_unix.go b/vendor/github.com/containers/storage/pkg/archive/changes_unix.go -index 031ec341b..805fb960a 100644 ---- a/vendor/github.com/containers/storage/pkg/archive/changes_unix.go -+++ b/vendor/github.com/containers/storage/pkg/archive/changes_unix.go -@@ -13,17 +13,17 @@ import ( - - func statDifferent(oldStat *system.StatT, oldInfo *FileInfo, newStat *system.StatT, newInfo *FileInfo) bool { - // Don't look at size for dirs, its not a good measure of change -- oldUid, oldGid := oldStat.UID(), oldStat.GID() -+ oldUID, oldGID := oldStat.UID(), oldStat.GID() - uid, gid := newStat.UID(), newStat.GID() - if cuid, cgid, err := newInfo.idMappings.ToContainer(idtools.IDPair{UID: int(uid), GID: int(gid)}); err == nil { - uid = uint32(cuid) - gid = uint32(cgid) -- if oldcuid, oldcgid, err := oldInfo.idMappings.ToContainer(idtools.IDPair{UID: int(oldUid), GID: int(oldGid)}); err == nil { -- oldUid = uint32(oldcuid) -- oldGid = uint32(oldcgid) -+ if oldcuid, oldcgid, err := oldInfo.idMappings.ToContainer(idtools.IDPair{UID: int(oldUID), GID: int(oldGID)}); err == nil { -+ oldUID = uint32(oldcuid) -+ oldGID = uint32(oldcgid) - } - } -- ownerChanged := uid != oldUid || gid != oldGid -+ ownerChanged := uid != oldUID || gid != oldGID - if oldStat.Mode() != newStat.Mode() || - ownerChanged || - oldStat.Rdev() != newStat.Rdev() || -diff --git a/vendor/github.com/containers/storage/pkg/archive/copy.go b/vendor/github.com/containers/storage/pkg/archive/copy.go -index ea012b2d9..6298a674d 100644 ---- a/vendor/github.com/containers/storage/pkg/archive/copy.go -+++ b/vendor/github.com/containers/storage/pkg/archive/copy.go -@@ -9,7 +9,6 @@ import ( - "path/filepath" - "strings" - -- "github.com/containers/storage/pkg/system" - "github.com/sirupsen/logrus" - ) - -@@ -198,7 +197,7 @@ func CopyInfoDestinationPath(path string) (info CopyInfo, err error) { - return CopyInfo{}, err - } - -- if !system.IsAbs(linkTarget) { -+ if !filepath.IsAbs(linkTarget) { - // Join with the parent directory. - dstParent, _ := SplitPathDirEntry(path) - linkTarget = filepath.Join(dstParent, linkTarget) -diff --git a/vendor/github.com/containers/storage/pkg/archive/diff.go b/vendor/github.com/containers/storage/pkg/archive/diff.go -index b8ec876dd..78e3d9102 100644 ---- a/vendor/github.com/containers/storage/pkg/archive/diff.go -+++ b/vendor/github.com/containers/storage/pkg/archive/diff.go -@@ -68,7 +68,7 @@ func UnpackLayer(dest string, layer io.Reader, options *TarOptions) (size int64, - // specific or Linux-specific, this warning should be changed to an error - // to cater for the situation where someone does manage to upload a Linux - // image but have it tagged as Windows inadvertently. -- if runtime.GOOS == "windows" { -+ if runtime.GOOS == windows { - if strings.Contains(hdr.Name, ":") { - logrus.Warnf("Windows: Ignoring %s (is this a Linux image?)", hdr.Name) - continue -@@ -84,7 +84,7 @@ func UnpackLayer(dest string, layer io.Reader, options *TarOptions) (size int64, - parentPath := filepath.Join(dest, parent) - - if _, err := os.Lstat(parentPath); err != nil && os.IsNotExist(err) { -- err = system.MkdirAll(parentPath, 0600, "") -+ err = os.MkdirAll(parentPath, 0600) - if err != nil { - return 0, err - } -diff --git a/vendor/github.com/containers/storage/pkg/chrootarchive/archive_unix.go b/vendor/github.com/containers/storage/pkg/chrootarchive/archive_unix.go -index ca9fb10d7..630826db1 100644 ---- a/vendor/github.com/containers/storage/pkg/chrootarchive/archive_unix.go -+++ b/vendor/github.com/containers/storage/pkg/chrootarchive/archive_unix.go -@@ -96,11 +96,13 @@ func invokeUnpack(decompressedArchive io.Reader, dest string, options *archive.T - cmd.Stderr = output - - if err := cmd.Start(); err != nil { -+ w.Close() - return fmt.Errorf("Untar error on re-exec cmd: %v", err) - } - - //write the options to the pipe for the untar exec to read - if err := json.NewEncoder(w).Encode(options); err != nil { -+ w.Close() - return fmt.Errorf("Untar json encode to pipe failed: %v", err) - } - w.Close() -diff --git a/vendor/github.com/containers/storage/pkg/config/config.go b/vendor/github.com/containers/storage/pkg/config/config.go -index 091040140..9e1131823 100644 ---- a/vendor/github.com/containers/storage/pkg/config/config.go -+++ b/vendor/github.com/containers/storage/pkg/config/config.go -@@ -1,5 +1,11 @@ - package config - -+import ( -+ "fmt" -+ -+ "github.com/sirupsen/logrus" -+) -+ - // ThinpoolOptionsConfig represents the "storage.options.thinpool" - // TOML config table. - type ThinpoolOptionsConfig struct { -@@ -47,6 +53,9 @@ type ThinpoolOptionsConfig struct { - // devices. - MountOpt string `toml:"mountopt"` - -+ // Size -+ Size string `toml:"size"` -+ - // UseDeferredDeletion marks device for deferred deletion - UseDeferredDeletion string `toml:"use_deferred_deletion"` - -@@ -59,6 +68,47 @@ type ThinpoolOptionsConfig struct { - XfsNoSpaceMaxRetries string `toml:"xfs_nospace_max_retries"` - } - -+type AufsOptionsConfig struct { -+ // MountOpt specifies extra mount options used when mounting -+ MountOpt string `toml:"mountopt"` -+} -+ -+type BtrfsOptionsConfig struct { -+ // MinSpace is the minimal spaces allocated to the device -+ MinSpace string `toml:"min_space"` -+ // Size -+ Size string `toml:"size"` -+} -+ -+type OverlayOptionsConfig struct { -+ // IgnoreChownErrors is a flag for whether chown errors should be -+ // ignored when building an image. -+ IgnoreChownErrors string `toml:"ignore_chown_errors"` -+ // MountOpt specifies extra mount options used when mounting -+ MountOpt string `toml:"mountopt"` -+ // Alternative program to use for the mount of the file system -+ MountProgram string `toml:"mount_program"` -+ // Size -+ Size string `toml:"size"` -+ // Do not create a bind mount on the storage home -+ SkipMountHome string `toml:"skip_mount_home"` -+} -+ -+type VfsOptionsConfig struct { -+ // IgnoreChownErrors is a flag for whether chown errors should be -+ // ignored when building an image. -+ IgnoreChownErrors string `toml:"ignore_chown_errors"` -+} -+ -+type ZfsOptionsConfig struct { -+ // MountOpt specifies extra mount options used when mounting -+ MountOpt string `toml:"mountopt"` -+ // Name is the File System name of the ZFS File system -+ Name string `toml:"fsname"` -+ // Size -+ Size string `toml:"size"` -+} -+ - // OptionsConfig represents the "storage.options" TOML config table. - type OptionsConfig struct { - // AdditionalImagesStores is the location of additional read/only -@@ -83,12 +133,156 @@ type OptionsConfig struct { - // RemapGroup is the name of one or more entries in /etc/subgid which - // should be used to set up default GID mappings. - RemapGroup string `toml:"remap-group"` -+ -+ // Aufs container options to be handed to aufs drivers -+ Aufs struct{ AufsOptionsConfig } `toml:"aufs"` -+ -+ // Btrfs container options to be handed to btrfs drivers -+ Btrfs struct{ BtrfsOptionsConfig } `toml:"btrfs"` -+ - // Thinpool container options to be handed to thinpool drivers - Thinpool struct{ ThinpoolOptionsConfig } `toml:"thinpool"` - -+ // Overlay container options to be handed to overlay drivers -+ Overlay struct{ OverlayOptionsConfig } `toml:"overlay"` -+ -+ // Vfs container options to be handed to VFS drivers -+ Vfs struct{ VfsOptionsConfig } `toml:"vfs"` -+ -+ // Zfs container options to be handed to ZFS drivers -+ Zfs struct{ ZfsOptionsConfig } `toml:"zfs"` -+ -+ // Do not create a bind mount on the storage home -+ SkipMountHome string `toml:"skip_mount_home"` -+ - // Alternative program to use for the mount of the file system - MountProgram string `toml:"mount_program"` - - // MountOpt specifies extra mount options used when mounting - MountOpt string `toml:"mountopt"` - } -+ -+// GetGraphDriverOptions returns the driver specific options -+func GetGraphDriverOptions(driverName string, options OptionsConfig) []string { -+ var doptions []string -+ switch driverName { -+ case "aufs": -+ if options.Aufs.MountOpt != "" { -+ return append(doptions, fmt.Sprintf("%s.mountopt=%s", driverName, options.Aufs.MountOpt)) -+ } else if options.MountOpt != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.mountopt=%s", driverName, options.MountOpt)) -+ } -+ -+ case "btrfs": -+ if options.Btrfs.MinSpace != "" { -+ return append(doptions, fmt.Sprintf("%s.min_space=%s", driverName, options.Btrfs.MinSpace)) -+ } -+ if options.Btrfs.Size != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.size=%s", driverName, options.Btrfs.Size)) -+ } else if options.Size != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.size=%s", driverName, options.Size)) -+ } -+ -+ case "devicemapper": -+ if options.Thinpool.AutoExtendPercent != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.thinp_autoextend_percent=%s", options.Thinpool.AutoExtendPercent)) -+ } -+ if options.Thinpool.AutoExtendThreshold != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.thinp_autoextend_threshold=%s", options.Thinpool.AutoExtendThreshold)) -+ } -+ if options.Thinpool.BaseSize != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.basesize=%s", options.Thinpool.BaseSize)) -+ } -+ if options.Thinpool.BlockSize != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.blocksize=%s", options.Thinpool.BlockSize)) -+ } -+ if options.Thinpool.DirectLvmDevice != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.directlvm_device=%s", options.Thinpool.DirectLvmDevice)) -+ } -+ if options.Thinpool.DirectLvmDeviceForce != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.directlvm_device_force=%s", options.Thinpool.DirectLvmDeviceForce)) -+ } -+ if options.Thinpool.Fs != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.fs=%s", options.Thinpool.Fs)) -+ } -+ if options.Thinpool.LogLevel != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.libdm_log_level=%s", options.Thinpool.LogLevel)) -+ } -+ if options.Thinpool.MinFreeSpace != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.min_free_space=%s", options.Thinpool.MinFreeSpace)) -+ } -+ if options.Thinpool.MkfsArg != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.mkfsarg=%s", options.Thinpool.MkfsArg)) -+ } -+ if options.Thinpool.MountOpt != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.mountopt=%s", driverName, options.Thinpool.MountOpt)) -+ } else if options.MountOpt != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.mountopt=%s", driverName, options.MountOpt)) -+ } -+ -+ if options.Thinpool.Size != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.size=%s", driverName, options.Thinpool.Size)) -+ } else if options.Size != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.size=%s", driverName, options.Size)) -+ } -+ -+ if options.Thinpool.UseDeferredDeletion != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.use_deferred_deletion=%s", options.Thinpool.UseDeferredDeletion)) -+ } -+ if options.Thinpool.UseDeferredRemoval != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.use_deferred_removal=%s", options.Thinpool.UseDeferredRemoval)) -+ } -+ if options.Thinpool.XfsNoSpaceMaxRetries != "" { -+ doptions = append(doptions, fmt.Sprintf("dm.xfs_nospace_max_retries=%s", options.Thinpool.XfsNoSpaceMaxRetries)) -+ } -+ -+ case "overlay", "overlay2": -+ if options.Overlay.IgnoreChownErrors != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.ignore_chown_errors=%s", driverName, options.Overlay.IgnoreChownErrors)) -+ } else if options.IgnoreChownErrors != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.ignore_chown_errors=%s", driverName, options.IgnoreChownErrors)) -+ } -+ if options.Overlay.MountProgram != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.mount_program=%s", driverName, options.Overlay.MountProgram)) -+ } else if options.MountProgram != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.mount_program=%s", driverName, options.MountProgram)) -+ } -+ if options.Overlay.MountOpt != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.mountopt=%s", driverName, options.Overlay.MountOpt)) -+ } else if options.MountOpt != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.mountopt=%s", driverName, options.MountOpt)) -+ } -+ if options.Overlay.Size != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.size=%s", driverName, options.Overlay.Size)) -+ } else if options.Size != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.size=%s", driverName, options.Size)) -+ } -+ -+ if options.Overlay.SkipMountHome != "" || options.SkipMountHome != "" { -+ logrus.Warn("skip_mount_home option is no longer supported, ignoring option") -+ } -+ -+ case "vfs": -+ if options.Vfs.IgnoreChownErrors != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.ignore_chown_errors=%s", driverName, options.Vfs.IgnoreChownErrors)) -+ } else if options.IgnoreChownErrors != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.ignore_chown_errors=%s", driverName, options.IgnoreChownErrors)) -+ } -+ -+ case "zfs": -+ if options.Zfs.Name != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.fsname=%s", driverName, options.Zfs.Name)) -+ } -+ if options.Zfs.MountOpt != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.mountopt=%s", driverName, options.Zfs.MountOpt)) -+ } else if options.MountOpt != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.mountopt=%s", driverName, options.MountOpt)) -+ } -+ if options.Zfs.Size != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.size=%s", driverName, options.Zfs.Size)) -+ } else if options.Size != "" { -+ doptions = append(doptions, fmt.Sprintf("%s.size=%s", driverName, options.Size)) -+ } -+ } -+ return doptions -+} -diff --git a/vendor/github.com/containers/storage/pkg/fileutils/fileutils.go b/vendor/github.com/containers/storage/pkg/fileutils/fileutils.go -index a129e654e..dc2e0c199 100644 ---- a/vendor/github.com/containers/storage/pkg/fileutils/fileutils.go -+++ b/vendor/github.com/containers/storage/pkg/fileutils/fileutils.go -@@ -57,6 +57,7 @@ func NewPatternMatcher(patterns []string) (*PatternMatcher, error) { - return pm, nil - } - -+// Deprecated: Please use the `MatchesResult` method instead. - // Matches matches path against all the patterns. Matches is not safe to be - // called concurrently - func (pm *PatternMatcher) Matches(file string) (bool, error) { -@@ -96,6 +97,85 @@ func (pm *PatternMatcher) Matches(file string) (bool, error) { - return matched, nil - } - -+type MatchResult struct { -+ isMatched bool -+ matches, excludes uint -+} -+ -+// Excludes returns true if the overall result is matched -+func (m *MatchResult) IsMatched() bool { -+ return m.isMatched -+} -+ -+// Excludes returns the amount of matches of an MatchResult -+func (m *MatchResult) Matches() uint { -+ return m.matches -+} -+ -+// Excludes returns the amount of excludes of an MatchResult -+func (m *MatchResult) Excludes() uint { -+ return m.excludes -+} -+ -+// MatchesResult verifies the provided filepath against all patterns. -+// It returns the `*MatchResult` result for the patterns on success, otherwise -+// an error. This method is not safe to be called concurrently. -+func (pm *PatternMatcher) MatchesResult(file string) (res *MatchResult, err error) { -+ file = filepath.FromSlash(file) -+ parentPath := filepath.Dir(file) -+ parentPathDirs := strings.Split(parentPath, string(os.PathSeparator)) -+ res = &MatchResult{false, 0, 0} -+ -+ for _, pattern := range pm.patterns { -+ negative := false -+ -+ if pattern.exclusion { -+ negative = true -+ } -+ -+ match, err := pattern.match(file) -+ if err != nil { -+ return nil, err -+ } -+ -+ if !match && parentPath != "." { -+ // Check to see if the pattern matches one of our parent dirs. -+ if len(pattern.dirs) <= len(parentPathDirs) { -+ match, _ = pattern.match(strings.Join( -+ parentPathDirs[:len(pattern.dirs)], -+ string(os.PathSeparator)), -+ ) -+ } -+ } -+ -+ if match { -+ res.isMatched = !negative -+ if negative { -+ res.excludes++ -+ } else { -+ res.matches++ -+ } -+ } -+ } -+ -+ if res.matches > 0 { -+ logrus.Debugf("Skipping excluded path: %s", file) -+ } -+ -+ return res, nil -+} -+ -+// IsMatch verifies the provided filepath against all patterns and returns true -+// if it matches. A match is valid if the last match is a positive one. -+// It returns an error on failure and is not safe to be called concurrently. -+func (pm *PatternMatcher) IsMatch(file string) (matched bool, err error) { -+ res, err := pm.MatchesResult(file) -+ if err != nil { -+ return false, err -+ } -+ return res.isMatched, nil -+} -+ - // Exclusions returns true if any of the patterns define exclusions - func (pm *PatternMatcher) Exclusions() bool { - return pm.exclusions -@@ -146,8 +226,9 @@ func (p *Pattern) compile() error { - - sl := string(os.PathSeparator) - escSL := sl -- if sl == `\` { -- escSL += `\` -+ const bs = `\` -+ if sl == bs { -+ escSL += bs - } - - for scan.Peek() != scanner.EOF { -@@ -182,11 +263,11 @@ func (p *Pattern) compile() error { - } else if ch == '.' || ch == '$' { - // Escape some regexp special chars that have no meaning - // in golang's filepath.Match -- regStr += `\` + string(ch) -+ regStr += bs + string(ch) - } else if ch == '\\' { - // escape next char. Note that a trailing \ in the pattern - // will be left alone (but need to escape it) -- if sl == `\` { -+ if sl == bs { - // On windows map "\" to "\\", meaning an escaped backslash, - // and then just continue because filepath.Match on - // Windows doesn't allow escaping at all -@@ -194,9 +275,9 @@ func (p *Pattern) compile() error { - continue - } - if scan.Peek() != scanner.EOF { -- regStr += `\` + string(scan.Next()) -+ regStr += bs + string(scan.Next()) - } else { -- regStr += `\` -+ regStr += bs - } - } else { - regStr += string(ch) -@@ -228,7 +309,7 @@ func Matches(file string, patterns []string) (bool, error) { - return false, nil - } - -- return pm.Matches(file) -+ return pm.IsMatch(file) - } - - // CopyFile copies from src to dst until either EOF is reached -diff --git a/vendor/github.com/containers/storage/pkg/idtools/idtools_unix.go b/vendor/github.com/containers/storage/pkg/idtools/idtools_unix.go -index bdbdf1b50..6b0f55030 100644 ---- a/vendor/github.com/containers/storage/pkg/idtools/idtools_unix.go -+++ b/vendor/github.com/containers/storage/pkg/idtools/idtools_unix.go -@@ -49,7 +49,7 @@ func mkdirAs(path string, mode os.FileMode, ownerUID, ownerGID int, mkAll, chown - paths = append(paths, dirPath) - } - } -- if err := system.MkdirAll(path, mode, ""); err != nil && !os.IsExist(err) { -+ if err := os.MkdirAll(path, mode); err != nil && !os.IsExist(err) { - return err - } - } else { -diff --git a/vendor/github.com/containers/storage/pkg/idtools/idtools_windows.go b/vendor/github.com/containers/storage/pkg/idtools/idtools_windows.go -index dbf6bc4c9..9c8508397 100644 ---- a/vendor/github.com/containers/storage/pkg/idtools/idtools_windows.go -+++ b/vendor/github.com/containers/storage/pkg/idtools/idtools_windows.go -@@ -4,14 +4,12 @@ package idtools - - import ( - "os" -- -- "github.com/containers/storage/pkg/system" - ) - - // Platforms such as Windows do not support the UID/GID concept. So make this - // just a wrapper around system.MkdirAll. - func mkdirAs(path string, mode os.FileMode, ownerUID, ownerGID int, mkAll, chownExisting bool) error { -- if err := system.MkdirAll(path, mode, ""); err != nil && !os.IsExist(err) { -+ if err := os.MkdirAll(path, mode); err != nil && !os.IsExist(err) { - return err - } - return nil -diff --git a/vendor/github.com/containers/storage/pkg/lockfile/lockfile_unix.go b/vendor/github.com/containers/storage/pkg/lockfile/lockfile_unix.go -index 228c8cf24..302a523f5 100644 ---- a/vendor/github.com/containers/storage/pkg/lockfile/lockfile_unix.go -+++ b/vendor/github.com/containers/storage/pkg/lockfile/lockfile_unix.go -@@ -77,14 +77,14 @@ func createLockerForPath(path string, ro bool) (Locker, error) { - - // lock locks the lockfile via FCTNL(2) based on the specified type and - // command. --func (l *lockfile) lock(l_type int16, recursive bool) { -+func (l *lockfile) lock(lType int16, recursive bool) { - lk := unix.Flock_t{ -- Type: l_type, -+ Type: lType, - Whence: int16(os.SEEK_SET), - Start: 0, - Len: 0, - } -- switch l_type { -+ switch lType { - case unix.F_RDLCK: - l.rwMutex.RLock() - case unix.F_WRLCK: -@@ -96,7 +96,7 @@ func (l *lockfile) lock(l_type int16, recursive bool) { - l.rwMutex.Lock() - } - default: -- panic(fmt.Sprintf("attempted to acquire a file lock of unrecognized type %d", l_type)) -+ panic(fmt.Sprintf("attempted to acquire a file lock of unrecognized type %d", lType)) - } - l.stateMutex.Lock() - defer l.stateMutex.Unlock() -@@ -116,7 +116,7 @@ func (l *lockfile) lock(l_type int16, recursive bool) { - time.Sleep(10 * time.Millisecond) - } - } -- l.locktype = l_type -+ l.locktype = lType - l.locked = true - l.recursive = recursive - l.counter++ -diff --git a/vendor/github.com/containers/storage/pkg/loopback/attach_loopback.go b/vendor/github.com/containers/storage/pkg/loopback/attach_loopback.go -index be8680fbc..e2cf30b41 100644 ---- a/vendor/github.com/containers/storage/pkg/loopback/attach_loopback.go -+++ b/vendor/github.com/containers/storage/pkg/loopback/attach_loopback.go -@@ -93,7 +93,7 @@ func openNextAvailableLoopback(index int, sparseName string, sparseFile *os.File - logrus.Errorf("Error getting loopback backing file: %s", err) - return nil, ErrGetLoopbackBackingFile - } -- if dev != st.Dev || ino != st.Ino { -+ if dev != uint64(st.Dev) || ino != st.Ino { - logrus.Errorf("Loopback device and filesystem disagree on device/inode for %q: %#x(%d):%#x(%d) vs %#x(%d):%#x(%d)", sparseName, dev, dev, ino, ino, st.Dev, st.Dev, st.Ino, st.Ino) - } - -diff --git a/vendor/github.com/containers/storage/pkg/loopback/loopback.go b/vendor/github.com/containers/storage/pkg/loopback/loopback.go -index 05d537dc8..f4cf2826e 100644 ---- a/vendor/github.com/containers/storage/pkg/loopback/loopback.go -+++ b/vendor/github.com/containers/storage/pkg/loopback/loopback.go -@@ -53,7 +53,7 @@ func FindLoopDeviceFor(file *os.File) *os.File { - } - - dev, inode, err := getLoopbackBackingFile(file) -- if err == nil && dev == targetDevice && inode == targetInode { -+ if err == nil && dev == uint64(targetDevice) && inode == targetInode { - return file - } - file.Close() -diff --git a/vendor/github.com/containers/storage/pkg/mount/flags_linux.go b/vendor/github.com/containers/storage/pkg/mount/flags_linux.go -index 0425d0dd6..a5dc5e287 100644 ---- a/vendor/github.com/containers/storage/pkg/mount/flags_linux.go -+++ b/vendor/github.com/containers/storage/pkg/mount/flags_linux.go -@@ -82,6 +82,4 @@ const ( - // it possible for the kernel to default to relatime or noatime but still - // allow userspace to override it. - STRICTATIME = unix.MS_STRICTATIME -- -- mntDetach = unix.MNT_DETACH - ) -diff --git a/vendor/github.com/containers/storage/pkg/mount/mounter_linux.go b/vendor/github.com/containers/storage/pkg/mount/mounter_linux.go -index 39c36d472..de47c7af8 100644 ---- a/vendor/github.com/containers/storage/pkg/mount/mounter_linux.go -+++ b/vendor/github.com/containers/storage/pkg/mount/mounter_linux.go -@@ -13,6 +13,8 @@ const ( - - // broflags is the combination of bind and read only - broflags = unix.MS_BIND | unix.MS_RDONLY -+ -+ none = "none" - ) - - // isremount returns true if either device name or flags identify a remount request, false otherwise. -@@ -20,7 +22,7 @@ func isremount(device string, flags uintptr) bool { - switch { - // We treat device "" and "none" as a remount request to provide compatibility with - // requests that don't explicitly set MS_REMOUNT such as those manipulating bind mounts. -- case flags&unix.MS_REMOUNT != 0, device == "", device == "none": -+ case flags&unix.MS_REMOUNT != 0, device == "", device == none: - return true - default: - return false -diff --git a/vendor/github.com/containers/storage/pkg/parsers/kernel/kernel_windows.go b/vendor/github.com/containers/storage/pkg/parsers/kernel/kernel_windows.go -index e59867277..3d3829236 100644 ---- a/vendor/github.com/containers/storage/pkg/parsers/kernel/kernel_windows.go -+++ b/vendor/github.com/containers/storage/pkg/parsers/kernel/kernel_windows.go -@@ -63,7 +63,7 @@ func GetKernelVersion() (*VersionInfo, error) { - } - - KVI.major = int(dwVersion & 0xFF) -- KVI.minor = int((dwVersion & 0XFF00) >> 8) -+ KVI.minor = int((dwVersion & 0xFF00) >> 8) - KVI.build = int((dwVersion & 0xFFFF0000) >> 16) - - return KVI, nil -diff --git a/vendor/github.com/containers/storage/pkg/system/filesys.go b/vendor/github.com/containers/storage/pkg/system/filesys.go -deleted file mode 100644 -index 102565f76..000000000 ---- a/vendor/github.com/containers/storage/pkg/system/filesys.go -+++ /dev/null -@@ -1,67 +0,0 @@ --// +build !windows -- --package system -- --import ( -- "io/ioutil" -- "os" -- "path/filepath" --) -- --// MkdirAllWithACL is a wrapper for MkdirAll on unix systems. --func MkdirAllWithACL(path string, perm os.FileMode, sddl string) error { -- return MkdirAll(path, perm, sddl) --} -- --// MkdirAll creates a directory named path along with any necessary parents, --// with permission specified by attribute perm for all dir created. --func MkdirAll(path string, perm os.FileMode, sddl string) error { -- return os.MkdirAll(path, perm) --} -- --// IsAbs is a platform-specific wrapper for filepath.IsAbs. --func IsAbs(path string) bool { -- return filepath.IsAbs(path) --} -- --// The functions below here are wrappers for the equivalents in the os and ioutils packages. --// They are passthrough on Unix platforms, and only relevant on Windows. -- --// CreateSequential creates the named file with mode 0666 (before umask), truncating --// it if it already exists. If successful, methods on the returned --// File can be used for I/O; the associated file descriptor has mode --// O_RDWR. --// If there is an error, it will be of type *PathError. --func CreateSequential(name string) (*os.File, error) { -- return os.Create(name) --} -- --// OpenSequential opens the named file for reading. If successful, methods on --// the returned file can be used for reading; the associated file --// descriptor has mode O_RDONLY. --// If there is an error, it will be of type *PathError. --func OpenSequential(name string) (*os.File, error) { -- return os.Open(name) --} -- --// OpenFileSequential is the generalized open call; most users will use Open --// or Create instead. It opens the named file with specified flag --// (O_RDONLY etc.) and perm, (0666 etc.) if applicable. If successful, --// methods on the returned File can be used for I/O. --// If there is an error, it will be of type *PathError. --func OpenFileSequential(name string, flag int, perm os.FileMode) (*os.File, error) { -- return os.OpenFile(name, flag, perm) --} -- --// TempFileSequential creates a new temporary file in the directory dir --// with a name beginning with prefix, opens the file for reading --// and writing, and returns the resulting *os.File. --// If dir is the empty string, TempFile uses the default directory --// for temporary files (see os.TempDir). --// Multiple programs calling TempFile simultaneously --// will not choose the same file. The caller can use f.Name() --// to find the pathname of the file. It is the caller's responsibility --// to remove the file when no longer needed. --func TempFileSequential(dir, prefix string) (f *os.File, err error) { -- return ioutil.TempFile(dir, prefix) --} -diff --git a/vendor/github.com/containers/storage/pkg/system/filesys_windows.go b/vendor/github.com/containers/storage/pkg/system/filesys_windows.go -deleted file mode 100644 -index a61b53d0b..000000000 ---- a/vendor/github.com/containers/storage/pkg/system/filesys_windows.go -+++ /dev/null -@@ -1,298 +0,0 @@ --// +build windows -- --package system -- --import ( -- "os" -- "path/filepath" -- "regexp" -- "strconv" -- "strings" -- "sync" -- "syscall" -- "time" -- "unsafe" -- -- winio "github.com/Microsoft/go-winio" -- "golang.org/x/sys/windows" --) -- --const ( -- // SddlAdministratorsLocalSystem is local administrators plus NT AUTHORITY\System -- SddlAdministratorsLocalSystem = "D:P(A;OICI;GA;;;BA)(A;OICI;GA;;;SY)" -- // SddlNtvmAdministratorsLocalSystem is NT VIRTUAL MACHINE\Virtual Machines plus local administrators plus NT AUTHORITY\System -- SddlNtvmAdministratorsLocalSystem = "D:P(A;OICI;GA;;;S-1-5-83-0)(A;OICI;GA;;;BA)(A;OICI;GA;;;SY)" --) -- --// MkdirAllWithACL is a wrapper for MkdirAll that creates a directory --// with an appropriate SDDL defined ACL. --func MkdirAllWithACL(path string, perm os.FileMode, sddl string) error { -- return mkdirall(path, true, sddl) --} -- --// MkdirAll implementation that is volume path aware for Windows. --func MkdirAll(path string, _ os.FileMode, sddl string) error { -- return mkdirall(path, false, sddl) --} -- --// mkdirall is a custom version of os.MkdirAll modified for use on Windows --// so that it is both volume path aware, and can create a directory with --// a DACL. --func mkdirall(path string, applyACL bool, sddl string) error { -- if re := regexp.MustCompile(`^\\\\\?\\Volume{[a-z0-9-]+}$`); re.MatchString(path) { -- return nil -- } -- -- // The rest of this method is largely copied from os.MkdirAll and should be kept -- // as-is to ensure compatibility. -- -- // Fast path: if we can tell whether path is a directory or file, stop with success or error. -- dir, err := os.Stat(path) -- if err == nil { -- if dir.IsDir() { -- return nil -- } -- return &os.PathError{ -- Op: "mkdir", -- Path: path, -- Err: syscall.ENOTDIR, -- } -- } -- -- // Slow path: make sure parent exists and then call Mkdir for path. -- i := len(path) -- for i > 0 && os.IsPathSeparator(path[i-1]) { // Skip trailing path separator. -- i-- -- } -- -- j := i -- for j > 0 && !os.IsPathSeparator(path[j-1]) { // Scan backward over element. -- j-- -- } -- -- if j > 1 { -- // Create parent -- err = mkdirall(path[0:j-1], false, sddl) -- if err != nil { -- return err -- } -- } -- -- // Parent now exists; invoke os.Mkdir or mkdirWithACL and use its result. -- if applyACL { -- err = mkdirWithACL(path, sddl) -- } else { -- err = os.Mkdir(path, 0) -- } -- -- if err != nil { -- // Handle arguments like "foo/." by -- // double-checking that directory doesn't exist. -- dir, err1 := os.Lstat(path) -- if err1 == nil && dir.IsDir() { -- return nil -- } -- return err -- } -- return nil --} -- --// mkdirWithACL creates a new directory. If there is an error, it will be of --// type *PathError. . --// --// This is a modified and combined version of os.Mkdir and windows.Mkdir --// in golang to cater for creating a directory am ACL permitting full --// access, with inheritance, to any subfolder/file for Built-in Administrators --// and Local System. --func mkdirWithACL(name string, sddl string) error { -- sa := windows.SecurityAttributes{Length: 0} -- sd, err := winio.SddlToSecurityDescriptor(sddl) -- if err != nil { -- return &os.PathError{Op: "mkdir", Path: name, Err: err} -- } -- sa.Length = uint32(unsafe.Sizeof(sa)) -- sa.InheritHandle = 1 -- sa.SecurityDescriptor = uintptr(unsafe.Pointer(&sd[0])) -- -- namep, err := windows.UTF16PtrFromString(name) -- if err != nil { -- return &os.PathError{Op: "mkdir", Path: name, Err: err} -- } -- -- e := windows.CreateDirectory(namep, &sa) -- if e != nil { -- return &os.PathError{Op: "mkdir", Path: name, Err: e} -- } -- return nil --} -- --// IsAbs is a platform-specific wrapper for filepath.IsAbs. On Windows, --// golang filepath.IsAbs does not consider a path \windows\system32 as absolute --// as it doesn't start with a drive-letter/colon combination. However, in --// docker we need to verify things such as WORKDIR /windows/system32 in --// a Dockerfile (which gets translated to \windows\system32 when being processed --// by the daemon. This SHOULD be treated as absolute from a docker processing --// perspective. --func IsAbs(path string) bool { -- if !filepath.IsAbs(path) { -- if !strings.HasPrefix(path, string(os.PathSeparator)) { -- return false -- } -- } -- return true --} -- --// The origin of the functions below here are the golang OS and windows packages, --// slightly modified to only cope with files, not directories due to the --// specific use case. --// --// The alteration is to allow a file on Windows to be opened with --// FILE_FLAG_SEQUENTIAL_SCAN (particular for docker load), to avoid eating --// the standby list, particularly when accessing large files such as layer.tar. -- --// CreateSequential creates the named file with mode 0666 (before umask), truncating --// it if it already exists. If successful, methods on the returned --// File can be used for I/O; the associated file descriptor has mode --// O_RDWR. --// If there is an error, it will be of type *PathError. --func CreateSequential(name string) (*os.File, error) { -- return OpenFileSequential(name, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0) --} -- --// OpenSequential opens the named file for reading. If successful, methods on --// the returned file can be used for reading; the associated file --// descriptor has mode O_RDONLY. --// If there is an error, it will be of type *PathError. --func OpenSequential(name string) (*os.File, error) { -- return OpenFileSequential(name, os.O_RDONLY, 0) --} -- --// OpenFileSequential is the generalized open call; most users will use Open --// or Create instead. --// If there is an error, it will be of type *PathError. --func OpenFileSequential(name string, flag int, _ os.FileMode) (*os.File, error) { -- if name == "" { -- return nil, &os.PathError{Op: "open", Path: name, Err: syscall.ENOENT} -- } -- r, errf := windowsOpenFileSequential(name, flag, 0) -- if errf == nil { -- return r, nil -- } -- return nil, &os.PathError{Op: "open", Path: name, Err: errf} --} -- --func windowsOpenFileSequential(name string, flag int, _ os.FileMode) (file *os.File, err error) { -- r, e := windowsOpenSequential(name, flag|windows.O_CLOEXEC, 0) -- if e != nil { -- return nil, e -- } -- return os.NewFile(uintptr(r), name), nil --} -- --func makeInheritSa() *windows.SecurityAttributes { -- var sa windows.SecurityAttributes -- sa.Length = uint32(unsafe.Sizeof(sa)) -- sa.InheritHandle = 1 -- return &sa --} -- --func windowsOpenSequential(path string, mode int, _ uint32) (fd windows.Handle, err error) { -- if len(path) == 0 { -- return windows.InvalidHandle, windows.ERROR_FILE_NOT_FOUND -- } -- pathp, err := windows.UTF16PtrFromString(path) -- if err != nil { -- return windows.InvalidHandle, err -- } -- var access uint32 -- switch mode & (windows.O_RDONLY | windows.O_WRONLY | windows.O_RDWR) { -- case windows.O_RDONLY: -- access = windows.GENERIC_READ -- case windows.O_WRONLY: -- access = windows.GENERIC_WRITE -- case windows.O_RDWR: -- access = windows.GENERIC_READ | windows.GENERIC_WRITE -- } -- if mode&windows.O_CREAT != 0 { -- access |= windows.GENERIC_WRITE -- } -- if mode&windows.O_APPEND != 0 { -- access &^= windows.GENERIC_WRITE -- access |= windows.FILE_APPEND_DATA -- } -- sharemode := uint32(windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE) -- var sa *windows.SecurityAttributes -- if mode&windows.O_CLOEXEC == 0 { -- sa = makeInheritSa() -- } -- var createmode uint32 -- switch { -- case mode&(windows.O_CREAT|windows.O_EXCL) == (windows.O_CREAT | windows.O_EXCL): -- createmode = windows.CREATE_NEW -- case mode&(windows.O_CREAT|windows.O_TRUNC) == (windows.O_CREAT | windows.O_TRUNC): -- createmode = windows.CREATE_ALWAYS -- case mode&windows.O_CREAT == windows.O_CREAT: -- createmode = windows.OPEN_ALWAYS -- case mode&windows.O_TRUNC == windows.O_TRUNC: -- createmode = windows.TRUNCATE_EXISTING -- default: -- createmode = windows.OPEN_EXISTING -- } -- // Use FILE_FLAG_SEQUENTIAL_SCAN rather than FILE_ATTRIBUTE_NORMAL as implemented in golang. -- //https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx -- const fileFlagSequentialScan = 0x08000000 // FILE_FLAG_SEQUENTIAL_SCAN -- h, e := windows.CreateFile(pathp, access, sharemode, sa, createmode, fileFlagSequentialScan, 0) -- return h, e --} -- --// Helpers for TempFileSequential --var rand uint32 --var randmu sync.Mutex -- --func reseed() uint32 { -- return uint32(time.Now().UnixNano() + int64(os.Getpid())) --} --func nextSuffix() string { -- randmu.Lock() -- r := rand -- if r == 0 { -- r = reseed() -- } -- r = r*1664525 + 1013904223 // constants from Numerical Recipes -- rand = r -- randmu.Unlock() -- return strconv.Itoa(int(1e9 + r%1e9))[1:] --} -- --// TempFileSequential is a copy of ioutil.TempFile, modified to use sequential --// file access. Below is the original comment from golang: --// TempFile creates a new temporary file in the directory dir --// with a name beginning with prefix, opens the file for reading --// and writing, and returns the resulting *os.File. --// If dir is the empty string, TempFile uses the default directory --// for temporary files (see os.TempDir). --// Multiple programs calling TempFile simultaneously --// will not choose the same file. The caller can use f.Name() --// to find the pathname of the file. It is the caller's responsibility --// to remove the file when no longer needed. --func TempFileSequential(dir, prefix string) (f *os.File, err error) { -- if dir == "" { -- dir = os.TempDir() -- } -- -- nconflict := 0 -- for i := 0; i < 10000; i++ { -- name := filepath.Join(dir, prefix+nextSuffix()) -- f, err = OpenFileSequential(name, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0600) -- if os.IsExist(err) { -- if nconflict++; nconflict > 10 { -- randmu.Lock() -- rand = reseed() -- randmu.Unlock() -- } -- continue -- } -- break -- } -- return --} -diff --git a/vendor/github.com/containers/storage/pkg/system/rm.go b/vendor/github.com/containers/storage/pkg/system/rm.go -index fc03c3e6b..b1599d23f 100644 ---- a/vendor/github.com/containers/storage/pkg/system/rm.go -+++ b/vendor/github.com/containers/storage/pkg/system/rm.go -@@ -26,7 +26,7 @@ func EnsureRemoveAll(dir string) error { - - // track retries - exitOnErr := make(map[string]int) -- maxRetry := 5 -+ maxRetry := 100 - - // Attempt to unmount anything beneath this dir first - mount.RecursiveUnmount(dir) -diff --git a/vendor/github.com/containers/storage/pkg/system/stat_linux.go b/vendor/github.com/containers/storage/pkg/system/stat_linux.go -index 1939f9518..af7af20fa 100644 ---- a/vendor/github.com/containers/storage/pkg/system/stat_linux.go -+++ b/vendor/github.com/containers/storage/pkg/system/stat_linux.go -@@ -8,7 +8,7 @@ func fromStatT(s *syscall.Stat_t) (*StatT, error) { - mode: s.Mode, - uid: s.Uid, - gid: s.Gid, -- rdev: s.Rdev, -+ rdev: uint64(s.Rdev), - mtim: s.Mtim}, nil - } - -diff --git a/vendor/github.com/containers/storage/pkg/system/xattrs_linux.go b/vendor/github.com/containers/storage/pkg/system/xattrs_linux.go -index 98b111be4..24c3f37ef 100644 ---- a/vendor/github.com/containers/storage/pkg/system/xattrs_linux.go -+++ b/vendor/github.com/containers/storage/pkg/system/xattrs_linux.go -@@ -1,24 +1,46 @@ - package system - --import "golang.org/x/sys/unix" -+import ( -+ "bytes" -+ "syscall" -+ -+ "golang.org/x/sys/unix" -+) -+ -+const ( -+ // Value is larger than the maximum size allowed -+ E2BIG syscall.Errno = unix.E2BIG -+ -+ // Operation not supported -+ EOPNOTSUPP syscall.Errno = unix.EOPNOTSUPP -+) - - // Lgetxattr retrieves the value of the extended attribute identified by attr - // and associated with the given path in the file system. - // It will returns a nil slice and nil error if the xattr is not set. - func Lgetxattr(path string, attr string) ([]byte, error) { -+ // Start with a 128 length byte array - dest := make([]byte, 128) - sz, errno := unix.Lgetxattr(path, attr, dest) -- if errno == unix.ENODATA { -+ -+ switch { -+ case errno == unix.ENODATA: - return nil, nil -- } -- if errno == unix.ERANGE { -+ case errno == unix.ERANGE: -+ // 128 byte array might just not be good enough. A dummy buffer is used -+ // to get the real size of the xattrs on disk -+ sz, errno = unix.Lgetxattr(path, attr, []byte{}) -+ if errno != nil { -+ return nil, errno -+ } - dest = make([]byte, sz) - sz, errno = unix.Lgetxattr(path, attr, dest) -- } -- if errno != nil { -+ if errno != nil { -+ return nil, errno -+ } -+ case errno != nil: - return nil, errno - } -- - return dest[:sz], nil - } - -@@ -27,3 +49,32 @@ func Lgetxattr(path string, attr string) ([]byte, error) { - func Lsetxattr(path string, attr string, data []byte, flags int) error { - return unix.Lsetxattr(path, attr, data, flags) - } -+ -+// Llistxattr lists extended attributes associated with the given path -+// in the file system. -+func Llistxattr(path string) ([]string, error) { -+ var dest []byte -+ -+ for { -+ sz, err := unix.Llistxattr(path, dest) -+ if err != nil { -+ return nil, err -+ } -+ -+ if sz > len(dest) { -+ dest = make([]byte, sz) -+ } else { -+ dest = dest[:sz] -+ break -+ } -+ } -+ -+ var attrs []string -+ for _, token := range bytes.Split(dest, []byte{0}) { -+ if len(token) > 0 { -+ attrs = append(attrs, string(token)) -+ } -+ } -+ -+ return attrs, nil -+} -diff --git a/vendor/github.com/containers/storage/pkg/system/xattrs_unsupported.go b/vendor/github.com/containers/storage/pkg/system/xattrs_unsupported.go -index 0114f2227..bc8b8e3a5 100644 ---- a/vendor/github.com/containers/storage/pkg/system/xattrs_unsupported.go -+++ b/vendor/github.com/containers/storage/pkg/system/xattrs_unsupported.go -@@ -2,6 +2,16 @@ - - package system - -+import "syscall" -+ -+const ( -+ // Value is larger than the maximum size allowed -+ E2BIG syscall.Errno = syscall.Errno(0) -+ -+ // Operation not supported -+ EOPNOTSUPP syscall.Errno = syscall.Errno(0) -+) -+ - // Lgetxattr is not supported on platforms other than linux. - func Lgetxattr(path string, attr string) ([]byte, error) { - return nil, ErrNotSupportedPlatform -@@ -11,3 +21,8 @@ func Lgetxattr(path string, attr string) ([]byte, error) { - func Lsetxattr(path string, attr string, data []byte, flags int) error { - return ErrNotSupportedPlatform - } -+ -+// Llistxattr is not supported on platforms other than linux. -+func Llistxattr(path string) ([]string, error) { -+ return nil, ErrNotSupportedPlatform -+} -diff --git a/vendor/github.com/containers/storage/storage.conf b/vendor/github.com/containers/storage/storage.conf -index efd46eefb..b7b73ed38 100644 ---- a/vendor/github.com/containers/storage/storage.conf -+++ b/vendor/github.com/containers/storage/storage.conf -@@ -21,25 +21,6 @@ graphroot = "/var/lib/containers/storage" - additionalimagestores = [ - ] - --# Size is used to set a maximum size of the container image. Only supported by --# certain container storage drivers. --size = "" -- --# Path to an helper program to use for mounting the file system instead of mounting it --# directly. --#mount_program = "/usr/bin/fuse-overlayfs" -- --# mountopt specifies comma separated list of extra mount options --mountopt = "nodev" -- --# ignore_chown_errors can be set to allow a non privileged user running with --# a single UID within a user namespace to run containers. The user can pull --# and use any image even those with multiple uids. Note multiple UIDs will be --# squasheddown to the default uid in the container. These images will have no --# separation between the users in the container. Only supported for the overlay --# and vfs drivers. --#ignore_chown_errors = false -- - # Remap-UIDs/GIDs is the mapping from UIDs/GIDs as they should appear inside of - # a container, to the UIDs/GIDs as they should appear outside of the container, - # and the length of the range of UIDs/GIDs. Additional mapped sets can be -@@ -61,6 +42,25 @@ mountopt = "nodev" - # remap-user = "storage" - # remap-group = "storage" - -+[storage.options.overlay] -+# ignore_chown_errors can be set to allow a non privileged user running with -+# a single UID within a user namespace to run containers. The user can pull -+# and use any image even those with multiple uids. Note multiple UIDs will be -+# squashed down to the default uid in the container. These images will have no -+# separation between the users in the container. Only supported for the overlay -+# and vfs drivers. -+#ignore_chown_errors = false -+ -+# Path to an helper program to use for mounting the file system instead of mounting it -+# directly. -+#mount_program = "/usr/bin/fuse-overlayfs" -+ -+# mountopt specifies comma separated list of extra mount options -+mountopt = "nodev" -+ -+# Size is used to set a maximum size of the container image. -+# size = "" -+ - [storage.options.thinpool] - # Storage Options for thinpool - -@@ -111,6 +111,9 @@ mountopt = "nodev" - # device. - # mkfsarg = "" - -+# Size is used to set a maximum size of the container image. -+# size = "" -+ - # use_deferred_removal marks devicemapper block device for deferred removal. - # If the thinpool is in use when the driver attempts to remove it, the driver - # tells the kernel to remove it as soon as possible. Note this does not free -diff --git a/vendor/github.com/containers/storage/store.go b/vendor/github.com/containers/storage/store.go -index 6e4bd4ee0..b84be4424 100644 ---- a/vendor/github.com/containers/storage/store.go -+++ b/vendor/github.com/containers/storage/store.go -@@ -18,7 +18,7 @@ import ( - "github.com/BurntSushi/toml" - drivers "github.com/containers/storage/drivers" - "github.com/containers/storage/pkg/archive" -- "github.com/containers/storage/pkg/config" -+ cfg "github.com/containers/storage/pkg/config" - "github.com/containers/storage/pkg/directory" - "github.com/containers/storage/pkg/idtools" - "github.com/containers/storage/pkg/ioutils" -@@ -667,15 +667,6 @@ func (s *store) load() error { - s.graphDriverName = driver.String() - driverPrefix := s.graphDriverName + "-" - -- rls, err := s.LayerStore() -- if err != nil { -- return err -- } -- s.layerStore = rls -- if _, err := s.ROLayerStores(); err != nil { -- return err -- } -- - gipath := filepath.Join(s.graphRoot, driverPrefix+"images") - if err := os.MkdirAll(gipath, 0700); err != nil { - return err -@@ -774,7 +765,7 @@ func (s *store) LayerStore() (LayerStore, error) { - if err := os.MkdirAll(glpath, 0700); err != nil { - return nil, err - } -- rls, err := newLayerStore(rlpath, glpath, driver, s.uidMap, s.gidMap) -+ rls, err := s.newLayerStore(rlpath, glpath, driver) - if err != nil { - return nil, err - } -@@ -2488,6 +2479,10 @@ func (s *store) Mount(id, mountLabel string) (string, error) { - if err != nil { - return "", err - } -+ -+ s.graphLock.Lock() -+ defer s.graphLock.Unlock() -+ - rlstore.Lock() - defer rlstore.Unlock() - if modified, err := rlstore.Modified(); modified || err != nil { -@@ -2495,6 +2490,18 @@ func (s *store) Mount(id, mountLabel string) (string, error) { - return "", err - } - } -+ -+ /* We need to make sure the home mount is present when the Mount is done. */ -+ if s.graphLock.TouchedSince(s.lastLoaded) { -+ s.graphDriver = nil -+ s.layerStore = nil -+ s.graphDriver, err = s.getGraphDriver() -+ if err != nil { -+ return "", err -+ } -+ s.lastLoaded = time.Now() -+ } -+ - if rlstore.Exists(id) { - options := drivers.MountOpts{ - MountLabel: mountLabel, -@@ -2776,18 +2783,24 @@ func (s *store) ContainerParentOwners(id string) ([]int, []int, error) { - } - - func (s *store) Layers() ([]Layer, error) { -- var layers []Layer - lstore, err := s.LayerStore() - if err != nil { - return nil, err - } -+ if err := lstore.LoadLocked(); err != nil { -+ return nil, err -+ } -+ layers, err := lstore.Layers() -+ if err != nil { -+ return nil, err -+ } - - lstores, err := s.ROLayerStores() - if err != nil { - return nil, err - } - -- for _, s := range append([]ROLayerStore{lstore}, lstores...) { -+ for _, s := range lstores { - store := s - store.RLock() - defer store.Unlock() -@@ -3274,10 +3287,10 @@ func DefaultConfigFile(rootless bool) (string, error) { - // TOML-friendly explicit tables used for conversions. - type tomlConfig struct { - Storage struct { -- Driver string `toml:"driver"` -- RunRoot string `toml:"runroot"` -- GraphRoot string `toml:"graphroot"` -- Options struct{ config.OptionsConfig } `toml:"options"` -+ Driver string `toml:"driver"` -+ RunRoot string `toml:"runroot"` -+ GraphRoot string `toml:"graphroot"` -+ Options cfg.OptionsConfig `toml:"options"` - } `toml:"storage"` - } - -@@ -3307,50 +3320,6 @@ func ReloadConfigurationFile(configFile string, storeOptions *StoreOptions) { - if config.Storage.GraphRoot != "" { - storeOptions.GraphRoot = config.Storage.GraphRoot - } -- if config.Storage.Options.Thinpool.AutoExtendPercent != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.thinp_autoextend_percent=%s", config.Storage.Options.Thinpool.AutoExtendPercent)) -- } -- -- if config.Storage.Options.Thinpool.AutoExtendThreshold != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.thinp_autoextend_threshold=%s", config.Storage.Options.Thinpool.AutoExtendThreshold)) -- } -- -- if config.Storage.Options.Thinpool.BaseSize != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.basesize=%s", config.Storage.Options.Thinpool.BaseSize)) -- } -- if config.Storage.Options.Thinpool.BlockSize != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.blocksize=%s", config.Storage.Options.Thinpool.BlockSize)) -- } -- if config.Storage.Options.Thinpool.DirectLvmDevice != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.directlvm_device=%s", config.Storage.Options.Thinpool.DirectLvmDevice)) -- } -- if config.Storage.Options.Thinpool.DirectLvmDeviceForce != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.directlvm_device_force=%s", config.Storage.Options.Thinpool.DirectLvmDeviceForce)) -- } -- if config.Storage.Options.Thinpool.Fs != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.fs=%s", config.Storage.Options.Thinpool.Fs)) -- } -- if config.Storage.Options.Thinpool.LogLevel != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.libdm_log_level=%s", config.Storage.Options.Thinpool.LogLevel)) -- } -- if config.Storage.Options.Thinpool.MinFreeSpace != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.min_free_space=%s", config.Storage.Options.Thinpool.MinFreeSpace)) -- } -- if config.Storage.Options.Thinpool.MkfsArg != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.mkfsarg=%s", config.Storage.Options.Thinpool.MkfsArg)) -- } -- if config.Storage.Options.Thinpool.MountOpt != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("%s.mountopt=%s", config.Storage.Driver, config.Storage.Options.Thinpool.MountOpt)) -- } -- if config.Storage.Options.Thinpool.UseDeferredDeletion != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.use_deferred_deletion=%s", config.Storage.Options.Thinpool.UseDeferredDeletion)) -- } -- if config.Storage.Options.Thinpool.UseDeferredRemoval != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.use_deferred_removal=%s", config.Storage.Options.Thinpool.UseDeferredRemoval)) -- } -- if config.Storage.Options.Thinpool.XfsNoSpaceMaxRetries != "" { -- storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("dm.xfs_nospace_max_retries=%s", config.Storage.Options.Thinpool.XfsNoSpaceMaxRetries)) -- } - for _, s := range config.Storage.Options.AdditionalImageStores { - storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, fmt.Sprintf("%s.imagestore=%s", config.Storage.Driver, s)) - } -@@ -3397,6 +3366,9 @@ func ReloadConfigurationFile(configFile string, storeOptions *StoreOptions) { - if os.Getenv("STORAGE_DRIVER") != "" { - storeOptions.GraphDriverName = os.Getenv("STORAGE_DRIVER") - } -+ -+ storeOptions.GraphDriverOptions = cfg.GetGraphDriverOptions(storeOptions.GraphDriverName, config.Storage.Options) -+ - if os.Getenv("STORAGE_OPTS") != "" { - storeOptions.GraphDriverOptions = append(storeOptions.GraphDriverOptions, strings.Split(os.Getenv("STORAGE_OPTS"), ",")...) - } -diff --git a/vendor/github.com/containers/storage/utils.go b/vendor/github.com/containers/storage/utils.go -index 54627731a..28e0a8d6d 100644 ---- a/vendor/github.com/containers/storage/utils.go -+++ b/vendor/github.com/containers/storage/utils.go -@@ -69,18 +69,30 @@ func ParseIDMapping(UIDMapSlice, GIDMapSlice []string, subUIDMap, subGIDMap stri - } - - // GetRootlessRuntimeDir returns the runtime directory when running as non root --func GetRootlessRuntimeDir(rootlessUid int) (string, error) { -+func GetRootlessRuntimeDir(rootlessUID int) (string, error) { -+ path, err := getRootlessRuntimeDir(rootlessUID) -+ if err != nil { -+ return "", err -+ } -+ path = filepath.Join(path, "containers") -+ if err := os.MkdirAll(path, 0700); err != nil { -+ return "", errors.Wrapf(err, "unable to make rootless runtime dir %s", path) -+ } -+ return path, nil -+} -+ -+func getRootlessRuntimeDir(rootlessUID int) (string, error) { - runtimeDir := os.Getenv("XDG_RUNTIME_DIR") - - if runtimeDir != "" { - return runtimeDir, nil - } -- tmpDir := fmt.Sprintf("/run/user/%d", rootlessUid) -+ tmpDir := fmt.Sprintf("/run/user/%d", rootlessUID) - st, err := system.Stat(tmpDir) - if err == nil && int(st.UID()) == os.Getuid() && st.Mode()&0700 == 0700 && st.Mode()&0066 == 0000 { - return tmpDir, nil - } -- tmpDir = fmt.Sprintf("%s/%d", os.TempDir(), rootlessUid) -+ tmpDir = fmt.Sprintf("%s/%d", os.TempDir(), rootlessUID) - if err := os.MkdirAll(tmpDir, 0700); err != nil { - logrus.Errorf("failed to create %s: %v", tmpDir, err) - } else { -@@ -99,8 +111,8 @@ func GetRootlessRuntimeDir(rootlessUid int) (string, error) { - - // getRootlessDirInfo returns the parent path of where the storage for containers and - // volumes will be in rootless mode --func getRootlessDirInfo(rootlessUid int) (string, string, error) { -- rootlessRuntime, err := GetRootlessRuntimeDir(rootlessUid) -+func getRootlessDirInfo(rootlessUID int) (string, string, error) { -+ rootlessRuntime, err := GetRootlessRuntimeDir(rootlessUID) - if err != nil { - return "", "", err - } -@@ -123,10 +135,10 @@ func getRootlessDirInfo(rootlessUid int) (string, string, error) { - } - - // getRootlessStorageOpts returns the storage opts for containers running as non root --func getRootlessStorageOpts(rootlessUid int) (StoreOptions, error) { -+func getRootlessStorageOpts(rootlessUID int) (StoreOptions, error) { - var opts StoreOptions - -- dataDir, rootlessRuntime, err := getRootlessDirInfo(rootlessUid) -+ dataDir, rootlessRuntime, err := getRootlessDirInfo(rootlessUID) - if err != nil { - return opts, err - } -@@ -141,10 +153,6 @@ func getRootlessStorageOpts(rootlessUid int) (StoreOptions, error) { - return opts, nil - } - --type tomlOptionsConfig struct { -- MountProgram string `toml:"mount_program"` --} -- - func getTomlStorage(storeOptions *StoreOptions) *tomlConfig { - config := new(tomlConfig) - -@@ -177,21 +185,21 @@ func DefaultStoreOptionsAutoDetectUID() (StoreOptions, error) { - } - - // DefaultStoreOptions returns the default storage ops for containers --func DefaultStoreOptions(rootless bool, rootlessUid int) (StoreOptions, error) { -+func DefaultStoreOptions(rootless bool, rootlessUID int) (StoreOptions, error) { - var ( - defaultRootlessRunRoot string - defaultRootlessGraphRoot string - err error - ) - storageOpts := defaultStoreOptions -- if rootless && rootlessUid != 0 { -- storageOpts, err = getRootlessStorageOpts(rootlessUid) -+ if rootless && rootlessUID != 0 { -+ storageOpts, err = getRootlessStorageOpts(rootlessUID) - if err != nil { - return storageOpts, err - } - } - -- storageConf, err := DefaultConfigFile(rootless && rootlessUid != 0) -+ storageConf, err := DefaultConfigFile(rootless && rootlessUID != 0) - if err != nil { - return storageOpts, err - } -@@ -206,7 +214,7 @@ func DefaultStoreOptions(rootless bool, rootlessUid int) (StoreOptions, error) { - ReloadConfigurationFile(storageConf, &storageOpts) - } - -- if rootless && rootlessUid != 0 { -+ if rootless && rootlessUID != 0 { - if err == nil { - // If the file did not specify a graphroot or runroot, - // set sane defaults so we don't try and use root-owned -diff --git a/vendor/github.com/klauspost/cpuid/.gitignore b/vendor/github.com/fullsailor/pkcs7/.gitignore -similarity index 100% -rename from vendor/github.com/klauspost/cpuid/.gitignore -rename to vendor/github.com/fullsailor/pkcs7/.gitignore -diff --git a/vendor/github.com/fullsailor/pkcs7/.travis.yml b/vendor/github.com/fullsailor/pkcs7/.travis.yml -new file mode 100644 -index 000000000..bc1204376 ---- /dev/null -+++ b/vendor/github.com/fullsailor/pkcs7/.travis.yml -@@ -0,0 +1,7 @@ -+language: go -+ -+go: -+ - 1.8 -+ - 1.9 -+ - "1.10" -+ - tip -diff --git a/vendor/github.com/klauspost/cpuid/LICENSE b/vendor/github.com/fullsailor/pkcs7/LICENSE -similarity index 97% -rename from vendor/github.com/klauspost/cpuid/LICENSE -rename to vendor/github.com/fullsailor/pkcs7/LICENSE -index 5cec7ee94..75f320908 100644 ---- a/vendor/github.com/klauspost/cpuid/LICENSE -+++ b/vendor/github.com/fullsailor/pkcs7/LICENSE -@@ -1,6 +1,6 @@ - The MIT License (MIT) - --Copyright (c) 2015 Klaus Post -+Copyright (c) 2015 Andrew Smith - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal -diff --git a/vendor/github.com/fullsailor/pkcs7/README.md b/vendor/github.com/fullsailor/pkcs7/README.md -new file mode 100644 -index 000000000..bfd948f32 ---- /dev/null -+++ b/vendor/github.com/fullsailor/pkcs7/README.md -@@ -0,0 +1,8 @@ -+# pkcs7 -+ -+[![GoDoc](https://godoc.org/github.com/fullsailor/pkcs7?status.svg)](https://godoc.org/github.com/fullsailor/pkcs7) -+[![Build Status](https://travis-ci.org/fullsailor/pkcs7.svg?branch=master)](https://travis-ci.org/fullsailor/pkcs7) -+ -+pkcs7 implements parsing and creating signed and enveloped messages. -+ -+- Documentation on [GoDoc](http://godoc.org/github.com/fullsailor/pkcs7) -diff --git a/vendor/github.com/fullsailor/pkcs7/ber.go b/vendor/github.com/fullsailor/pkcs7/ber.go -new file mode 100644 -index 000000000..89e96d30c ---- /dev/null -+++ b/vendor/github.com/fullsailor/pkcs7/ber.go -@@ -0,0 +1,248 @@ -+package pkcs7 -+ -+import ( -+ "bytes" -+ "errors" -+) -+ -+// var encodeIndent = 0 -+ -+type asn1Object interface { -+ EncodeTo(writer *bytes.Buffer) error -+} -+ -+type asn1Structured struct { -+ tagBytes []byte -+ content []asn1Object -+} -+ -+func (s asn1Structured) EncodeTo(out *bytes.Buffer) error { -+ //fmt.Printf("%s--> tag: % X\n", strings.Repeat("| ", encodeIndent), s.tagBytes) -+ //encodeIndent++ -+ inner := new(bytes.Buffer) -+ for _, obj := range s.content { -+ err := obj.EncodeTo(inner) -+ if err != nil { -+ return err -+ } -+ } -+ //encodeIndent-- -+ out.Write(s.tagBytes) -+ encodeLength(out, inner.Len()) -+ out.Write(inner.Bytes()) -+ return nil -+} -+ -+type asn1Primitive struct { -+ tagBytes []byte -+ length int -+ content []byte -+} -+ -+func (p asn1Primitive) EncodeTo(out *bytes.Buffer) error { -+ _, err := out.Write(p.tagBytes) -+ if err != nil { -+ return err -+ } -+ if err = encodeLength(out, p.length); err != nil { -+ return err -+ } -+ //fmt.Printf("%s--> tag: % X length: %d\n", strings.Repeat("| ", encodeIndent), p.tagBytes, p.length) -+ //fmt.Printf("%s--> content length: %d\n", strings.Repeat("| ", encodeIndent), len(p.content)) -+ out.Write(p.content) -+ -+ return nil -+} -+ -+func ber2der(ber []byte) ([]byte, error) { -+ if len(ber) == 0 { -+ return nil, errors.New("ber2der: input ber is empty") -+ } -+ //fmt.Printf("--> ber2der: Transcoding %d bytes\n", len(ber)) -+ out := new(bytes.Buffer) -+ -+ obj, _, err := readObject(ber, 0) -+ if err != nil { -+ return nil, err -+ } -+ obj.EncodeTo(out) -+ -+ // if offset < len(ber) { -+ // return nil, fmt.Errorf("ber2der: Content longer than expected. Got %d, expected %d", offset, len(ber)) -+ //} -+ -+ return out.Bytes(), nil -+} -+ -+// encodes lengths that are longer than 127 into string of bytes -+func marshalLongLength(out *bytes.Buffer, i int) (err error) { -+ n := lengthLength(i) -+ -+ for ; n > 0; n-- { -+ err = out.WriteByte(byte(i >> uint((n-1)*8))) -+ if err != nil { -+ return -+ } -+ } -+ -+ return nil -+} -+ -+// computes the byte length of an encoded length value -+func lengthLength(i int) (numBytes int) { -+ numBytes = 1 -+ for i > 255 { -+ numBytes++ -+ i >>= 8 -+ } -+ return -+} -+ -+// encodes the length in DER format -+// If the length fits in 7 bits, the value is encoded directly. -+// -+// Otherwise, the number of bytes to encode the length is first determined. -+// This number is likely to be 4 or less for a 32bit length. This number is -+// added to 0x80. The length is encoded in big endian encoding follow after -+// -+// Examples: -+// length | byte 1 | bytes n -+// 0 | 0x00 | - -+// 120 | 0x78 | - -+// 200 | 0x81 | 0xC8 -+// 500 | 0x82 | 0x01 0xF4 -+// -+func encodeLength(out *bytes.Buffer, length int) (err error) { -+ if length >= 128 { -+ l := lengthLength(length) -+ err = out.WriteByte(0x80 | byte(l)) -+ if err != nil { -+ return -+ } -+ err = marshalLongLength(out, length) -+ if err != nil { -+ return -+ } -+ } else { -+ err = out.WriteByte(byte(length)) -+ if err != nil { -+ return -+ } -+ } -+ return -+} -+ -+func readObject(ber []byte, offset int) (asn1Object, int, error) { -+ //fmt.Printf("\n====> Starting readObject at offset: %d\n\n", offset) -+ tagStart := offset -+ b := ber[offset] -+ offset++ -+ tag := b & 0x1F // last 5 bits -+ if tag == 0x1F { -+ tag = 0 -+ for ber[offset] >= 0x80 { -+ tag = tag*128 + ber[offset] - 0x80 -+ offset++ -+ } -+ tag = tag*128 + ber[offset] - 0x80 -+ offset++ -+ } -+ tagEnd := offset -+ -+ kind := b & 0x20 -+ /* -+ if kind == 0 { -+ fmt.Print("--> Primitive\n") -+ } else { -+ fmt.Print("--> Constructed\n") -+ } -+ */ -+ // read length -+ var length int -+ l := ber[offset] -+ offset++ -+ indefinite := false -+ if l > 0x80 { -+ numberOfBytes := (int)(l & 0x7F) -+ if numberOfBytes > 4 { // int is only guaranteed to be 32bit -+ return nil, 0, errors.New("ber2der: BER tag length too long") -+ } -+ if numberOfBytes == 4 && (int)(ber[offset]) > 0x7F { -+ return nil, 0, errors.New("ber2der: BER tag length is negative") -+ } -+ if 0x0 == (int)(ber[offset]) { -+ return nil, 0, errors.New("ber2der: BER tag length has leading zero") -+ } -+ //fmt.Printf("--> (compute length) indicator byte: %x\n", l) -+ //fmt.Printf("--> (compute length) length bytes: % X\n", ber[offset:offset+numberOfBytes]) -+ for i := 0; i < numberOfBytes; i++ { -+ length = length*256 + (int)(ber[offset]) -+ offset++ -+ } -+ } else if l == 0x80 { -+ indefinite = true -+ } else { -+ length = (int)(l) -+ } -+ -+ //fmt.Printf("--> length : %d\n", length) -+ contentEnd := offset + length -+ if contentEnd > len(ber) { -+ return nil, 0, errors.New("ber2der: BER tag length is more than available data") -+ } -+ //fmt.Printf("--> content start : %d\n", offset) -+ //fmt.Printf("--> content end : %d\n", contentEnd) -+ //fmt.Printf("--> content : % X\n", ber[offset:contentEnd]) -+ var obj asn1Object -+ if indefinite && kind == 0 { -+ return nil, 0, errors.New("ber2der: Indefinite form tag must have constructed encoding") -+ } -+ if kind == 0 { -+ obj = asn1Primitive{ -+ tagBytes: ber[tagStart:tagEnd], -+ length: length, -+ content: ber[offset:contentEnd], -+ } -+ } else { -+ var subObjects []asn1Object -+ for (offset < contentEnd) || indefinite { -+ var subObj asn1Object -+ var err error -+ subObj, offset, err = readObject(ber, offset) -+ if err != nil { -+ return nil, 0, err -+ } -+ subObjects = append(subObjects, subObj) -+ -+ if indefinite { -+ terminated, err := isIndefiniteTermination(ber, offset) -+ if err != nil { -+ return nil, 0, err -+ } -+ -+ if terminated { -+ break -+ } -+ } -+ } -+ obj = asn1Structured{ -+ tagBytes: ber[tagStart:tagEnd], -+ content: subObjects, -+ } -+ } -+ -+ // Apply indefinite form length with 0x0000 terminator. -+ if indefinite { -+ contentEnd = offset + 2 -+ } -+ -+ return obj, contentEnd, nil -+} -+ -+func isIndefiniteTermination(ber []byte, offset int) (bool, error) { -+ if len(ber) - offset < 2 { -+ return false, errors.New("ber2der: Invalid BER format") -+ } -+ -+ return bytes.Index(ber[offset:], []byte{0x0, 0x0}) == 0, nil -+} -diff --git a/vendor/github.com/fullsailor/pkcs7/pkcs7.go b/vendor/github.com/fullsailor/pkcs7/pkcs7.go -new file mode 100644 -index 000000000..0264466b4 ---- /dev/null -+++ b/vendor/github.com/fullsailor/pkcs7/pkcs7.go -@@ -0,0 +1,962 @@ -+// Package pkcs7 implements parsing and generation of some PKCS#7 structures. -+package pkcs7 -+ -+import ( -+ "bytes" -+ "crypto" -+ "crypto/aes" -+ "crypto/cipher" -+ "crypto/des" -+ "crypto/hmac" -+ "crypto/rand" -+ "crypto/rsa" -+ "crypto/x509" -+ "crypto/x509/pkix" -+ "encoding/asn1" -+ "errors" -+ "fmt" -+ "math/big" -+ "sort" -+ "time" -+ -+ _ "crypto/sha1" // for crypto.SHA1 -+) -+ -+// PKCS7 Represents a PKCS7 structure -+type PKCS7 struct { -+ Content []byte -+ Certificates []*x509.Certificate -+ CRLs []pkix.CertificateList -+ Signers []signerInfo -+ raw interface{} -+} -+ -+type contentInfo struct { -+ ContentType asn1.ObjectIdentifier -+ Content asn1.RawValue `asn1:"explicit,optional,tag:0"` -+} -+ -+// ErrUnsupportedContentType is returned when a PKCS7 content is not supported. -+// Currently only Data (1.2.840.113549.1.7.1), Signed Data (1.2.840.113549.1.7.2), -+// and Enveloped Data are supported (1.2.840.113549.1.7.3) -+var ErrUnsupportedContentType = errors.New("pkcs7: cannot parse data: unimplemented content type") -+ -+type unsignedData []byte -+ -+var ( -+ oidData = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 7, 1} -+ oidSignedData = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 7, 2} -+ oidEnvelopedData = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 7, 3} -+ oidSignedAndEnvelopedData = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 7, 4} -+ oidDigestedData = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 7, 5} -+ oidEncryptedData = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 7, 6} -+ oidAttributeContentType = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 3} -+ oidAttributeMessageDigest = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 4} -+ oidAttributeSigningTime = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 5} -+) -+ -+type signedData struct { -+ Version int `asn1:"default:1"` -+ DigestAlgorithmIdentifiers []pkix.AlgorithmIdentifier `asn1:"set"` -+ ContentInfo contentInfo -+ Certificates rawCertificates `asn1:"optional,tag:0"` -+ CRLs []pkix.CertificateList `asn1:"optional,tag:1"` -+ SignerInfos []signerInfo `asn1:"set"` -+} -+ -+type rawCertificates struct { -+ Raw asn1.RawContent -+} -+ -+type envelopedData struct { -+ Version int -+ RecipientInfos []recipientInfo `asn1:"set"` -+ EncryptedContentInfo encryptedContentInfo -+} -+ -+type recipientInfo struct { -+ Version int -+ IssuerAndSerialNumber issuerAndSerial -+ KeyEncryptionAlgorithm pkix.AlgorithmIdentifier -+ EncryptedKey []byte -+} -+ -+type encryptedContentInfo struct { -+ ContentType asn1.ObjectIdentifier -+ ContentEncryptionAlgorithm pkix.AlgorithmIdentifier -+ EncryptedContent asn1.RawValue `asn1:"tag:0,optional"` -+} -+ -+type attribute struct { -+ Type asn1.ObjectIdentifier -+ Value asn1.RawValue `asn1:"set"` -+} -+ -+type issuerAndSerial struct { -+ IssuerName asn1.RawValue -+ SerialNumber *big.Int -+} -+ -+// MessageDigestMismatchError is returned when the signer data digest does not -+// match the computed digest for the contained content -+type MessageDigestMismatchError struct { -+ ExpectedDigest []byte -+ ActualDigest []byte -+} -+ -+func (err *MessageDigestMismatchError) Error() string { -+ return fmt.Sprintf("pkcs7: Message digest mismatch\n\tExpected: %X\n\tActual : %X", err.ExpectedDigest, err.ActualDigest) -+} -+ -+type signerInfo struct { -+ Version int `asn1:"default:1"` -+ IssuerAndSerialNumber issuerAndSerial -+ DigestAlgorithm pkix.AlgorithmIdentifier -+ AuthenticatedAttributes []attribute `asn1:"optional,tag:0"` -+ DigestEncryptionAlgorithm pkix.AlgorithmIdentifier -+ EncryptedDigest []byte -+ UnauthenticatedAttributes []attribute `asn1:"optional,tag:1"` -+} -+ -+// Parse decodes a DER encoded PKCS7 package -+func Parse(data []byte) (p7 *PKCS7, err error) { -+ if len(data) == 0 { -+ return nil, errors.New("pkcs7: input data is empty") -+ } -+ var info contentInfo -+ der, err := ber2der(data) -+ if err != nil { -+ return nil, err -+ } -+ rest, err := asn1.Unmarshal(der, &info) -+ if len(rest) > 0 { -+ err = asn1.SyntaxError{Msg: "trailing data"} -+ return -+ } -+ if err != nil { -+ return -+ } -+ -+ // fmt.Printf("--> Content Type: %s", info.ContentType) -+ switch { -+ case info.ContentType.Equal(oidSignedData): -+ return parseSignedData(info.Content.Bytes) -+ case info.ContentType.Equal(oidEnvelopedData): -+ return parseEnvelopedData(info.Content.Bytes) -+ } -+ return nil, ErrUnsupportedContentType -+} -+ -+func parseSignedData(data []byte) (*PKCS7, error) { -+ var sd signedData -+ asn1.Unmarshal(data, &sd) -+ certs, err := sd.Certificates.Parse() -+ if err != nil { -+ return nil, err -+ } -+ // fmt.Printf("--> Signed Data Version %d\n", sd.Version) -+ -+ var compound asn1.RawValue -+ var content unsignedData -+ -+ // The Content.Bytes maybe empty on PKI responses. -+ if len(sd.ContentInfo.Content.Bytes) > 0 { -+ if _, err := asn1.Unmarshal(sd.ContentInfo.Content.Bytes, &compound); err != nil { -+ return nil, err -+ } -+ } -+ // Compound octet string -+ if compound.IsCompound { -+ if _, err = asn1.Unmarshal(compound.Bytes, &content); err != nil { -+ return nil, err -+ } -+ } else { -+ // assuming this is tag 04 -+ content = compound.Bytes -+ } -+ return &PKCS7{ -+ Content: content, -+ Certificates: certs, -+ CRLs: sd.CRLs, -+ Signers: sd.SignerInfos, -+ raw: sd}, nil -+} -+ -+func (raw rawCertificates) Parse() ([]*x509.Certificate, error) { -+ if len(raw.Raw) == 0 { -+ return nil, nil -+ } -+ -+ var val asn1.RawValue -+ if _, err := asn1.Unmarshal(raw.Raw, &val); err != nil { -+ return nil, err -+ } -+ -+ return x509.ParseCertificates(val.Bytes) -+} -+ -+func parseEnvelopedData(data []byte) (*PKCS7, error) { -+ var ed envelopedData -+ if _, err := asn1.Unmarshal(data, &ed); err != nil { -+ return nil, err -+ } -+ return &PKCS7{ -+ raw: ed, -+ }, nil -+} -+ -+// Verify checks the signatures of a PKCS7 object -+// WARNING: Verify does not check signing time or verify certificate chains at -+// this time. -+func (p7 *PKCS7) Verify() (err error) { -+ if len(p7.Signers) == 0 { -+ return errors.New("pkcs7: Message has no signers") -+ } -+ for _, signer := range p7.Signers { -+ if err := verifySignature(p7, signer); err != nil { -+ return err -+ } -+ } -+ return nil -+} -+ -+func verifySignature(p7 *PKCS7, signer signerInfo) error { -+ signedData := p7.Content -+ hash, err := getHashForOID(signer.DigestAlgorithm.Algorithm) -+ if err != nil { -+ return err -+ } -+ if len(signer.AuthenticatedAttributes) > 0 { -+ // TODO(fullsailor): First check the content type match -+ var digest []byte -+ err := unmarshalAttribute(signer.AuthenticatedAttributes, oidAttributeMessageDigest, &digest) -+ if err != nil { -+ return err -+ } -+ h := hash.New() -+ h.Write(p7.Content) -+ computed := h.Sum(nil) -+ if !hmac.Equal(digest, computed) { -+ return &MessageDigestMismatchError{ -+ ExpectedDigest: digest, -+ ActualDigest: computed, -+ } -+ } -+ // TODO(fullsailor): Optionally verify certificate chain -+ // TODO(fullsailor): Optionally verify signingTime against certificate NotAfter/NotBefore -+ signedData, err = marshalAttributes(signer.AuthenticatedAttributes) -+ if err != nil { -+ return err -+ } -+ } -+ cert := getCertFromCertsByIssuerAndSerial(p7.Certificates, signer.IssuerAndSerialNumber) -+ if cert == nil { -+ return errors.New("pkcs7: No certificate for signer") -+ } -+ -+ algo := getSignatureAlgorithmFromAI(signer.DigestEncryptionAlgorithm) -+ if algo == x509.UnknownSignatureAlgorithm { -+ // I'm not sure what the spec here is, and the openssl sources were not -+ // helpful. But, this is what App Store receipts appear to do. -+ // The DigestEncryptionAlgorithm is just "rsaEncryption (PKCS #1)" -+ // But we're expecting a digest + encryption algorithm. So... we're going -+ // to determine an algorithm based on the DigestAlgorithm and this -+ // encryption algorithm. -+ if signer.DigestEncryptionAlgorithm.Algorithm.Equal(oidEncryptionAlgorithmRSA) { -+ algo = getRSASignatureAlgorithmForDigestAlgorithm(hash) -+ } -+ } -+ return cert.CheckSignature(algo, signedData, signer.EncryptedDigest) -+} -+ -+func marshalAttributes(attrs []attribute) ([]byte, error) { -+ encodedAttributes, err := asn1.Marshal(struct { -+ A []attribute `asn1:"set"` -+ }{A: attrs}) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Remove the leading sequence octets -+ var raw asn1.RawValue -+ asn1.Unmarshal(encodedAttributes, &raw) -+ return raw.Bytes, nil -+} -+ -+var ( -+ oidDigestAlgorithmSHA1 = asn1.ObjectIdentifier{1, 3, 14, 3, 2, 26} -+ oidEncryptionAlgorithmRSA = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 1} -+) -+ -+func getCertFromCertsByIssuerAndSerial(certs []*x509.Certificate, ias issuerAndSerial) *x509.Certificate { -+ for _, cert := range certs { -+ if isCertMatchForIssuerAndSerial(cert, ias) { -+ return cert -+ } -+ } -+ return nil -+} -+ -+func getHashForOID(oid asn1.ObjectIdentifier) (crypto.Hash, error) { -+ switch { -+ case oid.Equal(oidDigestAlgorithmSHA1): -+ return crypto.SHA1, nil -+ case oid.Equal(oidSHA256): -+ return crypto.SHA256, nil -+ } -+ return crypto.Hash(0), ErrUnsupportedAlgorithm -+} -+ -+func getRSASignatureAlgorithmForDigestAlgorithm(hash crypto.Hash) x509.SignatureAlgorithm { -+ for _, details := range signatureAlgorithmDetails { -+ if details.pubKeyAlgo == x509.RSA && details.hash == hash { -+ return details.algo -+ } -+ } -+ return x509.UnknownSignatureAlgorithm -+} -+ -+// GetOnlySigner returns an x509.Certificate for the first signer of the signed -+// data payload. If there are more or less than one signer, nil is returned -+func (p7 *PKCS7) GetOnlySigner() *x509.Certificate { -+ if len(p7.Signers) != 1 { -+ return nil -+ } -+ signer := p7.Signers[0] -+ return getCertFromCertsByIssuerAndSerial(p7.Certificates, signer.IssuerAndSerialNumber) -+} -+ -+// ErrUnsupportedAlgorithm tells you when our quick dev assumptions have failed -+var ErrUnsupportedAlgorithm = errors.New("pkcs7: cannot decrypt data: only RSA, DES, DES-EDE3, AES-256-CBC and AES-128-GCM supported") -+ -+// ErrNotEncryptedContent is returned when attempting to Decrypt data that is not encrypted data -+var ErrNotEncryptedContent = errors.New("pkcs7: content data is a decryptable data type") -+ -+// Decrypt decrypts encrypted content info for recipient cert and private key -+func (p7 *PKCS7) Decrypt(cert *x509.Certificate, pk crypto.PrivateKey) ([]byte, error) { -+ data, ok := p7.raw.(envelopedData) -+ if !ok { -+ return nil, ErrNotEncryptedContent -+ } -+ recipient := selectRecipientForCertificate(data.RecipientInfos, cert) -+ if recipient.EncryptedKey == nil { -+ return nil, errors.New("pkcs7: no enveloped recipient for provided certificate") -+ } -+ if priv := pk.(*rsa.PrivateKey); priv != nil { -+ var contentKey []byte -+ contentKey, err := rsa.DecryptPKCS1v15(rand.Reader, priv, recipient.EncryptedKey) -+ if err != nil { -+ return nil, err -+ } -+ return data.EncryptedContentInfo.decrypt(contentKey) -+ } -+ fmt.Printf("Unsupported Private Key: %v\n", pk) -+ return nil, ErrUnsupportedAlgorithm -+} -+ -+var oidEncryptionAlgorithmDESCBC = asn1.ObjectIdentifier{1, 3, 14, 3, 2, 7} -+var oidEncryptionAlgorithmDESEDE3CBC = asn1.ObjectIdentifier{1, 2, 840, 113549, 3, 7} -+var oidEncryptionAlgorithmAES256CBC = asn1.ObjectIdentifier{2, 16, 840, 1, 101, 3, 4, 1, 42} -+var oidEncryptionAlgorithmAES128GCM = asn1.ObjectIdentifier{2, 16, 840, 1, 101, 3, 4, 1, 6} -+var oidEncryptionAlgorithmAES128CBC = asn1.ObjectIdentifier{2, 16, 840, 1, 101, 3, 4, 1, 2} -+ -+func (eci encryptedContentInfo) decrypt(key []byte) ([]byte, error) { -+ alg := eci.ContentEncryptionAlgorithm.Algorithm -+ if !alg.Equal(oidEncryptionAlgorithmDESCBC) && -+ !alg.Equal(oidEncryptionAlgorithmDESEDE3CBC) && -+ !alg.Equal(oidEncryptionAlgorithmAES256CBC) && -+ !alg.Equal(oidEncryptionAlgorithmAES128CBC) && -+ !alg.Equal(oidEncryptionAlgorithmAES128GCM) { -+ fmt.Printf("Unsupported Content Encryption Algorithm: %s\n", alg) -+ return nil, ErrUnsupportedAlgorithm -+ } -+ -+ // EncryptedContent can either be constructed of multple OCTET STRINGs -+ // or _be_ a tagged OCTET STRING -+ var cyphertext []byte -+ if eci.EncryptedContent.IsCompound { -+ // Complex case to concat all of the children OCTET STRINGs -+ var buf bytes.Buffer -+ cypherbytes := eci.EncryptedContent.Bytes -+ for { -+ var part []byte -+ cypherbytes, _ = asn1.Unmarshal(cypherbytes, &part) -+ buf.Write(part) -+ if cypherbytes == nil { -+ break -+ } -+ } -+ cyphertext = buf.Bytes() -+ } else { -+ // Simple case, the bytes _are_ the cyphertext -+ cyphertext = eci.EncryptedContent.Bytes -+ } -+ -+ var block cipher.Block -+ var err error -+ -+ switch { -+ case alg.Equal(oidEncryptionAlgorithmDESCBC): -+ block, err = des.NewCipher(key) -+ case alg.Equal(oidEncryptionAlgorithmDESEDE3CBC): -+ block, err = des.NewTripleDESCipher(key) -+ case alg.Equal(oidEncryptionAlgorithmAES256CBC): -+ fallthrough -+ case alg.Equal(oidEncryptionAlgorithmAES128GCM), alg.Equal(oidEncryptionAlgorithmAES128CBC): -+ block, err = aes.NewCipher(key) -+ } -+ -+ if err != nil { -+ return nil, err -+ } -+ -+ if alg.Equal(oidEncryptionAlgorithmAES128GCM) { -+ params := aesGCMParameters{} -+ paramBytes := eci.ContentEncryptionAlgorithm.Parameters.Bytes -+ -+ _, err := asn1.Unmarshal(paramBytes, ¶ms) -+ if err != nil { -+ return nil, err -+ } -+ -+ gcm, err := cipher.NewGCM(block) -+ if err != nil { -+ return nil, err -+ } -+ -+ if len(params.Nonce) != gcm.NonceSize() { -+ return nil, errors.New("pkcs7: encryption algorithm parameters are incorrect") -+ } -+ if params.ICVLen != gcm.Overhead() { -+ return nil, errors.New("pkcs7: encryption algorithm parameters are incorrect") -+ } -+ -+ plaintext, err := gcm.Open(nil, params.Nonce, cyphertext, nil) -+ if err != nil { -+ return nil, err -+ } -+ -+ return plaintext, nil -+ } -+ -+ iv := eci.ContentEncryptionAlgorithm.Parameters.Bytes -+ if len(iv) != block.BlockSize() { -+ return nil, errors.New("pkcs7: encryption algorithm parameters are malformed") -+ } -+ mode := cipher.NewCBCDecrypter(block, iv) -+ plaintext := make([]byte, len(cyphertext)) -+ mode.CryptBlocks(plaintext, cyphertext) -+ if plaintext, err = unpad(plaintext, mode.BlockSize()); err != nil { -+ return nil, err -+ } -+ return plaintext, nil -+} -+ -+func selectRecipientForCertificate(recipients []recipientInfo, cert *x509.Certificate) recipientInfo { -+ for _, recp := range recipients { -+ if isCertMatchForIssuerAndSerial(cert, recp.IssuerAndSerialNumber) { -+ return recp -+ } -+ } -+ return recipientInfo{} -+} -+ -+func isCertMatchForIssuerAndSerial(cert *x509.Certificate, ias issuerAndSerial) bool { -+ return cert.SerialNumber.Cmp(ias.SerialNumber) == 0 && bytes.Compare(cert.RawIssuer, ias.IssuerName.FullBytes) == 0 -+} -+ -+func pad(data []byte, blocklen int) ([]byte, error) { -+ if blocklen < 1 { -+ return nil, fmt.Errorf("invalid blocklen %d", blocklen) -+ } -+ padlen := blocklen - (len(data) % blocklen) -+ if padlen == 0 { -+ padlen = blocklen -+ } -+ pad := bytes.Repeat([]byte{byte(padlen)}, padlen) -+ return append(data, pad...), nil -+} -+ -+func unpad(data []byte, blocklen int) ([]byte, error) { -+ if blocklen < 1 { -+ return nil, fmt.Errorf("invalid blocklen %d", blocklen) -+ } -+ if len(data)%blocklen != 0 || len(data) == 0 { -+ return nil, fmt.Errorf("invalid data len %d", len(data)) -+ } -+ -+ // the last byte is the length of padding -+ padlen := int(data[len(data)-1]) -+ -+ // check padding integrity, all bytes should be the same -+ pad := data[len(data)-padlen:] -+ for _, padbyte := range pad { -+ if padbyte != byte(padlen) { -+ return nil, errors.New("invalid padding") -+ } -+ } -+ -+ return data[:len(data)-padlen], nil -+} -+ -+func unmarshalAttribute(attrs []attribute, attributeType asn1.ObjectIdentifier, out interface{}) error { -+ for _, attr := range attrs { -+ if attr.Type.Equal(attributeType) { -+ _, err := asn1.Unmarshal(attr.Value.Bytes, out) -+ return err -+ } -+ } -+ return errors.New("pkcs7: attribute type not in attributes") -+} -+ -+// UnmarshalSignedAttribute decodes a single attribute from the signer info -+func (p7 *PKCS7) UnmarshalSignedAttribute(attributeType asn1.ObjectIdentifier, out interface{}) error { -+ sd, ok := p7.raw.(signedData) -+ if !ok { -+ return errors.New("pkcs7: payload is not signedData content") -+ } -+ if len(sd.SignerInfos) < 1 { -+ return errors.New("pkcs7: payload has no signers") -+ } -+ attributes := sd.SignerInfos[0].AuthenticatedAttributes -+ return unmarshalAttribute(attributes, attributeType, out) -+} -+ -+// SignedData is an opaque data structure for creating signed data payloads -+type SignedData struct { -+ sd signedData -+ certs []*x509.Certificate -+ messageDigest []byte -+} -+ -+// Attribute represents a key value pair attribute. Value must be marshalable byte -+// `encoding/asn1` -+type Attribute struct { -+ Type asn1.ObjectIdentifier -+ Value interface{} -+} -+ -+// SignerInfoConfig are optional values to include when adding a signer -+type SignerInfoConfig struct { -+ ExtraSignedAttributes []Attribute -+} -+ -+// NewSignedData initializes a SignedData with content -+func NewSignedData(data []byte) (*SignedData, error) { -+ content, err := asn1.Marshal(data) -+ if err != nil { -+ return nil, err -+ } -+ ci := contentInfo{ -+ ContentType: oidData, -+ Content: asn1.RawValue{Class: 2, Tag: 0, Bytes: content, IsCompound: true}, -+ } -+ digAlg := pkix.AlgorithmIdentifier{ -+ Algorithm: oidDigestAlgorithmSHA1, -+ } -+ h := crypto.SHA1.New() -+ h.Write(data) -+ md := h.Sum(nil) -+ sd := signedData{ -+ ContentInfo: ci, -+ Version: 1, -+ DigestAlgorithmIdentifiers: []pkix.AlgorithmIdentifier{digAlg}, -+ } -+ return &SignedData{sd: sd, messageDigest: md}, nil -+} -+ -+type attributes struct { -+ types []asn1.ObjectIdentifier -+ values []interface{} -+} -+ -+// Add adds the attribute, maintaining insertion order -+func (attrs *attributes) Add(attrType asn1.ObjectIdentifier, value interface{}) { -+ attrs.types = append(attrs.types, attrType) -+ attrs.values = append(attrs.values, value) -+} -+ -+type sortableAttribute struct { -+ SortKey []byte -+ Attribute attribute -+} -+ -+type attributeSet []sortableAttribute -+ -+func (sa attributeSet) Len() int { -+ return len(sa) -+} -+ -+func (sa attributeSet) Less(i, j int) bool { -+ return bytes.Compare(sa[i].SortKey, sa[j].SortKey) < 0 -+} -+ -+func (sa attributeSet) Swap(i, j int) { -+ sa[i], sa[j] = sa[j], sa[i] -+} -+ -+func (sa attributeSet) Attributes() []attribute { -+ attrs := make([]attribute, len(sa)) -+ for i, attr := range sa { -+ attrs[i] = attr.Attribute -+ } -+ return attrs -+} -+ -+func (attrs *attributes) ForMarshaling() ([]attribute, error) { -+ sortables := make(attributeSet, len(attrs.types)) -+ for i := range sortables { -+ attrType := attrs.types[i] -+ attrValue := attrs.values[i] -+ asn1Value, err := asn1.Marshal(attrValue) -+ if err != nil { -+ return nil, err -+ } -+ attr := attribute{ -+ Type: attrType, -+ Value: asn1.RawValue{Tag: 17, IsCompound: true, Bytes: asn1Value}, // 17 == SET tag -+ } -+ encoded, err := asn1.Marshal(attr) -+ if err != nil { -+ return nil, err -+ } -+ sortables[i] = sortableAttribute{ -+ SortKey: encoded, -+ Attribute: attr, -+ } -+ } -+ sort.Sort(sortables) -+ return sortables.Attributes(), nil -+} -+ -+// AddSigner signs attributes about the content and adds certificate to payload -+func (sd *SignedData) AddSigner(cert *x509.Certificate, pkey crypto.PrivateKey, config SignerInfoConfig) error { -+ attrs := &attributes{} -+ attrs.Add(oidAttributeContentType, sd.sd.ContentInfo.ContentType) -+ attrs.Add(oidAttributeMessageDigest, sd.messageDigest) -+ attrs.Add(oidAttributeSigningTime, time.Now()) -+ for _, attr := range config.ExtraSignedAttributes { -+ attrs.Add(attr.Type, attr.Value) -+ } -+ finalAttrs, err := attrs.ForMarshaling() -+ if err != nil { -+ return err -+ } -+ signature, err := signAttributes(finalAttrs, pkey, crypto.SHA1) -+ if err != nil { -+ return err -+ } -+ -+ ias, err := cert2issuerAndSerial(cert) -+ if err != nil { -+ return err -+ } -+ -+ signer := signerInfo{ -+ AuthenticatedAttributes: finalAttrs, -+ DigestAlgorithm: pkix.AlgorithmIdentifier{Algorithm: oidDigestAlgorithmSHA1}, -+ DigestEncryptionAlgorithm: pkix.AlgorithmIdentifier{Algorithm: oidSignatureSHA1WithRSA}, -+ IssuerAndSerialNumber: ias, -+ EncryptedDigest: signature, -+ Version: 1, -+ } -+ // create signature of signed attributes -+ sd.certs = append(sd.certs, cert) -+ sd.sd.SignerInfos = append(sd.sd.SignerInfos, signer) -+ return nil -+} -+ -+// AddCertificate adds the certificate to the payload. Useful for parent certificates -+func (sd *SignedData) AddCertificate(cert *x509.Certificate) { -+ sd.certs = append(sd.certs, cert) -+} -+ -+// Detach removes content from the signed data struct to make it a detached signature. -+// This must be called right before Finish() -+func (sd *SignedData) Detach() { -+ sd.sd.ContentInfo = contentInfo{ContentType: oidData} -+} -+ -+// Finish marshals the content and its signers -+func (sd *SignedData) Finish() ([]byte, error) { -+ sd.sd.Certificates = marshalCertificates(sd.certs) -+ inner, err := asn1.Marshal(sd.sd) -+ if err != nil { -+ return nil, err -+ } -+ outer := contentInfo{ -+ ContentType: oidSignedData, -+ Content: asn1.RawValue{Class: 2, Tag: 0, Bytes: inner, IsCompound: true}, -+ } -+ return asn1.Marshal(outer) -+} -+ -+func cert2issuerAndSerial(cert *x509.Certificate) (issuerAndSerial, error) { -+ var ias issuerAndSerial -+ // The issuer RDNSequence has to match exactly the sequence in the certificate -+ // We cannot use cert.Issuer.ToRDNSequence() here since it mangles the sequence -+ ias.IssuerName = asn1.RawValue{FullBytes: cert.RawIssuer} -+ ias.SerialNumber = cert.SerialNumber -+ -+ return ias, nil -+} -+ -+// signs the DER encoded form of the attributes with the private key -+func signAttributes(attrs []attribute, pkey crypto.PrivateKey, hash crypto.Hash) ([]byte, error) { -+ attrBytes, err := marshalAttributes(attrs) -+ if err != nil { -+ return nil, err -+ } -+ h := hash.New() -+ h.Write(attrBytes) -+ hashed := h.Sum(nil) -+ switch priv := pkey.(type) { -+ case *rsa.PrivateKey: -+ return rsa.SignPKCS1v15(rand.Reader, priv, crypto.SHA1, hashed) -+ } -+ return nil, ErrUnsupportedAlgorithm -+} -+ -+// concats and wraps the certificates in the RawValue structure -+func marshalCertificates(certs []*x509.Certificate) rawCertificates { -+ var buf bytes.Buffer -+ for _, cert := range certs { -+ buf.Write(cert.Raw) -+ } -+ rawCerts, _ := marshalCertificateBytes(buf.Bytes()) -+ return rawCerts -+} -+ -+// Even though, the tag & length are stripped out during marshalling the -+// RawContent, we have to encode it into the RawContent. If its missing, -+// then `asn1.Marshal()` will strip out the certificate wrapper instead. -+func marshalCertificateBytes(certs []byte) (rawCertificates, error) { -+ var val = asn1.RawValue{Bytes: certs, Class: 2, Tag: 0, IsCompound: true} -+ b, err := asn1.Marshal(val) -+ if err != nil { -+ return rawCertificates{}, err -+ } -+ return rawCertificates{Raw: b}, nil -+} -+ -+// DegenerateCertificate creates a signed data structure containing only the -+// provided certificate or certificate chain. -+func DegenerateCertificate(cert []byte) ([]byte, error) { -+ rawCert, err := marshalCertificateBytes(cert) -+ if err != nil { -+ return nil, err -+ } -+ emptyContent := contentInfo{ContentType: oidData} -+ sd := signedData{ -+ Version: 1, -+ ContentInfo: emptyContent, -+ Certificates: rawCert, -+ CRLs: []pkix.CertificateList{}, -+ } -+ content, err := asn1.Marshal(sd) -+ if err != nil { -+ return nil, err -+ } -+ signedContent := contentInfo{ -+ ContentType: oidSignedData, -+ Content: asn1.RawValue{Class: 2, Tag: 0, Bytes: content, IsCompound: true}, -+ } -+ return asn1.Marshal(signedContent) -+} -+ -+const ( -+ EncryptionAlgorithmDESCBC = iota -+ EncryptionAlgorithmAES128GCM -+) -+ -+// ContentEncryptionAlgorithm determines the algorithm used to encrypt the -+// plaintext message. Change the value of this variable to change which -+// algorithm is used in the Encrypt() function. -+var ContentEncryptionAlgorithm = EncryptionAlgorithmDESCBC -+ -+// ErrUnsupportedEncryptionAlgorithm is returned when attempting to encrypt -+// content with an unsupported algorithm. -+var ErrUnsupportedEncryptionAlgorithm = errors.New("pkcs7: cannot encrypt content: only DES-CBC and AES-128-GCM supported") -+ -+const nonceSize = 12 -+ -+type aesGCMParameters struct { -+ Nonce []byte `asn1:"tag:4"` -+ ICVLen int -+} -+ -+func encryptAES128GCM(content []byte) ([]byte, *encryptedContentInfo, error) { -+ // Create AES key and nonce -+ key := make([]byte, 16) -+ nonce := make([]byte, nonceSize) -+ -+ _, err := rand.Read(key) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ _, err = rand.Read(nonce) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ // Encrypt content -+ block, err := aes.NewCipher(key) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ gcm, err := cipher.NewGCM(block) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ ciphertext := gcm.Seal(nil, nonce, content, nil) -+ -+ // Prepare ASN.1 Encrypted Content Info -+ paramSeq := aesGCMParameters{ -+ Nonce: nonce, -+ ICVLen: gcm.Overhead(), -+ } -+ -+ paramBytes, err := asn1.Marshal(paramSeq) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ eci := encryptedContentInfo{ -+ ContentType: oidData, -+ ContentEncryptionAlgorithm: pkix.AlgorithmIdentifier{ -+ Algorithm: oidEncryptionAlgorithmAES128GCM, -+ Parameters: asn1.RawValue{ -+ Tag: asn1.TagSequence, -+ Bytes: paramBytes, -+ }, -+ }, -+ EncryptedContent: marshalEncryptedContent(ciphertext), -+ } -+ -+ return key, &eci, nil -+} -+ -+func encryptDESCBC(content []byte) ([]byte, *encryptedContentInfo, error) { -+ // Create DES key & CBC IV -+ key := make([]byte, 8) -+ iv := make([]byte, des.BlockSize) -+ _, err := rand.Read(key) -+ if err != nil { -+ return nil, nil, err -+ } -+ _, err = rand.Read(iv) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ // Encrypt padded content -+ block, err := des.NewCipher(key) -+ if err != nil { -+ return nil, nil, err -+ } -+ mode := cipher.NewCBCEncrypter(block, iv) -+ plaintext, err := pad(content, mode.BlockSize()) -+ cyphertext := make([]byte, len(plaintext)) -+ mode.CryptBlocks(cyphertext, plaintext) -+ -+ // Prepare ASN.1 Encrypted Content Info -+ eci := encryptedContentInfo{ -+ ContentType: oidData, -+ ContentEncryptionAlgorithm: pkix.AlgorithmIdentifier{ -+ Algorithm: oidEncryptionAlgorithmDESCBC, -+ Parameters: asn1.RawValue{Tag: 4, Bytes: iv}, -+ }, -+ EncryptedContent: marshalEncryptedContent(cyphertext), -+ } -+ -+ return key, &eci, nil -+} -+ -+// Encrypt creates and returns an envelope data PKCS7 structure with encrypted -+// recipient keys for each recipient public key. -+// -+// The algorithm used to perform encryption is determined by the current value -+// of the global ContentEncryptionAlgorithm package variable. By default, the -+// value is EncryptionAlgorithmDESCBC. To use a different algorithm, change the -+// value before calling Encrypt(). For example: -+// -+// ContentEncryptionAlgorithm = EncryptionAlgorithmAES128GCM -+// -+// TODO(fullsailor): Add support for encrypting content with other algorithms -+func Encrypt(content []byte, recipients []*x509.Certificate) ([]byte, error) { -+ var eci *encryptedContentInfo -+ var key []byte -+ var err error -+ -+ // Apply chosen symmetric encryption method -+ switch ContentEncryptionAlgorithm { -+ case EncryptionAlgorithmDESCBC: -+ key, eci, err = encryptDESCBC(content) -+ -+ case EncryptionAlgorithmAES128GCM: -+ key, eci, err = encryptAES128GCM(content) -+ -+ default: -+ return nil, ErrUnsupportedEncryptionAlgorithm -+ } -+ -+ if err != nil { -+ return nil, err -+ } -+ -+ // Prepare each recipient's encrypted cipher key -+ recipientInfos := make([]recipientInfo, len(recipients)) -+ for i, recipient := range recipients { -+ encrypted, err := encryptKey(key, recipient) -+ if err != nil { -+ return nil, err -+ } -+ ias, err := cert2issuerAndSerial(recipient) -+ if err != nil { -+ return nil, err -+ } -+ info := recipientInfo{ -+ Version: 0, -+ IssuerAndSerialNumber: ias, -+ KeyEncryptionAlgorithm: pkix.AlgorithmIdentifier{ -+ Algorithm: oidEncryptionAlgorithmRSA, -+ }, -+ EncryptedKey: encrypted, -+ } -+ recipientInfos[i] = info -+ } -+ -+ // Prepare envelope content -+ envelope := envelopedData{ -+ EncryptedContentInfo: *eci, -+ Version: 0, -+ RecipientInfos: recipientInfos, -+ } -+ innerContent, err := asn1.Marshal(envelope) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Prepare outer payload structure -+ wrapper := contentInfo{ -+ ContentType: oidEnvelopedData, -+ Content: asn1.RawValue{Class: 2, Tag: 0, IsCompound: true, Bytes: innerContent}, -+ } -+ -+ return asn1.Marshal(wrapper) -+} -+ -+func marshalEncryptedContent(content []byte) asn1.RawValue { -+ asn1Content, _ := asn1.Marshal(content) -+ return asn1.RawValue{Tag: 0, Class: 2, Bytes: asn1Content, IsCompound: true} -+} -+ -+func encryptKey(key []byte, recipient *x509.Certificate) ([]byte, error) { -+ if pub := recipient.PublicKey.(*rsa.PublicKey); pub != nil { -+ return rsa.EncryptPKCS1v15(rand.Reader, pub, key) -+ } -+ return nil, ErrUnsupportedAlgorithm -+} -diff --git a/vendor/github.com/fullsailor/pkcs7/x509.go b/vendor/github.com/fullsailor/pkcs7/x509.go -new file mode 100644 -index 000000000..195fd0e4b ---- /dev/null -+++ b/vendor/github.com/fullsailor/pkcs7/x509.go -@@ -0,0 +1,133 @@ -+// 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 go/golang LICENSE file. -+ -+package pkcs7 -+ -+// These are private constants and functions from the crypto/x509 package that -+// are useful when dealing with signatures verified by x509 certificates -+ -+import ( -+ "bytes" -+ "crypto" -+ "crypto/x509" -+ "crypto/x509/pkix" -+ "encoding/asn1" -+) -+ -+var ( -+ oidSignatureMD2WithRSA = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 2} -+ oidSignatureMD5WithRSA = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 4} -+ oidSignatureSHA1WithRSA = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 5} -+ oidSignatureSHA256WithRSA = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 11} -+ oidSignatureSHA384WithRSA = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 12} -+ oidSignatureSHA512WithRSA = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 13} -+ oidSignatureRSAPSS = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 10} -+ oidSignatureDSAWithSHA1 = asn1.ObjectIdentifier{1, 2, 840, 10040, 4, 3} -+ oidSignatureDSAWithSHA256 = asn1.ObjectIdentifier{2, 16, 840, 1, 101, 3, 4, 3, 2} -+ oidSignatureECDSAWithSHA1 = asn1.ObjectIdentifier{1, 2, 840, 10045, 4, 1} -+ oidSignatureECDSAWithSHA256 = asn1.ObjectIdentifier{1, 2, 840, 10045, 4, 3, 2} -+ oidSignatureECDSAWithSHA384 = asn1.ObjectIdentifier{1, 2, 840, 10045, 4, 3, 3} -+ oidSignatureECDSAWithSHA512 = asn1.ObjectIdentifier{1, 2, 840, 10045, 4, 3, 4} -+ -+ oidSHA256 = asn1.ObjectIdentifier{2, 16, 840, 1, 101, 3, 4, 2, 1} -+ oidSHA384 = asn1.ObjectIdentifier{2, 16, 840, 1, 101, 3, 4, 2, 2} -+ oidSHA512 = asn1.ObjectIdentifier{2, 16, 840, 1, 101, 3, 4, 2, 3} -+ -+ oidMGF1 = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 8} -+ -+ // oidISOSignatureSHA1WithRSA means the same as oidSignatureSHA1WithRSA -+ // but it's specified by ISO. Microsoft's makecert.exe has been known -+ // to produce certificates with this OID. -+ oidISOSignatureSHA1WithRSA = asn1.ObjectIdentifier{1, 3, 14, 3, 2, 29} -+) -+ -+var signatureAlgorithmDetails = []struct { -+ algo x509.SignatureAlgorithm -+ name string -+ oid asn1.ObjectIdentifier -+ pubKeyAlgo x509.PublicKeyAlgorithm -+ hash crypto.Hash -+}{ -+ {x509.MD2WithRSA, "MD2-RSA", oidSignatureMD2WithRSA, x509.RSA, crypto.Hash(0) /* no value for MD2 */}, -+ {x509.MD5WithRSA, "MD5-RSA", oidSignatureMD5WithRSA, x509.RSA, crypto.MD5}, -+ {x509.SHA1WithRSA, "SHA1-RSA", oidSignatureSHA1WithRSA, x509.RSA, crypto.SHA1}, -+ {x509.SHA1WithRSA, "SHA1-RSA", oidISOSignatureSHA1WithRSA, x509.RSA, crypto.SHA1}, -+ {x509.SHA256WithRSA, "SHA256-RSA", oidSignatureSHA256WithRSA, x509.RSA, crypto.SHA256}, -+ {x509.SHA384WithRSA, "SHA384-RSA", oidSignatureSHA384WithRSA, x509.RSA, crypto.SHA384}, -+ {x509.SHA512WithRSA, "SHA512-RSA", oidSignatureSHA512WithRSA, x509.RSA, crypto.SHA512}, -+ {x509.SHA256WithRSAPSS, "SHA256-RSAPSS", oidSignatureRSAPSS, x509.RSA, crypto.SHA256}, -+ {x509.SHA384WithRSAPSS, "SHA384-RSAPSS", oidSignatureRSAPSS, x509.RSA, crypto.SHA384}, -+ {x509.SHA512WithRSAPSS, "SHA512-RSAPSS", oidSignatureRSAPSS, x509.RSA, crypto.SHA512}, -+ {x509.DSAWithSHA1, "DSA-SHA1", oidSignatureDSAWithSHA1, x509.DSA, crypto.SHA1}, -+ {x509.DSAWithSHA256, "DSA-SHA256", oidSignatureDSAWithSHA256, x509.DSA, crypto.SHA256}, -+ {x509.ECDSAWithSHA1, "ECDSA-SHA1", oidSignatureECDSAWithSHA1, x509.ECDSA, crypto.SHA1}, -+ {x509.ECDSAWithSHA256, "ECDSA-SHA256", oidSignatureECDSAWithSHA256, x509.ECDSA, crypto.SHA256}, -+ {x509.ECDSAWithSHA384, "ECDSA-SHA384", oidSignatureECDSAWithSHA384, x509.ECDSA, crypto.SHA384}, -+ {x509.ECDSAWithSHA512, "ECDSA-SHA512", oidSignatureECDSAWithSHA512, x509.ECDSA, crypto.SHA512}, -+} -+ -+// pssParameters reflects the parameters in an AlgorithmIdentifier that -+// specifies RSA PSS. See https://tools.ietf.org/html/rfc3447#appendix-A.2.3 -+type pssParameters struct { -+ // The following three fields are not marked as -+ // optional because the default values specify SHA-1, -+ // which is no longer suitable for use in signatures. -+ Hash pkix.AlgorithmIdentifier `asn1:"explicit,tag:0"` -+ MGF pkix.AlgorithmIdentifier `asn1:"explicit,tag:1"` -+ SaltLength int `asn1:"explicit,tag:2"` -+ TrailerField int `asn1:"optional,explicit,tag:3,default:1"` -+} -+ -+// asn1.NullBytes is not available prior to Go 1.9 -+var nullBytes = []byte{5, 0} -+ -+func getSignatureAlgorithmFromAI(ai pkix.AlgorithmIdentifier) x509.SignatureAlgorithm { -+ if !ai.Algorithm.Equal(oidSignatureRSAPSS) { -+ for _, details := range signatureAlgorithmDetails { -+ if ai.Algorithm.Equal(details.oid) { -+ return details.algo -+ } -+ } -+ return x509.UnknownSignatureAlgorithm -+ } -+ -+ // RSA PSS is special because it encodes important parameters -+ // in the Parameters. -+ -+ var params pssParameters -+ if _, err := asn1.Unmarshal(ai.Parameters.FullBytes, ¶ms); err != nil { -+ return x509.UnknownSignatureAlgorithm -+ } -+ -+ var mgf1HashFunc pkix.AlgorithmIdentifier -+ if _, err := asn1.Unmarshal(params.MGF.Parameters.FullBytes, &mgf1HashFunc); err != nil { -+ return x509.UnknownSignatureAlgorithm -+ } -+ -+ // PSS is greatly overburdened with options. This code forces -+ // them into three buckets by requiring that the MGF1 hash -+ // function always match the message hash function (as -+ // recommended in -+ // https://tools.ietf.org/html/rfc3447#section-8.1), that the -+ // salt length matches the hash length, and that the trailer -+ // field has the default value. -+ if !bytes.Equal(params.Hash.Parameters.FullBytes, nullBytes) || -+ !params.MGF.Algorithm.Equal(oidMGF1) || -+ !mgf1HashFunc.Algorithm.Equal(params.Hash.Algorithm) || -+ !bytes.Equal(mgf1HashFunc.Parameters.FullBytes, nullBytes) || -+ params.TrailerField != 1 { -+ return x509.UnknownSignatureAlgorithm -+ } -+ -+ switch { -+ case params.Hash.Algorithm.Equal(oidSHA256) && params.SaltLength == 32: -+ return x509.SHA256WithRSAPSS -+ case params.Hash.Algorithm.Equal(oidSHA384) && params.SaltLength == 48: -+ return x509.SHA384WithRSAPSS -+ case params.Hash.Algorithm.Equal(oidSHA512) && params.SaltLength == 64: -+ return x509.SHA512WithRSAPSS -+ } -+ -+ return x509.UnknownSignatureAlgorithm -+} -diff --git a/vendor/github.com/godbus/dbus/conn.go b/vendor/github.com/godbus/dbus/conn.go -index b38920baf..9dced0cc4 100644 ---- a/vendor/github.com/godbus/dbus/conn.go -+++ b/vendor/github.com/godbus/dbus/conn.go -@@ -134,6 +134,8 @@ func SystemBus() (conn *Conn, err error) { - } - - // SystemBusPrivate returns a new private connection to the system bus. -+// Note: this connection is not ready to use. One must perform Auth and Hello -+// on the connection before it is useable. - func SystemBusPrivate(opts ...ConnOption) (*Conn, error) { - return Dial(getSystemBusPlatformAddress(), opts...) - } -@@ -267,7 +269,7 @@ func (conn *Conn) Eavesdrop(ch chan<- *Message) { - conn.eavesdroppedLck.Unlock() - } - --// GetSerial returns an unused serial. -+// getSerial returns an unused serial. - func (conn *Conn) getSerial() uint32 { - return conn.serialGen.GetSerial() - } -@@ -381,8 +383,6 @@ func (conn *Conn) Object(dest string, path ObjectPath) BusObject { - return &Object{conn, dest, path} - } - --// outWorker runs in an own goroutine, encoding and sending messages that are --// sent to conn.out. - func (conn *Conn) sendMessage(msg *Message) { - conn.sendMessageAndIfClosed(msg, func() {}) - } -diff --git a/vendor/github.com/godbus/dbus/conn_other.go b/vendor/github.com/godbus/dbus/conn_other.go -index 289044a44..616dcf664 100644 ---- a/vendor/github.com/godbus/dbus/conn_other.go -+++ b/vendor/github.com/godbus/dbus/conn_other.go -@@ -14,8 +14,10 @@ import ( - "strings" - ) - -+var execCommand = exec.Command -+ - func getSessionBusPlatformAddress() (string, error) { -- cmd := exec.Command("dbus-launch") -+ cmd := execCommand("dbus-launch") - b, err := cmd.CombinedOutput() - - if err != nil { -@@ -25,7 +27,7 @@ func getSessionBusPlatformAddress() (string, error) { - i := bytes.IndexByte(b, '=') - j := bytes.IndexByte(b, '\n') - -- if i == -1 || j == -1 { -+ if i == -1 || j == -1 || i > j { - return "", errors.New("dbus: couldn't determine address of session bus") - } - -diff --git a/vendor/github.com/godbus/dbus/decoder.go b/vendor/github.com/godbus/dbus/decoder.go -index 5c27d3b51..ede91575b 100644 ---- a/vendor/github.com/godbus/dbus/decoder.go -+++ b/vendor/github.com/godbus/dbus/decoder.go -@@ -188,8 +188,14 @@ func (dec *decoder) decode(s string, depth int) interface{} { - if depth >= 64 { - panic(FormatError("input exceeds container depth limit")) - } -+ sig := s[1:] - length := dec.decode("u", depth).(uint32) -- v := reflect.MakeSlice(reflect.SliceOf(typeFor(s[1:])), 0, int(length)) -+ // capacity can be determined only for fixed-size element types -+ var capacity int -+ if s := sigByteSize(sig); s != 0 { -+ capacity = int(length) / s -+ } -+ v := reflect.MakeSlice(reflect.SliceOf(typeFor(sig)), 0, capacity) - // Even for empty arrays, the correct padding must be included - align := alignment(typeFor(s[1:])) - if len(s) > 1 && s[1] == '(' { -@@ -227,6 +233,51 @@ func (dec *decoder) decode(s string, depth int) interface{} { - } - } - -+// sigByteSize tries to calculates size of the given signature in bytes. -+// -+// It returns zero when it can't, for example when it contains non-fixed size -+// types such as strings, maps and arrays that require reading of the transmitted -+// data, for that we would need to implement the unread method for Decoder first. -+func sigByteSize(sig string) int { -+ var total int -+ for offset := 0; offset < len(sig); { -+ switch sig[offset] { -+ case 'y': -+ total += 1 -+ offset += 1 -+ case 'n', 'q': -+ total += 2 -+ offset += 1 -+ case 'b', 'i', 'u', 'h': -+ total += 4 -+ offset += 1 -+ case 'x', 't', 'd': -+ total += 8 -+ offset += 1 -+ case '(': -+ i := 1 -+ depth := 1 -+ for i < len(sig[offset:]) && depth != 0 { -+ if sig[offset+i] == '(' { -+ depth++ -+ } else if sig[offset+i] == ')' { -+ depth-- -+ } -+ i++ -+ } -+ s := sigByteSize(sig[offset+1 : offset+i-1]) -+ if s == 0 { -+ return 0 -+ } -+ total += s -+ offset += i -+ default: -+ return 0 -+ } -+ } -+ return total -+} -+ - // A FormatError is an error in the wire format. - type FormatError string - -diff --git a/vendor/github.com/godbus/dbus/default_handler.go b/vendor/github.com/godbus/dbus/default_handler.go -index 81dbcc7e4..890b6f4e0 100644 ---- a/vendor/github.com/godbus/dbus/default_handler.go -+++ b/vendor/github.com/godbus/dbus/default_handler.go -@@ -263,13 +263,13 @@ func (sh *defaultSignalHandler) DeliverSignal(intf, name string, signal *Signal) - case <-sh.closeChan: - return - default: -- go func() { -+ go func(ch chan<- *Signal) { - select { - case ch <- signal: - case <-sh.closeChan: - return - } -- }() -+ }(ch) - } - } - } -diff --git a/vendor/github.com/godbus/dbus/go.mod b/vendor/github.com/godbus/dbus/go.mod -index bdcd12598..57014e4ac 100644 ---- a/vendor/github.com/godbus/dbus/go.mod -+++ b/vendor/github.com/godbus/dbus/go.mod -@@ -1 +1,3 @@ - module github.com/godbus/dbus -+ -+go 1.12 -diff --git a/vendor/github.com/godbus/dbus/object.go b/vendor/github.com/godbus/dbus/object.go -index f27ffe144..9309b9b40 100644 ---- a/vendor/github.com/godbus/dbus/object.go -+++ b/vendor/github.com/godbus/dbus/object.go -@@ -16,6 +16,7 @@ type BusObject interface { - AddMatchSignal(iface, member string, options ...MatchOption) *Call - RemoveMatchSignal(iface, member string, options ...MatchOption) *Call - GetProperty(p string) (Variant, error) -+ SetProperty(p string, v interface{}) error - Destination() string - Path() ObjectPath - } -@@ -146,7 +147,7 @@ func (o *Object) createCall(ctx context.Context, method string, flags Flags, ch - } - if msg.Flags&FlagNoReplyExpected == 0 { - if ch == nil { -- ch = make(chan *Call, 10) -+ ch = make(chan *Call, 1) - } else if cap(ch) == 0 { - panic("dbus: unbuffered channel passed to (*Object).Go") - } -@@ -187,7 +188,7 @@ func (o *Object) createCall(ctx context.Context, method string, flags Flags, ch - return call - } - --// GetProperty calls org.freedesktop.DBus.Properties.GetProperty on the given -+// GetProperty calls org.freedesktop.DBus.Properties.Get on the given - // object. The property name must be given in interface.member notation. - func (o *Object) GetProperty(p string) (Variant, error) { - idx := strings.LastIndex(p, ".") -@@ -208,6 +209,20 @@ func (o *Object) GetProperty(p string) (Variant, error) { - return result, nil - } - -+// SetProperty calls org.freedesktop.DBus.Properties.Set on the given -+// object. The property name must be given in interface.member notation. -+func (o *Object) SetProperty(p string, v interface{}) error { -+ idx := strings.LastIndex(p, ".") -+ if idx == -1 || idx+1 == len(p) { -+ return errors.New("dbus: invalid property " + p) -+ } -+ -+ iface := p[:idx] -+ prop := p[idx+1:] -+ -+ return o.Call("org.freedesktop.DBus.Properties.Set", 0, iface, prop, v).Err -+} -+ - // Destination returns the destination that calls on (o *Object) are sent to. - func (o *Object) Destination() string { - return o.dest -diff --git a/vendor/github.com/godbus/dbus/transport_tcp.go b/vendor/github.com/godbus/dbus/transport_tcp.go -index dd1c8e59c..f91c9b7d7 100644 ---- a/vendor/github.com/godbus/dbus/transport_tcp.go -+++ b/vendor/github.com/godbus/dbus/transport_tcp.go -@@ -1,5 +1,3 @@ --//+build !windows -- - package dbus - - import ( -diff --git a/vendor/github.com/godbus/dbus/transport_unix.go b/vendor/github.com/godbus/dbus/transport_unix.go -index f000c6b5d..c7cd02f97 100644 ---- a/vendor/github.com/godbus/dbus/transport_unix.go -+++ b/vendor/github.com/godbus/dbus/transport_unix.go -@@ -203,7 +203,7 @@ func (t *unixTransport) SendMessage(msg *Message) error { - } - } else { - if err := msg.EncodeTo(t, nativeEndian); err != nil { -- return nil -+ return err - } - } - return nil -diff --git a/vendor/github.com/gogo/protobuf/gogoproto/Makefile b/vendor/github.com/gogo/protobuf/gogoproto/Makefile -new file mode 100644 -index 000000000..0b4659b73 ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/gogoproto/Makefile -@@ -0,0 +1,37 @@ -+# Protocol Buffers for Go with Gadgets -+# -+# Copyright (c) 2013, The GoGo Authors. All rights reserved. -+# http://github.com/gogo/protobuf -+# -+# 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. -+# -+# 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. -+ -+regenerate: -+ go install github.com/gogo/protobuf/protoc-gen-gogo -+ protoc --gogo_out=Mgoogle/protobuf/descriptor.proto=github.com/gogo/protobuf/protoc-gen-gogo/descriptor:../../../../ --proto_path=../../../../:../protobuf/:. *.proto -+ -+restore: -+ cp gogo.pb.golden gogo.pb.go -+ -+preserve: -+ cp gogo.pb.go gogo.pb.golden -diff --git a/vendor/github.com/gogo/protobuf/gogoproto/doc.go b/vendor/github.com/gogo/protobuf/gogoproto/doc.go -new file mode 100644 -index 000000000..081c86fa8 ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/gogoproto/doc.go -@@ -0,0 +1,169 @@ -+// Protocol Buffers for Go with Gadgets -+// -+// Copyright (c) 2013, The GoGo Authors. All rights reserved. -+// http://github.com/gogo/protobuf -+// -+// 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. -+// -+// 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. -+ -+/* -+Package gogoproto provides extensions for protocol buffers to achieve: -+ -+ - fast marshalling and unmarshalling. -+ - peace of mind by optionally generating test and benchmark code. -+ - more canonical Go structures. -+ - less typing by optionally generating extra helper code. -+ - goprotobuf compatibility -+ -+More Canonical Go Structures -+ -+A lot of time working with a goprotobuf struct will lead you to a place where you create another struct that is easier to work with and then have a function to copy the values between the two structs. -+You might also find that basic structs that started their life as part of an API need to be sent over the wire. With gob, you could just send it. With goprotobuf, you need to make a parallel struct. -+Gogoprotobuf tries to fix these problems with the nullable, embed, customtype and customname field extensions. -+ -+ - nullable, if false, a field is generated without a pointer (see warning below). -+ - embed, if true, the field is generated as an embedded field. -+ - customtype, It works with the Marshal and Unmarshal methods, to allow you to have your own types in your struct, but marshal to bytes. For example, custom.Uuid or custom.Fixed128 -+ - customname (beta), Changes the generated fieldname. This is especially useful when generated methods conflict with fieldnames. -+ - casttype (beta), Changes the generated fieldtype. All generated code assumes that this type is castable to the protocol buffer field type. It does not work for structs or enums. -+ - castkey (beta), Changes the generated fieldtype for a map key. All generated code assumes that this type is castable to the protocol buffer field type. Only supported on maps. -+ - castvalue (beta), Changes the generated fieldtype for a map value. All generated code assumes that this type is castable to the protocol buffer field type. Only supported on maps. -+ -+Warning about nullable: According to the Protocol Buffer specification, you should be able to tell whether a field is set or unset. With the option nullable=false this feature is lost, since your non-nullable fields will always be set. It can be seen as a layer on top of Protocol Buffers, where before and after marshalling all non-nullable fields are set and they cannot be unset. -+ -+Let us look at: -+ -+ github.com/gogo/protobuf/test/example/example.proto -+ -+for a quicker overview. -+ -+The following message: -+ -+ package test; -+ -+ import "github.com/gogo/protobuf/gogoproto/gogo.proto"; -+ -+ message A { -+ optional string Description = 1 [(gogoproto.nullable) = false]; -+ optional int64 Number = 2 [(gogoproto.nullable) = false]; -+ optional bytes Id = 3 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uuid", (gogoproto.nullable) = false]; -+ } -+ -+Will generate a go struct which looks a lot like this: -+ -+ type A struct { -+ Description string -+ Number int64 -+ Id github_com_gogo_protobuf_test_custom.Uuid -+ } -+ -+You will see there are no pointers, since all fields are non-nullable. -+You will also see a custom type which marshals to a string. -+Be warned it is your responsibility to test your custom types thoroughly. -+You should think of every possible empty and nil case for your marshaling, unmarshaling and size methods. -+ -+Next we will embed the message A in message B. -+ -+ message B { -+ optional A A = 1 [(gogoproto.nullable) = false, (gogoproto.embed) = true]; -+ repeated bytes G = 2 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128", (gogoproto.nullable) = false]; -+ } -+ -+See below that A is embedded in B. -+ -+ type B struct { -+ A -+ G []github_com_gogo_protobuf_test_custom.Uint128 -+ } -+ -+Also see the repeated custom type. -+ -+ type Uint128 [2]uint64 -+ -+Next we will create a custom name for one of our fields. -+ -+ message C { -+ optional int64 size = 1 [(gogoproto.customname) = "MySize"]; -+ } -+ -+See below that the field's name is MySize and not Size. -+ -+ type C struct { -+ MySize *int64 -+ } -+ -+The is useful when having a protocol buffer message with a field name which conflicts with a generated method. -+As an example, having a field name size and using the sizer plugin to generate a Size method will cause a go compiler error. -+Using customname you can fix this error without changing the field name. -+This is typically useful when working with a protocol buffer that was designed before these methods and/or the go language were avialable. -+ -+Gogoprotobuf also has some more subtle changes, these could be changed back: -+ -+ - the generated package name for imports do not have the extra /filename.pb, -+ but are actually the imports specified in the .proto file. -+ -+Gogoprotobuf also has lost some features which should be brought back with time: -+ -+ - Marshalling and unmarshalling with reflect and without the unsafe package, -+ this requires work in pointer_reflect.go -+ -+Why does nullable break protocol buffer specifications: -+ -+The protocol buffer specification states, somewhere, that you should be able to tell whether a -+field is set or unset. With the option nullable=false this feature is lost, -+since your non-nullable fields will always be set. It can be seen as a layer on top of -+protocol buffers, where before and after marshalling all non-nullable fields are set -+and they cannot be unset. -+ -+Goprotobuf Compatibility: -+ -+Gogoprotobuf is compatible with Goprotobuf, because it is compatible with protocol buffers. -+Gogoprotobuf generates the same code as goprotobuf if no extensions are used. -+The enumprefix, getters and stringer extensions can be used to remove some of the unnecessary code generated by goprotobuf: -+ -+ - gogoproto_import, if false, the generated code imports github.com/golang/protobuf/proto instead of github.com/gogo/protobuf/proto. -+ - goproto_enum_prefix, if false, generates the enum constant names without the messagetype prefix -+ - goproto_enum_stringer (experimental), if false, the enum is generated without the default string method, this is useful for rather using enum_stringer, or allowing you to write your own string method. -+ - goproto_getters, if false, the message is generated without get methods, this is useful when you would rather want to use face -+ - goproto_stringer, if false, the message is generated without the default string method, this is useful for rather using stringer, or allowing you to write your own string method. -+ - goproto_extensions_map (beta), if false, the extensions field is generated as type []byte instead of type map[int32]proto.Extension -+ - goproto_unrecognized (beta), if false, XXX_unrecognized field is not generated. This is useful in conjunction with gogoproto.nullable=false, to generate structures completely devoid of pointers and reduce GC pressure at the cost of losing information about unrecognized fields. -+ - goproto_registration (beta), if true, the generated files will register all messages and types against both gogo/protobuf and golang/protobuf. This is necessary when using third-party packages which read registrations from golang/protobuf (such as the grpc-gateway). -+ -+Less Typing and Peace of Mind is explained in their specific plugin folders godoc: -+ -+ - github.com/gogo/protobuf/plugin/ -+ -+If you do not use any of these extension the code that is generated -+will be the same as if goprotobuf has generated it. -+ -+The most complete way to see examples is to look at -+ -+ github.com/gogo/protobuf/test/thetest.proto -+ -+Gogoprototest is a seperate project, -+because we want to keep gogoprotobuf independent of goprotobuf, -+but we still want to test it thoroughly. -+ -+*/ -+package gogoproto -diff --git a/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go b/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go -new file mode 100644 -index 000000000..e352808b9 ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go -@@ -0,0 +1,874 @@ -+// Code generated by protoc-gen-gogo. DO NOT EDIT. -+// source: gogo.proto -+ -+package gogoproto -+ -+import ( -+ fmt "fmt" -+ proto "github.com/gogo/protobuf/proto" -+ descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -+ math "math" -+) -+ -+// Reference imports to suppress errors if they are not otherwise used. -+var _ = proto.Marshal -+var _ = fmt.Errorf -+var _ = math.Inf -+ -+// This is a compile-time assertion to ensure that this generated file -+// is compatible with the proto package it is being compiled against. -+// A compilation error at this line likely means your copy of the -+// proto package needs to be updated. -+const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package -+ -+var E_GoprotoEnumPrefix = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.EnumOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 62001, -+ Name: "gogoproto.goproto_enum_prefix", -+ Tag: "varint,62001,opt,name=goproto_enum_prefix", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoEnumStringer = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.EnumOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 62021, -+ Name: "gogoproto.goproto_enum_stringer", -+ Tag: "varint,62021,opt,name=goproto_enum_stringer", -+ Filename: "gogo.proto", -+} -+ -+var E_EnumStringer = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.EnumOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 62022, -+ Name: "gogoproto.enum_stringer", -+ Tag: "varint,62022,opt,name=enum_stringer", -+ Filename: "gogo.proto", -+} -+ -+var E_EnumCustomname = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.EnumOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 62023, -+ Name: "gogoproto.enum_customname", -+ Tag: "bytes,62023,opt,name=enum_customname", -+ Filename: "gogo.proto", -+} -+ -+var E_Enumdecl = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.EnumOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 62024, -+ Name: "gogoproto.enumdecl", -+ Tag: "varint,62024,opt,name=enumdecl", -+ Filename: "gogo.proto", -+} -+ -+var E_EnumvalueCustomname = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.EnumValueOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 66001, -+ Name: "gogoproto.enumvalue_customname", -+ Tag: "bytes,66001,opt,name=enumvalue_customname", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoGettersAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63001, -+ Name: "gogoproto.goproto_getters_all", -+ Tag: "varint,63001,opt,name=goproto_getters_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoEnumPrefixAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63002, -+ Name: "gogoproto.goproto_enum_prefix_all", -+ Tag: "varint,63002,opt,name=goproto_enum_prefix_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoStringerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63003, -+ Name: "gogoproto.goproto_stringer_all", -+ Tag: "varint,63003,opt,name=goproto_stringer_all", -+ Filename: "gogo.proto", -+} -+ -+var E_VerboseEqualAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63004, -+ Name: "gogoproto.verbose_equal_all", -+ Tag: "varint,63004,opt,name=verbose_equal_all", -+ Filename: "gogo.proto", -+} -+ -+var E_FaceAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63005, -+ Name: "gogoproto.face_all", -+ Tag: "varint,63005,opt,name=face_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GostringAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63006, -+ Name: "gogoproto.gostring_all", -+ Tag: "varint,63006,opt,name=gostring_all", -+ Filename: "gogo.proto", -+} -+ -+var E_PopulateAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63007, -+ Name: "gogoproto.populate_all", -+ Tag: "varint,63007,opt,name=populate_all", -+ Filename: "gogo.proto", -+} -+ -+var E_StringerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63008, -+ Name: "gogoproto.stringer_all", -+ Tag: "varint,63008,opt,name=stringer_all", -+ Filename: "gogo.proto", -+} -+ -+var E_OnlyoneAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63009, -+ Name: "gogoproto.onlyone_all", -+ Tag: "varint,63009,opt,name=onlyone_all", -+ Filename: "gogo.proto", -+} -+ -+var E_EqualAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63013, -+ Name: "gogoproto.equal_all", -+ Tag: "varint,63013,opt,name=equal_all", -+ Filename: "gogo.proto", -+} -+ -+var E_DescriptionAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63014, -+ Name: "gogoproto.description_all", -+ Tag: "varint,63014,opt,name=description_all", -+ Filename: "gogo.proto", -+} -+ -+var E_TestgenAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63015, -+ Name: "gogoproto.testgen_all", -+ Tag: "varint,63015,opt,name=testgen_all", -+ Filename: "gogo.proto", -+} -+ -+var E_BenchgenAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63016, -+ Name: "gogoproto.benchgen_all", -+ Tag: "varint,63016,opt,name=benchgen_all", -+ Filename: "gogo.proto", -+} -+ -+var E_MarshalerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63017, -+ Name: "gogoproto.marshaler_all", -+ Tag: "varint,63017,opt,name=marshaler_all", -+ Filename: "gogo.proto", -+} -+ -+var E_UnmarshalerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63018, -+ Name: "gogoproto.unmarshaler_all", -+ Tag: "varint,63018,opt,name=unmarshaler_all", -+ Filename: "gogo.proto", -+} -+ -+var E_StableMarshalerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63019, -+ Name: "gogoproto.stable_marshaler_all", -+ Tag: "varint,63019,opt,name=stable_marshaler_all", -+ Filename: "gogo.proto", -+} -+ -+var E_SizerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63020, -+ Name: "gogoproto.sizer_all", -+ Tag: "varint,63020,opt,name=sizer_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoEnumStringerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63021, -+ Name: "gogoproto.goproto_enum_stringer_all", -+ Tag: "varint,63021,opt,name=goproto_enum_stringer_all", -+ Filename: "gogo.proto", -+} -+ -+var E_EnumStringerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63022, -+ Name: "gogoproto.enum_stringer_all", -+ Tag: "varint,63022,opt,name=enum_stringer_all", -+ Filename: "gogo.proto", -+} -+ -+var E_UnsafeMarshalerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63023, -+ Name: "gogoproto.unsafe_marshaler_all", -+ Tag: "varint,63023,opt,name=unsafe_marshaler_all", -+ Filename: "gogo.proto", -+} -+ -+var E_UnsafeUnmarshalerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63024, -+ Name: "gogoproto.unsafe_unmarshaler_all", -+ Tag: "varint,63024,opt,name=unsafe_unmarshaler_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoExtensionsMapAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63025, -+ Name: "gogoproto.goproto_extensions_map_all", -+ Tag: "varint,63025,opt,name=goproto_extensions_map_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoUnrecognizedAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63026, -+ Name: "gogoproto.goproto_unrecognized_all", -+ Tag: "varint,63026,opt,name=goproto_unrecognized_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GogoprotoImport = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63027, -+ Name: "gogoproto.gogoproto_import", -+ Tag: "varint,63027,opt,name=gogoproto_import", -+ Filename: "gogo.proto", -+} -+ -+var E_ProtosizerAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63028, -+ Name: "gogoproto.protosizer_all", -+ Tag: "varint,63028,opt,name=protosizer_all", -+ Filename: "gogo.proto", -+} -+ -+var E_CompareAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63029, -+ Name: "gogoproto.compare_all", -+ Tag: "varint,63029,opt,name=compare_all", -+ Filename: "gogo.proto", -+} -+ -+var E_TypedeclAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63030, -+ Name: "gogoproto.typedecl_all", -+ Tag: "varint,63030,opt,name=typedecl_all", -+ Filename: "gogo.proto", -+} -+ -+var E_EnumdeclAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63031, -+ Name: "gogoproto.enumdecl_all", -+ Tag: "varint,63031,opt,name=enumdecl_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoRegistration = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63032, -+ Name: "gogoproto.goproto_registration", -+ Tag: "varint,63032,opt,name=goproto_registration", -+ Filename: "gogo.proto", -+} -+ -+var E_MessagenameAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63033, -+ Name: "gogoproto.messagename_all", -+ Tag: "varint,63033,opt,name=messagename_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoSizecacheAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63034, -+ Name: "gogoproto.goproto_sizecache_all", -+ Tag: "varint,63034,opt,name=goproto_sizecache_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoUnkeyedAll = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FileOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 63035, -+ Name: "gogoproto.goproto_unkeyed_all", -+ Tag: "varint,63035,opt,name=goproto_unkeyed_all", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoGetters = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64001, -+ Name: "gogoproto.goproto_getters", -+ Tag: "varint,64001,opt,name=goproto_getters", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoStringer = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64003, -+ Name: "gogoproto.goproto_stringer", -+ Tag: "varint,64003,opt,name=goproto_stringer", -+ Filename: "gogo.proto", -+} -+ -+var E_VerboseEqual = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64004, -+ Name: "gogoproto.verbose_equal", -+ Tag: "varint,64004,opt,name=verbose_equal", -+ Filename: "gogo.proto", -+} -+ -+var E_Face = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64005, -+ Name: "gogoproto.face", -+ Tag: "varint,64005,opt,name=face", -+ Filename: "gogo.proto", -+} -+ -+var E_Gostring = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64006, -+ Name: "gogoproto.gostring", -+ Tag: "varint,64006,opt,name=gostring", -+ Filename: "gogo.proto", -+} -+ -+var E_Populate = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64007, -+ Name: "gogoproto.populate", -+ Tag: "varint,64007,opt,name=populate", -+ Filename: "gogo.proto", -+} -+ -+var E_Stringer = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 67008, -+ Name: "gogoproto.stringer", -+ Tag: "varint,67008,opt,name=stringer", -+ Filename: "gogo.proto", -+} -+ -+var E_Onlyone = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64009, -+ Name: "gogoproto.onlyone", -+ Tag: "varint,64009,opt,name=onlyone", -+ Filename: "gogo.proto", -+} -+ -+var E_Equal = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64013, -+ Name: "gogoproto.equal", -+ Tag: "varint,64013,opt,name=equal", -+ Filename: "gogo.proto", -+} -+ -+var E_Description = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64014, -+ Name: "gogoproto.description", -+ Tag: "varint,64014,opt,name=description", -+ Filename: "gogo.proto", -+} -+ -+var E_Testgen = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64015, -+ Name: "gogoproto.testgen", -+ Tag: "varint,64015,opt,name=testgen", -+ Filename: "gogo.proto", -+} -+ -+var E_Benchgen = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64016, -+ Name: "gogoproto.benchgen", -+ Tag: "varint,64016,opt,name=benchgen", -+ Filename: "gogo.proto", -+} -+ -+var E_Marshaler = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64017, -+ Name: "gogoproto.marshaler", -+ Tag: "varint,64017,opt,name=marshaler", -+ Filename: "gogo.proto", -+} -+ -+var E_Unmarshaler = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64018, -+ Name: "gogoproto.unmarshaler", -+ Tag: "varint,64018,opt,name=unmarshaler", -+ Filename: "gogo.proto", -+} -+ -+var E_StableMarshaler = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64019, -+ Name: "gogoproto.stable_marshaler", -+ Tag: "varint,64019,opt,name=stable_marshaler", -+ Filename: "gogo.proto", -+} -+ -+var E_Sizer = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64020, -+ Name: "gogoproto.sizer", -+ Tag: "varint,64020,opt,name=sizer", -+ Filename: "gogo.proto", -+} -+ -+var E_UnsafeMarshaler = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64023, -+ Name: "gogoproto.unsafe_marshaler", -+ Tag: "varint,64023,opt,name=unsafe_marshaler", -+ Filename: "gogo.proto", -+} -+ -+var E_UnsafeUnmarshaler = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64024, -+ Name: "gogoproto.unsafe_unmarshaler", -+ Tag: "varint,64024,opt,name=unsafe_unmarshaler", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoExtensionsMap = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64025, -+ Name: "gogoproto.goproto_extensions_map", -+ Tag: "varint,64025,opt,name=goproto_extensions_map", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoUnrecognized = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64026, -+ Name: "gogoproto.goproto_unrecognized", -+ Tag: "varint,64026,opt,name=goproto_unrecognized", -+ Filename: "gogo.proto", -+} -+ -+var E_Protosizer = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64028, -+ Name: "gogoproto.protosizer", -+ Tag: "varint,64028,opt,name=protosizer", -+ Filename: "gogo.proto", -+} -+ -+var E_Compare = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64029, -+ Name: "gogoproto.compare", -+ Tag: "varint,64029,opt,name=compare", -+ Filename: "gogo.proto", -+} -+ -+var E_Typedecl = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64030, -+ Name: "gogoproto.typedecl", -+ Tag: "varint,64030,opt,name=typedecl", -+ Filename: "gogo.proto", -+} -+ -+var E_Messagename = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64033, -+ Name: "gogoproto.messagename", -+ Tag: "varint,64033,opt,name=messagename", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoSizecache = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64034, -+ Name: "gogoproto.goproto_sizecache", -+ Tag: "varint,64034,opt,name=goproto_sizecache", -+ Filename: "gogo.proto", -+} -+ -+var E_GoprotoUnkeyed = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.MessageOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 64035, -+ Name: "gogoproto.goproto_unkeyed", -+ Tag: "varint,64035,opt,name=goproto_unkeyed", -+ Filename: "gogo.proto", -+} -+ -+var E_Nullable = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 65001, -+ Name: "gogoproto.nullable", -+ Tag: "varint,65001,opt,name=nullable", -+ Filename: "gogo.proto", -+} -+ -+var E_Embed = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 65002, -+ Name: "gogoproto.embed", -+ Tag: "varint,65002,opt,name=embed", -+ Filename: "gogo.proto", -+} -+ -+var E_Customtype = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 65003, -+ Name: "gogoproto.customtype", -+ Tag: "bytes,65003,opt,name=customtype", -+ Filename: "gogo.proto", -+} -+ -+var E_Customname = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 65004, -+ Name: "gogoproto.customname", -+ Tag: "bytes,65004,opt,name=customname", -+ Filename: "gogo.proto", -+} -+ -+var E_Jsontag = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 65005, -+ Name: "gogoproto.jsontag", -+ Tag: "bytes,65005,opt,name=jsontag", -+ Filename: "gogo.proto", -+} -+ -+var E_Moretags = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 65006, -+ Name: "gogoproto.moretags", -+ Tag: "bytes,65006,opt,name=moretags", -+ Filename: "gogo.proto", -+} -+ -+var E_Casttype = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 65007, -+ Name: "gogoproto.casttype", -+ Tag: "bytes,65007,opt,name=casttype", -+ Filename: "gogo.proto", -+} -+ -+var E_Castkey = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 65008, -+ Name: "gogoproto.castkey", -+ Tag: "bytes,65008,opt,name=castkey", -+ Filename: "gogo.proto", -+} -+ -+var E_Castvalue = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 65009, -+ Name: "gogoproto.castvalue", -+ Tag: "bytes,65009,opt,name=castvalue", -+ Filename: "gogo.proto", -+} -+ -+var E_Stdtime = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 65010, -+ Name: "gogoproto.stdtime", -+ Tag: "varint,65010,opt,name=stdtime", -+ Filename: "gogo.proto", -+} -+ -+var E_Stdduration = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 65011, -+ Name: "gogoproto.stdduration", -+ Tag: "varint,65011,opt,name=stdduration", -+ Filename: "gogo.proto", -+} -+ -+var E_Wktpointer = &proto.ExtensionDesc{ -+ ExtendedType: (*descriptor.FieldOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 65012, -+ Name: "gogoproto.wktpointer", -+ Tag: "varint,65012,opt,name=wktpointer", -+ Filename: "gogo.proto", -+} -+ -+func init() { -+ proto.RegisterExtension(E_GoprotoEnumPrefix) -+ proto.RegisterExtension(E_GoprotoEnumStringer) -+ proto.RegisterExtension(E_EnumStringer) -+ proto.RegisterExtension(E_EnumCustomname) -+ proto.RegisterExtension(E_Enumdecl) -+ proto.RegisterExtension(E_EnumvalueCustomname) -+ proto.RegisterExtension(E_GoprotoGettersAll) -+ proto.RegisterExtension(E_GoprotoEnumPrefixAll) -+ proto.RegisterExtension(E_GoprotoStringerAll) -+ proto.RegisterExtension(E_VerboseEqualAll) -+ proto.RegisterExtension(E_FaceAll) -+ proto.RegisterExtension(E_GostringAll) -+ proto.RegisterExtension(E_PopulateAll) -+ proto.RegisterExtension(E_StringerAll) -+ proto.RegisterExtension(E_OnlyoneAll) -+ proto.RegisterExtension(E_EqualAll) -+ proto.RegisterExtension(E_DescriptionAll) -+ proto.RegisterExtension(E_TestgenAll) -+ proto.RegisterExtension(E_BenchgenAll) -+ proto.RegisterExtension(E_MarshalerAll) -+ proto.RegisterExtension(E_UnmarshalerAll) -+ proto.RegisterExtension(E_StableMarshalerAll) -+ proto.RegisterExtension(E_SizerAll) -+ proto.RegisterExtension(E_GoprotoEnumStringerAll) -+ proto.RegisterExtension(E_EnumStringerAll) -+ proto.RegisterExtension(E_UnsafeMarshalerAll) -+ proto.RegisterExtension(E_UnsafeUnmarshalerAll) -+ proto.RegisterExtension(E_GoprotoExtensionsMapAll) -+ proto.RegisterExtension(E_GoprotoUnrecognizedAll) -+ proto.RegisterExtension(E_GogoprotoImport) -+ proto.RegisterExtension(E_ProtosizerAll) -+ proto.RegisterExtension(E_CompareAll) -+ proto.RegisterExtension(E_TypedeclAll) -+ proto.RegisterExtension(E_EnumdeclAll) -+ proto.RegisterExtension(E_GoprotoRegistration) -+ proto.RegisterExtension(E_MessagenameAll) -+ proto.RegisterExtension(E_GoprotoSizecacheAll) -+ proto.RegisterExtension(E_GoprotoUnkeyedAll) -+ proto.RegisterExtension(E_GoprotoGetters) -+ proto.RegisterExtension(E_GoprotoStringer) -+ proto.RegisterExtension(E_VerboseEqual) -+ proto.RegisterExtension(E_Face) -+ proto.RegisterExtension(E_Gostring) -+ proto.RegisterExtension(E_Populate) -+ proto.RegisterExtension(E_Stringer) -+ proto.RegisterExtension(E_Onlyone) -+ proto.RegisterExtension(E_Equal) -+ proto.RegisterExtension(E_Description) -+ proto.RegisterExtension(E_Testgen) -+ proto.RegisterExtension(E_Benchgen) -+ proto.RegisterExtension(E_Marshaler) -+ proto.RegisterExtension(E_Unmarshaler) -+ proto.RegisterExtension(E_StableMarshaler) -+ proto.RegisterExtension(E_Sizer) -+ proto.RegisterExtension(E_UnsafeMarshaler) -+ proto.RegisterExtension(E_UnsafeUnmarshaler) -+ proto.RegisterExtension(E_GoprotoExtensionsMap) -+ proto.RegisterExtension(E_GoprotoUnrecognized) -+ proto.RegisterExtension(E_Protosizer) -+ proto.RegisterExtension(E_Compare) -+ proto.RegisterExtension(E_Typedecl) -+ proto.RegisterExtension(E_Messagename) -+ proto.RegisterExtension(E_GoprotoSizecache) -+ proto.RegisterExtension(E_GoprotoUnkeyed) -+ proto.RegisterExtension(E_Nullable) -+ proto.RegisterExtension(E_Embed) -+ proto.RegisterExtension(E_Customtype) -+ proto.RegisterExtension(E_Customname) -+ proto.RegisterExtension(E_Jsontag) -+ proto.RegisterExtension(E_Moretags) -+ proto.RegisterExtension(E_Casttype) -+ proto.RegisterExtension(E_Castkey) -+ proto.RegisterExtension(E_Castvalue) -+ proto.RegisterExtension(E_Stdtime) -+ proto.RegisterExtension(E_Stdduration) -+ proto.RegisterExtension(E_Wktpointer) -+} -+ -+func init() { proto.RegisterFile("gogo.proto", fileDescriptor_592445b5231bc2b9) } -+ -+var fileDescriptor_592445b5231bc2b9 = []byte{ -+ // 1328 bytes of a gzipped FileDescriptorProto -+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x98, 0x49, 0x6f, 0x1c, 0x45, -+ 0x14, 0x80, 0x85, 0x48, 0x64, 0x4f, 0x79, 0x8b, 0xc7, 0xc6, 0x84, 0x08, 0x44, 0xe0, 0xc4, 0xc9, -+ 0x3e, 0x45, 0x28, 0x65, 0x45, 0x96, 0x63, 0x39, 0x56, 0x10, 0x0e, 0xc6, 0x89, 0xc3, 0x76, 0x18, -+ 0xf5, 0xf4, 0x94, 0xdb, 0x8d, 0xbb, 0xbb, 0x9a, 0xee, 0xea, 0x10, 0xe7, 0x86, 0xc2, 0x22, 0x84, -+ 0xd8, 0x91, 0x20, 0x21, 0x09, 0x04, 0xc4, 0xbe, 0x86, 0x7d, 0xb9, 0x70, 0x61, 0xb9, 0xf2, 0x1f, -+ 0xb8, 0x00, 0x66, 0xf7, 0xcd, 0x17, 0xf4, 0xba, 0xdf, 0xeb, 0xa9, 0x69, 0x8f, 0x54, 0x35, 0xb7, -+ 0xf6, 0xb8, 0xbe, 0x6f, 0xaa, 0xdf, 0xeb, 0x7a, 0xef, 0x4d, 0x33, 0xe6, 0x49, 0x4f, 0x4e, 0xc6, -+ 0x89, 0x54, 0xb2, 0x5e, 0x83, 0xeb, 0xfc, 0x72, 0xdf, 0x7e, 0x4f, 0x4a, 0x2f, 0x10, 0x53, 0xf9, -+ 0x5f, 0xcd, 0x6c, 0x75, 0xaa, 0x25, 0x52, 0x37, 0xf1, 0x63, 0x25, 0x93, 0x62, 0x31, 0x3f, 0xc6, -+ 0xc6, 0x70, 0x71, 0x43, 0x44, 0x59, 0xd8, 0x88, 0x13, 0xb1, 0xea, 0x9f, 0xae, 0x5f, 0x3f, 0x59, -+ 0x90, 0x93, 0x44, 0x4e, 0xce, 0x47, 0x59, 0x78, 0x47, 0xac, 0x7c, 0x19, 0xa5, 0x7b, 0xaf, 0xfc, -+ 0x72, 0xf5, 0xfe, 0xab, 0x6e, 0xe9, 0x5f, 0x1e, 0x45, 0x14, 0xfe, 0xb7, 0x94, 0x83, 0x7c, 0x99, -+ 0x5d, 0xd3, 0xe1, 0x4b, 0x55, 0xe2, 0x47, 0x9e, 0x48, 0x0c, 0xc6, 0xef, 0xd1, 0x38, 0xa6, 0x19, -+ 0x8f, 0x23, 0xca, 0xe7, 0xd8, 0x50, 0x2f, 0xae, 0x1f, 0xd0, 0x35, 0x28, 0x74, 0xc9, 0x02, 0x1b, -+ 0xc9, 0x25, 0x6e, 0x96, 0x2a, 0x19, 0x46, 0x4e, 0x28, 0x0c, 0x9a, 0x1f, 0x73, 0x4d, 0x6d, 0x79, -+ 0x18, 0xb0, 0xb9, 0x92, 0xe2, 0x9c, 0xf5, 0xc3, 0x27, 0x2d, 0xe1, 0x06, 0x06, 0xc3, 0x4f, 0xb8, -+ 0x91, 0x72, 0x3d, 0x3f, 0xc9, 0xc6, 0xe1, 0xfa, 0x94, 0x13, 0x64, 0x42, 0xdf, 0xc9, 0x4d, 0x5d, -+ 0x3d, 0x27, 0x61, 0x19, 0xc9, 0x7e, 0x3e, 0xbb, 0x2b, 0xdf, 0xce, 0x58, 0x29, 0xd0, 0xf6, 0xa4, -+ 0x65, 0xd1, 0x13, 0x4a, 0x89, 0x24, 0x6d, 0x38, 0x41, 0xb7, 0xed, 0x1d, 0xf1, 0x83, 0xd2, 0x78, -+ 0x6e, 0xb3, 0x33, 0x8b, 0x0b, 0x05, 0x39, 0x1b, 0x04, 0x7c, 0x85, 0x5d, 0xdb, 0xe5, 0xa9, 0xb0, -+ 0x70, 0x9e, 0x47, 0xe7, 0xf8, 0x8e, 0x27, 0x03, 0xb4, 0x4b, 0x8c, 0x3e, 0x2f, 0x73, 0x69, 0xe1, -+ 0x7c, 0x19, 0x9d, 0x75, 0x64, 0x29, 0xa5, 0x60, 0xbc, 0x8d, 0x8d, 0x9e, 0x12, 0x49, 0x53, 0xa6, -+ 0xa2, 0x21, 0x1e, 0xc8, 0x9c, 0xc0, 0x42, 0x77, 0x01, 0x75, 0x23, 0x08, 0xce, 0x03, 0x07, 0xae, -+ 0x83, 0xac, 0x7f, 0xd5, 0x71, 0x85, 0x85, 0xe2, 0x22, 0x2a, 0xfa, 0x60, 0x3d, 0xa0, 0xb3, 0x6c, -+ 0xd0, 0x93, 0xc5, 0x2d, 0x59, 0xe0, 0x97, 0x10, 0x1f, 0x20, 0x06, 0x15, 0xb1, 0x8c, 0xb3, 0xc0, -+ 0x51, 0x36, 0x3b, 0x78, 0x85, 0x14, 0xc4, 0xa0, 0xa2, 0x87, 0xb0, 0xbe, 0x4a, 0x8a, 0x54, 0x8b, -+ 0xe7, 0x0c, 0x1b, 0x90, 0x51, 0xb0, 0x21, 0x23, 0x9b, 0x4d, 0x5c, 0x46, 0x03, 0x43, 0x04, 0x04, -+ 0xd3, 0xac, 0x66, 0x9b, 0x88, 0x37, 0x36, 0xe9, 0x78, 0x50, 0x06, 0x16, 0xd8, 0x08, 0x15, 0x28, -+ 0x5f, 0x46, 0x16, 0x8a, 0x37, 0x51, 0x31, 0xac, 0x61, 0x78, 0x1b, 0x4a, 0xa4, 0xca, 0x13, 0x36, -+ 0x92, 0xb7, 0xe8, 0x36, 0x10, 0xc1, 0x50, 0x36, 0x45, 0xe4, 0xae, 0xd9, 0x19, 0xde, 0xa6, 0x50, -+ 0x12, 0x03, 0x8a, 0x39, 0x36, 0x14, 0x3a, 0x49, 0xba, 0xe6, 0x04, 0x56, 0xe9, 0x78, 0x07, 0x1d, -+ 0x83, 0x25, 0x84, 0x11, 0xc9, 0xa2, 0x5e, 0x34, 0xef, 0x52, 0x44, 0x34, 0x0c, 0x8f, 0x5e, 0xaa, -+ 0x9c, 0x66, 0x20, 0x1a, 0xbd, 0xd8, 0xde, 0xa3, 0xa3, 0x57, 0xb0, 0x8b, 0xba, 0x71, 0x9a, 0xd5, -+ 0x52, 0xff, 0x8c, 0x95, 0xe6, 0x7d, 0xca, 0x74, 0x0e, 0x00, 0x7c, 0x0f, 0xbb, 0xae, 0x6b, 0x9b, -+ 0xb0, 0x90, 0x7d, 0x80, 0xb2, 0x89, 0x2e, 0xad, 0x02, 0x4b, 0x42, 0xaf, 0xca, 0x0f, 0xa9, 0x24, -+ 0x88, 0x8a, 0x6b, 0x89, 0x8d, 0x67, 0x51, 0xea, 0xac, 0xf6, 0x16, 0xb5, 0x8f, 0x28, 0x6a, 0x05, -+ 0xdb, 0x11, 0xb5, 0x13, 0x6c, 0x02, 0x8d, 0xbd, 0xe5, 0xf5, 0x63, 0x2a, 0xac, 0x05, 0xbd, 0xd2, -+ 0x99, 0xdd, 0xfb, 0xd8, 0xbe, 0x32, 0x9c, 0xa7, 0x95, 0x88, 0x52, 0x60, 0x1a, 0xa1, 0x13, 0x5b, -+ 0x98, 0xaf, 0xa0, 0x99, 0x2a, 0xfe, 0x7c, 0x29, 0x58, 0x74, 0x62, 0x90, 0xdf, 0xcd, 0xf6, 0x92, -+ 0x3c, 0x8b, 0x12, 0xe1, 0x4a, 0x2f, 0xf2, 0xcf, 0x88, 0x96, 0x85, 0xfa, 0x93, 0x4a, 0xaa, 0x56, -+ 0x34, 0x1c, 0xcc, 0x47, 0xd9, 0x9e, 0x72, 0x56, 0x69, 0xf8, 0x61, 0x2c, 0x13, 0x65, 0x30, 0x7e, -+ 0x4a, 0x99, 0x2a, 0xb9, 0xa3, 0x39, 0xc6, 0xe7, 0xd9, 0x70, 0xfe, 0xa7, 0xed, 0x23, 0xf9, 0x19, -+ 0x8a, 0x86, 0xda, 0x14, 0x16, 0x0e, 0x57, 0x86, 0xb1, 0x93, 0xd8, 0xd4, 0xbf, 0xcf, 0xa9, 0x70, -+ 0x20, 0x82, 0x85, 0x43, 0x6d, 0xc4, 0x02, 0xba, 0xbd, 0x85, 0xe1, 0x0b, 0x2a, 0x1c, 0xc4, 0xa0, -+ 0x82, 0x06, 0x06, 0x0b, 0xc5, 0x97, 0xa4, 0x20, 0x06, 0x14, 0x77, 0xb6, 0x1b, 0x6d, 0x22, 0x3c, -+ 0x3f, 0x55, 0x89, 0x03, 0xab, 0x0d, 0xaa, 0xaf, 0x36, 0x3b, 0x87, 0xb0, 0x65, 0x0d, 0x85, 0x4a, -+ 0x14, 0x8a, 0x34, 0x75, 0x3c, 0x01, 0x13, 0x87, 0xc5, 0xc6, 0xbe, 0xa6, 0x4a, 0xa4, 0x61, 0xb0, -+ 0x37, 0x6d, 0x42, 0x84, 0xb0, 0xbb, 0x8e, 0xbb, 0x66, 0xa3, 0xfb, 0xa6, 0xb2, 0xb9, 0xe3, 0xc4, -+ 0x82, 0x53, 0x9b, 0x7f, 0xb2, 0x68, 0x5d, 0x6c, 0x58, 0x3d, 0x9d, 0xdf, 0x56, 0xe6, 0x9f, 0x95, -+ 0x82, 0x2c, 0x6a, 0xc8, 0x48, 0x65, 0x9e, 0xaa, 0xdf, 0xb8, 0xc3, 0xb5, 0x58, 0xdc, 0x17, 0xe9, -+ 0x1e, 0xda, 0xc2, 0xfb, 0xed, 0x1c, 0xa7, 0xf8, 0xed, 0xf0, 0x90, 0x77, 0x0e, 0x3d, 0x66, 0xd9, -+ 0xd9, 0xad, 0xf2, 0x39, 0xef, 0x98, 0x79, 0xf8, 0x11, 0x36, 0xd4, 0x31, 0xf0, 0x98, 0x55, 0x0f, -+ 0xa3, 0x6a, 0x50, 0x9f, 0x77, 0xf8, 0x01, 0xb6, 0x0b, 0x86, 0x17, 0x33, 0xfe, 0x08, 0xe2, 0xf9, -+ 0x72, 0x7e, 0x88, 0xf5, 0xd3, 0xd0, 0x62, 0x46, 0x1f, 0x45, 0xb4, 0x44, 0x00, 0xa7, 0x81, 0xc5, -+ 0x8c, 0x3f, 0x46, 0x38, 0x21, 0x80, 0xdb, 0x87, 0xf0, 0xbb, 0x27, 0x76, 0x61, 0xd3, 0xa1, 0xd8, -+ 0x4d, 0xb3, 0x3e, 0x9c, 0x54, 0xcc, 0xf4, 0xe3, 0xf8, 0xe5, 0x44, 0xf0, 0x5b, 0xd9, 0x6e, 0xcb, -+ 0x80, 0x3f, 0x89, 0x68, 0xb1, 0x9e, 0xcf, 0xb1, 0x01, 0x6d, 0x3a, 0x31, 0xe3, 0x4f, 0x21, 0xae, -+ 0x53, 0xb0, 0x75, 0x9c, 0x4e, 0xcc, 0x82, 0xa7, 0x69, 0xeb, 0x48, 0x40, 0xd8, 0x68, 0x30, 0x31, -+ 0xd3, 0xcf, 0x50, 0xd4, 0x09, 0xe1, 0x33, 0xac, 0x56, 0x36, 0x1b, 0x33, 0xff, 0x2c, 0xf2, 0x6d, -+ 0x06, 0x22, 0xa0, 0x35, 0x3b, 0xb3, 0xe2, 0x39, 0x8a, 0x80, 0x46, 0xc1, 0x31, 0xaa, 0x0e, 0x30, -+ 0x66, 0xd3, 0xf3, 0x74, 0x8c, 0x2a, 0xf3, 0x0b, 0x64, 0x33, 0xaf, 0xf9, 0x66, 0xc5, 0x0b, 0x94, -+ 0xcd, 0x7c, 0x3d, 0x6c, 0xa3, 0x3a, 0x11, 0x98, 0x1d, 0x2f, 0xd2, 0x36, 0x2a, 0x03, 0x01, 0x5f, -+ 0x62, 0xf5, 0x9d, 0xd3, 0x80, 0xd9, 0xf7, 0x12, 0xfa, 0x46, 0x77, 0x0c, 0x03, 0xfc, 0x2e, 0x36, -+ 0xd1, 0x7d, 0x12, 0x30, 0x5b, 0xcf, 0x6d, 0x55, 0x7e, 0xbb, 0xe9, 0x83, 0x00, 0x3f, 0xd1, 0x6e, -+ 0x29, 0xfa, 0x14, 0x60, 0xd6, 0x9e, 0xdf, 0xea, 0x2c, 0xdc, 0xfa, 0x10, 0xc0, 0x67, 0x19, 0x6b, -+ 0x37, 0x60, 0xb3, 0xeb, 0x02, 0xba, 0x34, 0x08, 0x8e, 0x06, 0xf6, 0x5f, 0x33, 0x7f, 0x91, 0x8e, -+ 0x06, 0x12, 0x70, 0x34, 0xa8, 0xf5, 0x9a, 0xe9, 0x4b, 0x74, 0x34, 0x08, 0x81, 0x27, 0x5b, 0xeb, -+ 0x6e, 0x66, 0xc3, 0x65, 0x7a, 0xb2, 0x35, 0x8a, 0x1f, 0x63, 0xa3, 0x3b, 0x1a, 0xa2, 0x59, 0xf5, -+ 0x1a, 0xaa, 0xf6, 0x54, 0xfb, 0xa1, 0xde, 0xbc, 0xb0, 0x19, 0x9a, 0x6d, 0xaf, 0x57, 0x9a, 0x17, -+ 0xf6, 0x42, 0x3e, 0xcd, 0xfa, 0xa3, 0x2c, 0x08, 0xe0, 0xf0, 0xd4, 0x6f, 0xe8, 0xd2, 0x4d, 0x45, -+ 0xd0, 0x22, 0xc5, 0xaf, 0xdb, 0x18, 0x1d, 0x02, 0xf8, 0x01, 0xb6, 0x5b, 0x84, 0x4d, 0xd1, 0x32, -+ 0x91, 0xbf, 0x6d, 0x53, 0xc1, 0x84, 0xd5, 0x7c, 0x86, 0xb1, 0xe2, 0xd5, 0x08, 0x84, 0xd9, 0xc4, -+ 0xfe, 0xbe, 0x5d, 0xbc, 0xa5, 0xd1, 0x90, 0xb6, 0x20, 0x4f, 0x8a, 0x41, 0xb0, 0xd9, 0x29, 0xc8, -+ 0x33, 0x72, 0x90, 0xf5, 0xdd, 0x9f, 0xca, 0x48, 0x39, 0x9e, 0x89, 0xfe, 0x03, 0x69, 0x5a, 0x0f, -+ 0x01, 0x0b, 0x65, 0x22, 0x94, 0xe3, 0xa5, 0x26, 0xf6, 0x4f, 0x64, 0x4b, 0x00, 0x60, 0xd7, 0x49, -+ 0x95, 0xcd, 0x7d, 0xff, 0x45, 0x30, 0x01, 0xb0, 0x69, 0xb8, 0x5e, 0x17, 0x1b, 0x26, 0xf6, 0x6f, -+ 0xda, 0x34, 0xae, 0xe7, 0x87, 0x58, 0x0d, 0x2e, 0xf3, 0xb7, 0x4a, 0x26, 0xf8, 0x1f, 0x84, 0xdb, -+ 0x04, 0x7c, 0x73, 0xaa, 0x5a, 0xca, 0x37, 0x07, 0xfb, 0x5f, 0xcc, 0x34, 0xad, 0xe7, 0xb3, 0x6c, -+ 0x20, 0x55, 0xad, 0x56, 0x86, 0xf3, 0xa9, 0x01, 0xff, 0x6f, 0xbb, 0x7c, 0x65, 0x51, 0x32, 0x90, -+ 0xed, 0x07, 0xd7, 0x55, 0x2c, 0xfd, 0x48, 0x89, 0xc4, 0x64, 0xd8, 0x42, 0x83, 0x86, 0x1c, 0x9e, -+ 0x67, 0x63, 0xae, 0x0c, 0xab, 0xdc, 0x61, 0xb6, 0x20, 0x17, 0xe4, 0x52, 0x5e, 0x67, 0xee, 0xbd, -+ 0xd9, 0xf3, 0xd5, 0x5a, 0xd6, 0x9c, 0x74, 0x65, 0x38, 0x05, 0xbf, 0x3c, 0xda, 0x2f, 0x54, 0xcb, -+ 0xdf, 0x21, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xaf, 0x70, 0x4e, 0x83, 0x15, 0x00, 0x00, -+} -diff --git a/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.golden b/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.golden -new file mode 100644 -index 000000000..f6502e4b9 ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.golden -@@ -0,0 +1,45 @@ -+// Code generated by protoc-gen-go. -+// source: gogo.proto -+// DO NOT EDIT! -+ -+package gogoproto -+ -+import proto "github.com/gogo/protobuf/proto" -+import json "encoding/json" -+import math "math" -+import google_protobuf "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -+ -+// Reference proto, json, and math imports to suppress error if they are not otherwise used. -+var _ = proto.Marshal -+var _ = &json.SyntaxError{} -+var _ = math.Inf -+ -+var E_Nullable = &proto.ExtensionDesc{ -+ ExtendedType: (*google_protobuf.FieldOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 51235, -+ Name: "gogoproto.nullable", -+ Tag: "varint,51235,opt,name=nullable", -+} -+ -+var E_Embed = &proto.ExtensionDesc{ -+ ExtendedType: (*google_protobuf.FieldOptions)(nil), -+ ExtensionType: (*bool)(nil), -+ Field: 51236, -+ Name: "gogoproto.embed", -+ Tag: "varint,51236,opt,name=embed", -+} -+ -+var E_Customtype = &proto.ExtensionDesc{ -+ ExtendedType: (*google_protobuf.FieldOptions)(nil), -+ ExtensionType: (*string)(nil), -+ Field: 51237, -+ Name: "gogoproto.customtype", -+ Tag: "bytes,51237,opt,name=customtype", -+} -+ -+func init() { -+ proto.RegisterExtension(E_Nullable) -+ proto.RegisterExtension(E_Embed) -+ proto.RegisterExtension(E_Customtype) -+} -diff --git a/vendor/github.com/gogo/protobuf/gogoproto/gogo.proto b/vendor/github.com/gogo/protobuf/gogoproto/gogo.proto -new file mode 100644 -index 000000000..b80c85653 ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/gogoproto/gogo.proto -@@ -0,0 +1,144 @@ -+// Protocol Buffers for Go with Gadgets -+// -+// Copyright (c) 2013, The GoGo Authors. All rights reserved. -+// http://github.com/gogo/protobuf -+// -+// 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. -+// -+// 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. -+ -+syntax = "proto2"; -+package gogoproto; -+ -+import "google/protobuf/descriptor.proto"; -+ -+option java_package = "com.google.protobuf"; -+option java_outer_classname = "GoGoProtos"; -+option go_package = "github.com/gogo/protobuf/gogoproto"; -+ -+extend google.protobuf.EnumOptions { -+ optional bool goproto_enum_prefix = 62001; -+ optional bool goproto_enum_stringer = 62021; -+ optional bool enum_stringer = 62022; -+ optional string enum_customname = 62023; -+ optional bool enumdecl = 62024; -+} -+ -+extend google.protobuf.EnumValueOptions { -+ optional string enumvalue_customname = 66001; -+} -+ -+extend google.protobuf.FileOptions { -+ optional bool goproto_getters_all = 63001; -+ optional bool goproto_enum_prefix_all = 63002; -+ optional bool goproto_stringer_all = 63003; -+ optional bool verbose_equal_all = 63004; -+ optional bool face_all = 63005; -+ optional bool gostring_all = 63006; -+ optional bool populate_all = 63007; -+ optional bool stringer_all = 63008; -+ optional bool onlyone_all = 63009; -+ -+ optional bool equal_all = 63013; -+ optional bool description_all = 63014; -+ optional bool testgen_all = 63015; -+ optional bool benchgen_all = 63016; -+ optional bool marshaler_all = 63017; -+ optional bool unmarshaler_all = 63018; -+ optional bool stable_marshaler_all = 63019; -+ -+ optional bool sizer_all = 63020; -+ -+ optional bool goproto_enum_stringer_all = 63021; -+ optional bool enum_stringer_all = 63022; -+ -+ optional bool unsafe_marshaler_all = 63023; -+ optional bool unsafe_unmarshaler_all = 63024; -+ -+ optional bool goproto_extensions_map_all = 63025; -+ optional bool goproto_unrecognized_all = 63026; -+ optional bool gogoproto_import = 63027; -+ optional bool protosizer_all = 63028; -+ optional bool compare_all = 63029; -+ optional bool typedecl_all = 63030; -+ optional bool enumdecl_all = 63031; -+ -+ optional bool goproto_registration = 63032; -+ optional bool messagename_all = 63033; -+ -+ optional bool goproto_sizecache_all = 63034; -+ optional bool goproto_unkeyed_all = 63035; -+} -+ -+extend google.protobuf.MessageOptions { -+ optional bool goproto_getters = 64001; -+ optional bool goproto_stringer = 64003; -+ optional bool verbose_equal = 64004; -+ optional bool face = 64005; -+ optional bool gostring = 64006; -+ optional bool populate = 64007; -+ optional bool stringer = 67008; -+ optional bool onlyone = 64009; -+ -+ optional bool equal = 64013; -+ optional bool description = 64014; -+ optional bool testgen = 64015; -+ optional bool benchgen = 64016; -+ optional bool marshaler = 64017; -+ optional bool unmarshaler = 64018; -+ optional bool stable_marshaler = 64019; -+ -+ optional bool sizer = 64020; -+ -+ optional bool unsafe_marshaler = 64023; -+ optional bool unsafe_unmarshaler = 64024; -+ -+ optional bool goproto_extensions_map = 64025; -+ optional bool goproto_unrecognized = 64026; -+ -+ optional bool protosizer = 64028; -+ optional bool compare = 64029; -+ -+ optional bool typedecl = 64030; -+ -+ optional bool messagename = 64033; -+ -+ optional bool goproto_sizecache = 64034; -+ optional bool goproto_unkeyed = 64035; -+} -+ -+extend google.protobuf.FieldOptions { -+ optional bool nullable = 65001; -+ optional bool embed = 65002; -+ optional string customtype = 65003; -+ optional string customname = 65004; -+ optional string jsontag = 65005; -+ optional string moretags = 65006; -+ optional string casttype = 65007; -+ optional string castkey = 65008; -+ optional string castvalue = 65009; -+ -+ optional bool stdtime = 65010; -+ optional bool stdduration = 65011; -+ optional bool wktpointer = 65012; -+ -+} -diff --git a/vendor/github.com/gogo/protobuf/gogoproto/helper.go b/vendor/github.com/gogo/protobuf/gogoproto/helper.go -new file mode 100644 -index 000000000..390d4e4be ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/gogoproto/helper.go -@@ -0,0 +1,415 @@ -+// Protocol Buffers for Go with Gadgets -+// -+// Copyright (c) 2013, The GoGo Authors. All rights reserved. -+// http://github.com/gogo/protobuf -+// -+// 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. -+// -+// 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. -+ -+package gogoproto -+ -+import google_protobuf "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -+import proto "github.com/gogo/protobuf/proto" -+ -+func IsEmbed(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Embed, false) -+} -+ -+func IsNullable(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Nullable, true) -+} -+ -+func IsStdTime(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Stdtime, false) -+} -+ -+func IsStdDuration(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Stdduration, false) -+} -+ -+func IsStdDouble(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.DoubleValue" -+} -+ -+func IsStdFloat(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.FloatValue" -+} -+ -+func IsStdInt64(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.Int64Value" -+} -+ -+func IsStdUInt64(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.UInt64Value" -+} -+ -+func IsStdInt32(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.Int32Value" -+} -+ -+func IsStdUInt32(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.UInt32Value" -+} -+ -+func IsStdBool(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.BoolValue" -+} -+ -+func IsStdString(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.StringValue" -+} -+ -+func IsStdBytes(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.BytesValue" -+} -+ -+func IsStdType(field *google_protobuf.FieldDescriptorProto) bool { -+ return (IsStdTime(field) || IsStdDuration(field) || -+ IsStdDouble(field) || IsStdFloat(field) || -+ IsStdInt64(field) || IsStdUInt64(field) || -+ IsStdInt32(field) || IsStdUInt32(field) || -+ IsStdBool(field) || -+ IsStdString(field) || IsStdBytes(field)) -+} -+ -+func IsWktPtr(field *google_protobuf.FieldDescriptorProto) bool { -+ return proto.GetBoolExtension(field.Options, E_Wktpointer, false) -+} -+ -+func NeedsNilCheck(proto3 bool, field *google_protobuf.FieldDescriptorProto) bool { -+ nullable := IsNullable(field) -+ if field.IsMessage() || IsCustomType(field) { -+ return nullable -+ } -+ if proto3 { -+ return false -+ } -+ return nullable || *field.Type == google_protobuf.FieldDescriptorProto_TYPE_BYTES -+} -+ -+func IsCustomType(field *google_protobuf.FieldDescriptorProto) bool { -+ typ := GetCustomType(field) -+ if len(typ) > 0 { -+ return true -+ } -+ return false -+} -+ -+func IsCastType(field *google_protobuf.FieldDescriptorProto) bool { -+ typ := GetCastType(field) -+ if len(typ) > 0 { -+ return true -+ } -+ return false -+} -+ -+func IsCastKey(field *google_protobuf.FieldDescriptorProto) bool { -+ typ := GetCastKey(field) -+ if len(typ) > 0 { -+ return true -+ } -+ return false -+} -+ -+func IsCastValue(field *google_protobuf.FieldDescriptorProto) bool { -+ typ := GetCastValue(field) -+ if len(typ) > 0 { -+ return true -+ } -+ return false -+} -+ -+func HasEnumDecl(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool { -+ return proto.GetBoolExtension(enum.Options, E_Enumdecl, proto.GetBoolExtension(file.Options, E_EnumdeclAll, true)) -+} -+ -+func HasTypeDecl(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Typedecl, proto.GetBoolExtension(file.Options, E_TypedeclAll, true)) -+} -+ -+func GetCustomType(field *google_protobuf.FieldDescriptorProto) string { -+ if field == nil { -+ return "" -+ } -+ if field.Options != nil { -+ v, err := proto.GetExtension(field.Options, E_Customtype) -+ if err == nil && v.(*string) != nil { -+ return *(v.(*string)) -+ } -+ } -+ return "" -+} -+ -+func GetCastType(field *google_protobuf.FieldDescriptorProto) string { -+ if field == nil { -+ return "" -+ } -+ if field.Options != nil { -+ v, err := proto.GetExtension(field.Options, E_Casttype) -+ if err == nil && v.(*string) != nil { -+ return *(v.(*string)) -+ } -+ } -+ return "" -+} -+ -+func GetCastKey(field *google_protobuf.FieldDescriptorProto) string { -+ if field == nil { -+ return "" -+ } -+ if field.Options != nil { -+ v, err := proto.GetExtension(field.Options, E_Castkey) -+ if err == nil && v.(*string) != nil { -+ return *(v.(*string)) -+ } -+ } -+ return "" -+} -+ -+func GetCastValue(field *google_protobuf.FieldDescriptorProto) string { -+ if field == nil { -+ return "" -+ } -+ if field.Options != nil { -+ v, err := proto.GetExtension(field.Options, E_Castvalue) -+ if err == nil && v.(*string) != nil { -+ return *(v.(*string)) -+ } -+ } -+ return "" -+} -+ -+func IsCustomName(field *google_protobuf.FieldDescriptorProto) bool { -+ name := GetCustomName(field) -+ if len(name) > 0 { -+ return true -+ } -+ return false -+} -+ -+func IsEnumCustomName(field *google_protobuf.EnumDescriptorProto) bool { -+ name := GetEnumCustomName(field) -+ if len(name) > 0 { -+ return true -+ } -+ return false -+} -+ -+func IsEnumValueCustomName(field *google_protobuf.EnumValueDescriptorProto) bool { -+ name := GetEnumValueCustomName(field) -+ if len(name) > 0 { -+ return true -+ } -+ return false -+} -+ -+func GetCustomName(field *google_protobuf.FieldDescriptorProto) string { -+ if field == nil { -+ return "" -+ } -+ if field.Options != nil { -+ v, err := proto.GetExtension(field.Options, E_Customname) -+ if err == nil && v.(*string) != nil { -+ return *(v.(*string)) -+ } -+ } -+ return "" -+} -+ -+func GetEnumCustomName(field *google_protobuf.EnumDescriptorProto) string { -+ if field == nil { -+ return "" -+ } -+ if field.Options != nil { -+ v, err := proto.GetExtension(field.Options, E_EnumCustomname) -+ if err == nil && v.(*string) != nil { -+ return *(v.(*string)) -+ } -+ } -+ return "" -+} -+ -+func GetEnumValueCustomName(field *google_protobuf.EnumValueDescriptorProto) string { -+ if field == nil { -+ return "" -+ } -+ if field.Options != nil { -+ v, err := proto.GetExtension(field.Options, E_EnumvalueCustomname) -+ if err == nil && v.(*string) != nil { -+ return *(v.(*string)) -+ } -+ } -+ return "" -+} -+ -+func GetJsonTag(field *google_protobuf.FieldDescriptorProto) *string { -+ if field == nil { -+ return nil -+ } -+ if field.Options != nil { -+ v, err := proto.GetExtension(field.Options, E_Jsontag) -+ if err == nil && v.(*string) != nil { -+ return (v.(*string)) -+ } -+ } -+ return nil -+} -+ -+func GetMoreTags(field *google_protobuf.FieldDescriptorProto) *string { -+ if field == nil { -+ return nil -+ } -+ if field.Options != nil { -+ v, err := proto.GetExtension(field.Options, E_Moretags) -+ if err == nil && v.(*string) != nil { -+ return (v.(*string)) -+ } -+ } -+ return nil -+} -+ -+type EnableFunc func(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool -+ -+func EnabledGoEnumPrefix(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool { -+ return proto.GetBoolExtension(enum.Options, E_GoprotoEnumPrefix, proto.GetBoolExtension(file.Options, E_GoprotoEnumPrefixAll, true)) -+} -+ -+func EnabledGoStringer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_GoprotoStringer, proto.GetBoolExtension(file.Options, E_GoprotoStringerAll, true)) -+} -+ -+func HasGoGetters(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_GoprotoGetters, proto.GetBoolExtension(file.Options, E_GoprotoGettersAll, true)) -+} -+ -+func IsUnion(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Onlyone, proto.GetBoolExtension(file.Options, E_OnlyoneAll, false)) -+} -+ -+func HasGoString(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Gostring, proto.GetBoolExtension(file.Options, E_GostringAll, false)) -+} -+ -+func HasEqual(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Equal, proto.GetBoolExtension(file.Options, E_EqualAll, false)) -+} -+ -+func HasVerboseEqual(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_VerboseEqual, proto.GetBoolExtension(file.Options, E_VerboseEqualAll, false)) -+} -+ -+func IsStringer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Stringer, proto.GetBoolExtension(file.Options, E_StringerAll, false)) -+} -+ -+func IsFace(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Face, proto.GetBoolExtension(file.Options, E_FaceAll, false)) -+} -+ -+func HasDescription(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Description, proto.GetBoolExtension(file.Options, E_DescriptionAll, false)) -+} -+ -+func HasPopulate(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Populate, proto.GetBoolExtension(file.Options, E_PopulateAll, false)) -+} -+ -+func HasTestGen(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Testgen, proto.GetBoolExtension(file.Options, E_TestgenAll, false)) -+} -+ -+func HasBenchGen(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Benchgen, proto.GetBoolExtension(file.Options, E_BenchgenAll, false)) -+} -+ -+func IsMarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Marshaler, proto.GetBoolExtension(file.Options, E_MarshalerAll, false)) -+} -+ -+func IsUnmarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Unmarshaler, proto.GetBoolExtension(file.Options, E_UnmarshalerAll, false)) -+} -+ -+func IsStableMarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_StableMarshaler, proto.GetBoolExtension(file.Options, E_StableMarshalerAll, false)) -+} -+ -+func IsSizer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Sizer, proto.GetBoolExtension(file.Options, E_SizerAll, false)) -+} -+ -+func IsProtoSizer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Protosizer, proto.GetBoolExtension(file.Options, E_ProtosizerAll, false)) -+} -+ -+func IsGoEnumStringer(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool { -+ return proto.GetBoolExtension(enum.Options, E_GoprotoEnumStringer, proto.GetBoolExtension(file.Options, E_GoprotoEnumStringerAll, true)) -+} -+ -+func IsEnumStringer(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool { -+ return proto.GetBoolExtension(enum.Options, E_EnumStringer, proto.GetBoolExtension(file.Options, E_EnumStringerAll, false)) -+} -+ -+func IsUnsafeMarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_UnsafeMarshaler, proto.GetBoolExtension(file.Options, E_UnsafeMarshalerAll, false)) -+} -+ -+func IsUnsafeUnmarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_UnsafeUnmarshaler, proto.GetBoolExtension(file.Options, E_UnsafeUnmarshalerAll, false)) -+} -+ -+func HasExtensionsMap(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_GoprotoExtensionsMap, proto.GetBoolExtension(file.Options, E_GoprotoExtensionsMapAll, true)) -+} -+ -+func HasUnrecognized(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_GoprotoUnrecognized, proto.GetBoolExtension(file.Options, E_GoprotoUnrecognizedAll, true)) -+} -+ -+func IsProto3(file *google_protobuf.FileDescriptorProto) bool { -+ return file.GetSyntax() == "proto3" -+} -+ -+func ImportsGoGoProto(file *google_protobuf.FileDescriptorProto) bool { -+ return proto.GetBoolExtension(file.Options, E_GogoprotoImport, true) -+} -+ -+func HasCompare(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Compare, proto.GetBoolExtension(file.Options, E_CompareAll, false)) -+} -+ -+func RegistersGolangProto(file *google_protobuf.FileDescriptorProto) bool { -+ return proto.GetBoolExtension(file.Options, E_GoprotoRegistration, false) -+} -+ -+func HasMessageName(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_Messagename, proto.GetBoolExtension(file.Options, E_MessagenameAll, false)) -+} -+ -+func HasSizecache(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_GoprotoSizecache, proto.GetBoolExtension(file.Options, E_GoprotoSizecacheAll, true)) -+} -+ -+func HasUnkeyed(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { -+ return proto.GetBoolExtension(message.Options, E_GoprotoUnkeyed, proto.GetBoolExtension(file.Options, E_GoprotoUnkeyedAll, true)) -+} -diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/Makefile b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/Makefile -new file mode 100644 -index 000000000..3496dc99d ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/Makefile -@@ -0,0 +1,36 @@ -+# Go support for Protocol Buffers - Google's data interchange format -+# -+# Copyright 2010 The Go Authors. All rights reserved. -+# https://github.com/golang/protobuf -+# -+# 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. -+ -+regenerate: -+ go install github.com/gogo/protobuf/protoc-gen-gogo -+ go install github.com/gogo/protobuf/protoc-gen-gostring -+ protoc --gogo_out=. -I=../../protobuf/google/protobuf ../../protobuf/google/protobuf/descriptor.proto -+ protoc --gostring_out=. -I=../../protobuf/google/protobuf ../../protobuf/google/protobuf/descriptor.proto -diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.go -new file mode 100644 -index 000000000..a85bf1984 ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.go -@@ -0,0 +1,118 @@ -+// Go support for Protocol Buffers - Google's data interchange format -+// -+// Copyright 2016 The Go Authors. All rights reserved. -+// https://github.com/golang/protobuf -+// -+// 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. -+ -+// Package descriptor provides functions for obtaining protocol buffer -+// descriptors for generated Go types. -+// -+// These functions cannot go in package proto because they depend on the -+// generated protobuf descriptor messages, which themselves depend on proto. -+package descriptor -+ -+import ( -+ "bytes" -+ "compress/gzip" -+ "fmt" -+ "io/ioutil" -+ -+ "github.com/gogo/protobuf/proto" -+) -+ -+// extractFile extracts a FileDescriptorProto from a gzip'd buffer. -+func extractFile(gz []byte) (*FileDescriptorProto, error) { -+ r, err := gzip.NewReader(bytes.NewReader(gz)) -+ if err != nil { -+ return nil, fmt.Errorf("failed to open gzip reader: %v", err) -+ } -+ defer r.Close() -+ -+ b, err := ioutil.ReadAll(r) -+ if err != nil { -+ return nil, fmt.Errorf("failed to uncompress descriptor: %v", err) -+ } -+ -+ fd := new(FileDescriptorProto) -+ if err := proto.Unmarshal(b, fd); err != nil { -+ return nil, fmt.Errorf("malformed FileDescriptorProto: %v", err) -+ } -+ -+ return fd, nil -+} -+ -+// Message is a proto.Message with a method to return its descriptor. -+// -+// Message types generated by the protocol compiler always satisfy -+// the Message interface. -+type Message interface { -+ proto.Message -+ Descriptor() ([]byte, []int) -+} -+ -+// ForMessage returns a FileDescriptorProto and a DescriptorProto from within it -+// describing the given message. -+func ForMessage(msg Message) (fd *FileDescriptorProto, md *DescriptorProto) { -+ gz, path := msg.Descriptor() -+ fd, err := extractFile(gz) -+ if err != nil { -+ panic(fmt.Sprintf("invalid FileDescriptorProto for %T: %v", msg, err)) -+ } -+ -+ md = fd.MessageType[path[0]] -+ for _, i := range path[1:] { -+ md = md.NestedType[i] -+ } -+ return fd, md -+} -+ -+// Is this field a scalar numeric type? -+func (field *FieldDescriptorProto) IsScalar() bool { -+ if field.Type == nil { -+ return false -+ } -+ switch *field.Type { -+ case FieldDescriptorProto_TYPE_DOUBLE, -+ FieldDescriptorProto_TYPE_FLOAT, -+ FieldDescriptorProto_TYPE_INT64, -+ FieldDescriptorProto_TYPE_UINT64, -+ FieldDescriptorProto_TYPE_INT32, -+ FieldDescriptorProto_TYPE_FIXED64, -+ FieldDescriptorProto_TYPE_FIXED32, -+ FieldDescriptorProto_TYPE_BOOL, -+ FieldDescriptorProto_TYPE_UINT32, -+ FieldDescriptorProto_TYPE_ENUM, -+ FieldDescriptorProto_TYPE_SFIXED32, -+ FieldDescriptorProto_TYPE_SFIXED64, -+ FieldDescriptorProto_TYPE_SINT32, -+ FieldDescriptorProto_TYPE_SINT64: -+ return true -+ default: -+ return false -+ } -+} -diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go -new file mode 100644 -index 000000000..cacfa3923 ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go -@@ -0,0 +1,2865 @@ -+// Code generated by protoc-gen-gogo. DO NOT EDIT. -+// source: descriptor.proto -+ -+package descriptor -+ -+import ( -+ fmt "fmt" -+ proto "github.com/gogo/protobuf/proto" -+ math "math" -+) -+ -+// Reference imports to suppress errors if they are not otherwise used. -+var _ = proto.Marshal -+var _ = fmt.Errorf -+var _ = math.Inf -+ -+// This is a compile-time assertion to ensure that this generated file -+// is compatible with the proto package it is being compiled against. -+// A compilation error at this line likely means your copy of the -+// proto package needs to be updated. -+const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package -+ -+type FieldDescriptorProto_Type int32 -+ -+const ( -+ // 0 is reserved for errors. -+ // Order is weird for historical reasons. -+ FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1 -+ FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2 -+ // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if -+ // negative values are likely. -+ FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3 -+ FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4 -+ // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if -+ // negative values are likely. -+ FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5 -+ FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6 -+ FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7 -+ FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8 -+ FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9 -+ // Tag-delimited aggregate. -+ // Group type is deprecated and not supported in proto3. However, Proto3 -+ // implementations should still be able to parse the group wire format and -+ // treat group fields as unknown fields. -+ FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10 -+ FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11 -+ // New in version 2. -+ FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12 -+ FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13 -+ FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14 -+ FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15 -+ FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16 -+ FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17 -+ FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18 -+) -+ -+var FieldDescriptorProto_Type_name = map[int32]string{ -+ 1: "TYPE_DOUBLE", -+ 2: "TYPE_FLOAT", -+ 3: "TYPE_INT64", -+ 4: "TYPE_UINT64", -+ 5: "TYPE_INT32", -+ 6: "TYPE_FIXED64", -+ 7: "TYPE_FIXED32", -+ 8: "TYPE_BOOL", -+ 9: "TYPE_STRING", -+ 10: "TYPE_GROUP", -+ 11: "TYPE_MESSAGE", -+ 12: "TYPE_BYTES", -+ 13: "TYPE_UINT32", -+ 14: "TYPE_ENUM", -+ 15: "TYPE_SFIXED32", -+ 16: "TYPE_SFIXED64", -+ 17: "TYPE_SINT32", -+ 18: "TYPE_SINT64", -+} -+ -+var FieldDescriptorProto_Type_value = map[string]int32{ -+ "TYPE_DOUBLE": 1, -+ "TYPE_FLOAT": 2, -+ "TYPE_INT64": 3, -+ "TYPE_UINT64": 4, -+ "TYPE_INT32": 5, -+ "TYPE_FIXED64": 6, -+ "TYPE_FIXED32": 7, -+ "TYPE_BOOL": 8, -+ "TYPE_STRING": 9, -+ "TYPE_GROUP": 10, -+ "TYPE_MESSAGE": 11, -+ "TYPE_BYTES": 12, -+ "TYPE_UINT32": 13, -+ "TYPE_ENUM": 14, -+ "TYPE_SFIXED32": 15, -+ "TYPE_SFIXED64": 16, -+ "TYPE_SINT32": 17, -+ "TYPE_SINT64": 18, -+} -+ -+func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type { -+ p := new(FieldDescriptorProto_Type) -+ *p = x -+ return p -+} -+ -+func (x FieldDescriptorProto_Type) String() string { -+ return proto.EnumName(FieldDescriptorProto_Type_name, int32(x)) -+} -+ -+func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error { -+ value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type") -+ if err != nil { -+ return err -+ } -+ *x = FieldDescriptorProto_Type(value) -+ return nil -+} -+ -+func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{4, 0} -+} -+ -+type FieldDescriptorProto_Label int32 -+ -+const ( -+ // 0 is reserved for errors -+ FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1 -+ FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2 -+ FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3 -+) -+ -+var FieldDescriptorProto_Label_name = map[int32]string{ -+ 1: "LABEL_OPTIONAL", -+ 2: "LABEL_REQUIRED", -+ 3: "LABEL_REPEATED", -+} -+ -+var FieldDescriptorProto_Label_value = map[string]int32{ -+ "LABEL_OPTIONAL": 1, -+ "LABEL_REQUIRED": 2, -+ "LABEL_REPEATED": 3, -+} -+ -+func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label { -+ p := new(FieldDescriptorProto_Label) -+ *p = x -+ return p -+} -+ -+func (x FieldDescriptorProto_Label) String() string { -+ return proto.EnumName(FieldDescriptorProto_Label_name, int32(x)) -+} -+ -+func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error { -+ value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label") -+ if err != nil { -+ return err -+ } -+ *x = FieldDescriptorProto_Label(value) -+ return nil -+} -+ -+func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{4, 1} -+} -+ -+// Generated classes can be optimized for speed or code size. -+type FileOptions_OptimizeMode int32 -+ -+const ( -+ FileOptions_SPEED FileOptions_OptimizeMode = 1 -+ // etc. -+ FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2 -+ FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3 -+) -+ -+var FileOptions_OptimizeMode_name = map[int32]string{ -+ 1: "SPEED", -+ 2: "CODE_SIZE", -+ 3: "LITE_RUNTIME", -+} -+ -+var FileOptions_OptimizeMode_value = map[string]int32{ -+ "SPEED": 1, -+ "CODE_SIZE": 2, -+ "LITE_RUNTIME": 3, -+} -+ -+func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode { -+ p := new(FileOptions_OptimizeMode) -+ *p = x -+ return p -+} -+ -+func (x FileOptions_OptimizeMode) String() string { -+ return proto.EnumName(FileOptions_OptimizeMode_name, int32(x)) -+} -+ -+func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error { -+ value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode") -+ if err != nil { -+ return err -+ } -+ *x = FileOptions_OptimizeMode(value) -+ return nil -+} -+ -+func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{10, 0} -+} -+ -+type FieldOptions_CType int32 -+ -+const ( -+ // Default mode. -+ FieldOptions_STRING FieldOptions_CType = 0 -+ FieldOptions_CORD FieldOptions_CType = 1 -+ FieldOptions_STRING_PIECE FieldOptions_CType = 2 -+) -+ -+var FieldOptions_CType_name = map[int32]string{ -+ 0: "STRING", -+ 1: "CORD", -+ 2: "STRING_PIECE", -+} -+ -+var FieldOptions_CType_value = map[string]int32{ -+ "STRING": 0, -+ "CORD": 1, -+ "STRING_PIECE": 2, -+} -+ -+func (x FieldOptions_CType) Enum() *FieldOptions_CType { -+ p := new(FieldOptions_CType) -+ *p = x -+ return p -+} -+ -+func (x FieldOptions_CType) String() string { -+ return proto.EnumName(FieldOptions_CType_name, int32(x)) -+} -+ -+func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error { -+ value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType") -+ if err != nil { -+ return err -+ } -+ *x = FieldOptions_CType(value) -+ return nil -+} -+ -+func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{12, 0} -+} -+ -+type FieldOptions_JSType int32 -+ -+const ( -+ // Use the default type. -+ FieldOptions_JS_NORMAL FieldOptions_JSType = 0 -+ // Use JavaScript strings. -+ FieldOptions_JS_STRING FieldOptions_JSType = 1 -+ // Use JavaScript numbers. -+ FieldOptions_JS_NUMBER FieldOptions_JSType = 2 -+) -+ -+var FieldOptions_JSType_name = map[int32]string{ -+ 0: "JS_NORMAL", -+ 1: "JS_STRING", -+ 2: "JS_NUMBER", -+} -+ -+var FieldOptions_JSType_value = map[string]int32{ -+ "JS_NORMAL": 0, -+ "JS_STRING": 1, -+ "JS_NUMBER": 2, -+} -+ -+func (x FieldOptions_JSType) Enum() *FieldOptions_JSType { -+ p := new(FieldOptions_JSType) -+ *p = x -+ return p -+} -+ -+func (x FieldOptions_JSType) String() string { -+ return proto.EnumName(FieldOptions_JSType_name, int32(x)) -+} -+ -+func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error { -+ value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType") -+ if err != nil { -+ return err -+ } -+ *x = FieldOptions_JSType(value) -+ return nil -+} -+ -+func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{12, 1} -+} -+ -+// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, -+// or neither? HTTP based RPC implementation may choose GET verb for safe -+// methods, and PUT verb for idempotent methods instead of the default POST. -+type MethodOptions_IdempotencyLevel int32 -+ -+const ( -+ MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0 -+ MethodOptions_NO_SIDE_EFFECTS MethodOptions_IdempotencyLevel = 1 -+ MethodOptions_IDEMPOTENT MethodOptions_IdempotencyLevel = 2 -+) -+ -+var MethodOptions_IdempotencyLevel_name = map[int32]string{ -+ 0: "IDEMPOTENCY_UNKNOWN", -+ 1: "NO_SIDE_EFFECTS", -+ 2: "IDEMPOTENT", -+} -+ -+var MethodOptions_IdempotencyLevel_value = map[string]int32{ -+ "IDEMPOTENCY_UNKNOWN": 0, -+ "NO_SIDE_EFFECTS": 1, -+ "IDEMPOTENT": 2, -+} -+ -+func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel { -+ p := new(MethodOptions_IdempotencyLevel) -+ *p = x -+ return p -+} -+ -+func (x MethodOptions_IdempotencyLevel) String() string { -+ return proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x)) -+} -+ -+func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error { -+ value, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, "MethodOptions_IdempotencyLevel") -+ if err != nil { -+ return err -+ } -+ *x = MethodOptions_IdempotencyLevel(value) -+ return nil -+} -+ -+func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{17, 0} -+} -+ -+// The protocol compiler can output a FileDescriptorSet containing the .proto -+// files it parses. -+type FileDescriptorSet struct { -+ File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *FileDescriptorSet) Reset() { *m = FileDescriptorSet{} } -+func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) } -+func (*FileDescriptorSet) ProtoMessage() {} -+func (*FileDescriptorSet) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{0} -+} -+func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_FileDescriptorSet.Unmarshal(m, b) -+} -+func (m *FileDescriptorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_FileDescriptorSet.Marshal(b, m, deterministic) -+} -+func (m *FileDescriptorSet) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_FileDescriptorSet.Merge(m, src) -+} -+func (m *FileDescriptorSet) XXX_Size() int { -+ return xxx_messageInfo_FileDescriptorSet.Size(m) -+} -+func (m *FileDescriptorSet) XXX_DiscardUnknown() { -+ xxx_messageInfo_FileDescriptorSet.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_FileDescriptorSet proto.InternalMessageInfo -+ -+func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto { -+ if m != nil { -+ return m.File -+ } -+ return nil -+} -+ -+// Describes a complete .proto file. -+type FileDescriptorProto struct { -+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` -+ Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"` -+ // Names of files imported by this file. -+ Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"` -+ // Indexes of the public imported files in the dependency list above. -+ PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"` -+ // Indexes of the weak imported files in the dependency list. -+ // For Google-internal migration only. Do not use. -+ WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"` -+ // All top-level definitions in this file. -+ MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"` -+ EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` -+ Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"` -+ Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"` -+ Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` -+ // This field contains optional information about the original source code. -+ // You may safely remove this entire field without harming runtime -+ // functionality of the descriptors -- the information is needed only by -+ // development tools. -+ SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"` -+ // The syntax of the proto file. -+ // The supported values are "proto2" and "proto3". -+ Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *FileDescriptorProto) Reset() { *m = FileDescriptorProto{} } -+func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) } -+func (*FileDescriptorProto) ProtoMessage() {} -+func (*FileDescriptorProto) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{1} -+} -+func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_FileDescriptorProto.Unmarshal(m, b) -+} -+func (m *FileDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_FileDescriptorProto.Marshal(b, m, deterministic) -+} -+func (m *FileDescriptorProto) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_FileDescriptorProto.Merge(m, src) -+} -+func (m *FileDescriptorProto) XXX_Size() int { -+ return xxx_messageInfo_FileDescriptorProto.Size(m) -+} -+func (m *FileDescriptorProto) XXX_DiscardUnknown() { -+ xxx_messageInfo_FileDescriptorProto.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_FileDescriptorProto proto.InternalMessageInfo -+ -+func (m *FileDescriptorProto) GetName() string { -+ if m != nil && m.Name != nil { -+ return *m.Name -+ } -+ return "" -+} -+ -+func (m *FileDescriptorProto) GetPackage() string { -+ if m != nil && m.Package != nil { -+ return *m.Package -+ } -+ return "" -+} -+ -+func (m *FileDescriptorProto) GetDependency() []string { -+ if m != nil { -+ return m.Dependency -+ } -+ return nil -+} -+ -+func (m *FileDescriptorProto) GetPublicDependency() []int32 { -+ if m != nil { -+ return m.PublicDependency -+ } -+ return nil -+} -+ -+func (m *FileDescriptorProto) GetWeakDependency() []int32 { -+ if m != nil { -+ return m.WeakDependency -+ } -+ return nil -+} -+ -+func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto { -+ if m != nil { -+ return m.MessageType -+ } -+ return nil -+} -+ -+func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto { -+ if m != nil { -+ return m.EnumType -+ } -+ return nil -+} -+ -+func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto { -+ if m != nil { -+ return m.Service -+ } -+ return nil -+} -+ -+func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto { -+ if m != nil { -+ return m.Extension -+ } -+ return nil -+} -+ -+func (m *FileDescriptorProto) GetOptions() *FileOptions { -+ if m != nil { -+ return m.Options -+ } -+ return nil -+} -+ -+func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo { -+ if m != nil { -+ return m.SourceCodeInfo -+ } -+ return nil -+} -+ -+func (m *FileDescriptorProto) GetSyntax() string { -+ if m != nil && m.Syntax != nil { -+ return *m.Syntax -+ } -+ return "" -+} -+ -+// Describes a message type. -+type DescriptorProto struct { -+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` -+ Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"` -+ Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"` -+ NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"` -+ EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` -+ ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"` -+ OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"` -+ Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"` -+ ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` -+ // Reserved field names, which may not be used by fields in the same message. -+ // A given name may only be reserved once. -+ ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *DescriptorProto) Reset() { *m = DescriptorProto{} } -+func (m *DescriptorProto) String() string { return proto.CompactTextString(m) } -+func (*DescriptorProto) ProtoMessage() {} -+func (*DescriptorProto) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{2} -+} -+func (m *DescriptorProto) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_DescriptorProto.Unmarshal(m, b) -+} -+func (m *DescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_DescriptorProto.Marshal(b, m, deterministic) -+} -+func (m *DescriptorProto) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_DescriptorProto.Merge(m, src) -+} -+func (m *DescriptorProto) XXX_Size() int { -+ return xxx_messageInfo_DescriptorProto.Size(m) -+} -+func (m *DescriptorProto) XXX_DiscardUnknown() { -+ xxx_messageInfo_DescriptorProto.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_DescriptorProto proto.InternalMessageInfo -+ -+func (m *DescriptorProto) GetName() string { -+ if m != nil && m.Name != nil { -+ return *m.Name -+ } -+ return "" -+} -+ -+func (m *DescriptorProto) GetField() []*FieldDescriptorProto { -+ if m != nil { -+ return m.Field -+ } -+ return nil -+} -+ -+func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto { -+ if m != nil { -+ return m.Extension -+ } -+ return nil -+} -+ -+func (m *DescriptorProto) GetNestedType() []*DescriptorProto { -+ if m != nil { -+ return m.NestedType -+ } -+ return nil -+} -+ -+func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto { -+ if m != nil { -+ return m.EnumType -+ } -+ return nil -+} -+ -+func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange { -+ if m != nil { -+ return m.ExtensionRange -+ } -+ return nil -+} -+ -+func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto { -+ if m != nil { -+ return m.OneofDecl -+ } -+ return nil -+} -+ -+func (m *DescriptorProto) GetOptions() *MessageOptions { -+ if m != nil { -+ return m.Options -+ } -+ return nil -+} -+ -+func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange { -+ if m != nil { -+ return m.ReservedRange -+ } -+ return nil -+} -+ -+func (m *DescriptorProto) GetReservedName() []string { -+ if m != nil { -+ return m.ReservedName -+ } -+ return nil -+} -+ -+type DescriptorProto_ExtensionRange struct { -+ Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` -+ End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` -+ Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *DescriptorProto_ExtensionRange) Reset() { *m = DescriptorProto_ExtensionRange{} } -+func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) } -+func (*DescriptorProto_ExtensionRange) ProtoMessage() {} -+func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{2, 0} -+} -+func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_DescriptorProto_ExtensionRange.Unmarshal(m, b) -+} -+func (m *DescriptorProto_ExtensionRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_DescriptorProto_ExtensionRange.Marshal(b, m, deterministic) -+} -+func (m *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(m, src) -+} -+func (m *DescriptorProto_ExtensionRange) XXX_Size() int { -+ return xxx_messageInfo_DescriptorProto_ExtensionRange.Size(m) -+} -+func (m *DescriptorProto_ExtensionRange) XXX_DiscardUnknown() { -+ xxx_messageInfo_DescriptorProto_ExtensionRange.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_DescriptorProto_ExtensionRange proto.InternalMessageInfo -+ -+func (m *DescriptorProto_ExtensionRange) GetStart() int32 { -+ if m != nil && m.Start != nil { -+ return *m.Start -+ } -+ return 0 -+} -+ -+func (m *DescriptorProto_ExtensionRange) GetEnd() int32 { -+ if m != nil && m.End != nil { -+ return *m.End -+ } -+ return 0 -+} -+ -+func (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions { -+ if m != nil { -+ return m.Options -+ } -+ return nil -+} -+ -+// Range of reserved tag numbers. Reserved tag numbers may not be used by -+// fields or extension ranges in the same message. Reserved ranges may -+// not overlap. -+type DescriptorProto_ReservedRange struct { -+ Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` -+ End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *DescriptorProto_ReservedRange) Reset() { *m = DescriptorProto_ReservedRange{} } -+func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) } -+func (*DescriptorProto_ReservedRange) ProtoMessage() {} -+func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{2, 1} -+} -+func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_DescriptorProto_ReservedRange.Unmarshal(m, b) -+} -+func (m *DescriptorProto_ReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_DescriptorProto_ReservedRange.Marshal(b, m, deterministic) -+} -+func (m *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_DescriptorProto_ReservedRange.Merge(m, src) -+} -+func (m *DescriptorProto_ReservedRange) XXX_Size() int { -+ return xxx_messageInfo_DescriptorProto_ReservedRange.Size(m) -+} -+func (m *DescriptorProto_ReservedRange) XXX_DiscardUnknown() { -+ xxx_messageInfo_DescriptorProto_ReservedRange.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_DescriptorProto_ReservedRange proto.InternalMessageInfo -+ -+func (m *DescriptorProto_ReservedRange) GetStart() int32 { -+ if m != nil && m.Start != nil { -+ return *m.Start -+ } -+ return 0 -+} -+ -+func (m *DescriptorProto_ReservedRange) GetEnd() int32 { -+ if m != nil && m.End != nil { -+ return *m.End -+ } -+ return 0 -+} -+ -+type ExtensionRangeOptions struct { -+ // The parser stores options it doesn't recognize here. See above. -+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ proto.XXX_InternalExtensions `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *ExtensionRangeOptions) Reset() { *m = ExtensionRangeOptions{} } -+func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) } -+func (*ExtensionRangeOptions) ProtoMessage() {} -+func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{3} -+} -+ -+var extRange_ExtensionRangeOptions = []proto.ExtensionRange{ -+ {Start: 1000, End: 536870911}, -+} -+ -+func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange { -+ return extRange_ExtensionRangeOptions -+} -+ -+func (m *ExtensionRangeOptions) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_ExtensionRangeOptions.Unmarshal(m, b) -+} -+func (m *ExtensionRangeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_ExtensionRangeOptions.Marshal(b, m, deterministic) -+} -+func (m *ExtensionRangeOptions) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_ExtensionRangeOptions.Merge(m, src) -+} -+func (m *ExtensionRangeOptions) XXX_Size() int { -+ return xxx_messageInfo_ExtensionRangeOptions.Size(m) -+} -+func (m *ExtensionRangeOptions) XXX_DiscardUnknown() { -+ xxx_messageInfo_ExtensionRangeOptions.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_ExtensionRangeOptions proto.InternalMessageInfo -+ -+func (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption { -+ if m != nil { -+ return m.UninterpretedOption -+ } -+ return nil -+} -+ -+// Describes a field within a message. -+type FieldDescriptorProto struct { -+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` -+ Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"` -+ Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"` -+ // If type_name is set, this need not be set. If both this and type_name -+ // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. -+ Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"` -+ // For message and enum types, this is the name of the type. If the name -+ // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping -+ // rules are used to find the type (i.e. first the nested types within this -+ // message are searched, then within the parent, on up to the root -+ // namespace). -+ TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"` -+ // For extensions, this is the name of the type being extended. It is -+ // resolved in the same manner as type_name. -+ Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"` -+ // For numeric types, contains the original text representation of the value. -+ // For booleans, "true" or "false". -+ // For strings, contains the default text contents (not escaped in any way). -+ // For bytes, contains the C escaped value. All bytes >= 128 are escaped. -+ // TODO(kenton): Base-64 encode? -+ DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"` -+ // If set, gives the index of a oneof in the containing type's oneof_decl -+ // list. This field is a member of that oneof. -+ OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"` -+ // JSON name of this field. The value is set by protocol compiler. If the -+ // user has set a "json_name" option on this field, that option's value -+ // will be used. Otherwise, it's deduced from the field's name by converting -+ // it to camelCase. -+ JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"` -+ Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} } -+func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) } -+func (*FieldDescriptorProto) ProtoMessage() {} -+func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{4} -+} -+func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_FieldDescriptorProto.Unmarshal(m, b) -+} -+func (m *FieldDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_FieldDescriptorProto.Marshal(b, m, deterministic) -+} -+func (m *FieldDescriptorProto) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_FieldDescriptorProto.Merge(m, src) -+} -+func (m *FieldDescriptorProto) XXX_Size() int { -+ return xxx_messageInfo_FieldDescriptorProto.Size(m) -+} -+func (m *FieldDescriptorProto) XXX_DiscardUnknown() { -+ xxx_messageInfo_FieldDescriptorProto.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_FieldDescriptorProto proto.InternalMessageInfo -+ -+func (m *FieldDescriptorProto) GetName() string { -+ if m != nil && m.Name != nil { -+ return *m.Name -+ } -+ return "" -+} -+ -+func (m *FieldDescriptorProto) GetNumber() int32 { -+ if m != nil && m.Number != nil { -+ return *m.Number -+ } -+ return 0 -+} -+ -+func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label { -+ if m != nil && m.Label != nil { -+ return *m.Label -+ } -+ return FieldDescriptorProto_LABEL_OPTIONAL -+} -+ -+func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type { -+ if m != nil && m.Type != nil { -+ return *m.Type -+ } -+ return FieldDescriptorProto_TYPE_DOUBLE -+} -+ -+func (m *FieldDescriptorProto) GetTypeName() string { -+ if m != nil && m.TypeName != nil { -+ return *m.TypeName -+ } -+ return "" -+} -+ -+func (m *FieldDescriptorProto) GetExtendee() string { -+ if m != nil && m.Extendee != nil { -+ return *m.Extendee -+ } -+ return "" -+} -+ -+func (m *FieldDescriptorProto) GetDefaultValue() string { -+ if m != nil && m.DefaultValue != nil { -+ return *m.DefaultValue -+ } -+ return "" -+} -+ -+func (m *FieldDescriptorProto) GetOneofIndex() int32 { -+ if m != nil && m.OneofIndex != nil { -+ return *m.OneofIndex -+ } -+ return 0 -+} -+ -+func (m *FieldDescriptorProto) GetJsonName() string { -+ if m != nil && m.JsonName != nil { -+ return *m.JsonName -+ } -+ return "" -+} -+ -+func (m *FieldDescriptorProto) GetOptions() *FieldOptions { -+ if m != nil { -+ return m.Options -+ } -+ return nil -+} -+ -+// Describes a oneof. -+type OneofDescriptorProto struct { -+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` -+ Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} } -+func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) } -+func (*OneofDescriptorProto) ProtoMessage() {} -+func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{5} -+} -+func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_OneofDescriptorProto.Unmarshal(m, b) -+} -+func (m *OneofDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_OneofDescriptorProto.Marshal(b, m, deterministic) -+} -+func (m *OneofDescriptorProto) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_OneofDescriptorProto.Merge(m, src) -+} -+func (m *OneofDescriptorProto) XXX_Size() int { -+ return xxx_messageInfo_OneofDescriptorProto.Size(m) -+} -+func (m *OneofDescriptorProto) XXX_DiscardUnknown() { -+ xxx_messageInfo_OneofDescriptorProto.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_OneofDescriptorProto proto.InternalMessageInfo -+ -+func (m *OneofDescriptorProto) GetName() string { -+ if m != nil && m.Name != nil { -+ return *m.Name -+ } -+ return "" -+} -+ -+func (m *OneofDescriptorProto) GetOptions() *OneofOptions { -+ if m != nil { -+ return m.Options -+ } -+ return nil -+} -+ -+// Describes an enum type. -+type EnumDescriptorProto struct { -+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` -+ Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` -+ Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` -+ // Range of reserved numeric values. Reserved numeric values may not be used -+ // by enum values in the same enum declaration. Reserved ranges may not -+ // overlap. -+ ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` -+ // Reserved enum value names, which may not be reused. A given name may only -+ // be reserved once. -+ ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} } -+func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) } -+func (*EnumDescriptorProto) ProtoMessage() {} -+func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{6} -+} -+func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_EnumDescriptorProto.Unmarshal(m, b) -+} -+func (m *EnumDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_EnumDescriptorProto.Marshal(b, m, deterministic) -+} -+func (m *EnumDescriptorProto) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_EnumDescriptorProto.Merge(m, src) -+} -+func (m *EnumDescriptorProto) XXX_Size() int { -+ return xxx_messageInfo_EnumDescriptorProto.Size(m) -+} -+func (m *EnumDescriptorProto) XXX_DiscardUnknown() { -+ xxx_messageInfo_EnumDescriptorProto.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_EnumDescriptorProto proto.InternalMessageInfo -+ -+func (m *EnumDescriptorProto) GetName() string { -+ if m != nil && m.Name != nil { -+ return *m.Name -+ } -+ return "" -+} -+ -+func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto { -+ if m != nil { -+ return m.Value -+ } -+ return nil -+} -+ -+func (m *EnumDescriptorProto) GetOptions() *EnumOptions { -+ if m != nil { -+ return m.Options -+ } -+ return nil -+} -+ -+func (m *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange { -+ if m != nil { -+ return m.ReservedRange -+ } -+ return nil -+} -+ -+func (m *EnumDescriptorProto) GetReservedName() []string { -+ if m != nil { -+ return m.ReservedName -+ } -+ return nil -+} -+ -+// Range of reserved numeric values. Reserved values may not be used by -+// entries in the same enum. Reserved ranges may not overlap. -+// -+// Note that this is distinct from DescriptorProto.ReservedRange in that it -+// is inclusive such that it can appropriately represent the entire int32 -+// domain. -+type EnumDescriptorProto_EnumReservedRange struct { -+ Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` -+ End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *EnumDescriptorProto_EnumReservedRange) Reset() { *m = EnumDescriptorProto_EnumReservedRange{} } -+func (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) } -+func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {} -+func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{6, 0} -+} -+func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Unmarshal(m, b) -+} -+func (m *EnumDescriptorProto_EnumReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Marshal(b, m, deterministic) -+} -+func (m *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(m, src) -+} -+func (m *EnumDescriptorProto_EnumReservedRange) XXX_Size() int { -+ return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Size(m) -+} -+func (m *EnumDescriptorProto_EnumReservedRange) XXX_DiscardUnknown() { -+ xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_EnumDescriptorProto_EnumReservedRange proto.InternalMessageInfo -+ -+func (m *EnumDescriptorProto_EnumReservedRange) GetStart() int32 { -+ if m != nil && m.Start != nil { -+ return *m.Start -+ } -+ return 0 -+} -+ -+func (m *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 { -+ if m != nil && m.End != nil { -+ return *m.End -+ } -+ return 0 -+} -+ -+// Describes a value within an enum. -+type EnumValueDescriptorProto struct { -+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` -+ Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"` -+ Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *EnumValueDescriptorProto) Reset() { *m = EnumValueDescriptorProto{} } -+func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) } -+func (*EnumValueDescriptorProto) ProtoMessage() {} -+func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{7} -+} -+func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_EnumValueDescriptorProto.Unmarshal(m, b) -+} -+func (m *EnumValueDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_EnumValueDescriptorProto.Marshal(b, m, deterministic) -+} -+func (m *EnumValueDescriptorProto) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_EnumValueDescriptorProto.Merge(m, src) -+} -+func (m *EnumValueDescriptorProto) XXX_Size() int { -+ return xxx_messageInfo_EnumValueDescriptorProto.Size(m) -+} -+func (m *EnumValueDescriptorProto) XXX_DiscardUnknown() { -+ xxx_messageInfo_EnumValueDescriptorProto.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_EnumValueDescriptorProto proto.InternalMessageInfo -+ -+func (m *EnumValueDescriptorProto) GetName() string { -+ if m != nil && m.Name != nil { -+ return *m.Name -+ } -+ return "" -+} -+ -+func (m *EnumValueDescriptorProto) GetNumber() int32 { -+ if m != nil && m.Number != nil { -+ return *m.Number -+ } -+ return 0 -+} -+ -+func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions { -+ if m != nil { -+ return m.Options -+ } -+ return nil -+} -+ -+// Describes a service. -+type ServiceDescriptorProto struct { -+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` -+ Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"` -+ Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} } -+func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) } -+func (*ServiceDescriptorProto) ProtoMessage() {} -+func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{8} -+} -+func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_ServiceDescriptorProto.Unmarshal(m, b) -+} -+func (m *ServiceDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_ServiceDescriptorProto.Marshal(b, m, deterministic) -+} -+func (m *ServiceDescriptorProto) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_ServiceDescriptorProto.Merge(m, src) -+} -+func (m *ServiceDescriptorProto) XXX_Size() int { -+ return xxx_messageInfo_ServiceDescriptorProto.Size(m) -+} -+func (m *ServiceDescriptorProto) XXX_DiscardUnknown() { -+ xxx_messageInfo_ServiceDescriptorProto.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_ServiceDescriptorProto proto.InternalMessageInfo -+ -+func (m *ServiceDescriptorProto) GetName() string { -+ if m != nil && m.Name != nil { -+ return *m.Name -+ } -+ return "" -+} -+ -+func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto { -+ if m != nil { -+ return m.Method -+ } -+ return nil -+} -+ -+func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions { -+ if m != nil { -+ return m.Options -+ } -+ return nil -+} -+ -+// Describes a method of a service. -+type MethodDescriptorProto struct { -+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` -+ // Input and output type names. These are resolved in the same way as -+ // FieldDescriptorProto.type_name, but must refer to a message type. -+ InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"` -+ OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"` -+ Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"` -+ // Identifies if client streams multiple client messages -+ ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"` -+ // Identifies if server streams multiple server messages -+ ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} } -+func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) } -+func (*MethodDescriptorProto) ProtoMessage() {} -+func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{9} -+} -+func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_MethodDescriptorProto.Unmarshal(m, b) -+} -+func (m *MethodDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_MethodDescriptorProto.Marshal(b, m, deterministic) -+} -+func (m *MethodDescriptorProto) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_MethodDescriptorProto.Merge(m, src) -+} -+func (m *MethodDescriptorProto) XXX_Size() int { -+ return xxx_messageInfo_MethodDescriptorProto.Size(m) -+} -+func (m *MethodDescriptorProto) XXX_DiscardUnknown() { -+ xxx_messageInfo_MethodDescriptorProto.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_MethodDescriptorProto proto.InternalMessageInfo -+ -+const Default_MethodDescriptorProto_ClientStreaming bool = false -+const Default_MethodDescriptorProto_ServerStreaming bool = false -+ -+func (m *MethodDescriptorProto) GetName() string { -+ if m != nil && m.Name != nil { -+ return *m.Name -+ } -+ return "" -+} -+ -+func (m *MethodDescriptorProto) GetInputType() string { -+ if m != nil && m.InputType != nil { -+ return *m.InputType -+ } -+ return "" -+} -+ -+func (m *MethodDescriptorProto) GetOutputType() string { -+ if m != nil && m.OutputType != nil { -+ return *m.OutputType -+ } -+ return "" -+} -+ -+func (m *MethodDescriptorProto) GetOptions() *MethodOptions { -+ if m != nil { -+ return m.Options -+ } -+ return nil -+} -+ -+func (m *MethodDescriptorProto) GetClientStreaming() bool { -+ if m != nil && m.ClientStreaming != nil { -+ return *m.ClientStreaming -+ } -+ return Default_MethodDescriptorProto_ClientStreaming -+} -+ -+func (m *MethodDescriptorProto) GetServerStreaming() bool { -+ if m != nil && m.ServerStreaming != nil { -+ return *m.ServerStreaming -+ } -+ return Default_MethodDescriptorProto_ServerStreaming -+} -+ -+type FileOptions struct { -+ // Sets the Java package where classes generated from this .proto will be -+ // placed. By default, the proto package is used, but this is often -+ // inappropriate because proto packages do not normally start with backwards -+ // domain names. -+ JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"` -+ // If set, all the classes from the .proto file are wrapped in a single -+ // outer class with the given name. This applies to both Proto1 -+ // (equivalent to the old "--one_java_file" option) and Proto2 (where -+ // a .proto always translates to a single class, but you may want to -+ // explicitly choose the class name). -+ JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"` -+ // If set true, then the Java code generator will generate a separate .java -+ // file for each top-level message, enum, and service defined in the .proto -+ // file. Thus, these types will *not* be nested inside the outer class -+ // named by java_outer_classname. However, the outer class will still be -+ // generated to contain the file's getDescriptor() method as well as any -+ // top-level extensions defined in the file. -+ JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"` -+ // This option does nothing. -+ JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` // Deprecated: Do not use. -+ // If set true, then the Java2 code generator will generate code that -+ // throws an exception whenever an attempt is made to assign a non-UTF-8 -+ // byte sequence to a string field. -+ // Message reflection will do the same. -+ // However, an extension field still accepts non-UTF-8 byte sequences. -+ // This option has no effect on when used with the lite runtime. -+ JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"` -+ OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"` -+ // Sets the Go package where structs generated from this .proto will be -+ // placed. If omitted, the Go package will be derived from the following: -+ // - The basename of the package import path, if provided. -+ // - Otherwise, the package statement in the .proto file, if present. -+ // - Otherwise, the basename of the .proto file, without extension. -+ GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"` -+ // Should generic services be generated in each language? "Generic" services -+ // are not specific to any particular RPC system. They are generated by the -+ // main code generators in each language (without additional plugins). -+ // Generic services were the only kind of service generation supported by -+ // early versions of google.protobuf. -+ // -+ // Generic services are now considered deprecated in favor of using plugins -+ // that generate code specific to your particular RPC system. Therefore, -+ // these default to false. Old code which depends on generic services should -+ // explicitly set them to true. -+ CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"` -+ JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"` -+ PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"` -+ PhpGenericServices *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"` -+ // Is this file deprecated? -+ // Depending on the target platform, this can emit Deprecated annotations -+ // for everything in the file, or it will be completely ignored; in the very -+ // least, this is a formalization for deprecating files. -+ Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"` -+ // Enables the use of arenas for the proto messages in this file. This applies -+ // only to generated classes for C++. -+ CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"` -+ // Sets the objective c class prefix which is prepended to all objective c -+ // generated classes from this .proto. There is no default. -+ ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"` -+ // Namespace for generated classes; defaults to the package. -+ CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"` -+ // By default Swift generators will take the proto package and CamelCase it -+ // replacing '.' with underscore and use that to prefix the types/symbols -+ // defined. When this options is provided, they will use this value instead -+ // to prefix the types/symbols defined. -+ SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"` -+ // Sets the php class prefix which is prepended to all php generated classes -+ // from this .proto. Default is empty. -+ PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"` -+ // Use this option to change the namespace of php generated classes. Default -+ // is empty. When this option is empty, the package name will be used for -+ // determining the namespace. -+ PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"` -+ // Use this option to change the namespace of php generated metadata classes. -+ // Default is empty. When this option is empty, the proto file name will be used -+ // for determining the namespace. -+ PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"` -+ // Use this option to change the package of ruby generated classes. Default -+ // is empty. When this option is not set, the package name will be used for -+ // determining the ruby package. -+ RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"` -+ // The parser stores options it doesn't recognize here. -+ // See the documentation for the "Options" section above. -+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ proto.XXX_InternalExtensions `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *FileOptions) Reset() { *m = FileOptions{} } -+func (m *FileOptions) String() string { return proto.CompactTextString(m) } -+func (*FileOptions) ProtoMessage() {} -+func (*FileOptions) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{10} -+} -+ -+var extRange_FileOptions = []proto.ExtensionRange{ -+ {Start: 1000, End: 536870911}, -+} -+ -+func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange { -+ return extRange_FileOptions -+} -+ -+func (m *FileOptions) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_FileOptions.Unmarshal(m, b) -+} -+func (m *FileOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_FileOptions.Marshal(b, m, deterministic) -+} -+func (m *FileOptions) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_FileOptions.Merge(m, src) -+} -+func (m *FileOptions) XXX_Size() int { -+ return xxx_messageInfo_FileOptions.Size(m) -+} -+func (m *FileOptions) XXX_DiscardUnknown() { -+ xxx_messageInfo_FileOptions.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_FileOptions proto.InternalMessageInfo -+ -+const Default_FileOptions_JavaMultipleFiles bool = false -+const Default_FileOptions_JavaStringCheckUtf8 bool = false -+const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED -+const Default_FileOptions_CcGenericServices bool = false -+const Default_FileOptions_JavaGenericServices bool = false -+const Default_FileOptions_PyGenericServices bool = false -+const Default_FileOptions_PhpGenericServices bool = false -+const Default_FileOptions_Deprecated bool = false -+const Default_FileOptions_CcEnableArenas bool = false -+ -+func (m *FileOptions) GetJavaPackage() string { -+ if m != nil && m.JavaPackage != nil { -+ return *m.JavaPackage -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetJavaOuterClassname() string { -+ if m != nil && m.JavaOuterClassname != nil { -+ return *m.JavaOuterClassname -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetJavaMultipleFiles() bool { -+ if m != nil && m.JavaMultipleFiles != nil { -+ return *m.JavaMultipleFiles -+ } -+ return Default_FileOptions_JavaMultipleFiles -+} -+ -+// Deprecated: Do not use. -+func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool { -+ if m != nil && m.JavaGenerateEqualsAndHash != nil { -+ return *m.JavaGenerateEqualsAndHash -+ } -+ return false -+} -+ -+func (m *FileOptions) GetJavaStringCheckUtf8() bool { -+ if m != nil && m.JavaStringCheckUtf8 != nil { -+ return *m.JavaStringCheckUtf8 -+ } -+ return Default_FileOptions_JavaStringCheckUtf8 -+} -+ -+func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode { -+ if m != nil && m.OptimizeFor != nil { -+ return *m.OptimizeFor -+ } -+ return Default_FileOptions_OptimizeFor -+} -+ -+func (m *FileOptions) GetGoPackage() string { -+ if m != nil && m.GoPackage != nil { -+ return *m.GoPackage -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetCcGenericServices() bool { -+ if m != nil && m.CcGenericServices != nil { -+ return *m.CcGenericServices -+ } -+ return Default_FileOptions_CcGenericServices -+} -+ -+func (m *FileOptions) GetJavaGenericServices() bool { -+ if m != nil && m.JavaGenericServices != nil { -+ return *m.JavaGenericServices -+ } -+ return Default_FileOptions_JavaGenericServices -+} -+ -+func (m *FileOptions) GetPyGenericServices() bool { -+ if m != nil && m.PyGenericServices != nil { -+ return *m.PyGenericServices -+ } -+ return Default_FileOptions_PyGenericServices -+} -+ -+func (m *FileOptions) GetPhpGenericServices() bool { -+ if m != nil && m.PhpGenericServices != nil { -+ return *m.PhpGenericServices -+ } -+ return Default_FileOptions_PhpGenericServices -+} -+ -+func (m *FileOptions) GetDeprecated() bool { -+ if m != nil && m.Deprecated != nil { -+ return *m.Deprecated -+ } -+ return Default_FileOptions_Deprecated -+} -+ -+func (m *FileOptions) GetCcEnableArenas() bool { -+ if m != nil && m.CcEnableArenas != nil { -+ return *m.CcEnableArenas -+ } -+ return Default_FileOptions_CcEnableArenas -+} -+ -+func (m *FileOptions) GetObjcClassPrefix() string { -+ if m != nil && m.ObjcClassPrefix != nil { -+ return *m.ObjcClassPrefix -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetCsharpNamespace() string { -+ if m != nil && m.CsharpNamespace != nil { -+ return *m.CsharpNamespace -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetSwiftPrefix() string { -+ if m != nil && m.SwiftPrefix != nil { -+ return *m.SwiftPrefix -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetPhpClassPrefix() string { -+ if m != nil && m.PhpClassPrefix != nil { -+ return *m.PhpClassPrefix -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetPhpNamespace() string { -+ if m != nil && m.PhpNamespace != nil { -+ return *m.PhpNamespace -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetPhpMetadataNamespace() string { -+ if m != nil && m.PhpMetadataNamespace != nil { -+ return *m.PhpMetadataNamespace -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetRubyPackage() string { -+ if m != nil && m.RubyPackage != nil { -+ return *m.RubyPackage -+ } -+ return "" -+} -+ -+func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption { -+ if m != nil { -+ return m.UninterpretedOption -+ } -+ return nil -+} -+ -+type MessageOptions struct { -+ // Set true to use the old proto1 MessageSet wire format for extensions. -+ // This is provided for backwards-compatibility with the MessageSet wire -+ // format. You should not use this for any other reason: It's less -+ // efficient, has fewer features, and is more complicated. -+ // -+ // The message must be defined exactly as follows: -+ // message Foo { -+ // option message_set_wire_format = true; -+ // extensions 4 to max; -+ // } -+ // Note that the message cannot have any defined fields; MessageSets only -+ // have extensions. -+ // -+ // All extensions of your type must be singular messages; e.g. they cannot -+ // be int32s, enums, or repeated messages. -+ // -+ // Because this is an option, the above two restrictions are not enforced by -+ // the protocol compiler. -+ MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"` -+ // Disables the generation of the standard "descriptor()" accessor, which can -+ // conflict with a field of the same name. This is meant to make migration -+ // from proto1 easier; new code should avoid fields named "descriptor". -+ NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"` -+ // Is this message deprecated? -+ // Depending on the target platform, this can emit Deprecated annotations -+ // for the message, or it will be completely ignored; in the very least, -+ // this is a formalization for deprecating messages. -+ Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` -+ // Whether the message is an automatically generated map entry type for the -+ // maps field. -+ // -+ // For maps fields: -+ // map map_field = 1; -+ // The parsed descriptor looks like: -+ // message MapFieldEntry { -+ // option map_entry = true; -+ // optional KeyType key = 1; -+ // optional ValueType value = 2; -+ // } -+ // repeated MapFieldEntry map_field = 1; -+ // -+ // Implementations may choose not to generate the map_entry=true message, but -+ // use a native map in the target language to hold the keys and values. -+ // The reflection APIs in such implementions still need to work as -+ // if the field is a repeated message field. -+ // -+ // NOTE: Do not set the option in .proto files. Always use the maps syntax -+ // instead. The option should only be implicitly set by the proto compiler -+ // parser. -+ MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"` -+ // The parser stores options it doesn't recognize here. See above. -+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ proto.XXX_InternalExtensions `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *MessageOptions) Reset() { *m = MessageOptions{} } -+func (m *MessageOptions) String() string { return proto.CompactTextString(m) } -+func (*MessageOptions) ProtoMessage() {} -+func (*MessageOptions) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{11} -+} -+ -+var extRange_MessageOptions = []proto.ExtensionRange{ -+ {Start: 1000, End: 536870911}, -+} -+ -+func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange { -+ return extRange_MessageOptions -+} -+ -+func (m *MessageOptions) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_MessageOptions.Unmarshal(m, b) -+} -+func (m *MessageOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_MessageOptions.Marshal(b, m, deterministic) -+} -+func (m *MessageOptions) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_MessageOptions.Merge(m, src) -+} -+func (m *MessageOptions) XXX_Size() int { -+ return xxx_messageInfo_MessageOptions.Size(m) -+} -+func (m *MessageOptions) XXX_DiscardUnknown() { -+ xxx_messageInfo_MessageOptions.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_MessageOptions proto.InternalMessageInfo -+ -+const Default_MessageOptions_MessageSetWireFormat bool = false -+const Default_MessageOptions_NoStandardDescriptorAccessor bool = false -+const Default_MessageOptions_Deprecated bool = false -+ -+func (m *MessageOptions) GetMessageSetWireFormat() bool { -+ if m != nil && m.MessageSetWireFormat != nil { -+ return *m.MessageSetWireFormat -+ } -+ return Default_MessageOptions_MessageSetWireFormat -+} -+ -+func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool { -+ if m != nil && m.NoStandardDescriptorAccessor != nil { -+ return *m.NoStandardDescriptorAccessor -+ } -+ return Default_MessageOptions_NoStandardDescriptorAccessor -+} -+ -+func (m *MessageOptions) GetDeprecated() bool { -+ if m != nil && m.Deprecated != nil { -+ return *m.Deprecated -+ } -+ return Default_MessageOptions_Deprecated -+} -+ -+func (m *MessageOptions) GetMapEntry() bool { -+ if m != nil && m.MapEntry != nil { -+ return *m.MapEntry -+ } -+ return false -+} -+ -+func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption { -+ if m != nil { -+ return m.UninterpretedOption -+ } -+ return nil -+} -+ -+type FieldOptions struct { -+ // The ctype option instructs the C++ code generator to use a different -+ // representation of the field than it normally would. See the specific -+ // options below. This option is not yet implemented in the open source -+ // release -- sorry, we'll try to include it in a future version! -+ Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"` -+ // The packed option can be enabled for repeated primitive fields to enable -+ // a more efficient representation on the wire. Rather than repeatedly -+ // writing the tag and type for each element, the entire array is encoded as -+ // a single length-delimited blob. In proto3, only explicit setting it to -+ // false will avoid using packed encoding. -+ Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"` -+ // The jstype option determines the JavaScript type used for values of the -+ // field. The option is permitted only for 64 bit integral and fixed types -+ // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING -+ // is represented as JavaScript string, which avoids loss of precision that -+ // can happen when a large value is converted to a floating point JavaScript. -+ // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to -+ // use the JavaScript "number" type. The behavior of the default option -+ // JS_NORMAL is implementation dependent. -+ // -+ // This option is an enum to permit additional types to be added, e.g. -+ // goog.math.Integer. -+ Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"` -+ // Should this field be parsed lazily? Lazy applies only to message-type -+ // fields. It means that when the outer message is initially parsed, the -+ // inner message's contents will not be parsed but instead stored in encoded -+ // form. The inner message will actually be parsed when it is first accessed. -+ // -+ // This is only a hint. Implementations are free to choose whether to use -+ // eager or lazy parsing regardless of the value of this option. However, -+ // setting this option true suggests that the protocol author believes that -+ // using lazy parsing on this field is worth the additional bookkeeping -+ // overhead typically needed to implement it. -+ // -+ // This option does not affect the public interface of any generated code; -+ // all method signatures remain the same. Furthermore, thread-safety of the -+ // interface is not affected by this option; const methods remain safe to -+ // call from multiple threads concurrently, while non-const methods continue -+ // to require exclusive access. -+ // -+ // -+ // Note that implementations may choose not to check required fields within -+ // a lazy sub-message. That is, calling IsInitialized() on the outer message -+ // may return true even if the inner message has missing required fields. -+ // This is necessary because otherwise the inner message would have to be -+ // parsed in order to perform the check, defeating the purpose of lazy -+ // parsing. An implementation which chooses not to check required fields -+ // must be consistent about it. That is, for any particular sub-message, the -+ // implementation must either *always* check its required fields, or *never* -+ // check its required fields, regardless of whether or not the message has -+ // been parsed. -+ Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"` -+ // Is this field deprecated? -+ // Depending on the target platform, this can emit Deprecated annotations -+ // for accessors, or it will be completely ignored; in the very least, this -+ // is a formalization for deprecating fields. -+ Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` -+ // For Google-internal migration only. Do not use. -+ Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"` -+ // The parser stores options it doesn't recognize here. See above. -+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ proto.XXX_InternalExtensions `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *FieldOptions) Reset() { *m = FieldOptions{} } -+func (m *FieldOptions) String() string { return proto.CompactTextString(m) } -+func (*FieldOptions) ProtoMessage() {} -+func (*FieldOptions) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{12} -+} -+ -+var extRange_FieldOptions = []proto.ExtensionRange{ -+ {Start: 1000, End: 536870911}, -+} -+ -+func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange { -+ return extRange_FieldOptions -+} -+ -+func (m *FieldOptions) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_FieldOptions.Unmarshal(m, b) -+} -+func (m *FieldOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_FieldOptions.Marshal(b, m, deterministic) -+} -+func (m *FieldOptions) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_FieldOptions.Merge(m, src) -+} -+func (m *FieldOptions) XXX_Size() int { -+ return xxx_messageInfo_FieldOptions.Size(m) -+} -+func (m *FieldOptions) XXX_DiscardUnknown() { -+ xxx_messageInfo_FieldOptions.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_FieldOptions proto.InternalMessageInfo -+ -+const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING -+const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL -+const Default_FieldOptions_Lazy bool = false -+const Default_FieldOptions_Deprecated bool = false -+const Default_FieldOptions_Weak bool = false -+ -+func (m *FieldOptions) GetCtype() FieldOptions_CType { -+ if m != nil && m.Ctype != nil { -+ return *m.Ctype -+ } -+ return Default_FieldOptions_Ctype -+} -+ -+func (m *FieldOptions) GetPacked() bool { -+ if m != nil && m.Packed != nil { -+ return *m.Packed -+ } -+ return false -+} -+ -+func (m *FieldOptions) GetJstype() FieldOptions_JSType { -+ if m != nil && m.Jstype != nil { -+ return *m.Jstype -+ } -+ return Default_FieldOptions_Jstype -+} -+ -+func (m *FieldOptions) GetLazy() bool { -+ if m != nil && m.Lazy != nil { -+ return *m.Lazy -+ } -+ return Default_FieldOptions_Lazy -+} -+ -+func (m *FieldOptions) GetDeprecated() bool { -+ if m != nil && m.Deprecated != nil { -+ return *m.Deprecated -+ } -+ return Default_FieldOptions_Deprecated -+} -+ -+func (m *FieldOptions) GetWeak() bool { -+ if m != nil && m.Weak != nil { -+ return *m.Weak -+ } -+ return Default_FieldOptions_Weak -+} -+ -+func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption { -+ if m != nil { -+ return m.UninterpretedOption -+ } -+ return nil -+} -+ -+type OneofOptions struct { -+ // The parser stores options it doesn't recognize here. See above. -+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ proto.XXX_InternalExtensions `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *OneofOptions) Reset() { *m = OneofOptions{} } -+func (m *OneofOptions) String() string { return proto.CompactTextString(m) } -+func (*OneofOptions) ProtoMessage() {} -+func (*OneofOptions) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{13} -+} -+ -+var extRange_OneofOptions = []proto.ExtensionRange{ -+ {Start: 1000, End: 536870911}, -+} -+ -+func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange { -+ return extRange_OneofOptions -+} -+ -+func (m *OneofOptions) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_OneofOptions.Unmarshal(m, b) -+} -+func (m *OneofOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_OneofOptions.Marshal(b, m, deterministic) -+} -+func (m *OneofOptions) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_OneofOptions.Merge(m, src) -+} -+func (m *OneofOptions) XXX_Size() int { -+ return xxx_messageInfo_OneofOptions.Size(m) -+} -+func (m *OneofOptions) XXX_DiscardUnknown() { -+ xxx_messageInfo_OneofOptions.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_OneofOptions proto.InternalMessageInfo -+ -+func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption { -+ if m != nil { -+ return m.UninterpretedOption -+ } -+ return nil -+} -+ -+type EnumOptions struct { -+ // Set this option to true to allow mapping different tag names to the same -+ // value. -+ AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"` -+ // Is this enum deprecated? -+ // Depending on the target platform, this can emit Deprecated annotations -+ // for the enum, or it will be completely ignored; in the very least, this -+ // is a formalization for deprecating enums. -+ Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` -+ // The parser stores options it doesn't recognize here. See above. -+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ proto.XXX_InternalExtensions `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *EnumOptions) Reset() { *m = EnumOptions{} } -+func (m *EnumOptions) String() string { return proto.CompactTextString(m) } -+func (*EnumOptions) ProtoMessage() {} -+func (*EnumOptions) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{14} -+} -+ -+var extRange_EnumOptions = []proto.ExtensionRange{ -+ {Start: 1000, End: 536870911}, -+} -+ -+func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange { -+ return extRange_EnumOptions -+} -+ -+func (m *EnumOptions) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_EnumOptions.Unmarshal(m, b) -+} -+func (m *EnumOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_EnumOptions.Marshal(b, m, deterministic) -+} -+func (m *EnumOptions) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_EnumOptions.Merge(m, src) -+} -+func (m *EnumOptions) XXX_Size() int { -+ return xxx_messageInfo_EnumOptions.Size(m) -+} -+func (m *EnumOptions) XXX_DiscardUnknown() { -+ xxx_messageInfo_EnumOptions.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_EnumOptions proto.InternalMessageInfo -+ -+const Default_EnumOptions_Deprecated bool = false -+ -+func (m *EnumOptions) GetAllowAlias() bool { -+ if m != nil && m.AllowAlias != nil { -+ return *m.AllowAlias -+ } -+ return false -+} -+ -+func (m *EnumOptions) GetDeprecated() bool { -+ if m != nil && m.Deprecated != nil { -+ return *m.Deprecated -+ } -+ return Default_EnumOptions_Deprecated -+} -+ -+func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption { -+ if m != nil { -+ return m.UninterpretedOption -+ } -+ return nil -+} -+ -+type EnumValueOptions struct { -+ // Is this enum value deprecated? -+ // Depending on the target platform, this can emit Deprecated annotations -+ // for the enum value, or it will be completely ignored; in the very least, -+ // this is a formalization for deprecating enum values. -+ Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"` -+ // The parser stores options it doesn't recognize here. See above. -+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ proto.XXX_InternalExtensions `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} } -+func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) } -+func (*EnumValueOptions) ProtoMessage() {} -+func (*EnumValueOptions) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{15} -+} -+ -+var extRange_EnumValueOptions = []proto.ExtensionRange{ -+ {Start: 1000, End: 536870911}, -+} -+ -+func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange { -+ return extRange_EnumValueOptions -+} -+ -+func (m *EnumValueOptions) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_EnumValueOptions.Unmarshal(m, b) -+} -+func (m *EnumValueOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_EnumValueOptions.Marshal(b, m, deterministic) -+} -+func (m *EnumValueOptions) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_EnumValueOptions.Merge(m, src) -+} -+func (m *EnumValueOptions) XXX_Size() int { -+ return xxx_messageInfo_EnumValueOptions.Size(m) -+} -+func (m *EnumValueOptions) XXX_DiscardUnknown() { -+ xxx_messageInfo_EnumValueOptions.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_EnumValueOptions proto.InternalMessageInfo -+ -+const Default_EnumValueOptions_Deprecated bool = false -+ -+func (m *EnumValueOptions) GetDeprecated() bool { -+ if m != nil && m.Deprecated != nil { -+ return *m.Deprecated -+ } -+ return Default_EnumValueOptions_Deprecated -+} -+ -+func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption { -+ if m != nil { -+ return m.UninterpretedOption -+ } -+ return nil -+} -+ -+type ServiceOptions struct { -+ // Is this service deprecated? -+ // Depending on the target platform, this can emit Deprecated annotations -+ // for the service, or it will be completely ignored; in the very least, -+ // this is a formalization for deprecating services. -+ Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` -+ // The parser stores options it doesn't recognize here. See above. -+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ proto.XXX_InternalExtensions `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *ServiceOptions) Reset() { *m = ServiceOptions{} } -+func (m *ServiceOptions) String() string { return proto.CompactTextString(m) } -+func (*ServiceOptions) ProtoMessage() {} -+func (*ServiceOptions) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{16} -+} -+ -+var extRange_ServiceOptions = []proto.ExtensionRange{ -+ {Start: 1000, End: 536870911}, -+} -+ -+func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange { -+ return extRange_ServiceOptions -+} -+ -+func (m *ServiceOptions) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_ServiceOptions.Unmarshal(m, b) -+} -+func (m *ServiceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_ServiceOptions.Marshal(b, m, deterministic) -+} -+func (m *ServiceOptions) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_ServiceOptions.Merge(m, src) -+} -+func (m *ServiceOptions) XXX_Size() int { -+ return xxx_messageInfo_ServiceOptions.Size(m) -+} -+func (m *ServiceOptions) XXX_DiscardUnknown() { -+ xxx_messageInfo_ServiceOptions.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_ServiceOptions proto.InternalMessageInfo -+ -+const Default_ServiceOptions_Deprecated bool = false -+ -+func (m *ServiceOptions) GetDeprecated() bool { -+ if m != nil && m.Deprecated != nil { -+ return *m.Deprecated -+ } -+ return Default_ServiceOptions_Deprecated -+} -+ -+func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption { -+ if m != nil { -+ return m.UninterpretedOption -+ } -+ return nil -+} -+ -+type MethodOptions struct { -+ // Is this method deprecated? -+ // Depending on the target platform, this can emit Deprecated annotations -+ // for the method, or it will be completely ignored; in the very least, -+ // this is a formalization for deprecating methods. -+ Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` -+ IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"` -+ // The parser stores options it doesn't recognize here. See above. -+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ proto.XXX_InternalExtensions `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *MethodOptions) Reset() { *m = MethodOptions{} } -+func (m *MethodOptions) String() string { return proto.CompactTextString(m) } -+func (*MethodOptions) ProtoMessage() {} -+func (*MethodOptions) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{17} -+} -+ -+var extRange_MethodOptions = []proto.ExtensionRange{ -+ {Start: 1000, End: 536870911}, -+} -+ -+func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange { -+ return extRange_MethodOptions -+} -+ -+func (m *MethodOptions) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_MethodOptions.Unmarshal(m, b) -+} -+func (m *MethodOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_MethodOptions.Marshal(b, m, deterministic) -+} -+func (m *MethodOptions) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_MethodOptions.Merge(m, src) -+} -+func (m *MethodOptions) XXX_Size() int { -+ return xxx_messageInfo_MethodOptions.Size(m) -+} -+func (m *MethodOptions) XXX_DiscardUnknown() { -+ xxx_messageInfo_MethodOptions.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_MethodOptions proto.InternalMessageInfo -+ -+const Default_MethodOptions_Deprecated bool = false -+const Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN -+ -+func (m *MethodOptions) GetDeprecated() bool { -+ if m != nil && m.Deprecated != nil { -+ return *m.Deprecated -+ } -+ return Default_MethodOptions_Deprecated -+} -+ -+func (m *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel { -+ if m != nil && m.IdempotencyLevel != nil { -+ return *m.IdempotencyLevel -+ } -+ return Default_MethodOptions_IdempotencyLevel -+} -+ -+func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption { -+ if m != nil { -+ return m.UninterpretedOption -+ } -+ return nil -+} -+ -+// A message representing a option the parser does not recognize. This only -+// appears in options protos created by the compiler::Parser class. -+// DescriptorPool resolves these when building Descriptor objects. Therefore, -+// options protos in descriptor objects (e.g. returned by Descriptor::options(), -+// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions -+// in them. -+type UninterpretedOption struct { -+ Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"` -+ // The value of the uninterpreted option, in whatever type the tokenizer -+ // identified it as during parsing. Exactly one of these should be set. -+ IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"` -+ PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"` -+ NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"` -+ DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"` -+ StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"` -+ AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} } -+func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) } -+func (*UninterpretedOption) ProtoMessage() {} -+func (*UninterpretedOption) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{18} -+} -+func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_UninterpretedOption.Unmarshal(m, b) -+} -+func (m *UninterpretedOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_UninterpretedOption.Marshal(b, m, deterministic) -+} -+func (m *UninterpretedOption) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_UninterpretedOption.Merge(m, src) -+} -+func (m *UninterpretedOption) XXX_Size() int { -+ return xxx_messageInfo_UninterpretedOption.Size(m) -+} -+func (m *UninterpretedOption) XXX_DiscardUnknown() { -+ xxx_messageInfo_UninterpretedOption.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_UninterpretedOption proto.InternalMessageInfo -+ -+func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart { -+ if m != nil { -+ return m.Name -+ } -+ return nil -+} -+ -+func (m *UninterpretedOption) GetIdentifierValue() string { -+ if m != nil && m.IdentifierValue != nil { -+ return *m.IdentifierValue -+ } -+ return "" -+} -+ -+func (m *UninterpretedOption) GetPositiveIntValue() uint64 { -+ if m != nil && m.PositiveIntValue != nil { -+ return *m.PositiveIntValue -+ } -+ return 0 -+} -+ -+func (m *UninterpretedOption) GetNegativeIntValue() int64 { -+ if m != nil && m.NegativeIntValue != nil { -+ return *m.NegativeIntValue -+ } -+ return 0 -+} -+ -+func (m *UninterpretedOption) GetDoubleValue() float64 { -+ if m != nil && m.DoubleValue != nil { -+ return *m.DoubleValue -+ } -+ return 0 -+} -+ -+func (m *UninterpretedOption) GetStringValue() []byte { -+ if m != nil { -+ return m.StringValue -+ } -+ return nil -+} -+ -+func (m *UninterpretedOption) GetAggregateValue() string { -+ if m != nil && m.AggregateValue != nil { -+ return *m.AggregateValue -+ } -+ return "" -+} -+ -+// The name of the uninterpreted option. Each string represents a segment in -+// a dot-separated name. is_extension is true iff a segment represents an -+// extension (denoted with parentheses in options specs in .proto files). -+// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents -+// "foo.(bar.baz).qux". -+type UninterpretedOption_NamePart struct { -+ NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"` -+ IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *UninterpretedOption_NamePart) Reset() { *m = UninterpretedOption_NamePart{} } -+func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) } -+func (*UninterpretedOption_NamePart) ProtoMessage() {} -+func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{18, 0} -+} -+func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_UninterpretedOption_NamePart.Unmarshal(m, b) -+} -+func (m *UninterpretedOption_NamePart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_UninterpretedOption_NamePart.Marshal(b, m, deterministic) -+} -+func (m *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_UninterpretedOption_NamePart.Merge(m, src) -+} -+func (m *UninterpretedOption_NamePart) XXX_Size() int { -+ return xxx_messageInfo_UninterpretedOption_NamePart.Size(m) -+} -+func (m *UninterpretedOption_NamePart) XXX_DiscardUnknown() { -+ xxx_messageInfo_UninterpretedOption_NamePart.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_UninterpretedOption_NamePart proto.InternalMessageInfo -+ -+func (m *UninterpretedOption_NamePart) GetNamePart() string { -+ if m != nil && m.NamePart != nil { -+ return *m.NamePart -+ } -+ return "" -+} -+ -+func (m *UninterpretedOption_NamePart) GetIsExtension() bool { -+ if m != nil && m.IsExtension != nil { -+ return *m.IsExtension -+ } -+ return false -+} -+ -+// Encapsulates information about the original source file from which a -+// FileDescriptorProto was generated. -+type SourceCodeInfo struct { -+ // A Location identifies a piece of source code in a .proto file which -+ // corresponds to a particular definition. This information is intended -+ // to be useful to IDEs, code indexers, documentation generators, and similar -+ // tools. -+ // -+ // For example, say we have a file like: -+ // message Foo { -+ // optional string foo = 1; -+ // } -+ // Let's look at just the field definition: -+ // optional string foo = 1; -+ // ^ ^^ ^^ ^ ^^^ -+ // a bc de f ghi -+ // We have the following locations: -+ // span path represents -+ // [a,i) [ 4, 0, 2, 0 ] The whole field definition. -+ // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). -+ // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). -+ // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). -+ // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). -+ // -+ // Notes: -+ // - A location may refer to a repeated field itself (i.e. not to any -+ // particular index within it). This is used whenever a set of elements are -+ // logically enclosed in a single code segment. For example, an entire -+ // extend block (possibly containing multiple extension definitions) will -+ // have an outer location whose path refers to the "extensions" repeated -+ // field without an index. -+ // - Multiple locations may have the same path. This happens when a single -+ // logical declaration is spread out across multiple places. The most -+ // obvious example is the "extend" block again -- there may be multiple -+ // extend blocks in the same scope, each of which will have the same path. -+ // - A location's span is not always a subset of its parent's span. For -+ // example, the "extendee" of an extension declaration appears at the -+ // beginning of the "extend" block and is shared by all extensions within -+ // the block. -+ // - Just because a location's span is a subset of some other location's span -+ // does not mean that it is a descendent. For example, a "group" defines -+ // both a type and a field in a single declaration. Thus, the locations -+ // corresponding to the type and field and their components will overlap. -+ // - Code which tries to interpret locations should probably be designed to -+ // ignore those that it doesn't understand, as more types of locations could -+ // be recorded in the future. -+ Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} } -+func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) } -+func (*SourceCodeInfo) ProtoMessage() {} -+func (*SourceCodeInfo) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{19} -+} -+func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_SourceCodeInfo.Unmarshal(m, b) -+} -+func (m *SourceCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_SourceCodeInfo.Marshal(b, m, deterministic) -+} -+func (m *SourceCodeInfo) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_SourceCodeInfo.Merge(m, src) -+} -+func (m *SourceCodeInfo) XXX_Size() int { -+ return xxx_messageInfo_SourceCodeInfo.Size(m) -+} -+func (m *SourceCodeInfo) XXX_DiscardUnknown() { -+ xxx_messageInfo_SourceCodeInfo.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_SourceCodeInfo proto.InternalMessageInfo -+ -+func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location { -+ if m != nil { -+ return m.Location -+ } -+ return nil -+} -+ -+type SourceCodeInfo_Location struct { -+ // Identifies which part of the FileDescriptorProto was defined at this -+ // location. -+ // -+ // Each element is a field number or an index. They form a path from -+ // the root FileDescriptorProto to the place where the definition. For -+ // example, this path: -+ // [ 4, 3, 2, 7, 1 ] -+ // refers to: -+ // file.message_type(3) // 4, 3 -+ // .field(7) // 2, 7 -+ // .name() // 1 -+ // This is because FileDescriptorProto.message_type has field number 4: -+ // repeated DescriptorProto message_type = 4; -+ // and DescriptorProto.field has field number 2: -+ // repeated FieldDescriptorProto field = 2; -+ // and FieldDescriptorProto.name has field number 1: -+ // optional string name = 1; -+ // -+ // Thus, the above path gives the location of a field name. If we removed -+ // the last element: -+ // [ 4, 3, 2, 7 ] -+ // this path refers to the whole field declaration (from the beginning -+ // of the label to the terminating semicolon). -+ Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` -+ // Always has exactly three or four elements: start line, start column, -+ // end line (optional, otherwise assumed same as start line), end column. -+ // These are packed into a single field for efficiency. Note that line -+ // and column numbers are zero-based -- typically you will want to add -+ // 1 to each before displaying to a user. -+ Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"` -+ // If this SourceCodeInfo represents a complete declaration, these are any -+ // comments appearing before and after the declaration which appear to be -+ // attached to the declaration. -+ // -+ // A series of line comments appearing on consecutive lines, with no other -+ // tokens appearing on those lines, will be treated as a single comment. -+ // -+ // leading_detached_comments will keep paragraphs of comments that appear -+ // before (but not connected to) the current element. Each paragraph, -+ // separated by empty lines, will be one comment element in the repeated -+ // field. -+ // -+ // Only the comment content is provided; comment markers (e.g. //) are -+ // stripped out. For block comments, leading whitespace and an asterisk -+ // will be stripped from the beginning of each line other than the first. -+ // Newlines are included in the output. -+ // -+ // Examples: -+ // -+ // optional int32 foo = 1; // Comment attached to foo. -+ // // Comment attached to bar. -+ // optional int32 bar = 2; -+ // -+ // optional string baz = 3; -+ // // Comment attached to baz. -+ // // Another line attached to baz. -+ // -+ // // Comment attached to qux. -+ // // -+ // // Another line attached to qux. -+ // optional double qux = 4; -+ // -+ // // Detached comment for corge. This is not leading or trailing comments -+ // // to qux or corge because there are blank lines separating it from -+ // // both. -+ // -+ // // Detached comment for corge paragraph 2. -+ // -+ // optional string corge = 5; -+ // /* Block comment attached -+ // * to corge. Leading asterisks -+ // * will be removed. */ -+ // /* Block comment attached to -+ // * grault. */ -+ // optional int32 grault = 6; -+ // -+ // // ignored detached comments. -+ LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"` -+ TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"` -+ LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *SourceCodeInfo_Location) Reset() { *m = SourceCodeInfo_Location{} } -+func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) } -+func (*SourceCodeInfo_Location) ProtoMessage() {} -+func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{19, 0} -+} -+func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_SourceCodeInfo_Location.Unmarshal(m, b) -+} -+func (m *SourceCodeInfo_Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_SourceCodeInfo_Location.Marshal(b, m, deterministic) -+} -+func (m *SourceCodeInfo_Location) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_SourceCodeInfo_Location.Merge(m, src) -+} -+func (m *SourceCodeInfo_Location) XXX_Size() int { -+ return xxx_messageInfo_SourceCodeInfo_Location.Size(m) -+} -+func (m *SourceCodeInfo_Location) XXX_DiscardUnknown() { -+ xxx_messageInfo_SourceCodeInfo_Location.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_SourceCodeInfo_Location proto.InternalMessageInfo -+ -+func (m *SourceCodeInfo_Location) GetPath() []int32 { -+ if m != nil { -+ return m.Path -+ } -+ return nil -+} -+ -+func (m *SourceCodeInfo_Location) GetSpan() []int32 { -+ if m != nil { -+ return m.Span -+ } -+ return nil -+} -+ -+func (m *SourceCodeInfo_Location) GetLeadingComments() string { -+ if m != nil && m.LeadingComments != nil { -+ return *m.LeadingComments -+ } -+ return "" -+} -+ -+func (m *SourceCodeInfo_Location) GetTrailingComments() string { -+ if m != nil && m.TrailingComments != nil { -+ return *m.TrailingComments -+ } -+ return "" -+} -+ -+func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string { -+ if m != nil { -+ return m.LeadingDetachedComments -+ } -+ return nil -+} -+ -+// Describes the relationship between generated code and its original source -+// file. A GeneratedCodeInfo message is associated with only one generated -+// source file, but may contain references to different source .proto files. -+type GeneratedCodeInfo struct { -+ // An Annotation connects some span of text in generated code to an element -+ // of its generating .proto file. -+ Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} } -+func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) } -+func (*GeneratedCodeInfo) ProtoMessage() {} -+func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{20} -+} -+func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_GeneratedCodeInfo.Unmarshal(m, b) -+} -+func (m *GeneratedCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_GeneratedCodeInfo.Marshal(b, m, deterministic) -+} -+func (m *GeneratedCodeInfo) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_GeneratedCodeInfo.Merge(m, src) -+} -+func (m *GeneratedCodeInfo) XXX_Size() int { -+ return xxx_messageInfo_GeneratedCodeInfo.Size(m) -+} -+func (m *GeneratedCodeInfo) XXX_DiscardUnknown() { -+ xxx_messageInfo_GeneratedCodeInfo.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_GeneratedCodeInfo proto.InternalMessageInfo -+ -+func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation { -+ if m != nil { -+ return m.Annotation -+ } -+ return nil -+} -+ -+type GeneratedCodeInfo_Annotation struct { -+ // Identifies the element in the original source .proto file. This field -+ // is formatted the same as SourceCodeInfo.Location.path. -+ Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` -+ // Identifies the filesystem path to the original source .proto. -+ SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"` -+ // Identifies the starting offset in bytes in the generated code -+ // that relates to the identified object. -+ Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"` -+ // Identifies the ending offset in bytes in the generated code that -+ // relates to the identified offset. The end offset should be one past -+ // the last relevant byte (so the length of the text = end - begin). -+ End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"` -+ XXX_NoUnkeyedLiteral struct{} `json:"-"` -+ XXX_unrecognized []byte `json:"-"` -+ XXX_sizecache int32 `json:"-"` -+} -+ -+func (m *GeneratedCodeInfo_Annotation) Reset() { *m = GeneratedCodeInfo_Annotation{} } -+func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) } -+func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} -+func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) { -+ return fileDescriptor_308767df5ffe18af, []int{20, 0} -+} -+func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error { -+ return xxx_messageInfo_GeneratedCodeInfo_Annotation.Unmarshal(m, b) -+} -+func (m *GeneratedCodeInfo_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { -+ return xxx_messageInfo_GeneratedCodeInfo_Annotation.Marshal(b, m, deterministic) -+} -+func (m *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) { -+ xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(m, src) -+} -+func (m *GeneratedCodeInfo_Annotation) XXX_Size() int { -+ return xxx_messageInfo_GeneratedCodeInfo_Annotation.Size(m) -+} -+func (m *GeneratedCodeInfo_Annotation) XXX_DiscardUnknown() { -+ xxx_messageInfo_GeneratedCodeInfo_Annotation.DiscardUnknown(m) -+} -+ -+var xxx_messageInfo_GeneratedCodeInfo_Annotation proto.InternalMessageInfo -+ -+func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 { -+ if m != nil { -+ return m.Path -+ } -+ return nil -+} -+ -+func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string { -+ if m != nil && m.SourceFile != nil { -+ return *m.SourceFile -+ } -+ return "" -+} -+ -+func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 { -+ if m != nil && m.Begin != nil { -+ return *m.Begin -+ } -+ return 0 -+} -+ -+func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 { -+ if m != nil && m.End != nil { -+ return *m.End -+ } -+ return 0 -+} -+ -+func init() { -+ proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value) -+ proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value) -+ proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value) -+ proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value) -+ proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value) -+ proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value) -+ proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet") -+ proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto") -+ proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto") -+ proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange") -+ proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange") -+ proto.RegisterType((*ExtensionRangeOptions)(nil), "google.protobuf.ExtensionRangeOptions") -+ proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto") -+ proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto") -+ proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto") -+ proto.RegisterType((*EnumDescriptorProto_EnumReservedRange)(nil), "google.protobuf.EnumDescriptorProto.EnumReservedRange") -+ proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto") -+ proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto") -+ proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto") -+ proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions") -+ proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions") -+ proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions") -+ proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions") -+ proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions") -+ proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions") -+ proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions") -+ proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions") -+ proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption") -+ proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart") -+ proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo") -+ proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location") -+ proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo") -+ proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation") -+} -+ -+func init() { proto.RegisterFile("descriptor.proto", fileDescriptor_308767df5ffe18af) } -+ -+var fileDescriptor_308767df5ffe18af = []byte{ -+ // 2522 bytes of a gzipped FileDescriptorProto -+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x6f, 0xdb, 0xc8, -+ 0x15, 0x5f, 0x7d, 0x5a, 0x7a, 0x92, 0x65, 0x7a, 0xec, 0x75, 0x18, 0xef, 0x47, 0x1c, 0xed, 0x66, -+ 0xe3, 0x24, 0xbb, 0xca, 0xc2, 0x49, 0x9c, 0xac, 0x53, 0x6c, 0x2b, 0x4b, 0x8c, 0x57, 0xa9, 0xbe, -+ 0x4a, 0xc9, 0xdd, 0x64, 0x8b, 0x82, 0x18, 0x93, 0x23, 0x89, 0x09, 0x45, 0x72, 0x49, 0x2a, 0x89, -+ 0x83, 0x1e, 0x02, 0xf4, 0x54, 0xa0, 0x7f, 0x40, 0x51, 0x14, 0x3d, 0xf4, 0xb2, 0x40, 0xff, 0x80, -+ 0x02, 0xed, 0xbd, 0xd7, 0x02, 0xbd, 0xf7, 0x50, 0xa0, 0x05, 0xda, 0x3f, 0xa1, 0xc7, 0x62, 0x66, -+ 0x48, 0x8a, 0xd4, 0x47, 0xe2, 0x5d, 0x20, 0xd9, 0x93, 0x3d, 0xef, 0xfd, 0xde, 0x9b, 0x37, 0x8f, -+ 0xbf, 0x79, 0xf3, 0x66, 0x04, 0x82, 0x46, 0x5c, 0xd5, 0xd1, 0x6d, 0xcf, 0x72, 0x2a, 0xb6, 0x63, -+ 0x79, 0x16, 0x5a, 0x1b, 0x5a, 0xd6, 0xd0, 0x20, 0x7c, 0x74, 0x32, 0x19, 0x94, 0x5b, 0xb0, 0x7e, -+ 0x4f, 0x37, 0x48, 0x3d, 0x04, 0xf6, 0x88, 0x87, 0xee, 0x40, 0x7a, 0xa0, 0x1b, 0x44, 0x4c, 0xec, -+ 0xa4, 0x76, 0x0b, 0x7b, 0x1f, 0x56, 0x66, 0x8c, 0x2a, 0x71, 0x8b, 0x2e, 0x15, 0xcb, 0xcc, 0xa2, -+ 0xfc, 0xef, 0x34, 0x6c, 0x2c, 0xd0, 0x22, 0x04, 0x69, 0x13, 0x8f, 0xa9, 0xc7, 0xc4, 0x6e, 0x5e, -+ 0x66, 0xff, 0x23, 0x11, 0x56, 0x6c, 0xac, 0x3e, 0xc6, 0x43, 0x22, 0x26, 0x99, 0x38, 0x18, 0xa2, -+ 0xf7, 0x01, 0x34, 0x62, 0x13, 0x53, 0x23, 0xa6, 0x7a, 0x2a, 0xa6, 0x76, 0x52, 0xbb, 0x79, 0x39, -+ 0x22, 0x41, 0xd7, 0x60, 0xdd, 0x9e, 0x9c, 0x18, 0xba, 0xaa, 0x44, 0x60, 0xb0, 0x93, 0xda, 0xcd, -+ 0xc8, 0x02, 0x57, 0xd4, 0xa7, 0xe0, 0xcb, 0xb0, 0xf6, 0x94, 0xe0, 0xc7, 0x51, 0x68, 0x81, 0x41, -+ 0x4b, 0x54, 0x1c, 0x01, 0xd6, 0xa0, 0x38, 0x26, 0xae, 0x8b, 0x87, 0x44, 0xf1, 0x4e, 0x6d, 0x22, -+ 0xa6, 0xd9, 0xea, 0x77, 0xe6, 0x56, 0x3f, 0xbb, 0xf2, 0x82, 0x6f, 0xd5, 0x3f, 0xb5, 0x09, 0xaa, -+ 0x42, 0x9e, 0x98, 0x93, 0x31, 0xf7, 0x90, 0x59, 0x92, 0x3f, 0xc9, 0x9c, 0x8c, 0x67, 0xbd, 0xe4, -+ 0xa8, 0x99, 0xef, 0x62, 0xc5, 0x25, 0xce, 0x13, 0x5d, 0x25, 0x62, 0x96, 0x39, 0xb8, 0x3c, 0xe7, -+ 0xa0, 0xc7, 0xf5, 0xb3, 0x3e, 0x02, 0x3b, 0x54, 0x83, 0x3c, 0x79, 0xe6, 0x11, 0xd3, 0xd5, 0x2d, -+ 0x53, 0x5c, 0x61, 0x4e, 0x2e, 0x2d, 0xf8, 0x8a, 0xc4, 0xd0, 0x66, 0x5d, 0x4c, 0xed, 0xd0, 0x3e, -+ 0xac, 0x58, 0xb6, 0xa7, 0x5b, 0xa6, 0x2b, 0xe6, 0x76, 0x12, 0xbb, 0x85, 0xbd, 0x77, 0x17, 0x12, -+ 0xa1, 0xc3, 0x31, 0x72, 0x00, 0x46, 0x0d, 0x10, 0x5c, 0x6b, 0xe2, 0xa8, 0x44, 0x51, 0x2d, 0x8d, -+ 0x28, 0xba, 0x39, 0xb0, 0xc4, 0x3c, 0x73, 0x70, 0x61, 0x7e, 0x21, 0x0c, 0x58, 0xb3, 0x34, 0xd2, -+ 0x30, 0x07, 0x96, 0x5c, 0x72, 0x63, 0x63, 0xb4, 0x05, 0x59, 0xf7, 0xd4, 0xf4, 0xf0, 0x33, 0xb1, -+ 0xc8, 0x18, 0xe2, 0x8f, 0xca, 0x7f, 0xce, 0xc2, 0xda, 0x59, 0x28, 0x76, 0x17, 0x32, 0x03, 0xba, -+ 0x4a, 0x31, 0xf9, 0x6d, 0x72, 0xc0, 0x6d, 0xe2, 0x49, 0xcc, 0x7e, 0xc7, 0x24, 0x56, 0xa1, 0x60, -+ 0x12, 0xd7, 0x23, 0x1a, 0x67, 0x44, 0xea, 0x8c, 0x9c, 0x02, 0x6e, 0x34, 0x4f, 0xa9, 0xf4, 0x77, -+ 0xa2, 0xd4, 0x03, 0x58, 0x0b, 0x43, 0x52, 0x1c, 0x6c, 0x0e, 0x03, 0x6e, 0x5e, 0x7f, 0x55, 0x24, -+ 0x15, 0x29, 0xb0, 0x93, 0xa9, 0x99, 0x5c, 0x22, 0xb1, 0x31, 0xaa, 0x03, 0x58, 0x26, 0xb1, 0x06, -+ 0x8a, 0x46, 0x54, 0x43, 0xcc, 0x2d, 0xc9, 0x52, 0x87, 0x42, 0xe6, 0xb2, 0x64, 0x71, 0xa9, 0x6a, -+ 0xa0, 0xcf, 0xa6, 0x54, 0x5b, 0x59, 0xc2, 0x94, 0x16, 0xdf, 0x64, 0x73, 0x6c, 0x3b, 0x86, 0x92, -+ 0x43, 0x28, 0xef, 0x89, 0xe6, 0xaf, 0x2c, 0xcf, 0x82, 0xa8, 0xbc, 0x72, 0x65, 0xb2, 0x6f, 0xc6, -+ 0x17, 0xb6, 0xea, 0x44, 0x87, 0xe8, 0x03, 0x08, 0x05, 0x0a, 0xa3, 0x15, 0xb0, 0x2a, 0x54, 0x0c, -+ 0x84, 0x6d, 0x3c, 0x26, 0xdb, 0xcf, 0xa1, 0x14, 0x4f, 0x0f, 0xda, 0x84, 0x8c, 0xeb, 0x61, 0xc7, -+ 0x63, 0x2c, 0xcc, 0xc8, 0x7c, 0x80, 0x04, 0x48, 0x11, 0x53, 0x63, 0x55, 0x2e, 0x23, 0xd3, 0x7f, -+ 0xd1, 0x8f, 0xa6, 0x0b, 0x4e, 0xb1, 0x05, 0x7f, 0x34, 0xff, 0x45, 0x63, 0x9e, 0x67, 0xd7, 0xbd, -+ 0x7d, 0x1b, 0x56, 0x63, 0x0b, 0x38, 0xeb, 0xd4, 0xe5, 0x5f, 0xc0, 0xdb, 0x0b, 0x5d, 0xa3, 0x07, -+ 0xb0, 0x39, 0x31, 0x75, 0xd3, 0x23, 0x8e, 0xed, 0x10, 0xca, 0x58, 0x3e, 0x95, 0xf8, 0x9f, 0x95, -+ 0x25, 0x9c, 0x3b, 0x8e, 0xa2, 0xb9, 0x17, 0x79, 0x63, 0x32, 0x2f, 0xbc, 0x9a, 0xcf, 0xfd, 0x77, -+ 0x45, 0x78, 0xf1, 0xe2, 0xc5, 0x8b, 0x64, 0xf9, 0x37, 0x59, 0xd8, 0x5c, 0xb4, 0x67, 0x16, 0x6e, -+ 0xdf, 0x2d, 0xc8, 0x9a, 0x93, 0xf1, 0x09, 0x71, 0x58, 0x92, 0x32, 0xb2, 0x3f, 0x42, 0x55, 0xc8, -+ 0x18, 0xf8, 0x84, 0x18, 0x62, 0x7a, 0x27, 0xb1, 0x5b, 0xda, 0xbb, 0x76, 0xa6, 0x5d, 0x59, 0x69, -+ 0x52, 0x13, 0x99, 0x5b, 0xa2, 0xcf, 0x21, 0xed, 0x97, 0x68, 0xea, 0xe1, 0xea, 0xd9, 0x3c, 0xd0, -+ 0xbd, 0x24, 0x33, 0x3b, 0xf4, 0x0e, 0xe4, 0xe9, 0x5f, 0xce, 0x8d, 0x2c, 0x8b, 0x39, 0x47, 0x05, -+ 0x94, 0x17, 0x68, 0x1b, 0x72, 0x6c, 0x9b, 0x68, 0x24, 0x38, 0xda, 0xc2, 0x31, 0x25, 0x96, 0x46, -+ 0x06, 0x78, 0x62, 0x78, 0xca, 0x13, 0x6c, 0x4c, 0x08, 0x23, 0x7c, 0x5e, 0x2e, 0xfa, 0xc2, 0x9f, -+ 0x52, 0x19, 0xba, 0x00, 0x05, 0xbe, 0xab, 0x74, 0x53, 0x23, 0xcf, 0x58, 0xf5, 0xcc, 0xc8, 0x7c, -+ 0xa3, 0x35, 0xa8, 0x84, 0x4e, 0xff, 0xc8, 0xb5, 0xcc, 0x80, 0x9a, 0x6c, 0x0a, 0x2a, 0x60, 0xd3, -+ 0xdf, 0x9e, 0x2d, 0xdc, 0xef, 0x2d, 0x5e, 0xde, 0x2c, 0xa7, 0xca, 0x7f, 0x4a, 0x42, 0x9a, 0xd5, -+ 0x8b, 0x35, 0x28, 0xf4, 0x1f, 0x76, 0x25, 0xa5, 0xde, 0x39, 0x3e, 0x6c, 0x4a, 0x42, 0x02, 0x95, -+ 0x00, 0x98, 0xe0, 0x5e, 0xb3, 0x53, 0xed, 0x0b, 0xc9, 0x70, 0xdc, 0x68, 0xf7, 0xf7, 0x6f, 0x0a, -+ 0xa9, 0xd0, 0xe0, 0x98, 0x0b, 0xd2, 0x51, 0xc0, 0x8d, 0x3d, 0x21, 0x83, 0x04, 0x28, 0x72, 0x07, -+ 0x8d, 0x07, 0x52, 0x7d, 0xff, 0xa6, 0x90, 0x8d, 0x4b, 0x6e, 0xec, 0x09, 0x2b, 0x68, 0x15, 0xf2, -+ 0x4c, 0x72, 0xd8, 0xe9, 0x34, 0x85, 0x5c, 0xe8, 0xb3, 0xd7, 0x97, 0x1b, 0xed, 0x23, 0x21, 0x1f, -+ 0xfa, 0x3c, 0x92, 0x3b, 0xc7, 0x5d, 0x01, 0x42, 0x0f, 0x2d, 0xa9, 0xd7, 0xab, 0x1e, 0x49, 0x42, -+ 0x21, 0x44, 0x1c, 0x3e, 0xec, 0x4b, 0x3d, 0xa1, 0x18, 0x0b, 0xeb, 0xc6, 0x9e, 0xb0, 0x1a, 0x4e, -+ 0x21, 0xb5, 0x8f, 0x5b, 0x42, 0x09, 0xad, 0xc3, 0x2a, 0x9f, 0x22, 0x08, 0x62, 0x6d, 0x46, 0xb4, -+ 0x7f, 0x53, 0x10, 0xa6, 0x81, 0x70, 0x2f, 0xeb, 0x31, 0xc1, 0xfe, 0x4d, 0x01, 0x95, 0x6b, 0x90, -+ 0x61, 0xec, 0x42, 0x08, 0x4a, 0xcd, 0xea, 0xa1, 0xd4, 0x54, 0x3a, 0xdd, 0x7e, 0xa3, 0xd3, 0xae, -+ 0x36, 0x85, 0xc4, 0x54, 0x26, 0x4b, 0x3f, 0x39, 0x6e, 0xc8, 0x52, 0x5d, 0x48, 0x46, 0x65, 0x5d, -+ 0xa9, 0xda, 0x97, 0xea, 0x42, 0xaa, 0xac, 0xc2, 0xe6, 0xa2, 0x3a, 0xb9, 0x70, 0x67, 0x44, 0x3e, -+ 0x71, 0x72, 0xc9, 0x27, 0x66, 0xbe, 0xe6, 0x3e, 0xf1, 0xbf, 0x92, 0xb0, 0xb1, 0xe0, 0xac, 0x58, -+ 0x38, 0xc9, 0x0f, 0x21, 0xc3, 0x29, 0xca, 0x4f, 0xcf, 0x2b, 0x0b, 0x0f, 0x1d, 0x46, 0xd8, 0xb9, -+ 0x13, 0x94, 0xd9, 0x45, 0x3b, 0x88, 0xd4, 0x92, 0x0e, 0x82, 0xba, 0x98, 0xab, 0xe9, 0x3f, 0x9f, -+ 0xab, 0xe9, 0xfc, 0xd8, 0xdb, 0x3f, 0xcb, 0xb1, 0xc7, 0x64, 0xdf, 0xae, 0xb6, 0x67, 0x16, 0xd4, -+ 0xf6, 0xbb, 0xb0, 0x3e, 0xe7, 0xe8, 0xcc, 0x35, 0xf6, 0x97, 0x09, 0x10, 0x97, 0x25, 0xe7, 0x15, -+ 0x95, 0x2e, 0x19, 0xab, 0x74, 0x77, 0x67, 0x33, 0x78, 0x71, 0xf9, 0x47, 0x98, 0xfb, 0xd6, 0xdf, -+ 0x24, 0x60, 0x6b, 0x71, 0xa7, 0xb8, 0x30, 0x86, 0xcf, 0x21, 0x3b, 0x26, 0xde, 0xc8, 0x0a, 0xba, -+ 0xa5, 0x8f, 0x16, 0x9c, 0xc1, 0x54, 0x3d, 0xfb, 0xb1, 0x7d, 0xab, 0xe8, 0x21, 0x9e, 0x5a, 0xd6, -+ 0xee, 0xf1, 0x68, 0xe6, 0x22, 0xfd, 0x55, 0x12, 0xde, 0x5e, 0xe8, 0x7c, 0x61, 0xa0, 0xef, 0x01, -+ 0xe8, 0xa6, 0x3d, 0xf1, 0x78, 0x47, 0xc4, 0x0b, 0x6c, 0x9e, 0x49, 0x58, 0xf1, 0xa2, 0xc5, 0x73, -+ 0xe2, 0x85, 0xfa, 0x14, 0xd3, 0x03, 0x17, 0x31, 0xc0, 0x9d, 0x69, 0xa0, 0x69, 0x16, 0xe8, 0xfb, -+ 0x4b, 0x56, 0x3a, 0x47, 0xcc, 0x4f, 0x41, 0x50, 0x0d, 0x9d, 0x98, 0x9e, 0xe2, 0x7a, 0x0e, 0xc1, -+ 0x63, 0xdd, 0x1c, 0xb2, 0x13, 0x24, 0x77, 0x90, 0x19, 0x60, 0xc3, 0x25, 0xf2, 0x1a, 0x57, 0xf7, -+ 0x02, 0x2d, 0xb5, 0x60, 0x04, 0x72, 0x22, 0x16, 0xd9, 0x98, 0x05, 0x57, 0x87, 0x16, 0xe5, 0x5f, -+ 0xe7, 0xa1, 0x10, 0xe9, 0xab, 0xd1, 0x45, 0x28, 0x3e, 0xc2, 0x4f, 0xb0, 0x12, 0xdc, 0x95, 0x78, -+ 0x26, 0x0a, 0x54, 0xd6, 0xf5, 0xef, 0x4b, 0x9f, 0xc2, 0x26, 0x83, 0x58, 0x13, 0x8f, 0x38, 0x8a, -+ 0x6a, 0x60, 0xd7, 0x65, 0x49, 0xcb, 0x31, 0x28, 0xa2, 0xba, 0x0e, 0x55, 0xd5, 0x02, 0x0d, 0xba, -+ 0x05, 0x1b, 0xcc, 0x62, 0x3c, 0x31, 0x3c, 0xdd, 0x36, 0x88, 0x42, 0x6f, 0x6f, 0x2e, 0x3b, 0x49, -+ 0xc2, 0xc8, 0xd6, 0x29, 0xa2, 0xe5, 0x03, 0x68, 0x44, 0x2e, 0xaa, 0xc3, 0x7b, 0xcc, 0x6c, 0x48, -+ 0x4c, 0xe2, 0x60, 0x8f, 0x28, 0xe4, 0xeb, 0x09, 0x36, 0x5c, 0x05, 0x9b, 0x9a, 0x32, 0xc2, 0xee, -+ 0x48, 0xdc, 0xa4, 0x0e, 0x0e, 0x93, 0x62, 0x42, 0x3e, 0x4f, 0x81, 0x47, 0x3e, 0x4e, 0x62, 0xb0, -+ 0xaa, 0xa9, 0x7d, 0x81, 0xdd, 0x11, 0x3a, 0x80, 0x2d, 0xe6, 0xc5, 0xf5, 0x1c, 0xdd, 0x1c, 0x2a, -+ 0xea, 0x88, 0xa8, 0x8f, 0x95, 0x89, 0x37, 0xb8, 0x23, 0xbe, 0x13, 0x9d, 0x9f, 0x45, 0xd8, 0x63, -+ 0x98, 0x1a, 0x85, 0x1c, 0x7b, 0x83, 0x3b, 0xa8, 0x07, 0x45, 0xfa, 0x31, 0xc6, 0xfa, 0x73, 0xa2, -+ 0x0c, 0x2c, 0x87, 0x1d, 0x8d, 0xa5, 0x05, 0xa5, 0x29, 0x92, 0xc1, 0x4a, 0xc7, 0x37, 0x68, 0x59, -+ 0x1a, 0x39, 0xc8, 0xf4, 0xba, 0x92, 0x54, 0x97, 0x0b, 0x81, 0x97, 0x7b, 0x96, 0x43, 0x09, 0x35, -+ 0xb4, 0xc2, 0x04, 0x17, 0x38, 0xa1, 0x86, 0x56, 0x90, 0xde, 0x5b, 0xb0, 0xa1, 0xaa, 0x7c, 0xcd, -+ 0xba, 0xaa, 0xf8, 0x77, 0x2c, 0x57, 0x14, 0x62, 0xc9, 0x52, 0xd5, 0x23, 0x0e, 0xf0, 0x39, 0xee, -+ 0xa2, 0xcf, 0xe0, 0xed, 0x69, 0xb2, 0xa2, 0x86, 0xeb, 0x73, 0xab, 0x9c, 0x35, 0xbd, 0x05, 0x1b, -+ 0xf6, 0xe9, 0xbc, 0x21, 0x8a, 0xcd, 0x68, 0x9f, 0xce, 0x9a, 0xdd, 0x86, 0x4d, 0x7b, 0x64, 0xcf, -+ 0xdb, 0x5d, 0x8d, 0xda, 0x21, 0x7b, 0x64, 0xcf, 0x1a, 0x5e, 0x62, 0x17, 0x6e, 0x87, 0xa8, 0xd8, -+ 0x23, 0x9a, 0x78, 0x2e, 0x0a, 0x8f, 0x28, 0xd0, 0x75, 0x10, 0x54, 0x55, 0x21, 0x26, 0x3e, 0x31, -+ 0x88, 0x82, 0x1d, 0x62, 0x62, 0x57, 0xbc, 0x10, 0x05, 0x97, 0x54, 0x55, 0x62, 0xda, 0x2a, 0x53, -+ 0xa2, 0xab, 0xb0, 0x6e, 0x9d, 0x3c, 0x52, 0x39, 0x25, 0x15, 0xdb, 0x21, 0x03, 0xfd, 0x99, 0xf8, -+ 0x21, 0xcb, 0xef, 0x1a, 0x55, 0x30, 0x42, 0x76, 0x99, 0x18, 0x5d, 0x01, 0x41, 0x75, 0x47, 0xd8, -+ 0xb1, 0x59, 0x4d, 0x76, 0x6d, 0xac, 0x12, 0xf1, 0x12, 0x87, 0x72, 0x79, 0x3b, 0x10, 0xd3, 0x2d, -+ 0xe1, 0x3e, 0xd5, 0x07, 0x5e, 0xe0, 0xf1, 0x32, 0xdf, 0x12, 0x4c, 0xe6, 0x7b, 0xdb, 0x05, 0x81, -+ 0xa6, 0x22, 0x36, 0xf1, 0x2e, 0x83, 0x95, 0xec, 0x91, 0x1d, 0x9d, 0xf7, 0x03, 0x58, 0xa5, 0xc8, -+ 0xe9, 0xa4, 0x57, 0x78, 0x43, 0x66, 0x8f, 0x22, 0x33, 0xde, 0x84, 0x2d, 0x0a, 0x1a, 0x13, 0x0f, -+ 0x6b, 0xd8, 0xc3, 0x11, 0xf4, 0xc7, 0x0c, 0x4d, 0xf3, 0xde, 0xf2, 0x95, 0xb1, 0x38, 0x9d, 0xc9, -+ 0xc9, 0x69, 0xc8, 0xac, 0x4f, 0x78, 0x9c, 0x54, 0x16, 0x70, 0xeb, 0xb5, 0x35, 0xdd, 0xe5, 0x03, -+ 0x28, 0x46, 0x89, 0x8f, 0xf2, 0xc0, 0xa9, 0x2f, 0x24, 0x68, 0x17, 0x54, 0xeb, 0xd4, 0x69, 0xff, -+ 0xf2, 0x95, 0x24, 0x24, 0x69, 0x1f, 0xd5, 0x6c, 0xf4, 0x25, 0x45, 0x3e, 0x6e, 0xf7, 0x1b, 0x2d, -+ 0x49, 0x48, 0x45, 0x1b, 0xf6, 0xbf, 0x26, 0xa1, 0x14, 0xbf, 0x7b, 0xa1, 0x1f, 0xc0, 0xb9, 0xe0, -+ 0xa1, 0xc4, 0x25, 0x9e, 0xf2, 0x54, 0x77, 0xd8, 0x5e, 0x1c, 0x63, 0x7e, 0x2e, 0x86, 0x6c, 0xd8, -+ 0xf4, 0x51, 0x3d, 0xe2, 0x7d, 0xa9, 0x3b, 0x74, 0xa7, 0x8d, 0xb1, 0x87, 0x9a, 0x70, 0xc1, 0xb4, -+ 0x14, 0xd7, 0xc3, 0xa6, 0x86, 0x1d, 0x4d, 0x99, 0x3e, 0x51, 0x29, 0x58, 0x55, 0x89, 0xeb, 0x5a, -+ 0xfc, 0x0c, 0x0c, 0xbd, 0xbc, 0x6b, 0x5a, 0x3d, 0x1f, 0x3c, 0x3d, 0x1c, 0xaa, 0x3e, 0x74, 0x86, -+ 0xb9, 0xa9, 0x65, 0xcc, 0x7d, 0x07, 0xf2, 0x63, 0x6c, 0x2b, 0xc4, 0xf4, 0x9c, 0x53, 0xd6, 0x71, -+ 0xe7, 0xe4, 0xdc, 0x18, 0xdb, 0x12, 0x1d, 0xbf, 0x99, 0x8b, 0xcf, 0x3f, 0x52, 0x50, 0x8c, 0x76, -+ 0xdd, 0xf4, 0x12, 0xa3, 0xb2, 0x03, 0x2a, 0xc1, 0x4a, 0xd8, 0x07, 0x2f, 0xed, 0xd1, 0x2b, 0x35, -+ 0x7a, 0x72, 0x1d, 0x64, 0x79, 0x2f, 0x2c, 0x73, 0x4b, 0xda, 0x35, 0x50, 0x6a, 0x11, 0xde, 0x7b, -+ 0xe4, 0x64, 0x7f, 0x84, 0x8e, 0x20, 0xfb, 0xc8, 0x65, 0xbe, 0xb3, 0xcc, 0xf7, 0x87, 0x2f, 0xf7, -+ 0x7d, 0xbf, 0xc7, 0x9c, 0xe7, 0xef, 0xf7, 0x94, 0x76, 0x47, 0x6e, 0x55, 0x9b, 0xb2, 0x6f, 0x8e, -+ 0xce, 0x43, 0xda, 0xc0, 0xcf, 0x4f, 0xe3, 0x67, 0x1c, 0x13, 0x9d, 0x35, 0xf1, 0xe7, 0x21, 0xfd, -+ 0x94, 0xe0, 0xc7, 0xf1, 0x93, 0x85, 0x89, 0x5e, 0x23, 0xf5, 0xaf, 0x43, 0x86, 0xe5, 0x0b, 0x01, -+ 0xf8, 0x19, 0x13, 0xde, 0x42, 0x39, 0x48, 0xd7, 0x3a, 0x32, 0xa5, 0xbf, 0x00, 0x45, 0x2e, 0x55, -+ 0xba, 0x0d, 0xa9, 0x26, 0x09, 0xc9, 0xf2, 0x2d, 0xc8, 0xf2, 0x24, 0xd0, 0xad, 0x11, 0xa6, 0x41, -+ 0x78, 0xcb, 0x1f, 0xfa, 0x3e, 0x12, 0x81, 0xf6, 0xb8, 0x75, 0x28, 0xc9, 0x42, 0x32, 0xfa, 0x79, -+ 0x5d, 0x28, 0x46, 0x1b, 0xee, 0x37, 0xc3, 0xa9, 0xbf, 0x24, 0xa0, 0x10, 0x69, 0xa0, 0x69, 0xe7, -+ 0x83, 0x0d, 0xc3, 0x7a, 0xaa, 0x60, 0x43, 0xc7, 0xae, 0x4f, 0x0a, 0x60, 0xa2, 0x2a, 0x95, 0x9c, -+ 0xf5, 0xa3, 0xbd, 0x91, 0xe0, 0x7f, 0x9f, 0x00, 0x61, 0xb6, 0x77, 0x9d, 0x09, 0x30, 0xf1, 0xbd, -+ 0x06, 0xf8, 0xbb, 0x04, 0x94, 0xe2, 0x0d, 0xeb, 0x4c, 0x78, 0x17, 0xbf, 0xd7, 0xf0, 0xfe, 0x99, -+ 0x84, 0xd5, 0x58, 0x9b, 0x7a, 0xd6, 0xe8, 0xbe, 0x86, 0x75, 0x5d, 0x23, 0x63, 0xdb, 0xf2, 0x88, -+ 0xa9, 0x9e, 0x2a, 0x06, 0x79, 0x42, 0x0c, 0xb1, 0xcc, 0x0a, 0xc5, 0xf5, 0x97, 0x37, 0xc2, 0x95, -+ 0xc6, 0xd4, 0xae, 0x49, 0xcd, 0x0e, 0x36, 0x1a, 0x75, 0xa9, 0xd5, 0xed, 0xf4, 0xa5, 0x76, 0xed, -+ 0xa1, 0x72, 0xdc, 0xfe, 0x71, 0xbb, 0xf3, 0x65, 0x5b, 0x16, 0xf4, 0x19, 0xd8, 0x6b, 0xdc, 0xea, -+ 0x5d, 0x10, 0x66, 0x83, 0x42, 0xe7, 0x60, 0x51, 0x58, 0xc2, 0x5b, 0x68, 0x03, 0xd6, 0xda, 0x1d, -+ 0xa5, 0xd7, 0xa8, 0x4b, 0x8a, 0x74, 0xef, 0x9e, 0x54, 0xeb, 0xf7, 0xf8, 0xd3, 0x46, 0x88, 0xee, -+ 0xc7, 0x37, 0xf5, 0x6f, 0x53, 0xb0, 0xb1, 0x20, 0x12, 0x54, 0xf5, 0x2f, 0x25, 0xfc, 0x9e, 0xf4, -+ 0xc9, 0x59, 0xa2, 0xaf, 0xd0, 0xae, 0xa0, 0x8b, 0x1d, 0xcf, 0xbf, 0xc3, 0x5c, 0x01, 0x9a, 0x25, -+ 0xd3, 0xd3, 0x07, 0x3a, 0x71, 0xfc, 0x97, 0x20, 0x7e, 0x53, 0x59, 0x9b, 0xca, 0xf9, 0x63, 0xd0, -+ 0xc7, 0x80, 0x6c, 0xcb, 0xd5, 0x3d, 0xfd, 0x09, 0x51, 0x74, 0x33, 0x78, 0x36, 0xa2, 0x37, 0x97, -+ 0xb4, 0x2c, 0x04, 0x9a, 0x86, 0xe9, 0x85, 0x68, 0x93, 0x0c, 0xf1, 0x0c, 0x9a, 0x16, 0xf0, 0x94, -+ 0x2c, 0x04, 0x9a, 0x10, 0x7d, 0x11, 0x8a, 0x9a, 0x35, 0xa1, 0xed, 0x1c, 0xc7, 0xd1, 0xf3, 0x22, -+ 0x21, 0x17, 0xb8, 0x2c, 0x84, 0xf8, 0x8d, 0xfa, 0xf4, 0xbd, 0xaa, 0x28, 0x17, 0xb8, 0x8c, 0x43, -+ 0x2e, 0xc3, 0x1a, 0x1e, 0x0e, 0x1d, 0xea, 0x3c, 0x70, 0xc4, 0xaf, 0x1e, 0xa5, 0x50, 0xcc, 0x80, -+ 0xdb, 0xf7, 0x21, 0x17, 0xe4, 0x81, 0x1e, 0xc9, 0x34, 0x13, 0x8a, 0xcd, 0xef, 0xd3, 0xc9, 0xdd, -+ 0xbc, 0x9c, 0x33, 0x03, 0xe5, 0x45, 0x28, 0xea, 0xae, 0x32, 0x7d, 0x7e, 0x4f, 0xee, 0x24, 0x77, -+ 0x73, 0x72, 0x41, 0x77, 0xc3, 0xa7, 0xcb, 0xf2, 0x37, 0x49, 0x28, 0xc5, 0x7f, 0x3e, 0x40, 0x75, -+ 0xc8, 0x19, 0x96, 0x8a, 0x19, 0xb5, 0xf8, 0x6f, 0x57, 0xbb, 0xaf, 0xf8, 0xc5, 0xa1, 0xd2, 0xf4, -+ 0xf1, 0x72, 0x68, 0xb9, 0xfd, 0xb7, 0x04, 0xe4, 0x02, 0x31, 0xda, 0x82, 0xb4, 0x8d, 0xbd, 0x11, -+ 0x73, 0x97, 0x39, 0x4c, 0x0a, 0x09, 0x99, 0x8d, 0xa9, 0xdc, 0xb5, 0xb1, 0xc9, 0x28, 0xe0, 0xcb, -+ 0xe9, 0x98, 0x7e, 0x57, 0x83, 0x60, 0x8d, 0xdd, 0x6b, 0xac, 0xf1, 0x98, 0x98, 0x9e, 0x1b, 0x7c, -+ 0x57, 0x5f, 0x5e, 0xf3, 0xc5, 0xe8, 0x1a, 0xac, 0x7b, 0x0e, 0xd6, 0x8d, 0x18, 0x36, 0xcd, 0xb0, -+ 0x42, 0xa0, 0x08, 0xc1, 0x07, 0x70, 0x3e, 0xf0, 0xab, 0x11, 0x0f, 0xab, 0x23, 0xa2, 0x4d, 0x8d, -+ 0xb2, 0xec, 0xfd, 0xe2, 0x9c, 0x0f, 0xa8, 0xfb, 0xfa, 0xc0, 0xb6, 0xfc, 0xf7, 0x04, 0xac, 0x07, -+ 0x37, 0x31, 0x2d, 0x4c, 0x56, 0x0b, 0x00, 0x9b, 0xa6, 0xe5, 0x45, 0xd3, 0x35, 0x4f, 0xe5, 0x39, -+ 0xbb, 0x4a, 0x35, 0x34, 0x92, 0x23, 0x0e, 0xb6, 0xc7, 0x00, 0x53, 0xcd, 0xd2, 0xb4, 0x5d, 0x80, -+ 0x82, 0xff, 0xdb, 0x10, 0xfb, 0x81, 0x91, 0xdf, 0xdd, 0x81, 0x8b, 0xe8, 0x95, 0x0d, 0x6d, 0x42, -+ 0xe6, 0x84, 0x0c, 0x75, 0xd3, 0x7f, 0xf1, 0xe5, 0x83, 0xe0, 0x85, 0x25, 0x1d, 0xbe, 0xb0, 0x1c, -+ 0xfe, 0x0c, 0x36, 0x54, 0x6b, 0x3c, 0x1b, 0xee, 0xa1, 0x30, 0xf3, 0x7e, 0xe0, 0x7e, 0x91, 0xf8, -+ 0x0a, 0xa6, 0x2d, 0xe6, 0xff, 0x12, 0x89, 0x3f, 0x24, 0x53, 0x47, 0xdd, 0xc3, 0x3f, 0x26, 0xb7, -+ 0x8f, 0xb8, 0x69, 0x37, 0x58, 0xa9, 0x4c, 0x06, 0x06, 0x51, 0x69, 0xf4, 0xff, 0x0f, 0x00, 0x00, -+ 0xff, 0xff, 0x88, 0x17, 0xc1, 0xbe, 0x38, 0x1d, 0x00, 0x00, -+} -diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go -new file mode 100644 -index 000000000..165b2110d ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go -@@ -0,0 +1,752 @@ -+// Code generated by protoc-gen-gogo. DO NOT EDIT. -+// source: descriptor.proto -+ -+package descriptor -+ -+import ( -+ fmt "fmt" -+ github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -+ proto "github.com/gogo/protobuf/proto" -+ math "math" -+ reflect "reflect" -+ sort "sort" -+ strconv "strconv" -+ strings "strings" -+) -+ -+// Reference imports to suppress errors if they are not otherwise used. -+var _ = proto.Marshal -+var _ = fmt.Errorf -+var _ = math.Inf -+ -+func (this *FileDescriptorSet) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 5) -+ s = append(s, "&descriptor.FileDescriptorSet{") -+ if this.File != nil { -+ s = append(s, "File: "+fmt.Sprintf("%#v", this.File)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *FileDescriptorProto) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 16) -+ s = append(s, "&descriptor.FileDescriptorProto{") -+ if this.Name != nil { -+ s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") -+ } -+ if this.Package != nil { -+ s = append(s, "Package: "+valueToGoStringDescriptor(this.Package, "string")+",\n") -+ } -+ if this.Dependency != nil { -+ s = append(s, "Dependency: "+fmt.Sprintf("%#v", this.Dependency)+",\n") -+ } -+ if this.PublicDependency != nil { -+ s = append(s, "PublicDependency: "+fmt.Sprintf("%#v", this.PublicDependency)+",\n") -+ } -+ if this.WeakDependency != nil { -+ s = append(s, "WeakDependency: "+fmt.Sprintf("%#v", this.WeakDependency)+",\n") -+ } -+ if this.MessageType != nil { -+ s = append(s, "MessageType: "+fmt.Sprintf("%#v", this.MessageType)+",\n") -+ } -+ if this.EnumType != nil { -+ s = append(s, "EnumType: "+fmt.Sprintf("%#v", this.EnumType)+",\n") -+ } -+ if this.Service != nil { -+ s = append(s, "Service: "+fmt.Sprintf("%#v", this.Service)+",\n") -+ } -+ if this.Extension != nil { -+ s = append(s, "Extension: "+fmt.Sprintf("%#v", this.Extension)+",\n") -+ } -+ if this.Options != nil { -+ s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") -+ } -+ if this.SourceCodeInfo != nil { -+ s = append(s, "SourceCodeInfo: "+fmt.Sprintf("%#v", this.SourceCodeInfo)+",\n") -+ } -+ if this.Syntax != nil { -+ s = append(s, "Syntax: "+valueToGoStringDescriptor(this.Syntax, "string")+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *DescriptorProto) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 14) -+ s = append(s, "&descriptor.DescriptorProto{") -+ if this.Name != nil { -+ s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") -+ } -+ if this.Field != nil { -+ s = append(s, "Field: "+fmt.Sprintf("%#v", this.Field)+",\n") -+ } -+ if this.Extension != nil { -+ s = append(s, "Extension: "+fmt.Sprintf("%#v", this.Extension)+",\n") -+ } -+ if this.NestedType != nil { -+ s = append(s, "NestedType: "+fmt.Sprintf("%#v", this.NestedType)+",\n") -+ } -+ if this.EnumType != nil { -+ s = append(s, "EnumType: "+fmt.Sprintf("%#v", this.EnumType)+",\n") -+ } -+ if this.ExtensionRange != nil { -+ s = append(s, "ExtensionRange: "+fmt.Sprintf("%#v", this.ExtensionRange)+",\n") -+ } -+ if this.OneofDecl != nil { -+ s = append(s, "OneofDecl: "+fmt.Sprintf("%#v", this.OneofDecl)+",\n") -+ } -+ if this.Options != nil { -+ s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") -+ } -+ if this.ReservedRange != nil { -+ s = append(s, "ReservedRange: "+fmt.Sprintf("%#v", this.ReservedRange)+",\n") -+ } -+ if this.ReservedName != nil { -+ s = append(s, "ReservedName: "+fmt.Sprintf("%#v", this.ReservedName)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *DescriptorProto_ExtensionRange) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 7) -+ s = append(s, "&descriptor.DescriptorProto_ExtensionRange{") -+ if this.Start != nil { -+ s = append(s, "Start: "+valueToGoStringDescriptor(this.Start, "int32")+",\n") -+ } -+ if this.End != nil { -+ s = append(s, "End: "+valueToGoStringDescriptor(this.End, "int32")+",\n") -+ } -+ if this.Options != nil { -+ s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *DescriptorProto_ReservedRange) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 6) -+ s = append(s, "&descriptor.DescriptorProto_ReservedRange{") -+ if this.Start != nil { -+ s = append(s, "Start: "+valueToGoStringDescriptor(this.Start, "int32")+",\n") -+ } -+ if this.End != nil { -+ s = append(s, "End: "+valueToGoStringDescriptor(this.End, "int32")+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *ExtensionRangeOptions) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 5) -+ s = append(s, "&descriptor.ExtensionRangeOptions{") -+ if this.UninterpretedOption != nil { -+ s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") -+ } -+ s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *FieldDescriptorProto) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 14) -+ s = append(s, "&descriptor.FieldDescriptorProto{") -+ if this.Name != nil { -+ s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") -+ } -+ if this.Number != nil { -+ s = append(s, "Number: "+valueToGoStringDescriptor(this.Number, "int32")+",\n") -+ } -+ if this.Label != nil { -+ s = append(s, "Label: "+valueToGoStringDescriptor(this.Label, "FieldDescriptorProto_Label")+",\n") -+ } -+ if this.Type != nil { -+ s = append(s, "Type: "+valueToGoStringDescriptor(this.Type, "FieldDescriptorProto_Type")+",\n") -+ } -+ if this.TypeName != nil { -+ s = append(s, "TypeName: "+valueToGoStringDescriptor(this.TypeName, "string")+",\n") -+ } -+ if this.Extendee != nil { -+ s = append(s, "Extendee: "+valueToGoStringDescriptor(this.Extendee, "string")+",\n") -+ } -+ if this.DefaultValue != nil { -+ s = append(s, "DefaultValue: "+valueToGoStringDescriptor(this.DefaultValue, "string")+",\n") -+ } -+ if this.OneofIndex != nil { -+ s = append(s, "OneofIndex: "+valueToGoStringDescriptor(this.OneofIndex, "int32")+",\n") -+ } -+ if this.JsonName != nil { -+ s = append(s, "JsonName: "+valueToGoStringDescriptor(this.JsonName, "string")+",\n") -+ } -+ if this.Options != nil { -+ s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *OneofDescriptorProto) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 6) -+ s = append(s, "&descriptor.OneofDescriptorProto{") -+ if this.Name != nil { -+ s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") -+ } -+ if this.Options != nil { -+ s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *EnumDescriptorProto) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 9) -+ s = append(s, "&descriptor.EnumDescriptorProto{") -+ if this.Name != nil { -+ s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") -+ } -+ if this.Value != nil { -+ s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n") -+ } -+ if this.Options != nil { -+ s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") -+ } -+ if this.ReservedRange != nil { -+ s = append(s, "ReservedRange: "+fmt.Sprintf("%#v", this.ReservedRange)+",\n") -+ } -+ if this.ReservedName != nil { -+ s = append(s, "ReservedName: "+fmt.Sprintf("%#v", this.ReservedName)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *EnumDescriptorProto_EnumReservedRange) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 6) -+ s = append(s, "&descriptor.EnumDescriptorProto_EnumReservedRange{") -+ if this.Start != nil { -+ s = append(s, "Start: "+valueToGoStringDescriptor(this.Start, "int32")+",\n") -+ } -+ if this.End != nil { -+ s = append(s, "End: "+valueToGoStringDescriptor(this.End, "int32")+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *EnumValueDescriptorProto) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 7) -+ s = append(s, "&descriptor.EnumValueDescriptorProto{") -+ if this.Name != nil { -+ s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") -+ } -+ if this.Number != nil { -+ s = append(s, "Number: "+valueToGoStringDescriptor(this.Number, "int32")+",\n") -+ } -+ if this.Options != nil { -+ s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *ServiceDescriptorProto) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 7) -+ s = append(s, "&descriptor.ServiceDescriptorProto{") -+ if this.Name != nil { -+ s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") -+ } -+ if this.Method != nil { -+ s = append(s, "Method: "+fmt.Sprintf("%#v", this.Method)+",\n") -+ } -+ if this.Options != nil { -+ s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *MethodDescriptorProto) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 10) -+ s = append(s, "&descriptor.MethodDescriptorProto{") -+ if this.Name != nil { -+ s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") -+ } -+ if this.InputType != nil { -+ s = append(s, "InputType: "+valueToGoStringDescriptor(this.InputType, "string")+",\n") -+ } -+ if this.OutputType != nil { -+ s = append(s, "OutputType: "+valueToGoStringDescriptor(this.OutputType, "string")+",\n") -+ } -+ if this.Options != nil { -+ s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") -+ } -+ if this.ClientStreaming != nil { -+ s = append(s, "ClientStreaming: "+valueToGoStringDescriptor(this.ClientStreaming, "bool")+",\n") -+ } -+ if this.ServerStreaming != nil { -+ s = append(s, "ServerStreaming: "+valueToGoStringDescriptor(this.ServerStreaming, "bool")+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *FileOptions) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 25) -+ s = append(s, "&descriptor.FileOptions{") -+ if this.JavaPackage != nil { -+ s = append(s, "JavaPackage: "+valueToGoStringDescriptor(this.JavaPackage, "string")+",\n") -+ } -+ if this.JavaOuterClassname != nil { -+ s = append(s, "JavaOuterClassname: "+valueToGoStringDescriptor(this.JavaOuterClassname, "string")+",\n") -+ } -+ if this.JavaMultipleFiles != nil { -+ s = append(s, "JavaMultipleFiles: "+valueToGoStringDescriptor(this.JavaMultipleFiles, "bool")+",\n") -+ } -+ if this.JavaGenerateEqualsAndHash != nil { -+ s = append(s, "JavaGenerateEqualsAndHash: "+valueToGoStringDescriptor(this.JavaGenerateEqualsAndHash, "bool")+",\n") -+ } -+ if this.JavaStringCheckUtf8 != nil { -+ s = append(s, "JavaStringCheckUtf8: "+valueToGoStringDescriptor(this.JavaStringCheckUtf8, "bool")+",\n") -+ } -+ if this.OptimizeFor != nil { -+ s = append(s, "OptimizeFor: "+valueToGoStringDescriptor(this.OptimizeFor, "FileOptions_OptimizeMode")+",\n") -+ } -+ if this.GoPackage != nil { -+ s = append(s, "GoPackage: "+valueToGoStringDescriptor(this.GoPackage, "string")+",\n") -+ } -+ if this.CcGenericServices != nil { -+ s = append(s, "CcGenericServices: "+valueToGoStringDescriptor(this.CcGenericServices, "bool")+",\n") -+ } -+ if this.JavaGenericServices != nil { -+ s = append(s, "JavaGenericServices: "+valueToGoStringDescriptor(this.JavaGenericServices, "bool")+",\n") -+ } -+ if this.PyGenericServices != nil { -+ s = append(s, "PyGenericServices: "+valueToGoStringDescriptor(this.PyGenericServices, "bool")+",\n") -+ } -+ if this.PhpGenericServices != nil { -+ s = append(s, "PhpGenericServices: "+valueToGoStringDescriptor(this.PhpGenericServices, "bool")+",\n") -+ } -+ if this.Deprecated != nil { -+ s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") -+ } -+ if this.CcEnableArenas != nil { -+ s = append(s, "CcEnableArenas: "+valueToGoStringDescriptor(this.CcEnableArenas, "bool")+",\n") -+ } -+ if this.ObjcClassPrefix != nil { -+ s = append(s, "ObjcClassPrefix: "+valueToGoStringDescriptor(this.ObjcClassPrefix, "string")+",\n") -+ } -+ if this.CsharpNamespace != nil { -+ s = append(s, "CsharpNamespace: "+valueToGoStringDescriptor(this.CsharpNamespace, "string")+",\n") -+ } -+ if this.SwiftPrefix != nil { -+ s = append(s, "SwiftPrefix: "+valueToGoStringDescriptor(this.SwiftPrefix, "string")+",\n") -+ } -+ if this.PhpClassPrefix != nil { -+ s = append(s, "PhpClassPrefix: "+valueToGoStringDescriptor(this.PhpClassPrefix, "string")+",\n") -+ } -+ if this.PhpNamespace != nil { -+ s = append(s, "PhpNamespace: "+valueToGoStringDescriptor(this.PhpNamespace, "string")+",\n") -+ } -+ if this.PhpMetadataNamespace != nil { -+ s = append(s, "PhpMetadataNamespace: "+valueToGoStringDescriptor(this.PhpMetadataNamespace, "string")+",\n") -+ } -+ if this.RubyPackage != nil { -+ s = append(s, "RubyPackage: "+valueToGoStringDescriptor(this.RubyPackage, "string")+",\n") -+ } -+ if this.UninterpretedOption != nil { -+ s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") -+ } -+ s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *MessageOptions) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 9) -+ s = append(s, "&descriptor.MessageOptions{") -+ if this.MessageSetWireFormat != nil { -+ s = append(s, "MessageSetWireFormat: "+valueToGoStringDescriptor(this.MessageSetWireFormat, "bool")+",\n") -+ } -+ if this.NoStandardDescriptorAccessor != nil { -+ s = append(s, "NoStandardDescriptorAccessor: "+valueToGoStringDescriptor(this.NoStandardDescriptorAccessor, "bool")+",\n") -+ } -+ if this.Deprecated != nil { -+ s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") -+ } -+ if this.MapEntry != nil { -+ s = append(s, "MapEntry: "+valueToGoStringDescriptor(this.MapEntry, "bool")+",\n") -+ } -+ if this.UninterpretedOption != nil { -+ s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") -+ } -+ s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *FieldOptions) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 11) -+ s = append(s, "&descriptor.FieldOptions{") -+ if this.Ctype != nil { -+ s = append(s, "Ctype: "+valueToGoStringDescriptor(this.Ctype, "FieldOptions_CType")+",\n") -+ } -+ if this.Packed != nil { -+ s = append(s, "Packed: "+valueToGoStringDescriptor(this.Packed, "bool")+",\n") -+ } -+ if this.Jstype != nil { -+ s = append(s, "Jstype: "+valueToGoStringDescriptor(this.Jstype, "FieldOptions_JSType")+",\n") -+ } -+ if this.Lazy != nil { -+ s = append(s, "Lazy: "+valueToGoStringDescriptor(this.Lazy, "bool")+",\n") -+ } -+ if this.Deprecated != nil { -+ s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") -+ } -+ if this.Weak != nil { -+ s = append(s, "Weak: "+valueToGoStringDescriptor(this.Weak, "bool")+",\n") -+ } -+ if this.UninterpretedOption != nil { -+ s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") -+ } -+ s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *OneofOptions) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 5) -+ s = append(s, "&descriptor.OneofOptions{") -+ if this.UninterpretedOption != nil { -+ s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") -+ } -+ s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *EnumOptions) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 7) -+ s = append(s, "&descriptor.EnumOptions{") -+ if this.AllowAlias != nil { -+ s = append(s, "AllowAlias: "+valueToGoStringDescriptor(this.AllowAlias, "bool")+",\n") -+ } -+ if this.Deprecated != nil { -+ s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") -+ } -+ if this.UninterpretedOption != nil { -+ s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") -+ } -+ s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *EnumValueOptions) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 6) -+ s = append(s, "&descriptor.EnumValueOptions{") -+ if this.Deprecated != nil { -+ s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") -+ } -+ if this.UninterpretedOption != nil { -+ s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") -+ } -+ s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *ServiceOptions) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 6) -+ s = append(s, "&descriptor.ServiceOptions{") -+ if this.Deprecated != nil { -+ s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") -+ } -+ if this.UninterpretedOption != nil { -+ s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") -+ } -+ s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *MethodOptions) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 7) -+ s = append(s, "&descriptor.MethodOptions{") -+ if this.Deprecated != nil { -+ s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") -+ } -+ if this.IdempotencyLevel != nil { -+ s = append(s, "IdempotencyLevel: "+valueToGoStringDescriptor(this.IdempotencyLevel, "MethodOptions_IdempotencyLevel")+",\n") -+ } -+ if this.UninterpretedOption != nil { -+ s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") -+ } -+ s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *UninterpretedOption) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 11) -+ s = append(s, "&descriptor.UninterpretedOption{") -+ if this.Name != nil { -+ s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") -+ } -+ if this.IdentifierValue != nil { -+ s = append(s, "IdentifierValue: "+valueToGoStringDescriptor(this.IdentifierValue, "string")+",\n") -+ } -+ if this.PositiveIntValue != nil { -+ s = append(s, "PositiveIntValue: "+valueToGoStringDescriptor(this.PositiveIntValue, "uint64")+",\n") -+ } -+ if this.NegativeIntValue != nil { -+ s = append(s, "NegativeIntValue: "+valueToGoStringDescriptor(this.NegativeIntValue, "int64")+",\n") -+ } -+ if this.DoubleValue != nil { -+ s = append(s, "DoubleValue: "+valueToGoStringDescriptor(this.DoubleValue, "float64")+",\n") -+ } -+ if this.StringValue != nil { -+ s = append(s, "StringValue: "+valueToGoStringDescriptor(this.StringValue, "byte")+",\n") -+ } -+ if this.AggregateValue != nil { -+ s = append(s, "AggregateValue: "+valueToGoStringDescriptor(this.AggregateValue, "string")+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *UninterpretedOption_NamePart) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 6) -+ s = append(s, "&descriptor.UninterpretedOption_NamePart{") -+ if this.NamePart != nil { -+ s = append(s, "NamePart: "+valueToGoStringDescriptor(this.NamePart, "string")+",\n") -+ } -+ if this.IsExtension != nil { -+ s = append(s, "IsExtension: "+valueToGoStringDescriptor(this.IsExtension, "bool")+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *SourceCodeInfo) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 5) -+ s = append(s, "&descriptor.SourceCodeInfo{") -+ if this.Location != nil { -+ s = append(s, "Location: "+fmt.Sprintf("%#v", this.Location)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *SourceCodeInfo_Location) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 9) -+ s = append(s, "&descriptor.SourceCodeInfo_Location{") -+ if this.Path != nil { -+ s = append(s, "Path: "+fmt.Sprintf("%#v", this.Path)+",\n") -+ } -+ if this.Span != nil { -+ s = append(s, "Span: "+fmt.Sprintf("%#v", this.Span)+",\n") -+ } -+ if this.LeadingComments != nil { -+ s = append(s, "LeadingComments: "+valueToGoStringDescriptor(this.LeadingComments, "string")+",\n") -+ } -+ if this.TrailingComments != nil { -+ s = append(s, "TrailingComments: "+valueToGoStringDescriptor(this.TrailingComments, "string")+",\n") -+ } -+ if this.LeadingDetachedComments != nil { -+ s = append(s, "LeadingDetachedComments: "+fmt.Sprintf("%#v", this.LeadingDetachedComments)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *GeneratedCodeInfo) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 5) -+ s = append(s, "&descriptor.GeneratedCodeInfo{") -+ if this.Annotation != nil { -+ s = append(s, "Annotation: "+fmt.Sprintf("%#v", this.Annotation)+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func (this *GeneratedCodeInfo_Annotation) GoString() string { -+ if this == nil { -+ return "nil" -+ } -+ s := make([]string, 0, 8) -+ s = append(s, "&descriptor.GeneratedCodeInfo_Annotation{") -+ if this.Path != nil { -+ s = append(s, "Path: "+fmt.Sprintf("%#v", this.Path)+",\n") -+ } -+ if this.SourceFile != nil { -+ s = append(s, "SourceFile: "+valueToGoStringDescriptor(this.SourceFile, "string")+",\n") -+ } -+ if this.Begin != nil { -+ s = append(s, "Begin: "+valueToGoStringDescriptor(this.Begin, "int32")+",\n") -+ } -+ if this.End != nil { -+ s = append(s, "End: "+valueToGoStringDescriptor(this.End, "int32")+",\n") -+ } -+ if this.XXX_unrecognized != nil { -+ s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") -+ } -+ s = append(s, "}") -+ return strings.Join(s, "") -+} -+func valueToGoStringDescriptor(v interface{}, typ string) string { -+ rv := reflect.ValueOf(v) -+ if rv.IsNil() { -+ return "nil" -+ } -+ pv := reflect.Indirect(rv).Interface() -+ return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv) -+} -+func extensionToGoStringDescriptor(m github_com_gogo_protobuf_proto.Message) string { -+ e := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(m) -+ if e == nil { -+ return "nil" -+ } -+ s := "proto.NewUnsafeXXX_InternalExtensions(map[int32]proto.Extension{" -+ keys := make([]int, 0, len(e)) -+ for k := range e { -+ keys = append(keys, int(k)) -+ } -+ sort.Ints(keys) -+ ss := []string{} -+ for _, k := range keys { -+ ss = append(ss, strconv.Itoa(k)+": "+e[int32(k)].GoString()) -+ } -+ s += strings.Join(ss, ",") + "})" -+ return s -+} -diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/helper.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/helper.go -new file mode 100644 -index 000000000..e0846a357 ---- /dev/null -+++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/helper.go -@@ -0,0 +1,390 @@ -+// Protocol Buffers for Go with Gadgets -+// -+// Copyright (c) 2013, The GoGo Authors. All rights reserved. -+// http://github.com/gogo/protobuf -+// -+// 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. -+// -+// 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. -+ -+package descriptor -+ -+import ( -+ "strings" -+) -+ -+func (msg *DescriptorProto) GetMapFields() (*FieldDescriptorProto, *FieldDescriptorProto) { -+ if !msg.GetOptions().GetMapEntry() { -+ return nil, nil -+ } -+ return msg.GetField()[0], msg.GetField()[1] -+} -+ -+func dotToUnderscore(r rune) rune { -+ if r == '.' { -+ return '_' -+ } -+ return r -+} -+ -+func (field *FieldDescriptorProto) WireType() (wire int) { -+ switch *field.Type { -+ case FieldDescriptorProto_TYPE_DOUBLE: -+ return 1 -+ case FieldDescriptorProto_TYPE_FLOAT: -+ return 5 -+ case FieldDescriptorProto_TYPE_INT64: -+ return 0 -+ case FieldDescriptorProto_TYPE_UINT64: -+ return 0 -+ case FieldDescriptorProto_TYPE_INT32: -+ return 0 -+ case FieldDescriptorProto_TYPE_UINT32: -+ return 0 -+ case FieldDescriptorProto_TYPE_FIXED64: -+ return 1 -+ case FieldDescriptorProto_TYPE_FIXED32: -+ return 5 -+ case FieldDescriptorProto_TYPE_BOOL: -+ return 0 -+ case FieldDescriptorProto_TYPE_STRING: -+ return 2 -+ case FieldDescriptorProto_TYPE_GROUP: -+ return 2 -+ case FieldDescriptorProto_TYPE_MESSAGE: -+ return 2 -+ case FieldDescriptorProto_TYPE_BYTES: -+ return 2 -+ case FieldDescriptorProto_TYPE_ENUM: -+ return 0 -+ case FieldDescriptorProto_TYPE_SFIXED32: -+ return 5 -+ case FieldDescriptorProto_TYPE_SFIXED64: -+ return 1 -+ case FieldDescriptorProto_TYPE_SINT32: -+ return 0 -+ case FieldDescriptorProto_TYPE_SINT64: -+ return 0 -+ } -+ panic("unreachable") -+} -+ -+func (field *FieldDescriptorProto) GetKeyUint64() (x uint64) { -+ packed := field.IsPacked() -+ wireType := field.WireType() -+ fieldNumber := field.GetNumber() -+ if packed { -+ wireType = 2 -+ } -+ x = uint64(uint32(fieldNumber)<<3 | uint32(wireType)) -+ return x -+} -+ -+func (field *FieldDescriptorProto) GetKey3Uint64() (x uint64) { -+ packed := field.IsPacked3() -+ wireType := field.WireType() -+ fieldNumber := field.GetNumber() -+ if packed { -+ wireType = 2 -+ } -+ x = uint64(uint32(fieldNumber)<<3 | uint32(wireType)) -+ return x -+} -+ -+func (field *FieldDescriptorProto) GetKey() []byte { -+ x := field.GetKeyUint64() -+ i := 0 -+ keybuf := make([]byte, 0) -+ for i = 0; x > 127; i++ { -+ keybuf = append(keybuf, 0x80|uint8(x&0x7F)) -+ x >>= 7 -+ } -+ keybuf = append(keybuf, uint8(x)) -+ return keybuf -+} -+ -+func (field *FieldDescriptorProto) GetKey3() []byte { -+ x := field.GetKey3Uint64() -+ i := 0 -+ keybuf := make([]byte, 0) -+ for i = 0; x > 127; i++ { -+ keybuf = append(keybuf, 0x80|uint8(x&0x7F)) -+ x >>= 7 -+ } -+ keybuf = append(keybuf, uint8(x)) -+ return keybuf -+} -+ -+func (desc *FileDescriptorSet) GetField(packageName, messageName, fieldName string) *FieldDescriptorProto { -+ msg := desc.GetMessage(packageName, messageName) -+ if msg == nil { -+ return nil -+ } -+ for _, field := range msg.GetField() { -+ if field.GetName() == fieldName { -+ return field -+ } -+ } -+ return nil -+} -+ -+func (file *FileDescriptorProto) GetMessage(typeName string) *DescriptorProto { -+ for _, msg := range file.GetMessageType() { -+ if msg.GetName() == typeName { -+ return msg -+ } -+ nes := file.GetNestedMessage(msg, strings.TrimPrefix(typeName, msg.GetName()+".")) -+ if nes != nil { -+ return nes -+ } -+ } -+ return nil -+} -+ -+func (file *FileDescriptorProto) GetNestedMessage(msg *DescriptorProto, typeName string) *DescriptorProto { -+ for _, nes := range msg.GetNestedType() { -+ if nes.GetName() == typeName { -+ return nes -+ } -+ res := file.GetNestedMessage(nes, strings.TrimPrefix(typeName, nes.GetName()+".")) -+ if res != nil { -+ return res -+ } -+ } -+ return nil -+} -+ -+func (desc *FileDescriptorSet) GetMessage(packageName string, typeName string) *DescriptorProto { -+ for _, file := range desc.GetFile() { -+ if strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) { -+ continue -+ } -+ for _, msg := range file.GetMessageType() { -+ if msg.GetName() == typeName { -+ return msg -+ } -+ } -+ for _, msg := range file.GetMessageType() { -+ for _, nes := range msg.GetNestedType() { -+ if nes.GetName() == typeName { -+ return nes -+ } -+ if msg.GetName()+"."+nes.GetName() == typeName { -+ return nes -+ } -+ } -+ } -+ } -+ return nil -+} -+ -+func (desc *FileDescriptorSet) IsProto3(packageName string, typeName string) bool { -+ for _, file := range desc.GetFile() { -+ if strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) { -+ continue -+ } -+ for _, msg := range file.GetMessageType() { -+ if msg.GetName() == typeName { -+ return file.GetSyntax() == "proto3" -+ } -+ } -+ for _, msg := range file.GetMessageType() { -+ for _, nes := range msg.GetNestedType() { -+ if nes.GetName() == typeName { -+ return file.GetSyntax() == "proto3" -+ } -+ if msg.GetName()+"."+nes.GetName() == typeName { -+ return file.GetSyntax() == "proto3" -+ } -+ } -+ } -+ } -+ return false -+} -+ -+func (msg *DescriptorProto) IsExtendable() bool { -+ return len(msg.GetExtensionRange()) > 0 -+} -+ -+func (desc *FileDescriptorSet) FindExtension(packageName string, typeName string, fieldName string) (extPackageName string, field *FieldDescriptorProto) { -+ parent := desc.GetMessage(packageName, typeName) -+ if parent == nil { -+ return "", nil -+ } -+ if !parent.IsExtendable() { -+ return "", nil -+ } -+ extendee := "." + packageName + "." + typeName -+ for _, file := range desc.GetFile() { -+ for _, ext := range file.GetExtension() { -+ if strings.Map(dotToUnderscore, file.GetPackage()) == strings.Map(dotToUnderscore, packageName) { -+ if !(ext.GetExtendee() == typeName || ext.GetExtendee() == extendee) { -+ continue -+ } -+ } else { -+ if ext.GetExtendee() != extendee { -+ continue -+ } -+ } -+ if ext.GetName() == fieldName { -+ return file.GetPackage(), ext -+ } -+ } -+ } -+ return "", nil -+} -+ -+func (desc *FileDescriptorSet) FindExtensionByFieldNumber(packageName string, typeName string, fieldNum int32) (extPackageName string, field *FieldDescriptorProto) { -+ parent := desc.GetMessage(packageName, typeName) -+ if parent == nil { -+ return "", nil -+ } -+ if !parent.IsExtendable() { -+ return "", nil -+ } -+ extendee := "." + packageName + "." + typeName -+ for _, file := range desc.GetFile() { -+ for _, ext := range file.GetExtension() { -+ if strings.Map(dotToUnderscore, file.GetPackage()) == strings.Map(dotToUnderscore, packageName) { -+ if !(ext.GetExtendee() == typeName || ext.GetExtendee() == extendee) { -+ continue -+ } -+ } else { -+ if ext.GetExtendee() != extendee { -+ continue -+ } -+ } -+ if ext.GetNumber() == fieldNum { -+ return file.GetPackage(), ext -+ } -+ } -+ } -+ return "", nil -+} -+ -+func (desc *FileDescriptorSet) FindMessage(packageName string, typeName string, fieldName string) (msgPackageName string, msgName string) { -+ parent := desc.GetMessage(packageName, typeName) -+ if parent == nil { -+ return "", "" -+ } -+ field := parent.GetFieldDescriptor(fieldName) -+ if field == nil { -+ var extPackageName string -+ extPackageName, field = desc.FindExtension(packageName, typeName, fieldName) -+ if field == nil { -+ return "", "" -+ } -+ packageName = extPackageName -+ } -+ typeNames := strings.Split(field.GetTypeName(), ".") -+ if len(typeNames) == 1 { -+ msg := desc.GetMessage(packageName, typeName) -+ if msg == nil { -+ return "", "" -+ } -+ return packageName, msg.GetName() -+ } -+ if len(typeNames) > 2 { -+ for i := 1; i < len(typeNames)-1; i++ { -+ packageName = strings.Join(typeNames[1:len(typeNames)-i], ".") -+ typeName = strings.Join(typeNames[len(typeNames)-i:], ".") -+ msg := desc.GetMessage(packageName, typeName) -+ if msg != nil { -+ typeNames := strings.Split(msg.GetName(), ".") -+ if len(typeNames) == 1 { -+ return packageName, msg.GetName() -+ } -+ return strings.Join(typeNames[1:len(typeNames)-1], "."), typeNames[len(typeNames)-1] -+ } -+ } -+ } -+ return "", "" -+} -+ -+func (msg *DescriptorProto) GetFieldDescriptor(fieldName string) *FieldDescriptorProto { -+ for _, field := range msg.GetField() { -+ if field.GetName() == fieldName { -+ return field -+ } -+ } -+ return nil -+} -+ -+func (desc *FileDescriptorSet) GetEnum(packageName string, typeName string) *EnumDescriptorProto { -+ for _, file := range desc.GetFile() { -+ if strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) { -+ continue -+ } -+ for _, enum := range file.GetEnumType() { -+ if enum.GetName() == typeName { -+ return enum -+ } -+ } -+ } -+ return nil -+} -+ -+func (f *FieldDescriptorProto) IsEnum() bool { -+ return *f.Type == FieldDescriptorProto_TYPE_ENUM -+} -+ -+func (f *FieldDescriptorProto) IsMessage() bool { -+ return *f.Type == FieldDescriptorProto_TYPE_MESSAGE -+} -+ -+func (f *FieldDescriptorProto) IsBytes() bool { -+ return *f.Type == FieldDescriptorProto_TYPE_BYTES -+} -+ -+func (f *FieldDescriptorProto) IsRepeated() bool { -+ return f.Label != nil && *f.Label == FieldDescriptorProto_LABEL_REPEATED -+} -+ -+func (f *FieldDescriptorProto) IsString() bool { -+ return *f.Type == FieldDescriptorProto_TYPE_STRING -+} -+ -+func (f *FieldDescriptorProto) IsBool() bool { -+ return *f.Type == FieldDescriptorProto_TYPE_BOOL -+} -+ -+func (f *FieldDescriptorProto) IsRequired() bool { -+ return f.Label != nil && *f.Label == FieldDescriptorProto_LABEL_REQUIRED -+} -+ -+func (f *FieldDescriptorProto) IsPacked() bool { -+ return f.Options != nil && f.GetOptions().GetPacked() -+} -+ -+func (f *FieldDescriptorProto) IsPacked3() bool { -+ if f.IsRepeated() && f.IsScalar() { -+ if f.Options == nil || f.GetOptions().Packed == nil { -+ return true -+ } -+ return f.Options != nil && f.GetOptions().GetPacked() -+ } -+ return false -+} -+ -+func (m *DescriptorProto) HasExtension() bool { -+ return len(m.ExtensionRange) > 0 -+} -diff --git a/vendor/github.com/hashicorp/golang-lru/LICENSE b/vendor/github.com/hashicorp/golang-lru/LICENSE -new file mode 100644 -index 000000000..be2cc4dfb ---- /dev/null -+++ b/vendor/github.com/hashicorp/golang-lru/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. -diff --git a/vendor/github.com/hashicorp/golang-lru/simplelru/lru.go b/vendor/github.com/hashicorp/golang-lru/simplelru/lru.go -new file mode 100644 -index 000000000..5673773b2 ---- /dev/null -+++ b/vendor/github.com/hashicorp/golang-lru/simplelru/lru.go -@@ -0,0 +1,161 @@ -+package simplelru -+ -+import ( -+ "container/list" -+ "errors" -+) -+ -+// EvictCallback is used to get a callback when a cache entry is evicted -+type EvictCallback func(key interface{}, value interface{}) -+ -+// LRU implements a non-thread safe fixed size LRU cache -+type LRU struct { -+ size int -+ evictList *list.List -+ items map[interface{}]*list.Element -+ onEvict EvictCallback -+} -+ -+// entry is used to hold a value in the evictList -+type entry struct { -+ key interface{} -+ value interface{} -+} -+ -+// NewLRU constructs an LRU of the given size -+func NewLRU(size int, onEvict EvictCallback) (*LRU, error) { -+ if size <= 0 { -+ return nil, errors.New("Must provide a positive size") -+ } -+ c := &LRU{ -+ size: size, -+ evictList: list.New(), -+ items: make(map[interface{}]*list.Element), -+ onEvict: onEvict, -+ } -+ return c, nil -+} -+ -+// Purge is used to completely clear the cache. -+func (c *LRU) Purge() { -+ for k, v := range c.items { -+ if c.onEvict != nil { -+ c.onEvict(k, v.Value.(*entry).value) -+ } -+ delete(c.items, k) -+ } -+ c.evictList.Init() -+} -+ -+// Add adds a value to the cache. Returns true if an eviction occurred. -+func (c *LRU) Add(key, value interface{}) (evicted bool) { -+ // Check for existing item -+ if ent, ok := c.items[key]; ok { -+ c.evictList.MoveToFront(ent) -+ ent.Value.(*entry).value = value -+ return false -+ } -+ -+ // Add new item -+ ent := &entry{key, value} -+ entry := c.evictList.PushFront(ent) -+ c.items[key] = entry -+ -+ evict := c.evictList.Len() > c.size -+ // Verify size not exceeded -+ if evict { -+ c.removeOldest() -+ } -+ return evict -+} -+ -+// Get looks up a key's value from the cache. -+func (c *LRU) Get(key interface{}) (value interface{}, ok bool) { -+ if ent, ok := c.items[key]; ok { -+ c.evictList.MoveToFront(ent) -+ return ent.Value.(*entry).value, true -+ } -+ return -+} -+ -+// Contains checks if a key is in the cache, without updating the recent-ness -+// or deleting it for being stale. -+func (c *LRU) Contains(key interface{}) (ok bool) { -+ _, ok = c.items[key] -+ return ok -+} -+ -+// Peek returns the key value (or undefined if not found) without updating -+// the "recently used"-ness of the key. -+func (c *LRU) Peek(key interface{}) (value interface{}, ok bool) { -+ var ent *list.Element -+ if ent, ok = c.items[key]; ok { -+ return ent.Value.(*entry).value, true -+ } -+ return nil, ok -+} -+ -+// Remove removes the provided key from the cache, returning if the -+// key was contained. -+func (c *LRU) Remove(key interface{}) (present bool) { -+ if ent, ok := c.items[key]; ok { -+ c.removeElement(ent) -+ return true -+ } -+ return false -+} -+ -+// RemoveOldest removes the oldest item from the cache. -+func (c *LRU) RemoveOldest() (key interface{}, value interface{}, ok bool) { -+ ent := c.evictList.Back() -+ if ent != nil { -+ c.removeElement(ent) -+ kv := ent.Value.(*entry) -+ return kv.key, kv.value, true -+ } -+ return nil, nil, false -+} -+ -+// GetOldest returns the oldest entry -+func (c *LRU) GetOldest() (key interface{}, value interface{}, ok bool) { -+ ent := c.evictList.Back() -+ if ent != nil { -+ kv := ent.Value.(*entry) -+ return kv.key, kv.value, true -+ } -+ return nil, nil, false -+} -+ -+// Keys returns a slice of the keys in the cache, from oldest to newest. -+func (c *LRU) Keys() []interface{} { -+ keys := make([]interface{}, len(c.items)) -+ i := 0 -+ for ent := c.evictList.Back(); ent != nil; ent = ent.Prev() { -+ keys[i] = ent.Value.(*entry).key -+ i++ -+ } -+ return keys -+} -+ -+// Len returns the number of items in the cache. -+func (c *LRU) Len() int { -+ return c.evictList.Len() -+} -+ -+// removeOldest removes the oldest item from the cache. -+func (c *LRU) removeOldest() { -+ ent := c.evictList.Back() -+ if ent != nil { -+ c.removeElement(ent) -+ } -+} -+ -+// removeElement is used to remove a given list element from the cache -+func (c *LRU) removeElement(e *list.Element) { -+ c.evictList.Remove(e) -+ kv := e.Value.(*entry) -+ delete(c.items, kv.key) -+ if c.onEvict != nil { -+ c.onEvict(kv.key, kv.value) -+ } -+} -diff --git a/vendor/github.com/hashicorp/golang-lru/simplelru/lru_interface.go b/vendor/github.com/hashicorp/golang-lru/simplelru/lru_interface.go -new file mode 100644 -index 000000000..74c707744 ---- /dev/null -+++ b/vendor/github.com/hashicorp/golang-lru/simplelru/lru_interface.go -@@ -0,0 +1,36 @@ -+package simplelru -+ -+// LRUCache is the interface for simple LRU cache. -+type LRUCache interface { -+ // Adds a value to the cache, returns true if an eviction occurred and -+ // updates the "recently used"-ness of the key. -+ Add(key, value interface{}) bool -+ -+ // Returns key's value from the cache and -+ // updates the "recently used"-ness of the key. #value, isFound -+ Get(key interface{}) (value interface{}, ok bool) -+ -+ // Check if a key exsists in cache without updating the recent-ness. -+ Contains(key interface{}) (ok bool) -+ -+ // Returns key's value without updating the "recently used"-ness of the key. -+ Peek(key interface{}) (value interface{}, ok bool) -+ -+ // Removes a key from the cache. -+ Remove(key interface{}) bool -+ -+ // Removes the oldest entry from cache. -+ RemoveOldest() (interface{}, interface{}, bool) -+ -+ // Returns the oldest entry from the cache. #key, value, isFound -+ GetOldest() (interface{}, interface{}, bool) -+ -+ // Returns a slice of the keys in the cache, from oldest to newest. -+ Keys() []interface{} -+ -+ // Returns the number of items in the cache. -+ Len() int -+ -+ // Clear all cache entries -+ Purge() -+} -diff --git a/vendor/github.com/imdario/mergo/.travis.yml b/vendor/github.com/imdario/mergo/.travis.yml -index b13a50ed1..dad29725f 100644 ---- a/vendor/github.com/imdario/mergo/.travis.yml -+++ b/vendor/github.com/imdario/mergo/.travis.yml -@@ -4,4 +4,6 @@ install: - - go get golang.org/x/tools/cmd/cover - - go get github.com/mattn/goveralls - script: -+ - go test -race -v ./... -+after_script: - - $HOME/gopath/bin/goveralls -service=travis-ci -repotoken $COVERALLS_TOKEN -diff --git a/vendor/github.com/imdario/mergo/merge.go b/vendor/github.com/imdario/mergo/merge.go -index f8de6c543..3fb6c64d0 100644 ---- a/vendor/github.com/imdario/mergo/merge.go -+++ b/vendor/github.com/imdario/mergo/merge.go -@@ -26,10 +26,12 @@ func hasExportedField(dst reflect.Value) (exported bool) { - } - - type Config struct { -- Overwrite bool -- AppendSlice bool -- Transformers Transformers -- overwriteWithEmptyValue bool -+ Overwrite bool -+ AppendSlice bool -+ TypeCheck bool -+ Transformers Transformers -+ overwriteWithEmptyValue bool -+ overwriteSliceWithEmptyValue bool - } - - type Transformers interface { -@@ -41,7 +43,9 @@ type Transformers interface { - // short circuiting on recursive types. - func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, config *Config) (err error) { - overwrite := config.Overwrite -+ typeCheck := config.TypeCheck - overwriteWithEmptySrc := config.overwriteWithEmptyValue -+ overwriteSliceWithEmptySrc := config.overwriteSliceWithEmptyValue - config.overwriteWithEmptyValue = false - - if !src.IsValid() { -@@ -128,11 +132,14 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, co - dstSlice = reflect.ValueOf(dstElement.Interface()) - } - -- if (!isEmptyValue(src) || overwriteWithEmptySrc) && (overwrite || isEmptyValue(dst)) && !config.AppendSlice { -+ if (!isEmptyValue(src) || overwriteWithEmptySrc || overwriteSliceWithEmptySrc) && (overwrite || isEmptyValue(dst)) && !config.AppendSlice { -+ if typeCheck && srcSlice.Type() != dstSlice.Type() { -+ return fmt.Errorf("cannot override two slices with different type (%s, %s)", srcSlice.Type(), dstSlice.Type()) -+ } - dstSlice = srcSlice - } else if config.AppendSlice { - if srcSlice.Type() != dstSlice.Type() { -- return fmt.Errorf("cannot append two slice with different type (%s, %s)", srcSlice.Type(), dstSlice.Type()) -+ return fmt.Errorf("cannot append two slices with different type (%s, %s)", srcSlice.Type(), dstSlice.Type()) - } - dstSlice = reflect.AppendSlice(dstSlice, srcSlice) - } -@@ -143,7 +150,7 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, co - continue - } - -- if srcElement.IsValid() && (overwrite || (!dstElement.IsValid() || isEmptyValue(dstElement))) { -+ if srcElement.IsValid() && ((srcElement.Kind() != reflect.Ptr && overwrite) || !dstElement.IsValid() || isEmptyValue(dstElement)) { - if dst.IsNil() { - dst.Set(reflect.MakeMap(dst.Type())) - } -@@ -154,7 +161,7 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, co - if !dst.CanSet() { - break - } -- if (!isEmptyValue(src) || overwriteWithEmptySrc) && (overwrite || isEmptyValue(dst)) && !config.AppendSlice { -+ if (!isEmptyValue(src) || overwriteWithEmptySrc || overwriteSliceWithEmptySrc) && (overwrite || isEmptyValue(dst)) && !config.AppendSlice { - dst.Set(src) - } else if config.AppendSlice { - if src.Type() != dst.Type() { -@@ -168,11 +175,21 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, co - if src.IsNil() { - break - } -- if src.Kind() != reflect.Interface { -+ -+ if dst.Kind() != reflect.Ptr && src.Type().AssignableTo(dst.Type()) { - if dst.IsNil() || overwrite { - if dst.CanSet() && (overwrite || isEmptyValue(dst)) { - dst.Set(src) - } -+ } -+ break -+ } -+ -+ if src.Kind() != reflect.Interface { -+ if dst.IsNil() || (src.Kind() != reflect.Ptr && overwrite) { -+ if dst.CanSet() && (overwrite || isEmptyValue(dst)) { -+ dst.Set(src) -+ } - } else if src.Kind() == reflect.Ptr { - if err = deepMerge(dst.Elem(), src.Elem(), visited, depth+1, config); err != nil { - return -@@ -198,6 +215,7 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, co - dst.Set(src) - } - } -+ - return - } - -@@ -209,7 +227,7 @@ func Merge(dst, src interface{}, opts ...func(*Config)) error { - return merge(dst, src, opts...) - } - --// MergeWithOverwrite will do the same as Merge except that non-empty dst attributes will be overriden by -+// MergeWithOverwrite will do the same as Merge except that non-empty dst attributes will be overridden by - // non-empty src attribute values. - // Deprecated: use Merge(…) with WithOverride - func MergeWithOverwrite(dst, src interface{}, opts ...func(*Config)) error { -@@ -228,11 +246,21 @@ func WithOverride(config *Config) { - config.Overwrite = true - } - --// WithAppendSlice will make merge append slices instead of overwriting it -+// WithOverride will make merge override empty dst slice with empty src slice. -+func WithOverrideEmptySlice(config *Config) { -+ config.overwriteSliceWithEmptyValue = true -+} -+ -+// WithAppendSlice will make merge append slices instead of overwriting it. - func WithAppendSlice(config *Config) { - config.AppendSlice = true - } - -+// WithTypeCheck will make merge check types while overwriting it (must be used with WithOverride). -+func WithTypeCheck(config *Config) { -+ config.TypeCheck = true -+} -+ - func merge(dst, src interface{}, opts ...func(*Config)) error { - var ( - vDst, vSrc reflect.Value -diff --git a/vendor/github.com/klauspost/compress/flate/crc32_amd64.go b/vendor/github.com/klauspost/compress/flate/crc32_amd64.go -deleted file mode 100644 -index 8298d309a..000000000 ---- a/vendor/github.com/klauspost/compress/flate/crc32_amd64.go -+++ /dev/null -@@ -1,42 +0,0 @@ --//+build !noasm --//+build !appengine --//+build !gccgo -- --// Copyright 2015, Klaus Post, see LICENSE for details. -- --package flate -- --import ( -- "github.com/klauspost/cpuid" --) -- --// crc32sse returns a hash for the first 4 bytes of the slice --// len(a) must be >= 4. --//go:noescape --func crc32sse(a []byte) uint32 -- --// crc32sseAll calculates hashes for each 4-byte set in a. --// dst must be east len(a) - 4 in size. --// The size is not checked by the assembly. --//go:noescape --func crc32sseAll(a []byte, dst []uint32) -- --// matchLenSSE4 returns the number of matching bytes in a and b --// up to length 'max'. Both slices must be at least 'max' --// bytes in size. --// --// TODO: drop the "SSE4" name, since it doesn't use any SSE instructions. --// --//go:noescape --func matchLenSSE4(a, b []byte, max int) int -- --// histogram accumulates a histogram of b in h. --// h must be at least 256 entries in length, --// and must be cleared before calling this function. --//go:noescape --func histogram(b []byte, h []int32) -- --// Detect SSE 4.2 feature. --func init() { -- useSSE42 = cpuid.CPU.SSE42() --} -diff --git a/vendor/github.com/klauspost/compress/flate/crc32_amd64.s b/vendor/github.com/klauspost/compress/flate/crc32_amd64.s -deleted file mode 100644 -index a79943727..000000000 ---- a/vendor/github.com/klauspost/compress/flate/crc32_amd64.s -+++ /dev/null -@@ -1,214 +0,0 @@ --//+build !noasm --//+build !appengine --//+build !gccgo -- --// Copyright 2015, Klaus Post, see LICENSE for details. -- --// func crc32sse(a []byte) uint32 --TEXT ·crc32sse(SB), 4, $0 -- MOVQ a+0(FP), R10 -- XORQ BX, BX -- -- // CRC32 dword (R10), EBX -- BYTE $0xF2; BYTE $0x41; BYTE $0x0f -- BYTE $0x38; BYTE $0xf1; BYTE $0x1a -- -- MOVL BX, ret+24(FP) -- RET -- --// func crc32sseAll(a []byte, dst []uint32) --TEXT ·crc32sseAll(SB), 4, $0 -- MOVQ a+0(FP), R8 // R8: src -- MOVQ a_len+8(FP), R10 // input length -- MOVQ dst+24(FP), R9 // R9: dst -- SUBQ $4, R10 -- JS end -- JZ one_crc -- MOVQ R10, R13 -- SHRQ $2, R10 // len/4 -- ANDQ $3, R13 // len&3 -- XORQ BX, BX -- ADDQ $1, R13 -- TESTQ R10, R10 -- JZ rem_loop -- --crc_loop: -- MOVQ (R8), R11 -- XORQ BX, BX -- XORQ DX, DX -- XORQ DI, DI -- MOVQ R11, R12 -- SHRQ $8, R11 -- MOVQ R12, AX -- MOVQ R11, CX -- SHRQ $16, R12 -- SHRQ $16, R11 -- MOVQ R12, SI -- -- // CRC32 EAX, EBX -- BYTE $0xF2; BYTE $0x0f -- BYTE $0x38; BYTE $0xf1; BYTE $0xd8 -- -- // CRC32 ECX, EDX -- BYTE $0xF2; BYTE $0x0f -- BYTE $0x38; BYTE $0xf1; BYTE $0xd1 -- -- // CRC32 ESI, EDI -- BYTE $0xF2; BYTE $0x0f -- BYTE $0x38; BYTE $0xf1; BYTE $0xfe -- MOVL BX, (R9) -- MOVL DX, 4(R9) -- MOVL DI, 8(R9) -- -- XORQ BX, BX -- MOVL R11, AX -- -- // CRC32 EAX, EBX -- BYTE $0xF2; BYTE $0x0f -- BYTE $0x38; BYTE $0xf1; BYTE $0xd8 -- MOVL BX, 12(R9) -- -- ADDQ $16, R9 -- ADDQ $4, R8 -- XORQ BX, BX -- SUBQ $1, R10 -- JNZ crc_loop -- --rem_loop: -- MOVL (R8), AX -- -- // CRC32 EAX, EBX -- BYTE $0xF2; BYTE $0x0f -- BYTE $0x38; BYTE $0xf1; BYTE $0xd8 -- -- MOVL BX, (R9) -- ADDQ $4, R9 -- ADDQ $1, R8 -- XORQ BX, BX -- SUBQ $1, R13 -- JNZ rem_loop -- --end: -- RET -- --one_crc: -- MOVQ $1, R13 -- XORQ BX, BX -- JMP rem_loop -- --// func matchLenSSE4(a, b []byte, max int) int --TEXT ·matchLenSSE4(SB), 4, $0 -- MOVQ a_base+0(FP), SI -- MOVQ b_base+24(FP), DI -- MOVQ DI, DX -- MOVQ max+48(FP), CX -- --cmp8: -- // As long as we are 8 or more bytes before the end of max, we can load and -- // compare 8 bytes at a time. If those 8 bytes are equal, repeat. -- CMPQ CX, $8 -- JLT cmp1 -- MOVQ (SI), AX -- MOVQ (DI), BX -- CMPQ AX, BX -- JNE bsf -- ADDQ $8, SI -- ADDQ $8, DI -- SUBQ $8, CX -- JMP cmp8 -- --bsf: -- // If those 8 bytes were not equal, XOR the two 8 byte values, and return -- // the index of the first byte that differs. The BSF instruction finds the -- // least significant 1 bit, the amd64 architecture is little-endian, and -- // the shift by 3 converts a bit index to a byte index. -- XORQ AX, BX -- BSFQ BX, BX -- SHRQ $3, BX -- ADDQ BX, DI -- -- // Subtract off &b[0] to convert from &b[ret] to ret, and return. -- SUBQ DX, DI -- MOVQ DI, ret+56(FP) -- RET -- --cmp1: -- // In the slices' tail, compare 1 byte at a time. -- CMPQ CX, $0 -- JEQ matchLenEnd -- MOVB (SI), AX -- MOVB (DI), BX -- CMPB AX, BX -- JNE matchLenEnd -- ADDQ $1, SI -- ADDQ $1, DI -- SUBQ $1, CX -- JMP cmp1 -- --matchLenEnd: -- // Subtract off &b[0] to convert from &b[ret] to ret, and return. -- SUBQ DX, DI -- MOVQ DI, ret+56(FP) -- RET -- --// func histogram(b []byte, h []int32) --TEXT ·histogram(SB), 4, $0 -- MOVQ b+0(FP), SI // SI: &b -- MOVQ b_len+8(FP), R9 // R9: len(b) -- MOVQ h+24(FP), DI // DI: Histogram -- MOVQ R9, R8 -- SHRQ $3, R8 -- JZ hist1 -- XORQ R11, R11 -- --loop_hist8: -- MOVQ (SI), R10 -- -- MOVB R10, R11 -- INCL (DI)(R11*4) -- SHRQ $8, R10 -- -- MOVB R10, R11 -- INCL (DI)(R11*4) -- SHRQ $8, R10 -- -- MOVB R10, R11 -- INCL (DI)(R11*4) -- SHRQ $8, R10 -- -- MOVB R10, R11 -- INCL (DI)(R11*4) -- SHRQ $8, R10 -- -- MOVB R10, R11 -- INCL (DI)(R11*4) -- SHRQ $8, R10 -- -- MOVB R10, R11 -- INCL (DI)(R11*4) -- SHRQ $8, R10 -- -- MOVB R10, R11 -- INCL (DI)(R11*4) -- SHRQ $8, R10 -- -- INCL (DI)(R10*4) -- -- ADDQ $8, SI -- DECQ R8 -- JNZ loop_hist8 -- --hist1: -- ANDQ $7, R9 -- JZ end_hist -- XORQ R10, R10 -- --loop_hist1: -- MOVB (SI), R10 -- INCL (DI)(R10*4) -- INCQ SI -- DECQ R9 -- JNZ loop_hist1 -- --end_hist: -- RET -diff --git a/vendor/github.com/klauspost/compress/flate/crc32_noasm.go b/vendor/github.com/klauspost/compress/flate/crc32_noasm.go -deleted file mode 100644 -index dcf43bd50..000000000 ---- a/vendor/github.com/klauspost/compress/flate/crc32_noasm.go -+++ /dev/null -@@ -1,35 +0,0 @@ --//+build !amd64 noasm appengine gccgo -- --// Copyright 2015, Klaus Post, see LICENSE for details. -- --package flate -- --func init() { -- useSSE42 = false --} -- --// crc32sse should never be called. --func crc32sse(a []byte) uint32 { -- panic("no assembler") --} -- --// crc32sseAll should never be called. --func crc32sseAll(a []byte, dst []uint32) { -- panic("no assembler") --} -- --// matchLenSSE4 should never be called. --func matchLenSSE4(a, b []byte, max int) int { -- panic("no assembler") -- return 0 --} -- --// histogram accumulates a histogram of b in h. --// --// len(h) must be >= 256, and h's elements must be all zeroes. --func histogram(b []byte, h []int32) { -- h = h[:256] -- for _, t := range b { -- h[t]++ -- } --} -diff --git a/vendor/github.com/klauspost/compress/flate/deflate.go b/vendor/github.com/klauspost/compress/flate/deflate.go -index 628795120..d9948ab40 100644 ---- a/vendor/github.com/klauspost/compress/flate/deflate.go -+++ b/vendor/github.com/klauspost/compress/flate/deflate.go -@@ -50,8 +50,6 @@ const ( - skipNever = math.MaxInt32 - ) - --var useSSE42 bool -- - type compressionLevel struct { - good, lazy, nice, chain, fastSkipHashing, level int - } -@@ -97,9 +95,8 @@ type advancedState struct { - hashOffset int - - // input window: unprocessed data is window[index:windowEnd] -- index int -- bulkHasher func([]byte, []uint32) -- hashMatch [maxMatchLength + minMatchLength]uint32 -+ index int -+ hashMatch [maxMatchLength + minMatchLength]uint32 - } - - type compressor struct { -@@ -120,7 +117,7 @@ type compressor struct { - - // queued output tokens - tokens tokens -- snap fastEnc -+ fast fastEnc - state *advancedState - } - -@@ -164,14 +161,14 @@ func (d *compressor) fillDeflate(b []byte) int { - return n - } - --func (d *compressor) writeBlock(tok tokens, index int, eof bool) error { -+func (d *compressor) writeBlock(tok *tokens, index int, eof bool) error { - if index > 0 || eof { - var window []byte - if d.blockStart <= index { - window = d.window[d.blockStart:index] - } - d.blockStart = index -- d.w.writeBlock(tok.tokens[:tok.n], eof, window) -+ d.w.writeBlock(tok, eof, window) - return d.w.err - } - return nil -@@ -180,20 +177,20 @@ func (d *compressor) writeBlock(tok tokens, index int, eof bool) error { - // writeBlockSkip writes the current block and uses the number of tokens - // to determine if the block should be stored on no matches, or - // only huffman encoded. --func (d *compressor) writeBlockSkip(tok tokens, index int, eof bool) error { -+func (d *compressor) writeBlockSkip(tok *tokens, index int, eof bool) error { - if index > 0 || eof { - if d.blockStart <= index { - window := d.window[d.blockStart:index] - // If we removed less than a 64th of all literals - // we huffman compress the block. - if int(tok.n) > len(window)-int(tok.n>>6) { -- d.w.writeBlockHuff(eof, window) -+ d.w.writeBlockHuff(eof, window, d.sync) - } else { - // Write a dynamic huffman block. -- d.w.writeBlockDynamic(tok.tokens[:tok.n], eof, window) -+ d.w.writeBlockDynamic(tok, eof, window, d.sync) - } - } else { -- d.w.writeBlock(tok.tokens[:tok.n], eof, nil) -+ d.w.writeBlock(tok, eof, nil) - } - d.blockStart = index - return d.w.err -@@ -208,8 +205,16 @@ func (d *compressor) writeBlockSkip(tok tokens, index int, eof bool) error { - func (d *compressor) fillWindow(b []byte) { - // Do not fill window if we are in store-only mode, - // use constant or Snappy compression. -- switch d.compressionLevel.level { -- case 0, 1, 2: -+ if d.level == 0 { -+ return -+ } -+ if d.fast != nil { -+ // encode the last data, but discard the result -+ if len(b) > maxMatchOffset { -+ b = b[len(b)-maxMatchOffset:] -+ } -+ d.fast.Encode(&d.tokens, b) -+ d.tokens.Reset() - return - } - s := d.state -@@ -236,7 +241,7 @@ func (d *compressor) fillWindow(b []byte) { - } - - dst := s.hashMatch[:dstSize] -- s.bulkHasher(tocheck, dst) -+ bulkHash4(tocheck, dst) - var newH uint32 - for i, val := range dst { - di := i + startindex -@@ -284,62 +289,7 @@ func (d *compressor) findMatch(pos int, prevHead int, prevLength int, lookahead - - for i := prevHead; tries > 0; tries-- { - if wEnd == win[i+length] { -- n := matchLen(win[i:], wPos, minMatchLook) -- -- if n > length && (n > minMatchLength || pos-i <= 4096) { -- length = n -- offset = pos - i -- ok = true -- if n >= nice { -- // The match is good enough that we don't try to find a better one. -- break -- } -- wEnd = win[pos+n] -- } -- } -- if i == minIndex { -- // hashPrev[i & windowMask] has already been overwritten, so stop now. -- break -- } -- i = int(d.state.hashPrev[i&windowMask]) - d.state.hashOffset -- if i < minIndex || i < 0 { -- break -- } -- } -- return --} -- --// Try to find a match starting at index whose length is greater than prevSize. --// We only look at chainCount possibilities before giving up. --// pos = s.index, prevHead = s.chainHead-s.hashOffset, prevLength=minMatchLength-1, lookahead --func (d *compressor) findMatchSSE(pos int, prevHead int, prevLength int, lookahead int) (length, offset int, ok bool) { -- minMatchLook := maxMatchLength -- if lookahead < minMatchLook { -- minMatchLook = lookahead -- } -- -- win := d.window[0 : pos+minMatchLook] -- -- // We quit when we get a match that's at least nice long -- nice := len(win) - pos -- if d.nice < nice { -- nice = d.nice -- } -- -- // If we've got a match that's good enough, only look in 1/4 the chain. -- tries := d.chain -- length = prevLength -- if length >= d.good { -- tries >>= 2 -- } -- -- wEnd := win[pos+length] -- wPos := win[pos:] -- minIndex := pos - windowSize -- -- for i := prevHead; tries > 0; tries-- { -- if wEnd == win[i+length] { -- n := matchLenSSE4(win[i:], wPos, minMatchLook) -+ n := matchLen(win[i:i+minMatchLook], wPos) - - if n > length && (n > minMatchLength || pos-i <= 4096) { - length = n -@@ -372,42 +322,27 @@ func (d *compressor) writeStoredBlock(buf []byte) error { - return d.w.err - } - --const hashmul = 0x1e35a7bd -- - // hash4 returns a hash representation of the first 4 bytes - // of the supplied slice. - // The caller must ensure that len(b) >= 4. - func hash4(b []byte) uint32 { -- return ((uint32(b[3]) | uint32(b[2])<<8 | uint32(b[1])<<16 | uint32(b[0])<<24) * hashmul) >> (32 - hashBits) -+ b = b[:4] -+ return hash4u(uint32(b[3])|uint32(b[2])<<8|uint32(b[1])<<16|uint32(b[0])<<24, hashBits) - } - - // bulkHash4 will compute hashes using the same - // algorithm as hash4 - func bulkHash4(b []byte, dst []uint32) { -- if len(b) < minMatchLength { -+ if len(b) < 4 { - return - } - hb := uint32(b[3]) | uint32(b[2])<<8 | uint32(b[1])<<16 | uint32(b[0])<<24 -- dst[0] = (hb * hashmul) >> (32 - hashBits) -- end := len(b) - minMatchLength + 1 -+ dst[0] = hash4u(hb, hashBits) -+ end := len(b) - 4 + 1 - for i := 1; i < end; i++ { - hb = (hb << 8) | uint32(b[i+3]) -- dst[i] = (hb * hashmul) >> (32 - hashBits) -- } --} -- --// matchLen returns the number of matching bytes in a and b --// up to length 'max'. Both slices must be at least 'max' --// bytes in size. --func matchLen(a, b []byte, max int) int { -- a = a[:max] -- b = b[:len(a)] -- for i, av := range a { -- if b[i] != av { -- return i -- } -+ dst[i] = hash4u(hb, hashBits) - } -- return max - } - - func (d *compressor) initDeflate() { -@@ -424,149 +359,6 @@ func (d *compressor) initDeflate() { - s.offset = 0 - s.hash = 0 - s.chainHead = -1 -- s.bulkHasher = bulkHash4 -- if useSSE42 { -- s.bulkHasher = crc32sseAll -- } --} -- --// Assumes that d.fastSkipHashing != skipNever, --// otherwise use deflateLazy --func (d *compressor) deflate() { -- s := d.state -- // Sanity enables additional runtime tests. -- // It's intended to be used during development -- // to supplement the currently ad-hoc unit tests. -- const sanity = false -- -- if d.windowEnd-s.index < minMatchLength+maxMatchLength && !d.sync { -- return -- } -- -- s.maxInsertIndex = d.windowEnd - (minMatchLength - 1) -- if s.index < s.maxInsertIndex { -- s.hash = hash4(d.window[s.index : s.index+minMatchLength]) -- } -- -- for { -- if sanity && s.index > d.windowEnd { -- panic("index > windowEnd") -- } -- lookahead := d.windowEnd - s.index -- if lookahead < minMatchLength+maxMatchLength { -- if !d.sync { -- return -- } -- if sanity && s.index > d.windowEnd { -- panic("index > windowEnd") -- } -- if lookahead == 0 { -- if d.tokens.n > 0 { -- if d.err = d.writeBlockSkip(d.tokens, s.index, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- return -- } -- } -- if s.index < s.maxInsertIndex { -- // Update the hash -- s.hash = hash4(d.window[s.index : s.index+minMatchLength]) -- ch := s.hashHead[s.hash&hashMask] -- s.chainHead = int(ch) -- s.hashPrev[s.index&windowMask] = ch -- s.hashHead[s.hash&hashMask] = uint32(s.index + s.hashOffset) -- } -- s.length = minMatchLength - 1 -- s.offset = 0 -- minIndex := s.index - windowSize -- if minIndex < 0 { -- minIndex = 0 -- } -- -- if s.chainHead-s.hashOffset >= minIndex && lookahead > minMatchLength-1 { -- if newLength, newOffset, ok := d.findMatch(s.index, s.chainHead-s.hashOffset, minMatchLength-1, lookahead); ok { -- s.length = newLength -- s.offset = newOffset -- } -- } -- if s.length >= minMatchLength { -- s.ii = 0 -- // There was a match at the previous step, and the current match is -- // not better. Output the previous match. -- // "s.length-3" should NOT be "s.length-minMatchLength", since the format always assume 3 -- d.tokens.tokens[d.tokens.n] = matchToken(uint32(s.length-3), uint32(s.offset-minOffsetSize)) -- d.tokens.n++ -- // Insert in the hash table all strings up to the end of the match. -- // index and index-1 are already inserted. If there is not enough -- // lookahead, the last two strings are not inserted into the hash -- // table. -- if s.length <= d.fastSkipHashing { -- var newIndex int -- newIndex = s.index + s.length -- // Calculate missing hashes -- end := newIndex -- if end > s.maxInsertIndex { -- end = s.maxInsertIndex -- } -- end += minMatchLength - 1 -- startindex := s.index + 1 -- if startindex > s.maxInsertIndex { -- startindex = s.maxInsertIndex -- } -- tocheck := d.window[startindex:end] -- dstSize := len(tocheck) - minMatchLength + 1 -- if dstSize > 0 { -- dst := s.hashMatch[:dstSize] -- bulkHash4(tocheck, dst) -- var newH uint32 -- for i, val := range dst { -- di := i + startindex -- newH = val & hashMask -- // Get previous value with the same hash. -- // Our chain should point to the previous value. -- s.hashPrev[di&windowMask] = s.hashHead[newH] -- // Set the head of the hash chain to us. -- s.hashHead[newH] = uint32(di + s.hashOffset) -- } -- s.hash = newH -- } -- s.index = newIndex -- } else { -- // For matches this long, we don't bother inserting each individual -- // item into the table. -- s.index += s.length -- if s.index < s.maxInsertIndex { -- s.hash = hash4(d.window[s.index : s.index+minMatchLength]) -- } -- } -- if d.tokens.n == maxFlateBlockTokens { -- // The block includes the current character -- if d.err = d.writeBlockSkip(d.tokens, s.index, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- } else { -- s.ii++ -- end := s.index + int(s.ii>>uint(d.fastSkipHashing)) + 1 -- if end > d.windowEnd { -- end = d.windowEnd -- } -- for i := s.index; i < end; i++ { -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[i])) -- d.tokens.n++ -- if d.tokens.n == maxFlateBlockTokens { -- if d.err = d.writeBlockSkip(d.tokens, i+1, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- } -- s.index = end -- } -- } - } - - // deflateLazy is the same as deflate, but with d.fastSkipHashing == skipNever, -@@ -603,15 +395,14 @@ func (d *compressor) deflateLazy() { - // Flush current output block if any. - if d.byteAvailable { - // There is still one pending token that needs to be flushed -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[s.index-1])) -- d.tokens.n++ -+ d.tokens.AddLiteral(d.window[s.index-1]) - d.byteAvailable = false - } - if d.tokens.n > 0 { -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -+ if d.err = d.writeBlock(&d.tokens, s.index, false); d.err != nil { - return - } -- d.tokens.n = 0 -+ d.tokens.Reset() - } - return - } -@@ -642,8 +433,7 @@ func (d *compressor) deflateLazy() { - if prevLength >= minMatchLength && s.length <= prevLength { - // There was a match at the previous step, and the current match is - // not better. Output the previous match. -- d.tokens.tokens[d.tokens.n] = matchToken(uint32(prevLength-3), uint32(prevOffset-minOffsetSize)) -- d.tokens.n++ -+ d.tokens.AddMatch(uint32(prevLength-3), uint32(prevOffset-minOffsetSize)) - - // Insert in the hash table all strings up to the end of the match. - // index and index-1 are already inserted. If there is not enough -@@ -684,10 +474,10 @@ func (d *compressor) deflateLazy() { - s.length = minMatchLength - 1 - if d.tokens.n == maxFlateBlockTokens { - // The block includes the current character -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -+ if d.err = d.writeBlock(&d.tokens, s.index, false); d.err != nil { - return - } -- d.tokens.n = 0 -+ d.tokens.Reset() - } - } else { - // Reset, if we got a match this run. -@@ -697,13 +487,12 @@ func (d *compressor) deflateLazy() { - // We have a byte waiting. Emit it. - if d.byteAvailable { - s.ii++ -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[s.index-1])) -- d.tokens.n++ -+ d.tokens.AddLiteral(d.window[s.index-1]) - if d.tokens.n == maxFlateBlockTokens { -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -+ if d.err = d.writeBlock(&d.tokens, s.index, false); d.err != nil { - return - } -- d.tokens.n = 0 -+ d.tokens.Reset() - } - s.index++ - -@@ -716,343 +505,24 @@ func (d *compressor) deflateLazy() { - break - } - -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[s.index-1])) -- d.tokens.n++ -+ d.tokens.AddLiteral(d.window[s.index-1]) - if d.tokens.n == maxFlateBlockTokens { -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -+ if d.err = d.writeBlock(&d.tokens, s.index, false); d.err != nil { - return - } -- d.tokens.n = 0 -+ d.tokens.Reset() - } - s.index++ - } - // Flush last byte -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[s.index-1])) -- d.tokens.n++ -+ d.tokens.AddLiteral(d.window[s.index-1]) - d.byteAvailable = false - // s.length = minMatchLength - 1 // not needed, since s.ii is reset above, so it should never be > minMatchLength - if d.tokens.n == maxFlateBlockTokens { -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -+ if d.err = d.writeBlock(&d.tokens, s.index, false); d.err != nil { - return - } -- d.tokens.n = 0 -- } -- } -- } else { -- s.index++ -- d.byteAvailable = true -- } -- } -- } --} -- --// Assumes that d.fastSkipHashing != skipNever, --// otherwise use deflateLazySSE --func (d *compressor) deflateSSE() { -- s := d.state -- // Sanity enables additional runtime tests. -- // It's intended to be used during development -- // to supplement the currently ad-hoc unit tests. -- const sanity = false -- -- if d.windowEnd-s.index < minMatchLength+maxMatchLength && !d.sync { -- return -- } -- -- s.maxInsertIndex = d.windowEnd - (minMatchLength - 1) -- if s.index < s.maxInsertIndex { -- s.hash = crc32sse(d.window[s.index:s.index+minMatchLength]) & hashMask -- } -- -- for { -- if sanity && s.index > d.windowEnd { -- panic("index > windowEnd") -- } -- lookahead := d.windowEnd - s.index -- if lookahead < minMatchLength+maxMatchLength { -- if !d.sync { -- return -- } -- if sanity && s.index > d.windowEnd { -- panic("index > windowEnd") -- } -- if lookahead == 0 { -- if d.tokens.n > 0 { -- if d.err = d.writeBlockSkip(d.tokens, s.index, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- return -- } -- } -- if s.index < s.maxInsertIndex { -- // Update the hash -- s.hash = crc32sse(d.window[s.index:s.index+minMatchLength]) & hashMask -- ch := s.hashHead[s.hash] -- s.chainHead = int(ch) -- s.hashPrev[s.index&windowMask] = ch -- s.hashHead[s.hash] = uint32(s.index + s.hashOffset) -- } -- s.length = minMatchLength - 1 -- s.offset = 0 -- minIndex := s.index - windowSize -- if minIndex < 0 { -- minIndex = 0 -- } -- -- if s.chainHead-s.hashOffset >= minIndex && lookahead > minMatchLength-1 { -- if newLength, newOffset, ok := d.findMatchSSE(s.index, s.chainHead-s.hashOffset, minMatchLength-1, lookahead); ok { -- s.length = newLength -- s.offset = newOffset -- } -- } -- if s.length >= minMatchLength { -- s.ii = 0 -- // There was a match at the previous step, and the current match is -- // not better. Output the previous match. -- // "s.length-3" should NOT be "s.length-minMatchLength", since the format always assume 3 -- d.tokens.tokens[d.tokens.n] = matchToken(uint32(s.length-3), uint32(s.offset-minOffsetSize)) -- d.tokens.n++ -- // Insert in the hash table all strings up to the end of the match. -- // index and index-1 are already inserted. If there is not enough -- // lookahead, the last two strings are not inserted into the hash -- // table. -- if s.length <= d.fastSkipHashing { -- var newIndex int -- newIndex = s.index + s.length -- // Calculate missing hashes -- end := newIndex -- if end > s.maxInsertIndex { -- end = s.maxInsertIndex -- } -- end += minMatchLength - 1 -- startindex := s.index + 1 -- if startindex > s.maxInsertIndex { -- startindex = s.maxInsertIndex -- } -- tocheck := d.window[startindex:end] -- dstSize := len(tocheck) - minMatchLength + 1 -- if dstSize > 0 { -- dst := s.hashMatch[:dstSize] -- -- crc32sseAll(tocheck, dst) -- var newH uint32 -- for i, val := range dst { -- di := i + startindex -- newH = val & hashMask -- // Get previous value with the same hash. -- // Our chain should point to the previous value. -- s.hashPrev[di&windowMask] = s.hashHead[newH] -- // Set the head of the hash chain to us. -- s.hashHead[newH] = uint32(di + s.hashOffset) -- } -- s.hash = newH -- } -- s.index = newIndex -- } else { -- // For matches this long, we don't bother inserting each individual -- // item into the table. -- s.index += s.length -- if s.index < s.maxInsertIndex { -- s.hash = crc32sse(d.window[s.index:s.index+minMatchLength]) & hashMask -- } -- } -- if d.tokens.n == maxFlateBlockTokens { -- // The block includes the current character -- if d.err = d.writeBlockSkip(d.tokens, s.index, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- } else { -- s.ii++ -- end := s.index + int(s.ii>>5) + 1 -- if end > d.windowEnd { -- end = d.windowEnd -- } -- for i := s.index; i < end; i++ { -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[i])) -- d.tokens.n++ -- if d.tokens.n == maxFlateBlockTokens { -- if d.err = d.writeBlockSkip(d.tokens, i+1, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- } -- s.index = end -- } -- } --} -- --// deflateLazy is the same as deflate, but with d.fastSkipHashing == skipNever, --// meaning it always has lazy matching on. --func (d *compressor) deflateLazySSE() { -- s := d.state -- // Sanity enables additional runtime tests. -- // It's intended to be used during development -- // to supplement the currently ad-hoc unit tests. -- const sanity = false -- -- if d.windowEnd-s.index < minMatchLength+maxMatchLength && !d.sync { -- return -- } -- -- s.maxInsertIndex = d.windowEnd - (minMatchLength - 1) -- if s.index < s.maxInsertIndex { -- s.hash = crc32sse(d.window[s.index:s.index+minMatchLength]) & hashMask -- } -- -- for { -- if sanity && s.index > d.windowEnd { -- panic("index > windowEnd") -- } -- lookahead := d.windowEnd - s.index -- if lookahead < minMatchLength+maxMatchLength { -- if !d.sync { -- return -- } -- if sanity && s.index > d.windowEnd { -- panic("index > windowEnd") -- } -- if lookahead == 0 { -- // Flush current output block if any. -- if d.byteAvailable { -- // There is still one pending token that needs to be flushed -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[s.index-1])) -- d.tokens.n++ -- d.byteAvailable = false -- } -- if d.tokens.n > 0 { -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- return -- } -- } -- if s.index < s.maxInsertIndex { -- // Update the hash -- s.hash = crc32sse(d.window[s.index:s.index+minMatchLength]) & hashMask -- ch := s.hashHead[s.hash] -- s.chainHead = int(ch) -- s.hashPrev[s.index&windowMask] = ch -- s.hashHead[s.hash] = uint32(s.index + s.hashOffset) -- } -- prevLength := s.length -- prevOffset := s.offset -- s.length = minMatchLength - 1 -- s.offset = 0 -- minIndex := s.index - windowSize -- if minIndex < 0 { -- minIndex = 0 -- } -- -- if s.chainHead-s.hashOffset >= minIndex && lookahead > prevLength && prevLength < d.lazy { -- if newLength, newOffset, ok := d.findMatchSSE(s.index, s.chainHead-s.hashOffset, minMatchLength-1, lookahead); ok { -- s.length = newLength -- s.offset = newOffset -- } -- } -- if prevLength >= minMatchLength && s.length <= prevLength { -- // There was a match at the previous step, and the current match is -- // not better. Output the previous match. -- d.tokens.tokens[d.tokens.n] = matchToken(uint32(prevLength-3), uint32(prevOffset-minOffsetSize)) -- d.tokens.n++ -- -- // Insert in the hash table all strings up to the end of the match. -- // index and index-1 are already inserted. If there is not enough -- // lookahead, the last two strings are not inserted into the hash -- // table. -- var newIndex int -- newIndex = s.index + prevLength - 1 -- // Calculate missing hashes -- end := newIndex -- if end > s.maxInsertIndex { -- end = s.maxInsertIndex -- } -- end += minMatchLength - 1 -- startindex := s.index + 1 -- if startindex > s.maxInsertIndex { -- startindex = s.maxInsertIndex -- } -- tocheck := d.window[startindex:end] -- dstSize := len(tocheck) - minMatchLength + 1 -- if dstSize > 0 { -- dst := s.hashMatch[:dstSize] -- crc32sseAll(tocheck, dst) -- var newH uint32 -- for i, val := range dst { -- di := i + startindex -- newH = val & hashMask -- // Get previous value with the same hash. -- // Our chain should point to the previous value. -- s.hashPrev[di&windowMask] = s.hashHead[newH] -- // Set the head of the hash chain to us. -- s.hashHead[newH] = uint32(di + s.hashOffset) -- } -- s.hash = newH -- } -- -- s.index = newIndex -- d.byteAvailable = false -- s.length = minMatchLength - 1 -- if d.tokens.n == maxFlateBlockTokens { -- // The block includes the current character -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- } else { -- // Reset, if we got a match this run. -- if s.length >= minMatchLength { -- s.ii = 0 -- } -- // We have a byte waiting. Emit it. -- if d.byteAvailable { -- s.ii++ -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[s.index-1])) -- d.tokens.n++ -- if d.tokens.n == maxFlateBlockTokens { -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- s.index++ -- -- // If we have a long run of no matches, skip additional bytes -- // Resets when s.ii overflows after 64KB. -- if s.ii > 31 { -- n := int(s.ii >> 6) -- for j := 0; j < n; j++ { -- if s.index >= d.windowEnd-1 { -- break -- } -- -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[s.index-1])) -- d.tokens.n++ -- if d.tokens.n == maxFlateBlockTokens { -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -- } -- s.index++ -- } -- // Flush last byte -- d.tokens.tokens[d.tokens.n] = literalToken(uint32(d.window[s.index-1])) -- d.tokens.n++ -- d.byteAvailable = false -- // s.length = minMatchLength - 1 // not needed, since s.ii is reset above, so it should never be > minMatchLength -- if d.tokens.n == maxFlateBlockTokens { -- if d.err = d.writeBlock(d.tokens, s.index, false); d.err != nil { -- return -- } -- d.tokens.n = 0 -+ d.tokens.Reset() - } - } - } else { -@@ -1085,17 +555,17 @@ func (d *compressor) storeHuff() { - if d.windowEnd < len(d.window) && !d.sync || d.windowEnd == 0 { - return - } -- d.w.writeBlockHuff(false, d.window[:d.windowEnd]) -+ d.w.writeBlockHuff(false, d.window[:d.windowEnd], d.sync) - d.err = d.w.err - d.windowEnd = 0 - } - --// storeHuff will compress and store the currently added data, -+// storeFast will compress and store the currently added data, - // if enough has been accumulated or we at the end of the stream. - // Any error that occurred will be in d.err --func (d *compressor) storeSnappy() { -+func (d *compressor) storeFast() { - // We only compress if we have maxStoreBlockSize. -- if d.windowEnd < maxStoreBlockSize { -+ if d.windowEnd < len(d.window) { - if !d.sync { - return - } -@@ -1106,32 +576,30 @@ func (d *compressor) storeSnappy() { - } - if d.windowEnd <= 32 { - d.err = d.writeStoredBlock(d.window[:d.windowEnd]) -- d.tokens.n = 0 -- d.windowEnd = 0 - } else { -- d.w.writeBlockHuff(false, d.window[:d.windowEnd]) -+ d.w.writeBlockHuff(false, d.window[:d.windowEnd], true) - d.err = d.w.err - } -- d.tokens.n = 0 -+ d.tokens.Reset() - d.windowEnd = 0 -- d.snap.Reset() -+ d.fast.Reset() - return - } - } - -- d.snap.Encode(&d.tokens, d.window[:d.windowEnd]) -+ d.fast.Encode(&d.tokens, d.window[:d.windowEnd]) - // If we made zero matches, store the block as is. -- if int(d.tokens.n) == d.windowEnd { -+ if d.tokens.n == 0 { - d.err = d.writeStoredBlock(d.window[:d.windowEnd]) - // If we removed less than 1/16th, huffman compress the block. - } else if int(d.tokens.n) > d.windowEnd-(d.windowEnd>>4) { -- d.w.writeBlockHuff(false, d.window[:d.windowEnd]) -+ d.w.writeBlockHuff(false, d.window[:d.windowEnd], d.sync) - d.err = d.w.err - } else { -- d.w.writeBlockDynamic(d.tokens.tokens[:d.tokens.n], false, d.window[:d.windowEnd]) -+ d.w.writeBlockDynamic(&d.tokens, false, d.window[:d.windowEnd], d.sync) - d.err = d.w.err - } -- d.tokens.n = 0 -+ d.tokens.Reset() - d.windowEnd = 0 - } - -@@ -1176,36 +644,26 @@ func (d *compressor) init(w io.Writer, level int) (err error) { - d.fill = (*compressor).fillBlock - d.step = (*compressor).store - case level == ConstantCompression: -+ d.w.logNewTablePenalty = 4 - d.window = make([]byte, maxStoreBlockSize) - d.fill = (*compressor).fillBlock - d.step = (*compressor).storeHuff -- case level >= 1 && level <= 4: -- d.snap = newFastEnc(level) -- d.window = make([]byte, maxStoreBlockSize) -- d.fill = (*compressor).fillBlock -- d.step = (*compressor).storeSnappy - case level == DefaultCompression: - level = 5 - fallthrough -- case 5 <= level && level <= 9: -+ case level >= 1 && level <= 6: -+ d.w.logNewTablePenalty = 6 -+ d.fast = newFastEnc(level) -+ d.window = make([]byte, maxStoreBlockSize) -+ d.fill = (*compressor).fillBlock -+ d.step = (*compressor).storeFast -+ case 7 <= level && level <= 9: -+ d.w.logNewTablePenalty = 10 - d.state = &advancedState{} - d.compressionLevel = levels[level] - d.initDeflate() - d.fill = (*compressor).fillDeflate -- if d.fastSkipHashing == skipNever { -- if useSSE42 { -- d.step = (*compressor).deflateLazySSE -- } else { -- d.step = (*compressor).deflateLazy -- } -- } else { -- if useSSE42 { -- d.step = (*compressor).deflateSSE -- } else { -- d.step = (*compressor).deflate -- -- } -- } -+ d.step = (*compressor).deflateLazy - default: - return fmt.Errorf("flate: invalid compression level %d: want value in range [-2, 9]", level) - } -@@ -1218,10 +676,10 @@ func (d *compressor) reset(w io.Writer) { - d.sync = false - d.err = nil - // We only need to reset a few things for Snappy. -- if d.snap != nil { -- d.snap.Reset() -+ if d.fast != nil { -+ d.fast.Reset() - d.windowEnd = 0 -- d.tokens.n = 0 -+ d.tokens.Reset() - return - } - switch d.compressionLevel.chain { -@@ -1240,7 +698,7 @@ func (d *compressor) reset(w io.Writer) { - s.hashOffset = 1 - s.index, d.windowEnd = 0, 0 - d.blockStart, d.byteAvailable = 0, false -- d.tokens.n = 0 -+ d.tokens.Reset() - s.length = minMatchLength - 1 - s.offset = 0 - s.hash = 0 -diff --git a/vendor/github.com/klauspost/compress/flate/fast_encoder.go b/vendor/github.com/klauspost/compress/flate/fast_encoder.go -new file mode 100644 -index 000000000..b0a470f92 ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/fast_encoder.go -@@ -0,0 +1,257 @@ -+// Copyright 2011 The Snappy-Go Authors. All rights reserved. -+// Modified for deflate by Klaus Post (c) 2015. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package flate -+ -+import ( -+ "fmt" -+ "math/bits" -+) -+ -+type fastEnc interface { -+ Encode(dst *tokens, src []byte) -+ Reset() -+} -+ -+func newFastEnc(level int) fastEnc { -+ switch level { -+ case 1: -+ return &fastEncL1{fastGen: fastGen{cur: maxStoreBlockSize}} -+ case 2: -+ return &fastEncL2{fastGen: fastGen{cur: maxStoreBlockSize}} -+ case 3: -+ return &fastEncL3{fastGen: fastGen{cur: maxStoreBlockSize}} -+ case 4: -+ return &fastEncL4{fastGen: fastGen{cur: maxStoreBlockSize}} -+ case 5: -+ return &fastEncL5{fastGen: fastGen{cur: maxStoreBlockSize}} -+ case 6: -+ return &fastEncL6{fastGen: fastGen{cur: maxStoreBlockSize}} -+ default: -+ panic("invalid level specified") -+ } -+} -+ -+const ( -+ tableBits = 16 // Bits used in the table -+ tableSize = 1 << tableBits // Size of the table -+ tableShift = 32 - tableBits // Right-shift to get the tableBits most significant bits of a uint32. -+ baseMatchOffset = 1 // The smallest match offset -+ baseMatchLength = 3 // The smallest match length per the RFC section 3.2.5 -+ maxMatchOffset = 1 << 15 // The largest match offset -+ -+ bTableBits = 18 // Bits used in the big tables -+ bTableSize = 1 << bTableBits // Size of the table -+ allocHistory = maxMatchOffset * 10 // Size to preallocate for history. -+ bufferReset = (1 << 31) - allocHistory - maxStoreBlockSize // Reset the buffer offset when reaching this. -+) -+ -+const ( -+ prime3bytes = 506832829 -+ prime4bytes = 2654435761 -+ prime5bytes = 889523592379 -+ prime6bytes = 227718039650203 -+ prime7bytes = 58295818150454627 -+ prime8bytes = 0xcf1bbcdcb7a56463 -+) -+ -+func load32(b []byte, i int) uint32 { -+ // Help the compiler eliminate bounds checks on the read so it can be done in a single read. -+ b = b[i:] -+ b = b[:4] -+ return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 -+} -+ -+func load64(b []byte, i int) uint64 { -+ // Help the compiler eliminate bounds checks on the read so it can be done in a single read. -+ b = b[i:] -+ b = b[:8] -+ return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | -+ uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 -+} -+ -+func load3232(b []byte, i int32) uint32 { -+ // Help the compiler eliminate bounds checks on the read so it can be done in a single read. -+ b = b[i:] -+ b = b[:4] -+ return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 -+} -+ -+func load6432(b []byte, i int32) uint64 { -+ // Help the compiler eliminate bounds checks on the read so it can be done in a single read. -+ b = b[i:] -+ b = b[:8] -+ return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | -+ uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 -+} -+ -+func hash(u uint32) uint32 { -+ return (u * 0x1e35a7bd) >> tableShift -+} -+ -+type tableEntry struct { -+ val uint32 -+ offset int32 -+} -+ -+// fastGen maintains the table for matches, -+// and the previous byte block for level 2. -+// This is the generic implementation. -+type fastGen struct { -+ hist []byte -+ cur int32 -+} -+ -+func (e *fastGen) addBlock(src []byte) int32 { -+ // check if we have space already -+ if len(e.hist)+len(src) > cap(e.hist) { -+ if cap(e.hist) == 0 { -+ e.hist = make([]byte, 0, allocHistory) -+ } else { -+ if cap(e.hist) < maxMatchOffset*2 { -+ panic("unexpected buffer size") -+ } -+ // Move down -+ offset := int32(len(e.hist)) - maxMatchOffset -+ copy(e.hist[0:maxMatchOffset], e.hist[offset:]) -+ e.cur += offset -+ e.hist = e.hist[:maxMatchOffset] -+ } -+ } -+ s := int32(len(e.hist)) -+ e.hist = append(e.hist, src...) -+ return s -+} -+ -+// hash4 returns the hash of u to fit in a hash table with h bits. -+// Preferably h should be a constant and should always be <32. -+func hash4u(u uint32, h uint8) uint32 { -+ return (u * prime4bytes) >> ((32 - h) & 31) -+} -+ -+type tableEntryPrev struct { -+ Cur tableEntry -+ Prev tableEntry -+} -+ -+// hash4x64 returns the hash of the lowest 4 bytes of u to fit in a hash table with h bits. -+// Preferably h should be a constant and should always be <32. -+func hash4x64(u uint64, h uint8) uint32 { -+ return (uint32(u) * prime4bytes) >> ((32 - h) & 31) -+} -+ -+// hash7 returns the hash of the lowest 7 bytes of u to fit in a hash table with h bits. -+// Preferably h should be a constant and should always be <64. -+func hash7(u uint64, h uint8) uint32 { -+ return uint32(((u << (64 - 56)) * prime7bytes) >> ((64 - h) & 63)) -+} -+ -+// hash8 returns the hash of u to fit in a hash table with h bits. -+// Preferably h should be a constant and should always be <64. -+func hash8(u uint64, h uint8) uint32 { -+ return uint32((u * prime8bytes) >> ((64 - h) & 63)) -+} -+ -+// hash6 returns the hash of the lowest 6 bytes of u to fit in a hash table with h bits. -+// Preferably h should be a constant and should always be <64. -+func hash6(u uint64, h uint8) uint32 { -+ return uint32(((u << (64 - 48)) * prime6bytes) >> ((64 - h) & 63)) -+} -+ -+// matchlen will return the match length between offsets and t in src. -+// The maximum length returned is maxMatchLength - 4. -+// It is assumed that s > t, that t >=0 and s < len(src). -+func (e *fastGen) matchlen(s, t int32, src []byte) int32 { -+ if debugDecode { -+ if t >= s { -+ panic(fmt.Sprint("t >=s:", t, s)) -+ } -+ if int(s) >= len(src) { -+ panic(fmt.Sprint("s >= len(src):", s, len(src))) -+ } -+ if t < 0 { -+ panic(fmt.Sprint("t < 0:", t)) -+ } -+ if s-t > maxMatchOffset { -+ panic(fmt.Sprint(s, "-", t, "(", s-t, ") > maxMatchLength (", maxMatchOffset, ")")) -+ } -+ } -+ s1 := int(s) + maxMatchLength - 4 -+ if s1 > len(src) { -+ s1 = len(src) -+ } -+ -+ // Extend the match to be as long as possible. -+ return int32(matchLen(src[s:s1], src[t:])) -+} -+ -+// matchlenLong will return the match length between offsets and t in src. -+// It is assumed that s > t, that t >=0 and s < len(src). -+func (e *fastGen) matchlenLong(s, t int32, src []byte) int32 { -+ if debugDecode { -+ if t >= s { -+ panic(fmt.Sprint("t >=s:", t, s)) -+ } -+ if int(s) >= len(src) { -+ panic(fmt.Sprint("s >= len(src):", s, len(src))) -+ } -+ if t < 0 { -+ panic(fmt.Sprint("t < 0:", t)) -+ } -+ if s-t > maxMatchOffset { -+ panic(fmt.Sprint(s, "-", t, "(", s-t, ") > maxMatchLength (", maxMatchOffset, ")")) -+ } -+ } -+ // Extend the match to be as long as possible. -+ return int32(matchLen(src[s:], src[t:])) -+} -+ -+// Reset the encoding table. -+func (e *fastGen) Reset() { -+ if cap(e.hist) < int(maxMatchOffset*8) { -+ l := maxMatchOffset * 8 -+ // Make it at least 1MB. -+ if l < 1<<20 { -+ l = 1 << 20 -+ } -+ e.hist = make([]byte, 0, l) -+ } -+ // We offset current position so everything will be out of reach -+ e.cur += maxMatchOffset + int32(len(e.hist)) -+ e.hist = e.hist[:0] -+} -+ -+// matchLen returns the maximum length. -+// 'a' must be the shortest of the two. -+func matchLen(a, b []byte) int { -+ b = b[:len(a)] -+ var checked int -+ if len(a) > 4 { -+ // Try 4 bytes first -+ if diff := load32(a, 0) ^ load32(b, 0); diff != 0 { -+ return bits.TrailingZeros32(diff) >> 3 -+ } -+ // Switch to 8 byte matching. -+ checked = 4 -+ a = a[4:] -+ b = b[4:] -+ for len(a) >= 8 { -+ b = b[:len(a)] -+ if diff := load64(a, 0) ^ load64(b, 0); diff != 0 { -+ return checked + (bits.TrailingZeros64(diff) >> 3) -+ } -+ checked += 8 -+ a = a[8:] -+ b = b[8:] -+ } -+ } -+ b = b[:len(a)] -+ for i := range a { -+ if a[i] != b[i] { -+ return int(i) + checked -+ } -+ } -+ return len(a) + checked -+} -diff --git a/vendor/github.com/klauspost/compress/flate/huffman_bit_writer.go b/vendor/github.com/klauspost/compress/flate/huffman_bit_writer.go -index f46c65418..9feea87a3 100644 ---- a/vendor/github.com/klauspost/compress/flate/huffman_bit_writer.go -+++ b/vendor/github.com/klauspost/compress/flate/huffman_bit_writer.go -@@ -85,26 +85,48 @@ type huffmanBitWriter struct { - // Data waiting to be written is bytes[0:nbytes] - // and then the low nbits of bits. - bits uint64 -- nbits uint -- bytes [256]byte -- codegenFreq [codegenCodeCount]int32 -+ nbits uint16 - nbytes uint8 -- literalFreq []int32 -- offsetFreq []int32 -- codegen []uint8 - literalEncoding *huffmanEncoder - offsetEncoding *huffmanEncoder - codegenEncoding *huffmanEncoder - err error -+ lastHeader int -+ // Set between 0 (reused block can be up to 2x the size) -+ logNewTablePenalty uint -+ lastHuffMan bool -+ bytes [256]byte -+ literalFreq [lengthCodesStart + 32]uint16 -+ offsetFreq [32]uint16 -+ codegenFreq [codegenCodeCount]uint16 -+ -+ // codegen must have an extra space for the final symbol. -+ codegen [literalCount + offsetCodeCount + 1]uint8 - } - -+// Huffman reuse. -+// -+// The huffmanBitWriter supports reusing huffman tables and thereby combining block sections. -+// -+// This is controlled by several variables: -+// -+// If lastHeader is non-zero the Huffman table can be reused. -+// This also indicates that a Huffman table has been generated that can output all -+// possible symbols. -+// It also indicates that an EOB has not yet been emitted, so if a new tabel is generated -+// an EOB with the previous table must be written. -+// -+// If lastHuffMan is set, a table for outputting literals has been generated and offsets are invalid. -+// -+// An incoming block estimates the output size of a new table using a 'fresh' by calculating the -+// optimal size and adding a penalty in 'logNewTablePenalty'. -+// A Huffman table is not optimal, which is why we add a penalty, and generating a new table -+// is slower both for compression and decompression. -+ - func newHuffmanBitWriter(w io.Writer) *huffmanBitWriter { - return &huffmanBitWriter{ - writer: w, -- literalFreq: make([]int32, lengthCodesStart+32), -- offsetFreq: make([]int32, 32), -- codegen: make([]uint8, maxNumLit+offsetCodeCount+1), -- literalEncoding: newHuffmanEncoder(maxNumLit), -+ literalEncoding: newHuffmanEncoder(literalCount), - codegenEncoding: newHuffmanEncoder(codegenCodeCount), - offsetEncoding: newHuffmanEncoder(offsetCodeCount), - } -@@ -113,7 +135,41 @@ func newHuffmanBitWriter(w io.Writer) *huffmanBitWriter { - func (w *huffmanBitWriter) reset(writer io.Writer) { - w.writer = writer - w.bits, w.nbits, w.nbytes, w.err = 0, 0, 0, nil -- w.bytes = [256]byte{} -+ w.lastHeader = 0 -+ w.lastHuffMan = false -+} -+ -+func (w *huffmanBitWriter) canReuse(t *tokens) (offsets, lits bool) { -+ offsets, lits = true, true -+ a := t.offHist[:offsetCodeCount] -+ b := w.offsetFreq[:len(a)] -+ for i := range a { -+ if b[i] == 0 && a[i] != 0 { -+ offsets = false -+ break -+ } -+ } -+ -+ a = t.extraHist[:literalCount-256] -+ b = w.literalFreq[256:literalCount] -+ b = b[:len(a)] -+ for i := range a { -+ if b[i] == 0 && a[i] != 0 { -+ lits = false -+ break -+ } -+ } -+ if lits { -+ a = t.litHist[:] -+ b = w.literalFreq[:len(a)] -+ for i := range a { -+ if b[i] == 0 && a[i] != 0 { -+ lits = false -+ break -+ } -+ } -+ } -+ return - } - - func (w *huffmanBitWriter) flush() { -@@ -144,30 +200,11 @@ func (w *huffmanBitWriter) write(b []byte) { - _, w.err = w.writer.Write(b) - } - --func (w *huffmanBitWriter) writeBits(b int32, nb uint) { -- w.bits |= uint64(b) << w.nbits -+func (w *huffmanBitWriter) writeBits(b int32, nb uint16) { -+ w.bits |= uint64(b) << (w.nbits & 63) - w.nbits += nb - if w.nbits >= 48 { -- bits := w.bits -- w.bits >>= 48 -- w.nbits -= 48 -- n := w.nbytes -- w.bytes[n] = byte(bits) -- w.bytes[n+1] = byte(bits >> 8) -- w.bytes[n+2] = byte(bits >> 16) -- w.bytes[n+3] = byte(bits >> 24) -- w.bytes[n+4] = byte(bits >> 32) -- w.bytes[n+5] = byte(bits >> 40) -- n += 6 -- if n >= bufferFlushSize { -- if w.err != nil { -- n = 0 -- return -- } -- w.write(w.bytes[:n]) -- n = 0 -- } -- w.nbytes = n -+ w.writeOutBits() - } - } - -@@ -213,7 +250,7 @@ func (w *huffmanBitWriter) generateCodegen(numLiterals int, numOffsets int, litE - // a copy of the frequencies, and as the place where we put the result. - // This is fine because the output is always shorter than the input used - // so far. -- codegen := w.codegen // cache -+ codegen := w.codegen[:] // cache - // Copy the concatenated code sizes to codegen. Put a marker at the end. - cgnl := codegen[:numLiterals] - for i := range cgnl { -@@ -292,30 +329,61 @@ func (w *huffmanBitWriter) generateCodegen(numLiterals int, numOffsets int, litE - codegen[outIndex] = badCode - } - --// dynamicSize returns the size of dynamically encoded data in bits. --func (w *huffmanBitWriter) dynamicSize(litEnc, offEnc *huffmanEncoder, extraBits int) (size, numCodegens int) { -+func (w *huffmanBitWriter) codegens() int { -+ numCodegens := len(w.codegenFreq) -+ for numCodegens > 4 && w.codegenFreq[codegenOrder[numCodegens-1]] == 0 { -+ numCodegens-- -+ } -+ return numCodegens -+} -+ -+func (w *huffmanBitWriter) headerSize() (size, numCodegens int) { - numCodegens = len(w.codegenFreq) - for numCodegens > 4 && w.codegenFreq[codegenOrder[numCodegens-1]] == 0 { - numCodegens-- - } -- header := 3 + 5 + 5 + 4 + (3 * numCodegens) + -+ return 3 + 5 + 5 + 4 + (3 * numCodegens) + - w.codegenEncoding.bitLength(w.codegenFreq[:]) + - int(w.codegenFreq[16])*2 + - int(w.codegenFreq[17])*3 + -- int(w.codegenFreq[18])*7 -+ int(w.codegenFreq[18])*7, numCodegens -+} -+ -+// dynamicSize returns the size of dynamically encoded data in bits. -+func (w *huffmanBitWriter) dynamicReuseSize(litEnc, offEnc *huffmanEncoder) (size int) { -+ size = litEnc.bitLength(w.literalFreq[:]) + -+ offEnc.bitLength(w.offsetFreq[:]) -+ return size -+} -+ -+// dynamicSize returns the size of dynamically encoded data in bits. -+func (w *huffmanBitWriter) dynamicSize(litEnc, offEnc *huffmanEncoder, extraBits int) (size, numCodegens int) { -+ header, numCodegens := w.headerSize() - size = header + -- litEnc.bitLength(w.literalFreq) + -- offEnc.bitLength(w.offsetFreq) + -+ litEnc.bitLength(w.literalFreq[:]) + -+ offEnc.bitLength(w.offsetFreq[:]) + - extraBits -- - return size, numCodegens - } - -+// extraBitSize will return the number of bits that will be written -+// as "extra" bits on matches. -+func (w *huffmanBitWriter) extraBitSize() int { -+ total := 0 -+ for i, n := range w.literalFreq[257:literalCount] { -+ total += int(n) * int(lengthExtraBits[i&31]) -+ } -+ for i, n := range w.offsetFreq[:offsetCodeCount] { -+ total += int(n) * int(offsetExtraBits[i&31]) -+ } -+ return total -+} -+ - // fixedSize returns the size of dynamically encoded data in bits. - func (w *huffmanBitWriter) fixedSize(extraBits int) int { - return 3 + -- fixedLiteralEncoding.bitLength(w.literalFreq) + -- fixedOffsetEncoding.bitLength(w.offsetFreq) + -+ fixedLiteralEncoding.bitLength(w.literalFreq[:]) + -+ fixedOffsetEncoding.bitLength(w.offsetFreq[:]) + - extraBits - } - -@@ -333,30 +401,36 @@ func (w *huffmanBitWriter) storedSize(in []byte) (int, bool) { - } - - func (w *huffmanBitWriter) writeCode(c hcode) { -+ // The function does not get inlined if we "& 63" the shift. - w.bits |= uint64(c.code) << w.nbits -- w.nbits += uint(c.len) -+ w.nbits += c.len - if w.nbits >= 48 { -- bits := w.bits -- w.bits >>= 48 -- w.nbits -= 48 -- n := w.nbytes -- w.bytes[n] = byte(bits) -- w.bytes[n+1] = byte(bits >> 8) -- w.bytes[n+2] = byte(bits >> 16) -- w.bytes[n+3] = byte(bits >> 24) -- w.bytes[n+4] = byte(bits >> 32) -- w.bytes[n+5] = byte(bits >> 40) -- n += 6 -- if n >= bufferFlushSize { -- if w.err != nil { -- n = 0 -- return -- } -- w.write(w.bytes[:n]) -+ w.writeOutBits() -+ } -+} -+ -+// writeOutBits will write bits to the buffer. -+func (w *huffmanBitWriter) writeOutBits() { -+ bits := w.bits -+ w.bits >>= 48 -+ w.nbits -= 48 -+ n := w.nbytes -+ w.bytes[n] = byte(bits) -+ w.bytes[n+1] = byte(bits >> 8) -+ w.bytes[n+2] = byte(bits >> 16) -+ w.bytes[n+3] = byte(bits >> 24) -+ w.bytes[n+4] = byte(bits >> 32) -+ w.bytes[n+5] = byte(bits >> 40) -+ n += 6 -+ if n >= bufferFlushSize { -+ if w.err != nil { - n = 0 -+ return - } -- w.nbytes = n -+ w.write(w.bytes[:n]) -+ n = 0 - } -+ w.nbytes = n - } - - // Write the header of a dynamic Huffman block to the output stream. -@@ -384,26 +458,23 @@ func (w *huffmanBitWriter) writeDynamicHeader(numLiterals int, numOffsets int, n - - i := 0 - for { -- var codeWord int = int(w.codegen[i]) -+ var codeWord = uint32(w.codegen[i]) - i++ - if codeWord == badCode { - break - } -- w.writeCode(w.codegenEncoding.codes[uint32(codeWord)]) -+ w.writeCode(w.codegenEncoding.codes[codeWord]) - - switch codeWord { - case 16: - w.writeBits(int32(w.codegen[i]), 2) - i++ -- break - case 17: - w.writeBits(int32(w.codegen[i]), 3) - i++ -- break - case 18: - w.writeBits(int32(w.codegen[i]), 7) - i++ -- break - } - } - } -@@ -412,6 +483,11 @@ func (w *huffmanBitWriter) writeStoredHeader(length int, isEof bool) { - if w.err != nil { - return - } -+ if w.lastHeader > 0 { -+ // We owe an EOB -+ w.writeCode(w.literalEncoding.codes[endBlockMarker]) -+ w.lastHeader = 0 -+ } - var flag int32 - if isEof { - flag = 1 -@@ -426,6 +502,12 @@ func (w *huffmanBitWriter) writeFixedHeader(isEof bool) { - if w.err != nil { - return - } -+ if w.lastHeader > 0 { -+ // We owe an EOB -+ w.writeCode(w.literalEncoding.codes[endBlockMarker]) -+ w.lastHeader = 0 -+ } -+ - // Indicate that we are a fixed Huffman block - var value int32 = 2 - if isEof { -@@ -439,29 +521,23 @@ func (w *huffmanBitWriter) writeFixedHeader(isEof bool) { - // is larger than the original bytes, the data will be written as a - // stored block. - // If the input is nil, the tokens will always be Huffman encoded. --func (w *huffmanBitWriter) writeBlock(tokens []token, eof bool, input []byte) { -+func (w *huffmanBitWriter) writeBlock(tokens *tokens, eof bool, input []byte) { - if w.err != nil { - return - } - -- tokens = append(tokens, endBlockMarker) -- numLiterals, numOffsets := w.indexTokens(tokens) -- -+ tokens.AddEOB() -+ if w.lastHeader > 0 { -+ // We owe an EOB -+ w.writeCode(w.literalEncoding.codes[endBlockMarker]) -+ w.lastHeader = 0 -+ } -+ numLiterals, numOffsets := w.indexTokens(tokens, false) -+ w.generate(tokens) - var extraBits int - storedSize, storable := w.storedSize(input) - if storable { -- // We only bother calculating the costs of the extra bits required by -- // the length of offset fields (which will be the same for both fixed -- // and dynamic encoding), if we need to compare those two encodings -- // against stored encoding. -- for lengthCode := lengthCodesStart + 8; lengthCode < numLiterals; lengthCode++ { -- // First eight length codes have extra size = 0. -- extraBits += int(w.literalFreq[lengthCode]) * int(lengthExtraBits[lengthCode-lengthCodesStart]) -- } -- for offsetCode := 4; offsetCode < numOffsets; offsetCode++ { -- // First four offset codes have extra size = 0. -- extraBits += int(w.offsetFreq[offsetCode]) * int(offsetExtraBits[offsetCode&63]) -- } -+ extraBits = w.extraBitSize() - } - - // Figure out smallest code. -@@ -500,7 +576,7 @@ func (w *huffmanBitWriter) writeBlock(tokens []token, eof bool, input []byte) { - } - - // Write the tokens. -- w.writeTokens(tokens, literalEncoding.codes, offsetEncoding.codes) -+ w.writeTokens(tokens.Slice(), literalEncoding.codes, offsetEncoding.codes) - } - - // writeBlockDynamic encodes a block using a dynamic Huffman table. -@@ -508,72 +584,103 @@ func (w *huffmanBitWriter) writeBlock(tokens []token, eof bool, input []byte) { - // histogram distribution. - // If input is supplied and the compression savings are below 1/16th of the - // input size the block is stored. --func (w *huffmanBitWriter) writeBlockDynamic(tokens []token, eof bool, input []byte) { -+func (w *huffmanBitWriter) writeBlockDynamic(tokens *tokens, eof bool, input []byte, sync bool) { - if w.err != nil { - return - } - -- tokens = append(tokens, endBlockMarker) -- numLiterals, numOffsets := w.indexTokens(tokens) -+ sync = sync || eof -+ if sync { -+ tokens.AddEOB() -+ } - -- // Generate codegen and codegenFrequencies, which indicates how to encode -- // the literalEncoding and the offsetEncoding. -- w.generateCodegen(numLiterals, numOffsets, w.literalEncoding, w.offsetEncoding) -- w.codegenEncoding.generate(w.codegenFreq[:], 7) -- size, numCodegens := w.dynamicSize(w.literalEncoding, w.offsetEncoding, 0) -+ // We cannot reuse pure huffman table. -+ if w.lastHuffMan && w.lastHeader > 0 { -+ // We will not try to reuse. -+ w.writeCode(w.literalEncoding.codes[endBlockMarker]) -+ w.lastHeader = 0 -+ w.lastHuffMan = false -+ } -+ if !sync { -+ tokens.Fill() -+ } -+ numLiterals, numOffsets := w.indexTokens(tokens, !sync) - -- // Store bytes, if we don't get a reasonable improvement. -- if ssize, storable := w.storedSize(input); storable && ssize < (size+size>>4) { -- w.writeStoredHeader(len(input), eof) -- w.writeBytes(input) -- return -+ var size int -+ // Check if we should reuse. -+ if w.lastHeader > 0 { -+ // Estimate size for using a new table. -+ // Use the previous header size as the best estimate. -+ newSize := w.lastHeader + tokens.EstimatedBits() -+ newSize += newSize >> w.logNewTablePenalty -+ -+ // The estimated size is calculated as an optimal table. -+ // We add a penalty to make it more realistic and re-use a bit more. -+ reuseSize := w.dynamicReuseSize(w.literalEncoding, w.offsetEncoding) + w.extraBitSize() -+ -+ // Check if a new table is better. -+ if newSize < reuseSize { -+ // Write the EOB we owe. -+ w.writeCode(w.literalEncoding.codes[endBlockMarker]) -+ size = newSize -+ w.lastHeader = 0 -+ } else { -+ size = reuseSize -+ } -+ // Check if we get a reasonable size decrease. -+ if ssize, storable := w.storedSize(input); storable && ssize < (size+size>>4) { -+ w.writeStoredHeader(len(input), eof) -+ w.writeBytes(input) -+ w.lastHeader = 0 -+ return -+ } - } - -- // Write Huffman table. -- w.writeDynamicHeader(numLiterals, numOffsets, numCodegens, eof) -+ // We want a new block/table -+ if w.lastHeader == 0 { -+ w.generate(tokens) -+ // Generate codegen and codegenFrequencies, which indicates how to encode -+ // the literalEncoding and the offsetEncoding. -+ w.generateCodegen(numLiterals, numOffsets, w.literalEncoding, w.offsetEncoding) -+ w.codegenEncoding.generate(w.codegenFreq[:], 7) -+ var numCodegens int -+ size, numCodegens = w.dynamicSize(w.literalEncoding, w.offsetEncoding, w.extraBitSize()) -+ // Store bytes, if we don't get a reasonable improvement. -+ if ssize, storable := w.storedSize(input); storable && ssize < (size+size>>4) { -+ w.writeStoredHeader(len(input), eof) -+ w.writeBytes(input) -+ w.lastHeader = 0 -+ return -+ } -+ -+ // Write Huffman table. -+ w.writeDynamicHeader(numLiterals, numOffsets, numCodegens, eof) -+ w.lastHeader, _ = w.headerSize() -+ w.lastHuffMan = false -+ } - -+ if sync { -+ w.lastHeader = 0 -+ } - // Write the tokens. -- w.writeTokens(tokens, w.literalEncoding.codes, w.offsetEncoding.codes) -+ w.writeTokens(tokens.Slice(), w.literalEncoding.codes, w.offsetEncoding.codes) - } - - // indexTokens indexes a slice of tokens, and updates - // literalFreq and offsetFreq, and generates literalEncoding - // and offsetEncoding. - // The number of literal and offset tokens is returned. --func (w *huffmanBitWriter) indexTokens(tokens []token) (numLiterals, numOffsets int) { -- for i := range w.literalFreq { -- w.literalFreq[i] = 0 -- } -- for i := range w.offsetFreq { -- w.offsetFreq[i] = 0 -- } -+func (w *huffmanBitWriter) indexTokens(t *tokens, filled bool) (numLiterals, numOffsets int) { -+ copy(w.literalFreq[:], t.litHist[:]) -+ copy(w.literalFreq[256:], t.extraHist[:]) -+ copy(w.offsetFreq[:], t.offHist[:offsetCodeCount]) - -- if len(tokens) == 0 { -+ if t.n == 0 { - return - } -- -- // Only last token should be endBlockMarker. -- if tokens[len(tokens)-1] == endBlockMarker { -- w.literalFreq[endBlockMarker]++ -- tokens = tokens[:len(tokens)-1] -- } -- -- // Create slices up to the next power of two to avoid bounds checks. -- lits := w.literalFreq[:256] -- offs := w.offsetFreq[:32] -- lengths := w.literalFreq[lengthCodesStart:] -- lengths = lengths[:32] -- for _, t := range tokens { -- if t < endBlockMarker { -- lits[t.literal()]++ -- continue -- } -- length := t.length() -- offset := t.offset() -- lengths[lengthCode(length)&31]++ -- offs[offsetCode(offset)&31]++ -+ if filled { -+ return maxNumLit, maxNumDist - } -- - // get the number of literals - numLiterals = len(w.literalFreq) - for w.literalFreq[numLiterals-1] == 0 { -@@ -590,11 +697,14 @@ func (w *huffmanBitWriter) indexTokens(tokens []token) (numLiterals, numOffsets - w.offsetFreq[0] = 1 - numOffsets = 1 - } -- w.literalEncoding.generate(w.literalFreq[:maxNumLit], 15) -- w.offsetEncoding.generate(w.offsetFreq[:offsetCodeCount], 15) - return - } - -+func (w *huffmanBitWriter) generate(t *tokens) { -+ w.literalEncoding.generate(w.literalFreq[:literalCount], 15) -+ w.offsetEncoding.generate(w.offsetFreq[:offsetCodeCount], 15) -+} -+ - // writeTokens writes a slice of tokens to the output. - // codes for literal and offset encoding must be supplied. - func (w *huffmanBitWriter) writeTokens(tokens []token, leCodes, oeCodes []hcode) { -@@ -626,8 +736,19 @@ func (w *huffmanBitWriter) writeTokens(tokens []token, leCodes, oeCodes []hcode) - // Write the length - length := t.length() - lengthCode := lengthCode(length) -- w.writeCode(lengths[lengthCode&31]) -- extraLengthBits := uint(lengthExtraBits[lengthCode&31]) -+ if false { -+ w.writeCode(lengths[lengthCode&31]) -+ } else { -+ // inlined -+ c := lengths[lengthCode&31] -+ w.bits |= uint64(c.code) << (w.nbits & 63) -+ w.nbits += c.len -+ if w.nbits >= 48 { -+ w.writeOutBits() -+ } -+ } -+ -+ extraLengthBits := uint16(lengthExtraBits[lengthCode&31]) - if extraLengthBits > 0 { - extraLength := int32(length - lengthBase[lengthCode&31]) - w.writeBits(extraLength, extraLengthBits) -@@ -635,8 +756,18 @@ func (w *huffmanBitWriter) writeTokens(tokens []token, leCodes, oeCodes []hcode) - // Write the offset - offset := t.offset() - offsetCode := offsetCode(offset) -- w.writeCode(offs[offsetCode&31]) -- extraOffsetBits := uint(offsetExtraBits[offsetCode&63]) -+ if false { -+ w.writeCode(offs[offsetCode&31]) -+ } else { -+ // inlined -+ c := offs[offsetCode&31] -+ w.bits |= uint64(c.code) << (w.nbits & 63) -+ w.nbits += c.len -+ if w.nbits >= 48 { -+ w.writeOutBits() -+ } -+ } -+ extraOffsetBits := uint16(offsetExtraBits[offsetCode&63]) - if extraOffsetBits > 0 { - extraOffset := int32(offset - offsetBase[offsetCode&63]) - w.writeBits(extraOffset, extraOffsetBits) -@@ -661,75 +792,102 @@ func init() { - // writeBlockHuff encodes a block of bytes as either - // Huffman encoded literals or uncompressed bytes if the - // results only gains very little from compression. --func (w *huffmanBitWriter) writeBlockHuff(eof bool, input []byte) { -+func (w *huffmanBitWriter) writeBlockHuff(eof bool, input []byte, sync bool) { - if w.err != nil { - return - } - - // Clear histogram -- for i := range w.literalFreq { -+ for i := range w.literalFreq[:] { - w.literalFreq[i] = 0 - } -+ if !w.lastHuffMan { -+ for i := range w.offsetFreq[:] { -+ w.offsetFreq[i] = 0 -+ } -+ } - - // Add everything as literals -- histogram(input, w.literalFreq) -+ // We have to estimate the header size. -+ // Assume header is around 70 bytes: -+ // https://stackoverflow.com/a/25454430 -+ const guessHeaderSizeBits = 70 * 8 -+ estBits, estExtra := histogramSize(input, w.literalFreq[:], !eof && !sync) -+ estBits += w.lastHeader + 15 -+ if w.lastHeader == 0 { -+ estBits += guessHeaderSizeBits -+ } -+ estBits += estBits >> w.logNewTablePenalty - -- w.literalFreq[endBlockMarker] = 1 -+ // Store bytes, if we don't get a reasonable improvement. -+ ssize, storable := w.storedSize(input) -+ if storable && ssize < estBits { -+ w.writeStoredHeader(len(input), eof) -+ w.writeBytes(input) -+ return -+ } - -- const numLiterals = endBlockMarker + 1 -- const numOffsets = 1 -+ if w.lastHeader > 0 { -+ reuseSize := w.literalEncoding.bitLength(w.literalFreq[:256]) -+ estBits += estExtra - -- w.literalEncoding.generate(w.literalFreq[:maxNumLit], 15) -+ if estBits < reuseSize { -+ // We owe an EOB -+ w.writeCode(w.literalEncoding.codes[endBlockMarker]) -+ w.lastHeader = 0 -+ } -+ } - -- // Figure out smallest code. -- // Always use dynamic Huffman or Store -- var numCodegens int -+ const numLiterals = endBlockMarker + 1 -+ const numOffsets = 1 -+ if w.lastHeader == 0 { -+ w.literalFreq[endBlockMarker] = 1 -+ w.literalEncoding.generate(w.literalFreq[:numLiterals], 15) - -- // Generate codegen and codegenFrequencies, which indicates how to encode -- // the literalEncoding and the offsetEncoding. -- w.generateCodegen(numLiterals, numOffsets, w.literalEncoding, huffOffset) -- w.codegenEncoding.generate(w.codegenFreq[:], 7) -- size, numCodegens := w.dynamicSize(w.literalEncoding, huffOffset, 0) -+ // Generate codegen and codegenFrequencies, which indicates how to encode -+ // the literalEncoding and the offsetEncoding. -+ w.generateCodegen(numLiterals, numOffsets, w.literalEncoding, huffOffset) -+ w.codegenEncoding.generate(w.codegenFreq[:], 7) -+ numCodegens := w.codegens() - -- // Store bytes, if we don't get a reasonable improvement. -- if ssize, storable := w.storedSize(input); storable && ssize < (size+size>>4) { -- w.writeStoredHeader(len(input), eof) -- w.writeBytes(input) -- return -+ // Huffman. -+ w.writeDynamicHeader(numLiterals, numOffsets, numCodegens, eof) -+ w.lastHuffMan = true -+ w.lastHeader, _ = w.headerSize() - } - -- // Huffman. -- w.writeDynamicHeader(numLiterals, numOffsets, numCodegens, eof) - encoding := w.literalEncoding.codes[:257] -- n := w.nbytes - for _, t := range input { - // Bitwriting inlined, ~30% speedup - c := encoding[t] -- w.bits |= uint64(c.code) << w.nbits -- w.nbits += uint(c.len) -- if w.nbits < 48 { -- continue -- } -- // Store 6 bytes -- bits := w.bits -- w.bits >>= 48 -- w.nbits -= 48 -- w.bytes[n] = byte(bits) -- w.bytes[n+1] = byte(bits >> 8) -- w.bytes[n+2] = byte(bits >> 16) -- w.bytes[n+3] = byte(bits >> 24) -- w.bytes[n+4] = byte(bits >> 32) -- w.bytes[n+5] = byte(bits >> 40) -- n += 6 -- if n < bufferFlushSize { -- continue -- } -- w.write(w.bytes[:n]) -- if w.err != nil { -- return // Return early in the event of write failures -+ w.bits |= uint64(c.code) << ((w.nbits) & 63) -+ w.nbits += c.len -+ if w.nbits >= 48 { -+ bits := w.bits -+ w.bits >>= 48 -+ w.nbits -= 48 -+ n := w.nbytes -+ w.bytes[n] = byte(bits) -+ w.bytes[n+1] = byte(bits >> 8) -+ w.bytes[n+2] = byte(bits >> 16) -+ w.bytes[n+3] = byte(bits >> 24) -+ w.bytes[n+4] = byte(bits >> 32) -+ w.bytes[n+5] = byte(bits >> 40) -+ n += 6 -+ if n >= bufferFlushSize { -+ if w.err != nil { -+ n = 0 -+ return -+ } -+ w.write(w.bytes[:n]) -+ n = 0 -+ } -+ w.nbytes = n - } -- n = 0 - } -- w.nbytes = n -- w.writeCode(encoding[endBlockMarker]) -+ if eof || sync { -+ w.writeCode(encoding[endBlockMarker]) -+ w.lastHeader = 0 -+ w.lastHuffMan = false -+ } - } -diff --git a/vendor/github.com/klauspost/compress/flate/huffman_code.go b/vendor/github.com/klauspost/compress/flate/huffman_code.go -index f65f79336..9d8e81ad6 100644 ---- a/vendor/github.com/klauspost/compress/flate/huffman_code.go -+++ b/vendor/github.com/klauspost/compress/flate/huffman_code.go -@@ -7,7 +7,12 @@ package flate - import ( - "math" - "math/bits" -- "sort" -+) -+ -+const ( -+ maxBitsLimit = 16 -+ // number of valid literals -+ literalCount = 286 - ) - - // hcode is a huffman code with a bit code and bit length. -@@ -19,13 +24,11 @@ type huffmanEncoder struct { - codes []hcode - freqcache []literalNode - bitCount [17]int32 -- lns byLiteral // stored to avoid repeated allocation in generate -- lfs byFreq // stored to avoid repeated allocation in generate - } - - type literalNode struct { - literal uint16 -- freq int32 -+ freq uint16 - } - - // A levelInfo describes the state of the constructed tree for a given depth. -@@ -54,7 +57,11 @@ func (h *hcode) set(code uint16, length uint16) { - h.code = code - } - --func maxNode() literalNode { return literalNode{math.MaxUint16, math.MaxInt32} } -+func reverseBits(number uint16, bitLength byte) uint16 { -+ return bits.Reverse16(number << ((16 - bitLength) & 15)) -+} -+ -+func maxNode() literalNode { return literalNode{math.MaxUint16, math.MaxUint16} } - - func newHuffmanEncoder(size int) *huffmanEncoder { - // Make capacity to next power of two. -@@ -64,10 +71,10 @@ func newHuffmanEncoder(size int) *huffmanEncoder { - - // Generates a HuffmanCode corresponding to the fixed literal table - func generateFixedLiteralEncoding() *huffmanEncoder { -- h := newHuffmanEncoder(maxNumLit) -+ h := newHuffmanEncoder(literalCount) - codes := h.codes - var ch uint16 -- for ch = 0; ch < maxNumLit; ch++ { -+ for ch = 0; ch < literalCount; ch++ { - var bits uint16 - var size uint16 - switch { -@@ -75,17 +82,14 @@ func generateFixedLiteralEncoding() *huffmanEncoder { - // size 8, 000110000 .. 10111111 - bits = ch + 48 - size = 8 -- break - case ch < 256: - // size 9, 110010000 .. 111111111 - bits = ch + 400 - 144 - size = 9 -- break - case ch < 280: - // size 7, 0000000 .. 0010111 - bits = ch - 256 - size = 7 -- break - default: - // size 8, 11000000 .. 11000111 - bits = ch + 192 - 280 -@@ -108,7 +112,7 @@ func generateFixedOffsetEncoding() *huffmanEncoder { - var fixedLiteralEncoding *huffmanEncoder = generateFixedLiteralEncoding() - var fixedOffsetEncoding *huffmanEncoder = generateFixedOffsetEncoding() - --func (h *huffmanEncoder) bitLength(freq []int32) int { -+func (h *huffmanEncoder) bitLength(freq []uint16) int { - var total int - for i, f := range freq { - if f != 0 { -@@ -118,8 +122,6 @@ func (h *huffmanEncoder) bitLength(freq []int32) int { - return total - } - --const maxBitsLimit = 16 -- - // Return the number of literals assigned to each bit size in the Huffman encoding - // - // This method is only called when list.length >= 3 -@@ -163,9 +165,9 @@ func (h *huffmanEncoder) bitCounts(list []literalNode, maxBits int32) []int32 { - // We initialize the levels as if we had already figured this out. - levels[level] = levelInfo{ - level: level, -- lastFreq: list[1].freq, -- nextCharFreq: list[2].freq, -- nextPairFreq: list[0].freq + list[1].freq, -+ lastFreq: int32(list[1].freq), -+ nextCharFreq: int32(list[2].freq), -+ nextPairFreq: int32(list[0].freq) + int32(list[1].freq), - } - leafCounts[level][level] = 2 - if level == 1 { -@@ -197,7 +199,12 @@ func (h *huffmanEncoder) bitCounts(list []literalNode, maxBits int32) []int32 { - l.lastFreq = l.nextCharFreq - // Lower leafCounts are the same of the previous node. - leafCounts[level][level] = n -- l.nextCharFreq = list[n].freq -+ e := list[n] -+ if e.literal < math.MaxUint16 { -+ l.nextCharFreq = int32(e.freq) -+ } else { -+ l.nextCharFreq = math.MaxInt32 -+ } - } else { - // The next item on this row is a pair from the previous row. - // nextPairFreq isn't valid until we generate two -@@ -260,7 +267,7 @@ func (h *huffmanEncoder) assignEncodingAndSize(bitCount []int32, list []literalN - // assigned in literal order (not frequency order). - chunk := list[len(list)-int(bits):] - -- h.lns.sort(chunk) -+ sortByLiteral(chunk) - for _, node := range chunk { - h.codes[node.literal] = hcode{code: reverseBits(code, uint8(n)), len: uint16(n)} - code++ -@@ -273,12 +280,12 @@ func (h *huffmanEncoder) assignEncodingAndSize(bitCount []int32, list []literalN - // - // freq An array of frequencies, in which frequency[i] gives the frequency of literal i. - // maxBits The maximum number of bits to use for any literal. --func (h *huffmanEncoder) generate(freq []int32, maxBits int32) { -+func (h *huffmanEncoder) generate(freq []uint16, maxBits int32) { - if h.freqcache == nil { - // Allocate a reusable buffer with the longest possible frequency table. -- // Possible lengths are codegenCodeCount, offsetCodeCount and maxNumLit. -- // The largest of these is maxNumLit, so we allocate for that case. -- h.freqcache = make([]literalNode, maxNumLit+1) -+ // Possible lengths are codegenCodeCount, offsetCodeCount and literalCount. -+ // The largest of these is literalCount, so we allocate for that case. -+ h.freqcache = make([]literalNode, literalCount+1) - } - list := h.freqcache[:len(freq)+1] - // Number of non-zero literals -@@ -305,7 +312,7 @@ func (h *huffmanEncoder) generate(freq []int32, maxBits int32) { - } - return - } -- h.lfs.sort(list) -+ sortByFreq(list) - - // Get the number of literals for each bit count - bitCount := h.bitCounts(list, maxBits) -@@ -313,35 +320,44 @@ func (h *huffmanEncoder) generate(freq []int32, maxBits int32) { - h.assignEncodingAndSize(bitCount, list) - } - --type byLiteral []literalNode -- --func (s *byLiteral) sort(a []literalNode) { -- *s = byLiteral(a) -- sort.Sort(s) --} -- --func (s byLiteral) Len() int { return len(s) } -- --func (s byLiteral) Less(i, j int) bool { -- return s[i].literal < s[j].literal --} -- --func (s byLiteral) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -- --type byFreq []literalNode -- --func (s *byFreq) sort(a []literalNode) { -- *s = byFreq(a) -- sort.Sort(s) -+func atLeastOne(v float32) float32 { -+ if v < 1 { -+ return 1 -+ } -+ return v - } - --func (s byFreq) Len() int { return len(s) } -- --func (s byFreq) Less(i, j int) bool { -- if s[i].freq == s[j].freq { -- return s[i].literal < s[j].literal -+// histogramSize accumulates a histogram of b in h. -+// An estimated size in bits is returned. -+// Unassigned values are assigned '1' in the histogram. -+// len(h) must be >= 256, and h's elements must be all zeroes. -+func histogramSize(b []byte, h []uint16, fill bool) (int, int) { -+ h = h[:256] -+ for _, t := range b { -+ h[t]++ -+ } -+ invTotal := 1.0 / float32(len(b)) -+ shannon := float32(0.0) -+ var extra float32 -+ if fill { -+ oneBits := atLeastOne(-mFastLog2(invTotal)) -+ for i, v := range h[:] { -+ if v > 0 { -+ n := float32(v) -+ shannon += atLeastOne(-mFastLog2(n*invTotal)) * n -+ } else { -+ h[i] = 1 -+ extra += oneBits -+ } -+ } -+ } else { -+ for _, v := range h[:] { -+ if v > 0 { -+ n := float32(v) -+ shannon += atLeastOne(-mFastLog2(n*invTotal)) * n -+ } -+ } - } -- return s[i].freq < s[j].freq --} - --func (s byFreq) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -+ return int(shannon + 0.99), int(extra + 0.99) -+} -diff --git a/vendor/github.com/klauspost/compress/flate/huffman_sortByFreq.go b/vendor/github.com/klauspost/compress/flate/huffman_sortByFreq.go -new file mode 100644 -index 000000000..207780299 ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/huffman_sortByFreq.go -@@ -0,0 +1,178 @@ -+// 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 flate -+ -+// Sort sorts data. -+// It makes one call to data.Len to determine n, and O(n*log(n)) calls to -+// data.Less and data.Swap. The sort is not guaranteed to be stable. -+func sortByFreq(data []literalNode) { -+ n := len(data) -+ quickSortByFreq(data, 0, n, maxDepth(n)) -+} -+ -+func quickSortByFreq(data []literalNode, a, b, maxDepth int) { -+ for b-a > 12 { // Use ShellSort for slices <= 12 elements -+ if maxDepth == 0 { -+ heapSort(data, a, b) -+ return -+ } -+ maxDepth-- -+ mlo, mhi := doPivotByFreq(data, a, b) -+ // Avoiding recursion on the larger subproblem guarantees -+ // a stack depth of at most lg(b-a). -+ if mlo-a < b-mhi { -+ quickSortByFreq(data, a, mlo, maxDepth) -+ a = mhi // i.e., quickSortByFreq(data, mhi, b) -+ } else { -+ quickSortByFreq(data, mhi, b, maxDepth) -+ b = mlo // i.e., quickSortByFreq(data, a, mlo) -+ } -+ } -+ if b-a > 1 { -+ // Do ShellSort pass with gap 6 -+ // It could be written in this simplified form cause b-a <= 12 -+ for i := a + 6; i < b; i++ { -+ if data[i].freq == data[i-6].freq && data[i].literal < data[i-6].literal || data[i].freq < data[i-6].freq { -+ data[i], data[i-6] = data[i-6], data[i] -+ } -+ } -+ insertionSortByFreq(data, a, b) -+ } -+} -+ -+// siftDownByFreq implements the heap property on data[lo, hi). -+// first is an offset into the array where the root of the heap lies. -+func siftDownByFreq(data []literalNode, lo, hi, first int) { -+ root := lo -+ for { -+ child := 2*root + 1 -+ if child >= hi { -+ break -+ } -+ if child+1 < hi && (data[first+child].freq == data[first+child+1].freq && data[first+child].literal < data[first+child+1].literal || data[first+child].freq < data[first+child+1].freq) { -+ child++ -+ } -+ if data[first+root].freq == data[first+child].freq && data[first+root].literal > data[first+child].literal || data[first+root].freq > data[first+child].freq { -+ return -+ } -+ data[first+root], data[first+child] = data[first+child], data[first+root] -+ root = child -+ } -+} -+func doPivotByFreq(data []literalNode, lo, hi int) (midlo, midhi int) { -+ m := int(uint(lo+hi) >> 1) // Written like this to avoid integer overflow. -+ if hi-lo > 40 { -+ // Tukey's ``Ninther,'' median of three medians of three. -+ s := (hi - lo) / 8 -+ medianOfThreeSortByFreq(data, lo, lo+s, lo+2*s) -+ medianOfThreeSortByFreq(data, m, m-s, m+s) -+ medianOfThreeSortByFreq(data, hi-1, hi-1-s, hi-1-2*s) -+ } -+ medianOfThreeSortByFreq(data, lo, m, hi-1) -+ -+ // Invariants are: -+ // data[lo] = pivot (set up by ChoosePivot) -+ // data[lo < i < a] < pivot -+ // data[a <= i < b] <= pivot -+ // data[b <= i < c] unexamined -+ // data[c <= i < hi-1] > pivot -+ // data[hi-1] >= pivot -+ pivot := lo -+ a, c := lo+1, hi-1 -+ -+ for ; a < c && (data[a].freq == data[pivot].freq && data[a].literal < data[pivot].literal || data[a].freq < data[pivot].freq); a++ { -+ } -+ b := a -+ for { -+ for ; b < c && (data[pivot].freq == data[b].freq && data[pivot].literal > data[b].literal || data[pivot].freq > data[b].freq); b++ { // data[b] <= pivot -+ } -+ for ; b < c && (data[pivot].freq == data[c-1].freq && data[pivot].literal < data[c-1].literal || data[pivot].freq < data[c-1].freq); c-- { // data[c-1] > pivot -+ } -+ if b >= c { -+ break -+ } -+ // data[b] > pivot; data[c-1] <= pivot -+ data[b], data[c-1] = data[c-1], data[b] -+ b++ -+ c-- -+ } -+ // If hi-c<3 then there are duplicates (by property of median of nine). -+ // Let's be a bit more conservative, and set border to 5. -+ protect := hi-c < 5 -+ if !protect && hi-c < (hi-lo)/4 { -+ // Lets test some points for equality to pivot -+ dups := 0 -+ if data[pivot].freq == data[hi-1].freq && data[pivot].literal > data[hi-1].literal || data[pivot].freq > data[hi-1].freq { // data[hi-1] = pivot -+ data[c], data[hi-1] = data[hi-1], data[c] -+ c++ -+ dups++ -+ } -+ if data[b-1].freq == data[pivot].freq && data[b-1].literal > data[pivot].literal || data[b-1].freq > data[pivot].freq { // data[b-1] = pivot -+ b-- -+ dups++ -+ } -+ // m-lo = (hi-lo)/2 > 6 -+ // b-lo > (hi-lo)*3/4-1 > 8 -+ // ==> m < b ==> data[m] <= pivot -+ if data[m].freq == data[pivot].freq && data[m].literal > data[pivot].literal || data[m].freq > data[pivot].freq { // data[m] = pivot -+ data[m], data[b-1] = data[b-1], data[m] -+ b-- -+ dups++ -+ } -+ // if at least 2 points are equal to pivot, assume skewed distribution -+ protect = dups > 1 -+ } -+ if protect { -+ // Protect against a lot of duplicates -+ // Add invariant: -+ // data[a <= i < b] unexamined -+ // data[b <= i < c] = pivot -+ for { -+ for ; a < b && (data[b-1].freq == data[pivot].freq && data[b-1].literal > data[pivot].literal || data[b-1].freq > data[pivot].freq); b-- { // data[b] == pivot -+ } -+ for ; a < b && (data[a].freq == data[pivot].freq && data[a].literal < data[pivot].literal || data[a].freq < data[pivot].freq); a++ { // data[a] < pivot -+ } -+ if a >= b { -+ break -+ } -+ // data[a] == pivot; data[b-1] < pivot -+ data[a], data[b-1] = data[b-1], data[a] -+ a++ -+ b-- -+ } -+ } -+ // Swap pivot into middle -+ data[pivot], data[b-1] = data[b-1], data[pivot] -+ return b - 1, c -+} -+ -+// Insertion sort -+func insertionSortByFreq(data []literalNode, a, b int) { -+ for i := a + 1; i < b; i++ { -+ for j := i; j > a && (data[j].freq == data[j-1].freq && data[j].literal < data[j-1].literal || data[j].freq < data[j-1].freq); j-- { -+ data[j], data[j-1] = data[j-1], data[j] -+ } -+ } -+} -+ -+// quickSortByFreq, loosely following Bentley and McIlroy, -+// ``Engineering a Sort Function,'' SP&E November 1993. -+ -+// medianOfThreeSortByFreq moves the median of the three values data[m0], data[m1], data[m2] into data[m1]. -+func medianOfThreeSortByFreq(data []literalNode, m1, m0, m2 int) { -+ // sort 3 elements -+ if data[m1].freq == data[m0].freq && data[m1].literal < data[m0].literal || data[m1].freq < data[m0].freq { -+ data[m1], data[m0] = data[m0], data[m1] -+ } -+ // data[m0] <= data[m1] -+ if data[m2].freq == data[m1].freq && data[m2].literal < data[m1].literal || data[m2].freq < data[m1].freq { -+ data[m2], data[m1] = data[m1], data[m2] -+ // data[m0] <= data[m2] && data[m1] < data[m2] -+ if data[m1].freq == data[m0].freq && data[m1].literal < data[m0].literal || data[m1].freq < data[m0].freq { -+ data[m1], data[m0] = data[m0], data[m1] -+ } -+ } -+ // now data[m0] <= data[m1] <= data[m2] -+} -diff --git a/vendor/github.com/klauspost/compress/flate/huffman_sortByLiteral.go b/vendor/github.com/klauspost/compress/flate/huffman_sortByLiteral.go -new file mode 100644 -index 000000000..93f1aea10 ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/huffman_sortByLiteral.go -@@ -0,0 +1,201 @@ -+// 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 flate -+ -+// Sort sorts data. -+// It makes one call to data.Len to determine n, and O(n*log(n)) calls to -+// data.Less and data.Swap. The sort is not guaranteed to be stable. -+func sortByLiteral(data []literalNode) { -+ n := len(data) -+ quickSort(data, 0, n, maxDepth(n)) -+} -+ -+func quickSort(data []literalNode, a, b, maxDepth int) { -+ for b-a > 12 { // Use ShellSort for slices <= 12 elements -+ if maxDepth == 0 { -+ heapSort(data, a, b) -+ return -+ } -+ maxDepth-- -+ mlo, mhi := doPivot(data, a, b) -+ // Avoiding recursion on the larger subproblem guarantees -+ // a stack depth of at most lg(b-a). -+ if mlo-a < b-mhi { -+ quickSort(data, a, mlo, maxDepth) -+ a = mhi // i.e., quickSort(data, mhi, b) -+ } else { -+ quickSort(data, mhi, b, maxDepth) -+ b = mlo // i.e., quickSort(data, a, mlo) -+ } -+ } -+ if b-a > 1 { -+ // Do ShellSort pass with gap 6 -+ // It could be written in this simplified form cause b-a <= 12 -+ for i := a + 6; i < b; i++ { -+ if data[i].literal < data[i-6].literal { -+ data[i], data[i-6] = data[i-6], data[i] -+ } -+ } -+ insertionSort(data, a, b) -+ } -+} -+func heapSort(data []literalNode, a, b int) { -+ first := a -+ lo := 0 -+ hi := b - a -+ -+ // Build heap with greatest element at top. -+ for i := (hi - 1) / 2; i >= 0; i-- { -+ siftDown(data, i, hi, first) -+ } -+ -+ // Pop elements, largest first, into end of data. -+ for i := hi - 1; i >= 0; i-- { -+ data[first], data[first+i] = data[first+i], data[first] -+ siftDown(data, lo, i, first) -+ } -+} -+ -+// siftDown implements the heap property on data[lo, hi). -+// first is an offset into the array where the root of the heap lies. -+func siftDown(data []literalNode, lo, hi, first int) { -+ root := lo -+ for { -+ child := 2*root + 1 -+ if child >= hi { -+ break -+ } -+ if child+1 < hi && data[first+child].literal < data[first+child+1].literal { -+ child++ -+ } -+ if data[first+root].literal > data[first+child].literal { -+ return -+ } -+ data[first+root], data[first+child] = data[first+child], data[first+root] -+ root = child -+ } -+} -+func doPivot(data []literalNode, lo, hi int) (midlo, midhi int) { -+ m := int(uint(lo+hi) >> 1) // Written like this to avoid integer overflow. -+ if hi-lo > 40 { -+ // Tukey's ``Ninther,'' median of three medians of three. -+ s := (hi - lo) / 8 -+ medianOfThree(data, lo, lo+s, lo+2*s) -+ medianOfThree(data, m, m-s, m+s) -+ medianOfThree(data, hi-1, hi-1-s, hi-1-2*s) -+ } -+ medianOfThree(data, lo, m, hi-1) -+ -+ // Invariants are: -+ // data[lo] = pivot (set up by ChoosePivot) -+ // data[lo < i < a] < pivot -+ // data[a <= i < b] <= pivot -+ // data[b <= i < c] unexamined -+ // data[c <= i < hi-1] > pivot -+ // data[hi-1] >= pivot -+ pivot := lo -+ a, c := lo+1, hi-1 -+ -+ for ; a < c && data[a].literal < data[pivot].literal; a++ { -+ } -+ b := a -+ for { -+ for ; b < c && data[pivot].literal > data[b].literal; b++ { // data[b] <= pivot -+ } -+ for ; b < c && data[pivot].literal < data[c-1].literal; c-- { // data[c-1] > pivot -+ } -+ if b >= c { -+ break -+ } -+ // data[b] > pivot; data[c-1] <= pivot -+ data[b], data[c-1] = data[c-1], data[b] -+ b++ -+ c-- -+ } -+ // If hi-c<3 then there are duplicates (by property of median of nine). -+ // Let's be a bit more conservative, and set border to 5. -+ protect := hi-c < 5 -+ if !protect && hi-c < (hi-lo)/4 { -+ // Lets test some points for equality to pivot -+ dups := 0 -+ if data[pivot].literal > data[hi-1].literal { // data[hi-1] = pivot -+ data[c], data[hi-1] = data[hi-1], data[c] -+ c++ -+ dups++ -+ } -+ if data[b-1].literal > data[pivot].literal { // data[b-1] = pivot -+ b-- -+ dups++ -+ } -+ // m-lo = (hi-lo)/2 > 6 -+ // b-lo > (hi-lo)*3/4-1 > 8 -+ // ==> m < b ==> data[m] <= pivot -+ if data[m].literal > data[pivot].literal { // data[m] = pivot -+ data[m], data[b-1] = data[b-1], data[m] -+ b-- -+ dups++ -+ } -+ // if at least 2 points are equal to pivot, assume skewed distribution -+ protect = dups > 1 -+ } -+ if protect { -+ // Protect against a lot of duplicates -+ // Add invariant: -+ // data[a <= i < b] unexamined -+ // data[b <= i < c] = pivot -+ for { -+ for ; a < b && data[b-1].literal > data[pivot].literal; b-- { // data[b] == pivot -+ } -+ for ; a < b && data[a].literal < data[pivot].literal; a++ { // data[a] < pivot -+ } -+ if a >= b { -+ break -+ } -+ // data[a] == pivot; data[b-1] < pivot -+ data[a], data[b-1] = data[b-1], data[a] -+ a++ -+ b-- -+ } -+ } -+ // Swap pivot into middle -+ data[pivot], data[b-1] = data[b-1], data[pivot] -+ return b - 1, c -+} -+ -+// Insertion sort -+func insertionSort(data []literalNode, a, b int) { -+ for i := a + 1; i < b; i++ { -+ for j := i; j > a && data[j].literal < data[j-1].literal; j-- { -+ data[j], data[j-1] = data[j-1], data[j] -+ } -+ } -+} -+ -+// maxDepth returns a threshold at which quicksort should switch -+// to heapsort. It returns 2*ceil(lg(n+1)). -+func maxDepth(n int) int { -+ var depth int -+ for i := n; i > 0; i >>= 1 { -+ depth++ -+ } -+ return depth * 2 -+} -+ -+// medianOfThree moves the median of the three values data[m0], data[m1], data[m2] into data[m1]. -+func medianOfThree(data []literalNode, m1, m0, m2 int) { -+ // sort 3 elements -+ if data[m1].literal < data[m0].literal { -+ data[m1], data[m0] = data[m0], data[m1] -+ } -+ // data[m0] <= data[m1] -+ if data[m2].literal < data[m1].literal { -+ data[m2], data[m1] = data[m1], data[m2] -+ // data[m0] <= data[m2] && data[m1] < data[m2] -+ if data[m1].literal < data[m0].literal { -+ data[m1], data[m0] = data[m0], data[m1] -+ } -+ } -+ // now data[m0] <= data[m1] <= data[m2] -+} -diff --git a/vendor/github.com/klauspost/compress/flate/inflate.go b/vendor/github.com/klauspost/compress/flate/inflate.go -index 800d0ce9e..6dc5b5d06 100644 ---- a/vendor/github.com/klauspost/compress/flate/inflate.go -+++ b/vendor/github.com/klauspost/compress/flate/inflate.go -@@ -9,6 +9,7 @@ package flate - - import ( - "bufio" -+ "fmt" - "io" - "math/bits" - "strconv" -@@ -24,6 +25,8 @@ const ( - maxNumLit = 286 - maxNumDist = 30 - numCodes = 19 // number of codes in Huffman meta-code -+ -+ debugDecode = false - ) - - // Initialize the fixedHuffmanDecoder only once upon first use. -@@ -104,8 +107,8 @@ const ( - - type huffmanDecoder struct { - min int // the minimum code length -- chunks *[huffmanNumChunks]uint32 // chunks as described above -- links [][]uint32 // overflow links -+ chunks *[huffmanNumChunks]uint16 // chunks as described above -+ links [][]uint16 // overflow links - linkMask uint32 // mask the width of the link table - } - -@@ -121,7 +124,7 @@ func (h *huffmanDecoder) init(lengths []int) bool { - const sanity = false - - if h.chunks == nil { -- h.chunks = &[huffmanNumChunks]uint32{} -+ h.chunks = &[huffmanNumChunks]uint16{} - } - if h.min != 0 { - *h = huffmanDecoder{chunks: h.chunks, links: h.links} -@@ -169,6 +172,9 @@ func (h *huffmanDecoder) init(lengths []int) bool { - // accept degenerate single-code codings. See also - // TestDegenerateHuffmanCoding. - if code != 1<> 1 - if cap(h.links) < huffmanNumChunks-link { -- h.links = make([][]uint32, huffmanNumChunks-link) -+ h.links = make([][]uint16, huffmanNumChunks-link) - } else { - h.links = h.links[:huffmanNumChunks-link] - } -@@ -196,9 +202,9 @@ func (h *huffmanDecoder) init(lengths []int) bool { - if sanity && h.chunks[reverse] != 0 { - panic("impossible: overwriting existing chunk") - } -- h.chunks[reverse] = uint32(off<>= uint(16 - n) - if n <= huffmanChunkBits { -@@ -347,6 +353,9 @@ func (f *decompressor) nextBlock() { - f.huffmanBlock() - default: - // 3 is reserved. -+ if debugDecode { -+ fmt.Println("reserved data block encountered") -+ } - f.err = CorruptInputError(f.roffset) - } - } -@@ -425,11 +434,17 @@ func (f *decompressor) readHuffman() error { - } - nlit := int(f.b&0x1F) + 257 - if nlit > maxNumLit { -+ if debugDecode { -+ fmt.Println("nlit > maxNumLit", nlit) -+ } - return CorruptInputError(f.roffset) - } - f.b >>= 5 - ndist := int(f.b&0x1F) + 1 - if ndist > maxNumDist { -+ if debugDecode { -+ fmt.Println("ndist > maxNumDist", ndist) -+ } - return CorruptInputError(f.roffset) - } - f.b >>= 5 -@@ -453,6 +468,9 @@ func (f *decompressor) readHuffman() error { - f.codebits[codeOrder[i]] = 0 - } - if !f.h1.init(f.codebits[0:]) { -+ if debugDecode { -+ fmt.Println("init codebits failed") -+ } - return CorruptInputError(f.roffset) - } - -@@ -480,6 +498,9 @@ func (f *decompressor) readHuffman() error { - rep = 3 - nb = 2 - if i == 0 { -+ if debugDecode { -+ fmt.Println("i==0") -+ } - return CorruptInputError(f.roffset) - } - b = f.bits[i-1] -@@ -494,6 +515,9 @@ func (f *decompressor) readHuffman() error { - } - for f.nb < nb { - if err := f.moreBits(); err != nil { -+ if debugDecode { -+ fmt.Println("morebits:", err) -+ } - return err - } - } -@@ -501,6 +525,9 @@ func (f *decompressor) readHuffman() error { - f.b >>= nb - f.nb -= nb - if i+rep > n { -+ if debugDecode { -+ fmt.Println("i+rep > n", i, rep, n) -+ } - return CorruptInputError(f.roffset) - } - for j := 0; j < rep; j++ { -@@ -510,6 +537,9 @@ func (f *decompressor) readHuffman() error { - } - - if !f.h1.init(f.bits[0:nlit]) || !f.h2.init(f.bits[nlit:nlit+ndist]) { -+ if debugDecode { -+ fmt.Println("init2 failed") -+ } - return CorruptInputError(f.roffset) - } - -@@ -587,12 +617,18 @@ readLiteral: - length = 258 - n = 0 - default: -+ if debugDecode { -+ fmt.Println(v, ">= maxNumLit") -+ } - f.err = CorruptInputError(f.roffset) - return - } - if n > 0 { - for f.nb < n { - if err = f.moreBits(); err != nil { -+ if debugDecode { -+ fmt.Println("morebits n>0:", err) -+ } - f.err = err - return - } -@@ -606,6 +642,9 @@ readLiteral: - if f.hd == nil { - for f.nb < 5 { - if err = f.moreBits(); err != nil { -+ if debugDecode { -+ fmt.Println("morebits f.nb<5:", err) -+ } - f.err = err - return - } -@@ -615,6 +654,9 @@ readLiteral: - f.nb -= 5 - } else { - if dist, err = f.huffSym(f.hd); err != nil { -+ if debugDecode { -+ fmt.Println("huffsym:", err) -+ } - f.err = err - return - } -@@ -629,6 +671,9 @@ readLiteral: - extra := (dist & 1) << nb - for f.nb < nb { - if err = f.moreBits(); err != nil { -+ if debugDecode { -+ fmt.Println("morebits f.nb f.dict.histSize() { -+ if debugDecode { -+ fmt.Println("dist > f.dict.histSize():", dist, f.dict.histSize()) -+ } - f.err = CorruptInputError(f.roffset) - return - } -@@ -688,6 +739,9 @@ func (f *decompressor) dataBlock() { - n := int(f.buf[0]) | int(f.buf[1])<<8 - nn := int(f.buf[2]) | int(f.buf[3])<<8 - if uint16(nn) != uint16(^n) { -+ if debugDecode { -+ fmt.Println("uint16(nn) != uint16(^n)", nn, ^n) -+ } - f.err = CorruptInputError(f.roffset) - return - } -@@ -789,6 +843,9 @@ func (f *decompressor) huffSym(h *huffmanDecoder) (int, error) { - if n == 0 { - f.b = b - f.nb = nb -+ if debugDecode { -+ fmt.Println("huffsym: n==0") -+ } - f.err = CorruptInputError(f.roffset) - return 0, f.err - } -diff --git a/vendor/github.com/klauspost/compress/flate/level1.go b/vendor/github.com/klauspost/compress/flate/level1.go -new file mode 100644 -index 000000000..20de8f11f ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/level1.go -@@ -0,0 +1,174 @@ -+package flate -+ -+// fastGen maintains the table for matches, -+// and the previous byte block for level 2. -+// This is the generic implementation. -+type fastEncL1 struct { -+ fastGen -+ table [tableSize]tableEntry -+} -+ -+// EncodeL1 uses a similar algorithm to level 1 -+func (e *fastEncL1) Encode(dst *tokens, src []byte) { -+ const ( -+ inputMargin = 12 - 1 -+ minNonLiteralBlockSize = 1 + 1 + inputMargin -+ ) -+ -+ // Protect against e.cur wraparound. -+ for e.cur >= bufferReset { -+ if len(e.hist) == 0 { -+ for i := range e.table[:] { -+ e.table[i] = tableEntry{} -+ } -+ e.cur = maxMatchOffset -+ break -+ } -+ // Shift down everything in the table that isn't already too far away. -+ minOff := e.cur + int32(len(e.hist)) - maxMatchOffset -+ for i := range e.table[:] { -+ v := e.table[i].offset -+ if v <= minOff { -+ v = 0 -+ } else { -+ v = v - e.cur + maxMatchOffset -+ } -+ e.table[i].offset = v -+ } -+ e.cur = maxMatchOffset -+ } -+ -+ s := e.addBlock(src) -+ -+ // This check isn't in the Snappy implementation, but there, the caller -+ // instead of the callee handles this case. -+ if len(src) < minNonLiteralBlockSize { -+ // We do not fill the token table. -+ // This will be picked up by caller. -+ dst.n = uint16(len(src)) -+ return -+ } -+ -+ // Override src -+ src = e.hist -+ nextEmit := s -+ -+ // sLimit is when to stop looking for offset/length copies. The inputMargin -+ // lets us use a fast path for emitLiteral in the main loop, while we are -+ // looking for copies. -+ sLimit := int32(len(src) - inputMargin) -+ -+ // nextEmit is where in src the next emitLiteral should start from. -+ cv := load3232(src, s) -+ -+ for { -+ const skipLog = 5 -+ const doEvery = 2 -+ -+ nextS := s -+ var candidate tableEntry -+ for { -+ nextHash := hash(cv) -+ candidate = e.table[nextHash] -+ nextS = s + doEvery + (s-nextEmit)>>skipLog -+ if nextS > sLimit { -+ goto emitRemainder -+ } -+ -+ now := load6432(src, nextS) -+ e.table[nextHash] = tableEntry{offset: s + e.cur, val: cv} -+ nextHash = hash(uint32(now)) -+ -+ offset := s - (candidate.offset - e.cur) -+ if offset < maxMatchOffset && cv == candidate.val { -+ e.table[nextHash] = tableEntry{offset: nextS + e.cur, val: uint32(now)} -+ break -+ } -+ -+ // Do one right away... -+ cv = uint32(now) -+ s = nextS -+ nextS++ -+ candidate = e.table[nextHash] -+ now >>= 8 -+ e.table[nextHash] = tableEntry{offset: s + e.cur, val: cv} -+ -+ offset = s - (candidate.offset - e.cur) -+ if offset < maxMatchOffset && cv == candidate.val { -+ e.table[nextHash] = tableEntry{offset: nextS + e.cur, val: uint32(now)} -+ break -+ } -+ cv = uint32(now) -+ s = nextS -+ } -+ -+ // A 4-byte match has been found. We'll later see if more than 4 bytes -+ // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -+ // them as literal bytes. -+ for { -+ // Invariant: we have a 4-byte match at s, and no need to emit any -+ // literal bytes prior to s. -+ -+ // Extend the 4-byte match as long as possible. -+ t := candidate.offset - e.cur -+ l := e.matchlenLong(s+4, t+4, src) + 4 -+ -+ // Extend backwards -+ for t > 0 && s > nextEmit && src[t-1] == src[s-1] { -+ s-- -+ t-- -+ l++ -+ } -+ if nextEmit < s { -+ emitLiteral(dst, src[nextEmit:s]) -+ } -+ -+ // Save the match found -+ dst.AddMatchLong(l, uint32(s-t-baseMatchOffset)) -+ s += l -+ nextEmit = s -+ if nextS >= s { -+ s = nextS + 1 -+ } -+ if s >= sLimit { -+ // Index first pair after match end. -+ if int(s+l+4) < len(src) { -+ cv := load3232(src, s) -+ e.table[hash(cv)] = tableEntry{offset: s + e.cur, val: cv} -+ } -+ goto emitRemainder -+ } -+ -+ // We could immediately start working at s now, but to improve -+ // compression we first update the hash table at s-2 and at s. If -+ // another emitCopy is not our next move, also calculate nextHash -+ // at s+1. At least on GOARCH=amd64, these three hash calculations -+ // are faster as one load64 call (with some shifts) instead of -+ // three load32 calls. -+ x := load6432(src, s-2) -+ o := e.cur + s - 2 -+ prevHash := hash(uint32(x)) -+ e.table[prevHash] = tableEntry{offset: o, val: uint32(x)} -+ x >>= 16 -+ currHash := hash(uint32(x)) -+ candidate = e.table[currHash] -+ e.table[currHash] = tableEntry{offset: o + 2, val: uint32(x)} -+ -+ offset := s - (candidate.offset - e.cur) -+ if offset > maxMatchOffset || uint32(x) != candidate.val { -+ cv = uint32(x >> 8) -+ s++ -+ break -+ } -+ } -+ } -+ -+emitRemainder: -+ if int(nextEmit) < len(src) { -+ // If nothing was added, don't encode literals. -+ if dst.n == 0 { -+ return -+ } -+ emitLiteral(dst, src[nextEmit:]) -+ } -+} -diff --git a/vendor/github.com/klauspost/compress/flate/level2.go b/vendor/github.com/klauspost/compress/flate/level2.go -new file mode 100644 -index 000000000..7c824431e ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/level2.go -@@ -0,0 +1,199 @@ -+package flate -+ -+// fastGen maintains the table for matches, -+// and the previous byte block for level 2. -+// This is the generic implementation. -+type fastEncL2 struct { -+ fastGen -+ table [bTableSize]tableEntry -+} -+ -+// EncodeL2 uses a similar algorithm to level 1, but is capable -+// of matching across blocks giving better compression at a small slowdown. -+func (e *fastEncL2) Encode(dst *tokens, src []byte) { -+ const ( -+ inputMargin = 12 - 1 -+ minNonLiteralBlockSize = 1 + 1 + inputMargin -+ ) -+ -+ // Protect against e.cur wraparound. -+ for e.cur >= bufferReset { -+ if len(e.hist) == 0 { -+ for i := range e.table[:] { -+ e.table[i] = tableEntry{} -+ } -+ e.cur = maxMatchOffset -+ break -+ } -+ // Shift down everything in the table that isn't already too far away. -+ minOff := e.cur + int32(len(e.hist)) - maxMatchOffset -+ for i := range e.table[:] { -+ v := e.table[i].offset -+ if v <= minOff { -+ v = 0 -+ } else { -+ v = v - e.cur + maxMatchOffset -+ } -+ e.table[i].offset = v -+ } -+ e.cur = maxMatchOffset -+ } -+ -+ s := e.addBlock(src) -+ -+ // This check isn't in the Snappy implementation, but there, the caller -+ // instead of the callee handles this case. -+ if len(src) < minNonLiteralBlockSize { -+ // We do not fill the token table. -+ // This will be picked up by caller. -+ dst.n = uint16(len(src)) -+ return -+ } -+ -+ // Override src -+ src = e.hist -+ nextEmit := s -+ -+ // sLimit is when to stop looking for offset/length copies. The inputMargin -+ // lets us use a fast path for emitLiteral in the main loop, while we are -+ // looking for copies. -+ sLimit := int32(len(src) - inputMargin) -+ -+ // nextEmit is where in src the next emitLiteral should start from. -+ cv := load3232(src, s) -+ for { -+ // When should we start skipping if we haven't found matches in a long while. -+ const skipLog = 5 -+ const doEvery = 2 -+ -+ nextS := s -+ var candidate tableEntry -+ for { -+ nextHash := hash4u(cv, bTableBits) -+ s = nextS -+ nextS = s + doEvery + (s-nextEmit)>>skipLog -+ if nextS > sLimit { -+ goto emitRemainder -+ } -+ candidate = e.table[nextHash] -+ now := load6432(src, nextS) -+ e.table[nextHash] = tableEntry{offset: s + e.cur, val: cv} -+ nextHash = hash4u(uint32(now), bTableBits) -+ -+ offset := s - (candidate.offset - e.cur) -+ if offset < maxMatchOffset && cv == candidate.val { -+ e.table[nextHash] = tableEntry{offset: nextS + e.cur, val: uint32(now)} -+ break -+ } -+ -+ // Do one right away... -+ cv = uint32(now) -+ s = nextS -+ nextS++ -+ candidate = e.table[nextHash] -+ now >>= 8 -+ e.table[nextHash] = tableEntry{offset: s + e.cur, val: cv} -+ -+ offset = s - (candidate.offset - e.cur) -+ if offset < maxMatchOffset && cv == candidate.val { -+ break -+ } -+ cv = uint32(now) -+ } -+ -+ // A 4-byte match has been found. We'll later see if more than 4 bytes -+ // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -+ // them as literal bytes. -+ -+ // Call emitCopy, and then see if another emitCopy could be our next -+ // move. Repeat until we find no match for the input immediately after -+ // what was consumed by the last emitCopy call. -+ // -+ // If we exit this loop normally then we need to call emitLiteral next, -+ // though we don't yet know how big the literal will be. We handle that -+ // by proceeding to the next iteration of the main loop. We also can -+ // exit this loop via goto if we get close to exhausting the input. -+ for { -+ // Invariant: we have a 4-byte match at s, and no need to emit any -+ // literal bytes prior to s. -+ -+ // Extend the 4-byte match as long as possible. -+ t := candidate.offset - e.cur -+ l := e.matchlenLong(s+4, t+4, src) + 4 -+ -+ // Extend backwards -+ for t > 0 && s > nextEmit && src[t-1] == src[s-1] { -+ s-- -+ t-- -+ l++ -+ } -+ if nextEmit < s { -+ emitLiteral(dst, src[nextEmit:s]) -+ } -+ -+ dst.AddMatchLong(l, uint32(s-t-baseMatchOffset)) -+ s += l -+ nextEmit = s -+ if nextS >= s { -+ s = nextS + 1 -+ } -+ -+ if s >= sLimit { -+ // Index first pair after match end. -+ if int(s+l+4) < len(src) { -+ cv := load3232(src, s) -+ e.table[hash4u(cv, bTableBits)] = tableEntry{offset: s + e.cur, val: cv} -+ } -+ goto emitRemainder -+ } -+ -+ // Store every second hash in-between, but offset by 1. -+ for i := s - l + 2; i < s-5; i += 7 { -+ x := load6432(src, int32(i)) -+ nextHash := hash4u(uint32(x), bTableBits) -+ e.table[nextHash] = tableEntry{offset: e.cur + i, val: uint32(x)} -+ // Skip one -+ x >>= 16 -+ nextHash = hash4u(uint32(x), bTableBits) -+ e.table[nextHash] = tableEntry{offset: e.cur + i + 2, val: uint32(x)} -+ // Skip one -+ x >>= 16 -+ nextHash = hash4u(uint32(x), bTableBits) -+ e.table[nextHash] = tableEntry{offset: e.cur + i + 4, val: uint32(x)} -+ } -+ -+ // We could immediately start working at s now, but to improve -+ // compression we first update the hash table at s-2 to s. If -+ // another emitCopy is not our next move, also calculate nextHash -+ // at s+1. At least on GOARCH=amd64, these three hash calculations -+ // are faster as one load64 call (with some shifts) instead of -+ // three load32 calls. -+ x := load6432(src, s-2) -+ o := e.cur + s - 2 -+ prevHash := hash4u(uint32(x), bTableBits) -+ prevHash2 := hash4u(uint32(x>>8), bTableBits) -+ e.table[prevHash] = tableEntry{offset: o, val: uint32(x)} -+ e.table[prevHash2] = tableEntry{offset: o + 1, val: uint32(x >> 8)} -+ currHash := hash4u(uint32(x>>16), bTableBits) -+ candidate = e.table[currHash] -+ e.table[currHash] = tableEntry{offset: o + 2, val: uint32(x >> 16)} -+ -+ offset := s - (candidate.offset - e.cur) -+ if offset > maxMatchOffset || uint32(x>>16) != candidate.val { -+ cv = uint32(x >> 24) -+ s++ -+ break -+ } -+ } -+ } -+ -+emitRemainder: -+ if int(nextEmit) < len(src) { -+ // If nothing was added, don't encode literals. -+ if dst.n == 0 { -+ return -+ } -+ -+ emitLiteral(dst, src[nextEmit:]) -+ } -+} -diff --git a/vendor/github.com/klauspost/compress/flate/level3.go b/vendor/github.com/klauspost/compress/flate/level3.go -new file mode 100644 -index 000000000..4153d24c9 ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/level3.go -@@ -0,0 +1,225 @@ -+package flate -+ -+// fastEncL3 -+type fastEncL3 struct { -+ fastGen -+ table [tableSize]tableEntryPrev -+} -+ -+// Encode uses a similar algorithm to level 2, will check up to two candidates. -+func (e *fastEncL3) Encode(dst *tokens, src []byte) { -+ const ( -+ inputMargin = 8 - 1 -+ minNonLiteralBlockSize = 1 + 1 + inputMargin -+ ) -+ -+ // Protect against e.cur wraparound. -+ for e.cur >= bufferReset { -+ if len(e.hist) == 0 { -+ for i := range e.table[:] { -+ e.table[i] = tableEntryPrev{} -+ } -+ e.cur = maxMatchOffset -+ break -+ } -+ // Shift down everything in the table that isn't already too far away. -+ minOff := e.cur + int32(len(e.hist)) - maxMatchOffset -+ for i := range e.table[:] { -+ v := e.table[i] -+ if v.Cur.offset <= minOff { -+ v.Cur.offset = 0 -+ } else { -+ v.Cur.offset = v.Cur.offset - e.cur + maxMatchOffset -+ } -+ if v.Prev.offset <= minOff { -+ v.Prev.offset = 0 -+ } else { -+ v.Prev.offset = v.Prev.offset - e.cur + maxMatchOffset -+ } -+ e.table[i] = v -+ } -+ e.cur = maxMatchOffset -+ } -+ -+ s := e.addBlock(src) -+ -+ // Skip if too small. -+ if len(src) < minNonLiteralBlockSize { -+ // We do not fill the token table. -+ // This will be picked up by caller. -+ dst.n = uint16(len(src)) -+ return -+ } -+ -+ // Override src -+ src = e.hist -+ nextEmit := s -+ -+ // sLimit is when to stop looking for offset/length copies. The inputMargin -+ // lets us use a fast path for emitLiteral in the main loop, while we are -+ // looking for copies. -+ sLimit := int32(len(src) - inputMargin) -+ -+ // nextEmit is where in src the next emitLiteral should start from. -+ cv := load3232(src, s) -+ for { -+ const skipLog = 6 -+ nextS := s -+ var candidate tableEntry -+ for { -+ nextHash := hash(cv) -+ s = nextS -+ nextS = s + 1 + (s-nextEmit)>>skipLog -+ if nextS > sLimit { -+ goto emitRemainder -+ } -+ candidates := e.table[nextHash] -+ now := load3232(src, nextS) -+ e.table[nextHash] = tableEntryPrev{Prev: candidates.Cur, Cur: tableEntry{offset: s + e.cur, val: cv}} -+ -+ // Check both candidates -+ candidate = candidates.Cur -+ offset := s - (candidate.offset - e.cur) -+ if cv == candidate.val { -+ if offset > maxMatchOffset { -+ cv = now -+ // Previous will also be invalid, we have nothing. -+ continue -+ } -+ o2 := s - (candidates.Prev.offset - e.cur) -+ if cv != candidates.Prev.val || o2 > maxMatchOffset { -+ break -+ } -+ // Both match and are valid, pick longest. -+ l1, l2 := matchLen(src[s+4:], src[s-offset+4:]), matchLen(src[s+4:], src[s-o2+4:]) -+ if l2 > l1 { -+ candidate = candidates.Prev -+ } -+ break -+ } else { -+ // We only check if value mismatches. -+ // Offset will always be invalid in other cases. -+ candidate = candidates.Prev -+ if cv == candidate.val { -+ offset := s - (candidate.offset - e.cur) -+ if offset <= maxMatchOffset { -+ break -+ } -+ } -+ } -+ cv = now -+ } -+ -+ // Call emitCopy, and then see if another emitCopy could be our next -+ // move. Repeat until we find no match for the input immediately after -+ // what was consumed by the last emitCopy call. -+ // -+ // If we exit this loop normally then we need to call emitLiteral next, -+ // though we don't yet know how big the literal will be. We handle that -+ // by proceeding to the next iteration of the main loop. We also can -+ // exit this loop via goto if we get close to exhausting the input. -+ for { -+ // Invariant: we have a 4-byte match at s, and no need to emit any -+ // literal bytes prior to s. -+ -+ // Extend the 4-byte match as long as possible. -+ // -+ t := candidate.offset - e.cur -+ l := e.matchlenLong(s+4, t+4, src) + 4 -+ -+ // Extend backwards -+ for t > 0 && s > nextEmit && src[t-1] == src[s-1] { -+ s-- -+ t-- -+ l++ -+ } -+ if nextEmit < s { -+ emitLiteral(dst, src[nextEmit:s]) -+ } -+ -+ dst.AddMatchLong(l, uint32(s-t-baseMatchOffset)) -+ s += l -+ nextEmit = s -+ if nextS >= s { -+ s = nextS + 1 -+ } -+ -+ if s >= sLimit { -+ t += l -+ // Index first pair after match end. -+ if int(t+4) < len(src) && t > 0 { -+ cv := load3232(src, t) -+ nextHash := hash(cv) -+ e.table[nextHash] = tableEntryPrev{ -+ Prev: e.table[nextHash].Cur, -+ Cur: tableEntry{offset: e.cur + t, val: cv}, -+ } -+ } -+ goto emitRemainder -+ } -+ -+ // We could immediately start working at s now, but to improve -+ // compression we first update the hash table at s-3 to s. -+ x := load6432(src, s-3) -+ prevHash := hash(uint32(x)) -+ e.table[prevHash] = tableEntryPrev{ -+ Prev: e.table[prevHash].Cur, -+ Cur: tableEntry{offset: e.cur + s - 3, val: uint32(x)}, -+ } -+ x >>= 8 -+ prevHash = hash(uint32(x)) -+ -+ e.table[prevHash] = tableEntryPrev{ -+ Prev: e.table[prevHash].Cur, -+ Cur: tableEntry{offset: e.cur + s - 2, val: uint32(x)}, -+ } -+ x >>= 8 -+ prevHash = hash(uint32(x)) -+ -+ e.table[prevHash] = tableEntryPrev{ -+ Prev: e.table[prevHash].Cur, -+ Cur: tableEntry{offset: e.cur + s - 1, val: uint32(x)}, -+ } -+ x >>= 8 -+ currHash := hash(uint32(x)) -+ candidates := e.table[currHash] -+ cv = uint32(x) -+ e.table[currHash] = tableEntryPrev{ -+ Prev: candidates.Cur, -+ Cur: tableEntry{offset: s + e.cur, val: cv}, -+ } -+ -+ // Check both candidates -+ candidate = candidates.Cur -+ if cv == candidate.val { -+ offset := s - (candidate.offset - e.cur) -+ if offset <= maxMatchOffset { -+ continue -+ } -+ } else { -+ // We only check if value mismatches. -+ // Offset will always be invalid in other cases. -+ candidate = candidates.Prev -+ if cv == candidate.val { -+ offset := s - (candidate.offset - e.cur) -+ if offset <= maxMatchOffset { -+ continue -+ } -+ } -+ } -+ cv = uint32(x >> 8) -+ s++ -+ break -+ } -+ } -+ -+emitRemainder: -+ if int(nextEmit) < len(src) { -+ // If nothing was added, don't encode literals. -+ if dst.n == 0 { -+ return -+ } -+ -+ emitLiteral(dst, src[nextEmit:]) -+ } -+} -diff --git a/vendor/github.com/klauspost/compress/flate/level4.go b/vendor/github.com/klauspost/compress/flate/level4.go -new file mode 100644 -index 000000000..c689ac771 ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/level4.go -@@ -0,0 +1,210 @@ -+package flate -+ -+import "fmt" -+ -+type fastEncL4 struct { -+ fastGen -+ table [tableSize]tableEntry -+ bTable [tableSize]tableEntry -+} -+ -+func (e *fastEncL4) Encode(dst *tokens, src []byte) { -+ const ( -+ inputMargin = 12 - 1 -+ minNonLiteralBlockSize = 1 + 1 + inputMargin -+ ) -+ -+ // Protect against e.cur wraparound. -+ for e.cur >= bufferReset { -+ if len(e.hist) == 0 { -+ for i := range e.table[:] { -+ e.table[i] = tableEntry{} -+ } -+ for i := range e.bTable[:] { -+ e.bTable[i] = tableEntry{} -+ } -+ e.cur = maxMatchOffset -+ break -+ } -+ // Shift down everything in the table that isn't already too far away. -+ minOff := e.cur + int32(len(e.hist)) - maxMatchOffset -+ for i := range e.table[:] { -+ v := e.table[i].offset -+ if v <= minOff { -+ v = 0 -+ } else { -+ v = v - e.cur + maxMatchOffset -+ } -+ e.table[i].offset = v -+ } -+ for i := range e.bTable[:] { -+ v := e.bTable[i].offset -+ if v <= minOff { -+ v = 0 -+ } else { -+ v = v - e.cur + maxMatchOffset -+ } -+ e.bTable[i].offset = v -+ } -+ e.cur = maxMatchOffset -+ } -+ -+ s := e.addBlock(src) -+ -+ // This check isn't in the Snappy implementation, but there, the caller -+ // instead of the callee handles this case. -+ if len(src) < minNonLiteralBlockSize { -+ // We do not fill the token table. -+ // This will be picked up by caller. -+ dst.n = uint16(len(src)) -+ return -+ } -+ -+ // Override src -+ src = e.hist -+ nextEmit := s -+ -+ // sLimit is when to stop looking for offset/length copies. The inputMargin -+ // lets us use a fast path for emitLiteral in the main loop, while we are -+ // looking for copies. -+ sLimit := int32(len(src) - inputMargin) -+ -+ // nextEmit is where in src the next emitLiteral should start from. -+ cv := load6432(src, s) -+ for { -+ const skipLog = 6 -+ const doEvery = 1 -+ -+ nextS := s -+ var t int32 -+ for { -+ nextHashS := hash4x64(cv, tableBits) -+ nextHashL := hash7(cv, tableBits) -+ -+ s = nextS -+ nextS = s + doEvery + (s-nextEmit)>>skipLog -+ if nextS > sLimit { -+ goto emitRemainder -+ } -+ // Fetch a short+long candidate -+ sCandidate := e.table[nextHashS] -+ lCandidate := e.bTable[nextHashL] -+ next := load6432(src, nextS) -+ entry := tableEntry{offset: s + e.cur, val: uint32(cv)} -+ e.table[nextHashS] = entry -+ e.bTable[nextHashL] = entry -+ -+ t = lCandidate.offset - e.cur -+ if s-t < maxMatchOffset && uint32(cv) == lCandidate.val { -+ // We got a long match. Use that. -+ break -+ } -+ -+ t = sCandidate.offset - e.cur -+ if s-t < maxMatchOffset && uint32(cv) == sCandidate.val { -+ // Found a 4 match... -+ lCandidate = e.bTable[hash7(next, tableBits)] -+ -+ // If the next long is a candidate, check if we should use that instead... -+ lOff := nextS - (lCandidate.offset - e.cur) -+ if lOff < maxMatchOffset && lCandidate.val == uint32(next) { -+ l1, l2 := matchLen(src[s+4:], src[t+4:]), matchLen(src[nextS+4:], src[nextS-lOff+4:]) -+ if l2 > l1 { -+ s = nextS -+ t = lCandidate.offset - e.cur -+ } -+ } -+ break -+ } -+ cv = next -+ } -+ -+ // A 4-byte match has been found. We'll later see if more than 4 bytes -+ // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -+ // them as literal bytes. -+ -+ // Extend the 4-byte match as long as possible. -+ l := e.matchlenLong(s+4, t+4, src) + 4 -+ -+ // Extend backwards -+ for t > 0 && s > nextEmit && src[t-1] == src[s-1] { -+ s-- -+ t-- -+ l++ -+ } -+ if nextEmit < s { -+ emitLiteral(dst, src[nextEmit:s]) -+ } -+ if false { -+ if t >= s { -+ panic("s-t") -+ } -+ if (s - t) > maxMatchOffset { -+ panic(fmt.Sprintln("mmo", t)) -+ } -+ if l < baseMatchLength { -+ panic("bml") -+ } -+ } -+ -+ dst.AddMatchLong(l, uint32(s-t-baseMatchOffset)) -+ s += l -+ nextEmit = s -+ if nextS >= s { -+ s = nextS + 1 -+ } -+ -+ if s >= sLimit { -+ // Index first pair after match end. -+ if int(s+8) < len(src) { -+ cv := load6432(src, s) -+ e.table[hash4x64(cv, tableBits)] = tableEntry{offset: s + e.cur, val: uint32(cv)} -+ e.bTable[hash7(cv, tableBits)] = tableEntry{offset: s + e.cur, val: uint32(cv)} -+ } -+ goto emitRemainder -+ } -+ -+ // Store every 3rd hash in-between -+ if true { -+ i := nextS -+ if i < s-1 { -+ cv := load6432(src, i) -+ t := tableEntry{offset: i + e.cur, val: uint32(cv)} -+ t2 := tableEntry{val: uint32(cv >> 8), offset: t.offset + 1} -+ e.bTable[hash7(cv, tableBits)] = t -+ e.bTable[hash7(cv>>8, tableBits)] = t2 -+ e.table[hash4u(t2.val, tableBits)] = t2 -+ -+ i += 3 -+ for ; i < s-1; i += 3 { -+ cv := load6432(src, i) -+ t := tableEntry{offset: i + e.cur, val: uint32(cv)} -+ t2 := tableEntry{val: uint32(cv >> 8), offset: t.offset + 1} -+ e.bTable[hash7(cv, tableBits)] = t -+ e.bTable[hash7(cv>>8, tableBits)] = t2 -+ e.table[hash4u(t2.val, tableBits)] = t2 -+ } -+ } -+ } -+ -+ // We could immediately start working at s now, but to improve -+ // compression we first update the hash table at s-1 and at s. -+ x := load6432(src, s-1) -+ o := e.cur + s - 1 -+ prevHashS := hash4x64(x, tableBits) -+ prevHashL := hash7(x, tableBits) -+ e.table[prevHashS] = tableEntry{offset: o, val: uint32(x)} -+ e.bTable[prevHashL] = tableEntry{offset: o, val: uint32(x)} -+ cv = x >> 8 -+ } -+ -+emitRemainder: -+ if int(nextEmit) < len(src) { -+ // If nothing was added, don't encode literals. -+ if dst.n == 0 { -+ return -+ } -+ -+ emitLiteral(dst, src[nextEmit:]) -+ } -+} -diff --git a/vendor/github.com/klauspost/compress/flate/level5.go b/vendor/github.com/klauspost/compress/flate/level5.go -new file mode 100644 -index 000000000..14a235612 ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/level5.go -@@ -0,0 +1,276 @@ -+package flate -+ -+import "fmt" -+ -+type fastEncL5 struct { -+ fastGen -+ table [tableSize]tableEntry -+ bTable [tableSize]tableEntryPrev -+} -+ -+func (e *fastEncL5) Encode(dst *tokens, src []byte) { -+ const ( -+ inputMargin = 12 - 1 -+ minNonLiteralBlockSize = 1 + 1 + inputMargin -+ ) -+ -+ // Protect against e.cur wraparound. -+ for e.cur >= bufferReset { -+ if len(e.hist) == 0 { -+ for i := range e.table[:] { -+ e.table[i] = tableEntry{} -+ } -+ for i := range e.bTable[:] { -+ e.bTable[i] = tableEntryPrev{} -+ } -+ e.cur = maxMatchOffset -+ break -+ } -+ // Shift down everything in the table that isn't already too far away. -+ minOff := e.cur + int32(len(e.hist)) - maxMatchOffset -+ for i := range e.table[:] { -+ v := e.table[i].offset -+ if v <= minOff { -+ v = 0 -+ } else { -+ v = v - e.cur + maxMatchOffset -+ } -+ e.table[i].offset = v -+ } -+ for i := range e.bTable[:] { -+ v := e.bTable[i] -+ if v.Cur.offset <= minOff { -+ v.Cur.offset = 0 -+ v.Prev.offset = 0 -+ } else { -+ v.Cur.offset = v.Cur.offset - e.cur + maxMatchOffset -+ if v.Prev.offset <= minOff { -+ v.Prev.offset = 0 -+ } else { -+ v.Prev.offset = v.Prev.offset - e.cur + maxMatchOffset -+ } -+ } -+ e.bTable[i] = v -+ } -+ e.cur = maxMatchOffset -+ } -+ -+ s := e.addBlock(src) -+ -+ // This check isn't in the Snappy implementation, but there, the caller -+ // instead of the callee handles this case. -+ if len(src) < minNonLiteralBlockSize { -+ // We do not fill the token table. -+ // This will be picked up by caller. -+ dst.n = uint16(len(src)) -+ return -+ } -+ -+ // Override src -+ src = e.hist -+ nextEmit := s -+ -+ // sLimit is when to stop looking for offset/length copies. The inputMargin -+ // lets us use a fast path for emitLiteral in the main loop, while we are -+ // looking for copies. -+ sLimit := int32(len(src) - inputMargin) -+ -+ // nextEmit is where in src the next emitLiteral should start from. -+ cv := load6432(src, s) -+ for { -+ const skipLog = 6 -+ const doEvery = 1 -+ -+ nextS := s -+ var l int32 -+ var t int32 -+ for { -+ nextHashS := hash4x64(cv, tableBits) -+ nextHashL := hash7(cv, tableBits) -+ -+ s = nextS -+ nextS = s + doEvery + (s-nextEmit)>>skipLog -+ if nextS > sLimit { -+ goto emitRemainder -+ } -+ // Fetch a short+long candidate -+ sCandidate := e.table[nextHashS] -+ lCandidate := e.bTable[nextHashL] -+ next := load6432(src, nextS) -+ entry := tableEntry{offset: s + e.cur, val: uint32(cv)} -+ e.table[nextHashS] = entry -+ eLong := &e.bTable[nextHashL] -+ eLong.Cur, eLong.Prev = entry, eLong.Cur -+ -+ nextHashS = hash4x64(next, tableBits) -+ nextHashL = hash7(next, tableBits) -+ -+ t = lCandidate.Cur.offset - e.cur -+ if s-t < maxMatchOffset { -+ if uint32(cv) == lCandidate.Cur.val { -+ // Store the next match -+ e.table[nextHashS] = tableEntry{offset: nextS + e.cur, val: uint32(next)} -+ eLong := &e.bTable[nextHashL] -+ eLong.Cur, eLong.Prev = tableEntry{offset: nextS + e.cur, val: uint32(next)}, eLong.Cur -+ -+ t2 := lCandidate.Prev.offset - e.cur -+ if s-t2 < maxMatchOffset && uint32(cv) == lCandidate.Prev.val { -+ l = e.matchlen(s+4, t+4, src) + 4 -+ ml1 := e.matchlen(s+4, t2+4, src) + 4 -+ if ml1 > l { -+ t = t2 -+ l = ml1 -+ break -+ } -+ } -+ break -+ } -+ t = lCandidate.Prev.offset - e.cur -+ if s-t < maxMatchOffset && uint32(cv) == lCandidate.Prev.val { -+ // Store the next match -+ e.table[nextHashS] = tableEntry{offset: nextS + e.cur, val: uint32(next)} -+ eLong := &e.bTable[nextHashL] -+ eLong.Cur, eLong.Prev = tableEntry{offset: nextS + e.cur, val: uint32(next)}, eLong.Cur -+ break -+ } -+ } -+ -+ t = sCandidate.offset - e.cur -+ if s-t < maxMatchOffset && uint32(cv) == sCandidate.val { -+ // Found a 4 match... -+ l = e.matchlen(s+4, t+4, src) + 4 -+ lCandidate = e.bTable[nextHashL] -+ // Store the next match -+ -+ e.table[nextHashS] = tableEntry{offset: nextS + e.cur, val: uint32(next)} -+ eLong := &e.bTable[nextHashL] -+ eLong.Cur, eLong.Prev = tableEntry{offset: nextS + e.cur, val: uint32(next)}, eLong.Cur -+ -+ // If the next long is a candidate, use that... -+ t2 := lCandidate.Cur.offset - e.cur -+ if nextS-t2 < maxMatchOffset { -+ if lCandidate.Cur.val == uint32(next) { -+ ml := e.matchlen(nextS+4, t2+4, src) + 4 -+ if ml > l { -+ t = t2 -+ s = nextS -+ l = ml -+ break -+ } -+ } -+ // If the previous long is a candidate, use that... -+ t2 = lCandidate.Prev.offset - e.cur -+ if nextS-t2 < maxMatchOffset && lCandidate.Prev.val == uint32(next) { -+ ml := e.matchlen(nextS+4, t2+4, src) + 4 -+ if ml > l { -+ t = t2 -+ s = nextS -+ l = ml -+ break -+ } -+ } -+ } -+ break -+ } -+ cv = next -+ } -+ -+ // A 4-byte match has been found. We'll later see if more than 4 bytes -+ // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -+ // them as literal bytes. -+ -+ // Extend the 4-byte match as long as possible. -+ if l == 0 { -+ l = e.matchlenLong(s+4, t+4, src) + 4 -+ } else if l == maxMatchLength { -+ l += e.matchlenLong(s+l, t+l, src) -+ } -+ // Extend backwards -+ for t > 0 && s > nextEmit && src[t-1] == src[s-1] { -+ s-- -+ t-- -+ l++ -+ } -+ if nextEmit < s { -+ emitLiteral(dst, src[nextEmit:s]) -+ } -+ if false { -+ if t >= s { -+ panic(fmt.Sprintln("s-t", s, t)) -+ } -+ if (s - t) > maxMatchOffset { -+ panic(fmt.Sprintln("mmo", s-t)) -+ } -+ if l < baseMatchLength { -+ panic("bml") -+ } -+ } -+ -+ dst.AddMatchLong(l, uint32(s-t-baseMatchOffset)) -+ s += l -+ nextEmit = s -+ if nextS >= s { -+ s = nextS + 1 -+ } -+ -+ if s >= sLimit { -+ goto emitRemainder -+ } -+ -+ // Store every 3rd hash in-between. -+ if true { -+ const hashEvery = 3 -+ i := s - l + 1 -+ if i < s-1 { -+ cv := load6432(src, i) -+ t := tableEntry{offset: i + e.cur, val: uint32(cv)} -+ e.table[hash4x64(cv, tableBits)] = t -+ eLong := &e.bTable[hash7(cv, tableBits)] -+ eLong.Cur, eLong.Prev = t, eLong.Cur -+ -+ // Do an long at i+1 -+ cv >>= 8 -+ t = tableEntry{offset: t.offset + 1, val: uint32(cv)} -+ eLong = &e.bTable[hash7(cv, tableBits)] -+ eLong.Cur, eLong.Prev = t, eLong.Cur -+ -+ // We only have enough bits for a short entry at i+2 -+ cv >>= 8 -+ t = tableEntry{offset: t.offset + 1, val: uint32(cv)} -+ e.table[hash4x64(cv, tableBits)] = t -+ -+ // Skip one - otherwise we risk hitting 's' -+ i += 4 -+ for ; i < s-1; i += hashEvery { -+ cv := load6432(src, i) -+ t := tableEntry{offset: i + e.cur, val: uint32(cv)} -+ t2 := tableEntry{offset: t.offset + 1, val: uint32(cv >> 8)} -+ eLong := &e.bTable[hash7(cv, tableBits)] -+ eLong.Cur, eLong.Prev = t, eLong.Cur -+ e.table[hash4u(t2.val, tableBits)] = t2 -+ } -+ } -+ } -+ -+ // We could immediately start working at s now, but to improve -+ // compression we first update the hash table at s-1 and at s. -+ x := load6432(src, s-1) -+ o := e.cur + s - 1 -+ prevHashS := hash4x64(x, tableBits) -+ prevHashL := hash7(x, tableBits) -+ e.table[prevHashS] = tableEntry{offset: o, val: uint32(x)} -+ eLong := &e.bTable[prevHashL] -+ eLong.Cur, eLong.Prev = tableEntry{offset: o, val: uint32(x)}, eLong.Cur -+ cv = x >> 8 -+ } -+ -+emitRemainder: -+ if int(nextEmit) < len(src) { -+ // If nothing was added, don't encode literals. -+ if dst.n == 0 { -+ return -+ } -+ -+ emitLiteral(dst, src[nextEmit:]) -+ } -+} -diff --git a/vendor/github.com/klauspost/compress/flate/level6.go b/vendor/github.com/klauspost/compress/flate/level6.go -new file mode 100644 -index 000000000..cad0c7df7 ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/level6.go -@@ -0,0 +1,279 @@ -+package flate -+ -+import "fmt" -+ -+type fastEncL6 struct { -+ fastGen -+ table [tableSize]tableEntry -+ bTable [tableSize]tableEntryPrev -+} -+ -+func (e *fastEncL6) Encode(dst *tokens, src []byte) { -+ const ( -+ inputMargin = 12 - 1 -+ minNonLiteralBlockSize = 1 + 1 + inputMargin -+ ) -+ -+ // Protect against e.cur wraparound. -+ for e.cur >= bufferReset { -+ if len(e.hist) == 0 { -+ for i := range e.table[:] { -+ e.table[i] = tableEntry{} -+ } -+ for i := range e.bTable[:] { -+ e.bTable[i] = tableEntryPrev{} -+ } -+ e.cur = maxMatchOffset -+ break -+ } -+ // Shift down everything in the table that isn't already too far away. -+ minOff := e.cur + int32(len(e.hist)) - maxMatchOffset -+ for i := range e.table[:] { -+ v := e.table[i].offset -+ if v <= minOff { -+ v = 0 -+ } else { -+ v = v - e.cur + maxMatchOffset -+ } -+ e.table[i].offset = v -+ } -+ for i := range e.bTable[:] { -+ v := e.bTable[i] -+ if v.Cur.offset <= minOff { -+ v.Cur.offset = 0 -+ v.Prev.offset = 0 -+ } else { -+ v.Cur.offset = v.Cur.offset - e.cur + maxMatchOffset -+ if v.Prev.offset <= minOff { -+ v.Prev.offset = 0 -+ } else { -+ v.Prev.offset = v.Prev.offset - e.cur + maxMatchOffset -+ } -+ } -+ e.bTable[i] = v -+ } -+ e.cur = maxMatchOffset -+ } -+ -+ s := e.addBlock(src) -+ -+ // This check isn't in the Snappy implementation, but there, the caller -+ // instead of the callee handles this case. -+ if len(src) < minNonLiteralBlockSize { -+ // We do not fill the token table. -+ // This will be picked up by caller. -+ dst.n = uint16(len(src)) -+ return -+ } -+ -+ // Override src -+ src = e.hist -+ nextEmit := s -+ -+ // sLimit is when to stop looking for offset/length copies. The inputMargin -+ // lets us use a fast path for emitLiteral in the main loop, while we are -+ // looking for copies. -+ sLimit := int32(len(src) - inputMargin) -+ -+ // nextEmit is where in src the next emitLiteral should start from. -+ cv := load6432(src, s) -+ // Repeat MUST be > 1 and within range -+ repeat := int32(1) -+ for { -+ const skipLog = 7 -+ const doEvery = 1 -+ -+ nextS := s -+ var l int32 -+ var t int32 -+ for { -+ nextHashS := hash4x64(cv, tableBits) -+ nextHashL := hash7(cv, tableBits) -+ s = nextS -+ nextS = s + doEvery + (s-nextEmit)>>skipLog -+ if nextS > sLimit { -+ goto emitRemainder -+ } -+ // Fetch a short+long candidate -+ sCandidate := e.table[nextHashS] -+ lCandidate := e.bTable[nextHashL] -+ next := load6432(src, nextS) -+ entry := tableEntry{offset: s + e.cur, val: uint32(cv)} -+ e.table[nextHashS] = entry -+ eLong := &e.bTable[nextHashL] -+ eLong.Cur, eLong.Prev = entry, eLong.Cur -+ -+ // Calculate hashes of 'next' -+ nextHashS = hash4x64(next, tableBits) -+ nextHashL = hash7(next, tableBits) -+ -+ t = lCandidate.Cur.offset - e.cur -+ if s-t < maxMatchOffset { -+ if uint32(cv) == lCandidate.Cur.val { -+ // Long candidate matches at least 4 bytes. -+ -+ // Store the next match -+ e.table[nextHashS] = tableEntry{offset: nextS + e.cur, val: uint32(next)} -+ eLong := &e.bTable[nextHashL] -+ eLong.Cur, eLong.Prev = tableEntry{offset: nextS + e.cur, val: uint32(next)}, eLong.Cur -+ -+ // Check the previous long candidate as well. -+ t2 := lCandidate.Prev.offset - e.cur -+ if s-t2 < maxMatchOffset && uint32(cv) == lCandidate.Prev.val { -+ l = e.matchlen(s+4, t+4, src) + 4 -+ ml1 := e.matchlen(s+4, t2+4, src) + 4 -+ if ml1 > l { -+ t = t2 -+ l = ml1 -+ break -+ } -+ } -+ break -+ } -+ // Current value did not match, but check if previous long value does. -+ t = lCandidate.Prev.offset - e.cur -+ if s-t < maxMatchOffset && uint32(cv) == lCandidate.Prev.val { -+ // Store the next match -+ e.table[nextHashS] = tableEntry{offset: nextS + e.cur, val: uint32(next)} -+ eLong := &e.bTable[nextHashL] -+ eLong.Cur, eLong.Prev = tableEntry{offset: nextS + e.cur, val: uint32(next)}, eLong.Cur -+ break -+ } -+ } -+ -+ t = sCandidate.offset - e.cur -+ if s-t < maxMatchOffset && uint32(cv) == sCandidate.val { -+ // Found a 4 match... -+ l = e.matchlen(s+4, t+4, src) + 4 -+ -+ // Look up next long candidate (at nextS) -+ lCandidate = e.bTable[nextHashL] -+ -+ // Store the next match -+ e.table[nextHashS] = tableEntry{offset: nextS + e.cur, val: uint32(next)} -+ eLong := &e.bTable[nextHashL] -+ eLong.Cur, eLong.Prev = tableEntry{offset: nextS + e.cur, val: uint32(next)}, eLong.Cur -+ -+ // Check repeat at s + repOff -+ const repOff = 1 -+ t2 := s - repeat + repOff -+ if load3232(src, t2) == uint32(cv>>(8*repOff)) { -+ ml := e.matchlen(s+4+repOff, t2+4, src) + 4 -+ if ml > l { -+ t = t2 -+ l = ml -+ s += repOff -+ // Not worth checking more. -+ break -+ } -+ } -+ -+ // If the next long is a candidate, use that... -+ t2 = lCandidate.Cur.offset - e.cur -+ if nextS-t2 < maxMatchOffset { -+ if lCandidate.Cur.val == uint32(next) { -+ ml := e.matchlen(nextS+4, t2+4, src) + 4 -+ if ml > l { -+ t = t2 -+ s = nextS -+ l = ml -+ // This is ok, but check previous as well. -+ } -+ } -+ // If the previous long is a candidate, use that... -+ t2 = lCandidate.Prev.offset - e.cur -+ if nextS-t2 < maxMatchOffset && lCandidate.Prev.val == uint32(next) { -+ ml := e.matchlen(nextS+4, t2+4, src) + 4 -+ if ml > l { -+ t = t2 -+ s = nextS -+ l = ml -+ break -+ } -+ } -+ } -+ break -+ } -+ cv = next -+ } -+ -+ // A 4-byte match has been found. We'll later see if more than 4 bytes -+ // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -+ // them as literal bytes. -+ -+ // Extend the 4-byte match as long as possible. -+ if l == 0 { -+ l = e.matchlenLong(s+4, t+4, src) + 4 -+ } else if l == maxMatchLength { -+ l += e.matchlenLong(s+l, t+l, src) -+ } -+ -+ // Extend backwards -+ for t > 0 && s > nextEmit && src[t-1] == src[s-1] { -+ s-- -+ t-- -+ l++ -+ } -+ if nextEmit < s { -+ emitLiteral(dst, src[nextEmit:s]) -+ } -+ if false { -+ if t >= s { -+ panic(fmt.Sprintln("s-t", s, t)) -+ } -+ if (s - t) > maxMatchOffset { -+ panic(fmt.Sprintln("mmo", s-t)) -+ } -+ if l < baseMatchLength { -+ panic("bml") -+ } -+ } -+ -+ dst.AddMatchLong(l, uint32(s-t-baseMatchOffset)) -+ repeat = s - t -+ s += l -+ nextEmit = s -+ if nextS >= s { -+ s = nextS + 1 -+ } -+ -+ if s >= sLimit { -+ // Index after match end. -+ for i := nextS + 1; i < int32(len(src))-8; i += 2 { -+ cv := load6432(src, i) -+ e.table[hash4x64(cv, tableBits)] = tableEntry{offset: i + e.cur, val: uint32(cv)} -+ eLong := &e.bTable[hash7(cv, tableBits)] -+ eLong.Cur, eLong.Prev = tableEntry{offset: i + e.cur, val: uint32(cv)}, eLong.Cur -+ } -+ goto emitRemainder -+ } -+ -+ // Store every long hash in-between and every second short. -+ if true { -+ for i := nextS + 1; i < s-1; i += 2 { -+ cv := load6432(src, i) -+ t := tableEntry{offset: i + e.cur, val: uint32(cv)} -+ t2 := tableEntry{offset: t.offset + 1, val: uint32(cv >> 8)} -+ eLong := &e.bTable[hash7(cv, tableBits)] -+ eLong2 := &e.bTable[hash7(cv>>8, tableBits)] -+ e.table[hash4x64(cv, tableBits)] = t -+ eLong.Cur, eLong.Prev = t, eLong.Cur -+ eLong2.Cur, eLong2.Prev = t2, eLong2.Cur -+ } -+ } -+ -+ // We could immediately start working at s now, but to improve -+ // compression we first update the hash table at s-1 and at s. -+ cv = load6432(src, s) -+ } -+ -+emitRemainder: -+ if int(nextEmit) < len(src) { -+ // If nothing was added, don't encode literals. -+ if dst.n == 0 { -+ return -+ } -+ -+ emitLiteral(dst, src[nextEmit:]) -+ } -+} -diff --git a/vendor/github.com/klauspost/compress/flate/reverse_bits.go b/vendor/github.com/klauspost/compress/flate/reverse_bits.go -deleted file mode 100644 -index c1a02720d..000000000 ---- a/vendor/github.com/klauspost/compress/flate/reverse_bits.go -+++ /dev/null -@@ -1,48 +0,0 @@ --// 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 flate -- --var reverseByte = [256]byte{ -- 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, -- 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, -- 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, -- 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, -- 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, -- 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, -- 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, -- 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, -- 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, -- 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, -- 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, -- 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, -- 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, -- 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, -- 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, -- 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, -- 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, -- 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, -- 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, -- 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, -- 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, -- 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, -- 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, -- 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, -- 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, -- 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, -- 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, -- 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, -- 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, -- 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, -- 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, -- 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff, --} -- --func reverseUint16(v uint16) uint16 { -- return uint16(reverseByte[v>>8]) | uint16(reverseByte[v&0xFF])<<8 --} -- --func reverseBits(number uint16, bitLength byte) uint16 { -- return reverseUint16(number << uint8(16-bitLength)) --} -diff --git a/vendor/github.com/klauspost/compress/flate/snappy.go b/vendor/github.com/klauspost/compress/flate/snappy.go -deleted file mode 100644 -index aebebd524..000000000 ---- a/vendor/github.com/klauspost/compress/flate/snappy.go -+++ /dev/null -@@ -1,900 +0,0 @@ --// Copyright 2011 The Snappy-Go Authors. All rights reserved. --// Modified for deflate by Klaus Post (c) 2015. --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --package flate -- --// emitLiteral writes a literal chunk and returns the number of bytes written. --func emitLiteral(dst *tokens, lit []byte) { -- ol := int(dst.n) -- for i, v := range lit { -- dst.tokens[(i+ol)&maxStoreBlockSize] = token(v) -- } -- dst.n += uint16(len(lit)) --} -- --// emitCopy writes a copy chunk and returns the number of bytes written. --func emitCopy(dst *tokens, offset, length int) { -- dst.tokens[dst.n] = matchToken(uint32(length-3), uint32(offset-minOffsetSize)) -- dst.n++ --} -- --type fastEnc interface { -- Encode(dst *tokens, src []byte) -- Reset() --} -- --func newFastEnc(level int) fastEnc { -- switch level { -- case 1: -- return &snappyL1{} -- case 2: -- return &snappyL2{snappyGen: snappyGen{cur: maxStoreBlockSize, prev: make([]byte, 0, maxStoreBlockSize)}} -- case 3: -- return &snappyL3{snappyGen: snappyGen{cur: maxStoreBlockSize, prev: make([]byte, 0, maxStoreBlockSize)}} -- case 4: -- return &snappyL4{snappyL3{snappyGen: snappyGen{cur: maxStoreBlockSize, prev: make([]byte, 0, maxStoreBlockSize)}}} -- default: -- panic("invalid level specified") -- } --} -- --const ( -- tableBits = 14 // Bits used in the table -- tableSize = 1 << tableBits // Size of the table -- tableMask = tableSize - 1 // Mask for table indices. Redundant, but can eliminate bounds checks. -- tableShift = 32 - tableBits // Right-shift to get the tableBits most significant bits of a uint32. -- baseMatchOffset = 1 // The smallest match offset -- baseMatchLength = 3 // The smallest match length per the RFC section 3.2.5 -- maxMatchOffset = 1 << 15 // The largest match offset --) -- --func load32(b []byte, i int) uint32 { -- b = b[i : i+4 : len(b)] // Help the compiler eliminate bounds checks on the next line. -- return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 --} -- --func load64(b []byte, i int) uint64 { -- b = b[i : i+8 : len(b)] // Help the compiler eliminate bounds checks on the next line. -- return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | -- uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 --} -- --func hash(u uint32) uint32 { -- return (u * 0x1e35a7bd) >> tableShift --} -- --// snappyL1 encapsulates level 1 compression --type snappyL1 struct{} -- --func (e *snappyL1) Reset() {} -- --func (e *snappyL1) Encode(dst *tokens, src []byte) { -- const ( -- inputMargin = 16 - 1 -- minNonLiteralBlockSize = 1 + 1 + inputMargin -- ) -- -- // This check isn't in the Snappy implementation, but there, the caller -- // instead of the callee handles this case. -- if len(src) < minNonLiteralBlockSize { -- // We do not fill the token table. -- // This will be picked up by caller. -- dst.n = uint16(len(src)) -- return -- } -- -- // Initialize the hash table. -- // -- // The table element type is uint16, as s < sLimit and sLimit < len(src) -- // and len(src) <= maxStoreBlockSize and maxStoreBlockSize == 65535. -- var table [tableSize]uint16 -- -- // sLimit is when to stop looking for offset/length copies. The inputMargin -- // lets us use a fast path for emitLiteral in the main loop, while we are -- // looking for copies. -- sLimit := len(src) - inputMargin -- -- // nextEmit is where in src the next emitLiteral should start from. -- nextEmit := 0 -- -- // The encoded form must start with a literal, as there are no previous -- // bytes to copy, so we start looking for hash matches at s == 1. -- s := 1 -- nextHash := hash(load32(src, s)) -- -- for { -- // Copied from the C++ snappy implementation: -- // -- // Heuristic match skipping: If 32 bytes are scanned with no matches -- // found, start looking only at every other byte. If 32 more bytes are -- // scanned (or skipped), look at every third byte, etc.. When a match -- // is found, immediately go back to looking at every byte. This is a -- // small loss (~5% performance, ~0.1% density) for compressible data -- // due to more bookkeeping, but for non-compressible data (such as -- // JPEG) it's a huge win since the compressor quickly "realizes" the -- // data is incompressible and doesn't bother looking for matches -- // everywhere. -- // -- // The "skip" variable keeps track of how many bytes there are since -- // the last match; dividing it by 32 (ie. right-shifting by five) gives -- // the number of bytes to move ahead for each iteration. -- skip := 32 -- -- nextS := s -- candidate := 0 -- for { -- s = nextS -- bytesBetweenHashLookups := skip >> 5 -- nextS = s + bytesBetweenHashLookups -- skip += bytesBetweenHashLookups -- if nextS > sLimit { -- goto emitRemainder -- } -- candidate = int(table[nextHash&tableMask]) -- table[nextHash&tableMask] = uint16(s) -- nextHash = hash(load32(src, nextS)) -- if s-candidate <= maxMatchOffset && load32(src, s) == load32(src, candidate) { -- break -- } -- } -- -- // A 4-byte match has been found. We'll later see if more than 4 bytes -- // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -- // them as literal bytes. -- emitLiteral(dst, src[nextEmit:s]) -- -- // Call emitCopy, and then see if another emitCopy could be our next -- // move. Repeat until we find no match for the input immediately after -- // what was consumed by the last emitCopy call. -- // -- // If we exit this loop normally then we need to call emitLiteral next, -- // though we don't yet know how big the literal will be. We handle that -- // by proceeding to the next iteration of the main loop. We also can -- // exit this loop via goto if we get close to exhausting the input. -- for { -- // Invariant: we have a 4-byte match at s, and no need to emit any -- // literal bytes prior to s. -- base := s -- -- // Extend the 4-byte match as long as possible. -- // -- // This is an inlined version of Snappy's: -- // s = extendMatch(src, candidate+4, s+4) -- s += 4 -- s1 := base + maxMatchLength -- if s1 > len(src) { -- s1 = len(src) -- } -- a := src[s:s1] -- b := src[candidate+4:] -- b = b[:len(a)] -- l := len(a) -- for i := range a { -- if a[i] != b[i] { -- l = i -- break -- } -- } -- s += l -- -- // matchToken is flate's equivalent of Snappy's emitCopy. -- dst.tokens[dst.n] = matchToken(uint32(s-base-baseMatchLength), uint32(base-candidate-baseMatchOffset)) -- dst.n++ -- nextEmit = s -- if s >= sLimit { -- goto emitRemainder -- } -- -- // We could immediately start working at s now, but to improve -- // compression we first update the hash table at s-1 and at s. If -- // another emitCopy is not our next move, also calculate nextHash -- // at s+1. At least on GOARCH=amd64, these three hash calculations -- // are faster as one load64 call (with some shifts) instead of -- // three load32 calls. -- x := load64(src, s-1) -- prevHash := hash(uint32(x >> 0)) -- table[prevHash&tableMask] = uint16(s - 1) -- currHash := hash(uint32(x >> 8)) -- candidate = int(table[currHash&tableMask]) -- table[currHash&tableMask] = uint16(s) -- if s-candidate > maxMatchOffset || uint32(x>>8) != load32(src, candidate) { -- nextHash = hash(uint32(x >> 16)) -- s++ -- break -- } -- } -- } -- --emitRemainder: -- if nextEmit < len(src) { -- emitLiteral(dst, src[nextEmit:]) -- } --} -- --type tableEntry struct { -- val uint32 -- offset int32 --} -- --func load3232(b []byte, i int32) uint32 { -- b = b[i : i+4 : len(b)] // Help the compiler eliminate bounds checks on the next line. -- return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 --} -- --func load6432(b []byte, i int32) uint64 { -- b = b[i : i+8 : len(b)] // Help the compiler eliminate bounds checks on the next line. -- return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | -- uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 --} -- --// snappyGen maintains the table for matches, --// and the previous byte block for level 2. --// This is the generic implementation. --type snappyGen struct { -- prev []byte -- cur int32 --} -- --// snappyGen maintains the table for matches, --// and the previous byte block for level 2. --// This is the generic implementation. --type snappyL2 struct { -- snappyGen -- table [tableSize]tableEntry --} -- --// EncodeL2 uses a similar algorithm to level 1, but is capable --// of matching across blocks giving better compression at a small slowdown. --func (e *snappyL2) Encode(dst *tokens, src []byte) { -- const ( -- inputMargin = 8 - 1 -- minNonLiteralBlockSize = 1 + 1 + inputMargin -- ) -- -- // Protect against e.cur wraparound. -- if e.cur > 1<<30 { -- for i := range e.table[:] { -- e.table[i] = tableEntry{} -- } -- e.cur = maxStoreBlockSize -- } -- -- // This check isn't in the Snappy implementation, but there, the caller -- // instead of the callee handles this case. -- if len(src) < minNonLiteralBlockSize { -- // We do not fill the token table. -- // This will be picked up by caller. -- dst.n = uint16(len(src)) -- e.cur += maxStoreBlockSize -- e.prev = e.prev[:0] -- return -- } -- -- // sLimit is when to stop looking for offset/length copies. The inputMargin -- // lets us use a fast path for emitLiteral in the main loop, while we are -- // looking for copies. -- sLimit := int32(len(src) - inputMargin) -- -- // nextEmit is where in src the next emitLiteral should start from. -- nextEmit := int32(0) -- s := int32(0) -- cv := load3232(src, s) -- nextHash := hash(cv) -- -- for { -- // Copied from the C++ snappy implementation: -- // -- // Heuristic match skipping: If 32 bytes are scanned with no matches -- // found, start looking only at every other byte. If 32 more bytes are -- // scanned (or skipped), look at every third byte, etc.. When a match -- // is found, immediately go back to looking at every byte. This is a -- // small loss (~5% performance, ~0.1% density) for compressible data -- // due to more bookkeeping, but for non-compressible data (such as -- // JPEG) it's a huge win since the compressor quickly "realizes" the -- // data is incompressible and doesn't bother looking for matches -- // everywhere. -- // -- // The "skip" variable keeps track of how many bytes there are since -- // the last match; dividing it by 32 (ie. right-shifting by five) gives -- // the number of bytes to move ahead for each iteration. -- skip := int32(32) -- -- nextS := s -- var candidate tableEntry -- for { -- s = nextS -- bytesBetweenHashLookups := skip >> 5 -- nextS = s + bytesBetweenHashLookups -- skip += bytesBetweenHashLookups -- if nextS > sLimit { -- goto emitRemainder -- } -- candidate = e.table[nextHash&tableMask] -- now := load3232(src, nextS) -- e.table[nextHash&tableMask] = tableEntry{offset: s + e.cur, val: cv} -- nextHash = hash(now) -- -- offset := s - (candidate.offset - e.cur) -- if offset > maxMatchOffset || cv != candidate.val { -- // Out of range or not matched. -- cv = now -- continue -- } -- break -- } -- -- // A 4-byte match has been found. We'll later see if more than 4 bytes -- // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -- // them as literal bytes. -- emitLiteral(dst, src[nextEmit:s]) -- -- // Call emitCopy, and then see if another emitCopy could be our next -- // move. Repeat until we find no match for the input immediately after -- // what was consumed by the last emitCopy call. -- // -- // If we exit this loop normally then we need to call emitLiteral next, -- // though we don't yet know how big the literal will be. We handle that -- // by proceeding to the next iteration of the main loop. We also can -- // exit this loop via goto if we get close to exhausting the input. -- for { -- // Invariant: we have a 4-byte match at s, and no need to emit any -- // literal bytes prior to s. -- -- // Extend the 4-byte match as long as possible. -- // -- s += 4 -- t := candidate.offset - e.cur + 4 -- l := e.matchlen(s, t, src) -- -- // matchToken is flate's equivalent of Snappy's emitCopy. (length,offset) -- dst.tokens[dst.n] = matchToken(uint32(l+4-baseMatchLength), uint32(s-t-baseMatchOffset)) -- dst.n++ -- s += l -- nextEmit = s -- if s >= sLimit { -- t += l -- // Index first pair after match end. -- if int(t+4) < len(src) && t > 0 { -- cv := load3232(src, t) -- e.table[hash(cv)&tableMask] = tableEntry{offset: t + e.cur, val: cv} -- } -- goto emitRemainder -- } -- -- // We could immediately start working at s now, but to improve -- // compression we first update the hash table at s-1 and at s. If -- // another emitCopy is not our next move, also calculate nextHash -- // at s+1. At least on GOARCH=amd64, these three hash calculations -- // are faster as one load64 call (with some shifts) instead of -- // three load32 calls. -- x := load6432(src, s-1) -- prevHash := hash(uint32(x)) -- e.table[prevHash&tableMask] = tableEntry{offset: e.cur + s - 1, val: uint32(x)} -- x >>= 8 -- currHash := hash(uint32(x)) -- candidate = e.table[currHash&tableMask] -- e.table[currHash&tableMask] = tableEntry{offset: e.cur + s, val: uint32(x)} -- -- offset := s - (candidate.offset - e.cur) -- if offset > maxMatchOffset || uint32(x) != candidate.val { -- cv = uint32(x >> 8) -- nextHash = hash(cv) -- s++ -- break -- } -- } -- } -- --emitRemainder: -- if int(nextEmit) < len(src) { -- emitLiteral(dst, src[nextEmit:]) -- } -- e.cur += int32(len(src)) -- e.prev = e.prev[:len(src)] -- copy(e.prev, src) --} -- --type tableEntryPrev struct { -- Cur tableEntry -- Prev tableEntry --} -- --// snappyL3 --type snappyL3 struct { -- snappyGen -- table [tableSize]tableEntryPrev --} -- --// Encode uses a similar algorithm to level 2, will check up to two candidates. --func (e *snappyL3) Encode(dst *tokens, src []byte) { -- const ( -- inputMargin = 8 - 1 -- minNonLiteralBlockSize = 1 + 1 + inputMargin -- ) -- -- // Protect against e.cur wraparound. -- if e.cur > 1<<30 { -- for i := range e.table[:] { -- e.table[i] = tableEntryPrev{} -- } -- e.snappyGen = snappyGen{cur: maxStoreBlockSize, prev: e.prev[:0]} -- } -- -- // This check isn't in the Snappy implementation, but there, the caller -- // instead of the callee handles this case. -- if len(src) < minNonLiteralBlockSize { -- // We do not fill the token table. -- // This will be picked up by caller. -- dst.n = uint16(len(src)) -- e.cur += maxStoreBlockSize -- e.prev = e.prev[:0] -- return -- } -- -- // sLimit is when to stop looking for offset/length copies. The inputMargin -- // lets us use a fast path for emitLiteral in the main loop, while we are -- // looking for copies. -- sLimit := int32(len(src) - inputMargin) -- -- // nextEmit is where in src the next emitLiteral should start from. -- nextEmit := int32(0) -- s := int32(0) -- cv := load3232(src, s) -- nextHash := hash(cv) -- -- for { -- // Copied from the C++ snappy implementation: -- // -- // Heuristic match skipping: If 32 bytes are scanned with no matches -- // found, start looking only at every other byte. If 32 more bytes are -- // scanned (or skipped), look at every third byte, etc.. When a match -- // is found, immediately go back to looking at every byte. This is a -- // small loss (~5% performance, ~0.1% density) for compressible data -- // due to more bookkeeping, but for non-compressible data (such as -- // JPEG) it's a huge win since the compressor quickly "realizes" the -- // data is incompressible and doesn't bother looking for matches -- // everywhere. -- // -- // The "skip" variable keeps track of how many bytes there are since -- // the last match; dividing it by 32 (ie. right-shifting by five) gives -- // the number of bytes to move ahead for each iteration. -- skip := int32(32) -- -- nextS := s -- var candidate tableEntry -- for { -- s = nextS -- bytesBetweenHashLookups := skip >> 5 -- nextS = s + bytesBetweenHashLookups -- skip += bytesBetweenHashLookups -- if nextS > sLimit { -- goto emitRemainder -- } -- candidates := e.table[nextHash&tableMask] -- now := load3232(src, nextS) -- e.table[nextHash&tableMask] = tableEntryPrev{Prev: candidates.Cur, Cur: tableEntry{offset: s + e.cur, val: cv}} -- nextHash = hash(now) -- -- // Check both candidates -- candidate = candidates.Cur -- if cv == candidate.val { -- offset := s - (candidate.offset - e.cur) -- if offset <= maxMatchOffset { -- break -- } -- } else { -- // We only check if value mismatches. -- // Offset will always be invalid in other cases. -- candidate = candidates.Prev -- if cv == candidate.val { -- offset := s - (candidate.offset - e.cur) -- if offset <= maxMatchOffset { -- break -- } -- } -- } -- cv = now -- } -- -- // A 4-byte match has been found. We'll later see if more than 4 bytes -- // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -- // them as literal bytes. -- emitLiteral(dst, src[nextEmit:s]) -- -- // Call emitCopy, and then see if another emitCopy could be our next -- // move. Repeat until we find no match for the input immediately after -- // what was consumed by the last emitCopy call. -- // -- // If we exit this loop normally then we need to call emitLiteral next, -- // though we don't yet know how big the literal will be. We handle that -- // by proceeding to the next iteration of the main loop. We also can -- // exit this loop via goto if we get close to exhausting the input. -- for { -- // Invariant: we have a 4-byte match at s, and no need to emit any -- // literal bytes prior to s. -- -- // Extend the 4-byte match as long as possible. -- // -- s += 4 -- t := candidate.offset - e.cur + 4 -- l := e.matchlen(s, t, src) -- -- // matchToken is flate's equivalent of Snappy's emitCopy. (length,offset) -- dst.tokens[dst.n] = matchToken(uint32(l+4-baseMatchLength), uint32(s-t-baseMatchOffset)) -- dst.n++ -- s += l -- nextEmit = s -- if s >= sLimit { -- t += l -- // Index first pair after match end. -- if int(t+4) < len(src) && t > 0 { -- cv := load3232(src, t) -- nextHash = hash(cv) -- e.table[nextHash&tableMask] = tableEntryPrev{ -- Prev: e.table[nextHash&tableMask].Cur, -- Cur: tableEntry{offset: e.cur + t, val: cv}, -- } -- } -- goto emitRemainder -- } -- -- // We could immediately start working at s now, but to improve -- // compression we first update the hash table at s-3 to s. If -- // another emitCopy is not our next move, also calculate nextHash -- // at s+1. At least on GOARCH=amd64, these three hash calculations -- // are faster as one load64 call (with some shifts) instead of -- // three load32 calls. -- x := load6432(src, s-3) -- prevHash := hash(uint32(x)) -- e.table[prevHash&tableMask] = tableEntryPrev{ -- Prev: e.table[prevHash&tableMask].Cur, -- Cur: tableEntry{offset: e.cur + s - 3, val: uint32(x)}, -- } -- x >>= 8 -- prevHash = hash(uint32(x)) -- -- e.table[prevHash&tableMask] = tableEntryPrev{ -- Prev: e.table[prevHash&tableMask].Cur, -- Cur: tableEntry{offset: e.cur + s - 2, val: uint32(x)}, -- } -- x >>= 8 -- prevHash = hash(uint32(x)) -- -- e.table[prevHash&tableMask] = tableEntryPrev{ -- Prev: e.table[prevHash&tableMask].Cur, -- Cur: tableEntry{offset: e.cur + s - 1, val: uint32(x)}, -- } -- x >>= 8 -- currHash := hash(uint32(x)) -- candidates := e.table[currHash&tableMask] -- cv = uint32(x) -- e.table[currHash&tableMask] = tableEntryPrev{ -- Prev: candidates.Cur, -- Cur: tableEntry{offset: s + e.cur, val: cv}, -- } -- -- // Check both candidates -- candidate = candidates.Cur -- if cv == candidate.val { -- offset := s - (candidate.offset - e.cur) -- if offset <= maxMatchOffset { -- continue -- } -- } else { -- // We only check if value mismatches. -- // Offset will always be invalid in other cases. -- candidate = candidates.Prev -- if cv == candidate.val { -- offset := s - (candidate.offset - e.cur) -- if offset <= maxMatchOffset { -- continue -- } -- } -- } -- cv = uint32(x >> 8) -- nextHash = hash(cv) -- s++ -- break -- } -- } -- --emitRemainder: -- if int(nextEmit) < len(src) { -- emitLiteral(dst, src[nextEmit:]) -- } -- e.cur += int32(len(src)) -- e.prev = e.prev[:len(src)] -- copy(e.prev, src) --} -- --// snappyL4 --type snappyL4 struct { -- snappyL3 --} -- --// Encode uses a similar algorithm to level 3, --// but will check up to two candidates if first isn't long enough. --func (e *snappyL4) Encode(dst *tokens, src []byte) { -- const ( -- inputMargin = 8 - 3 -- minNonLiteralBlockSize = 1 + 1 + inputMargin -- matchLenGood = 12 -- ) -- -- // Protect against e.cur wraparound. -- if e.cur > 1<<30 { -- for i := range e.table[:] { -- e.table[i] = tableEntryPrev{} -- } -- e.snappyGen = snappyGen{cur: maxStoreBlockSize, prev: e.prev[:0]} -- } -- -- // This check isn't in the Snappy implementation, but there, the caller -- // instead of the callee handles this case. -- if len(src) < minNonLiteralBlockSize { -- // We do not fill the token table. -- // This will be picked up by caller. -- dst.n = uint16(len(src)) -- e.cur += maxStoreBlockSize -- e.prev = e.prev[:0] -- return -- } -- -- // sLimit is when to stop looking for offset/length copies. The inputMargin -- // lets us use a fast path for emitLiteral in the main loop, while we are -- // looking for copies. -- sLimit := int32(len(src) - inputMargin) -- -- // nextEmit is where in src the next emitLiteral should start from. -- nextEmit := int32(0) -- s := int32(0) -- cv := load3232(src, s) -- nextHash := hash(cv) -- -- for { -- // Copied from the C++ snappy implementation: -- // -- // Heuristic match skipping: If 32 bytes are scanned with no matches -- // found, start looking only at every other byte. If 32 more bytes are -- // scanned (or skipped), look at every third byte, etc.. When a match -- // is found, immediately go back to looking at every byte. This is a -- // small loss (~5% performance, ~0.1% density) for compressible data -- // due to more bookkeeping, but for non-compressible data (such as -- // JPEG) it's a huge win since the compressor quickly "realizes" the -- // data is incompressible and doesn't bother looking for matches -- // everywhere. -- // -- // The "skip" variable keeps track of how many bytes there are since -- // the last match; dividing it by 32 (ie. right-shifting by five) gives -- // the number of bytes to move ahead for each iteration. -- skip := int32(32) -- -- nextS := s -- var candidate tableEntry -- var candidateAlt tableEntry -- for { -- s = nextS -- bytesBetweenHashLookups := skip >> 5 -- nextS = s + bytesBetweenHashLookups -- skip += bytesBetweenHashLookups -- if nextS > sLimit { -- goto emitRemainder -- } -- candidates := e.table[nextHash&tableMask] -- now := load3232(src, nextS) -- e.table[nextHash&tableMask] = tableEntryPrev{Prev: candidates.Cur, Cur: tableEntry{offset: s + e.cur, val: cv}} -- nextHash = hash(now) -- -- // Check both candidates -- candidate = candidates.Cur -- if cv == candidate.val { -- offset := s - (candidate.offset - e.cur) -- if offset < maxMatchOffset { -- offset = s - (candidates.Prev.offset - e.cur) -- if cv == candidates.Prev.val && offset < maxMatchOffset { -- candidateAlt = candidates.Prev -- } -- break -- } -- } else { -- // We only check if value mismatches. -- // Offset will always be invalid in other cases. -- candidate = candidates.Prev -- if cv == candidate.val { -- offset := s - (candidate.offset - e.cur) -- if offset < maxMatchOffset { -- break -- } -- } -- } -- cv = now -- } -- -- // A 4-byte match has been found. We'll later see if more than 4 bytes -- // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -- // them as literal bytes. -- emitLiteral(dst, src[nextEmit:s]) -- -- // Call emitCopy, and then see if another emitCopy could be our next -- // move. Repeat until we find no match for the input immediately after -- // what was consumed by the last emitCopy call. -- // -- // If we exit this loop normally then we need to call emitLiteral next, -- // though we don't yet know how big the literal will be. We handle that -- // by proceeding to the next iteration of the main loop. We also can -- // exit this loop via goto if we get close to exhausting the input. -- for { -- // Invariant: we have a 4-byte match at s, and no need to emit any -- // literal bytes prior to s. -- -- // Extend the 4-byte match as long as possible. -- // -- s += 4 -- t := candidate.offset - e.cur + 4 -- l := e.matchlen(s, t, src) -- // Try alternative candidate if match length < matchLenGood. -- if l < matchLenGood-4 && candidateAlt.offset != 0 { -- t2 := candidateAlt.offset - e.cur + 4 -- l2 := e.matchlen(s, t2, src) -- if l2 > l { -- l = l2 -- t = t2 -- } -- } -- // matchToken is flate's equivalent of Snappy's emitCopy. (length,offset) -- dst.tokens[dst.n] = matchToken(uint32(l+4-baseMatchLength), uint32(s-t-baseMatchOffset)) -- dst.n++ -- s += l -- nextEmit = s -- if s >= sLimit { -- t += l -- // Index first pair after match end. -- if int(t+4) < len(src) && t > 0 { -- cv := load3232(src, t) -- nextHash = hash(cv) -- e.table[nextHash&tableMask] = tableEntryPrev{ -- Prev: e.table[nextHash&tableMask].Cur, -- Cur: tableEntry{offset: e.cur + t, val: cv}, -- } -- } -- goto emitRemainder -- } -- -- // We could immediately start working at s now, but to improve -- // compression we first update the hash table at s-3 to s. If -- // another emitCopy is not our next move, also calculate nextHash -- // at s+1. At least on GOARCH=amd64, these three hash calculations -- // are faster as one load64 call (with some shifts) instead of -- // three load32 calls. -- x := load6432(src, s-3) -- prevHash := hash(uint32(x)) -- e.table[prevHash&tableMask] = tableEntryPrev{ -- Prev: e.table[prevHash&tableMask].Cur, -- Cur: tableEntry{offset: e.cur + s - 3, val: uint32(x)}, -- } -- x >>= 8 -- prevHash = hash(uint32(x)) -- -- e.table[prevHash&tableMask] = tableEntryPrev{ -- Prev: e.table[prevHash&tableMask].Cur, -- Cur: tableEntry{offset: e.cur + s - 2, val: uint32(x)}, -- } -- x >>= 8 -- prevHash = hash(uint32(x)) -- -- e.table[prevHash&tableMask] = tableEntryPrev{ -- Prev: e.table[prevHash&tableMask].Cur, -- Cur: tableEntry{offset: e.cur + s - 1, val: uint32(x)}, -- } -- x >>= 8 -- currHash := hash(uint32(x)) -- candidates := e.table[currHash&tableMask] -- cv = uint32(x) -- e.table[currHash&tableMask] = tableEntryPrev{ -- Prev: candidates.Cur, -- Cur: tableEntry{offset: s + e.cur, val: cv}, -- } -- -- // Check both candidates -- candidate = candidates.Cur -- candidateAlt = tableEntry{} -- if cv == candidate.val { -- offset := s - (candidate.offset - e.cur) -- if offset <= maxMatchOffset { -- offset = s - (candidates.Prev.offset - e.cur) -- if cv == candidates.Prev.val && offset <= maxMatchOffset { -- candidateAlt = candidates.Prev -- } -- continue -- } -- } else { -- // We only check if value mismatches. -- // Offset will always be invalid in other cases. -- candidate = candidates.Prev -- if cv == candidate.val { -- offset := s - (candidate.offset - e.cur) -- if offset <= maxMatchOffset { -- continue -- } -- } -- } -- cv = uint32(x >> 8) -- nextHash = hash(cv) -- s++ -- break -- } -- } -- --emitRemainder: -- if int(nextEmit) < len(src) { -- emitLiteral(dst, src[nextEmit:]) -- } -- e.cur += int32(len(src)) -- e.prev = e.prev[:len(src)] -- copy(e.prev, src) --} -- --func (e *snappyGen) matchlen(s, t int32, src []byte) int32 { -- s1 := int(s) + maxMatchLength - 4 -- if s1 > len(src) { -- s1 = len(src) -- } -- -- // If we are inside the current block -- if t >= 0 { -- b := src[t:] -- a := src[s:s1] -- b = b[:len(a)] -- // Extend the match to be as long as possible. -- for i := range a { -- if a[i] != b[i] { -- return int32(i) -- } -- } -- return int32(len(a)) -- } -- -- // We found a match in the previous block. -- tp := int32(len(e.prev)) + t -- if tp < 0 { -- return 0 -- } -- -- // Extend the match to be as long as possible. -- a := src[s:s1] -- b := e.prev[tp:] -- if len(b) > len(a) { -- b = b[:len(a)] -- } -- a = a[:len(b)] -- for i := range b { -- if a[i] != b[i] { -- return int32(i) -- } -- } -- -- // If we reached our limit, we matched everything we are -- // allowed to in the previous block and we return. -- n := int32(len(b)) -- if int(s+n) == s1 { -- return n -- } -- -- // Continue looking for more matches in the current block. -- a = src[s+n : s1] -- b = src[:len(a)] -- for i := range a { -- if a[i] != b[i] { -- return int32(i) + n -- } -- } -- return int32(len(a)) + n --} -- --// Reset the encoding table. --func (e *snappyGen) Reset() { -- e.prev = e.prev[:0] -- e.cur += maxMatchOffset --} -diff --git a/vendor/github.com/klauspost/compress/flate/stateless.go b/vendor/github.com/klauspost/compress/flate/stateless.go -new file mode 100644 -index 000000000..a47051197 ---- /dev/null -+++ b/vendor/github.com/klauspost/compress/flate/stateless.go -@@ -0,0 +1,266 @@ -+package flate -+ -+import ( -+ "io" -+ "math" -+ "sync" -+) -+ -+const ( -+ maxStatelessBlock = math.MaxInt16 -+ -+ slTableBits = 13 -+ slTableSize = 1 << slTableBits -+ slTableShift = 32 - slTableBits -+) -+ -+type statelessWriter struct { -+ dst io.Writer -+ closed bool -+} -+ -+func (s *statelessWriter) Close() error { -+ if s.closed { -+ return nil -+ } -+ s.closed = true -+ // Emit EOF block -+ return StatelessDeflate(s.dst, nil, true) -+} -+ -+func (s *statelessWriter) Write(p []byte) (n int, err error) { -+ err = StatelessDeflate(s.dst, p, false) -+ if err != nil { -+ return 0, err -+ } -+ return len(p), nil -+} -+ -+func (s *statelessWriter) Reset(w io.Writer) { -+ s.dst = w -+ s.closed = false -+} -+ -+// NewStatelessWriter will do compression but without maintaining any state -+// between Write calls. -+// There will be no memory kept between Write calls, -+// but compression and speed will be suboptimal. -+// Because of this, the size of actual Write calls will affect output size. -+func NewStatelessWriter(dst io.Writer) io.WriteCloser { -+ return &statelessWriter{dst: dst} -+} -+ -+// bitWriterPool contains bit writers that can be reused. -+var bitWriterPool = sync.Pool{ -+ New: func() interface{} { -+ return newHuffmanBitWriter(nil) -+ }, -+} -+ -+// StatelessDeflate allows to compress directly to a Writer without retaining state. -+// When returning everything will be flushed. -+func StatelessDeflate(out io.Writer, in []byte, eof bool) error { -+ var dst tokens -+ bw := bitWriterPool.Get().(*huffmanBitWriter) -+ bw.reset(out) -+ defer func() { -+ // don't keep a reference to our output -+ bw.reset(nil) -+ bitWriterPool.Put(bw) -+ }() -+ if eof && len(in) == 0 { -+ // Just write an EOF block. -+ // Could be faster... -+ bw.writeStoredHeader(0, true) -+ bw.flush() -+ return bw.err -+ } -+ -+ for len(in) > 0 { -+ todo := in -+ if len(todo) > maxStatelessBlock { -+ todo = todo[:maxStatelessBlock] -+ } -+ in = in[len(todo):] -+ // Compress -+ statelessEnc(&dst, todo) -+ isEof := eof && len(in) == 0 -+ -+ if dst.n == 0 { -+ bw.writeStoredHeader(len(todo), isEof) -+ if bw.err != nil { -+ return bw.err -+ } -+ bw.writeBytes(todo) -+ } else if int(dst.n) > len(todo)-len(todo)>>4 { -+ // If we removed less than 1/16th, huffman compress the block. -+ bw.writeBlockHuff(isEof, todo, false) -+ } else { -+ bw.writeBlockDynamic(&dst, isEof, todo, false) -+ } -+ if bw.err != nil { -+ return bw.err -+ } -+ dst.Reset() -+ } -+ if !eof { -+ // Align. -+ bw.writeStoredHeader(0, false) -+ } -+ bw.flush() -+ return bw.err -+} -+ -+func hashSL(u uint32) uint32 { -+ return (u * 0x1e35a7bd) >> slTableShift -+} -+ -+func load3216(b []byte, i int16) uint32 { -+ // Help the compiler eliminate bounds checks on the read so it can be done in a single read. -+ b = b[i:] -+ b = b[:4] -+ return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 -+} -+ -+func load6416(b []byte, i int16) uint64 { -+ // Help the compiler eliminate bounds checks on the read so it can be done in a single read. -+ b = b[i:] -+ b = b[:8] -+ return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | -+ uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 -+} -+ -+func statelessEnc(dst *tokens, src []byte) { -+ const ( -+ inputMargin = 12 - 1 -+ minNonLiteralBlockSize = 1 + 1 + inputMargin -+ ) -+ -+ type tableEntry struct { -+ offset int16 -+ } -+ -+ var table [slTableSize]tableEntry -+ -+ // This check isn't in the Snappy implementation, but there, the caller -+ // instead of the callee handles this case. -+ if len(src) < minNonLiteralBlockSize { -+ // We do not fill the token table. -+ // This will be picked up by caller. -+ dst.n = uint16(len(src)) -+ return -+ } -+ -+ s := int16(1) -+ nextEmit := int16(0) -+ // sLimit is when to stop looking for offset/length copies. The inputMargin -+ // lets us use a fast path for emitLiteral in the main loop, while we are -+ // looking for copies. -+ sLimit := int16(len(src) - inputMargin) -+ -+ // nextEmit is where in src the next emitLiteral should start from. -+ cv := load3216(src, s) -+ -+ for { -+ const skipLog = 5 -+ const doEvery = 2 -+ -+ nextS := s -+ var candidate tableEntry -+ for { -+ nextHash := hashSL(cv) -+ candidate = table[nextHash] -+ nextS = s + doEvery + (s-nextEmit)>>skipLog -+ if nextS > sLimit || nextS <= 0 { -+ goto emitRemainder -+ } -+ -+ now := load6416(src, nextS) -+ table[nextHash] = tableEntry{offset: s} -+ nextHash = hashSL(uint32(now)) -+ -+ if cv == load3216(src, candidate.offset) { -+ table[nextHash] = tableEntry{offset: nextS} -+ break -+ } -+ -+ // Do one right away... -+ cv = uint32(now) -+ s = nextS -+ nextS++ -+ candidate = table[nextHash] -+ now >>= 8 -+ table[nextHash] = tableEntry{offset: s} -+ -+ if cv == load3216(src, candidate.offset) { -+ table[nextHash] = tableEntry{offset: nextS} -+ break -+ } -+ cv = uint32(now) -+ s = nextS -+ } -+ -+ // A 4-byte match has been found. We'll later see if more than 4 bytes -+ // match. But, prior to the match, src[nextEmit:s] are unmatched. Emit -+ // them as literal bytes. -+ for { -+ // Invariant: we have a 4-byte match at s, and no need to emit any -+ // literal bytes prior to s. -+ -+ // Extend the 4-byte match as long as possible. -+ t := candidate.offset -+ l := int16(matchLen(src[s+4:], src[t+4:]) + 4) -+ -+ // Extend backwards -+ for t > 0 && s > nextEmit && src[t-1] == src[s-1] { -+ s-- -+ t-- -+ l++ -+ } -+ if nextEmit < s { -+ emitLiteral(dst, src[nextEmit:s]) -+ } -+ -+ // Save the match found -+ dst.AddMatchLong(int32(l), uint32(s-t-baseMatchOffset)) -+ s += l -+ nextEmit = s -+ if nextS >= s { -+ s = nextS + 1 -+ } -+ if s >= sLimit { -+ goto emitRemainder -+ } -+ -+ // We could immediately start working at s now, but to improve -+ // compression we first update the hash table at s-2 and at s. If -+ // another emitCopy is not our next move, also calculate nextHash -+ // at s+1. At least on GOARCH=amd64, these three hash calculations -+ // are faster as one load64 call (with some shifts) instead of -+ // three load32 calls. -+ x := load6416(src, s-2) -+ o := s - 2 -+ prevHash := hashSL(uint32(x)) -+ table[prevHash] = tableEntry{offset: o} -+ x >>= 16 -+ currHash := hashSL(uint32(x)) -+ candidate = table[currHash] -+ table[currHash] = tableEntry{offset: o + 2} -+ -+ if uint32(x) != load3216(src, candidate.offset) { -+ cv = uint32(x >> 8) -+ s++ -+ break -+ } -+ } -+ } -+ -+emitRemainder: -+ if int(nextEmit) < len(src) { -+ // If nothing was added, don't encode literals. -+ if dst.n == 0 { -+ return -+ } -+ emitLiteral(dst, src[nextEmit:]) -+ } -+} -diff --git a/vendor/github.com/klauspost/compress/flate/token.go b/vendor/github.com/klauspost/compress/flate/token.go -index 141299b97..099c0ddbc 100644 ---- a/vendor/github.com/klauspost/compress/flate/token.go -+++ b/vendor/github.com/klauspost/compress/flate/token.go -@@ -4,6 +4,14 @@ - - package flate - -+import ( -+ "bytes" -+ "encoding/binary" -+ "fmt" -+ "io" -+ "math" -+) -+ - const ( - // 2 bits: type 0 = literal 1=EOF 2=Match 3=Unused - // 8 bits: xlength = length - MIN_MATCH_LENGTH -@@ -46,6 +54,36 @@ var lengthCodes = [256]uint8{ - 27, 27, 27, 27, 27, 28, - } - -+// lengthCodes1 is length codes, but starting at 1. -+var lengthCodes1 = [256]uint8{ -+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, -+ 10, 10, 11, 11, 12, 12, 13, 13, 13, 13, -+ 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, -+ 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, -+ 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, -+ 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, -+ 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, -+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, -+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, -+ 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, -+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, -+ 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, -+ 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, -+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -+ 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, -+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -+ 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, -+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -+ 28, 28, 28, 28, 28, 29, -+} -+ - var offsetCodes = [256]uint32{ - 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, - 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, -@@ -65,19 +103,244 @@ var offsetCodes = [256]uint32{ - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - } - -+// offsetCodes14 are offsetCodes, but with 14 added. -+var offsetCodes14 = [256]uint32{ -+ 14, 15, 16, 17, 18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, -+ 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, -+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -+} -+ - type token uint32 - - type tokens struct { -- tokens [maxStoreBlockSize + 1]token -- n uint16 // Must be able to contain maxStoreBlockSize -+ nLits int -+ extraHist [32]uint16 // codes 256->maxnumlit -+ offHist [32]uint16 // offset codes -+ litHist [256]uint16 // codes 0->255 -+ n uint16 // Must be able to contain maxStoreBlockSize -+ tokens [maxStoreBlockSize + 1]token - } - --// Convert a literal into a literal token. --func literalToken(literal uint32) token { return token(literalType + literal) } -+func (t *tokens) Reset() { -+ if t.n == 0 { -+ return -+ } -+ t.n = 0 -+ t.nLits = 0 -+ for i := range t.litHist[:] { -+ t.litHist[i] = 0 -+ } -+ for i := range t.extraHist[:] { -+ t.extraHist[i] = 0 -+ } -+ for i := range t.offHist[:] { -+ t.offHist[i] = 0 -+ } -+} - --// Convert a < xlength, xoffset > pair into a match token. --func matchToken(xlength uint32, xoffset uint32) token { -- return token(matchType + xlength<> 23) & 255) - 128) -+ ux &= -0x7f800001 -+ ux += 127 << 23 -+ uval := math.Float32frombits(uint32(ux)) -+ log2 += ((-0.34484843)*uval+2.02466578)*uval - 0.67487759 -+ return log2 -+} -+ -+// EstimatedBits will return an minimum size estimated by an *optimal* -+// compression of the block. -+// The size of the block -+func (t *tokens) EstimatedBits() int { -+ shannon := float32(0) -+ bits := int(0) -+ nMatches := 0 -+ if t.nLits > 0 { -+ invTotal := 1.0 / float32(t.nLits) -+ for _, v := range t.litHist[:] { -+ if v > 0 { -+ n := float32(v) -+ shannon += -mFastLog2(n*invTotal) * n -+ } -+ } -+ // Just add 15 for EOB -+ shannon += 15 -+ for i, v := range t.extraHist[1 : literalCount-256] { -+ if v > 0 { -+ n := float32(v) -+ shannon += -mFastLog2(n*invTotal) * n -+ bits += int(lengthExtraBits[i&31]) * int(v) -+ nMatches += int(v) -+ } -+ } -+ } -+ if nMatches > 0 { -+ invTotal := 1.0 / float32(nMatches) -+ for i, v := range t.offHist[:offsetCodeCount] { -+ if v > 0 { -+ n := float32(v) -+ shannon += -mFastLog2(n*invTotal) * n -+ bits += int(offsetExtraBits[i&31]) * int(v) -+ } -+ } -+ } -+ return int(shannon) + bits -+} -+ -+// AddMatch adds a match to the tokens. -+// This function is very sensitive to inlining and right on the border. -+func (t *tokens) AddMatch(xlength uint32, xoffset uint32) { -+ if debugDecode { -+ if xlength >= maxMatchLength+baseMatchLength { -+ panic(fmt.Errorf("invalid length: %v", xlength)) -+ } -+ if xoffset >= maxMatchOffset+baseMatchOffset { -+ panic(fmt.Errorf("invalid offset: %v", xoffset)) -+ } -+ } -+ t.nLits++ -+ lengthCode := lengthCodes1[uint8(xlength)] & 31 -+ t.tokens[t.n] = token(matchType | xlength<= maxMatchOffset+baseMatchOffset { -+ panic(fmt.Errorf("invalid offset: %v", xoffset)) -+ } -+ } -+ oc := offsetCode(xoffset) & 31 -+ for xlength > 0 { -+ xl := xlength -+ if xl > 258 { -+ // We need to have at least baseMatchLength left over for next loop. -+ xl = 258 - baseMatchLength -+ } -+ xlength -= xl -+ xl -= 3 -+ t.nLits++ -+ lengthCode := lengthCodes1[uint8(xl)] & 31 -+ t.tokens[t.n] = token(matchType | uint32(xl)<>7 < uint32(len(offsetCodes)) { -+ return offsetCodes[(off>>7)&255] + 14 -+ } else { -+ return offsetCodes[(off>>14)&255] + 28 -+ } -+ } - if off < uint32(len(offsetCodes)) { -- return offsetCodes[off&255] -- } else if off>>7 < uint32(len(offsetCodes)) { -- return offsetCodes[(off>>7)&255] + 14 -- } else { -- return offsetCodes[(off>>14)&255] + 28 -+ return offsetCodes[uint8(off)] - } -+ return offsetCodes14[uint8(off>>7)] - } -diff --git a/vendor/github.com/klauspost/compress/huff0/bitwriter.go b/vendor/github.com/klauspost/compress/huff0/bitwriter.go -index ec0c3fc53..bda4021ef 100644 ---- a/vendor/github.com/klauspost/compress/huff0/bitwriter.go -+++ b/vendor/github.com/klauspost/compress/huff0/bitwriter.go -@@ -38,7 +38,7 @@ func (b *bitWriter) addBits16Clean(value uint16, bits uint8) { - b.nBits += bits - } - --// addBits16Clean will add up to 16 bits. value may not contain more set bits than indicated. -+// encSymbol will add up to 16 bits. value may not contain more set bits than indicated. - // It will not check if there is space for them, so the caller must ensure that it has flushed recently. - func (b *bitWriter) encSymbol(ct cTable, symbol byte) { - enc := ct[symbol] -@@ -46,6 +46,17 @@ func (b *bitWriter) encSymbol(ct cTable, symbol byte) { - b.nBits += enc.nBits - } - -+// encTwoSymbols will add up to 32 bits. value may not contain more set bits than indicated. -+// It will not check if there is space for them, so the caller must ensure that it has flushed recently. -+func (b *bitWriter) encTwoSymbols(ct cTable, av, bv byte) { -+ encA := ct[av] -+ encB := ct[bv] -+ sh := b.nBits & 63 -+ combined := uint64(encA.val) | (uint64(encB.val) << (encA.nBits & 63)) -+ b.bitContainer |= combined << sh -+ b.nBits += encA.nBits + encB.nBits -+} -+ - // addBits16ZeroNC will add up to 16 bits. - // It will not check if there is space for them, - // so the caller must ensure that it has flushed recently. -diff --git a/vendor/github.com/klauspost/compress/huff0/compress.go b/vendor/github.com/klauspost/compress/huff0/compress.go -index dd4f7fefb..0843cb014 100644 ---- a/vendor/github.com/klauspost/compress/huff0/compress.go -+++ b/vendor/github.com/klauspost/compress/huff0/compress.go -@@ -54,6 +54,12 @@ func compress(in []byte, s *Scratch, compressor func(src []byte) ([]byte, error) - canReuse = s.canUseTable(s.prevTable) - } - -+ // We want the output size to be less than this: -+ wantSize := len(in) -+ if s.WantLogLess > 0 { -+ wantSize -= wantSize >> s.WantLogLess -+ } -+ - // Reset for next run. - s.clearCount = true - s.maxCount = 0 -@@ -74,10 +80,13 @@ func compress(in []byte, s *Scratch, compressor func(src []byte) ([]byte, error) - - if s.Reuse == ReusePolicyPrefer && canReuse { - keepTable := s.cTable -+ keepTL := s.actualTableLog - s.cTable = s.prevTable -+ s.actualTableLog = s.prevTableLog - s.Out, err = compressor(in) - s.cTable = keepTable -- if err == nil && len(s.Out) < len(in) { -+ s.actualTableLog = keepTL -+ if err == nil && len(s.Out) < wantSize { - s.OutData = s.Out - return s.Out, true, nil - } -@@ -86,7 +95,6 @@ func compress(in []byte, s *Scratch, compressor func(src []byte) ([]byte, error) - } - - // Calculate new table. -- s.optimalTableLog() - err = s.buildCTable() - if err != nil { - return nil, false, err -@@ -100,13 +108,22 @@ func compress(in []byte, s *Scratch, compressor func(src []byte) ([]byte, error) - hSize := len(s.Out) - oldSize := s.prevTable.estimateSize(s.count[:s.symbolLen]) - newSize := s.cTable.estimateSize(s.count[:s.symbolLen]) -- if oldSize <= hSize+newSize || hSize+12 >= len(in) { -+ if oldSize <= hSize+newSize || hSize+12 >= wantSize { - // Retain cTable even if we re-use. - keepTable := s.cTable -+ keepTL := s.actualTableLog -+ - s.cTable = s.prevTable -+ s.actualTableLog = s.prevTableLog - s.Out, err = compressor(in) -+ -+ // Restore ctable. - s.cTable = keepTable -- if len(s.Out) >= len(in) { -+ s.actualTableLog = keepTL -+ if err != nil { -+ return nil, false, err -+ } -+ if len(s.Out) >= wantSize { - return nil, false, ErrIncompressible - } - s.OutData = s.Out -@@ -128,12 +145,12 @@ func compress(in []byte, s *Scratch, compressor func(src []byte) ([]byte, error) - s.OutTable = nil - return nil, false, err - } -- if len(s.Out) >= len(in) { -+ if len(s.Out) >= wantSize { - s.OutTable = nil - return nil, false, ErrIncompressible - } - // Move current table into previous. -- s.prevTable, s.cTable = s.cTable, s.prevTable[:0] -+ s.prevTable, s.prevTableLog, s.cTable = s.cTable, s.actualTableLog, s.prevTable[:0] - s.OutData = s.Out[len(s.OutTable):] - return s.Out, false, nil - } -@@ -154,28 +171,23 @@ func (s *Scratch) compress1xDo(dst, src []byte) ([]byte, error) { - for i := len(src) & 3; i > 0; i-- { - bw.encSymbol(cTable, src[n+i-1]) - } -+ n -= 4 - if s.actualTableLog <= 8 { -- n -= 4 - for ; n >= 0; n -= 4 { - tmp := src[n : n+4] - // tmp should be len 4 - bw.flush32() -- bw.encSymbol(cTable, tmp[3]) -- bw.encSymbol(cTable, tmp[2]) -- bw.encSymbol(cTable, tmp[1]) -- bw.encSymbol(cTable, tmp[0]) -+ bw.encTwoSymbols(cTable, tmp[3], tmp[2]) -+ bw.encTwoSymbols(cTable, tmp[1], tmp[0]) - } - } else { -- n -= 4 - for ; n >= 0; n -= 4 { - tmp := src[n : n+4] - // tmp should be len 4 - bw.flush32() -- bw.encSymbol(cTable, tmp[3]) -- bw.encSymbol(cTable, tmp[2]) -+ bw.encTwoSymbols(cTable, tmp[3], tmp[2]) - bw.flush32() -- bw.encSymbol(cTable, tmp[1]) -- bw.encSymbol(cTable, tmp[0]) -+ bw.encTwoSymbols(cTable, tmp[1], tmp[0]) - } - } - err := bw.close() -@@ -313,9 +325,26 @@ func (s *Scratch) canUseTable(c cTable) bool { - return true - } - -+func (s *Scratch) validateTable(c cTable) bool { -+ if len(c) < int(s.symbolLen) { -+ return false -+ } -+ for i, v := range s.count[:s.symbolLen] { -+ if v != 0 { -+ if c[i].nBits == 0 { -+ return false -+ } -+ if c[i].nBits > s.actualTableLog { -+ return false -+ } -+ } -+ } -+ return true -+} -+ - // minTableLog provides the minimum logSize to safely represent a distribution. - func (s *Scratch) minTableLog() uint8 { -- minBitsSrc := highBit32(uint32(s.br.remain()-1)) + 1 -+ minBitsSrc := highBit32(uint32(s.br.remain())) + 1 - minBitsSymbols := highBit32(uint32(s.symbolLen-1)) + 2 - if minBitsSrc < minBitsSymbols { - return uint8(minBitsSrc) -@@ -327,7 +356,7 @@ func (s *Scratch) minTableLog() uint8 { - func (s *Scratch) optimalTableLog() { - tableLog := s.TableLog - minBits := s.minTableLog() -- maxBitsSrc := uint8(highBit32(uint32(s.br.remain()-1))) - 2 -+ maxBitsSrc := uint8(highBit32(uint32(s.br.remain()-1))) - 1 - if maxBitsSrc < tableLog { - // Accuracy can be reduced - tableLog = maxBitsSrc -@@ -354,6 +383,7 @@ type cTableEntry struct { - const huffNodesMask = huffNodesLen - 1 - - func (s *Scratch) buildCTable() error { -+ s.optimalTableLog() - s.huffSort() - if cap(s.cTable) < maxSymbolValue+1 { - s.cTable = make([]cTableEntry, s.symbolLen, maxSymbolValue+1) -@@ -430,7 +460,7 @@ func (s *Scratch) buildCTable() error { - return fmt.Errorf("internal error: maxNbBits (%d) > tableLogMax (%d)", maxNbBits, tableLogMax) - } - var nbPerRank [tableLogMax + 1]uint16 -- var valPerRank [tableLogMax + 1]uint16 -+ var valPerRank [16]uint16 - for _, v := range huffNode[:nonNullRank+1] { - nbPerRank[v.nbBits]++ - } -@@ -446,16 +476,17 @@ func (s *Scratch) buildCTable() error { - } - - // push nbBits per symbol, symbol order -- // TODO: changed `s.symbolLen` -> `nonNullRank+1` (micro-opt) - for _, v := range huffNode[:nonNullRank+1] { - s.cTable[v.symbol].nBits = v.nbBits - } - - // assign value within rank, symbol order -- for n, val := range s.cTable[:s.symbolLen] { -- v := valPerRank[val.nBits] -- s.cTable[n].val = v -- valPerRank[val.nBits] = v + 1 -+ t := s.cTable[:s.symbolLen] -+ for n, val := range t { -+ nbits := val.nBits & 15 -+ v := valPerRank[nbits] -+ t[n].val = v -+ valPerRank[nbits] = v + 1 - } - - return nil -@@ -479,10 +510,12 @@ func (s *Scratch) huffSort() { - r := highBit32(v+1) & 31 - rank[r].base++ - } -- for n := 30; n > 0; n-- { -+ // maxBitLength is log2(BlockSizeMax) + 1 -+ const maxBitLength = 18 + 1 -+ for n := maxBitLength; n > 0; n-- { - rank[n-1].base += rank[n].base - } -- for n := range rank[:] { -+ for n := range rank[:maxBitLength] { - rank[n].current = rank[n].base - } - for n, c := range s.count[:s.symbolLen] { -@@ -501,7 +534,7 @@ func (s *Scratch) huffSort() { - } - - func (s *Scratch) setMaxHeight(lastNonNull int) uint8 { -- maxNbBits := s.TableLog -+ maxNbBits := s.actualTableLog - huffNode := s.nodes[1 : huffNodesLen+1] - //huffNode = huffNode[: huffNodesLen] - -diff --git a/vendor/github.com/klauspost/compress/huff0/decompress.go b/vendor/github.com/klauspost/compress/huff0/decompress.go -index 43b4815b3..97ae66a4a 100644 ---- a/vendor/github.com/klauspost/compress/huff0/decompress.go -+++ b/vendor/github.com/klauspost/compress/huff0/decompress.go -@@ -15,8 +15,7 @@ type dTable struct { - - // single-symbols decoding - type dEntrySingle struct { -- byte uint8 -- nBits uint8 -+ entry uint16 - } - - // double-symbols decoding -@@ -76,14 +75,15 @@ func ReadTable(in []byte, s *Scratch) (s2 *Scratch, remain []byte, err error) { - } - - // collect weight stats -- var rankStats [tableLogMax + 1]uint32 -+ var rankStats [16]uint32 - weightTotal := uint32(0) - for _, v := range s.huffWeight[:s.symbolLen] { - if v > tableLogMax { - return s, nil, errors.New("corrupt input: weight too large") - } -- rankStats[v]++ -- weightTotal += (1 << (v & 15)) >> 1 -+ v2 := v & 15 -+ rankStats[v2]++ -+ weightTotal += (1 << v2) >> 1 - } - if weightTotal == 0 { - return s, nil, errors.New("corrupt input: weights zero") -@@ -134,15 +134,17 @@ func ReadTable(in []byte, s *Scratch) (s2 *Scratch, remain []byte, err error) { - if len(s.dt.single) != tSize { - s.dt.single = make([]dEntrySingle, tSize) - } -- - for n, w := range s.huffWeight[:s.symbolLen] { -+ if w == 0 { -+ continue -+ } - length := (uint32(1) << w) >> 1 - d := dEntrySingle{ -- byte: uint8(n), -- nBits: s.actualTableLog + 1 - w, -+ entry: uint16(s.actualTableLog+1-w) | (uint16(n) << 8), - } -- for u := rankStats[w]; u < rankStats[w]+length; u++ { -- s.dt.single[u] = d -+ single := s.dt.single[rankStats[w] : rankStats[w]+length] -+ for i := range single { -+ single[i] = d - } - rankStats[w] += length - } -@@ -167,12 +169,12 @@ func (s *Scratch) Decompress1X(in []byte) (out []byte, err error) { - decode := func() byte { - val := br.peekBitsFast(s.actualTableLog) /* note : actualTableLog >= 1 */ - v := s.dt.single[val] -- br.bitsRead += v.nBits -- return v.byte -+ br.bitsRead += uint8(v.entry) -+ return uint8(v.entry >> 8) - } - hasDec := func(v dEntrySingle) byte { -- br.bitsRead += v.nBits -- return v.byte -+ br.bitsRead += uint8(v.entry) -+ return uint8(v.entry >> 8) - } - - // Avoid bounds check by always having full sized table. -@@ -269,33 +271,81 @@ func (s *Scratch) Decompress4X(in []byte, dstSize int) (out []byte, err error) { - decode := func(br *bitReader) byte { - val := br.peekBitsFast(s.actualTableLog) /* note : actualTableLog >= 1 */ - v := single[val&tlMask] -- br.bitsRead += v.nBits -- return v.byte -+ br.bitsRead += uint8(v.entry) -+ return uint8(v.entry >> 8) - } - - // Use temp table to avoid bound checks/append penalty. - var tmp = s.huffWeight[:256] - var off uint8 -+ var decoded int - - // Decode 2 values from each decoder/loop. - const bufoff = 256 / 4 - bigloop: - for { - for i := range br { -- if br[i].off < 4 { -+ br := &br[i] -+ if br.off < 4 { - break bigloop - } -- br[i].fillFast() -+ br.fillFast() -+ } -+ -+ { -+ const stream = 0 -+ val := br[stream].peekBitsFast(s.actualTableLog) -+ v := single[val&tlMask] -+ br[stream].bitsRead += uint8(v.entry) -+ -+ val2 := br[stream].peekBitsFast(s.actualTableLog) -+ v2 := single[val2&tlMask] -+ tmp[off+bufoff*stream+1] = uint8(v2.entry >> 8) -+ tmp[off+bufoff*stream] = uint8(v.entry >> 8) -+ br[stream].bitsRead += uint8(v2.entry) -+ } -+ -+ { -+ const stream = 1 -+ val := br[stream].peekBitsFast(s.actualTableLog) -+ v := single[val&tlMask] -+ br[stream].bitsRead += uint8(v.entry) -+ -+ val2 := br[stream].peekBitsFast(s.actualTableLog) -+ v2 := single[val2&tlMask] -+ tmp[off+bufoff*stream+1] = uint8(v2.entry >> 8) -+ tmp[off+bufoff*stream] = uint8(v.entry >> 8) -+ br[stream].bitsRead += uint8(v2.entry) - } -- tmp[off] = decode(&br[0]) -- tmp[off+bufoff] = decode(&br[1]) -- tmp[off+bufoff*2] = decode(&br[2]) -- tmp[off+bufoff*3] = decode(&br[3]) -- tmp[off+1] = decode(&br[0]) -- tmp[off+1+bufoff] = decode(&br[1]) -- tmp[off+1+bufoff*2] = decode(&br[2]) -- tmp[off+1+bufoff*3] = decode(&br[3]) -+ -+ { -+ const stream = 2 -+ val := br[stream].peekBitsFast(s.actualTableLog) -+ v := single[val&tlMask] -+ br[stream].bitsRead += uint8(v.entry) -+ -+ val2 := br[stream].peekBitsFast(s.actualTableLog) -+ v2 := single[val2&tlMask] -+ tmp[off+bufoff*stream+1] = uint8(v2.entry >> 8) -+ tmp[off+bufoff*stream] = uint8(v.entry >> 8) -+ br[stream].bitsRead += uint8(v2.entry) -+ } -+ -+ { -+ const stream = 3 -+ val := br[stream].peekBitsFast(s.actualTableLog) -+ v := single[val&tlMask] -+ br[stream].bitsRead += uint8(v.entry) -+ -+ val2 := br[stream].peekBitsFast(s.actualTableLog) -+ v2 := single[val2&tlMask] -+ tmp[off+bufoff*stream+1] = uint8(v2.entry >> 8) -+ tmp[off+bufoff*stream] = uint8(v.entry >> 8) -+ br[stream].bitsRead += uint8(v2.entry) -+ } -+ - off += 2 -+ - if off == bufoff { - if bufoff > dstEvery { - return nil, errors.New("corruption detected: stream overrun 1") -@@ -306,6 +356,7 @@ bigloop: - copy(dstOut[dstEvery*3:], tmp[bufoff*3:bufoff*4]) - off = 0 - dstOut = dstOut[bufoff:] -+ decoded += 256 - // There must at least be 3 buffers left. - if len(dstOut) < dstEvery*3 { - return nil, errors.New("corruption detected: stream overrun 2") -@@ -321,9 +372,11 @@ bigloop: - copy(dstOut[dstEvery:dstEvery+ioff], tmp[bufoff:bufoff*2]) - copy(dstOut[dstEvery*2:dstEvery*2+ioff], tmp[bufoff*2:bufoff*3]) - copy(dstOut[dstEvery*3:dstEvery*3+ioff], tmp[bufoff*3:bufoff*4]) -+ decoded += int(off) * 4 - dstOut = dstOut[off:] - } - -+ // Decode remaining. - for i := range br { - offset := dstEvery * i - br := &br[i] -@@ -335,12 +388,15 @@ bigloop: - dstOut[offset] = decode(br) - offset++ - } -+ decoded += offset - dstEvery*i - err = br.close() - if err != nil { - return nil, err - } - } -- -+ if dstSize != decoded { -+ return nil, errors.New("corruption detected: short output block") -+ } - return s.Out, nil - } - -@@ -360,7 +416,7 @@ func (s *Scratch) matches(ct cTable, w io.Writer) { - broken++ - if enc.nBits == 0 { - for _, dec := range dt { -- if dec.byte == byte(sym) { -+ if uint8(dec.entry>>8) == byte(sym) { - fmt.Fprintf(w, "symbol %x has decoder, but no encoder\n", sym) - errs++ - break -@@ -376,12 +432,12 @@ func (s *Scratch) matches(ct cTable, w io.Writer) { - top := enc.val << ub - // decoder looks at top bits. - dec := dt[top] -- if dec.nBits != enc.nBits { -- fmt.Fprintf(w, "symbol 0x%x bit size mismatch (enc: %d, dec:%d).\n", sym, enc.nBits, dec.nBits) -+ if uint8(dec.entry) != enc.nBits { -+ fmt.Fprintf(w, "symbol 0x%x bit size mismatch (enc: %d, dec:%d).\n", sym, enc.nBits, uint8(dec.entry)) - errs++ - } -- if dec.byte != uint8(sym) { -- fmt.Fprintf(w, "symbol 0x%x decoder output mismatch (enc: %d, dec:%d).\n", sym, sym, dec.byte) -+ if uint8(dec.entry>>8) != uint8(sym) { -+ fmt.Fprintf(w, "symbol 0x%x decoder output mismatch (enc: %d, dec:%d).\n", sym, sym, uint8(dec.entry>>8)) - errs++ - } - if errs > 0 { -@@ -392,12 +448,12 @@ func (s *Scratch) matches(ct cTable, w io.Writer) { - for i := uint16(0); i < (1 << ub); i++ { - vval := top | i - dec := dt[vval] -- if dec.nBits != enc.nBits { -- fmt.Fprintf(w, "symbol 0x%x bit size mismatch (enc: %d, dec:%d).\n", vval, enc.nBits, dec.nBits) -+ if uint8(dec.entry) != enc.nBits { -+ fmt.Fprintf(w, "symbol 0x%x bit size mismatch (enc: %d, dec:%d).\n", vval, enc.nBits, uint8(dec.entry)) - errs++ - } -- if dec.byte != uint8(sym) { -- fmt.Fprintf(w, "symbol 0x%x decoder output mismatch (enc: %d, dec:%d).\n", vval, sym, dec.byte) -+ if uint8(dec.entry>>8) != uint8(sym) { -+ fmt.Fprintf(w, "symbol 0x%x decoder output mismatch (enc: %d, dec:%d).\n", vval, sym, uint8(dec.entry>>8)) - errs++ - } - if errs > 20 { -diff --git a/vendor/github.com/klauspost/compress/huff0/huff0.go b/vendor/github.com/klauspost/compress/huff0/huff0.go -index 6f823f94d..53249df05 100644 ---- a/vendor/github.com/klauspost/compress/huff0/huff0.go -+++ b/vendor/github.com/klauspost/compress/huff0/huff0.go -@@ -83,12 +83,18 @@ type Scratch struct { - MaxSymbolValue uint8 - - // TableLog will attempt to override the tablelog for the next block. -- // Must be <= 11. -+ // Must be <= 11 and >= 5. - TableLog uint8 - - // Reuse will specify the reuse policy - Reuse ReusePolicy - -+ // WantLogLess allows to specify a log 2 reduction that should at least be achieved, -+ // otherwise the block will be returned as incompressible. -+ // The reduction should then at least be (input size >> WantLogLess) -+ // If WantLogLess == 0 any improvement will do. -+ WantLogLess uint8 -+ - // MaxDecodedSize will set the maximum allowed output size. - // This value will automatically be set to BlockSizeMax if not set. - // Decoders will return ErrMaxDecodedSizeExceeded is this limit is exceeded. -@@ -99,6 +105,7 @@ type Scratch struct { - maxCount int // count of the most probable symbol - clearCount bool // clear count - actualTableLog uint8 // Selected tablelog. -+ prevTableLog uint8 // Tablelog for previous table - prevTable cTable // Table used for previous compression. - cTable cTable // compression table - dt dTable // decompression table -@@ -121,8 +128,8 @@ func (s *Scratch) prepare(in []byte) (*Scratch, error) { - if s.TableLog == 0 { - s.TableLog = tableLogDefault - } -- if s.TableLog > tableLogMax { -- return nil, fmt.Errorf("tableLog (%d) > maxTableLog (%d)", s.TableLog, tableLogMax) -+ if s.TableLog > tableLogMax || s.TableLog < minTablelog { -+ return nil, fmt.Errorf(" invalid tableLog %d (%d -> %d)", s.TableLog, minTablelog, tableLogMax) - } - if s.MaxDecodedSize <= 0 || s.MaxDecodedSize > BlockSizeMax { - s.MaxDecodedSize = BlockSizeMax -diff --git a/vendor/github.com/klauspost/compress/zstd/README.md b/vendor/github.com/klauspost/compress/zstd/README.md -index d9d38b23f..bc977a302 100644 ---- a/vendor/github.com/klauspost/compress/zstd/README.md -+++ b/vendor/github.com/klauspost/compress/zstd/README.md -@@ -26,13 +26,17 @@ Godoc Documentation: https://godoc.org/github.com/klauspost/compress/zstd - - ### Status: - --BETA - there may still be subtle bugs, but a wide variety of content has been tested. --There may still be implementation specific stuff in regards to error handling that could lead to edge cases. -+STABLE - there may always be subtle bugs, a wide variety of content has been tested and the library is actively -+used by several projects. This library is being continuously [fuzz-tested](https://github.com/klauspost/compress-fuzz), -+kindly supplied by [fuzzit.dev](https://fuzzit.dev/). -+ -+There may still be specific combinations of data types/size/settings that could lead to edge cases, -+so as always, testing is recommended. - - For now, a high speed (fastest) and medium-fast (default) compressor has been implemented. - - The "Fastest" compression ratio is roughly equivalent to zstd level 1. --The "Default" compression ration is roughly equivalent to zstd level 3 (default). -+The "Default" compression ratio is roughly equivalent to zstd level 3 (default). - - In terms of speed, it is typically 2x as fast as the stdlib deflate/gzip in its fastest mode. - The compression ratio compared to stdlib is around level 3, but usually 3x as fast. -@@ -251,8 +255,12 @@ The converter `s` can be reused to avoid allocations, even after errors. - - ## Decompressor - --STATUS: Release Candidate - there may still be subtle bugs, but a wide variety of content has been tested. -+Staus: STABLE - there may still be subtle bugs, but a wide variety of content has been tested. - -+This library is being continuously [fuzz-tested](https://github.com/klauspost/compress-fuzz), -+kindly supplied by [fuzzit.dev](https://fuzzit.dev/). -+The main purpose of the fuzz testing is to ensure that it is not possible to crash the decoder, -+or run it past its limits with ANY input provided. - - ### Usage - -@@ -382,4 +390,4 @@ For sending files for reproducing errors use a service like [goobox](https://goo - - For general feedback and experience reports, feel free to open an issue or write me on [Twitter](https://twitter.com/sh0dan). - --This package includes the excellent [`github.com/cespare/xxhash`](https://github.com/cespare/xxhash) package Copyright (c) 2016 Caleb Spare. -\ No newline at end of file -+This package includes the excellent [`github.com/cespare/xxhash`](https://github.com/cespare/xxhash) package Copyright (c) 2016 Caleb Spare. -diff --git a/vendor/github.com/klauspost/compress/zstd/blockdec.go b/vendor/github.com/klauspost/compress/zstd/blockdec.go -index 3e161ea15..ed670bcc7 100644 ---- a/vendor/github.com/klauspost/compress/zstd/blockdec.go -+++ b/vendor/github.com/klauspost/compress/zstd/blockdec.go -@@ -11,6 +11,7 @@ import ( - "sync" - - "github.com/klauspost/compress/huff0" -+ "github.com/klauspost/compress/zstd/internal/xxhash" - ) - - type blockType uint8 -@@ -88,6 +89,7 @@ type blockDec struct { - sequenceBuf []seq - tmp [4]byte - err error -+ decWG sync.WaitGroup - } - - func (b *blockDec) String() string { -@@ -104,6 +106,7 @@ func newBlockDec(lowMem bool) *blockDec { - input: make(chan struct{}, 1), - history: make(chan *history, 1), - } -+ b.decWG.Add(1) - go b.startDecoder() - return &b - } -@@ -160,7 +163,8 @@ func (b *blockDec) reset(br byteBuffer, windowSize uint64) error { - b.data, err = br.readBig(cSize, b.dataStorage) - if err != nil { - if debug { -- println("Reading block:", err) -+ println("Reading block:", err, "(", cSize, ")", len(b.data)) -+ printf("%T", br) - } - return err - } -@@ -181,11 +185,13 @@ func (b *blockDec) Close() { - close(b.input) - close(b.history) - close(b.result) -+ b.decWG.Wait() - } - - // decodeAsync will prepare decoding the block when it receives input. - // This will separate output and history. - func (b *blockDec) startDecoder() { -+ defer b.decWG.Done() - for range b.input { - //println("blockDec: Got block input") - switch b.Type { -@@ -275,7 +281,7 @@ func (b *blockDec) decodeBuf(hist *history) error { - hist.b = nil - err := b.decodeCompressed(hist) - if debug { -- println("Decompressed to total", len(b.dst), "bytes, error:", err) -+ println("Decompressed to total", len(b.dst), "bytes, hash:", xxhash.Sum64(b.dst), "error:", err) - } - hist.b = b.dst - b.dst = saved -@@ -368,7 +374,7 @@ func (b *blockDec) decodeCompressed(hist *history) error { - } - } - if debug { -- println("literals type:", litType, "litRegenSize:", litRegenSize, "litCompSize", litCompSize) -+ println("literals type:", litType, "litRegenSize:", litRegenSize, "litCompSize:", litCompSize, "sizeFormat:", sizeFormat, "4X:", fourStreams) - } - var literals []byte - var huff *huff0.Scratch -@@ -426,7 +432,6 @@ func (b *blockDec) decodeCompressed(hist *history) error { - } - literals = in[:litCompSize] - in = in[litCompSize:] -- - huff = huffDecoderPool.Get().(*huff0.Scratch) - var err error - // Ensure we have space to store it. -@@ -637,7 +642,7 @@ func (b *blockDec) decodeCompressed(hist *history) error { - hist.huffTree = huff - } - if debug { -- println("Final literals:", len(literals), "and", nSeqs, "sequences.") -+ println("Final literals:", len(literals), "hash:", xxhash.Sum64(literals), "and", nSeqs, "sequences.") - } - - if nSeqs == 0 { -diff --git a/vendor/github.com/klauspost/compress/zstd/blockenc.go b/vendor/github.com/klauspost/compress/zstd/blockenc.go -index 9d9151a0e..507757d52 100644 ---- a/vendor/github.com/klauspost/compress/zstd/blockenc.go -+++ b/vendor/github.com/klauspost/compress/zstd/blockenc.go -@@ -51,7 +51,7 @@ func (b *blockEnc) init() { - b.coders.llEnc = &fseEncoder{} - b.coders.llPrev = &fseEncoder{} - } -- b.litEnc = &huff0.Scratch{} -+ b.litEnc = &huff0.Scratch{WantLogLess: 4} - b.reset(nil) - } - -@@ -299,14 +299,28 @@ func (b *blockEnc) encodeRaw(a []byte) { - } - } - -+// encodeRaw can be used to set the output to a raw representation of supplied bytes. -+func (b *blockEnc) encodeRawTo(dst, src []byte) []byte { -+ var bh blockHeader -+ bh.setLast(b.last) -+ bh.setSize(uint32(len(src))) -+ bh.setType(blockTypeRaw) -+ dst = bh.appendTo(dst) -+ dst = append(dst, src...) -+ if debug { -+ println("Adding RAW block, length", len(src)) -+ } -+ return dst -+} -+ - // encodeLits can be used if the block is only litLen. --func (b *blockEnc) encodeLits() error { -+func (b *blockEnc) encodeLits(raw bool) error { - var bh blockHeader - bh.setLast(b.last) - bh.setSize(uint32(len(b.literals))) - - // Don't compress extremely small blocks -- if len(b.literals) < 32 { -+ if len(b.literals) < 32 || raw { - if debug { - println("Adding RAW block, length", len(b.literals)) - } -@@ -324,18 +338,10 @@ func (b *blockEnc) encodeLits() error { - if len(b.literals) >= 1024 { - // Use 4 Streams. - out, reUsed, err = huff0.Compress4X(b.literals, b.litEnc) -- if len(out) > len(b.literals)-len(b.literals)>>4 { -- // Bail out of compression is too little. -- err = huff0.ErrIncompressible -- } - } else if len(b.literals) > 32 { - // Use 1 stream - single = true - out, reUsed, err = huff0.Compress1X(b.literals, b.litEnc) -- if len(out) > len(b.literals)-len(b.literals)>>4 { -- // Bail out of compression is too little. -- err = huff0.ErrIncompressible -- } - } else { - err = huff0.ErrIncompressible - } -@@ -391,10 +397,56 @@ func (b *blockEnc) encodeLits() error { - return nil - } - --// encode will encode the block and put the output in b.output. --func (b *blockEnc) encode() error { -+// fuzzFseEncoder can be used to fuzz the FSE encoder. -+func fuzzFseEncoder(data []byte) int { -+ if len(data) > maxSequences || len(data) < 2 { -+ return 0 -+ } -+ enc := fseEncoder{} -+ hist := enc.Histogram()[:256] -+ maxSym := uint8(0) -+ for i, v := range data { -+ v = v & 63 -+ data[i] = v -+ hist[v]++ -+ if v > maxSym { -+ maxSym = v -+ } -+ } -+ if maxSym == 0 { -+ // All 0 -+ return 0 -+ } -+ maxCount := func(a []uint32) int { -+ var max uint32 -+ for _, v := range a { -+ if v > max { -+ max = v -+ } -+ } -+ return int(max) -+ } -+ cnt := maxCount(hist[:maxSym]) -+ if cnt == len(data) { -+ // RLE -+ return 0 -+ } -+ enc.HistogramFinished(maxSym, cnt) -+ err := enc.normalizeCount(len(data)) -+ if err != nil { -+ return 0 -+ } -+ _, err = enc.writeCount(nil) -+ if err != nil { -+ panic(err) -+ } -+ return 1 -+} -+ -+// encode will encode the block and append the output in b.output. -+func (b *blockEnc) encode(raw bool) error { - if len(b.sequences) == 0 { -- return b.encodeLits() -+ return b.encodeLits(raw) - } - // We want some difference - if len(b.literals) > (b.size - (b.size >> 5)) { -@@ -405,6 +457,8 @@ func (b *blockEnc) encode() error { - var lh literalsHeader - bh.setLast(b.last) - bh.setType(blockTypeCompressed) -+ // Store offset of the block header. Needed when we know the size. -+ bhOffset := len(b.output) - b.output = bh.appendTo(b.output) - - var ( -@@ -412,22 +466,17 @@ func (b *blockEnc) encode() error { - reUsed, single bool - err error - ) -- if len(b.literals) >= 1024 { -+ if len(b.literals) >= 1024 && !raw { - // Use 4 Streams. - out, reUsed, err = huff0.Compress4X(b.literals, b.litEnc) -- if len(out) > len(b.literals)-len(b.literals)>>4 { -- err = huff0.ErrIncompressible -- } -- } else if len(b.literals) > 32 { -+ } else if len(b.literals) > 32 && !raw { - // Use 1 stream - single = true - out, reUsed, err = huff0.Compress1X(b.literals, b.litEnc) -- if len(out) > len(b.literals)-len(b.literals)>>4 { -- err = huff0.ErrIncompressible -- } - } else { - err = huff0.ErrIncompressible - } -+ - switch err { - case huff0.ErrIncompressible: - lh.setType(literalsBlockRaw) -@@ -695,23 +744,23 @@ func (b *blockEnc) encode() error { - } - b.output = wr.out - -- if len(b.output)-3 >= b.size { -+ if len(b.output)-3-bhOffset >= b.size { - // Maybe even add a bigger margin. - b.litEnc.Reuse = huff0.ReusePolicyNone - return errIncompressible - } - - // Size is output minus block header. -- bh.setSize(uint32(len(b.output)) - 3) -+ bh.setSize(uint32(len(b.output)-bhOffset) - 3) - if debug { - println("Rewriting block header", bh) - } -- _ = bh.appendTo(b.output[:0]) -+ _ = bh.appendTo(b.output[bhOffset:bhOffset]) - b.coders.setPrev(llEnc, mlEnc, ofEnc) - return nil - } - --var errIncompressible = errors.New("uncompressible") -+var errIncompressible = errors.New("incompressible") - - func (b *blockEnc) genCodes() { - if len(b.sequences) == 0 { -diff --git a/vendor/github.com/klauspost/compress/zstd/bytebuf.go b/vendor/github.com/klauspost/compress/zstd/bytebuf.go -index 3538063f1..07321acb1 100644 ---- a/vendor/github.com/klauspost/compress/zstd/bytebuf.go -+++ b/vendor/github.com/klauspost/compress/zstd/bytebuf.go -@@ -101,6 +101,9 @@ func (r *readerWrapper) readBig(n int, dst []byte) ([]byte, error) { - dst = make([]byte, n) - } - n2, err := io.ReadFull(r.r, dst[:n]) -+ if err == io.EOF && n > 0 { -+ err = io.ErrUnexpectedEOF -+ } - return dst[:n2], err - } - -diff --git a/vendor/github.com/klauspost/compress/zstd/decoder.go b/vendor/github.com/klauspost/compress/zstd/decoder.go -index f4db3096a..35a3cda91 100644 ---- a/vendor/github.com/klauspost/compress/zstd/decoder.go -+++ b/vendor/github.com/klauspost/compress/zstd/decoder.go -@@ -75,6 +75,7 @@ var ( - // The Reset function can be used to initiate a new stream, which is will considerably - // reduce the allocations normally caused by NewReader. - func NewReader(r io.Reader, opts ...DOption) (*Decoder, error) { -+ initPredefined() - var d Decoder - d.o.setDefault() - for _, o := range opts { -@@ -123,7 +124,9 @@ func (d *Decoder) Read(p []byte) (int, error) { - if d.current.err != nil { - break - } -- d.nextBlock() -+ if !d.nextBlock(n == 0) { -+ return n, nil -+ } - } - } - if len(d.current.b) > 0 { -@@ -251,7 +254,7 @@ func (d *Decoder) WriteTo(w io.Writer) (int64, error) { - if d.current.err != nil { - break - } -- d.nextBlock() -+ d.nextBlock(true) - } - err := d.current.err - if err != nil { -@@ -328,7 +331,10 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { - - // nextBlock returns the next block. - // If an error occurs d.err will be set. --func (d *Decoder) nextBlock() { -+// Optionally the function can block for new output. -+// If non-blocking mode is used the returned boolean will be false -+// if no data was available without blocking. -+func (d *Decoder) nextBlock(blocking bool) (ok bool) { - if d.current.d != nil { - if debug { - printf("re-adding current decoder %p", d.current.d) -@@ -338,12 +344,22 @@ func (d *Decoder) nextBlock() { - } - if d.current.err != nil { - // Keep error state. -- return -+ return blocking -+ } -+ -+ if blocking { -+ d.current.decodeOutput = <-d.current.output -+ } else { -+ select { -+ case d.current.decodeOutput = <-d.current.output: -+ default: -+ return false -+ } - } -- d.current.decodeOutput = <-d.current.output - if debug { - println("got", len(d.current.b), "bytes, error:", d.current.err) - } -+ return true - } - - // Close will release all resources. -@@ -372,6 +388,35 @@ func (d *Decoder) Close() { - d.current.err = ErrDecoderClosed - } - -+// IOReadCloser returns the decoder as an io.ReadCloser for convenience. -+// Any changes to the decoder will be reflected, so the returned ReadCloser -+// can be reused along with the decoder. -+// io.WriterTo is also supported by the returned ReadCloser. -+func (d *Decoder) IOReadCloser() io.ReadCloser { -+ return closeWrapper{d: d} -+} -+ -+// closeWrapper wraps a function call as a closer. -+type closeWrapper struct { -+ d *Decoder -+} -+ -+// WriteTo forwards WriteTo calls to the decoder. -+func (c closeWrapper) WriteTo(w io.Writer) (n int64, err error) { -+ return c.d.WriteTo(w) -+} -+ -+// Read forwards read calls to the decoder. -+func (c closeWrapper) Read(p []byte) (n int, err error) { -+ return c.d.Read(p) -+} -+ -+// Close closes the decoder. -+func (c closeWrapper) Close() error { -+ c.d.Close() -+ return nil -+} -+ - type decodeOutput struct { - d *blockDec - b []byte -diff --git a/vendor/github.com/klauspost/compress/zstd/enc_dfast.go b/vendor/github.com/klauspost/compress/zstd/enc_dfast.go -index e120625d8..ee3b09b02 100644 ---- a/vendor/github.com/klauspost/compress/zstd/enc_dfast.go -+++ b/vendor/github.com/klauspost/compress/zstd/enc_dfast.go -@@ -235,7 +235,7 @@ encodeLoop: - if debug && s-t > e.maxMatchOff { - panic("s - t >e.maxMatchOff") - } -- if debug { -+ if debugMatches { - println("long match") - } - break -@@ -259,7 +259,7 @@ encodeLoop: - // but the likelihood of both the first 4 bytes and the hash matching should be enough. - t = candidateL.offset - e.cur - s += checkAt -- if debug { -+ if debugMatches { - println("long match (after short)") - } - break -@@ -275,7 +275,7 @@ encodeLoop: - if debug && t < 0 { - panic("t<0") - } -- if debug { -+ if debugMatches { - println("short match") - } - break -@@ -411,3 +411,316 @@ encodeLoop: - println("returning, recent offsets:", blk.recentOffsets, "extra literals:", blk.extraLits) - } - } -+ -+// EncodeNoHist will encode a block with no history and no following blocks. -+// Most notable difference is that src will not be copied for history and -+// we do not need to check for max match length. -+func (e *doubleFastEncoder) EncodeNoHist(blk *blockEnc, src []byte) { -+ const ( -+ // Input margin is the number of bytes we read (8) -+ // and the maximum we will read ahead (2) -+ inputMargin = 8 + 2 -+ minNonLiteralBlockSize = 16 -+ ) -+ -+ // Protect against e.cur wraparound. -+ if e.cur > (1<<30)+e.maxMatchOff { -+ for i := range e.table[:] { -+ e.table[i] = tableEntry{} -+ } -+ for i := range e.longTable[:] { -+ e.longTable[i] = tableEntry{} -+ } -+ e.cur = e.maxMatchOff -+ } -+ -+ s := int32(0) -+ blk.size = len(src) -+ if len(src) < minNonLiteralBlockSize { -+ blk.extraLits = len(src) -+ blk.literals = blk.literals[:len(src)] -+ copy(blk.literals, src) -+ return -+ } -+ -+ // Override src -+ sLimit := int32(len(src)) - inputMargin -+ // stepSize is the number of bytes to skip on every main loop iteration. -+ // It should be >= 1. -+ stepSize := int32(e.o.targetLength) -+ if stepSize == 0 { -+ stepSize++ -+ } -+ -+ const kSearchStrength = 8 -+ -+ // nextEmit is where in src the next emitLiteral should start from. -+ nextEmit := s -+ cv := load6432(src, s) -+ -+ // Relative offsets -+ offset1 := int32(blk.recentOffsets[0]) -+ offset2 := int32(blk.recentOffsets[1]) -+ -+ addLiterals := func(s *seq, until int32) { -+ if until == nextEmit { -+ return -+ } -+ blk.literals = append(blk.literals, src[nextEmit:until]...) -+ s.litLen = uint32(until - nextEmit) -+ } -+ if debug { -+ println("recent offsets:", blk.recentOffsets) -+ } -+ -+encodeLoop: -+ for { -+ var t int32 -+ for { -+ -+ nextHashS := hash5(cv, dFastShortTableBits) -+ nextHashL := hash8(cv, dFastLongTableBits) -+ candidateL := e.longTable[nextHashL] -+ candidateS := e.table[nextHashS] -+ -+ const repOff = 1 -+ repIndex := s - offset1 + repOff -+ entry := tableEntry{offset: s + e.cur, val: uint32(cv)} -+ e.longTable[nextHashL] = entry -+ e.table[nextHashS] = entry -+ -+ if len(blk.sequences) > 2 { -+ if load3232(src, repIndex) == uint32(cv>>(repOff*8)) { -+ // Consider history as well. -+ var seq seq -+ //length := 4 + e.matchlen(s+4+repOff, repIndex+4, src) -+ length := 4 + int32(matchLen(src[s+4+repOff:], src[repIndex+4:])) -+ -+ seq.matchLen = uint32(length - zstdMinMatch) -+ -+ // We might be able to match backwards. -+ // Extend as long as we can. -+ start := s + repOff -+ // We end the search early, so we don't risk 0 literals -+ // and have to do special offset treatment. -+ startLimit := nextEmit + 1 -+ -+ tMin := s - e.maxMatchOff -+ if tMin < 0 { -+ tMin = 0 -+ } -+ for repIndex > tMin && start > startLimit && src[repIndex-1] == src[start-1] { -+ repIndex-- -+ start-- -+ seq.matchLen++ -+ } -+ addLiterals(&seq, start) -+ -+ // rep 0 -+ seq.offset = 1 -+ if debugSequences { -+ println("repeat sequence", seq, "next s:", s) -+ } -+ blk.sequences = append(blk.sequences, seq) -+ s += length + repOff -+ nextEmit = s -+ if s >= sLimit { -+ if debug { -+ println("repeat ended", s, length) -+ -+ } -+ break encodeLoop -+ } -+ cv = load6432(src, s) -+ continue -+ } -+ } -+ // Find the offsets of our two matches. -+ coffsetL := s - (candidateL.offset - e.cur) -+ coffsetS := s - (candidateS.offset - e.cur) -+ -+ // Check if we have a long match. -+ if coffsetL < e.maxMatchOff && uint32(cv) == candidateL.val { -+ // Found a long match, likely at least 8 bytes. -+ // Reference encoder checks all 8 bytes, we only check 4, -+ // but the likelihood of both the first 4 bytes and the hash matching should be enough. -+ t = candidateL.offset - e.cur -+ if debug && s <= t { -+ panic("s <= t") -+ } -+ if debug && s-t > e.maxMatchOff { -+ panic("s - t >e.maxMatchOff") -+ } -+ if debugMatches { -+ println("long match") -+ } -+ break -+ } -+ -+ // Check if we have a short match. -+ if coffsetS < e.maxMatchOff && uint32(cv) == candidateS.val { -+ // found a regular match -+ // See if we can find a long match at s+1 -+ const checkAt = 1 -+ cv := load6432(src, s+checkAt) -+ nextHashL = hash8(cv, dFastLongTableBits) -+ candidateL = e.longTable[nextHashL] -+ coffsetL = s - (candidateL.offset - e.cur) + checkAt -+ -+ // We can store it, since we have at least a 4 byte match. -+ e.longTable[nextHashL] = tableEntry{offset: s + checkAt + e.cur, val: uint32(cv)} -+ if coffsetL < e.maxMatchOff && uint32(cv) == candidateL.val { -+ // Found a long match, likely at least 8 bytes. -+ // Reference encoder checks all 8 bytes, we only check 4, -+ // but the likelihood of both the first 4 bytes and the hash matching should be enough. -+ t = candidateL.offset - e.cur -+ s += checkAt -+ if debugMatches { -+ println("long match (after short)") -+ } -+ break -+ } -+ -+ t = candidateS.offset - e.cur -+ if debug && s <= t { -+ panic("s <= t") -+ } -+ if debug && s-t > e.maxMatchOff { -+ panic("s - t >e.maxMatchOff") -+ } -+ if debug && t < 0 { -+ panic("t<0") -+ } -+ if debugMatches { -+ println("short match") -+ } -+ break -+ } -+ -+ // No match found, move forward in input. -+ s += stepSize + ((s - nextEmit) >> (kSearchStrength - 1)) -+ if s >= sLimit { -+ break encodeLoop -+ } -+ cv = load6432(src, s) -+ } -+ -+ // A 4-byte match has been found. Update recent offsets. -+ // We'll later see if more than 4 bytes. -+ offset2 = offset1 -+ offset1 = s - t -+ -+ if debug && s <= t { -+ panic("s <= t") -+ } -+ -+ // Extend the 4-byte match as long as possible. -+ //l := e.matchlen(s+4, t+4, src) + 4 -+ l := int32(matchLen(src[s+4:], src[t+4:])) + 4 -+ -+ // Extend backwards -+ tMin := s - e.maxMatchOff -+ if tMin < 0 { -+ tMin = 0 -+ } -+ for t > tMin && s > nextEmit && src[t-1] == src[s-1] { -+ s-- -+ t-- -+ l++ -+ } -+ -+ // Write our sequence -+ var seq seq -+ seq.litLen = uint32(s - nextEmit) -+ seq.matchLen = uint32(l - zstdMinMatch) -+ if seq.litLen > 0 { -+ blk.literals = append(blk.literals, src[nextEmit:s]...) -+ } -+ seq.offset = uint32(s-t) + 3 -+ s += l -+ if debugSequences { -+ println("sequence", seq, "next s:", s) -+ } -+ blk.sequences = append(blk.sequences, seq) -+ nextEmit = s -+ if s >= sLimit { -+ break encodeLoop -+ } -+ -+ // Index match start+1 (long) and start+2 (short) -+ index0 := s - l + 1 -+ // Index match end-2 (long) and end-1 (short) -+ index1 := s - 2 -+ -+ cv0 := load6432(src, index0) -+ cv1 := load6432(src, index1) -+ te0 := tableEntry{offset: index0 + e.cur, val: uint32(cv0)} -+ te1 := tableEntry{offset: index1 + e.cur, val: uint32(cv1)} -+ e.longTable[hash8(cv0, dFastLongTableBits)] = te0 -+ e.longTable[hash8(cv1, dFastLongTableBits)] = te1 -+ cv0 >>= 8 -+ cv1 >>= 8 -+ te0.offset++ -+ te1.offset++ -+ te0.val = uint32(cv0) -+ te1.val = uint32(cv1) -+ e.table[hash5(cv0, dFastShortTableBits)] = te0 -+ e.table[hash5(cv1, dFastShortTableBits)] = te1 -+ -+ cv = load6432(src, s) -+ -+ if len(blk.sequences) <= 2 { -+ continue -+ } -+ -+ // Check offset 2 -+ for { -+ o2 := s - offset2 -+ if load3232(src, o2) != uint32(cv) { -+ // Do regular search -+ break -+ } -+ -+ // Store this, since we have it. -+ nextHashS := hash5(cv1>>8, dFastShortTableBits) -+ nextHashL := hash8(cv, dFastLongTableBits) -+ -+ // We have at least 4 byte match. -+ // No need to check backwards. We come straight from a match -+ //l := 4 + e.matchlen(s+4, o2+4, src) -+ l := 4 + int32(matchLen(src[s+4:], src[o2+4:])) -+ -+ entry := tableEntry{offset: s + e.cur, val: uint32(cv)} -+ e.longTable[nextHashL] = entry -+ e.table[nextHashS] = entry -+ seq.matchLen = uint32(l) - zstdMinMatch -+ seq.litLen = 0 -+ -+ // Since litlen is always 0, this is offset 1. -+ seq.offset = 1 -+ s += l -+ nextEmit = s -+ if debugSequences { -+ println("sequence", seq, "next s:", s) -+ } -+ blk.sequences = append(blk.sequences, seq) -+ -+ // Swap offset 1 and 2. -+ offset1, offset2 = offset2, offset1 -+ if s >= sLimit { -+ // Finished -+ break encodeLoop -+ } -+ cv = load6432(src, s) -+ } -+ } -+ -+ if int(nextEmit) < len(src) { -+ blk.literals = append(blk.literals, src[nextEmit:]...) -+ blk.extraLits = len(src) - int(nextEmit) -+ } -+ if debug { -+ println("returning, recent offsets:", blk.recentOffsets, "extra literals:", blk.extraLits) -+ } -+ -+} -diff --git a/vendor/github.com/klauspost/compress/zstd/enc_fast.go b/vendor/github.com/klauspost/compress/zstd/enc_fast.go -index 6f388de04..0bdddac5b 100644 ---- a/vendor/github.com/klauspost/compress/zstd/enc_fast.go -+++ b/vendor/github.com/klauspost/compress/zstd/enc_fast.go -@@ -329,6 +329,246 @@ encodeLoop: - } - } - -+// EncodeNoHist will encode a block with no history and no following blocks. -+// Most notable difference is that src will not be copied for history and -+// we do not need to check for max match length. -+func (e *fastEncoder) EncodeNoHist(blk *blockEnc, src []byte) { -+ const ( -+ inputMargin = 8 -+ minNonLiteralBlockSize = 1 + 1 + inputMargin -+ ) -+ if debug { -+ if len(src) > maxBlockSize { -+ panic("src too big") -+ } -+ } -+ // Protect against e.cur wraparound. -+ if e.cur > (1<<30)+e.maxMatchOff { -+ for i := range e.table[:] { -+ e.table[i] = tableEntry{} -+ } -+ e.cur = e.maxMatchOff -+ } -+ -+ s := int32(0) -+ blk.size = len(src) -+ if len(src) < minNonLiteralBlockSize { -+ blk.extraLits = len(src) -+ blk.literals = blk.literals[:len(src)] -+ copy(blk.literals, src) -+ return -+ } -+ -+ sLimit := int32(len(src)) - inputMargin -+ // stepSize is the number of bytes to skip on every main loop iteration. -+ // It should be >= 2. -+ const stepSize = 2 -+ -+ // TEMPLATE -+ const hashLog = tableBits -+ // seems global, but would be nice to tweak. -+ const kSearchStrength = 8 -+ -+ // nextEmit is where in src the next emitLiteral should start from. -+ nextEmit := s -+ cv := load6432(src, s) -+ -+ // Relative offsets -+ offset1 := int32(blk.recentOffsets[0]) -+ offset2 := int32(blk.recentOffsets[1]) -+ -+ addLiterals := func(s *seq, until int32) { -+ if until == nextEmit { -+ return -+ } -+ blk.literals = append(blk.literals, src[nextEmit:until]...) -+ s.litLen = uint32(until - nextEmit) -+ } -+ if debug { -+ println("recent offsets:", blk.recentOffsets) -+ } -+ -+encodeLoop: -+ for { -+ // t will contain the match offset when we find one. -+ // When existing the search loop, we have already checked 4 bytes. -+ var t int32 -+ -+ // We will not use repeat offsets across blocks. -+ // By not using them for the first 3 matches -+ -+ for { -+ nextHash := hash6(cv, hashLog) -+ nextHash2 := hash6(cv>>8, hashLog) -+ candidate := e.table[nextHash] -+ candidate2 := e.table[nextHash2] -+ repIndex := s - offset1 + 2 -+ -+ e.table[nextHash] = tableEntry{offset: s + e.cur, val: uint32(cv)} -+ e.table[nextHash2] = tableEntry{offset: s + e.cur + 1, val: uint32(cv >> 8)} -+ -+ if len(blk.sequences) > 2 && load3232(src, repIndex) == uint32(cv>>16) { -+ // Consider history as well. -+ var seq seq -+ // lenght := 4 + e.matchlen(s+6, repIndex+4, src) -+ lenght := 4 + int32(matchLen(src[s+6:], src[repIndex+4:])) -+ -+ seq.matchLen = uint32(lenght - zstdMinMatch) -+ -+ // We might be able to match backwards. -+ // Extend as long as we can. -+ start := s + 2 -+ // We end the search early, so we don't risk 0 literals -+ // and have to do special offset treatment. -+ startLimit := nextEmit + 1 -+ -+ sMin := s - e.maxMatchOff -+ if sMin < 0 { -+ sMin = 0 -+ } -+ for repIndex > sMin && start > startLimit && src[repIndex-1] == src[start-1] { -+ repIndex-- -+ start-- -+ seq.matchLen++ -+ } -+ addLiterals(&seq, start) -+ -+ // rep 0 -+ seq.offset = 1 -+ if debugSequences { -+ println("repeat sequence", seq, "next s:", s) -+ } -+ blk.sequences = append(blk.sequences, seq) -+ s += lenght + 2 -+ nextEmit = s -+ if s >= sLimit { -+ if debug { -+ println("repeat ended", s, lenght) -+ -+ } -+ break encodeLoop -+ } -+ cv = load6432(src, s) -+ continue -+ } -+ coffset0 := s - (candidate.offset - e.cur) -+ coffset1 := s - (candidate2.offset - e.cur) + 1 -+ if coffset0 < e.maxMatchOff && uint32(cv) == candidate.val { -+ // found a regular match -+ t = candidate.offset - e.cur -+ if debug && s <= t { -+ panic("s <= t") -+ } -+ if debug && s-t > e.maxMatchOff { -+ panic("s - t >e.maxMatchOff") -+ } -+ break -+ } -+ -+ if coffset1 < e.maxMatchOff && uint32(cv>>8) == candidate2.val { -+ // found a regular match -+ t = candidate2.offset - e.cur -+ s++ -+ if debug && s <= t { -+ panic("s <= t") -+ } -+ if debug && s-t > e.maxMatchOff { -+ panic("s - t >e.maxMatchOff") -+ } -+ if debug && t < 0 { -+ panic("t<0") -+ } -+ break -+ } -+ s += stepSize + ((s - nextEmit) >> (kSearchStrength - 1)) -+ if s >= sLimit { -+ break encodeLoop -+ } -+ cv = load6432(src, s) -+ } -+ // A 4-byte match has been found. We'll later see if more than 4 bytes. -+ offset2 = offset1 -+ offset1 = s - t -+ -+ if debug && s <= t { -+ panic("s <= t") -+ } -+ -+ // Extend the 4-byte match as long as possible. -+ //l := e.matchlenNoHist(s+4, t+4, src) + 4 -+ l := int32(matchLen(src[s+4:], src[t+4:])) + 4 -+ -+ // Extend backwards -+ tMin := s - e.maxMatchOff -+ if tMin < 0 { -+ tMin = 0 -+ } -+ for t > tMin && s > nextEmit && src[t-1] == src[s-1] { -+ s-- -+ t-- -+ l++ -+ } -+ -+ // Write our sequence. -+ var seq seq -+ seq.litLen = uint32(s - nextEmit) -+ seq.matchLen = uint32(l - zstdMinMatch) -+ if seq.litLen > 0 { -+ blk.literals = append(blk.literals, src[nextEmit:s]...) -+ } -+ // Don't use repeat offsets -+ seq.offset = uint32(s-t) + 3 -+ s += l -+ if debugSequences { -+ println("sequence", seq, "next s:", s) -+ } -+ blk.sequences = append(blk.sequences, seq) -+ nextEmit = s -+ if s >= sLimit { -+ break encodeLoop -+ } -+ cv = load6432(src, s) -+ -+ // Check offset 2 -+ if o2 := s - offset2; len(blk.sequences) > 2 && load3232(src, o2) == uint32(cv) { -+ // We have at least 4 byte match. -+ // No need to check backwards. We come straight from a match -+ //l := 4 + e.matchlenNoHist(s+4, o2+4, src) -+ l := 4 + int32(matchLen(src[s+4:], src[o2+4:])) -+ -+ // Store this, since we have it. -+ nextHash := hash6(cv, hashLog) -+ e.table[nextHash] = tableEntry{offset: s + e.cur, val: uint32(cv)} -+ seq.matchLen = uint32(l) - zstdMinMatch -+ seq.litLen = 0 -+ // Since litlen is always 0, this is offset 1. -+ seq.offset = 1 -+ s += l -+ nextEmit = s -+ if debugSequences { -+ println("sequence", seq, "next s:", s) -+ } -+ blk.sequences = append(blk.sequences, seq) -+ -+ // Swap offset 1 and 2. -+ offset1, offset2 = offset2, offset1 -+ if s >= sLimit { -+ break encodeLoop -+ } -+ // Prepare next loop. -+ cv = load6432(src, s) -+ } -+ } -+ -+ if int(nextEmit) < len(src) { -+ blk.literals = append(blk.literals, src[nextEmit:]...) -+ blk.extraLits = len(src) - int(nextEmit) -+ } -+ if debug { -+ println("returning, recent offsets:", blk.recentOffsets, "extra literals:", blk.extraLits) -+ } -+} -+ - func (e *fastEncoder) addBlock(src []byte) int32 { - // check if we have space already - if len(e.hist)+len(src) > cap(e.hist) { -@@ -362,6 +602,11 @@ func (e *fastEncoder) UseBlock(enc *blockEnc) { - e.blk = enc - } - -+func (e *fastEncoder) matchlenNoHist(s, t int32, src []byte) int32 { -+ // Extend the match to be as long as possible. -+ return int32(matchLen(src[s:], src[t:])) -+} -+ - func (e *fastEncoder) matchlen(s, t int32, src []byte) int32 { - if debug { - if s < 0 { -diff --git a/vendor/github.com/klauspost/compress/zstd/encoder.go b/vendor/github.com/klauspost/compress/zstd/encoder.go -index b7011be29..366dd66bd 100644 ---- a/vendor/github.com/klauspost/compress/zstd/encoder.go -+++ b/vendor/github.com/klauspost/compress/zstd/encoder.go -@@ -29,6 +29,7 @@ type Encoder struct { - - type encoder interface { - Encode(blk *blockEnc, src []byte) -+ EncodeNoHist(blk *blockEnc, src []byte) - Block() *blockEnc - CRC() *xxhash.Digest - AppendCRC([]byte) []byte -@@ -59,6 +60,7 @@ type encoderState struct { - // NewWriter will create a new Zstandard encoder. - // If the encoder will be used for encoding blocks a nil writer can be used. - func NewWriter(w io.Writer, opts ...EOption) (*Encoder, error) { -+ initPredefined() - var e Encoder - e.o.setDefault() - for _, o := range opts { -@@ -261,7 +263,7 @@ func (e *Encoder) nextBlock(final bool) error { - // If we got the exact same number of literals as input, - // assume the literals cannot be compressed. - if len(src) != len(blk.literals) || len(src) != e.o.blockSize { -- err = blk.encode() -+ err = blk.encode(e.o.noEntropy) - } - switch err { - case errIncompressible: -@@ -393,12 +395,31 @@ func (e *Encoder) Close() error { - - // EncodeAll will encode all input in src and append it to dst. - // This function can be called concurrently, but each call will only run on a single goroutine. --// If empty input is given, nothing is returned. -+// If empty input is given, nothing is returned, unless WithZeroFrames is specified. - // Encoded blocks can be concatenated and the result will be the combined input stream. - // Data compressed with EncodeAll can be decoded with the Decoder, - // using either a stream or DecodeAll. - func (e *Encoder) EncodeAll(src, dst []byte) []byte { - if len(src) == 0 { -+ if e.o.fullZero { -+ // Add frame header. -+ fh := frameHeader{ -+ ContentSize: 0, -+ WindowSize: MinWindowSize, -+ SingleSegment: true, -+ // Adding a checksum would be a waste of space. -+ Checksum: false, -+ DictID: 0, -+ } -+ dst, _ = fh.appendTo(dst) -+ -+ // Write raw block as last one only. -+ var blk blockHeader -+ blk.setSize(0) -+ blk.setType(blockTypeRaw) -+ blk.setLast(true) -+ dst = blk.appendTo(dst) -+ } - return dst - } - e.init.Do(func() { -@@ -413,7 +434,8 @@ func (e *Encoder) EncodeAll(src, dst []byte) []byte { - }() - enc.Reset() - blk := enc.Block() -- single := len(src) > 1<<20 -+ // Use single segments when above minimum window and below 1MB. -+ single := len(src) < 1<<20 && len(src) > MinWindowSize - if e.o.single != nil { - single = *e.o.single - } -@@ -434,26 +456,23 @@ func (e *Encoder) EncodeAll(src, dst []byte) []byte { - panic(err) - } - -- for len(src) > 0 { -- todo := src -- if len(todo) > e.o.blockSize { -- todo = todo[:e.o.blockSize] -- } -- src = src[len(todo):] -+ if len(src) <= e.o.blockSize && len(src) <= maxBlockSize { -+ // Slightly faster with no history and everything in one block. - if e.o.crc { -- _, _ = enc.CRC().Write(todo) -+ _, _ = enc.CRC().Write(src) - } - blk.reset(nil) -- blk.pushOffsets() -- enc.Encode(blk, todo) -- if len(src) == 0 { -- blk.last = true -- } -- err := errIncompressible -+ blk.last = true -+ enc.EncodeNoHist(blk, src) -+ - // If we got the exact same number of literals as input, - // assume the literals cannot be compressed. -- if len(blk.literals) != len(todo) || len(todo) != e.o.blockSize { -- err = blk.encode() -+ err := errIncompressible -+ oldout := blk.output -+ if len(blk.literals) != len(src) || len(src) != e.o.blockSize { -+ // Output directly to dst -+ blk.output = dst -+ err = blk.encode(e.o.noEntropy) - } - - switch err { -@@ -461,13 +480,49 @@ func (e *Encoder) EncodeAll(src, dst []byte) []byte { - if debug { - println("Storing incompressible block as raw") - } -- blk.encodeRaw(todo) -- blk.popOffsets() -+ dst = blk.encodeRawTo(dst, src) - case nil: -+ dst = blk.output - default: - panic(err) - } -- dst = append(dst, blk.output...) -+ blk.output = oldout -+ } else { -+ for len(src) > 0 { -+ todo := src -+ if len(todo) > e.o.blockSize { -+ todo = todo[:e.o.blockSize] -+ } -+ src = src[len(todo):] -+ if e.o.crc { -+ _, _ = enc.CRC().Write(todo) -+ } -+ blk.reset(nil) -+ blk.pushOffsets() -+ enc.Encode(blk, todo) -+ if len(src) == 0 { -+ blk.last = true -+ } -+ err := errIncompressible -+ // If we got the exact same number of literals as input, -+ // assume the literals cannot be compressed. -+ if len(blk.literals) != len(todo) || len(todo) != e.o.blockSize { -+ err = blk.encode(e.o.noEntropy) -+ } -+ -+ switch err { -+ case errIncompressible: -+ if debug { -+ println("Storing incompressible block as raw") -+ } -+ dst = blk.encodeRawTo(dst, todo) -+ blk.popOffsets() -+ case nil: -+ dst = append(dst, blk.output...) -+ default: -+ panic(err) -+ } -+ } - } - if e.o.crc { - dst = enc.AppendCRC(dst) -diff --git a/vendor/github.com/klauspost/compress/zstd/encoder_options.go b/vendor/github.com/klauspost/compress/zstd/encoder_options.go -index a8559e900..40eb45733 100644 ---- a/vendor/github.com/klauspost/compress/zstd/encoder_options.go -+++ b/vendor/github.com/klauspost/compress/zstd/encoder_options.go -@@ -1,6 +1,7 @@ - package zstd - - import ( -+ "errors" - "fmt" - "runtime" - "strings" -@@ -18,6 +19,8 @@ type encoderOptions struct { - blockSize int - windowSize int - level EncoderLevel -+ fullZero bool -+ noEntropy bool - } - - func (o *encoderOptions) setDefault() { -@@ -63,6 +66,30 @@ func WithEncoderConcurrency(n int) EOption { - } - } - -+// WithWindowSize will set the maximum allowed back-reference distance. -+// The value must be a power of two between WindowSizeMin and WindowSizeMax. -+// A larger value will enable better compression but allocate more memory and, -+// for above-default values, take considerably longer. -+// The default value is determined by the compression level. -+func WithWindowSize(n int) EOption { -+ return func(o *encoderOptions) error { -+ switch { -+ case n < MinWindowSize: -+ return fmt.Errorf("window size must be at least %d", MinWindowSize) -+ case n > MaxWindowSize: -+ return fmt.Errorf("window size must be at most %d", MaxWindowSize) -+ case (n & (n - 1)) != 0: -+ return errors.New("window size must be a power of 2") -+ } -+ -+ o.windowSize = n -+ if o.blockSize > o.windowSize { -+ o.blockSize = o.windowSize -+ } -+ return nil -+ } -+} -+ - // WithEncoderPadding will add padding to all output so the size will be a multiple of n. - // This can be used to obfuscate the exact output size or make blocks of a certain size. - // The contents will be a skippable frame, so it will be invisible by the decoder. -@@ -166,6 +193,26 @@ func WithEncoderLevel(l EncoderLevel) EOption { - } - } - -+// WithZeroFrames will encode 0 length input as full frames. -+// This can be needed for compatibility with zstandard usage, -+// but is not needed for this package. -+func WithZeroFrames(b bool) EOption { -+ return func(o *encoderOptions) error { -+ o.fullZero = b -+ return nil -+ } -+} -+ -+// WithNoEntropyCompression will always skip entropy compression of literals. -+// This can be useful if content has matches, but unlikely to benefit from entropy -+// compression. Usually the slight speed improvement is not worth enabling this. -+func WithNoEntropyCompression(b bool) EOption { -+ return func(o *encoderOptions) error { -+ o.noEntropy = b -+ return nil -+ } -+} -+ - // WithSingleSegment will set the "single segment" flag when EncodeAll is used. - // If this flag is set, data must be regenerated within a single continuous memory segment. - // In this case, Window_Descriptor byte is skipped, but Frame_Content_Size is necessarily present. -diff --git a/vendor/github.com/klauspost/compress/zstd/framedec.go b/vendor/github.com/klauspost/compress/zstd/framedec.go -index 839a95fbf..40790747a 100644 ---- a/vendor/github.com/klauspost/compress/zstd/framedec.go -+++ b/vendor/github.com/klauspost/compress/zstd/framedec.go -@@ -49,7 +49,8 @@ type frameDec struct { - - const ( - // The minimum Window_Size is 1 KB. -- minWindowSize = 1 << 10 -+ MinWindowSize = 1 << 10 -+ MaxWindowSize = 1 << 30 - ) - - var ( -@@ -60,7 +61,7 @@ var ( - func newFrameDec(o decoderOptions) *frameDec { - d := frameDec{ - o: o, -- maxWindowSize: 1 << 30, -+ maxWindowSize: MaxWindowSize, - } - if d.maxWindowSize > o.maxDecodedSize { - d.maxWindowSize = o.maxDecodedSize -@@ -193,14 +194,14 @@ func (d *frameDec) reset(br byteBuffer) error { - // When FCS_Field_Size is 2, the offset of 256 is added. - d.FrameContentSize = uint64(b[0]) | (uint64(b[1]) << 8) + 256 - case 4: -- d.FrameContentSize = uint64(b[0]) | (uint64(b[1]) << 8) | (uint64(b[2]) << 16) | (uint64(b[3] << 24)) -+ d.FrameContentSize = uint64(b[0]) | (uint64(b[1]) << 8) | (uint64(b[2]) << 16) | (uint64(b[3]) << 24) - case 8: - d1 := uint32(b[0]) | (uint32(b[1]) << 8) | (uint32(b[2]) << 16) | (uint32(b[3]) << 24) - d2 := uint32(b[4]) | (uint32(b[5]) << 8) | (uint32(b[6]) << 16) | (uint32(b[7]) << 24) - d.FrameContentSize = uint64(d1) | (uint64(d2) << 32) - } - if debug { -- println("field size bits:", v, "fcsSize:", fcsSize, "FrameContentSize:", d.FrameContentSize, hex.EncodeToString(b[:fcsSize])) -+ println("field size bits:", v, "fcsSize:", fcsSize, "FrameContentSize:", d.FrameContentSize, hex.EncodeToString(b[:fcsSize]), "singleseg:", d.SingleSegment, "window:", d.WindowSize) - } - } - // Move this to shared. -@@ -215,8 +216,8 @@ func (d *frameDec) reset(br byteBuffer) error { - if d.WindowSize == 0 && d.SingleSegment { - // We may not need window in this case. - d.WindowSize = d.FrameContentSize -- if d.WindowSize < minWindowSize { -- d.WindowSize = minWindowSize -+ if d.WindowSize < MinWindowSize { -+ d.WindowSize = MinWindowSize - } - } - -@@ -225,7 +226,7 @@ func (d *frameDec) reset(br byteBuffer) error { - return ErrWindowSizeExceeded - } - // The minimum Window_Size is 1 KB. -- if d.WindowSize < minWindowSize { -+ if d.WindowSize < MinWindowSize { - println("got window size: ", d.WindowSize) - return ErrWindowSizeTooSmall - } -@@ -309,7 +310,9 @@ func (d *frameDec) checkCRC() error { - } - return ErrCRCMismatch - } -- println("CRC ok") -+ if debug { -+ println("CRC ok", tmp[:]) -+ } - return nil - } - -@@ -411,6 +414,7 @@ func (d *frameDec) startDecoder(output chan decodeOutput) { - } - written += int64(len(r.b)) - if d.SingleSegment && uint64(written) > d.FrameContentSize { -+ println("runDecoder: single segment and", uint64(written), ">", d.FrameContentSize) - r.err = ErrFrameSizeExceeded - output <- r - return -@@ -461,6 +465,7 @@ func (d *frameDec) runDecoder(dst []byte, dec *blockDec) ([]byte, error) { - break - } - if d.SingleSegment && uint64(len(d.history.b)) > d.o.maxDecodedSize { -+ println("runDecoder: single segment and", uint64(len(d.history.b)), ">", d.o.maxDecodedSize) - err = ErrFrameSizeExceeded - break - } -@@ -473,9 +478,10 @@ func (d *frameDec) runDecoder(dst []byte, dec *blockDec) ([]byte, error) { - if err == nil { - if n != len(dst)-crcStart { - err = io.ErrShortWrite -+ } else { -+ err = d.checkCRC() - } - } -- err = d.checkCRC() - } - } - d.history.b = saved -diff --git a/vendor/github.com/klauspost/compress/zstd/frameenc.go b/vendor/github.com/klauspost/compress/zstd/frameenc.go -index acac32527..4479cfe18 100644 ---- a/vendor/github.com/klauspost/compress/zstd/frameenc.go -+++ b/vendor/github.com/klauspost/compress/zstd/frameenc.go -@@ -5,7 +5,6 @@ - package zstd - - import ( -- "errors" - "fmt" - "io" - "math" -@@ -49,9 +48,7 @@ func (f frameHeader) appendTo(dst []byte) ([]byte, error) { - windowLog := (bits.Len32(f.WindowSize-1) - winLogMin) << 3 - dst = append(dst, uint8(windowLog)) - } -- if f.SingleSegment && f.ContentSize == 0 { -- return nil, errors.New("single segment, but no size set") -- } -+ - switch fcs { - case 0: - if f.SingleSegment { -diff --git a/vendor/github.com/klauspost/compress/zstd/fse_encoder.go b/vendor/github.com/klauspost/compress/zstd/fse_encoder.go -index dfa6cf7ce..619836f52 100644 ---- a/vendor/github.com/klauspost/compress/zstd/fse_encoder.go -+++ b/vendor/github.com/klauspost/compress/zstd/fse_encoder.go -@@ -502,13 +502,22 @@ func (s *fseEncoder) validateNorm() (err error) { - // writeCount will write the normalized histogram count to header. - // This is read back by readNCount. - func (s *fseEncoder) writeCount(out []byte) ([]byte, error) { -+ if s.useRLE { -+ return append(out, s.rleVal), nil -+ } -+ if s.preDefined || s.reUsed { -+ // Never write predefined. -+ return out, nil -+ } -+ - var ( - tableLog = s.actualTableLog - tableSize = 1 << tableLog - previous0 bool - charnum uint16 - -- maxHeaderSize = ((int(s.symbolLen) * int(tableLog)) >> 3) + 3 -+ // maximum header size plus 2 extra bytes for final output if bitCount == 0. -+ maxHeaderSize = ((int(s.symbolLen) * int(tableLog)) >> 3) + 3 + 2 - - // Write Table Size - bitStream = uint32(tableLog - minEncTablelog) -@@ -516,15 +525,12 @@ func (s *fseEncoder) writeCount(out []byte) ([]byte, error) { - remaining = int16(tableSize + 1) /* +1 for extra accuracy */ - threshold = int16(tableSize) - nbBits = uint(tableLog + 1) -+ outP = len(out) - ) -- if s.useRLE { -- return append(out, s.rleVal), nil -+ if cap(out) < outP+maxHeaderSize { -+ out = append(out, make([]byte, maxHeaderSize*3)...) -+ out = out[:len(out)-maxHeaderSize*3] - } -- if s.preDefined || s.reUsed { -- // Never write predefined. -- return out, nil -- } -- outP := len(out) - out = out[:outP+maxHeaderSize] - - // stops at 1 -@@ -594,11 +600,14 @@ func (s *fseEncoder) writeCount(out []byte) ([]byte, error) { - } - } - -+ if outP+2 > len(out) { -+ return nil, fmt.Errorf("internal error: %d > %d, maxheader: %d, sl: %d, tl: %d, normcount: %v", outP+2, len(out), maxHeaderSize, s.symbolLen, int(tableLog), s.norm[:s.symbolLen]) -+ } - out[outP] = byte(bitStream) - out[outP+1] = byte(bitStream >> 8) - outP += int((bitCount + 7) / 8) - -- if uint16(charnum) > s.symbolLen { -+ if charnum > s.symbolLen { - return nil, errors.New("internal error: charnum > s.symbolLen") - } - return out[:outP], nil -diff --git a/vendor/github.com/klauspost/compress/zstd/fse_predefined.go b/vendor/github.com/klauspost/compress/zstd/fse_predefined.go -index 5186de802..6c17dc17f 100644 ---- a/vendor/github.com/klauspost/compress/zstd/fse_predefined.go -+++ b/vendor/github.com/klauspost/compress/zstd/fse_predefined.go -@@ -7,6 +7,7 @@ package zstd - import ( - "fmt" - "math" -+ "sync" - ) - - var ( -@@ -69,85 +70,89 @@ func fillBase(dst []baseOffset, base uint32, bits ...uint8) { - } - } - --func init() { -- // Literals length codes -- tmp := make([]baseOffset, 36) -- for i := range tmp[:16] { -- tmp[i] = baseOffset{ -- baseLine: uint32(i), -- addBits: 0, -+var predef sync.Once -+ -+func initPredefined() { -+ predef.Do(func() { -+ // Literals length codes -+ tmp := make([]baseOffset, 36) -+ for i := range tmp[:16] { -+ tmp[i] = baseOffset{ -+ baseLine: uint32(i), -+ addBits: 0, -+ } - } -- } -- fillBase(tmp[16:], 16, 1, 1, 1, 1, 2, 2, 3, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16) -- symbolTableX[tableLiteralLengths] = tmp -- -- // Match length codes -- tmp = make([]baseOffset, 53) -- for i := range tmp[:32] { -- tmp[i] = baseOffset{ -- // The transformation adds the 3 length. -- baseLine: uint32(i) + 3, -- addBits: 0, -- } -- } -- fillBase(tmp[32:], 35, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16) -- symbolTableX[tableMatchLengths] = tmp -- -- // Offset codes -- tmp = make([]baseOffset, maxOffsetBits+1) -- tmp[1] = baseOffset{ -- baseLine: 1, -- addBits: 1, -- } -- fillBase(tmp[2:], 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30) -- symbolTableX[tableOffsets] = tmp -- -- // Fill predefined tables and transform them. -- // https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#default-distributions -- for i := range fsePredef[:] { -- f := &fsePredef[i] -- switch tableIndex(i) { -- case tableLiteralLengths: -- // https://github.com/facebook/zstd/blob/ededcfca57366461021c922720878c81a5854a0a/lib/decompress/zstd_decompress_block.c#L243 -- f.actualTableLog = 6 -- copy(f.norm[:], []int16{4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, -- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 1, 1, 1, 1, -- -1, -1, -1, -1}) -- f.symbolLen = 36 -- case tableOffsets: -- // https://github.com/facebook/zstd/blob/ededcfca57366461021c922720878c81a5854a0a/lib/decompress/zstd_decompress_block.c#L281 -- f.actualTableLog = 5 -- copy(f.norm[:], []int16{ -- 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, -- 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1}) -- f.symbolLen = 29 -- case tableMatchLengths: -- //https://github.com/facebook/zstd/blob/ededcfca57366461021c922720878c81a5854a0a/lib/decompress/zstd_decompress_block.c#L304 -- f.actualTableLog = 6 -- copy(f.norm[:], []int16{ -- 1, 4, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, -- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -- -1, -1, -1, -1, -1}) -- f.symbolLen = 53 -+ fillBase(tmp[16:], 16, 1, 1, 1, 1, 2, 2, 3, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16) -+ symbolTableX[tableLiteralLengths] = tmp -+ -+ // Match length codes -+ tmp = make([]baseOffset, 53) -+ for i := range tmp[:32] { -+ tmp[i] = baseOffset{ -+ // The transformation adds the 3 length. -+ baseLine: uint32(i) + 3, -+ addBits: 0, -+ } - } -- if err := f.buildDtable(); err != nil { -- panic(fmt.Errorf("building table %v: %v", tableIndex(i), err)) -+ fillBase(tmp[32:], 35, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16) -+ symbolTableX[tableMatchLengths] = tmp -+ -+ // Offset codes -+ tmp = make([]baseOffset, maxOffsetBits+1) -+ tmp[1] = baseOffset{ -+ baseLine: 1, -+ addBits: 1, - } -- if err := f.transform(symbolTableX[i]); err != nil { -- panic(fmt.Errorf("building table %v: %v", tableIndex(i), err)) -+ fillBase(tmp[2:], 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30) -+ symbolTableX[tableOffsets] = tmp -+ -+ // Fill predefined tables and transform them. -+ // https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#default-distributions -+ for i := range fsePredef[:] { -+ f := &fsePredef[i] -+ switch tableIndex(i) { -+ case tableLiteralLengths: -+ // https://github.com/facebook/zstd/blob/ededcfca57366461021c922720878c81a5854a0a/lib/decompress/zstd_decompress_block.c#L243 -+ f.actualTableLog = 6 -+ copy(f.norm[:], []int16{4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, -+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 1, 1, 1, 1, -+ -1, -1, -1, -1}) -+ f.symbolLen = 36 -+ case tableOffsets: -+ // https://github.com/facebook/zstd/blob/ededcfca57366461021c922720878c81a5854a0a/lib/decompress/zstd_decompress_block.c#L281 -+ f.actualTableLog = 5 -+ copy(f.norm[:], []int16{ -+ 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, -+ 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1}) -+ f.symbolLen = 29 -+ case tableMatchLengths: -+ //https://github.com/facebook/zstd/blob/ededcfca57366461021c922720878c81a5854a0a/lib/decompress/zstd_decompress_block.c#L304 -+ f.actualTableLog = 6 -+ copy(f.norm[:], []int16{ -+ 1, 4, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, -+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -+ -1, -1, -1, -1, -1}) -+ f.symbolLen = 53 -+ } -+ if err := f.buildDtable(); err != nil { -+ panic(fmt.Errorf("building table %v: %v", tableIndex(i), err)) -+ } -+ if err := f.transform(symbolTableX[i]); err != nil { -+ panic(fmt.Errorf("building table %v: %v", tableIndex(i), err)) -+ } -+ f.preDefined = true -+ -+ // Create encoder as well -+ enc := &fsePredefEnc[i] -+ copy(enc.norm[:], f.norm[:]) -+ enc.symbolLen = f.symbolLen -+ enc.actualTableLog = f.actualTableLog -+ if err := enc.buildCTable(); err != nil { -+ panic(fmt.Errorf("building encoding table %v: %v", tableIndex(i), err)) -+ } -+ enc.setBits(bitTables[i]) -+ enc.preDefined = true - } -- f.preDefined = true -- -- // Create encoder as well -- enc := &fsePredefEnc[i] -- copy(enc.norm[:], f.norm[:]) -- enc.symbolLen = f.symbolLen -- enc.actualTableLog = f.actualTableLog -- if err := enc.buildCTable(); err != nil { -- panic(fmt.Errorf("building encoding table %v: %v", tableIndex(i), err)) -- } -- enc.setBits(bitTables[i]) -- enc.preDefined = true -- } -+ }) - } -diff --git a/vendor/github.com/klauspost/compress/zstd/snappy.go b/vendor/github.com/klauspost/compress/zstd/snappy.go -index e9e518570..356956ba2 100644 ---- a/vendor/github.com/klauspost/compress/zstd/snappy.go -+++ b/vendor/github.com/klauspost/compress/zstd/snappy.go -@@ -80,6 +80,7 @@ type SnappyConverter struct { - // If any error is detected on the Snappy stream it is returned. - // The number of bytes written is returned. - func (r *SnappyConverter) Convert(in io.Reader, w io.Writer) (int64, error) { -+ initPredefined() - r.err = nil - r.r = in - if r.block == nil { -@@ -110,7 +111,7 @@ func (r *SnappyConverter) Convert(in io.Reader, w io.Writer) (int64, error) { - // Add empty last block - r.block.reset(nil) - r.block.last = true -- err := r.block.encodeLits() -+ err := r.block.encodeLits(false) - if err != nil { - return written, err - } -@@ -177,7 +178,7 @@ func (r *SnappyConverter) Convert(in io.Reader, w io.Writer) (int64, error) { - r.err = ErrSnappyCorrupt - return written, r.err - } -- err = r.block.encode() -+ err = r.block.encode(false) - switch err { - case errIncompressible: - r.block.popOffsets() -@@ -187,7 +188,7 @@ func (r *SnappyConverter) Convert(in io.Reader, w io.Writer) (int64, error) { - println("snappy.Decode:", err) - return written, err - } -- err = r.block.encodeLits() -+ err = r.block.encodeLits(false) - if err != nil { - return written, err - } -@@ -234,7 +235,7 @@ func (r *SnappyConverter) Convert(in io.Reader, w io.Writer) (int64, error) { - r.err = ErrSnappyCorrupt - return written, r.err - } -- err := r.block.encodeLits() -+ err := r.block.encodeLits(false) - if err != nil { - return written, err - } -diff --git a/vendor/github.com/klauspost/compress/zstd/zstd.go b/vendor/github.com/klauspost/compress/zstd/zstd.go -index b975954c1..57a8a2f5b 100644 ---- a/vendor/github.com/klauspost/compress/zstd/zstd.go -+++ b/vendor/github.com/klauspost/compress/zstd/zstd.go -@@ -11,6 +11,7 @@ import ( - - const debug = false - const debugSequences = false -+const debugMatches = false - - // force encoder to use predefined tables. - const forcePreDef = false -diff --git a/vendor/github.com/klauspost/cpuid/.travis.yml b/vendor/github.com/klauspost/cpuid/.travis.yml -deleted file mode 100644 -index 630192d59..000000000 ---- a/vendor/github.com/klauspost/cpuid/.travis.yml -+++ /dev/null -@@ -1,23 +0,0 @@ --language: go -- --sudo: false -- --os: -- - linux -- - osx --go: -- - 1.8.x -- - 1.9.x -- - 1.10.x -- - master -- --script: -- - go vet ./... -- - go test -v ./... -- - go test -race ./... -- - diff <(gofmt -d .) <("") -- --matrix: -- allow_failures: -- - go: 'master' -- fast_finish: true -diff --git a/vendor/github.com/klauspost/cpuid/CONTRIBUTING.txt b/vendor/github.com/klauspost/cpuid/CONTRIBUTING.txt -deleted file mode 100644 -index 2ef4714f7..000000000 ---- a/vendor/github.com/klauspost/cpuid/CONTRIBUTING.txt -+++ /dev/null -@@ -1,35 +0,0 @@ --Developer Certificate of Origin --Version 1.1 -- --Copyright (C) 2015- Klaus Post & Contributors. --Email: klauspost@gmail.com -- --Everyone is permitted to copy and distribute verbatim copies of this --license document, but changing it is not allowed. -- -- --Developer's Certificate of Origin 1.1 -- --By making a contribution to this project, I certify that: -- --(a) The contribution was created in whole or in part by me and I -- have the right to submit it under the open source license -- indicated in the file; or -- --(b) The contribution is based upon previous work that, to the best -- of my knowledge, is covered under an appropriate open source -- license and I have the right under that license to submit that -- work with modifications, whether created in whole or in part -- by me, under the same open source license (unless I am -- permitted to submit under a different license), as indicated -- in the file; or -- --(c) The contribution was provided directly to me by some other -- person who certified (a), (b) or (c) and I have not modified -- it. -- --(d) I understand and agree that this project and the contribution -- are public and that a record of the contribution (including all -- personal information I submit with it, including my sign-off) is -- maintained indefinitely and may be redistributed consistent with -- this project or the open source license(s) involved. -diff --git a/vendor/github.com/klauspost/cpuid/README.md b/vendor/github.com/klauspost/cpuid/README.md -deleted file mode 100644 -index a7fb41fbe..000000000 ---- a/vendor/github.com/klauspost/cpuid/README.md -+++ /dev/null -@@ -1,147 +0,0 @@ --# cpuid --Package cpuid provides information about the CPU running the current program. -- --CPU features are detected on startup, and kept for fast access through the life of the application. --Currently x86 / x64 (AMD64) is supported, and no external C (cgo) code is used, which should make the library very easy to use. -- --You can access the CPU information by accessing the shared CPU variable of the cpuid library. -- --Package home: https://github.com/klauspost/cpuid -- --[![GoDoc][1]][2] [![Build Status][3]][4] -- --[1]: https://godoc.org/github.com/klauspost/cpuid?status.svg --[2]: https://godoc.org/github.com/klauspost/cpuid --[3]: https://travis-ci.org/klauspost/cpuid.svg --[4]: https://travis-ci.org/klauspost/cpuid -- --# features --## CPU Instructions --* **CMOV** (i686 CMOV) --* **NX** (NX (No-Execute) bit) --* **AMD3DNOW** (AMD 3DNOW) --* **AMD3DNOWEXT** (AMD 3DNowExt) --* **MMX** (standard MMX) --* **MMXEXT** (SSE integer functions or AMD MMX ext) --* **SSE** (SSE functions) --* **SSE2** (P4 SSE functions) --* **SSE3** (Prescott SSE3 functions) --* **SSSE3** (Conroe SSSE3 functions) --* **SSE4** (Penryn SSE4.1 functions) --* **SSE4A** (AMD Barcelona microarchitecture SSE4a instructions) --* **SSE42** (Nehalem SSE4.2 functions) --* **AVX** (AVX functions) --* **AVX2** (AVX2 functions) --* **FMA3** (Intel FMA 3) --* **FMA4** (Bulldozer FMA4 functions) --* **XOP** (Bulldozer XOP functions) --* **F16C** (Half-precision floating-point conversion) --* **BMI1** (Bit Manipulation Instruction Set 1) --* **BMI2** (Bit Manipulation Instruction Set 2) --* **TBM** (AMD Trailing Bit Manipulation) --* **LZCNT** (LZCNT instruction) --* **POPCNT** (POPCNT instruction) --* **AESNI** (Advanced Encryption Standard New Instructions) --* **CLMUL** (Carry-less Multiplication) --* **HTT** (Hyperthreading (enabled)) --* **HLE** (Hardware Lock Elision) --* **RTM** (Restricted Transactional Memory) --* **RDRAND** (RDRAND instruction is available) --* **RDSEED** (RDSEED instruction is available) --* **ADX** (Intel ADX (Multi-Precision Add-Carry Instruction Extensions)) --* **SHA** (Intel SHA Extensions) --* **AVX512F** (AVX-512 Foundation) --* **AVX512DQ** (AVX-512 Doubleword and Quadword Instructions) --* **AVX512IFMA** (AVX-512 Integer Fused Multiply-Add Instructions) --* **AVX512PF** (AVX-512 Prefetch Instructions) --* **AVX512ER** (AVX-512 Exponential and Reciprocal Instructions) --* **AVX512CD** (AVX-512 Conflict Detection Instructions) --* **AVX512BW** (AVX-512 Byte and Word Instructions) --* **AVX512VL** (AVX-512 Vector Length Extensions) --* **AVX512VBMI** (AVX-512 Vector Bit Manipulation Instructions) --* **MPX** (Intel MPX (Memory Protection Extensions)) --* **ERMS** (Enhanced REP MOVSB/STOSB) --* **RDTSCP** (RDTSCP Instruction) --* **CX16** (CMPXCHG16B Instruction) --* **SGX** (Software Guard Extensions, with activation details) -- --## Performance --* **RDTSCP()** Returns current cycle count. Can be used for benchmarking. --* **SSE2SLOW** (SSE2 is supported, but usually not faster) --* **SSE3SLOW** (SSE3 is supported, but usually not faster) --* **ATOM** (Atom processor, some SSSE3 instructions are slower) --* **Cache line** (Probable size of a cache line). --* **L1, L2, L3 Cache size** on newer Intel/AMD CPUs. -- --## Cpu Vendor/VM --* **Intel** --* **AMD** --* **VIA** --* **Transmeta** --* **NSC** --* **KVM** (Kernel-based Virtual Machine) --* **MSVM** (Microsoft Hyper-V or Windows Virtual PC) --* **VMware** --* **XenHVM** --* **Bhyve** --* **Hygon** -- --# installing -- --```go get github.com/klauspost/cpuid``` -- --# example -- --```Go --package main -- --import ( -- "fmt" -- "github.com/klauspost/cpuid" --) -- --func main() { -- // Print basic CPU information: -- fmt.Println("Name:", cpuid.CPU.BrandName) -- fmt.Println("PhysicalCores:", cpuid.CPU.PhysicalCores) -- fmt.Println("ThreadsPerCore:", cpuid.CPU.ThreadsPerCore) -- fmt.Println("LogicalCores:", cpuid.CPU.LogicalCores) -- fmt.Println("Family", cpuid.CPU.Family, "Model:", cpuid.CPU.Model) -- fmt.Println("Features:", cpuid.CPU.Features) -- fmt.Println("Cacheline bytes:", cpuid.CPU.CacheLine) -- fmt.Println("L1 Data Cache:", cpuid.CPU.Cache.L1D, "bytes") -- fmt.Println("L1 Instruction Cache:", cpuid.CPU.Cache.L1D, "bytes") -- fmt.Println("L2 Cache:", cpuid.CPU.Cache.L2, "bytes") -- fmt.Println("L3 Cache:", cpuid.CPU.Cache.L3, "bytes") -- -- // Test if we have a specific feature: -- if cpuid.CPU.SSE() { -- fmt.Println("We have Streaming SIMD Extensions") -- } --} --``` -- --Sample output: --``` -->go run main.go --Name: Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz --PhysicalCores: 2 --ThreadsPerCore: 2 --LogicalCores: 4 --Family 6 Model: 42 --Features: CMOV,MMX,MMXEXT,SSE,SSE2,SSE3,SSSE3,SSE4.1,SSE4.2,AVX,AESNI,CLMUL --Cacheline bytes: 64 --We have Streaming SIMD Extensions --``` -- --# private package -- --In the "private" folder you can find an autogenerated version of the library you can include in your own packages. -- --For this purpose all exports are removed, and functions and constants are lowercased. -- --This is not a recommended way of using the library, but provided for convenience, if it is difficult for you to use external packages. -- --# license -- --This code is published under an MIT license. See LICENSE file for more information. -diff --git a/vendor/github.com/klauspost/cpuid/cpuid.go b/vendor/github.com/klauspost/cpuid/cpuid.go -deleted file mode 100644 -index db9591321..000000000 ---- a/vendor/github.com/klauspost/cpuid/cpuid.go -+++ /dev/null -@@ -1,1049 +0,0 @@ --// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. -- --// Package cpuid provides information about the CPU running the current program. --// --// CPU features are detected on startup, and kept for fast access through the life of the application. --// Currently x86 / x64 (AMD64) is supported. --// --// You can access the CPU information by accessing the shared CPU variable of the cpuid library. --// --// Package home: https://github.com/klauspost/cpuid --package cpuid -- --import "strings" -- --// Vendor is a representation of a CPU vendor. --type Vendor int -- --const ( -- Other Vendor = iota -- Intel -- AMD -- VIA -- Transmeta -- NSC -- KVM // Kernel-based Virtual Machine -- MSVM // Microsoft Hyper-V or Windows Virtual PC -- VMware -- XenHVM -- Bhyve -- Hygon --) -- --const ( -- CMOV = 1 << iota // i686 CMOV -- NX // NX (No-Execute) bit -- AMD3DNOW // AMD 3DNOW -- AMD3DNOWEXT // AMD 3DNowExt -- MMX // standard MMX -- MMXEXT // SSE integer functions or AMD MMX ext -- SSE // SSE functions -- SSE2 // P4 SSE functions -- SSE3 // Prescott SSE3 functions -- SSSE3 // Conroe SSSE3 functions -- SSE4 // Penryn SSE4.1 functions -- SSE4A // AMD Barcelona microarchitecture SSE4a instructions -- SSE42 // Nehalem SSE4.2 functions -- AVX // AVX functions -- AVX2 // AVX2 functions -- FMA3 // Intel FMA 3 -- FMA4 // Bulldozer FMA4 functions -- XOP // Bulldozer XOP functions -- F16C // Half-precision floating-point conversion -- BMI1 // Bit Manipulation Instruction Set 1 -- BMI2 // Bit Manipulation Instruction Set 2 -- TBM // AMD Trailing Bit Manipulation -- LZCNT // LZCNT instruction -- POPCNT // POPCNT instruction -- AESNI // Advanced Encryption Standard New Instructions -- CLMUL // Carry-less Multiplication -- HTT // Hyperthreading (enabled) -- HLE // Hardware Lock Elision -- RTM // Restricted Transactional Memory -- RDRAND // RDRAND instruction is available -- RDSEED // RDSEED instruction is available -- ADX // Intel ADX (Multi-Precision Add-Carry Instruction Extensions) -- SHA // Intel SHA Extensions -- AVX512F // AVX-512 Foundation -- AVX512DQ // AVX-512 Doubleword and Quadword Instructions -- AVX512IFMA // AVX-512 Integer Fused Multiply-Add Instructions -- AVX512PF // AVX-512 Prefetch Instructions -- AVX512ER // AVX-512 Exponential and Reciprocal Instructions -- AVX512CD // AVX-512 Conflict Detection Instructions -- AVX512BW // AVX-512 Byte and Word Instructions -- AVX512VL // AVX-512 Vector Length Extensions -- AVX512VBMI // AVX-512 Vector Bit Manipulation Instructions -- MPX // Intel MPX (Memory Protection Extensions) -- ERMS // Enhanced REP MOVSB/STOSB -- RDTSCP // RDTSCP Instruction -- CX16 // CMPXCHG16B Instruction -- SGX // Software Guard Extensions -- IBPB // Indirect Branch Restricted Speculation (IBRS) and Indirect Branch Predictor Barrier (IBPB) -- STIBP // Single Thread Indirect Branch Predictors -- -- // Performance indicators -- SSE2SLOW // SSE2 is supported, but usually not faster -- SSE3SLOW // SSE3 is supported, but usually not faster -- ATOM // Atom processor, some SSSE3 instructions are slower --) -- --var flagNames = map[Flags]string{ -- CMOV: "CMOV", // i686 CMOV -- NX: "NX", // NX (No-Execute) bit -- AMD3DNOW: "AMD3DNOW", // AMD 3DNOW -- AMD3DNOWEXT: "AMD3DNOWEXT", // AMD 3DNowExt -- MMX: "MMX", // Standard MMX -- MMXEXT: "MMXEXT", // SSE integer functions or AMD MMX ext -- SSE: "SSE", // SSE functions -- SSE2: "SSE2", // P4 SSE2 functions -- SSE3: "SSE3", // Prescott SSE3 functions -- SSSE3: "SSSE3", // Conroe SSSE3 functions -- SSE4: "SSE4.1", // Penryn SSE4.1 functions -- SSE4A: "SSE4A", // AMD Barcelona microarchitecture SSE4a instructions -- SSE42: "SSE4.2", // Nehalem SSE4.2 functions -- AVX: "AVX", // AVX functions -- AVX2: "AVX2", // AVX functions -- FMA3: "FMA3", // Intel FMA 3 -- FMA4: "FMA4", // Bulldozer FMA4 functions -- XOP: "XOP", // Bulldozer XOP functions -- F16C: "F16C", // Half-precision floating-point conversion -- BMI1: "BMI1", // Bit Manipulation Instruction Set 1 -- BMI2: "BMI2", // Bit Manipulation Instruction Set 2 -- TBM: "TBM", // AMD Trailing Bit Manipulation -- LZCNT: "LZCNT", // LZCNT instruction -- POPCNT: "POPCNT", // POPCNT instruction -- AESNI: "AESNI", // Advanced Encryption Standard New Instructions -- CLMUL: "CLMUL", // Carry-less Multiplication -- HTT: "HTT", // Hyperthreading (enabled) -- HLE: "HLE", // Hardware Lock Elision -- RTM: "RTM", // Restricted Transactional Memory -- RDRAND: "RDRAND", // RDRAND instruction is available -- RDSEED: "RDSEED", // RDSEED instruction is available -- ADX: "ADX", // Intel ADX (Multi-Precision Add-Carry Instruction Extensions) -- SHA: "SHA", // Intel SHA Extensions -- AVX512F: "AVX512F", // AVX-512 Foundation -- AVX512DQ: "AVX512DQ", // AVX-512 Doubleword and Quadword Instructions -- AVX512IFMA: "AVX512IFMA", // AVX-512 Integer Fused Multiply-Add Instructions -- AVX512PF: "AVX512PF", // AVX-512 Prefetch Instructions -- AVX512ER: "AVX512ER", // AVX-512 Exponential and Reciprocal Instructions -- AVX512CD: "AVX512CD", // AVX-512 Conflict Detection Instructions -- AVX512BW: "AVX512BW", // AVX-512 Byte and Word Instructions -- AVX512VL: "AVX512VL", // AVX-512 Vector Length Extensions -- AVX512VBMI: "AVX512VBMI", // AVX-512 Vector Bit Manipulation Instructions -- MPX: "MPX", // Intel MPX (Memory Protection Extensions) -- ERMS: "ERMS", // Enhanced REP MOVSB/STOSB -- RDTSCP: "RDTSCP", // RDTSCP Instruction -- CX16: "CX16", // CMPXCHG16B Instruction -- SGX: "SGX", // Software Guard Extensions -- IBPB: "IBPB", // Indirect Branch Restricted Speculation and Indirect Branch Predictor Barrier -- STIBP: "STIBP", // Single Thread Indirect Branch Predictors -- -- // Performance indicators -- SSE2SLOW: "SSE2SLOW", // SSE2 supported, but usually not faster -- SSE3SLOW: "SSE3SLOW", // SSE3 supported, but usually not faster -- ATOM: "ATOM", // Atom processor, some SSSE3 instructions are slower -- --} -- --// CPUInfo contains information about the detected system CPU. --type CPUInfo struct { -- BrandName string // Brand name reported by the CPU -- VendorID Vendor // Comparable CPU vendor ID -- Features Flags // Features of the CPU -- PhysicalCores int // Number of physical processor cores in your CPU. Will be 0 if undetectable. -- ThreadsPerCore int // Number of threads per physical core. Will be 1 if undetectable. -- LogicalCores int // Number of physical cores times threads that can run on each core through the use of hyperthreading. Will be 0 if undetectable. -- Family int // CPU family number -- Model int // CPU model number -- CacheLine int // Cache line size in bytes. Will be 0 if undetectable. -- Cache struct { -- L1I int // L1 Instruction Cache (per core or shared). Will be -1 if undetected -- L1D int // L1 Data Cache (per core or shared). Will be -1 if undetected -- L2 int // L2 Cache (per core or shared). Will be -1 if undetected -- L3 int // L3 Instruction Cache (per core or shared). Will be -1 if undetected -- } -- SGX SGXSupport -- maxFunc uint32 -- maxExFunc uint32 --} -- --var cpuid func(op uint32) (eax, ebx, ecx, edx uint32) --var cpuidex func(op, op2 uint32) (eax, ebx, ecx, edx uint32) --var xgetbv func(index uint32) (eax, edx uint32) --var rdtscpAsm func() (eax, ebx, ecx, edx uint32) -- --// CPU contains information about the CPU as detected on startup, --// or when Detect last was called. --// --// Use this as the primary entry point to you data, --// this way queries are --var CPU CPUInfo -- --func init() { -- initCPU() -- Detect() --} -- --// Detect will re-detect current CPU info. --// This will replace the content of the exported CPU variable. --// --// Unless you expect the CPU to change while you are running your program --// you should not need to call this function. --// If you call this, you must ensure that no other goroutine is accessing the --// exported CPU variable. --func Detect() { -- CPU.maxFunc = maxFunctionID() -- CPU.maxExFunc = maxExtendedFunction() -- CPU.BrandName = brandName() -- CPU.CacheLine = cacheLine() -- CPU.Family, CPU.Model = familyModel() -- CPU.Features = support() -- CPU.SGX = hasSGX(CPU.Features&SGX != 0) -- CPU.ThreadsPerCore = threadsPerCore() -- CPU.LogicalCores = logicalCores() -- CPU.PhysicalCores = physicalCores() -- CPU.VendorID = vendorID() -- CPU.cacheSize() --} -- --// Generated here: http://play.golang.org/p/BxFH2Gdc0G -- --// Cmov indicates support of CMOV instructions --func (c CPUInfo) Cmov() bool { -- return c.Features&CMOV != 0 --} -- --// Amd3dnow indicates support of AMD 3DNOW! instructions --func (c CPUInfo) Amd3dnow() bool { -- return c.Features&AMD3DNOW != 0 --} -- --// Amd3dnowExt indicates support of AMD 3DNOW! Extended instructions --func (c CPUInfo) Amd3dnowExt() bool { -- return c.Features&AMD3DNOWEXT != 0 --} -- --// MMX indicates support of MMX instructions --func (c CPUInfo) MMX() bool { -- return c.Features&MMX != 0 --} -- --// MMXExt indicates support of MMXEXT instructions --// (SSE integer functions or AMD MMX ext) --func (c CPUInfo) MMXExt() bool { -- return c.Features&MMXEXT != 0 --} -- --// SSE indicates support of SSE instructions --func (c CPUInfo) SSE() bool { -- return c.Features&SSE != 0 --} -- --// SSE2 indicates support of SSE 2 instructions --func (c CPUInfo) SSE2() bool { -- return c.Features&SSE2 != 0 --} -- --// SSE3 indicates support of SSE 3 instructions --func (c CPUInfo) SSE3() bool { -- return c.Features&SSE3 != 0 --} -- --// SSSE3 indicates support of SSSE 3 instructions --func (c CPUInfo) SSSE3() bool { -- return c.Features&SSSE3 != 0 --} -- --// SSE4 indicates support of SSE 4 (also called SSE 4.1) instructions --func (c CPUInfo) SSE4() bool { -- return c.Features&SSE4 != 0 --} -- --// SSE42 indicates support of SSE4.2 instructions --func (c CPUInfo) SSE42() bool { -- return c.Features&SSE42 != 0 --} -- --// AVX indicates support of AVX instructions --// and operating system support of AVX instructions --func (c CPUInfo) AVX() bool { -- return c.Features&AVX != 0 --} -- --// AVX2 indicates support of AVX2 instructions --func (c CPUInfo) AVX2() bool { -- return c.Features&AVX2 != 0 --} -- --// FMA3 indicates support of FMA3 instructions --func (c CPUInfo) FMA3() bool { -- return c.Features&FMA3 != 0 --} -- --// FMA4 indicates support of FMA4 instructions --func (c CPUInfo) FMA4() bool { -- return c.Features&FMA4 != 0 --} -- --// XOP indicates support of XOP instructions --func (c CPUInfo) XOP() bool { -- return c.Features&XOP != 0 --} -- --// F16C indicates support of F16C instructions --func (c CPUInfo) F16C() bool { -- return c.Features&F16C != 0 --} -- --// BMI1 indicates support of BMI1 instructions --func (c CPUInfo) BMI1() bool { -- return c.Features&BMI1 != 0 --} -- --// BMI2 indicates support of BMI2 instructions --func (c CPUInfo) BMI2() bool { -- return c.Features&BMI2 != 0 --} -- --// TBM indicates support of TBM instructions --// (AMD Trailing Bit Manipulation) --func (c CPUInfo) TBM() bool { -- return c.Features&TBM != 0 --} -- --// Lzcnt indicates support of LZCNT instruction --func (c CPUInfo) Lzcnt() bool { -- return c.Features&LZCNT != 0 --} -- --// Popcnt indicates support of POPCNT instruction --func (c CPUInfo) Popcnt() bool { -- return c.Features&POPCNT != 0 --} -- --// HTT indicates the processor has Hyperthreading enabled --func (c CPUInfo) HTT() bool { -- return c.Features&HTT != 0 --} -- --// SSE2Slow indicates that SSE2 may be slow on this processor --func (c CPUInfo) SSE2Slow() bool { -- return c.Features&SSE2SLOW != 0 --} -- --// SSE3Slow indicates that SSE3 may be slow on this processor --func (c CPUInfo) SSE3Slow() bool { -- return c.Features&SSE3SLOW != 0 --} -- --// AesNi indicates support of AES-NI instructions --// (Advanced Encryption Standard New Instructions) --func (c CPUInfo) AesNi() bool { -- return c.Features&AESNI != 0 --} -- --// Clmul indicates support of CLMUL instructions --// (Carry-less Multiplication) --func (c CPUInfo) Clmul() bool { -- return c.Features&CLMUL != 0 --} -- --// NX indicates support of NX (No-Execute) bit --func (c CPUInfo) NX() bool { -- return c.Features&NX != 0 --} -- --// SSE4A indicates support of AMD Barcelona microarchitecture SSE4a instructions --func (c CPUInfo) SSE4A() bool { -- return c.Features&SSE4A != 0 --} -- --// HLE indicates support of Hardware Lock Elision --func (c CPUInfo) HLE() bool { -- return c.Features&HLE != 0 --} -- --// RTM indicates support of Restricted Transactional Memory --func (c CPUInfo) RTM() bool { -- return c.Features&RTM != 0 --} -- --// Rdrand indicates support of RDRAND instruction is available --func (c CPUInfo) Rdrand() bool { -- return c.Features&RDRAND != 0 --} -- --// Rdseed indicates support of RDSEED instruction is available --func (c CPUInfo) Rdseed() bool { -- return c.Features&RDSEED != 0 --} -- --// ADX indicates support of Intel ADX (Multi-Precision Add-Carry Instruction Extensions) --func (c CPUInfo) ADX() bool { -- return c.Features&ADX != 0 --} -- --// SHA indicates support of Intel SHA Extensions --func (c CPUInfo) SHA() bool { -- return c.Features&SHA != 0 --} -- --// AVX512F indicates support of AVX-512 Foundation --func (c CPUInfo) AVX512F() bool { -- return c.Features&AVX512F != 0 --} -- --// AVX512DQ indicates support of AVX-512 Doubleword and Quadword Instructions --func (c CPUInfo) AVX512DQ() bool { -- return c.Features&AVX512DQ != 0 --} -- --// AVX512IFMA indicates support of AVX-512 Integer Fused Multiply-Add Instructions --func (c CPUInfo) AVX512IFMA() bool { -- return c.Features&AVX512IFMA != 0 --} -- --// AVX512PF indicates support of AVX-512 Prefetch Instructions --func (c CPUInfo) AVX512PF() bool { -- return c.Features&AVX512PF != 0 --} -- --// AVX512ER indicates support of AVX-512 Exponential and Reciprocal Instructions --func (c CPUInfo) AVX512ER() bool { -- return c.Features&AVX512ER != 0 --} -- --// AVX512CD indicates support of AVX-512 Conflict Detection Instructions --func (c CPUInfo) AVX512CD() bool { -- return c.Features&AVX512CD != 0 --} -- --// AVX512BW indicates support of AVX-512 Byte and Word Instructions --func (c CPUInfo) AVX512BW() bool { -- return c.Features&AVX512BW != 0 --} -- --// AVX512VL indicates support of AVX-512 Vector Length Extensions --func (c CPUInfo) AVX512VL() bool { -- return c.Features&AVX512VL != 0 --} -- --// AVX512VBMI indicates support of AVX-512 Vector Bit Manipulation Instructions --func (c CPUInfo) AVX512VBMI() bool { -- return c.Features&AVX512VBMI != 0 --} -- --// MPX indicates support of Intel MPX (Memory Protection Extensions) --func (c CPUInfo) MPX() bool { -- return c.Features&MPX != 0 --} -- --// ERMS indicates support of Enhanced REP MOVSB/STOSB --func (c CPUInfo) ERMS() bool { -- return c.Features&ERMS != 0 --} -- --// RDTSCP Instruction is available. --func (c CPUInfo) RDTSCP() bool { -- return c.Features&RDTSCP != 0 --} -- --// CX16 indicates if CMPXCHG16B instruction is available. --func (c CPUInfo) CX16() bool { -- return c.Features&CX16 != 0 --} -- --// TSX is split into HLE (Hardware Lock Elision) and RTM (Restricted Transactional Memory) detection. --// So TSX simply checks that. --func (c CPUInfo) TSX() bool { -- return c.Features&(HLE|RTM) == HLE|RTM --} -- --// Atom indicates an Atom processor --func (c CPUInfo) Atom() bool { -- return c.Features&ATOM != 0 --} -- --// Intel returns true if vendor is recognized as Intel --func (c CPUInfo) Intel() bool { -- return c.VendorID == Intel --} -- --// AMD returns true if vendor is recognized as AMD --func (c CPUInfo) AMD() bool { -- return c.VendorID == AMD --} -- --// Hygon returns true if vendor is recognized as Hygon --func (c CPUInfo) Hygon() bool { -- return c.VendorID == Hygon --} -- --// Transmeta returns true if vendor is recognized as Transmeta --func (c CPUInfo) Transmeta() bool { -- return c.VendorID == Transmeta --} -- --// NSC returns true if vendor is recognized as National Semiconductor --func (c CPUInfo) NSC() bool { -- return c.VendorID == NSC --} -- --// VIA returns true if vendor is recognized as VIA --func (c CPUInfo) VIA() bool { -- return c.VendorID == VIA --} -- --// RTCounter returns the 64-bit time-stamp counter --// Uses the RDTSCP instruction. The value 0 is returned --// if the CPU does not support the instruction. --func (c CPUInfo) RTCounter() uint64 { -- if !c.RDTSCP() { -- return 0 -- } -- a, _, _, d := rdtscpAsm() -- return uint64(a) | (uint64(d) << 32) --} -- --// Ia32TscAux returns the IA32_TSC_AUX part of the RDTSCP. --// This variable is OS dependent, but on Linux contains information --// about the current cpu/core the code is running on. --// If the RDTSCP instruction isn't supported on the CPU, the value 0 is returned. --func (c CPUInfo) Ia32TscAux() uint32 { -- if !c.RDTSCP() { -- return 0 -- } -- _, _, ecx, _ := rdtscpAsm() -- return ecx --} -- --// LogicalCPU will return the Logical CPU the code is currently executing on. --// This is likely to change when the OS re-schedules the running thread --// to another CPU. --// If the current core cannot be detected, -1 will be returned. --func (c CPUInfo) LogicalCPU() int { -- if c.maxFunc < 1 { -- return -1 -- } -- _, ebx, _, _ := cpuid(1) -- return int(ebx >> 24) --} -- --// VM Will return true if the cpu id indicates we are in --// a virtual machine. This is only a hint, and will very likely --// have many false negatives. --func (c CPUInfo) VM() bool { -- switch c.VendorID { -- case MSVM, KVM, VMware, XenHVM, Bhyve: -- return true -- } -- return false --} -- --// Flags contains detected cpu features and caracteristics --type Flags uint64 -- --// String returns a string representation of the detected --// CPU features. --func (f Flags) String() string { -- return strings.Join(f.Strings(), ",") --} -- --// Strings returns and array of the detected features. --func (f Flags) Strings() []string { -- s := support() -- r := make([]string, 0, 20) -- for i := uint(0); i < 64; i++ { -- key := Flags(1 << i) -- val := flagNames[key] -- if s&key != 0 { -- r = append(r, val) -- } -- } -- return r --} -- --func maxExtendedFunction() uint32 { -- eax, _, _, _ := cpuid(0x80000000) -- return eax --} -- --func maxFunctionID() uint32 { -- a, _, _, _ := cpuid(0) -- return a --} -- --func brandName() string { -- if maxExtendedFunction() >= 0x80000004 { -- v := make([]uint32, 0, 48) -- for i := uint32(0); i < 3; i++ { -- a, b, c, d := cpuid(0x80000002 + i) -- v = append(v, a, b, c, d) -- } -- return strings.Trim(string(valAsString(v...)), " ") -- } -- return "unknown" --} -- --func threadsPerCore() int { -- mfi := maxFunctionID() -- if mfi < 0x4 || vendorID() != Intel { -- return 1 -- } -- -- if mfi < 0xb { -- _, b, _, d := cpuid(1) -- if (d & (1 << 28)) != 0 { -- // v will contain logical core count -- v := (b >> 16) & 255 -- if v > 1 { -- a4, _, _, _ := cpuid(4) -- // physical cores -- v2 := (a4 >> 26) + 1 -- if v2 > 0 { -- return int(v) / int(v2) -- } -- } -- } -- return 1 -- } -- _, b, _, _ := cpuidex(0xb, 0) -- if b&0xffff == 0 { -- return 1 -- } -- return int(b & 0xffff) --} -- --func logicalCores() int { -- mfi := maxFunctionID() -- switch vendorID() { -- case Intel: -- // Use this on old Intel processors -- if mfi < 0xb { -- if mfi < 1 { -- return 0 -- } -- // CPUID.1:EBX[23:16] represents the maximum number of addressable IDs (initial APIC ID) -- // that can be assigned to logical processors in a physical package. -- // The value may not be the same as the number of logical processors that are present in the hardware of a physical package. -- _, ebx, _, _ := cpuid(1) -- logical := (ebx >> 16) & 0xff -- return int(logical) -- } -- _, b, _, _ := cpuidex(0xb, 1) -- return int(b & 0xffff) -- case AMD, Hygon: -- _, b, _, _ := cpuid(1) -- return int((b >> 16) & 0xff) -- default: -- return 0 -- } --} -- --func familyModel() (int, int) { -- if maxFunctionID() < 0x1 { -- return 0, 0 -- } -- eax, _, _, _ := cpuid(1) -- family := ((eax >> 8) & 0xf) + ((eax >> 20) & 0xff) -- model := ((eax >> 4) & 0xf) + ((eax >> 12) & 0xf0) -- return int(family), int(model) --} -- --func physicalCores() int { -- switch vendorID() { -- case Intel: -- return logicalCores() / threadsPerCore() -- case AMD, Hygon: -- if maxExtendedFunction() >= 0x80000008 { -- _, _, c, _ := cpuid(0x80000008) -- return int(c&0xff) + 1 -- } -- } -- return 0 --} -- --// Except from http://en.wikipedia.org/wiki/CPUID#EAX.3D0:_Get_vendor_ID --var vendorMapping = map[string]Vendor{ -- "AMDisbetter!": AMD, -- "AuthenticAMD": AMD, -- "CentaurHauls": VIA, -- "GenuineIntel": Intel, -- "TransmetaCPU": Transmeta, -- "GenuineTMx86": Transmeta, -- "Geode by NSC": NSC, -- "VIA VIA VIA ": VIA, -- "KVMKVMKVMKVM": KVM, -- "Microsoft Hv": MSVM, -- "VMwareVMware": VMware, -- "XenVMMXenVMM": XenHVM, -- "bhyve bhyve ": Bhyve, -- "HygonGenuine": Hygon, --} -- --func vendorID() Vendor { -- _, b, c, d := cpuid(0) -- v := valAsString(b, d, c) -- vend, ok := vendorMapping[string(v)] -- if !ok { -- return Other -- } -- return vend --} -- --func cacheLine() int { -- if maxFunctionID() < 0x1 { -- return 0 -- } -- -- _, ebx, _, _ := cpuid(1) -- cache := (ebx & 0xff00) >> 5 // cflush size -- if cache == 0 && maxExtendedFunction() >= 0x80000006 { -- _, _, ecx, _ := cpuid(0x80000006) -- cache = ecx & 0xff // cacheline size -- } -- // TODO: Read from Cache and TLB Information -- return int(cache) --} -- --func (c *CPUInfo) cacheSize() { -- c.Cache.L1D = -1 -- c.Cache.L1I = -1 -- c.Cache.L2 = -1 -- c.Cache.L3 = -1 -- vendor := vendorID() -- switch vendor { -- case Intel: -- if maxFunctionID() < 4 { -- return -- } -- for i := uint32(0); ; i++ { -- eax, ebx, ecx, _ := cpuidex(4, i) -- cacheType := eax & 15 -- if cacheType == 0 { -- break -- } -- cacheLevel := (eax >> 5) & 7 -- coherency := int(ebx&0xfff) + 1 -- partitions := int((ebx>>12)&0x3ff) + 1 -- associativity := int((ebx>>22)&0x3ff) + 1 -- sets := int(ecx) + 1 -- size := associativity * partitions * coherency * sets -- switch cacheLevel { -- case 1: -- if cacheType == 1 { -- // 1 = Data Cache -- c.Cache.L1D = size -- } else if cacheType == 2 { -- // 2 = Instruction Cache -- c.Cache.L1I = size -- } else { -- if c.Cache.L1D < 0 { -- c.Cache.L1I = size -- } -- if c.Cache.L1I < 0 { -- c.Cache.L1I = size -- } -- } -- case 2: -- c.Cache.L2 = size -- case 3: -- c.Cache.L3 = size -- } -- } -- case AMD, Hygon: -- // Untested. -- if maxExtendedFunction() < 0x80000005 { -- return -- } -- _, _, ecx, edx := cpuid(0x80000005) -- c.Cache.L1D = int(((ecx >> 24) & 0xFF) * 1024) -- c.Cache.L1I = int(((edx >> 24) & 0xFF) * 1024) -- -- if maxExtendedFunction() < 0x80000006 { -- return -- } -- _, _, ecx, _ = cpuid(0x80000006) -- c.Cache.L2 = int(((ecx >> 16) & 0xFFFF) * 1024) -- } -- -- return --} -- --type SGXSupport struct { -- Available bool -- SGX1Supported bool -- SGX2Supported bool -- MaxEnclaveSizeNot64 int64 -- MaxEnclaveSize64 int64 --} -- --func hasSGX(available bool) (rval SGXSupport) { -- rval.Available = available -- -- if !available { -- return -- } -- -- a, _, _, d := cpuidex(0x12, 0) -- rval.SGX1Supported = a&0x01 != 0 -- rval.SGX2Supported = a&0x02 != 0 -- rval.MaxEnclaveSizeNot64 = 1 << (d & 0xFF) // pow 2 -- rval.MaxEnclaveSize64 = 1 << ((d >> 8) & 0xFF) // pow 2 -- -- return --} -- --func support() Flags { -- mfi := maxFunctionID() -- vend := vendorID() -- if mfi < 0x1 { -- return 0 -- } -- rval := uint64(0) -- _, _, c, d := cpuid(1) -- if (d & (1 << 15)) != 0 { -- rval |= CMOV -- } -- if (d & (1 << 23)) != 0 { -- rval |= MMX -- } -- if (d & (1 << 25)) != 0 { -- rval |= MMXEXT -- } -- if (d & (1 << 25)) != 0 { -- rval |= SSE -- } -- if (d & (1 << 26)) != 0 { -- rval |= SSE2 -- } -- if (c & 1) != 0 { -- rval |= SSE3 -- } -- if (c & 0x00000200) != 0 { -- rval |= SSSE3 -- } -- if (c & 0x00080000) != 0 { -- rval |= SSE4 -- } -- if (c & 0x00100000) != 0 { -- rval |= SSE42 -- } -- if (c & (1 << 25)) != 0 { -- rval |= AESNI -- } -- if (c & (1 << 1)) != 0 { -- rval |= CLMUL -- } -- if c&(1<<23) != 0 { -- rval |= POPCNT -- } -- if c&(1<<30) != 0 { -- rval |= RDRAND -- } -- if c&(1<<29) != 0 { -- rval |= F16C -- } -- if c&(1<<13) != 0 { -- rval |= CX16 -- } -- if vend == Intel && (d&(1<<28)) != 0 && mfi >= 4 { -- if threadsPerCore() > 1 { -- rval |= HTT -- } -- } -- -- // Check XGETBV, OXSAVE and AVX bits -- if c&(1<<26) != 0 && c&(1<<27) != 0 && c&(1<<28) != 0 { -- // Check for OS support -- eax, _ := xgetbv(0) -- if (eax & 0x6) == 0x6 { -- rval |= AVX -- if (c & 0x00001000) != 0 { -- rval |= FMA3 -- } -- } -- } -- -- // Check AVX2, AVX2 requires OS support, but BMI1/2 don't. -- if mfi >= 7 { -- _, ebx, ecx, edx := cpuidex(7, 0) -- if (rval&AVX) != 0 && (ebx&0x00000020) != 0 { -- rval |= AVX2 -- } -- if (ebx & 0x00000008) != 0 { -- rval |= BMI1 -- if (ebx & 0x00000100) != 0 { -- rval |= BMI2 -- } -- } -- if ebx&(1<<2) != 0 { -- rval |= SGX -- } -- if ebx&(1<<4) != 0 { -- rval |= HLE -- } -- if ebx&(1<<9) != 0 { -- rval |= ERMS -- } -- if ebx&(1<<11) != 0 { -- rval |= RTM -- } -- if ebx&(1<<14) != 0 { -- rval |= MPX -- } -- if ebx&(1<<18) != 0 { -- rval |= RDSEED -- } -- if ebx&(1<<19) != 0 { -- rval |= ADX -- } -- if ebx&(1<<29) != 0 { -- rval |= SHA -- } -- if edx&(1<<26) != 0 { -- rval |= IBPB -- } -- if edx&(1<<27) != 0 { -- rval |= STIBP -- } -- -- // Only detect AVX-512 features if XGETBV is supported -- if c&((1<<26)|(1<<27)) == (1<<26)|(1<<27) { -- // Check for OS support -- eax, _ := xgetbv(0) -- -- // Verify that XCR0[7:5] = ‘111b’ (OPMASK state, upper 256-bit of ZMM0-ZMM15 and -- // ZMM16-ZMM31 state are enabled by OS) -- /// and that XCR0[2:1] = ‘11b’ (XMM state and YMM state are enabled by OS). -- if (eax>>5)&7 == 7 && (eax>>1)&3 == 3 { -- if ebx&(1<<16) != 0 { -- rval |= AVX512F -- } -- if ebx&(1<<17) != 0 { -- rval |= AVX512DQ -- } -- if ebx&(1<<21) != 0 { -- rval |= AVX512IFMA -- } -- if ebx&(1<<26) != 0 { -- rval |= AVX512PF -- } -- if ebx&(1<<27) != 0 { -- rval |= AVX512ER -- } -- if ebx&(1<<28) != 0 { -- rval |= AVX512CD -- } -- if ebx&(1<<30) != 0 { -- rval |= AVX512BW -- } -- if ebx&(1<<31) != 0 { -- rval |= AVX512VL -- } -- // ecx -- if ecx&(1<<1) != 0 { -- rval |= AVX512VBMI -- } -- } -- } -- } -- -- if maxExtendedFunction() >= 0x80000001 { -- _, _, c, d := cpuid(0x80000001) -- if (c & (1 << 5)) != 0 { -- rval |= LZCNT -- rval |= POPCNT -- } -- if (d & (1 << 31)) != 0 { -- rval |= AMD3DNOW -- } -- if (d & (1 << 30)) != 0 { -- rval |= AMD3DNOWEXT -- } -- if (d & (1 << 23)) != 0 { -- rval |= MMX -- } -- if (d & (1 << 22)) != 0 { -- rval |= MMXEXT -- } -- if (c & (1 << 6)) != 0 { -- rval |= SSE4A -- } -- if d&(1<<20) != 0 { -- rval |= NX -- } -- if d&(1<<27) != 0 { -- rval |= RDTSCP -- } -- -- /* Allow for selectively disabling SSE2 functions on AMD processors -- with SSE2 support but not SSE4a. This includes Athlon64, some -- Opteron, and some Sempron processors. MMX, SSE, or 3DNow! are faster -- than SSE2 often enough to utilize this special-case flag. -- AV_CPU_FLAG_SSE2 and AV_CPU_FLAG_SSE2SLOW are both set in this case -- so that SSE2 is used unless explicitly disabled by checking -- AV_CPU_FLAG_SSE2SLOW. */ -- if vendorID() != Intel && -- rval&SSE2 != 0 && (c&0x00000040) == 0 { -- rval |= SSE2SLOW -- } -- -- /* XOP and FMA4 use the AVX instruction coding scheme, so they can't be -- * used unless the OS has AVX support. */ -- if (rval & AVX) != 0 { -- if (c & 0x00000800) != 0 { -- rval |= XOP -- } -- if (c & 0x00010000) != 0 { -- rval |= FMA4 -- } -- } -- -- if vendorID() == Intel { -- family, model := familyModel() -- if family == 6 && (model == 9 || model == 13 || model == 14) { -- /* 6/9 (pentium-m "banias"), 6/13 (pentium-m "dothan"), and -- * 6/14 (core1 "yonah") theoretically support sse2, but it's -- * usually slower than mmx. */ -- if (rval & SSE2) != 0 { -- rval |= SSE2SLOW -- } -- if (rval & SSE3) != 0 { -- rval |= SSE3SLOW -- } -- } -- /* The Atom processor has SSSE3 support, which is useful in many cases, -- * but sometimes the SSSE3 version is slower than the SSE2 equivalent -- * on the Atom, but is generally faster on other processors supporting -- * SSSE3. This flag allows for selectively disabling certain SSSE3 -- * functions on the Atom. */ -- if family == 6 && model == 28 { -- rval |= ATOM -- } -- } -- } -- return Flags(rval) --} -- --func valAsString(values ...uint32) []byte { -- r := make([]byte, 4*len(values)) -- for i, v := range values { -- dst := r[i*4:] -- dst[0] = byte(v & 0xff) -- dst[1] = byte((v >> 8) & 0xff) -- dst[2] = byte((v >> 16) & 0xff) -- dst[3] = byte((v >> 24) & 0xff) -- switch { -- case dst[0] == 0: -- return r[:i*4] -- case dst[1] == 0: -- return r[:i*4+1] -- case dst[2] == 0: -- return r[:i*4+2] -- case dst[3] == 0: -- return r[:i*4+3] -- } -- } -- return r --} -diff --git a/vendor/github.com/klauspost/cpuid/cpuid_386.s b/vendor/github.com/klauspost/cpuid/cpuid_386.s -deleted file mode 100644 -index 4d731711e..000000000 ---- a/vendor/github.com/klauspost/cpuid/cpuid_386.s -+++ /dev/null -@@ -1,42 +0,0 @@ --// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. -- --// +build 386,!gccgo -- --// func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) --TEXT ·asmCpuid(SB), 7, $0 -- XORL CX, CX -- MOVL op+0(FP), AX -- CPUID -- MOVL AX, eax+4(FP) -- MOVL BX, ebx+8(FP) -- MOVL CX, ecx+12(FP) -- MOVL DX, edx+16(FP) -- RET -- --// func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) --TEXT ·asmCpuidex(SB), 7, $0 -- MOVL op+0(FP), AX -- MOVL op2+4(FP), CX -- CPUID -- MOVL AX, eax+8(FP) -- MOVL BX, ebx+12(FP) -- MOVL CX, ecx+16(FP) -- MOVL DX, edx+20(FP) -- RET -- --// func xgetbv(index uint32) (eax, edx uint32) --TEXT ·asmXgetbv(SB), 7, $0 -- MOVL index+0(FP), CX -- BYTE $0x0f; BYTE $0x01; BYTE $0xd0 // XGETBV -- MOVL AX, eax+4(FP) -- MOVL DX, edx+8(FP) -- RET -- --// func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) --TEXT ·asmRdtscpAsm(SB), 7, $0 -- BYTE $0x0F; BYTE $0x01; BYTE $0xF9 // RDTSCP -- MOVL AX, eax+0(FP) -- MOVL BX, ebx+4(FP) -- MOVL CX, ecx+8(FP) -- MOVL DX, edx+12(FP) -- RET -diff --git a/vendor/github.com/klauspost/cpuid/cpuid_amd64.s b/vendor/github.com/klauspost/cpuid/cpuid_amd64.s -deleted file mode 100644 -index 3c1d60e42..000000000 ---- a/vendor/github.com/klauspost/cpuid/cpuid_amd64.s -+++ /dev/null -@@ -1,42 +0,0 @@ --// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. -- --//+build amd64,!gccgo -- --// func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) --TEXT ·asmCpuid(SB), 7, $0 -- XORQ CX, CX -- MOVL op+0(FP), AX -- CPUID -- MOVL AX, eax+8(FP) -- MOVL BX, ebx+12(FP) -- MOVL CX, ecx+16(FP) -- MOVL DX, edx+20(FP) -- RET -- --// func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) --TEXT ·asmCpuidex(SB), 7, $0 -- MOVL op+0(FP), AX -- MOVL op2+4(FP), CX -- CPUID -- MOVL AX, eax+8(FP) -- MOVL BX, ebx+12(FP) -- MOVL CX, ecx+16(FP) -- MOVL DX, edx+20(FP) -- RET -- --// func asmXgetbv(index uint32) (eax, edx uint32) --TEXT ·asmXgetbv(SB), 7, $0 -- MOVL index+0(FP), CX -- BYTE $0x0f; BYTE $0x01; BYTE $0xd0 // XGETBV -- MOVL AX, eax+8(FP) -- MOVL DX, edx+12(FP) -- RET -- --// func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) --TEXT ·asmRdtscpAsm(SB), 7, $0 -- BYTE $0x0F; BYTE $0x01; BYTE $0xF9 // RDTSCP -- MOVL AX, eax+0(FP) -- MOVL BX, ebx+4(FP) -- MOVL CX, ecx+8(FP) -- MOVL DX, edx+12(FP) -- RET -diff --git a/vendor/github.com/klauspost/cpuid/detect_intel.go b/vendor/github.com/klauspost/cpuid/detect_intel.go -deleted file mode 100644 -index a5f04dd6d..000000000 ---- a/vendor/github.com/klauspost/cpuid/detect_intel.go -+++ /dev/null -@@ -1,17 +0,0 @@ --// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. -- --// +build 386,!gccgo amd64,!gccgo -- --package cpuid -- --func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) --func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) --func asmXgetbv(index uint32) (eax, edx uint32) --func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) -- --func initCPU() { -- cpuid = asmCpuid -- cpuidex = asmCpuidex -- xgetbv = asmXgetbv -- rdtscpAsm = asmRdtscpAsm --} -diff --git a/vendor/github.com/klauspost/cpuid/detect_ref.go b/vendor/github.com/klauspost/cpuid/detect_ref.go -deleted file mode 100644 -index 909c5d9a7..000000000 ---- a/vendor/github.com/klauspost/cpuid/detect_ref.go -+++ /dev/null -@@ -1,23 +0,0 @@ --// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. -- --// +build !amd64,!386 gccgo -- --package cpuid -- --func initCPU() { -- cpuid = func(op uint32) (eax, ebx, ecx, edx uint32) { -- return 0, 0, 0, 0 -- } -- -- cpuidex = func(op, op2 uint32) (eax, ebx, ecx, edx uint32) { -- return 0, 0, 0, 0 -- } -- -- xgetbv = func(index uint32) (eax, edx uint32) { -- return 0, 0 -- } -- -- rdtscpAsm = func() (eax, ebx, ecx, edx uint32) { -- return 0, 0, 0, 0 -- } --} -diff --git a/vendor/github.com/klauspost/cpuid/generate.go b/vendor/github.com/klauspost/cpuid/generate.go -deleted file mode 100644 -index 90e7a98d2..000000000 ---- a/vendor/github.com/klauspost/cpuid/generate.go -+++ /dev/null -@@ -1,4 +0,0 @@ --package cpuid -- --//go:generate go run private-gen.go --//go:generate gofmt -w ./private -diff --git a/vendor/github.com/mattn/go-isatty/.travis.yml b/vendor/github.com/mattn/go-isatty/.travis.yml -deleted file mode 100644 -index 5597e026d..000000000 ---- a/vendor/github.com/mattn/go-isatty/.travis.yml -+++ /dev/null -@@ -1,13 +0,0 @@ --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 -deleted file mode 100644 -index 65dc692b6..000000000 ---- a/vendor/github.com/mattn/go-isatty/LICENSE -+++ /dev/null -@@ -1,9 +0,0 @@ --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 -deleted file mode 100644 -index 1e69004bb..000000000 ---- a/vendor/github.com/mattn/go-isatty/README.md -+++ /dev/null -@@ -1,50 +0,0 @@ --# 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 -deleted file mode 100644 -index 17d4f90eb..000000000 ---- a/vendor/github.com/mattn/go-isatty/doc.go -+++ /dev/null -@@ -1,2 +0,0 @@ --// Package isatty implements interface to isatty --package isatty -diff --git a/vendor/github.com/mattn/go-isatty/go.mod b/vendor/github.com/mattn/go-isatty/go.mod -deleted file mode 100644 -index f310320c3..000000000 ---- a/vendor/github.com/mattn/go-isatty/go.mod -+++ /dev/null -@@ -1,3 +0,0 @@ --module github.com/mattn/go-isatty -- --require golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 -diff --git a/vendor/github.com/mattn/go-isatty/go.sum b/vendor/github.com/mattn/go-isatty/go.sum -deleted file mode 100644 -index 426c8973c..000000000 ---- a/vendor/github.com/mattn/go-isatty/go.sum -+++ /dev/null -@@ -1,2 +0,0 @@ --golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 h1:DH4skfRX4EBpamg7iV4ZlCpblAHI6s6TDM39bFZumv8= --golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -diff --git a/vendor/github.com/mattn/go-isatty/isatty_android.go b/vendor/github.com/mattn/go-isatty/isatty_android.go -deleted file mode 100644 -index d3567cb5b..000000000 ---- a/vendor/github.com/mattn/go-isatty/isatty_android.go -+++ /dev/null -@@ -1,23 +0,0 @@ --// +build android -- --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 --} -- --// 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 -deleted file mode 100644 -index 07e93039d..000000000 ---- a/vendor/github.com/mattn/go-isatty/isatty_bsd.go -+++ /dev/null -@@ -1,24 +0,0 @@ --// +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 --} -- --// 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_others.go b/vendor/github.com/mattn/go-isatty/isatty_others.go -deleted file mode 100644 -index ff714a376..000000000 ---- a/vendor/github.com/mattn/go-isatty/isatty_others.go -+++ /dev/null -@@ -1,15 +0,0 @@ --// +build appengine js nacl -- --package isatty -- --// IsTerminal returns true if the file descriptor is terminal which --// is always false on js and 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_solaris.go b/vendor/github.com/mattn/go-isatty/isatty_solaris.go -deleted file mode 100644 -index bdd5c79a0..000000000 ---- a/vendor/github.com/mattn/go-isatty/isatty_solaris.go -+++ /dev/null -@@ -1,22 +0,0 @@ --// +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 --} -- --// 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_tcgets.go b/vendor/github.com/mattn/go-isatty/isatty_tcgets.go -deleted file mode 100644 -index 453b025d0..000000000 ---- a/vendor/github.com/mattn/go-isatty/isatty_tcgets.go -+++ /dev/null -@@ -1,19 +0,0 @@ --// +build linux aix --// +build !appengine --// +build !android -- --package isatty -- --import "golang.org/x/sys/unix" -- --// IsTerminal return true if the file descriptor is terminal. --func IsTerminal(fd uintptr) bool { -- _, err := unix.IoctlGetTermios(int(fd), unix.TCGETS) -- return err == nil --} -- --// 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_windows.go b/vendor/github.com/mattn/go-isatty/isatty_windows.go -deleted file mode 100644 -index af51cbcaa..000000000 ---- a/vendor/github.com/mattn/go-isatty/isatty_windows.go -+++ /dev/null -@@ -1,94 +0,0 @@ --// +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/mattn/go-shellwords/.travis.yml b/vendor/github.com/mattn/go-shellwords/.travis.yml -index 6294d337f..b2904bffc 100644 ---- a/vendor/github.com/mattn/go-shellwords/.travis.yml -+++ b/vendor/github.com/mattn/go-shellwords/.travis.yml -@@ -11,4 +11,3 @@ script: - - after_success: - - bash <(curl -s https://codecov.io/bash) -- -diff --git a/vendor/github.com/mattn/go-shellwords/README.md b/vendor/github.com/mattn/go-shellwords/README.md -index 9e1e65045..e91902f40 100644 ---- a/vendor/github.com/mattn/go-shellwords/README.md -+++ b/vendor/github.com/mattn/go-shellwords/README.md -@@ -2,6 +2,7 @@ - - [![codecov](https://codecov.io/gh/mattn/go-shellwords/branch/master/graph/badge.svg)](https://codecov.io/gh/mattn/go-shellwords) - [![Build Status](https://travis-ci.org/mattn/go-shellwords.svg?branch=master)](https://travis-ci.org/mattn/go-shellwords) -+[![GoDoc](https://godoc.org/github.com/mattn/go-shellwords?status.svg)](http://godoc.org/github.com/mattn/go-shellwords) - - Parse line as shell words. - -diff --git a/vendor/github.com/mattn/go-shellwords/go.mod b/vendor/github.com/mattn/go-shellwords/go.mod -index 8d96dbd5f..927c8c7d6 100644 ---- a/vendor/github.com/mattn/go-shellwords/go.mod -+++ b/vendor/github.com/mattn/go-shellwords/go.mod -@@ -1 +1,3 @@ - module github.com/mattn/go-shellwords -+ -+go 1.13 -diff --git a/vendor/github.com/mattn/go-shellwords/shellwords.go b/vendor/github.com/mattn/go-shellwords/shellwords.go -index 2dca7f136..ef080861a 100644 ---- a/vendor/github.com/mattn/go-shellwords/shellwords.go -+++ b/vendor/github.com/mattn/go-shellwords/shellwords.go -@@ -88,9 +88,17 @@ loop: - backtick += string(r) - } else if got { - if p.ParseEnv { -- buf = replaceEnv(p.Getenv, buf) -+ parser := &Parser{ParseEnv: false, ParseBacktick: false, Position: 0, Dir: p.Dir} -+ strs, err := parser.Parse(replaceEnv(p.Getenv, buf)) -+ if err != nil { -+ return nil, err -+ } -+ for _, str := range strs { -+ args = append(args, str) -+ } -+ } else { -+ args = append(args, buf) - } -- args = append(args, buf) - buf = "" - got = false - } -@@ -144,11 +152,17 @@ loop: - } - case '"': - if !singleQuoted && !dollarQuote { -+ if doubleQuoted { -+ got = true -+ } - doubleQuoted = !doubleQuoted - continue - } - case '\'': - if !doubleQuoted && !dollarQuote { -+ if singleQuoted { -+ got = true -+ } - singleQuoted = !singleQuoted - continue - } -@@ -174,9 +188,17 @@ loop: - - if got { - if p.ParseEnv { -- buf = replaceEnv(p.Getenv, buf) -+ parser := &Parser{ParseEnv: false, ParseBacktick: false, Position: 0, Dir: p.Dir} -+ strs, err := parser.Parse(replaceEnv(p.Getenv, buf)) -+ if err != nil { -+ return nil, err -+ } -+ for _, str := range strs { -+ args = append(args, str) -+ } -+ } else { -+ args = append(args, buf) - } -- args = append(args, buf) - } - - if escaped || singleQuoted || doubleQuoted || backQuote || dollarQuote { -diff --git a/vendor/github.com/mtrmac/gpgme/.appveyor.yml b/vendor/github.com/mtrmac/gpgme/.appveyor.yml -new file mode 100644 -index 000000000..2fdc09ab5 ---- /dev/null -+++ b/vendor/github.com/mtrmac/gpgme/.appveyor.yml -@@ -0,0 +1,40 @@ -+--- -+version: 0.{build} -+platform: x86 -+branches: -+ only: -+ - master -+ -+clone_folder: c:\gopath\src\github.com\proglottis\gpgme -+ -+environment: -+ GOPATH: c:\gopath -+ GOROOT: C:\go-x86 -+ CGO_LDFLAGS: -LC:\gpg\lib -+ CGO_CFLAGS: -IC:\gpg\include -+ GPG_DIR: C:\gpg -+ -+install: -+ - nuget install 7ZipCLI -ExcludeVersion -+ - set PATH=%appveyor_build_folder%\7ZipCLI\tools;%PATH% -+ - appveyor DownloadFile https://www.gnupg.org/ftp/gcrypt/binary/gnupg-w32-2.1.20_20170403.exe -FileName gnupg-w32-2.1.20_20170403.exe -+ - 7z x -o%GPG_DIR% gnupg-w32-2.1.20_20170403.exe -+ - copy "%GPG_DIR%\lib\libgpg-error.imp" "%GPG_DIR%\lib\libgpg-error.a" -+ - copy "%GPG_DIR%\lib\libassuan.imp" "%GPG_DIR%\lib\libassuan.a" -+ - copy "%GPG_DIR%\lib\libgpgme.imp" "%GPG_DIR%\lib\libgpgme.a" -+ - set PATH=%GOPATH%\bin;%GOROOT%\bin;%GPG_DIR%\bin;C:\MinGW\bin;%PATH% -+ - C:\cygwin\bin\sed -i 's/"GPG_AGENT_INFO"/"GPG_AGENT_INFO="/;s/C.unsetenv(v)/C.putenv(v)/' %APPVEYOR_BUILD_FOLDER%\gpgme.go -+ -+test_script: -+ - go test -v github.com/proglottis/gpgme -+ -+ -+build_script: -+ - go build -o example_decrypt.exe -i %APPVEYOR_BUILD_FOLDER%\examples\decrypt.go -+ - go build -o example_encrypt.exe -i %APPVEYOR_BUILD_FOLDER%\examples\encrypt.go -+ -+artifacts: -+ - path: example_decrypt.exe -+ name: decrypt example binary -+ - path: example_encrypt.exe -+ name: encrypt example binary -\ No newline at end of file -diff --git a/vendor/github.com/mtrmac/gpgme/.travis.yml b/vendor/github.com/mtrmac/gpgme/.travis.yml -new file mode 100644 -index 000000000..619e33721 ---- /dev/null -+++ b/vendor/github.com/mtrmac/gpgme/.travis.yml -@@ -0,0 +1,32 @@ -+--- -+language: go -+os: -+ - linux -+ - osx -+ - windows -+dist: xenial -+sudo: false -+ -+go: -+ - 1.11 -+ - 1.12 -+ - 1.13 -+ -+addons: -+ apt: -+ packages: -+ - libgpgme11-dev -+ homebrew: -+ packages: -+ - gnupg -+ - gnupg@1.4 -+ - gpgme -+ update: true -+ -+matrix: -+ allow_failures: -+ - os: windows -+ -+before_install: -+ - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then choco install msys2; fi -+ - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then choco install gpg4win; fi -diff --git a/vendor/github.com/mtrmac/gpgme/data.go b/vendor/github.com/mtrmac/gpgme/data.go -index eebc97263..eee32c032 100644 ---- a/vendor/github.com/mtrmac/gpgme/data.go -+++ b/vendor/github.com/mtrmac/gpgme/data.go -@@ -50,25 +50,25 @@ func gogpgme_writefunc(handle, buffer unsafe.Pointer, size C.size_t) C.ssize_t { - } - - //export gogpgme_seekfunc --func gogpgme_seekfunc(handle unsafe.Pointer, offset C.off_t, whence C.int) C.off_t { -+func gogpgme_seekfunc(handle unsafe.Pointer, offset C.gpgme_off_t, whence C.int) C.gpgme_off_t { - d := callbackLookup(uintptr(handle)).(*Data) - n, err := d.s.Seek(int64(offset), int(whence)) - if err != nil { - C.gpgme_err_set_errno(C.EIO) - return -1 - } -- return C.off_t(n) -+ return C.gpgme_off_t(n) - } - - // The Data buffer used to communicate with GPGME - type Data struct { -- dh C.gpgme_data_t -+ dh C.gpgme_data_t // WARNING: Call runtime.KeepAlive(d) after ANY passing of d.dh to C - buf []byte - cbs C.struct_gpgme_data_cbs - r io.Reader - w io.Writer - s io.Seeker -- cbc uintptr -+ cbc uintptr // WARNING: Call runtime.KeepAlive(d) after ANY use of d.cbc in C (typically via d.dh) - } - - func newData() *Data { -@@ -154,12 +154,14 @@ func (d *Data) Close() error { - callbackDelete(d.cbc) - } - _, err := C.gpgme_data_release(d.dh) -+ runtime.KeepAlive(d) - d.dh = nil - return err - } - - func (d *Data) Write(p []byte) (int, error) { - n, err := C.gpgme_data_write(d.dh, unsafe.Pointer(&p[0]), C.size_t(len(p))) -+ runtime.KeepAlive(d) - if err != nil { - return 0, err - } -@@ -171,6 +173,7 @@ func (d *Data) Write(p []byte) (int, error) { - - func (d *Data) Read(p []byte) (int, error) { - n, err := C.gpgme_data_read(d.dh, unsafe.Pointer(&p[0]), C.size_t(len(p))) -+ runtime.KeepAlive(d) - if err != nil { - return 0, err - } -@@ -181,11 +184,14 @@ func (d *Data) Read(p []byte) (int, error) { - } - - func (d *Data) Seek(offset int64, whence int) (int64, error) { -- n, err := C.gpgme_data_seek(d.dh, C.off_t(offset), C.int(whence)) -+ n, err := C.gogpgme_data_seek(d.dh, C.gpgme_off_t(offset), C.int(whence)) -+ runtime.KeepAlive(d) - return int64(n), err - } - - // Name returns the associated filename if any - func (d *Data) Name() string { -- return C.GoString(C.gpgme_data_get_file_name(d.dh)) -+ res := C.GoString(C.gpgme_data_get_file_name(d.dh)) -+ runtime.KeepAlive(d) -+ return res - } -diff --git a/vendor/github.com/mtrmac/gpgme/go.mod b/vendor/github.com/mtrmac/gpgme/go.mod -new file mode 100644 -index 000000000..3dd09c9fb ---- /dev/null -+++ b/vendor/github.com/mtrmac/gpgme/go.mod -@@ -0,0 +1,3 @@ -+module github.com/mtrmac/gpgme -+ -+go 1.11 -diff --git a/vendor/github.com/mtrmac/gpgme/go_gpgme.c b/vendor/github.com/mtrmac/gpgme/go_gpgme.c -index b887574e0..00da3ab30 100644 ---- a/vendor/github.com/mtrmac/gpgme/go_gpgme.c -+++ b/vendor/github.com/mtrmac/gpgme/go_gpgme.c -@@ -8,6 +8,28 @@ void gogpgme_set_passphrase_cb(gpgme_ctx_t ctx, gpgme_passphrase_cb_t cb, uintpt - gpgme_set_passphrase_cb(ctx, cb, (void *)handle); - } - -+gpgme_off_t gogpgme_data_seek(gpgme_data_t dh, gpgme_off_t offset, int whence) { -+ return gpgme_data_seek(dh, offset, whence); -+} -+ -+gpgme_error_t gogpgme_op_assuan_transact_ext( -+ gpgme_ctx_t ctx, -+ char* cmd, -+ uintptr_t data_h, -+ uintptr_t inquiry_h, -+ uintptr_t status_h, -+ gpgme_error_t *operr -+ ){ -+ return gpgme_op_assuan_transact_ext( -+ ctx, -+ cmd, -+ (gpgme_assuan_data_cb_t) gogpgme_assuan_data_callback, (void *)data_h, -+ (gpgme_assuan_inquire_cb_t) gogpgme_assuan_inquiry_callback, (void *)inquiry_h, -+ (gpgme_assuan_status_cb_t) gogpgme_assuan_status_callback, (void *)status_h, -+ operr -+ ); -+} -+ - unsigned int key_revoked(gpgme_key_t k) { - return k->revoked; - } -diff --git a/vendor/github.com/mtrmac/gpgme/go_gpgme.h b/vendor/github.com/mtrmac/gpgme/go_gpgme.h -index a3678b127..d4826ab36 100644 ---- a/vendor/github.com/mtrmac/gpgme/go_gpgme.h -+++ b/vendor/github.com/mtrmac/gpgme/go_gpgme.h -@@ -6,12 +6,24 @@ - - #include - -+/* GPGME_VERSION_NUMBER was introduced in 1.4.0 */ -+#if !defined(GPGME_VERSION_NUMBER) || GPGME_VERSION_NUMBER < 0x010402 -+typedef off_t gpgme_off_t; /* Introduced in 1.4.2 */ -+#endif -+ - extern ssize_t gogpgme_readfunc(void *handle, void *buffer, size_t size); - extern ssize_t gogpgme_writefunc(void *handle, void *buffer, size_t size); - extern off_t gogpgme_seekfunc(void *handle, off_t offset, int whence); - extern gpgme_error_t gogpgme_passfunc(void *hook, char *uid_hint, char *passphrase_info, int prev_was_bad, int fd); - extern gpgme_error_t gogpgme_data_new_from_cbs(gpgme_data_t *dh, gpgme_data_cbs_t cbs, uintptr_t handle); - extern void gogpgme_set_passphrase_cb(gpgme_ctx_t ctx, gpgme_passphrase_cb_t cb, uintptr_t handle); -+extern gpgme_off_t gogpgme_data_seek(gpgme_data_t dh, gpgme_off_t offset, int whence); -+ -+extern gpgme_error_t gogpgme_op_assuan_transact_ext(gpgme_ctx_t ctx, char *cmd, uintptr_t data_h, uintptr_t inquiry_h , uintptr_t status_h, gpgme_error_t *operr); -+ -+extern gpgme_error_t gogpgme_assuan_data_callback(void *opaque, void* data, size_t datalen ); -+extern gpgme_error_t gogpgme_assuan_inquiry_callback(void *opaque, char* name, char* args); -+extern gpgme_error_t gogpgme_assuan_status_callback(void *opaque, char* status, char* args); - - extern unsigned int key_revoked(gpgme_key_t k); - extern unsigned int key_expired(gpgme_key_t k); -diff --git a/vendor/github.com/mtrmac/gpgme/gpgme.go b/vendor/github.com/mtrmac/gpgme/gpgme.go -index 20aad737c..c19b9aebc 100644 ---- a/vendor/github.com/mtrmac/gpgme/gpgme.go -+++ b/vendor/github.com/mtrmac/gpgme/gpgme.go -@@ -7,7 +7,6 @@ package gpgme - // #include - // #include "go_gpgme.h" - import "C" -- - import ( - "fmt" - "io" -@@ -48,9 +47,8 @@ const ( - ProtocolAssuan Protocol = C.GPGME_PROTOCOL_ASSUAN - ProtocolG13 Protocol = C.GPGME_PROTOCOL_G13 - ProtocolUIServer Protocol = C.GPGME_PROTOCOL_UISERVER -- // ProtocolSpawn Protocol = C.GPGME_PROTOCOL_SPAWN // Unavailable in 1.4.3 -- ProtocolDefault Protocol = C.GPGME_PROTOCOL_DEFAULT -- ProtocolUnknown Protocol = C.GPGME_PROTOCOL_UNKNOWN -+ ProtocolDefault Protocol = C.GPGME_PROTOCOL_DEFAULT -+ ProtocolUnknown Protocol = C.GPGME_PROTOCOL_UNKNOWN - ) - - type PinEntryMode int -@@ -70,7 +68,6 @@ const ( - EncryptNoEncryptTo EncryptFlag = C.GPGME_ENCRYPT_NO_ENCRYPT_TO - EncryptPrepare EncryptFlag = C.GPGME_ENCRYPT_PREPARE - EncryptExceptSign EncryptFlag = C.GPGME_ENCRYPT_EXPECT_SIGN -- // EncryptNoCompress EncryptFlag = C.GPGME_ENCRYPT_NO_COMPRESS // Unavailable in 1.4.3 - ) - - type HashAlgo int -@@ -84,7 +81,6 @@ const ( - KeyListModeExtern KeyListMode = C.GPGME_KEYLIST_MODE_EXTERN - KeyListModeSigs KeyListMode = C.GPGME_KEYLIST_MODE_SIGS - KeyListModeSigNotations KeyListMode = C.GPGME_KEYLIST_MODE_SIG_NOTATIONS -- // KeyListModeWithSecret KeyListMode = C.GPGME_KEYLIST_MODE_WITH_SECRET // Unavailable in 1.4.3 - KeyListModeEphemeral KeyListMode = C.GPGME_KEYLIST_MODE_EPHEMERAL - KeyListModeModeValidate KeyListMode = C.GPGME_KEYLIST_MODE_VALIDATE - ) -@@ -168,39 +164,60 @@ func EngineCheckVersion(p Protocol) error { - } - - type EngineInfo struct { -- info C.gpgme_engine_info_t -+ next *EngineInfo -+ protocol Protocol -+ fileName string -+ homeDir string -+ version string -+ requiredVersion string - } - --func (e *EngineInfo) Next() *EngineInfo { -- if e.info.next == nil { -- return nil -+func copyEngineInfo(info C.gpgme_engine_info_t) *EngineInfo { -+ res := &EngineInfo{ -+ next: nil, -+ protocol: Protocol(info.protocol), -+ fileName: C.GoString(info.file_name), -+ homeDir: C.GoString(info.home_dir), -+ version: C.GoString(info.version), -+ requiredVersion: C.GoString(info.req_version), -+ } -+ if info.next != nil { -+ res.next = copyEngineInfo(info.next) - } -- return &EngineInfo{info: e.info.next} -+ return res -+} -+ -+func (e *EngineInfo) Next() *EngineInfo { -+ return e.next - } - - func (e *EngineInfo) Protocol() Protocol { -- return Protocol(e.info.protocol) -+ return e.protocol - } - - func (e *EngineInfo) FileName() string { -- return C.GoString(e.info.file_name) -+ return e.fileName - } - - func (e *EngineInfo) Version() string { -- return C.GoString(e.info.version) -+ return e.version - } - - func (e *EngineInfo) RequiredVersion() string { -- return C.GoString(e.info.req_version) -+ return e.requiredVersion - } - - func (e *EngineInfo) HomeDir() string { -- return C.GoString(e.info.home_dir) -+ return e.homeDir - } - - func GetEngineInfo() (*EngineInfo, error) { -- info := &EngineInfo{} -- return info, handleError(C.gpgme_get_engine_info(&info.info)) -+ var cInfo C.gpgme_engine_info_t -+ err := handleError(C.gpgme_get_engine_info(&cInfo)) -+ if err != nil { -+ return nil, err -+ } -+ return copyEngineInfo(cInfo), nil // It is up to the caller not to invalidate cInfo concurrently until this is done. - } - - func SetEngineInfo(proto Protocol, fileName, homeDir string) error { -@@ -261,9 +278,9 @@ type Context struct { - KeyError error - - callback Callback -- cbc uintptr -+ cbc uintptr // WARNING: Call runtime.KeepAlive(c) after ANY use of c.cbc in C (typically via c.ctx) - -- ctx C.gpgme_ctx_t -+ ctx C.gpgme_ctx_t // WARNING: Call runtime.KeepAlive(c) after ANY passing of c.ctx to C - } - - func New() (*Context, error) { -@@ -281,49 +298,68 @@ func (c *Context) Release() { - callbackDelete(c.cbc) - } - C.gpgme_release(c.ctx) -+ runtime.KeepAlive(c) - c.ctx = nil - } - - func (c *Context) SetArmor(yes bool) { - C.gpgme_set_armor(c.ctx, cbool(yes)) -+ runtime.KeepAlive(c) - } - - func (c *Context) Armor() bool { -- return C.gpgme_get_armor(c.ctx) != 0 -+ res := C.gpgme_get_armor(c.ctx) != 0 -+ runtime.KeepAlive(c) -+ return res - } - - func (c *Context) SetTextMode(yes bool) { - C.gpgme_set_textmode(c.ctx, cbool(yes)) -+ runtime.KeepAlive(c) - } - - func (c *Context) TextMode() bool { -- return C.gpgme_get_textmode(c.ctx) != 0 -+ res := C.gpgme_get_textmode(c.ctx) != 0 -+ runtime.KeepAlive(c) -+ return res - } - - func (c *Context) SetProtocol(p Protocol) error { -- return handleError(C.gpgme_set_protocol(c.ctx, C.gpgme_protocol_t(p))) -+ err := handleError(C.gpgme_set_protocol(c.ctx, C.gpgme_protocol_t(p))) -+ runtime.KeepAlive(c) -+ return err - } - - func (c *Context) Protocol() Protocol { -- return Protocol(C.gpgme_get_protocol(c.ctx)) -+ res := Protocol(C.gpgme_get_protocol(c.ctx)) -+ runtime.KeepAlive(c) -+ return res - } - - func (c *Context) SetKeyListMode(m KeyListMode) error { -- return handleError(C.gpgme_set_keylist_mode(c.ctx, C.gpgme_keylist_mode_t(m))) -+ err := handleError(C.gpgme_set_keylist_mode(c.ctx, C.gpgme_keylist_mode_t(m))) -+ runtime.KeepAlive(c) -+ return err - } - - func (c *Context) KeyListMode() KeyListMode { -- return KeyListMode(C.gpgme_get_keylist_mode(c.ctx)) -+ res := KeyListMode(C.gpgme_get_keylist_mode(c.ctx)) -+ runtime.KeepAlive(c) -+ return res - } - - // Unavailable in 1.3.2: - // func (c *Context) SetPinEntryMode(m PinEntryMode) error { --// return handleError(C.gpgme_set_pinentry_mode(c.ctx, C.gpgme_pinentry_mode_t(m))) -+// err := handleError(C.gpgme_set_pinentry_mode(c.ctx, C.gpgme_pinentry_mode_t(m))) -+// runtime.KeepAlive(c) -+// return err - // } - - // Unavailable in 1.3.2: - // func (c *Context) PinEntryMode() PinEntryMode { --// return PinEntryMode(C.gpgme_get_pinentry_mode(c.ctx)) -+// res := PinEntryMode(C.gpgme_get_pinentry_mode(c.ctx)) -+// runtime.KeepAlive(c) -+// return res - // } - - func (c *Context) SetCallback(callback Callback) error { -@@ -340,11 +376,17 @@ func (c *Context) SetCallback(callback Callback) error { - c.cbc = 0 - _, err = C.gogpgme_set_passphrase_cb(c.ctx, nil, 0) - } -+ runtime.KeepAlive(c) - return err - } - - func (c *Context) EngineInfo() *EngineInfo { -- return &EngineInfo{info: C.gpgme_ctx_get_engine_info(c.ctx)} -+ cInfo := C.gpgme_ctx_get_engine_info(c.ctx) -+ runtime.KeepAlive(c) -+ // NOTE: c must be live as long as we are accessing cInfo. -+ res := copyEngineInfo(cInfo) -+ runtime.KeepAlive(c) // for accesses to cInfo -+ return res - } - - func (c *Context) SetEngineInfo(proto Protocol, fileName, homeDir string) error { -@@ -357,19 +399,23 @@ func (c *Context) SetEngineInfo(proto Protocol, fileName, homeDir string) error - chome = C.CString(homeDir) - defer C.free(unsafe.Pointer(chome)) - } -- return handleError(C.gpgme_ctx_set_engine_info(c.ctx, C.gpgme_protocol_t(proto), cfn, chome)) -+ err := handleError(C.gpgme_ctx_set_engine_info(c.ctx, C.gpgme_protocol_t(proto), cfn, chome)) -+ runtime.KeepAlive(c) -+ return err - } - - func (c *Context) KeyListStart(pattern string, secretOnly bool) error { - cpattern := C.CString(pattern) - defer C.free(unsafe.Pointer(cpattern)) -- err := C.gpgme_op_keylist_start(c.ctx, cpattern, cbool(secretOnly)) -- return handleError(err) -+ err := handleError(C.gpgme_op_keylist_start(c.ctx, cpattern, cbool(secretOnly))) -+ runtime.KeepAlive(c) -+ return err - } - - func (c *Context) KeyListNext() bool { - c.Key = newKey() - err := handleError(C.gpgme_op_keylist_next(c.ctx, &c.Key.k)) -+ runtime.KeepAlive(c) // implies runtime.KeepAlive(c.Key) - if err != nil { - if e, ok := err.(Error); ok && e.Code() == ErrorEOF { - c.KeyError = nil -@@ -383,7 +429,9 @@ func (c *Context) KeyListNext() bool { - } - - func (c *Context) KeyListEnd() error { -- return handleError(C.gpgme_op_keylist_end(c.ctx)) -+ err := handleError(C.gpgme_op_keylist_end(c.ctx)) -+ runtime.KeepAlive(c) -+ return err - } - - func (c *Context) GetKey(fingerprint string, secret bool) (*Key, error) { -@@ -391,7 +439,11 @@ func (c *Context) GetKey(fingerprint string, secret bool) (*Key, error) { - cfpr := C.CString(fingerprint) - defer C.free(unsafe.Pointer(cfpr)) - err := handleError(C.gpgme_get_key(c.ctx, cfpr, &key.k, cbool(secret))) -- if e, ok := err.(Error); key.k == nil && ok && e.Code() == ErrorEOF { -+ runtime.KeepAlive(c) -+ runtime.KeepAlive(key) -+ keyKIsNil := key.k == nil -+ runtime.KeepAlive(key) -+ if e, ok := err.(Error); keyKIsNil && ok && e.Code() == ErrorEOF { - return nil, fmt.Errorf("key %q not found", fingerprint) - } - if err != nil { -@@ -401,11 +453,19 @@ func (c *Context) GetKey(fingerprint string, secret bool) (*Key, error) { - } - - func (c *Context) Decrypt(ciphertext, plaintext *Data) error { -- return handleError(C.gpgme_op_decrypt(c.ctx, ciphertext.dh, plaintext.dh)) -+ err := handleError(C.gpgme_op_decrypt(c.ctx, ciphertext.dh, plaintext.dh)) -+ runtime.KeepAlive(c) -+ runtime.KeepAlive(ciphertext) -+ runtime.KeepAlive(plaintext) -+ return err - } - - func (c *Context) DecryptVerify(ciphertext, plaintext *Data) error { -- return handleError(C.gpgme_op_decrypt_verify(c.ctx, ciphertext.dh, plaintext.dh)) -+ err := handleError(C.gpgme_op_decrypt_verify(c.ctx, ciphertext.dh, plaintext.dh)) -+ runtime.KeepAlive(c) -+ runtime.KeepAlive(ciphertext) -+ runtime.KeepAlive(plaintext) -+ return err - } - - type Signature struct { -@@ -432,10 +492,20 @@ func (c *Context) Verify(sig, signedText, plain *Data) (string, []Signature, err - plainPtr = plain.dh - } - err := handleError(C.gpgme_op_verify(c.ctx, sig.dh, signedTextPtr, plainPtr)) -+ runtime.KeepAlive(c) -+ runtime.KeepAlive(sig) -+ if signedText != nil { -+ runtime.KeepAlive(signedText) -+ } -+ if plain != nil { -+ runtime.KeepAlive(plain) -+ } - if err != nil { - return "", nil, err - } - res := C.gpgme_op_verify_result(c.ctx) -+ runtime.KeepAlive(c) -+ // NOTE: c must be live as long as we are accessing res. - sigs := []Signature{} - for s := res.signatures; s != nil; s = s.next { - sig := Signature{ -@@ -455,7 +525,9 @@ func (c *Context) Verify(sig, signedText, plain *Data) (string, []Signature, err - } - sigs = append(sigs, sig) - } -- return C.GoString(res.file_name), sigs, nil -+ fileName := C.GoString(res.file_name) -+ runtime.KeepAlive(c) // for all accesses to res above -+ return fileName, sigs, nil - } - - func (c *Context) Encrypt(recipients []*Key, flags EncryptFlag, plaintext, ciphertext *Data) error { -@@ -467,18 +539,116 @@ func (c *Context) Encrypt(recipients []*Key, flags EncryptFlag, plaintext, ciphe - *ptr = recipients[i].k - } - err := C.gpgme_op_encrypt(c.ctx, (*C.gpgme_key_t)(recp), C.gpgme_encrypt_flags_t(flags), plaintext.dh, ciphertext.dh) -+ runtime.KeepAlive(c) -+ runtime.KeepAlive(recipients) -+ runtime.KeepAlive(plaintext) -+ runtime.KeepAlive(ciphertext) - return handleError(err) - } - - func (c *Context) Sign(signers []*Key, plain, sig *Data, mode SigMode) error { - C.gpgme_signers_clear(c.ctx) -+ runtime.KeepAlive(c) - for _, k := range signers { -- if err := handleError(C.gpgme_signers_add(c.ctx, k.k)); err != nil { -+ err := handleError(C.gpgme_signers_add(c.ctx, k.k)) -+ runtime.KeepAlive(c) -+ runtime.KeepAlive(k) -+ if err != nil { - C.gpgme_signers_clear(c.ctx) -+ runtime.KeepAlive(c) - return err - } - } -- return handleError(C.gpgme_op_sign(c.ctx, plain.dh, sig.dh, C.gpgme_sig_mode_t(mode))) -+ err := handleError(C.gpgme_op_sign(c.ctx, plain.dh, sig.dh, C.gpgme_sig_mode_t(mode))) -+ runtime.KeepAlive(c) -+ runtime.KeepAlive(plain) -+ runtime.KeepAlive(sig) -+ return err -+} -+ -+type AssuanDataCallback func(data []byte) error -+type AssuanInquireCallback func(name, args string) error -+type AssuanStatusCallback func(status, args string) error -+ -+// AssuanSend sends a raw Assuan command to gpg-agent -+func (c *Context) AssuanSend( -+ cmd string, -+ data AssuanDataCallback, -+ inquiry AssuanInquireCallback, -+ status AssuanStatusCallback, -+) error { -+ var operr C.gpgme_error_t -+ -+ dataPtr := callbackAdd(&data) -+ inquiryPtr := callbackAdd(&inquiry) -+ statusPtr := callbackAdd(&status) -+ cmdCStr := C.CString(cmd) -+ defer C.free(unsafe.Pointer(cmdCStr)) -+ err := C.gogpgme_op_assuan_transact_ext( -+ c.ctx, -+ cmdCStr, -+ C.uintptr_t(dataPtr), -+ C.uintptr_t(inquiryPtr), -+ C.uintptr_t(statusPtr), -+ &operr, -+ ) -+ runtime.KeepAlive(c) -+ -+ if handleError(operr) != nil { -+ return handleError(operr) -+ } -+ return handleError(err) -+} -+ -+//export gogpgme_assuan_data_callback -+func gogpgme_assuan_data_callback(handle unsafe.Pointer, data unsafe.Pointer, datalen C.size_t) C.gpgme_error_t { -+ c := callbackLookup(uintptr(handle)).(*AssuanDataCallback) -+ if *c == nil { -+ return 0 -+ } -+ (*c)(C.GoBytes(data, C.int(datalen))) -+ return 0 -+} -+ -+//export gogpgme_assuan_inquiry_callback -+func gogpgme_assuan_inquiry_callback(handle unsafe.Pointer, cName *C.char, cArgs *C.char) C.gpgme_error_t { -+ name := C.GoString(cName) -+ args := C.GoString(cArgs) -+ c := callbackLookup(uintptr(handle)).(*AssuanInquireCallback) -+ if *c == nil { -+ return 0 -+ } -+ (*c)(name, args) -+ return 0 -+} -+ -+//export gogpgme_assuan_status_callback -+func gogpgme_assuan_status_callback(handle unsafe.Pointer, cStatus *C.char, cArgs *C.char) C.gpgme_error_t { -+ status := C.GoString(cStatus) -+ args := C.GoString(cArgs) -+ c := callbackLookup(uintptr(handle)).(*AssuanStatusCallback) -+ if *c == nil { -+ return 0 -+ } -+ (*c)(status, args) -+ return 0 -+} -+ -+// ExportModeFlags defines how keys are exported from Export -+type ExportModeFlags uint -+ -+const ( -+ ExportModeExtern ExportModeFlags = C.GPGME_EXPORT_MODE_EXTERN -+ ExportModeMinimal ExportModeFlags = C.GPGME_EXPORT_MODE_MINIMAL -+) -+ -+func (c *Context) Export(pattern string, mode ExportModeFlags, data *Data) error { -+ pat := C.CString(pattern) -+ defer C.free(unsafe.Pointer(pat)) -+ err := handleError(C.gpgme_op_export(c.ctx, pat, C.gpgme_export_mode_t(mode), data.dh)) -+ runtime.KeepAlive(c) -+ runtime.KeepAlive(data) -+ return err - } - - // ImportStatusFlags describes the type of ImportStatus.Status. The C API in gpgme.h simply uses "unsigned". -@@ -517,10 +687,14 @@ type ImportResult struct { - - func (c *Context) Import(keyData *Data) (*ImportResult, error) { - err := handleError(C.gpgme_op_import(c.ctx, keyData.dh)) -+ runtime.KeepAlive(c) -+ runtime.KeepAlive(keyData) - if err != nil { - return nil, err - } - res := C.gpgme_op_import_result(c.ctx) -+ runtime.KeepAlive(c) -+ // NOTE: c must be live as long as we are accessing res. - imports := []ImportStatus{} - for s := res.imports; s != nil; s = s.next { - imports = append(imports, ImportStatus{ -@@ -529,7 +703,7 @@ func (c *Context) Import(keyData *Data) (*ImportResult, error) { - Status: ImportStatusFlags(s.status), - }) - } -- return &ImportResult{ -+ importResult := &ImportResult{ - Considered: int(res.considered), - NoUserID: int(res.no_user_id), - Imported: int(res.imported), -@@ -544,11 +718,13 @@ func (c *Context) Import(keyData *Data) (*ImportResult, error) { - SecretUnchanged: int(res.secret_unchanged), - NotImported: int(res.not_imported), - Imports: imports, -- }, nil -+ } -+ runtime.KeepAlive(c) // for all accesses to res above -+ return importResult, nil - } - - type Key struct { -- k C.gpgme_key_t -+ k C.gpgme_key_t // WARNING: Call Runtime.KeepAlive(k) after ANY passing of k.k to C - } - - func newKey() *Key { -@@ -559,85 +735,122 @@ func newKey() *Key { - - func (k *Key) Release() { - C.gpgme_key_release(k.k) -+ runtime.KeepAlive(k) - k.k = nil - } - - func (k *Key) Revoked() bool { -- return C.key_revoked(k.k) != 0 -+ res := C.key_revoked(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) Expired() bool { -- return C.key_expired(k.k) != 0 -+ res := C.key_expired(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) Disabled() bool { -- return C.key_disabled(k.k) != 0 -+ res := C.key_disabled(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) Invalid() bool { -- return C.key_invalid(k.k) != 0 -+ res := C.key_invalid(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) CanEncrypt() bool { -- return C.key_can_encrypt(k.k) != 0 -+ res := C.key_can_encrypt(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) CanSign() bool { -- return C.key_can_sign(k.k) != 0 -+ res := C.key_can_sign(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) CanCertify() bool { -- return C.key_can_certify(k.k) != 0 -+ res := C.key_can_certify(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) Secret() bool { -- return C.key_secret(k.k) != 0 -+ res := C.key_secret(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) CanAuthenticate() bool { -- return C.key_can_authenticate(k.k) != 0 -+ res := C.key_can_authenticate(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) IsQualified() bool { -- return C.key_is_qualified(k.k) != 0 -+ res := C.key_is_qualified(k.k) != 0 -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) Protocol() Protocol { -- return Protocol(k.k.protocol) -+ res := Protocol(k.k.protocol) -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) IssuerSerial() string { -- return C.GoString(k.k.issuer_serial) -+ res := C.GoString(k.k.issuer_serial) -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) IssuerName() string { -- return C.GoString(k.k.issuer_name) -+ res := C.GoString(k.k.issuer_name) -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) ChainID() string { -- return C.GoString(k.k.chain_id) -+ res := C.GoString(k.k.chain_id) -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) OwnerTrust() Validity { -- return Validity(k.k.owner_trust) -+ res := Validity(k.k.owner_trust) -+ runtime.KeepAlive(k) -+ return res - } - - func (k *Key) SubKeys() *SubKey { -- if k.k.subkeys == nil { -+ subKeys := k.k.subkeys -+ runtime.KeepAlive(k) -+ if subKeys == nil { - return nil - } -- return &SubKey{k: k.k.subkeys, parent: k} -+ return &SubKey{k: subKeys, parent: k} // The parent: k reference ensures subKeys remains valid - } - - func (k *Key) UserIDs() *UserID { -- if k.k.uids == nil { -+ uids := k.k.uids -+ runtime.KeepAlive(k) -+ if uids == nil { - return nil - } -- return &UserID{u: k.k.uids, parent: k} -+ return &UserID{u: uids, parent: k} // The parent: k reference ensures uids remains valid - } - - func (k *Key) KeyListMode() KeyListMode { -- return KeyListMode(k.k.keylist_mode) -+ res := KeyListMode(k.k.keylist_mode) -+ runtime.KeepAlive(k) -+ return res - } - - type SubKey struct { -@@ -737,12 +950,3 @@ func (u *UserID) Comment() string { - func (u *UserID) Email() string { - return C.GoString(u.u.email) - } -- --// This is somewhat of a horrible hack. We need to unset GPG_AGENT_INFO so that gpgme does not pass --use-agent to GPG. --// os.Unsetenv should be enough, but that only calls the underlying C library (which gpgme uses) if cgo is involved --// - and cgo can't be used in tests. So, provide this helper for test initialization. --func unsetenvGPGAgentInfo() { -- v := C.CString("GPG_AGENT_INFO") -- defer C.free(unsafe.Pointer(v)) -- C.unsetenv(v) --} -diff --git a/vendor/github.com/mtrmac/gpgme/unset_agent_info.go b/vendor/github.com/mtrmac/gpgme/unset_agent_info.go -new file mode 100644 -index 000000000..986aca59f ---- /dev/null -+++ b/vendor/github.com/mtrmac/gpgme/unset_agent_info.go -@@ -0,0 +1,18 @@ -+// +build !windows -+ -+package gpgme -+ -+// #include -+import "C" -+import ( -+ "unsafe" -+) -+ -+// This is somewhat of a horrible hack. We need to unset GPG_AGENT_INFO so that gpgme does not pass --use-agent to GPG. -+// os.Unsetenv should be enough, but that only calls the underlying C library (which gpgme uses) if cgo is involved -+// - and cgo can't be used in tests. So, provide this helper for test initialization. -+func unsetenvGPGAgentInfo() { -+ v := C.CString("GPG_AGENT_INFO") -+ defer C.free(unsafe.Pointer(v)) -+ C.unsetenv(v) -+} -diff --git a/vendor/github.com/mtrmac/gpgme/unset_agent_info_windows.go b/vendor/github.com/mtrmac/gpgme/unset_agent_info_windows.go -new file mode 100644 -index 000000000..431ec86d3 ---- /dev/null -+++ b/vendor/github.com/mtrmac/gpgme/unset_agent_info_windows.go -@@ -0,0 +1,14 @@ -+package gpgme -+ -+// #include -+import "C" -+import ( -+ "unsafe" -+) -+ -+// unsetenv is not available in mingw -+func unsetenvGPGAgentInfo() { -+ v := C.CString("GPG_AGENT_INFO=") -+ defer C.free(unsafe.Pointer(v)) -+ C.putenv(v) -+} -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/apparmor/apparmor.go b/vendor/github.com/opencontainers/runc/libcontainer/apparmor/apparmor.go -index 7fff0627f..debfc1e48 100644 ---- a/vendor/github.com/opencontainers/runc/libcontainer/apparmor/apparmor.go -+++ b/vendor/github.com/opencontainers/runc/libcontainer/apparmor/apparmor.go -@@ -6,6 +6,8 @@ import ( - "fmt" - "io/ioutil" - "os" -+ -+ "github.com/opencontainers/runc/libcontainer/utils" - ) - - // IsEnabled returns true if apparmor is enabled for the host. -@@ -19,7 +21,7 @@ func IsEnabled() bool { - return false - } - --func setprocattr(attr, value string) error { -+func setProcAttr(attr, value string) error { - // Under AppArmor you can only change your own attr, so use /proc/self/ - // instead of /proc// like libapparmor does - path := fmt.Sprintf("/proc/self/attr/%s", attr) -@@ -30,6 +32,10 @@ func setprocattr(attr, value string) error { - } - defer f.Close() - -+ if err := utils.EnsureProcHandle(f); err != nil { -+ return err -+ } -+ - _, err = fmt.Fprintf(f, "%s", value) - return err - } -@@ -37,7 +43,7 @@ func setprocattr(attr, value string) error { - // changeOnExec reimplements aa_change_onexec from libapparmor in Go - func changeOnExec(name string) error { - value := "exec " + name -- if err := setprocattr("exec", value); err != nil { -+ if err := setProcAttr("exec", value); err != nil { - return fmt.Errorf("apparmor failed to apply profile: %s", err) - } - return nil -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/cgroups/utils.go b/vendor/github.com/opencontainers/runc/libcontainer/cgroups/utils.go -index ec79ae767..60790f83b 100644 ---- a/vendor/github.com/opencontainers/runc/libcontainer/cgroups/utils.go -+++ b/vendor/github.com/opencontainers/runc/libcontainer/cgroups/utils.go -@@ -11,6 +11,8 @@ import ( - "path/filepath" - "strconv" - "strings" -+ "sync" -+ "syscall" - "time" - - units "github.com/docker/go-units" -@@ -22,6 +24,11 @@ const ( - CgroupProcesses = "cgroup.procs" - ) - -+var ( -+ isUnifiedOnce sync.Once -+ isUnified bool -+) -+ - // HugePageSizeUnitList is a list of the units used by the linux kernel when - // naming the HugePage control files. - // https://www.kernel.org/doc/Documentation/cgroup-v1/hugetlb.txt -@@ -29,6 +36,18 @@ const ( - // depends on https://github.com/docker/go-units/commit/a09cd47f892041a4fac473133d181f5aea6fa393 - var HugePageSizeUnitList = []string{"B", "KB", "MB", "GB", "TB", "PB"} - -+// IsCgroup2UnifiedMode returns whether we are running in cgroup v2 unified mode. -+func IsCgroup2UnifiedMode() bool { -+ isUnifiedOnce.Do(func() { -+ var st syscall.Statfs_t -+ if err := syscall.Statfs("/sys/fs/cgroup", &st); err != nil { -+ panic("cannot statfs cgroup root") -+ } -+ isUnified = st.Type == unix.CGROUP2_SUPER_MAGIC -+ }) -+ return isUnified -+} -+ - // https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt - func FindCgroupMountpoint(cgroupPath, subsystem string) (string, error) { - mnt, _, err := FindCgroupMountpointAndRoot(cgroupPath, subsystem) -@@ -49,6 +68,10 @@ func FindCgroupMountpointAndRoot(cgroupPath, subsystem string) (string, string, - } - defer f.Close() - -+ if IsCgroup2UnifiedMode() { -+ subsystem = "" -+ } -+ - return findCgroupMountpointAndRootFromReader(f, cgroupPath, subsystem) - } - -@@ -57,12 +80,12 @@ func findCgroupMountpointAndRootFromReader(reader io.Reader, cgroupPath, subsyst - for scanner.Scan() { - txt := scanner.Text() - fields := strings.Fields(txt) -- if len(fields) < 5 { -+ if len(fields) < 9 { - continue - } - if strings.HasPrefix(fields[4], cgroupPath) { - for _, opt := range strings.Split(fields[len(fields)-1], ",") { -- if opt == subsystem { -+ if (subsystem == "" && fields[9] == "cgroup2") || opt == subsystem { - return fields[4], fields[3], nil - } - } -@@ -76,6 +99,19 @@ func findCgroupMountpointAndRootFromReader(reader io.Reader, cgroupPath, subsyst - } - - func isSubsystemAvailable(subsystem string) bool { -+ if IsCgroup2UnifiedMode() { -+ controllers, err := GetAllSubsystems() -+ if err != nil { -+ return false -+ } -+ for _, c := range controllers { -+ if c == subsystem { -+ return true -+ } -+ } -+ return false -+ } -+ - cgroups, err := ParseCgroupFile("/proc/self/cgroup") - if err != nil { - return false -@@ -120,7 +156,7 @@ func FindCgroupMountpointDir() (string, error) { - return "", fmt.Errorf("Found no fields post '-' in %q", text) - } - -- if postSeparatorFields[0] == "cgroup" { -+ if postSeparatorFields[0] == "cgroup" || postSeparatorFields[0] == "cgroup2" { - // Check that the mount is properly formatted. - if numPostFields < 3 { - return "", fmt.Errorf("Error found less than 3 fields post '-' in %q", text) -@@ -193,6 +229,19 @@ func getCgroupMountsHelper(ss map[string]bool, mi io.Reader, all bool) ([]Mount, - // GetCgroupMounts returns the mounts for the cgroup subsystems. - // all indicates whether to return just the first instance or all the mounts. - func GetCgroupMounts(all bool) ([]Mount, error) { -+ if IsCgroup2UnifiedMode() { -+ availableControllers, err := GetAllSubsystems() -+ if err != nil { -+ return nil, err -+ } -+ m := Mount{ -+ Mountpoint: "/sys/fs/cgroup", -+ Root: "/sys/fs/cgroup", -+ Subsystems: availableControllers, -+ } -+ return []Mount{m}, nil -+ } -+ - f, err := os.Open("/proc/self/mountinfo") - if err != nil { - return nil, err -@@ -356,6 +405,9 @@ func parseCgroupFromReader(r io.Reader) (map[string]string, error) { - } - - func getControllerPath(subsystem string, cgroups map[string]string) (string, error) { -+ if IsCgroup2UnifiedMode() { -+ return "/", nil -+ } - - if p, ok := cgroups[subsystem]; ok { - return p, nil -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/configs/blkio_device.go b/vendor/github.com/opencontainers/runc/libcontainer/configs/blkio_device.go -index e0f3ca165..fa195bf90 100644 ---- a/vendor/github.com/opencontainers/runc/libcontainer/configs/blkio_device.go -+++ b/vendor/github.com/opencontainers/runc/libcontainer/configs/blkio_device.go -@@ -59,3 +59,8 @@ func NewThrottleDevice(major, minor int64, rate uint64) *ThrottleDevice { - func (td *ThrottleDevice) String() string { - return fmt.Sprintf("%d:%d %d", td.Major, td.Minor, td.Rate) - } -+ -+// StringName formats the struct to be writable to the cgroup specific file -+func (td *ThrottleDevice) StringName(name string) string { -+ return fmt.Sprintf("%d:%d %s=%d", td.Major, td.Minor, name, td.Rate) -+} -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/configs/cgroup_linux.go b/vendor/github.com/opencontainers/runc/libcontainer/configs/cgroup_linux.go -index e15a662f5..58ed19c9e 100644 ---- a/vendor/github.com/opencontainers/runc/libcontainer/configs/cgroup_linux.go -+++ b/vendor/github.com/opencontainers/runc/libcontainer/configs/cgroup_linux.go -@@ -119,4 +119,12 @@ type Resources struct { - - // Set class identifier for container's network packets - NetClsClassid uint32 `json:"net_cls_classid_u"` -+ -+ // Used on cgroups v2: -+ -+ // CpuWeight sets a proportional bandwidth limit. -+ CpuWeight uint64 `json:"cpu_weight"` -+ -+ // CpuMax sets she maximum bandwidth limit (format: max period). -+ CpuMax string `json:"cpu_max"` - } -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/configs/config.go b/vendor/github.com/opencontainers/runc/libcontainer/configs/config.go -index 7728522fe..24989e9f5 100644 ---- a/vendor/github.com/opencontainers/runc/libcontainer/configs/config.go -+++ b/vendor/github.com/opencontainers/runc/libcontainer/configs/config.go -@@ -44,6 +44,7 @@ const ( - Trap - Allow - Trace -+ Log - ) - - // Operator is a comparison operator to be used when matching syscall arguments in Seccomp -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go b/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go -index 11c3faafb..e05e30adc 100644 ---- a/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go -+++ b/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go -@@ -1,5 +1,5 @@ - // +build linux --// +build arm64 amd64 mips mipsle mips64 mips64le ppc ppc64 ppc64le s390x -+// +build arm64 amd64 mips mipsle mips64 mips64le ppc ppc64 ppc64le riscv64 s390x - - package system - -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/utils/cmsg.go b/vendor/github.com/opencontainers/runc/libcontainer/utils/cmsg.go -new file mode 100644 -index 000000000..c8a9364d5 ---- /dev/null -+++ b/vendor/github.com/opencontainers/runc/libcontainer/utils/cmsg.go -@@ -0,0 +1,93 @@ -+// +build linux -+ -+package utils -+ -+/* -+ * Copyright 2016, 2017 SUSE LLC -+ * -+ * 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. -+ */ -+ -+import ( -+ "fmt" -+ "os" -+ -+ "golang.org/x/sys/unix" -+) -+ -+// MaxSendfdLen is the maximum length of the name of a file descriptor being -+// sent using SendFd. The name of the file handle returned by RecvFd will never -+// be larger than this value. -+const MaxNameLen = 4096 -+ -+// oobSpace is the size of the oob slice required to store a single FD. Note -+// that unix.UnixRights appears to make the assumption that fd is always int32, -+// so sizeof(fd) = 4. -+var oobSpace = unix.CmsgSpace(4) -+ -+// RecvFd waits for a file descriptor to be sent over the given AF_UNIX -+// socket. The file name of the remote file descriptor will be recreated -+// locally (it is sent as non-auxiliary data in the same payload). -+func RecvFd(socket *os.File) (*os.File, error) { -+ // For some reason, unix.Recvmsg uses the length rather than the capacity -+ // when passing the msg_controllen and other attributes to recvmsg. So we -+ // have to actually set the length. -+ name := make([]byte, MaxNameLen) -+ oob := make([]byte, oobSpace) -+ -+ sockfd := socket.Fd() -+ n, oobn, _, _, err := unix.Recvmsg(int(sockfd), name, oob, 0) -+ if err != nil { -+ return nil, err -+ } -+ -+ if n >= MaxNameLen || oobn != oobSpace { -+ return nil, fmt.Errorf("recvfd: incorrect number of bytes read (n=%d oobn=%d)", n, oobn) -+ } -+ -+ // Truncate. -+ name = name[:n] -+ oob = oob[:oobn] -+ -+ scms, err := unix.ParseSocketControlMessage(oob) -+ if err != nil { -+ return nil, err -+ } -+ if len(scms) != 1 { -+ return nil, fmt.Errorf("recvfd: number of SCMs is not 1: %d", len(scms)) -+ } -+ scm := scms[0] -+ -+ fds, err := unix.ParseUnixRights(&scm) -+ if err != nil { -+ return nil, err -+ } -+ if len(fds) != 1 { -+ return nil, fmt.Errorf("recvfd: number of fds is not 1: %d", len(fds)) -+ } -+ fd := uintptr(fds[0]) -+ -+ return os.NewFile(fd, string(name)), nil -+} -+ -+// SendFd sends a file descriptor over the given AF_UNIX socket. In -+// addition, the file.Name() of the given file will also be sent as -+// non-auxiliary data in the same payload (allowing to send contextual -+// information for a file descriptor). -+func SendFd(socket *os.File, name string, fd uintptr) error { -+ if len(name) >= MaxNameLen { -+ return fmt.Errorf("sendfd: filename too long: %s", name) -+ } -+ oob := unix.UnixRights(int(fd)) -+ return unix.Sendmsg(int(socket.Fd()), []byte(name), oob, nil, 0) -+} -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/utils/utils.go b/vendor/github.com/opencontainers/runc/libcontainer/utils/utils.go -new file mode 100644 -index 000000000..40ccfaa1a ---- /dev/null -+++ b/vendor/github.com/opencontainers/runc/libcontainer/utils/utils.go -@@ -0,0 +1,112 @@ -+package utils -+ -+import ( -+ "encoding/json" -+ "io" -+ "os" -+ "path/filepath" -+ "strings" -+ "unsafe" -+ -+ "golang.org/x/sys/unix" -+) -+ -+const ( -+ exitSignalOffset = 128 -+) -+ -+// ResolveRootfs ensures that the current working directory is -+// not a symlink and returns the absolute path to the rootfs -+func ResolveRootfs(uncleanRootfs string) (string, error) { -+ rootfs, err := filepath.Abs(uncleanRootfs) -+ if err != nil { -+ return "", err -+ } -+ return filepath.EvalSymlinks(rootfs) -+} -+ -+// ExitStatus returns the correct exit status for a process based on if it -+// was signaled or exited cleanly -+func ExitStatus(status unix.WaitStatus) int { -+ if status.Signaled() { -+ return exitSignalOffset + int(status.Signal()) -+ } -+ return status.ExitStatus() -+} -+ -+// WriteJSON writes the provided struct v to w using standard json marshaling -+func WriteJSON(w io.Writer, v interface{}) error { -+ data, err := json.Marshal(v) -+ if err != nil { -+ return err -+ } -+ _, err = w.Write(data) -+ return err -+} -+ -+// CleanPath makes a path safe for use with filepath.Join. This is done by not -+// only cleaning the path, but also (if the path is relative) adding a leading -+// '/' and cleaning it (then removing the leading '/'). This ensures that a -+// path resulting from prepending another path will always resolve to lexically -+// be a subdirectory of the prefixed path. This is all done lexically, so paths -+// that include symlinks won't be safe as a result of using CleanPath. -+func CleanPath(path string) string { -+ // Deal with empty strings nicely. -+ if path == "" { -+ return "" -+ } -+ -+ // Ensure that all paths are cleaned (especially problematic ones like -+ // "/../../../../../" which can cause lots of issues). -+ path = filepath.Clean(path) -+ -+ // If the path isn't absolute, we need to do more processing to fix paths -+ // such as "../../../..//some/path". We also shouldn't convert absolute -+ // paths to relative ones. -+ if !filepath.IsAbs(path) { -+ path = filepath.Clean(string(os.PathSeparator) + path) -+ // This can't fail, as (by definition) all paths are relative to root. -+ path, _ = filepath.Rel(string(os.PathSeparator), path) -+ } -+ -+ // Clean the path again for good measure. -+ return filepath.Clean(path) -+} -+ -+// SearchLabels searches a list of key-value pairs for the provided key and -+// returns the corresponding value. The pairs must be separated with '='. -+func SearchLabels(labels []string, query string) string { -+ for _, l := range labels { -+ parts := strings.SplitN(l, "=", 2) -+ if len(parts) < 2 { -+ continue -+ } -+ if parts[0] == query { -+ return parts[1] -+ } -+ } -+ return "" -+} -+ -+// Annotations returns the bundle path and user defined annotations from the -+// libcontainer state. We need to remove the bundle because that is a label -+// added by libcontainer. -+func Annotations(labels []string) (bundle string, userAnnotations map[string]string) { -+ userAnnotations = make(map[string]string) -+ for _, l := range labels { -+ parts := strings.SplitN(l, "=", 2) -+ if len(parts) < 2 { -+ continue -+ } -+ if parts[0] == "bundle" { -+ bundle = parts[1] -+ } else { -+ userAnnotations[parts[0]] = parts[1] -+ } -+ } -+ return -+} -+ -+func GetIntSize() int { -+ return int(unsafe.Sizeof(1)) -+} -diff --git a/vendor/github.com/opencontainers/runc/libcontainer/utils/utils_unix.go b/vendor/github.com/opencontainers/runc/libcontainer/utils/utils_unix.go -new file mode 100644 -index 000000000..1576f2d4a ---- /dev/null -+++ b/vendor/github.com/opencontainers/runc/libcontainer/utils/utils_unix.go -@@ -0,0 +1,68 @@ -+// +build !windows -+ -+package utils -+ -+import ( -+ "fmt" -+ "os" -+ "strconv" -+ -+ "golang.org/x/sys/unix" -+) -+ -+// EnsureProcHandle returns whether or not the given file handle is on procfs. -+func EnsureProcHandle(fh *os.File) error { -+ var buf unix.Statfs_t -+ if err := unix.Fstatfs(int(fh.Fd()), &buf); err != nil { -+ return fmt.Errorf("ensure %s is on procfs: %v", fh.Name(), err) -+ } -+ if buf.Type != unix.PROC_SUPER_MAGIC { -+ return fmt.Errorf("%s is not on procfs", fh.Name()) -+ } -+ return nil -+} -+ -+// CloseExecFrom applies O_CLOEXEC to all file descriptors currently open for -+// the process (except for those below the given fd value). -+func CloseExecFrom(minFd int) error { -+ fdDir, err := os.Open("/proc/self/fd") -+ if err != nil { -+ return err -+ } -+ defer fdDir.Close() -+ -+ if err := EnsureProcHandle(fdDir); err != nil { -+ return err -+ } -+ -+ fdList, err := fdDir.Readdirnames(-1) -+ if err != nil { -+ return err -+ } -+ for _, fdStr := range fdList { -+ fd, err := strconv.Atoi(fdStr) -+ // Ignore non-numeric file names. -+ if err != nil { -+ continue -+ } -+ // Ignore descriptors lower than our specified minimum. -+ if fd < minFd { -+ continue -+ } -+ // Intentionally ignore errors from unix.CloseOnExec -- the cases where -+ // this might fail are basically file descriptors that have already -+ // been closed (including and especially the one that was created when -+ // ioutil.ReadDir did the "opendir" syscall). -+ unix.CloseOnExec(fd) -+ } -+ return nil -+} -+ -+// NewSockPair returns a new unix socket pair -+func NewSockPair(name string) (parent *os.File, child *os.File, err error) { -+ fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM|unix.SOCK_CLOEXEC, 0) -+ if err != nil { -+ return nil, nil, err -+ } -+ return os.NewFile(uintptr(fds[1]), name+"-p"), os.NewFile(uintptr(fds[0]), name+"-c"), nil -+} -diff --git a/vendor/github.com/opencontainers/selinux/go-selinux/selinux_linux.go b/vendor/github.com/opencontainers/selinux/go-selinux/selinux_linux.go -index 2d4e9f890..9fcfd0867 100644 ---- a/vendor/github.com/opencontainers/selinux/go-selinux/selinux_linux.go -+++ b/vendor/github.com/opencontainers/selinux/go-selinux/selinux_linux.go -@@ -7,7 +7,6 @@ import ( - "bytes" - "crypto/rand" - "encoding/binary" -- "errors" - "fmt" - "io" - "io/ioutil" -@@ -18,6 +17,8 @@ import ( - "strings" - "sync" - "syscall" -+ -+ "github.com/pkg/errors" - "golang.org/x/sys/unix" - ) - -@@ -253,6 +254,12 @@ func getSELinuxPolicyRoot() string { - return filepath.Join(selinuxDir, readConfig(selinuxTypeTag)) - } - -+func isProcHandle(fh *os.File) (bool, error) { -+ var buf unix.Statfs_t -+ err := unix.Fstatfs(int(fh.Fd()), &buf) -+ return buf.Type == unix.PROC_SUPER_MAGIC, err -+} -+ - func readCon(fpath string) (string, error) { - if fpath == "" { - return "", ErrEmptyPath -@@ -264,6 +271,12 @@ func readCon(fpath string) (string, error) { - } - defer in.Close() - -+ if ok, err := isProcHandle(in); err != nil { -+ return "", err -+ } else if !ok { -+ return "", fmt.Errorf("%s not on procfs", fpath) -+ } -+ - var retval string - if _, err := fmt.Fscanf(in, "%s", &retval); err != nil { - return "", err -@@ -276,7 +289,10 @@ func SetFileLabel(fpath string, label string) error { - if fpath == "" { - return ErrEmptyPath - } -- return lsetxattr(fpath, xattrNameSelinux, []byte(label), 0) -+ if err := lsetxattr(fpath, xattrNameSelinux, []byte(label), 0); err != nil { -+ return errors.Wrapf(err, "failed to set file label on %s", fpath) -+ } -+ return nil - } - - // FileLabel returns the SELinux label for this path or returns an error. -@@ -346,12 +362,21 @@ func writeCon(fpath string, val string) error { - } - defer out.Close() - -+ if ok, err := isProcHandle(out); err != nil { -+ return err -+ } else if !ok { -+ return fmt.Errorf("%s not on procfs", fpath) -+ } -+ - if val != "" { - _, err = out.Write([]byte(val)) - } else { - _, err = out.Write(nil) - } -- return err -+ if err != nil { -+ return errors.Wrapf(err, "failed to set %s on procfs", fpath) -+ } -+ return nil - } - - /* -@@ -394,7 +419,7 @@ func SetExecLabel(label string) error { - } - - /* --SetTaskLabel sets the SELinux label for the current thread, or an error. -+SetTaskLabel sets the SELinux label for the current thread, or an error. - This requires the dyntransition permission. - */ - func SetTaskLabel(label string) error { -diff --git a/vendor/github.com/pkg/errors/.travis.yml b/vendor/github.com/pkg/errors/.travis.yml -index d4b92663b..9159de03e 100644 ---- a/vendor/github.com/pkg/errors/.travis.yml -+++ b/vendor/github.com/pkg/errors/.travis.yml -@@ -1,15 +1,10 @@ - language: go - go_import_path: github.com/pkg/errors - go: -- - 1.4.x -- - 1.5.x -- - 1.6.x -- - 1.7.x -- - 1.8.x -- - 1.9.x -- - 1.10.x - - 1.11.x -+ - 1.12.x -+ - 1.13.x - - tip - - script: -- - go test -v ./... -+ - make check -diff --git a/vendor/github.com/pkg/errors/Makefile b/vendor/github.com/pkg/errors/Makefile -new file mode 100644 -index 000000000..ce9d7cded ---- /dev/null -+++ b/vendor/github.com/pkg/errors/Makefile -@@ -0,0 +1,44 @@ -+PKGS := github.com/pkg/errors -+SRCDIRS := $(shell go list -f '{{.Dir}}' $(PKGS)) -+GO := go -+ -+check: test vet gofmt misspell unconvert staticcheck ineffassign unparam -+ -+test: -+ $(GO) test $(PKGS) -+ -+vet: | test -+ $(GO) vet $(PKGS) -+ -+staticcheck: -+ $(GO) get honnef.co/go/tools/cmd/staticcheck -+ staticcheck -checks all $(PKGS) -+ -+misspell: -+ $(GO) get github.com/client9/misspell/cmd/misspell -+ misspell \ -+ -locale GB \ -+ -error \ -+ *.md *.go -+ -+unconvert: -+ $(GO) get github.com/mdempsky/unconvert -+ unconvert -v $(PKGS) -+ -+ineffassign: -+ $(GO) get github.com/gordonklaus/ineffassign -+ find $(SRCDIRS) -name '*.go' | xargs ineffassign -+ -+pedantic: check errcheck -+ -+unparam: -+ $(GO) get mvdan.cc/unparam -+ unparam ./... -+ -+errcheck: -+ $(GO) get github.com/kisielk/errcheck -+ errcheck $(PKGS) -+ -+gofmt: -+ @echo Checking code is gofmted -+ @test -z "$(shell gofmt -s -l -d -e $(SRCDIRS) | tee /dev/stderr)" -diff --git a/vendor/github.com/pkg/errors/README.md b/vendor/github.com/pkg/errors/README.md -index 6483ba2af..54dfdcb12 100644 ---- a/vendor/github.com/pkg/errors/README.md -+++ b/vendor/github.com/pkg/errors/README.md -@@ -41,11 +41,18 @@ default: - - [Read the package documentation for more information](https://godoc.org/github.com/pkg/errors). - -+## Roadmap -+ -+With the upcoming [Go2 error proposals](https://go.googlesource.com/proposal/+/master/design/go2draft.md) this package is moving into maintenance mode. The roadmap for a 1.0 release is as follows: -+ -+- 0.9. Remove pre Go 1.9 and Go 1.10 support, address outstanding pull requests (if possible) -+- 1.0. Final release. -+ - ## Contributing - --We welcome pull requests, bug fixes and issue reports. With that said, the bar for adding new symbols to this package is intentionally set high. -+Because of the Go2 errors changes, this package is not accepting proposals for new functionality. With that said, we welcome pull requests, bug fixes and issue reports. - --Before proposing a change, please discuss your change by raising an issue. -+Before sending a PR, please discuss your change by raising an issue. - - ## License - -diff --git a/vendor/github.com/pkg/errors/errors.go b/vendor/github.com/pkg/errors/errors.go -index 7421f326f..161aea258 100644 ---- a/vendor/github.com/pkg/errors/errors.go -+++ b/vendor/github.com/pkg/errors/errors.go -@@ -82,7 +82,7 @@ - // - // if err, ok := err.(stackTracer); ok { - // for _, f := range err.StackTrace() { --// fmt.Printf("%+s:%d", f) -+// fmt.Printf("%+s:%d\n", f, f) - // } - // } - // -@@ -159,6 +159,9 @@ type withStack struct { - - func (w *withStack) Cause() error { return w.error } - -+// Unwrap provides compatibility for Go 1.13 error chains. -+func (w *withStack) Unwrap() error { return w.error } -+ - func (w *withStack) Format(s fmt.State, verb rune) { - switch verb { - case 'v': -@@ -241,6 +244,9 @@ type withMessage struct { - func (w *withMessage) Error() string { return w.msg + ": " + w.cause.Error() } - func (w *withMessage) Cause() error { return w.cause } - -+// Unwrap provides compatibility for Go 1.13 error chains. -+func (w *withMessage) Unwrap() error { return w.cause } -+ - func (w *withMessage) Format(s fmt.State, verb rune) { - switch verb { - case 'v': -diff --git a/vendor/github.com/pkg/errors/go113.go b/vendor/github.com/pkg/errors/go113.go -new file mode 100644 -index 000000000..be0d10d0c ---- /dev/null -+++ b/vendor/github.com/pkg/errors/go113.go -@@ -0,0 +1,38 @@ -+// +build go1.13 -+ -+package errors -+ -+import ( -+ stderrors "errors" -+) -+ -+// Is reports whether any error in err's chain matches target. -+// -+// The chain consists of err itself followed by the sequence of errors obtained by -+// repeatedly calling Unwrap. -+// -+// An error is considered to match a target if it is equal to that target or if -+// it implements a method Is(error) bool such that Is(target) returns true. -+func Is(err, target error) bool { return stderrors.Is(err, target) } -+ -+// As finds the first error in err's chain that matches target, and if so, sets -+// target to that error value and returns true. -+// -+// The chain consists of err itself followed by the sequence of errors obtained by -+// repeatedly calling Unwrap. -+// -+// An error matches target if the error's concrete value is assignable to the value -+// pointed to by target, or if the error has a method As(interface{}) bool such that -+// As(target) returns true. In the latter case, the As method is responsible for -+// setting target. -+// -+// As will panic if target is not a non-nil pointer to either a type that implements -+// error, or to any interface type. As returns false if err is nil. -+func As(err error, target interface{}) bool { return stderrors.As(err, target) } -+ -+// Unwrap returns the result of calling the Unwrap method on err, if err's -+// type contains an Unwrap method returning error. -+// Otherwise, Unwrap returns nil. -+func Unwrap(err error) error { -+ return stderrors.Unwrap(err) -+} -diff --git a/vendor/github.com/pkg/errors/stack.go b/vendor/github.com/pkg/errors/stack.go -index 2874a048c..779a8348f 100644 ---- a/vendor/github.com/pkg/errors/stack.go -+++ b/vendor/github.com/pkg/errors/stack.go -@@ -5,10 +5,13 @@ import ( - "io" - "path" - "runtime" -+ "strconv" - "strings" - ) - - // Frame represents a program counter inside a stack frame. -+// For historical reasons if Frame is interpreted as a uintptr -+// its value represents the program counter + 1. - type Frame uintptr - - // pc returns the program counter for this frame; -@@ -37,6 +40,15 @@ func (f Frame) line() int { - return line - } - -+// name returns the name of this function, if known. -+func (f Frame) name() string { -+ fn := runtime.FuncForPC(f.pc()) -+ if fn == nil { -+ return "unknown" -+ } -+ return fn.Name() -+} -+ - // Format formats the frame according to the fmt.Formatter interface. - // - // %s source file -@@ -54,22 +66,16 @@ func (f Frame) Format(s fmt.State, verb rune) { - case 's': - switch { - case s.Flag('+'): -- pc := f.pc() -- fn := runtime.FuncForPC(pc) -- if fn == nil { -- io.WriteString(s, "unknown") -- } else { -- file, _ := fn.FileLine(pc) -- fmt.Fprintf(s, "%s\n\t%s", fn.Name(), file) -- } -+ io.WriteString(s, f.name()) -+ io.WriteString(s, "\n\t") -+ io.WriteString(s, f.file()) - default: - io.WriteString(s, path.Base(f.file())) - } - case 'd': -- fmt.Fprintf(s, "%d", f.line()) -+ io.WriteString(s, strconv.Itoa(f.line())) - case 'n': -- name := runtime.FuncForPC(f.pc()).Name() -- io.WriteString(s, funcname(name)) -+ io.WriteString(s, funcname(f.name())) - case 'v': - f.Format(s, 's') - io.WriteString(s, ":") -@@ -77,6 +83,16 @@ func (f Frame) Format(s fmt.State, verb rune) { - } - } - -+// MarshalText formats a stacktrace Frame as a text string. The output is the -+// same as that of fmt.Sprintf("%+v", f), but without newlines or tabs. -+func (f Frame) MarshalText() ([]byte, error) { -+ name := f.name() -+ if name == "unknown" { -+ return []byte(name), nil -+ } -+ return []byte(fmt.Sprintf("%s %s:%d", name, f.file(), f.line())), nil -+} -+ - // StackTrace is stack of Frames from innermost (newest) to outermost (oldest). - type StackTrace []Frame - -@@ -94,16 +110,30 @@ func (st StackTrace) Format(s fmt.State, verb rune) { - switch { - case s.Flag('+'): - for _, f := range st { -- fmt.Fprintf(s, "\n%+v", f) -+ io.WriteString(s, "\n") -+ f.Format(s, verb) - } - case s.Flag('#'): - fmt.Fprintf(s, "%#v", []Frame(st)) - default: -- fmt.Fprintf(s, "%v", []Frame(st)) -+ st.formatSlice(s, verb) - } - case 's': -- fmt.Fprintf(s, "%s", []Frame(st)) -+ st.formatSlice(s, verb) -+ } -+} -+ -+// formatSlice will format this StackTrace into the given buffer as a slice of -+// Frame, only valid when called with '%s' or '%v'. -+func (st StackTrace) formatSlice(s fmt.State, verb rune) { -+ io.WriteString(s, "[") -+ for i, f := range st { -+ if i > 0 { -+ io.WriteString(s, " ") -+ } -+ f.Format(s, verb) - } -+ io.WriteString(s, "]") - } - - // stack represents a stack of program counters. -diff --git a/vendor/github.com/prometheus/procfs/arp.go b/vendor/github.com/prometheus/procfs/arp.go -new file mode 100644 -index 000000000..916c9182a ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/arp.go -@@ -0,0 +1,85 @@ -+// Copyright 2019 The Prometheus Authors -+// 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 procfs -+ -+import ( -+ "fmt" -+ "io/ioutil" -+ "net" -+ "strings" -+) -+ -+// ARPEntry contains a single row of the columnar data represented in -+// /proc/net/arp. -+type ARPEntry struct { -+ // IP address -+ IPAddr net.IP -+ // MAC address -+ HWAddr net.HardwareAddr -+ // Name of the device -+ Device string -+} -+ -+// GatherARPEntries retrieves all the ARP entries, parse the relevant columns, -+// and then return a slice of ARPEntry's. -+func (fs FS) GatherARPEntries() ([]ARPEntry, error) { -+ data, err := ioutil.ReadFile(fs.proc.Path("net/arp")) -+ if err != nil { -+ return nil, fmt.Errorf("error reading arp %s: %s", fs.proc.Path("net/arp"), err) -+ } -+ -+ return parseARPEntries(data) -+} -+ -+func parseARPEntries(data []byte) ([]ARPEntry, error) { -+ lines := strings.Split(string(data), "\n") -+ entries := make([]ARPEntry, 0) -+ var err error -+ const ( -+ expectedDataWidth = 6 -+ expectedHeaderWidth = 9 -+ ) -+ for _, line := range lines { -+ columns := strings.Fields(line) -+ width := len(columns) -+ -+ if width == expectedHeaderWidth || width == 0 { -+ continue -+ } else if width == expectedDataWidth { -+ entry, err := parseARPEntry(columns) -+ if err != nil { -+ return []ARPEntry{}, fmt.Errorf("failed to parse ARP entry: %s", err) -+ } -+ entries = append(entries, entry) -+ } else { -+ return []ARPEntry{}, fmt.Errorf("%d columns were detected, but %d were expected", width, expectedDataWidth) -+ } -+ -+ } -+ -+ return entries, err -+} -+ -+func parseARPEntry(columns []string) (ARPEntry, error) { -+ ip := net.ParseIP(columns[0]) -+ mac := net.HardwareAddr(columns[3]) -+ -+ entry := ARPEntry{ -+ IPAddr: ip, -+ HWAddr: mac, -+ Device: columns[5], -+ } -+ -+ return entry, nil -+} -diff --git a/vendor/github.com/prometheus/procfs/buddyinfo.go b/vendor/github.com/prometheus/procfs/buddyinfo.go -index 63d4229a4..10bd067a0 100644 ---- a/vendor/github.com/prometheus/procfs/buddyinfo.go -+++ b/vendor/github.com/prometheus/procfs/buddyinfo.go -@@ -31,7 +31,7 @@ type BuddyInfo struct { - Sizes []float64 - } - --// NewBuddyInfo reads the buddyinfo statistics from the specified `proc` filesystem. -+// BuddyInfo reads the buddyinfo statistics from the specified `proc` filesystem. - func (fs FS) BuddyInfo() ([]BuddyInfo, error) { - file, err := os.Open(fs.proc.Path("buddyinfo")) - if err != nil { -diff --git a/vendor/github.com/prometheus/procfs/cpuinfo.go b/vendor/github.com/prometheus/procfs/cpuinfo.go -new file mode 100644 -index 000000000..16491d6ab ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/cpuinfo.go -@@ -0,0 +1,166 @@ -+// Copyright 2019 The Prometheus Authors -+// 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 procfs -+ -+import ( -+ "bufio" -+ "bytes" -+ "io/ioutil" -+ "strconv" -+ "strings" -+) -+ -+// CPUInfo contains general information about a system CPU found in /proc/cpuinfo -+type CPUInfo struct { -+ Processor uint -+ VendorID string -+ CPUFamily string -+ Model string -+ ModelName string -+ Stepping string -+ Microcode string -+ CPUMHz float64 -+ CacheSize string -+ PhysicalID string -+ Siblings uint -+ CoreID string -+ CPUCores uint -+ APICID string -+ InitialAPICID string -+ FPU string -+ FPUException string -+ CPUIDLevel uint -+ WP string -+ Flags []string -+ Bugs []string -+ BogoMips float64 -+ CLFlushSize uint -+ CacheAlignment uint -+ AddressSizes string -+ PowerManagement string -+} -+ -+// CPUInfo returns information about current system CPUs. -+// See https://www.kernel.org/doc/Documentation/filesystems/proc.txt -+func (fs FS) CPUInfo() ([]CPUInfo, error) { -+ data, err := ioutil.ReadFile(fs.proc.Path("cpuinfo")) -+ if err != nil { -+ return nil, err -+ } -+ return parseCPUInfo(data) -+} -+ -+// parseCPUInfo parses data from /proc/cpuinfo -+func parseCPUInfo(info []byte) ([]CPUInfo, error) { -+ cpuinfo := []CPUInfo{} -+ i := -1 -+ scanner := bufio.NewScanner(bytes.NewReader(info)) -+ for scanner.Scan() { -+ line := scanner.Text() -+ if strings.TrimSpace(line) == "" { -+ continue -+ } -+ field := strings.SplitN(line, ": ", 2) -+ switch strings.TrimSpace(field[0]) { -+ case "processor": -+ cpuinfo = append(cpuinfo, CPUInfo{}) // start of the next processor -+ i++ -+ v, err := strconv.ParseUint(field[1], 0, 32) -+ if err != nil { -+ return nil, err -+ } -+ cpuinfo[i].Processor = uint(v) -+ case "vendor_id": -+ cpuinfo[i].VendorID = field[1] -+ case "cpu family": -+ cpuinfo[i].CPUFamily = field[1] -+ case "model": -+ cpuinfo[i].Model = field[1] -+ case "model name": -+ cpuinfo[i].ModelName = field[1] -+ case "stepping": -+ cpuinfo[i].Stepping = field[1] -+ case "microcode": -+ cpuinfo[i].Microcode = field[1] -+ case "cpu MHz": -+ v, err := strconv.ParseFloat(field[1], 64) -+ if err != nil { -+ return nil, err -+ } -+ cpuinfo[i].CPUMHz = v -+ case "cache size": -+ cpuinfo[i].CacheSize = field[1] -+ case "physical id": -+ cpuinfo[i].PhysicalID = field[1] -+ case "siblings": -+ v, err := strconv.ParseUint(field[1], 0, 32) -+ if err != nil { -+ return nil, err -+ } -+ cpuinfo[i].Siblings = uint(v) -+ case "core id": -+ cpuinfo[i].CoreID = field[1] -+ case "cpu cores": -+ v, err := strconv.ParseUint(field[1], 0, 32) -+ if err != nil { -+ return nil, err -+ } -+ cpuinfo[i].CPUCores = uint(v) -+ case "apicid": -+ cpuinfo[i].APICID = field[1] -+ case "initial apicid": -+ cpuinfo[i].InitialAPICID = field[1] -+ case "fpu": -+ cpuinfo[i].FPU = field[1] -+ case "fpu_exception": -+ cpuinfo[i].FPUException = field[1] -+ case "cpuid level": -+ v, err := strconv.ParseUint(field[1], 0, 32) -+ if err != nil { -+ return nil, err -+ } -+ cpuinfo[i].CPUIDLevel = uint(v) -+ case "wp": -+ cpuinfo[i].WP = field[1] -+ case "flags": -+ cpuinfo[i].Flags = strings.Fields(field[1]) -+ case "bugs": -+ cpuinfo[i].Bugs = strings.Fields(field[1]) -+ case "bogomips": -+ v, err := strconv.ParseFloat(field[1], 64) -+ if err != nil { -+ return nil, err -+ } -+ cpuinfo[i].BogoMips = v -+ case "clflush size": -+ v, err := strconv.ParseUint(field[1], 0, 32) -+ if err != nil { -+ return nil, err -+ } -+ cpuinfo[i].CLFlushSize = uint(v) -+ case "cache_alignment": -+ v, err := strconv.ParseUint(field[1], 0, 32) -+ if err != nil { -+ return nil, err -+ } -+ cpuinfo[i].CacheAlignment = uint(v) -+ case "address sizes": -+ cpuinfo[i].AddressSizes = field[1] -+ case "power management": -+ cpuinfo[i].PowerManagement = field[1] -+ } -+ } -+ return cpuinfo, nil -+ -+} -diff --git a/vendor/github.com/prometheus/procfs/crypto.go b/vendor/github.com/prometheus/procfs/crypto.go -new file mode 100644 -index 000000000..19d4041b2 ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/crypto.go -@@ -0,0 +1,131 @@ -+// Copyright 2019 The Prometheus Authors -+// 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 procfs -+ -+import ( -+ "bytes" -+ "fmt" -+ "io/ioutil" -+ "strconv" -+ "strings" -+ -+ "github.com/prometheus/procfs/internal/util" -+) -+ -+// Crypto holds info parsed from /proc/crypto. -+type Crypto struct { -+ Alignmask *uint64 -+ Async bool -+ Blocksize *uint64 -+ Chunksize *uint64 -+ Ctxsize *uint64 -+ Digestsize *uint64 -+ Driver string -+ Geniv string -+ Internal string -+ Ivsize *uint64 -+ Maxauthsize *uint64 -+ MaxKeysize *uint64 -+ MinKeysize *uint64 -+ Module string -+ Name string -+ Priority *int64 -+ Refcnt *int64 -+ Seedsize *uint64 -+ Selftest string -+ Type string -+ Walksize *uint64 -+} -+ -+// Crypto parses an crypto-file (/proc/crypto) and returns a slice of -+// structs containing the relevant info. More information available here: -+// https://kernel.readthedocs.io/en/sphinx-samples/crypto-API.html -+func (fs FS) Crypto() ([]Crypto, error) { -+ data, err := ioutil.ReadFile(fs.proc.Path("crypto")) -+ if err != nil { -+ return nil, fmt.Errorf("error parsing crypto %s: %s", fs.proc.Path("crypto"), err) -+ } -+ crypto, err := parseCrypto(data) -+ if err != nil { -+ return nil, fmt.Errorf("error parsing crypto %s: %s", fs.proc.Path("crypto"), err) -+ } -+ return crypto, nil -+} -+ -+func parseCrypto(cryptoData []byte) ([]Crypto, error) { -+ crypto := []Crypto{} -+ -+ cryptoBlocks := bytes.Split(cryptoData, []byte("\n\n")) -+ -+ for _, block := range cryptoBlocks { -+ var newCryptoElem Crypto -+ -+ lines := strings.Split(string(block), "\n") -+ for _, line := range lines { -+ if strings.TrimSpace(line) == "" || line[0] == ' ' { -+ continue -+ } -+ fields := strings.Split(line, ":") -+ key := strings.TrimSpace(fields[0]) -+ value := strings.TrimSpace(fields[1]) -+ vp := util.NewValueParser(value) -+ -+ switch strings.TrimSpace(key) { -+ case "async": -+ b, err := strconv.ParseBool(value) -+ if err == nil { -+ newCryptoElem.Async = b -+ } -+ case "blocksize": -+ newCryptoElem.Blocksize = vp.PUInt64() -+ case "chunksize": -+ newCryptoElem.Chunksize = vp.PUInt64() -+ case "digestsize": -+ newCryptoElem.Digestsize = vp.PUInt64() -+ case "driver": -+ newCryptoElem.Driver = value -+ case "geniv": -+ newCryptoElem.Geniv = value -+ case "internal": -+ newCryptoElem.Internal = value -+ case "ivsize": -+ newCryptoElem.Ivsize = vp.PUInt64() -+ case "maxauthsize": -+ newCryptoElem.Maxauthsize = vp.PUInt64() -+ case "max keysize": -+ newCryptoElem.MaxKeysize = vp.PUInt64() -+ case "min keysize": -+ newCryptoElem.MinKeysize = vp.PUInt64() -+ case "module": -+ newCryptoElem.Module = value -+ case "name": -+ newCryptoElem.Name = value -+ case "priority": -+ newCryptoElem.Priority = vp.PInt64() -+ case "refcnt": -+ newCryptoElem.Refcnt = vp.PInt64() -+ case "seedsize": -+ newCryptoElem.Seedsize = vp.PUInt64() -+ case "selftest": -+ newCryptoElem.Selftest = value -+ case "type": -+ newCryptoElem.Type = value -+ case "walksize": -+ newCryptoElem.Walksize = vp.PUInt64() -+ } -+ } -+ crypto = append(crypto, newCryptoElem) -+ } -+ return crypto, nil -+} -diff --git a/vendor/github.com/prometheus/procfs/fixtures.ttar b/vendor/github.com/prometheus/procfs/fixtures.ttar -index 6b42e7ba1..0b2905544 100644 ---- a/vendor/github.com/prometheus/procfs/fixtures.ttar -+++ b/vendor/github.com/prometheus/procfs/fixtures.ttar -@@ -47,6 +47,48 @@ SymlinkTo: ../../symlinktargets/ghi - Path: fixtures/proc/26231/fd/3 - SymlinkTo: ../../symlinktargets/uvw - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/proc/26231/fdinfo -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/26231/fdinfo/0 -+Lines: 6 -+pos: 0 -+flags: 02004000 -+mnt_id: 13 -+inotify wd:3 ino:1 sdev:34 mask:fce ignored_mask:0 fhandle-bytes:c fhandle-type:81 f_handle:000000000100000000000000 -+inotify wd:2 ino:1300016 sdev:fd00002 mask:fce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:16003001ed3f022a -+inotify wd:1 ino:2e0001 sdev:fd00000 mask:fce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:01002e00138e7c65 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/26231/fdinfo/1 -+Lines: 4 -+pos: 0 -+flags: 02004002 -+mnt_id: 13 -+eventfd-count: 0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/26231/fdinfo/10 -+Lines: 3 -+pos: 0 -+flags: 02004002 -+mnt_id: 9 -+Mode: 400 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/26231/fdinfo/2 -+Lines: 3 -+pos: 0 -+flags: 02004002 -+mnt_id: 9 -+Mode: 400 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/26231/fdinfo/3 -+Lines: 3 -+pos: 0 -+flags: 02004002 -+mnt_id: 9 -+Mode: 400 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path: fixtures/proc/26231/io - Lines: 7 - rchar: 750339 -@@ -126,6 +168,11 @@ SymlinkTo: net:[4026531993] - Path: fixtures/proc/26231/root - SymlinkTo: / - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/26231/schedstat -+Lines: 1 -+411605849 93680043 79 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path: fixtures/proc/26231/stat - Lines: 1 - 26231 (vim) R 5392 7446 5392 34835 7446 4218880 32533 309516 26 82 1677 44 158 99 20 0 1 0 82375 56274944 1981 18446744073709551615 4194304 6294284 140736914091744 140736914087944 139965136429984 0 0 12288 1870679807 0 0 0 17 0 0 0 31 0 0 8391624 8481048 16420864 140736914093252 140736914093279 140736914093279 140736914096107 0 -@@ -137,10 +184,10 @@ Lines: 53 - Name: prometheus - Umask: 0022 - State: S (sleeping) --Tgid: 1 -+Tgid: 26231 - Ngid: 0 --Pid: 1 --PPid: 0 -+Pid: 26231 -+PPid: 1 - TracerPid: 0 - Uid: 0 0 0 0 - Gid: 0 0 0 0 -@@ -258,6 +305,18 @@ Lines: 1 - com.github.uiautomatorNULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTEEOF - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/26233/schedstat -+Lines: 8 -+ ____________________________________ -+< this is a malformed schedstat file > -+ ------------------------------------ -+ \ ^__^ -+ \ (oo)\_______ -+ (__)\ )\/\ -+ ||----w | -+ || || -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Directory: fixtures/proc/584 - Mode: 755 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@@ -274,6 +333,1201 @@ Node 0, zone DMA32 759 572 791 475 194 45 12 0 - Node 0, zone Normal 4381 1093 185 1530 567 102 4 0 0 0 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/cpuinfo -+Lines: 216 -+processor : 0 -+vendor_id : GenuineIntel -+cpu family : 6 -+model : 142 -+model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz -+stepping : 10 -+microcode : 0xb4 -+cpu MHz : 799.998 -+cache size : 8192 KB -+physical id : 0 -+siblings : 8 -+core id : 0 -+cpu cores : 4 -+apicid : 0 -+initial apicid : 0 -+fpu : yes -+fpu_exception : yes -+cpuid level : 22 -+wp : yes -+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d -+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs -+bogomips : 4224.00 -+clflush size : 64 -+cache_alignment : 64 -+address sizes : 39 bits physical, 48 bits virtual -+power management: -+ -+processor : 1 -+vendor_id : GenuineIntel -+cpu family : 6 -+model : 142 -+model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz -+stepping : 10 -+microcode : 0xb4 -+cpu MHz : 800.037 -+cache size : 8192 KB -+physical id : 0 -+siblings : 8 -+core id : 1 -+cpu cores : 4 -+apicid : 2 -+initial apicid : 2 -+fpu : yes -+fpu_exception : yes -+cpuid level : 22 -+wp : yes -+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d -+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs -+bogomips : 4224.00 -+clflush size : 64 -+cache_alignment : 64 -+address sizes : 39 bits physical, 48 bits virtual -+power management: -+ -+processor : 2 -+vendor_id : GenuineIntel -+cpu family : 6 -+model : 142 -+model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz -+stepping : 10 -+microcode : 0xb4 -+cpu MHz : 800.010 -+cache size : 8192 KB -+physical id : 0 -+siblings : 8 -+core id : 2 -+cpu cores : 4 -+apicid : 4 -+initial apicid : 4 -+fpu : yes -+fpu_exception : yes -+cpuid level : 22 -+wp : yes -+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d -+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs -+bogomips : 4224.00 -+clflush size : 64 -+cache_alignment : 64 -+address sizes : 39 bits physical, 48 bits virtual -+power management: -+ -+processor : 3 -+vendor_id : GenuineIntel -+cpu family : 6 -+model : 142 -+model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz -+stepping : 10 -+microcode : 0xb4 -+cpu MHz : 800.028 -+cache size : 8192 KB -+physical id : 0 -+siblings : 8 -+core id : 3 -+cpu cores : 4 -+apicid : 6 -+initial apicid : 6 -+fpu : yes -+fpu_exception : yes -+cpuid level : 22 -+wp : yes -+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d -+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs -+bogomips : 4224.00 -+clflush size : 64 -+cache_alignment : 64 -+address sizes : 39 bits physical, 48 bits virtual -+power management: -+ -+processor : 4 -+vendor_id : GenuineIntel -+cpu family : 6 -+model : 142 -+model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz -+stepping : 10 -+microcode : 0xb4 -+cpu MHz : 799.989 -+cache size : 8192 KB -+physical id : 0 -+siblings : 8 -+core id : 0 -+cpu cores : 4 -+apicid : 1 -+initial apicid : 1 -+fpu : yes -+fpu_exception : yes -+cpuid level : 22 -+wp : yes -+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d -+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs -+bogomips : 4224.00 -+clflush size : 64 -+cache_alignment : 64 -+address sizes : 39 bits physical, 48 bits virtual -+power management: -+ -+processor : 5 -+vendor_id : GenuineIntel -+cpu family : 6 -+model : 142 -+model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz -+stepping : 10 -+microcode : 0xb4 -+cpu MHz : 800.083 -+cache size : 8192 KB -+physical id : 0 -+siblings : 8 -+core id : 1 -+cpu cores : 4 -+apicid : 3 -+initial apicid : 3 -+fpu : yes -+fpu_exception : yes -+cpuid level : 22 -+wp : yes -+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d -+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs -+bogomips : 4224.00 -+clflush size : 64 -+cache_alignment : 64 -+address sizes : 39 bits physical, 48 bits virtual -+power management: -+ -+processor : 6 -+vendor_id : GenuineIntel -+cpu family : 6 -+model : 142 -+model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz -+stepping : 10 -+microcode : 0xb4 -+cpu MHz : 800.017 -+cache size : 8192 KB -+physical id : 0 -+siblings : 8 -+core id : 2 -+cpu cores : 4 -+apicid : 5 -+initial apicid : 5 -+fpu : yes -+fpu_exception : yes -+cpuid level : 22 -+wp : yes -+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d -+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs -+bogomips : 4224.00 -+clflush size : 64 -+cache_alignment : 64 -+address sizes : 39 bits physical, 48 bits virtual -+power management: -+ -+processor : 7 -+vendor_id : GenuineIntel -+cpu family : 6 -+model : 142 -+model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz -+stepping : 10 -+microcode : 0xb4 -+cpu MHz : 800.030 -+cache size : 8192 KB -+physical id : 0 -+siblings : 8 -+core id : 3 -+cpu cores : 4 -+apicid : 7 -+initial apicid : 7 -+fpu : yes -+fpu_exception : yes -+cpuid level : 22 -+wp : yes -+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d -+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs -+bogomips : 4224.00 -+clflush size : 64 -+cache_alignment : 64 -+address sizes : 39 bits physical, 48 bits virtual -+power management: -+ -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/crypto -+Lines: 971 -+name : ccm(aes) -+driver : ccm_base(ctr(aes-aesni),cbcmac(aes-aesni)) -+module : ccm -+priority : 300 -+refcnt : 4 -+selftest : passed -+internal : no -+type : aead -+async : no -+blocksize : 1 -+ivsize : 16 -+maxauthsize : 16 -+geniv : -+ -+name : cbcmac(aes) -+driver : cbcmac(aes-aesni) -+module : ccm -+priority : 300 -+refcnt : 7 -+selftest : passed -+internal : no -+type : shash -+blocksize : 1 -+digestsize : 16 -+ -+name : ecdh -+driver : ecdh-generic -+module : ecdh_generic -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : kpp -+ -+name : ecb(arc4) -+driver : ecb(arc4)-generic -+module : arc4 -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : skcipher -+async : no -+blocksize : 1 -+min keysize : 1 -+max keysize : 256 -+ivsize : 0 -+chunksize : 1 -+walksize : 1 -+ -+name : arc4 -+driver : arc4-generic -+module : arc4 -+priority : 0 -+refcnt : 3 -+selftest : passed -+internal : no -+type : cipher -+blocksize : 1 -+min keysize : 1 -+max keysize : 256 -+ -+name : crct10dif -+driver : crct10dif-pclmul -+module : crct10dif_pclmul -+priority : 200 -+refcnt : 2 -+selftest : passed -+internal : no -+type : shash -+blocksize : 1 -+digestsize : 2 -+ -+name : crc32 -+driver : crc32-pclmul -+module : crc32_pclmul -+priority : 200 -+refcnt : 1 -+selftest : passed -+internal : no -+type : shash -+blocksize : 1 -+digestsize : 4 -+ -+name : __ghash -+driver : cryptd(__ghash-pclmulqdqni) -+module : kernel -+priority : 50 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : ahash -+async : yes -+blocksize : 16 -+digestsize : 16 -+ -+name : ghash -+driver : ghash-clmulni -+module : ghash_clmulni_intel -+priority : 400 -+refcnt : 1 -+selftest : passed -+internal : no -+type : ahash -+async : yes -+blocksize : 16 -+digestsize : 16 -+ -+name : __ghash -+driver : __ghash-pclmulqdqni -+module : ghash_clmulni_intel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : shash -+blocksize : 16 -+digestsize : 16 -+ -+name : crc32c -+driver : crc32c-intel -+module : crc32c_intel -+priority : 200 -+refcnt : 5 -+selftest : passed -+internal : no -+type : shash -+blocksize : 1 -+digestsize : 4 -+ -+name : cbc(aes) -+driver : cbc(aes-aesni) -+module : kernel -+priority : 300 -+refcnt : 1 -+selftest : passed -+internal : no -+type : skcipher -+async : no -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : ctr(aes) -+driver : ctr(aes-aesni) -+module : kernel -+priority : 300 -+refcnt : 5 -+selftest : passed -+internal : no -+type : skcipher -+async : no -+blocksize : 1 -+min keysize : 16 -+max keysize : 32 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : pkcs1pad(rsa,sha256) -+driver : pkcs1pad(rsa-generic,sha256) -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : akcipher -+ -+name : __xts(aes) -+driver : cryptd(__xts-aes-aesni) -+module : kernel -+priority : 451 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : skcipher -+async : yes -+blocksize : 16 -+min keysize : 32 -+max keysize : 64 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : xts(aes) -+driver : xts-aes-aesni -+module : kernel -+priority : 401 -+refcnt : 1 -+selftest : passed -+internal : no -+type : skcipher -+async : yes -+blocksize : 16 -+min keysize : 32 -+max keysize : 64 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : __ctr(aes) -+driver : cryptd(__ctr-aes-aesni) -+module : kernel -+priority : 450 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : skcipher -+async : yes -+blocksize : 1 -+min keysize : 16 -+max keysize : 32 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : ctr(aes) -+driver : ctr-aes-aesni -+module : kernel -+priority : 400 -+refcnt : 1 -+selftest : passed -+internal : no -+type : skcipher -+async : yes -+blocksize : 1 -+min keysize : 16 -+max keysize : 32 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : __cbc(aes) -+driver : cryptd(__cbc-aes-aesni) -+module : kernel -+priority : 450 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : skcipher -+async : yes -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : cbc(aes) -+driver : cbc-aes-aesni -+module : kernel -+priority : 400 -+refcnt : 1 -+selftest : passed -+internal : no -+type : skcipher -+async : yes -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : __ecb(aes) -+driver : cryptd(__ecb-aes-aesni) -+module : kernel -+priority : 450 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : skcipher -+async : yes -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ivsize : 0 -+chunksize : 16 -+walksize : 16 -+ -+name : ecb(aes) -+driver : ecb-aes-aesni -+module : kernel -+priority : 400 -+refcnt : 1 -+selftest : passed -+internal : no -+type : skcipher -+async : yes -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ivsize : 0 -+chunksize : 16 -+walksize : 16 -+ -+name : __generic-gcm-aes-aesni -+driver : cryptd(__driver-generic-gcm-aes-aesni) -+module : kernel -+priority : 50 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : aead -+async : yes -+blocksize : 1 -+ivsize : 12 -+maxauthsize : 16 -+geniv : -+ -+name : gcm(aes) -+driver : generic-gcm-aesni -+module : kernel -+priority : 400 -+refcnt : 1 -+selftest : passed -+internal : no -+type : aead -+async : yes -+blocksize : 1 -+ivsize : 12 -+maxauthsize : 16 -+geniv : -+ -+name : __generic-gcm-aes-aesni -+driver : __driver-generic-gcm-aes-aesni -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : aead -+async : no -+blocksize : 1 -+ivsize : 12 -+maxauthsize : 16 -+geniv : -+ -+name : __gcm-aes-aesni -+driver : cryptd(__driver-gcm-aes-aesni) -+module : kernel -+priority : 50 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : aead -+async : yes -+blocksize : 1 -+ivsize : 8 -+maxauthsize : 16 -+geniv : -+ -+name : rfc4106(gcm(aes)) -+driver : rfc4106-gcm-aesni -+module : kernel -+priority : 400 -+refcnt : 1 -+selftest : passed -+internal : no -+type : aead -+async : yes -+blocksize : 1 -+ivsize : 8 -+maxauthsize : 16 -+geniv : -+ -+name : __gcm-aes-aesni -+driver : __driver-gcm-aes-aesni -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : aead -+async : no -+blocksize : 1 -+ivsize : 8 -+maxauthsize : 16 -+geniv : -+ -+name : __xts(aes) -+driver : __xts-aes-aesni -+module : kernel -+priority : 401 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : skcipher -+async : no -+blocksize : 16 -+min keysize : 32 -+max keysize : 64 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : __ctr(aes) -+driver : __ctr-aes-aesni -+module : kernel -+priority : 400 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : skcipher -+async : no -+blocksize : 1 -+min keysize : 16 -+max keysize : 32 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : __cbc(aes) -+driver : __cbc-aes-aesni -+module : kernel -+priority : 400 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : skcipher -+async : no -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ivsize : 16 -+chunksize : 16 -+walksize : 16 -+ -+name : __ecb(aes) -+driver : __ecb-aes-aesni -+module : kernel -+priority : 400 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : skcipher -+async : no -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ivsize : 0 -+chunksize : 16 -+walksize : 16 -+ -+name : __aes -+driver : __aes-aesni -+module : kernel -+priority : 300 -+refcnt : 1 -+selftest : passed -+internal : yes -+type : cipher -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ -+name : aes -+driver : aes-aesni -+module : kernel -+priority : 300 -+refcnt : 8 -+selftest : passed -+internal : no -+type : cipher -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ -+name : hmac(sha1) -+driver : hmac(sha1-generic) -+module : kernel -+priority : 100 -+refcnt : 9 -+selftest : passed -+internal : no -+type : shash -+blocksize : 64 -+digestsize : 20 -+ -+name : ghash -+driver : ghash-generic -+module : kernel -+priority : 100 -+refcnt : 3 -+selftest : passed -+internal : no -+type : shash -+blocksize : 16 -+digestsize : 16 -+ -+name : jitterentropy_rng -+driver : jitterentropy_rng -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_hmac_sha256 -+module : kernel -+priority : 221 -+refcnt : 2 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_hmac_sha512 -+module : kernel -+priority : 220 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_hmac_sha384 -+module : kernel -+priority : 219 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_hmac_sha1 -+module : kernel -+priority : 218 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_sha256 -+module : kernel -+priority : 217 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_sha512 -+module : kernel -+priority : 216 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_sha384 -+module : kernel -+priority : 215 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_sha1 -+module : kernel -+priority : 214 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_ctr_aes256 -+module : kernel -+priority : 213 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_ctr_aes192 -+module : kernel -+priority : 212 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_nopr_ctr_aes128 -+module : kernel -+priority : 211 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : hmac(sha256) -+driver : hmac(sha256-generic) -+module : kernel -+priority : 100 -+refcnt : 10 -+selftest : passed -+internal : no -+type : shash -+blocksize : 64 -+digestsize : 32 -+ -+name : stdrng -+driver : drbg_pr_hmac_sha256 -+module : kernel -+priority : 210 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_hmac_sha512 -+module : kernel -+priority : 209 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_hmac_sha384 -+module : kernel -+priority : 208 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_hmac_sha1 -+module : kernel -+priority : 207 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_sha256 -+module : kernel -+priority : 206 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_sha512 -+module : kernel -+priority : 205 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_sha384 -+module : kernel -+priority : 204 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_sha1 -+module : kernel -+priority : 203 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_ctr_aes256 -+module : kernel -+priority : 202 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_ctr_aes192 -+module : kernel -+priority : 201 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : stdrng -+driver : drbg_pr_ctr_aes128 -+module : kernel -+priority : 200 -+refcnt : 1 -+selftest : passed -+internal : no -+type : rng -+seedsize : 0 -+ -+name : 842 -+driver : 842-scomp -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : scomp -+ -+name : 842 -+driver : 842-generic -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : compression -+ -+name : lzo-rle -+driver : lzo-rle-scomp -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : scomp -+ -+name : lzo-rle -+driver : lzo-rle-generic -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : compression -+ -+name : lzo -+driver : lzo-scomp -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : scomp -+ -+name : lzo -+driver : lzo-generic -+module : kernel -+priority : 0 -+refcnt : 9 -+selftest : passed -+internal : no -+type : compression -+ -+name : crct10dif -+driver : crct10dif-generic -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : shash -+blocksize : 1 -+digestsize : 2 -+ -+name : crc32c -+driver : crc32c-generic -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : shash -+blocksize : 1 -+digestsize : 4 -+ -+name : zlib-deflate -+driver : zlib-deflate-scomp -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : scomp -+ -+name : deflate -+driver : deflate-scomp -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : scomp -+ -+name : deflate -+driver : deflate-generic -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : compression -+ -+name : aes -+driver : aes-generic -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : cipher -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ -+name : sha224 -+driver : sha224-generic -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : shash -+blocksize : 64 -+digestsize : 28 -+ -+name : sha256 -+driver : sha256-generic -+module : kernel -+priority : 100 -+refcnt : 11 -+selftest : passed -+internal : no -+type : shash -+blocksize : 64 -+digestsize : 32 -+ -+name : sha1 -+driver : sha1-generic -+module : kernel -+priority : 100 -+refcnt : 11 -+selftest : passed -+internal : no -+type : shash -+blocksize : 64 -+digestsize : 20 -+ -+name : md5 -+driver : md5-generic -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : shash -+blocksize : 64 -+digestsize : 16 -+ -+name : ecb(cipher_null) -+driver : ecb-cipher_null -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : skcipher -+async : no -+blocksize : 1 -+min keysize : 0 -+max keysize : 0 -+ivsize : 0 -+chunksize : 1 -+walksize : 1 -+ -+name : digest_null -+driver : digest_null-generic -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : shash -+blocksize : 1 -+digestsize : 0 -+ -+name : compress_null -+driver : compress_null-generic -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : compression -+ -+name : cipher_null -+driver : cipher_null-generic -+module : kernel -+priority : 0 -+refcnt : 1 -+selftest : passed -+internal : no -+type : cipher -+blocksize : 1 -+min keysize : 0 -+max keysize : 0 -+ -+name : rsa -+driver : rsa-generic -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : akcipher -+ -+name : dh -+driver : dh-generic -+module : kernel -+priority : 100 -+refcnt : 1 -+selftest : passed -+internal : no -+type : kpp -+ -+name : aes -+driver : aes-asm -+module : kernel -+priority : 200 -+refcnt : 1 -+selftest : passed -+internal : no -+type : cipher -+blocksize : 16 -+min keysize : 16 -+max keysize : 32 -+ -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path: fixtures/proc/diskstats - Lines: 49 - 1 0 ram0 0 0 0 0 0 0 0 0 0 0 0 -@@ -423,6 +1677,12 @@ Mode: 644 - Directory: fixtures/proc/net - Mode: 755 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/net/arp -+Lines: 2 -+IP address HW type Flags HW address Mask Device -+192.168.224.1 0x1 0x2 00:50:56:c0:00:08 * ens33 -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path: fixtures/proc/net/dev - Lines: 6 - Inter-| Receive | Transmit -@@ -495,6 +1755,11 @@ proc4 2 2 10853 - proc4ops 72 0 0 0 1098 2 0 0 0 0 8179 5896 0 0 0 0 5900 0 0 2 0 2 0 9609 0 2 150 1272 0 0 0 1236 0 0 0 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/net/softnet_stat -+Lines: 1 -+00015c73 00020e76 F0000769 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path: fixtures/proc/net/unix - Lines: 6 - Num RefCount Protocol Flags Type St Inode Path -@@ -567,6 +1832,16 @@ some avg10=0.10 avg60=2.00 avg300=3.85 total=15 - full avg10=0.20 avg60=3.00 avg300=4.95 total=25 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/schedstat -+Lines: 6 -+version 15 -+timestamp 15819019232 -+cpu0 498494191 0 3533438552 2553969831 3853684107 2465731542 2045936778163039 343796328169361 4767485306 -+domain0 00000000,00000003 212499247 210112015 1861015 1860405436 536440 369895 32599 210079416 25368550 24241256 384652 927363878 807233 6366 1647 24239609 2122447165 1886868564 121112060 2848625533 125678146 241025 1032026 1885836538 2545 12 2533 0 0 0 0 0 0 1387952561 21076581 0 -+cpu1 518377256 0 4155211005 2778589869 10466382 2867629021 1904686152592476 364107263788241 5145567945 -+domain0 00000000,00000003 217653037 215526982 1577949 1580427380 557469 393576 28538 215498444 28721913 27662819 371153 870843407 745912 5523 1639 27661180 2331056874 2107732788 111442342 652402556 123615235 196159 1045245 2106687543 2400 3 2397 0 0 0 0 0 0 1437804657 26220076 0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path: fixtures/proc/self - SymlinkTo: 26231 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@@ -619,261 +1894,748 @@ Path: fixtures/proc/symlinktargets/xyz - Lines: 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys --Mode: 755 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/block --Mode: 775 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/block/dm-0 -+Directory: fixtures/proc/sys - Mode: 775 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/block/dm-0/stat --Lines: 1 --6447303 0 710266738 1529043 953216 0 31201176 4557464 0 796160 6088971 --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/block/sda -+Directory: fixtures/proc/sys/vm - Mode: 775 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/block/sda/stat -+Path: fixtures/proc/sys/vm/admin_reserve_kbytes - Lines: 1 --9652963 396792 759304206 412943 8422549 6731723 286915323 13947418 0 5658367 19174573 1 2 3 12 --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class --Mode: 775 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/infiniband --Mode: 755 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/infiniband/mlx4_0 --Mode: 755 -+8192 -+Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/board_id -+Path: fixtures/proc/sys/vm/block_dump - Lines: 1 --SM_1141000001000 -+0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/fw_ver -+Path: fixtures/proc/sys/vm/compact_unevictable_allowed - Lines: 1 --2.31.5050 -+1 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/hca_type -+Path: fixtures/proc/sys/vm/dirty_background_bytes - Lines: 1 --MT4099 -+0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/infiniband/mlx4_0/ports --Mode: 755 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/infiniband/mlx4_0/ports/1 --Mode: 755 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters --Mode: 755 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/excessive_buffer_overrun_errors -+Path: fixtures/proc/sys/vm/dirty_background_ratio - Lines: 1 --0 -+10 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/link_downed -+Path: fixtures/proc/sys/vm/dirty_bytes - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/link_error_recovery -+Path: fixtures/proc/sys/vm/dirty_expire_centisecs - Lines: 1 --0 -+3000 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/local_link_integrity_errors -+Path: fixtures/proc/sys/vm/dirty_ratio - Lines: 1 --0 -+20 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_constraint_errors -+Path: fixtures/proc/sys/vm/dirty_writeback_centisecs - Lines: 1 --0 -+500 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_data -+Path: fixtures/proc/sys/vm/dirtytime_expire_seconds - Lines: 1 --2221223609 -+43200 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_errors -+Path: fixtures/proc/sys/vm/drop_caches - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_packets -+Path: fixtures/proc/sys/vm/extfrag_threshold - Lines: 1 --87169372 -+500 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_remote_physical_errors -+Path: fixtures/proc/sys/vm/hugetlb_shm_group - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_switch_relay_errors -+Path: fixtures/proc/sys/vm/laptop_mode - Lines: 1 --0 -+5 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_constraint_errors -+Path: fixtures/proc/sys/vm/legacy_va_layout - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_data -+Path: fixtures/proc/sys/vm/lowmem_reserve_ratio - Lines: 1 --26509113295 -+256 256 32 0 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_discards -+Path: fixtures/proc/sys/vm/max_map_count - Lines: 1 --0 -+65530 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_packets -+Path: fixtures/proc/sys/vm/memory_failure_early_kill - Lines: 1 --85734114 -+0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_wait -+Path: fixtures/proc/sys/vm/memory_failure_recovery - Lines: 1 --3599 -+1 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/symbol_error -+Path: fixtures/proc/sys/vm/min_free_kbytes - Lines: 1 --0 -+67584 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/phys_state -+Path: fixtures/proc/sys/vm/min_slab_ratio - Lines: 1 --5: LinkUp -+5 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/rate -+Path: fixtures/proc/sys/vm/min_unmapped_ratio - Lines: 1 --40 Gb/sec (4X QDR) -+1 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/state -+Path: fixtures/proc/sys/vm/mmap_min_addr - Lines: 1 --4: ACTIVE -+65536 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/infiniband/mlx4_0/ports/2 --Mode: 755 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters --Mode: 755 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/excessive_buffer_overrun_errors -+Path: fixtures/proc/sys/vm/nr_hugepages - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/link_downed -+Path: fixtures/proc/sys/vm/nr_hugepages_mempolicy - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/link_error_recovery -+Path: fixtures/proc/sys/vm/nr_overcommit_hugepages - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/local_link_integrity_errors -+Path: fixtures/proc/sys/vm/numa_stat - Lines: 1 --0 -+1 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_constraint_errors -+Path: fixtures/proc/sys/vm/numa_zonelist_order - Lines: 1 --0 -+Node - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_data -+Path: fixtures/proc/sys/vm/oom_dump_tasks - Lines: 1 --2460436784 -+1 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_errors -+Path: fixtures/proc/sys/vm/oom_kill_allocating_task - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_packets -+Path: fixtures/proc/sys/vm/overcommit_kbytes - Lines: 1 --89332064 -+0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_remote_physical_errors -+Path: fixtures/proc/sys/vm/overcommit_memory - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_switch_relay_errors -+Path: fixtures/proc/sys/vm/overcommit_ratio - Lines: 1 --0 -+50 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_constraint_errors -+Path: fixtures/proc/sys/vm/page-cluster - Lines: 1 --0 -+3 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_data -+Path: fixtures/proc/sys/vm/panic_on_oom - Lines: 1 --26540356890 -+0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_discards -+Path: fixtures/proc/sys/vm/percpu_pagelist_fraction - Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_packets -+Path: fixtures/proc/sys/vm/stat_interval - Lines: 1 --88622850 -+1 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_wait -+Path: fixtures/proc/sys/vm/swappiness - Lines: 1 --3846 -+60 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/symbol_error -+Path: fixtures/proc/sys/vm/user_reserve_kbytes - Lines: 1 --0 -+131072 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/phys_state -+Path: fixtures/proc/sys/vm/vfs_cache_pressure - Lines: 1 --5: LinkUp -+100 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/rate -+Path: fixtures/proc/sys/vm/watermark_boost_factor - Lines: 1 --40 Gb/sec (4X QDR) -+15000 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/state -+Path: fixtures/proc/sys/vm/watermark_scale_factor - Lines: 1 --4: ACTIVE -+10 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/net --Mode: 775 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/net/eth0 -+Path: fixtures/proc/sys/vm/zone_reclaim_mode -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/proc/zoneinfo -+Lines: 262 -+Node 0, zone DMA -+ per-node stats -+ nr_inactive_anon 230981 -+ nr_active_anon 547580 -+ nr_inactive_file 316904 -+ nr_active_file 346282 -+ nr_unevictable 115467 -+ nr_slab_reclaimable 131220 -+ nr_slab_unreclaimable 47320 -+ nr_isolated_anon 0 -+ nr_isolated_file 0 -+ workingset_nodes 11627 -+ workingset_refault 466886 -+ workingset_activate 276925 -+ workingset_restore 84055 -+ workingset_nodereclaim 487 -+ nr_anon_pages 795576 -+ nr_mapped 215483 -+ nr_file_pages 761874 -+ nr_dirty 908 -+ nr_writeback 0 -+ nr_writeback_temp 0 -+ nr_shmem 224925 -+ nr_shmem_hugepages 0 -+ nr_shmem_pmdmapped 0 -+ nr_anon_transparent_hugepages 0 -+ nr_unstable 0 -+ nr_vmscan_write 12950 -+ nr_vmscan_immediate_reclaim 3033 -+ nr_dirtied 8007423 -+ nr_written 7752121 -+ nr_kernel_misc_reclaimable 0 -+ pages free 3952 -+ min 33 -+ low 41 -+ high 49 -+ spanned 4095 -+ present 3975 -+ managed 3956 -+ protection: (0, 2877, 7826, 7826, 7826) -+ nr_free_pages 3952 -+ nr_zone_inactive_anon 0 -+ nr_zone_active_anon 0 -+ nr_zone_inactive_file 0 -+ nr_zone_active_file 0 -+ nr_zone_unevictable 0 -+ nr_zone_write_pending 0 -+ nr_mlock 0 -+ nr_page_table_pages 0 -+ nr_kernel_stack 0 -+ nr_bounce 0 -+ nr_zspages 0 -+ nr_free_cma 0 -+ numa_hit 1 -+ numa_miss 0 -+ numa_foreign 0 -+ numa_interleave 0 -+ numa_local 1 -+ numa_other 0 -+ pagesets -+ cpu: 0 -+ count: 0 -+ high: 0 -+ batch: 1 -+ vm stats threshold: 8 -+ cpu: 1 -+ count: 0 -+ high: 0 -+ batch: 1 -+ vm stats threshold: 8 -+ cpu: 2 -+ count: 0 -+ high: 0 -+ batch: 1 -+ vm stats threshold: 8 -+ cpu: 3 -+ count: 0 -+ high: 0 -+ batch: 1 -+ vm stats threshold: 8 -+ cpu: 4 -+ count: 0 -+ high: 0 -+ batch: 1 -+ vm stats threshold: 8 -+ cpu: 5 -+ count: 0 -+ high: 0 -+ batch: 1 -+ vm stats threshold: 8 -+ cpu: 6 -+ count: 0 -+ high: 0 -+ batch: 1 -+ vm stats threshold: 8 -+ cpu: 7 -+ count: 0 -+ high: 0 -+ batch: 1 -+ vm stats threshold: 8 -+ node_unreclaimable: 0 -+ start_pfn: 1 -+Node 0, zone DMA32 -+ pages free 204252 -+ min 19510 -+ low 21059 -+ high 22608 -+ spanned 1044480 -+ present 759231 -+ managed 742806 -+ protection: (0, 0, 4949, 4949, 4949) -+ nr_free_pages 204252 -+ nr_zone_inactive_anon 118558 -+ nr_zone_active_anon 106598 -+ nr_zone_inactive_file 75475 -+ nr_zone_active_file 70293 -+ nr_zone_unevictable 66195 -+ nr_zone_write_pending 64 -+ nr_mlock 4 -+ nr_page_table_pages 1756 -+ nr_kernel_stack 2208 -+ nr_bounce 0 -+ nr_zspages 0 -+ nr_free_cma 0 -+ numa_hit 113952967 -+ numa_miss 0 -+ numa_foreign 0 -+ numa_interleave 0 -+ numa_local 113952967 -+ numa_other 0 -+ pagesets -+ cpu: 0 -+ count: 345 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 48 -+ cpu: 1 -+ count: 356 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 48 -+ cpu: 2 -+ count: 325 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 48 -+ cpu: 3 -+ count: 346 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 48 -+ cpu: 4 -+ count: 321 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 48 -+ cpu: 5 -+ count: 316 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 48 -+ cpu: 6 -+ count: 373 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 48 -+ cpu: 7 -+ count: 339 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 48 -+ node_unreclaimable: 0 -+ start_pfn: 4096 -+Node 0, zone Normal -+ pages free 18553 -+ min 11176 -+ low 13842 -+ high 16508 -+ spanned 1308160 -+ present 1308160 -+ managed 1268711 -+ protection: (0, 0, 0, 0, 0) -+ nr_free_pages 18553 -+ nr_zone_inactive_anon 112423 -+ nr_zone_active_anon 440982 -+ nr_zone_inactive_file 241429 -+ nr_zone_active_file 275989 -+ nr_zone_unevictable 49272 -+ nr_zone_write_pending 844 -+ nr_mlock 154 -+ nr_page_table_pages 9750 -+ nr_kernel_stack 15136 -+ nr_bounce 0 -+ nr_zspages 0 -+ nr_free_cma 0 -+ numa_hit 162718019 -+ numa_miss 0 -+ numa_foreign 0 -+ numa_interleave 26812 -+ numa_local 162718019 -+ numa_other 0 -+ pagesets -+ cpu: 0 -+ count: 316 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 56 -+ cpu: 1 -+ count: 366 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 56 -+ cpu: 2 -+ count: 60 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 56 -+ cpu: 3 -+ count: 256 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 56 -+ cpu: 4 -+ count: 253 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 56 -+ cpu: 5 -+ count: 159 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 56 -+ cpu: 6 -+ count: 311 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 56 -+ cpu: 7 -+ count: 264 -+ high: 378 -+ batch: 63 -+ vm stats threshold: 56 -+ node_unreclaimable: 0 -+ start_pfn: 1048576 -+Node 0, zone Movable -+ pages free 0 -+ min 0 -+ low 0 -+ high 0 -+ spanned 0 -+ present 0 -+ managed 0 -+ protection: (0, 0, 0, 0, 0) -+Node 0, zone Device -+ pages free 0 -+ min 0 -+ low 0 -+ high 0 -+ spanned 0 -+ present 0 -+ managed 0 -+ protection: (0, 0, 0, 0, 0) -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/block -+Mode: 775 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/block/dm-0 -+Mode: 775 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/block/dm-0/stat -+Lines: 1 -+6447303 0 710266738 1529043 953216 0 31201176 4557464 0 796160 6088971 -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/block/sda -+Mode: 775 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/block/sda/stat -+Lines: 1 -+9652963 396792 759304206 412943 8422549 6731723 286915323 13947418 0 5658367 19174573 1 2 3 12 -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class -+Mode: 775 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/infiniband -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/infiniband/mlx4_0 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/board_id -+Lines: 1 -+SM_1141000001000 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/fw_ver -+Lines: 1 -+2.31.5050 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/hca_type -+Lines: 1 -+MT4099 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/infiniband/mlx4_0/ports -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/infiniband/mlx4_0/ports/1 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/excessive_buffer_overrun_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/link_downed -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/link_error_recovery -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/local_link_integrity_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_constraint_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_data -+Lines: 1 -+2221223609 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_packets -+Lines: 1 -+87169372 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_remote_physical_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_switch_relay_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_constraint_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_data -+Lines: 1 -+26509113295 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_discards -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_packets -+Lines: 1 -+85734114 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_wait -+Lines: 1 -+3599 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/symbol_error -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/phys_state -+Lines: 1 -+5: LinkUp -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/rate -+Lines: 1 -+40 Gb/sec (4X QDR) -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/state -+Lines: 1 -+4: ACTIVE -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/infiniband/mlx4_0/ports/2 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/excessive_buffer_overrun_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/link_downed -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/link_error_recovery -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/local_link_integrity_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_constraint_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_data -+Lines: 1 -+2460436784 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_packets -+Lines: 1 -+89332064 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_remote_physical_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_switch_relay_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_constraint_errors -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_data -+Lines: 1 -+26540356890 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_discards -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_packets -+Lines: 1 -+88622850 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_wait -+Lines: 1 -+3846 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/symbol_error -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/phys_state -+Lines: 1 -+5: LinkUp -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/rate -+Lines: 1 -+40 Gb/sec (4X QDR) -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/state -+Lines: 1 -+4: ACTIVE -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/net -+Mode: 775 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/net/eth0 - Mode: 755 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path: fixtures/sys/class/net/eth0/addr_assign_type -@@ -921,6 +2683,9 @@ Lines: 1 - 0x20 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/net/eth0/device -+SymlinkTo: ../../../devices/pci0000:00/0000:00:1f.6/ -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path: fixtures/sys/class/net/eth0/dormant - Lines: 1 - 1 -@@ -987,132 +2752,409 @@ Path: fixtures/sys/class/net/eth0/phys_switch_id - Lines: 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/net/eth0/speed -+Path: fixtures/sys/class/net/eth0/speed -+Lines: 1 -+1000 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/net/eth0/tx_queue_len -+Lines: 1 -+1000 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/net/eth0/type -+Lines: 1 -+1 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/power_supply -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/power_supply/AC -+SymlinkTo: ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/power_supply/BAT0 -+SymlinkTo: ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/thermal -+Mode: 775 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/thermal/cooling_device0 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/cooling_device0/cur_state -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/cooling_device0/max_state -+Lines: 1 -+50 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/cooling_device0/type -+Lines: 1 -+Processor -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/thermal/cooling_device1 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/cooling_device1/cur_state -+Lines: 1 -+-1 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/cooling_device1/max_state -+Lines: 1 -+27 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/cooling_device1/type -+Lines: 1 -+intel_powerclamp -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/thermal/thermal_zone0 -+Mode: 775 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/thermal_zone0/policy -+Lines: 1 -+step_wise -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/thermal_zone0/temp -+Lines: 1 -+49925 -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/thermal_zone0/type -+Lines: 1 -+bcm2835_thermal -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/class/thermal/thermal_zone1 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/thermal_zone1/mode -+Lines: 1 -+enabled -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/thermal_zone1/passive -+Lines: 1 -+0 -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/thermal_zone1/policy -+Lines: 1 -+step_wise -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/thermal_zone1/temp -+Lines: 1 -+44000 -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/class/thermal/thermal_zone1/type -+Lines: 1 -+acpitz -+Mode: 664 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/device -+SymlinkTo: ../../../ACPI0003:00 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/online -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/async -+Lines: 1 -+disabled -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/autosuspend_delay_ms -+Lines: 0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/control -+Lines: 1 -+auto -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_active_kids -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_active_time -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_enabled -+Lines: 1 -+disabled -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_status -+Lines: 1 -+unsupported -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_suspended_time -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_usage -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup - Lines: 1 --1000 -+enabled - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/net/eth0/tx_queue_len -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_abort_count - Lines: 1 --1000 --Mode: 644 -+0 -+Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/net/eth0/type -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_active -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_active_count - Lines: 1 - 1 --Mode: 644 -+Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/power_supply --Mode: 755 -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_count -+Lines: 1 -+0 -+Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/power_supply/AC --Mode: 755 -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_expire_count -+Lines: 1 -+0 -+Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/AC/online -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_last_time_ms -+Lines: 1 -+10598 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_max_time_ms -+Lines: 1 -+1 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_prevent_sleep_time_ms - Lines: 1 - 0 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/AC/type -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_total_time_ms -+Lines: 1 -+1 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/subsystem -+SymlinkTo: ../../../../../../../../../class/power_supply -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/type - Lines: 1 - Mains - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/AC/uevent -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/uevent - Lines: 2 - POWER_SUPPLY_NAME=AC - POWER_SUPPLY_ONLINE=0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/power_supply/BAT0 -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 - Mode: 755 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/alarm -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/alarm - Lines: 1 --2503000 -+2369000 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/capacity -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/capacity - Lines: 1 - 98 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/capacity_level -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/capacity_level - Lines: 1 - Normal - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/charge_start_threshold -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/charge_start_threshold - Lines: 1 - 95 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/charge_stop_threshold -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/charge_stop_threshold - Lines: 1 - 100 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/cycle_count -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/cycle_count - Lines: 1 - 0 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/energy_full -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/device -+SymlinkTo: ../../../PNP0C0A:00 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full - Lines: 1 - 50060000 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/energy_full_design -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full_design - Lines: 1 - 47520000 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/energy_now -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now - Lines: 1 - 49450000 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/manufacturer -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/manufacturer - Lines: 1 - LGC - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/model_name -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/model_name - Lines: 1 - LNV-45N1 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/power_now -+Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/async -+Lines: 1 -+disabled -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/autosuspend_delay_ms -+Lines: 0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/control -+Lines: 1 -+auto -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_active_kids -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_active_time -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_enabled -+Lines: 1 -+disabled -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_status -+Lines: 1 -+unsupported -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_suspended_time -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_usage -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power_now - Lines: 1 - 4830000 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/present -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/present - Lines: 1 - 1 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/serial_number -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/serial_number - Lines: 1 - 38109 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/status -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/status - Lines: 1 - Discharging - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/technology -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/subsystem -+SymlinkTo: ../../../../../../../../../class/power_supply -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/technology - Lines: 1 - Li-ion - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/type -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/type - Lines: 1 - Battery - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/uevent -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/uevent - Lines: 16 - POWER_SUPPLY_NAME=BAT0 - POWER_SUPPLY_STATUS=Discharging -@@ -1120,80 +3162,28 @@ POWER_SUPPLY_PRESENT=1 - POWER_SUPPLY_TECHNOLOGY=Li-ion - POWER_SUPPLY_CYCLE_COUNT=0 - POWER_SUPPLY_VOLTAGE_MIN_DESIGN=10800000 --POWER_SUPPLY_VOLTAGE_NOW=12229000 --POWER_SUPPLY_POWER_NOW=4830000 -+POWER_SUPPLY_VOLTAGE_NOW=11750000 -+POWER_SUPPLY_POWER_NOW=5064000 - POWER_SUPPLY_ENERGY_FULL_DESIGN=47520000 --POWER_SUPPLY_ENERGY_FULL=50060000 --POWER_SUPPLY_ENERGY_NOW=49450000 --POWER_SUPPLY_CAPACITY=98 -+POWER_SUPPLY_ENERGY_FULL=47390000 -+POWER_SUPPLY_ENERGY_NOW=40730000 -+POWER_SUPPLY_CAPACITY=85 - POWER_SUPPLY_CAPACITY_LEVEL=Normal - POWER_SUPPLY_MODEL_NAME=LNV-45N1 - POWER_SUPPLY_MANUFACTURER=LGC - POWER_SUPPLY_SERIAL_NUMBER=38109 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/voltage_min_design -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/voltage_min_design - Lines: 1 - 10800000 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/power_supply/BAT0/voltage_now -+Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/voltage_now - Lines: 1 - 12229000 - Mode: 444 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/thermal --Mode: 775 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/thermal/thermal_zone0 --Mode: 775 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/thermal/thermal_zone0/policy --Lines: 1 --step_wise --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/thermal/thermal_zone0/temp --Lines: 1 --49925 --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/thermal/thermal_zone0/type --Lines: 1 --bcm2835_thermal --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/class/thermal/thermal_zone1 --Mode: 755 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/thermal/thermal_zone1/mode --Lines: 1 --enabled --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/thermal/thermal_zone1/passive --Lines: 1 --0 --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/thermal/thermal_zone1/policy --Lines: 1 --step_wise --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/thermal/thermal_zone1/temp --Lines: 1 --44000 --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Path: fixtures/sys/class/thermal/thermal_zone1/type --Lines: 1 --acpitz --Mode: 664 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --Directory: fixtures/sys/devices --Mode: 755 --# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Directory: fixtures/sys/devices/pci0000:00 - Mode: 755 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@@ -1443,6 +3433,131 @@ Lines: 1 - 0 - Mode: 644 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/pci0000:00/0000:00:1f.6 -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/ari_enabled -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/broken_parity_status -+Lines: 1 -+0 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/class -+Lines: 1 -+0x020000 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/consistent_dma_mask_bits -+Lines: 1 -+64 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/d3cold_allowed -+Lines: 1 -+1 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/device -+Lines: 1 -+0x15d7 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/dma_mask_bits -+Lines: 1 -+64 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/driver_override -+Lines: 1 -+(null) -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/enable -+Lines: 1 -+1 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/irq -+Lines: 1 -+140 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/local_cpulist -+Lines: 1 -+0-7 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/local_cpus -+Lines: 1 -+ff -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/modalias -+Lines: 1 -+pci:v00008086d000015D7sv000017AAsd0000225Abc02sc00i00 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/msi_bus -+Lines: 1 -+1 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/numa_node -+Lines: 1 -+-1 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/resource -+Lines: 13 -+0x00000000ec200000 0x00000000ec21ffff 0x0000000000040200 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+0x0000000000000000 0x0000000000000000 0x0000000000000000 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/revision -+Lines: 1 -+0x21 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/subsystem_device -+Lines: 1 -+0x225a -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/subsystem_vendor -+Lines: 1 -+0x17aa -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/uevent -+Lines: 6 -+DRIVER=e1000e -+PCI_CLASS=20000 -+PCI_ID=8086:15D7 -+PCI_SUBSYS_ID=17AA:225A -+PCI_SLOT_NAME=0000:00:1f.6 -+MODALIAS=pci:v00008086d000015D7sv000017AAsd0000225Abc02sc00i00 -+Mode: 644 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/vendor -+Lines: 1 -+0x8086 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Directory: fixtures/sys/devices/rbd - Mode: 755 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@@ -1500,6 +3615,52 @@ Mode: 775 - Path: fixtures/sys/devices/system/cpu/cpu0/cpufreq - SymlinkTo: ../cpufreq/policy0 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/system/cpu/cpu0/thermal_throttle -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu0/thermal_throttle/core_throttle_count -+Lines: 1 -+10084 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu0/thermal_throttle/package_throttle_count -+Lines: 1 -+34818 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/system/cpu/cpu0/topology -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu0/topology/core_id -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu0/topology/core_siblings -+Lines: 1 -+ff -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu0/topology/core_siblings_list -+Lines: 1 -+0-7 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu0/topology/physical_package_id -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu0/topology/thread_siblings -+Lines: 1 -+11 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu0/topology/thread_siblings_list -+Lines: 1 -+0,4 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Directory: fixtures/sys/devices/system/cpu/cpu1 - Mode: 775 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@@ -1561,6 +3722,52 @@ Lines: 1 - - Mode: 664 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/system/cpu/cpu1/thermal_throttle -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu1/thermal_throttle/core_throttle_count -+Lines: 1 -+523 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu1/thermal_throttle/package_throttle_count -+Lines: 1 -+34818 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Directory: fixtures/sys/devices/system/cpu/cpu1/topology -+Mode: 755 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu1/topology/core_id -+Lines: 1 -+1 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu1/topology/core_siblings -+Lines: 1 -+ff -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu1/topology/core_siblings_list -+Lines: 1 -+0-7 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu1/topology/physical_package_id -+Lines: 1 -+0 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu1/topology/thread_siblings -+Lines: 1 -+22 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+Path: fixtures/sys/devices/system/cpu/cpu1/topology/thread_siblings_list -+Lines: 1 -+1,5 -+Mode: 444 -+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Directory: fixtures/sys/devices/system/cpu/cpufreq - Mode: 775 - # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -diff --git a/vendor/github.com/prometheus/procfs/internal/util/parse.go b/vendor/github.com/prometheus/procfs/internal/util/parse.go -new file mode 100644 -index 000000000..755591d9a ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/internal/util/parse.go -@@ -0,0 +1,88 @@ -+// Copyright 2018 The Prometheus Authors -+// 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 util -+ -+import ( -+ "io/ioutil" -+ "strconv" -+ "strings" -+) -+ -+// ParseUint32s parses a slice of strings into a slice of uint32s. -+func ParseUint32s(ss []string) ([]uint32, error) { -+ us := make([]uint32, 0, len(ss)) -+ for _, s := range ss { -+ u, err := strconv.ParseUint(s, 10, 32) -+ if err != nil { -+ return nil, err -+ } -+ -+ us = append(us, uint32(u)) -+ } -+ -+ return us, nil -+} -+ -+// ParseUint64s parses a slice of strings into a slice of uint64s. -+func ParseUint64s(ss []string) ([]uint64, error) { -+ us := make([]uint64, 0, len(ss)) -+ for _, s := range ss { -+ u, err := strconv.ParseUint(s, 10, 64) -+ if err != nil { -+ return nil, err -+ } -+ -+ us = append(us, u) -+ } -+ -+ return us, nil -+} -+ -+// ParsePInt64s parses a slice of strings into a slice of int64 pointers. -+func ParsePInt64s(ss []string) ([]*int64, error) { -+ us := make([]*int64, 0, len(ss)) -+ for _, s := range ss { -+ u, err := strconv.ParseInt(s, 10, 64) -+ if err != nil { -+ return nil, err -+ } -+ -+ us = append(us, &u) -+ } -+ -+ return us, nil -+} -+ -+// ReadUintFromFile reads a file and attempts to parse a uint64 from it. -+func ReadUintFromFile(path string) (uint64, error) { -+ data, err := ioutil.ReadFile(path) -+ if err != nil { -+ return 0, err -+ } -+ return strconv.ParseUint(strings.TrimSpace(string(data)), 10, 64) -+} -+ -+// ParseBool parses a string into a boolean pointer. -+func ParseBool(b string) *bool { -+ var truth bool -+ switch b { -+ case "enabled": -+ truth = true -+ case "disabled": -+ truth = false -+ default: -+ return nil -+ } -+ return &truth -+} -diff --git a/vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go -new file mode 100644 -index 000000000..68b37c4b3 ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go -@@ -0,0 +1,45 @@ -+// Copyright 2018 The Prometheus Authors -+// 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. -+ -+// +build linux,!appengine -+ -+package util -+ -+import ( -+ "bytes" -+ "os" -+ "syscall" -+) -+ -+// SysReadFile is a simplified ioutil.ReadFile that invokes syscall.Read directly. -+// https://github.com/prometheus/node_exporter/pull/728/files -+func SysReadFile(file string) (string, error) { -+ f, err := os.Open(file) -+ if err != nil { -+ return "", err -+ } -+ defer f.Close() -+ -+ // On some machines, hwmon drivers are broken and return EAGAIN. This causes -+ // Go's ioutil.ReadFile implementation to poll forever. -+ // -+ // Since we either want to read data or bail immediately, do the simplest -+ // possible read using syscall directly. -+ b := make([]byte, 128) -+ n, err := syscall.Read(int(f.Fd()), b) -+ if err != nil { -+ return "", err -+ } -+ -+ return string(bytes.TrimSpace(b[:n])), nil -+} -diff --git a/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go -new file mode 100644 -index 000000000..bd55b4537 ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go -@@ -0,0 +1,26 @@ -+// Copyright 2019 The Prometheus Authors -+// 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. -+ -+// +build linux,appengine !linux -+ -+package util -+ -+import ( -+ "fmt" -+) -+ -+// SysReadFile is here implemented as a noop for builds that do not support -+// the read syscall. For example Windows, or Linux on Google App Engine. -+func SysReadFile(file string) (string, error) { -+ return "", fmt.Errorf("not supported on this platform") -+} -diff --git a/vendor/github.com/prometheus/procfs/internal/util/valueparser.go b/vendor/github.com/prometheus/procfs/internal/util/valueparser.go -new file mode 100644 -index 000000000..ac93cb42d ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/internal/util/valueparser.go -@@ -0,0 +1,77 @@ -+// Copyright 2019 The Prometheus Authors -+// 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 util -+ -+import ( -+ "strconv" -+) -+ -+// TODO(mdlayher): util packages are an anti-pattern and this should be moved -+// somewhere else that is more focused in the future. -+ -+// A ValueParser enables parsing a single string into a variety of data types -+// in a concise and safe way. The Err method must be invoked after invoking -+// any other methods to ensure a value was successfully parsed. -+type ValueParser struct { -+ v string -+ err error -+} -+ -+// NewValueParser creates a ValueParser using the input string. -+func NewValueParser(v string) *ValueParser { -+ return &ValueParser{v: v} -+} -+ -+// PInt64 interprets the underlying value as an int64 and returns a pointer to -+// that value. -+func (vp *ValueParser) PInt64() *int64 { -+ if vp.err != nil { -+ return nil -+ } -+ -+ // A base value of zero makes ParseInt infer the correct base using the -+ // string's prefix, if any. -+ const base = 0 -+ v, err := strconv.ParseInt(vp.v, base, 64) -+ if err != nil { -+ vp.err = err -+ return nil -+ } -+ -+ return &v -+} -+ -+// PUInt64 interprets the underlying value as an uint64 and returns a pointer to -+// that value. -+func (vp *ValueParser) PUInt64() *uint64 { -+ if vp.err != nil { -+ return nil -+ } -+ -+ // A base value of zero makes ParseInt infer the correct base using the -+ // string's prefix, if any. -+ const base = 0 -+ v, err := strconv.ParseUint(vp.v, base, 64) -+ if err != nil { -+ vp.err = err -+ return nil -+ } -+ -+ return &v -+} -+ -+// Err returns the last error, if any, encountered by the ValueParser. -+func (vp *ValueParser) Err() error { -+ return vp.err -+} -diff --git a/vendor/github.com/prometheus/procfs/net_softnet.go b/vendor/github.com/prometheus/procfs/net_softnet.go -new file mode 100644 -index 000000000..6fcad20af ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/net_softnet.go -@@ -0,0 +1,91 @@ -+// Copyright 2019 The Prometheus Authors -+// 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 procfs -+ -+import ( -+ "fmt" -+ "io/ioutil" -+ "strconv" -+ "strings" -+) -+ -+// For the proc file format details, -+// see https://elixir.bootlin.com/linux/v4.17/source/net/core/net-procfs.c#L162 -+// and https://elixir.bootlin.com/linux/v4.17/source/include/linux/netdevice.h#L2810. -+ -+// SoftnetEntry contains a single row of data from /proc/net/softnet_stat -+type SoftnetEntry struct { -+ // Number of processed packets -+ Processed uint -+ // Number of dropped packets -+ Dropped uint -+ // Number of times processing packets ran out of quota -+ TimeSqueezed uint -+} -+ -+// GatherSoftnetStats reads /proc/net/softnet_stat, parse the relevant columns, -+// and then return a slice of SoftnetEntry's. -+func (fs FS) GatherSoftnetStats() ([]SoftnetEntry, error) { -+ data, err := ioutil.ReadFile(fs.proc.Path("net/softnet_stat")) -+ if err != nil { -+ return nil, fmt.Errorf("error reading softnet %s: %s", fs.proc.Path("net/softnet_stat"), err) -+ } -+ -+ return parseSoftnetEntries(data) -+} -+ -+func parseSoftnetEntries(data []byte) ([]SoftnetEntry, error) { -+ lines := strings.Split(string(data), "\n") -+ entries := make([]SoftnetEntry, 0) -+ var err error -+ const ( -+ expectedColumns = 11 -+ ) -+ for _, line := range lines { -+ columns := strings.Fields(line) -+ width := len(columns) -+ if width == 0 { -+ continue -+ } -+ if width != expectedColumns { -+ return []SoftnetEntry{}, fmt.Errorf("%d columns were detected, but %d were expected", width, expectedColumns) -+ } -+ var entry SoftnetEntry -+ if entry, err = parseSoftnetEntry(columns); err != nil { -+ return []SoftnetEntry{}, err -+ } -+ entries = append(entries, entry) -+ } -+ -+ return entries, nil -+} -+ -+func parseSoftnetEntry(columns []string) (SoftnetEntry, error) { -+ var err error -+ var processed, dropped, timeSqueezed uint64 -+ if processed, err = strconv.ParseUint(columns[0], 16, 32); err != nil { -+ return SoftnetEntry{}, fmt.Errorf("Unable to parse column 0: %s", err) -+ } -+ if dropped, err = strconv.ParseUint(columns[1], 16, 32); err != nil { -+ return SoftnetEntry{}, fmt.Errorf("Unable to parse column 1: %s", err) -+ } -+ if timeSqueezed, err = strconv.ParseUint(columns[2], 16, 32); err != nil { -+ return SoftnetEntry{}, fmt.Errorf("Unable to parse column 2: %s", err) -+ } -+ return SoftnetEntry{ -+ Processed: uint(processed), -+ Dropped: uint(dropped), -+ TimeSqueezed: uint(timeSqueezed), -+ }, nil -+} -diff --git a/vendor/github.com/prometheus/procfs/proc.go b/vendor/github.com/prometheus/procfs/proc.go -index 41c148d06..b7c79cf77 100644 ---- a/vendor/github.com/prometheus/procfs/proc.go -+++ b/vendor/github.com/prometheus/procfs/proc.go -@@ -279,3 +279,33 @@ func (p Proc) fileDescriptors() ([]string, error) { - func (p Proc) path(pa ...string) string { - return p.fs.Path(append([]string{strconv.Itoa(p.PID)}, pa...)...) - } -+ -+// FileDescriptorsInfo retrieves information about all file descriptors of -+// the process. -+func (p Proc) FileDescriptorsInfo() (ProcFDInfos, error) { -+ names, err := p.fileDescriptors() -+ if err != nil { -+ return nil, err -+ } -+ -+ var fdinfos ProcFDInfos -+ -+ for _, n := range names { -+ fdinfo, err := p.FDInfo(n) -+ if err != nil { -+ continue -+ } -+ fdinfos = append(fdinfos, *fdinfo) -+ } -+ -+ return fdinfos, nil -+} -+ -+// Schedstat returns task scheduling information for the process. -+func (p Proc) Schedstat() (ProcSchedstat, error) { -+ contents, err := ioutil.ReadFile(p.path("schedstat")) -+ if err != nil { -+ return ProcSchedstat{}, err -+ } -+ return parseProcSchedstat(string(contents)) -+} -diff --git a/vendor/github.com/prometheus/procfs/proc_fdinfo.go b/vendor/github.com/prometheus/procfs/proc_fdinfo.go -new file mode 100644 -index 000000000..83b67d1bd ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/proc_fdinfo.go -@@ -0,0 +1,132 @@ -+// Copyright 2019 The Prometheus Authors -+// 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 procfs -+ -+import ( -+ "bufio" -+ "fmt" -+ "io/ioutil" -+ "os" -+ "regexp" -+ "strings" -+) -+ -+// Regexp variables -+var ( -+ rPos = regexp.MustCompile(`^pos:\s+(\d+)$`) -+ rFlags = regexp.MustCompile(`^flags:\s+(\d+)$`) -+ rMntID = regexp.MustCompile(`^mnt_id:\s+(\d+)$`) -+ rInotify = regexp.MustCompile(`^inotify`) -+) -+ -+// ProcFDInfo contains represents file descriptor information. -+type ProcFDInfo struct { -+ // File descriptor -+ FD string -+ // File offset -+ Pos string -+ // File access mode and status flags -+ Flags string -+ // Mount point ID -+ MntID string -+ // List of inotify lines (structed) in the fdinfo file (kernel 3.8+ only) -+ InotifyInfos []InotifyInfo -+} -+ -+// FDInfo constructor. On kernels older than 3.8, InotifyInfos will always be empty. -+func (p Proc) FDInfo(fd string) (*ProcFDInfo, error) { -+ f, err := os.Open(p.path("fdinfo", fd)) -+ if err != nil { -+ return nil, err -+ } -+ defer f.Close() -+ -+ fdinfo, err := ioutil.ReadAll(f) -+ if err != nil { -+ return nil, fmt.Errorf("could not read %s: %s", f.Name(), err) -+ } -+ -+ var text, pos, flags, mntid string -+ var inotify []InotifyInfo -+ -+ scanner := bufio.NewScanner(strings.NewReader(string(fdinfo))) -+ for scanner.Scan() { -+ text = scanner.Text() -+ if rPos.MatchString(text) { -+ pos = rPos.FindStringSubmatch(text)[1] -+ } else if rFlags.MatchString(text) { -+ flags = rFlags.FindStringSubmatch(text)[1] -+ } else if rMntID.MatchString(text) { -+ mntid = rMntID.FindStringSubmatch(text)[1] -+ } else if rInotify.MatchString(text) { -+ newInotify, err := parseInotifyInfo(text) -+ if err != nil { -+ return nil, err -+ } -+ inotify = append(inotify, *newInotify) -+ } -+ } -+ -+ i := &ProcFDInfo{ -+ FD: fd, -+ Pos: pos, -+ Flags: flags, -+ MntID: mntid, -+ InotifyInfos: inotify, -+ } -+ -+ return i, nil -+} -+ -+// InotifyInfo represents a single inotify line in the fdinfo file. -+type InotifyInfo struct { -+ // Watch descriptor number -+ WD string -+ // Inode number -+ Ino string -+ // Device ID -+ Sdev string -+ // Mask of events being monitored -+ Mask string -+} -+ -+// InotifyInfo constructor. Only available on kernel 3.8+. -+func parseInotifyInfo(line string) (*InotifyInfo, error) { -+ r := regexp.MustCompile(`^inotify\s+wd:([0-9a-f]+)\s+ino:([0-9a-f]+)\s+sdev:([0-9a-f]+)\s+mask:([0-9a-f]+)`) -+ m := r.FindStringSubmatch(line) -+ i := &InotifyInfo{ -+ WD: m[1], -+ Ino: m[2], -+ Sdev: m[3], -+ Mask: m[4], -+ } -+ return i, nil -+} -+ -+// ProcFDInfos represents a list of ProcFDInfo structs. -+type ProcFDInfos []ProcFDInfo -+ -+func (p ProcFDInfos) Len() int { return len(p) } -+func (p ProcFDInfos) Swap(i, j int) { p[i], p[j] = p[j], p[i] } -+func (p ProcFDInfos) Less(i, j int) bool { return p[i].FD < p[j].FD } -+ -+// InotifyWatchLen returns the total number of inotify watches -+func (p ProcFDInfos) InotifyWatchLen() (int, error) { -+ length := 0 -+ for _, f := range p { -+ length += len(f.InotifyInfos) -+ } -+ -+ return length, nil -+} -diff --git a/vendor/github.com/prometheus/procfs/proc_status.go b/vendor/github.com/prometheus/procfs/proc_status.go -index 6b4b61f71..ad290fae7 100644 ---- a/vendor/github.com/prometheus/procfs/proc_status.go -+++ b/vendor/github.com/prometheus/procfs/proc_status.go -@@ -21,7 +21,7 @@ import ( - "strings" - ) - --// ProcStat provides status information about the process, -+// ProcStatus provides status information about the process, - // read from /proc/[pid]/stat. - type ProcStatus struct { - // The process ID. -@@ -29,6 +29,9 @@ type ProcStatus struct { - // The process name. - Name string - -+ // Thread group ID. -+ TGID int -+ - // Peak virtual memory size. - VmPeak uint64 - // Virtual memory size. -@@ -113,6 +116,8 @@ func (p Proc) NewStatus() (ProcStatus, error) { - - func (s *ProcStatus) fillStatus(k string, vString string, vUint uint64, vUintBytes uint64) { - switch k { -+ case "Tgid": -+ s.TGID = int(vUint) - case "Name": - s.Name = vString - case "VmPeak": -diff --git a/vendor/github.com/prometheus/procfs/schedstat.go b/vendor/github.com/prometheus/procfs/schedstat.go -new file mode 100644 -index 000000000..a4c4089ac ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/schedstat.go -@@ -0,0 +1,118 @@ -+// Copyright 2019 The Prometheus Authors -+// 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 procfs -+ -+import ( -+ "bufio" -+ "errors" -+ "os" -+ "regexp" -+ "strconv" -+) -+ -+var ( -+ cpuLineRE = regexp.MustCompile(`cpu(\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+)`) -+ procLineRE = regexp.MustCompile(`(\d+) (\d+) (\d+)`) -+) -+ -+// Schedstat contains scheduler statistics from /proc/schedstat -+// -+// See -+// https://www.kernel.org/doc/Documentation/scheduler/sched-stats.txt -+// for a detailed description of what these numbers mean. -+// -+// Note the current kernel documentation claims some of the time units are in -+// jiffies when they are actually in nanoseconds since 2.6.23 with the -+// introduction of CFS. A fix to the documentation is pending. See -+// https://lore.kernel.org/patchwork/project/lkml/list/?series=403473 -+type Schedstat struct { -+ CPUs []*SchedstatCPU -+} -+ -+// SchedstatCPU contains the values from one "cpu" line -+type SchedstatCPU struct { -+ CPUNum string -+ -+ RunningNanoseconds uint64 -+ WaitingNanoseconds uint64 -+ RunTimeslices uint64 -+} -+ -+// ProcSchedstat contains the values from /proc//schedstat -+type ProcSchedstat struct { -+ RunningNanoseconds uint64 -+ WaitingNanoseconds uint64 -+ RunTimeslices uint64 -+} -+ -+// Schedstat reads data from /proc/schedstat -+func (fs FS) Schedstat() (*Schedstat, error) { -+ file, err := os.Open(fs.proc.Path("schedstat")) -+ if err != nil { -+ return nil, err -+ } -+ defer file.Close() -+ -+ stats := &Schedstat{} -+ scanner := bufio.NewScanner(file) -+ -+ for scanner.Scan() { -+ match := cpuLineRE.FindStringSubmatch(scanner.Text()) -+ if match != nil { -+ cpu := &SchedstatCPU{} -+ cpu.CPUNum = match[1] -+ -+ cpu.RunningNanoseconds, err = strconv.ParseUint(match[8], 10, 64) -+ if err != nil { -+ continue -+ } -+ -+ cpu.WaitingNanoseconds, err = strconv.ParseUint(match[9], 10, 64) -+ if err != nil { -+ continue -+ } -+ -+ cpu.RunTimeslices, err = strconv.ParseUint(match[10], 10, 64) -+ if err != nil { -+ continue -+ } -+ -+ stats.CPUs = append(stats.CPUs, cpu) -+ } -+ } -+ -+ return stats, nil -+} -+ -+func parseProcSchedstat(contents string) (stats ProcSchedstat, err error) { -+ match := procLineRE.FindStringSubmatch(contents) -+ -+ if match != nil { -+ stats.RunningNanoseconds, err = strconv.ParseUint(match[1], 10, 64) -+ if err != nil { -+ return -+ } -+ -+ stats.WaitingNanoseconds, err = strconv.ParseUint(match[2], 10, 64) -+ if err != nil { -+ return -+ } -+ -+ stats.RunTimeslices, err = strconv.ParseUint(match[3], 10, 64) -+ return -+ } -+ -+ err = errors.New("could not parse schedstat") -+ return -+} -diff --git a/vendor/github.com/prometheus/procfs/vm.go b/vendor/github.com/prometheus/procfs/vm.go -new file mode 100644 -index 000000000..cb1389141 ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/vm.go -@@ -0,0 +1,210 @@ -+// Copyright 2019 The Prometheus Authors -+// 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. -+ -+// +build !windows -+ -+package procfs -+ -+import ( -+ "fmt" -+ "io/ioutil" -+ "os" -+ "path/filepath" -+ "strings" -+ -+ "github.com/prometheus/procfs/internal/util" -+) -+ -+// The VM interface is described at -+// https://www.kernel.org/doc/Documentation/sysctl/vm.txt -+// Each setting is exposed as a single file. -+// Each file contains one line with a single numerical value, except lowmem_reserve_ratio which holds an array -+// and numa_zonelist_order (deprecated) which is a string -+type VM struct { -+ AdminReserveKbytes *int64 // /proc/sys/vm/admin_reserve_kbytes -+ BlockDump *int64 // /proc/sys/vm/block_dump -+ CompactUnevictableAllowed *int64 // /proc/sys/vm/compact_unevictable_allowed -+ DirtyBackgroundBytes *int64 // /proc/sys/vm/dirty_background_bytes -+ DirtyBackgroundRatio *int64 // /proc/sys/vm/dirty_background_ratio -+ DirtyBytes *int64 // /proc/sys/vm/dirty_bytes -+ DirtyExpireCentisecs *int64 // /proc/sys/vm/dirty_expire_centisecs -+ DirtyRatio *int64 // /proc/sys/vm/dirty_ratio -+ DirtytimeExpireSeconds *int64 // /proc/sys/vm/dirtytime_expire_seconds -+ DirtyWritebackCentisecs *int64 // /proc/sys/vm/dirty_writeback_centisecs -+ DropCaches *int64 // /proc/sys/vm/drop_caches -+ ExtfragThreshold *int64 // /proc/sys/vm/extfrag_threshold -+ HugetlbShmGroup *int64 // /proc/sys/vm/hugetlb_shm_group -+ LaptopMode *int64 // /proc/sys/vm/laptop_mode -+ LegacyVaLayout *int64 // /proc/sys/vm/legacy_va_layout -+ LowmemReserveRatio []*int64 // /proc/sys/vm/lowmem_reserve_ratio -+ MaxMapCount *int64 // /proc/sys/vm/max_map_count -+ MemoryFailureEarlyKill *int64 // /proc/sys/vm/memory_failure_early_kill -+ MemoryFailureRecovery *int64 // /proc/sys/vm/memory_failure_recovery -+ MinFreeKbytes *int64 // /proc/sys/vm/min_free_kbytes -+ MinSlabRatio *int64 // /proc/sys/vm/min_slab_ratio -+ MinUnmappedRatio *int64 // /proc/sys/vm/min_unmapped_ratio -+ MmapMinAddr *int64 // /proc/sys/vm/mmap_min_addr -+ NrHugepages *int64 // /proc/sys/vm/nr_hugepages -+ NrHugepagesMempolicy *int64 // /proc/sys/vm/nr_hugepages_mempolicy -+ NrOvercommitHugepages *int64 // /proc/sys/vm/nr_overcommit_hugepages -+ NumaStat *int64 // /proc/sys/vm/numa_stat -+ NumaZonelistOrder string // /proc/sys/vm/numa_zonelist_order -+ OomDumpTasks *int64 // /proc/sys/vm/oom_dump_tasks -+ OomKillAllocatingTask *int64 // /proc/sys/vm/oom_kill_allocating_task -+ OvercommitKbytes *int64 // /proc/sys/vm/overcommit_kbytes -+ OvercommitMemory *int64 // /proc/sys/vm/overcommit_memory -+ OvercommitRatio *int64 // /proc/sys/vm/overcommit_ratio -+ PageCluster *int64 // /proc/sys/vm/page-cluster -+ PanicOnOom *int64 // /proc/sys/vm/panic_on_oom -+ PercpuPagelistFraction *int64 // /proc/sys/vm/percpu_pagelist_fraction -+ StatInterval *int64 // /proc/sys/vm/stat_interval -+ Swappiness *int64 // /proc/sys/vm/swappiness -+ UserReserveKbytes *int64 // /proc/sys/vm/user_reserve_kbytes -+ VfsCachePressure *int64 // /proc/sys/vm/vfs_cache_pressure -+ WatermarkBoostFactor *int64 // /proc/sys/vm/watermark_boost_factor -+ WatermarkScaleFactor *int64 // /proc/sys/vm/watermark_scale_factor -+ ZoneReclaimMode *int64 // /proc/sys/vm/zone_reclaim_mode -+} -+ -+// VM reads the VM statistics from the specified `proc` filesystem. -+func (fs FS) VM() (*VM, error) { -+ path := fs.proc.Path("sys/vm") -+ file, err := os.Stat(path) -+ if err != nil { -+ return nil, err -+ } -+ if !file.Mode().IsDir() { -+ return nil, fmt.Errorf("%s is not a directory", path) -+ } -+ -+ files, err := ioutil.ReadDir(path) -+ if err != nil { -+ return nil, err -+ } -+ -+ var vm VM -+ for _, f := range files { -+ if f.IsDir() { -+ continue -+ } -+ -+ name := filepath.Join(path, f.Name()) -+ // ignore errors on read, as there are some write only -+ // in /proc/sys/vm -+ value, err := util.SysReadFile(name) -+ if err != nil { -+ continue -+ } -+ vp := util.NewValueParser(value) -+ -+ switch f.Name() { -+ case "admin_reserve_kbytes": -+ vm.AdminReserveKbytes = vp.PInt64() -+ case "block_dump": -+ vm.BlockDump = vp.PInt64() -+ case "compact_unevictable_allowed": -+ vm.CompactUnevictableAllowed = vp.PInt64() -+ case "dirty_background_bytes": -+ vm.DirtyBackgroundBytes = vp.PInt64() -+ case "dirty_background_ratio": -+ vm.DirtyBackgroundRatio = vp.PInt64() -+ case "dirty_bytes": -+ vm.DirtyBytes = vp.PInt64() -+ case "dirty_expire_centisecs": -+ vm.DirtyExpireCentisecs = vp.PInt64() -+ case "dirty_ratio": -+ vm.DirtyRatio = vp.PInt64() -+ case "dirtytime_expire_seconds": -+ vm.DirtytimeExpireSeconds = vp.PInt64() -+ case "dirty_writeback_centisecs": -+ vm.DirtyWritebackCentisecs = vp.PInt64() -+ case "drop_caches": -+ vm.DropCaches = vp.PInt64() -+ case "extfrag_threshold": -+ vm.ExtfragThreshold = vp.PInt64() -+ case "hugetlb_shm_group": -+ vm.HugetlbShmGroup = vp.PInt64() -+ case "laptop_mode": -+ vm.LaptopMode = vp.PInt64() -+ case "legacy_va_layout": -+ vm.LegacyVaLayout = vp.PInt64() -+ case "lowmem_reserve_ratio": -+ stringSlice := strings.Fields(value) -+ pint64Slice := make([]*int64, 0, len(stringSlice)) -+ for _, value := range stringSlice { -+ vp := util.NewValueParser(value) -+ pint64Slice = append(pint64Slice, vp.PInt64()) -+ } -+ vm.LowmemReserveRatio = pint64Slice -+ case "max_map_count": -+ vm.MaxMapCount = vp.PInt64() -+ case "memory_failure_early_kill": -+ vm.MemoryFailureEarlyKill = vp.PInt64() -+ case "memory_failure_recovery": -+ vm.MemoryFailureRecovery = vp.PInt64() -+ case "min_free_kbytes": -+ vm.MinFreeKbytes = vp.PInt64() -+ case "min_slab_ratio": -+ vm.MinSlabRatio = vp.PInt64() -+ case "min_unmapped_ratio": -+ vm.MinUnmappedRatio = vp.PInt64() -+ case "mmap_min_addr": -+ vm.MmapMinAddr = vp.PInt64() -+ case "nr_hugepages": -+ vm.NrHugepages = vp.PInt64() -+ case "nr_hugepages_mempolicy": -+ vm.NrHugepagesMempolicy = vp.PInt64() -+ case "nr_overcommit_hugepages": -+ vm.NrOvercommitHugepages = vp.PInt64() -+ case "numa_stat": -+ vm.NumaStat = vp.PInt64() -+ case "numa_zonelist_order": -+ vm.NumaZonelistOrder = value -+ case "oom_dump_tasks": -+ vm.OomDumpTasks = vp.PInt64() -+ case "oom_kill_allocating_task": -+ vm.OomKillAllocatingTask = vp.PInt64() -+ case "overcommit_kbytes": -+ vm.OvercommitKbytes = vp.PInt64() -+ case "overcommit_memory": -+ vm.OvercommitMemory = vp.PInt64() -+ case "overcommit_ratio": -+ vm.OvercommitRatio = vp.PInt64() -+ case "page-cluster": -+ vm.PageCluster = vp.PInt64() -+ case "panic_on_oom": -+ vm.PanicOnOom = vp.PInt64() -+ case "percpu_pagelist_fraction": -+ vm.PercpuPagelistFraction = vp.PInt64() -+ case "stat_interval": -+ vm.StatInterval = vp.PInt64() -+ case "swappiness": -+ vm.Swappiness = vp.PInt64() -+ case "user_reserve_kbytes": -+ vm.UserReserveKbytes = vp.PInt64() -+ case "vfs_cache_pressure": -+ vm.VfsCachePressure = vp.PInt64() -+ case "watermark_boost_factor": -+ vm.WatermarkBoostFactor = vp.PInt64() -+ case "watermark_scale_factor": -+ vm.WatermarkScaleFactor = vp.PInt64() -+ case "zone_reclaim_mode": -+ vm.ZoneReclaimMode = vp.PInt64() -+ } -+ if err := vp.Err(); err != nil { -+ return nil, err -+ } -+ } -+ -+ return &vm, nil -+} -diff --git a/vendor/github.com/prometheus/procfs/zoneinfo.go b/vendor/github.com/prometheus/procfs/zoneinfo.go -new file mode 100644 -index 000000000..e941503d5 ---- /dev/null -+++ b/vendor/github.com/prometheus/procfs/zoneinfo.go -@@ -0,0 +1,196 @@ -+// Copyright 2019 The Prometheus Authors -+// 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. -+ -+// +build !windows -+ -+package procfs -+ -+import ( -+ "bytes" -+ "fmt" -+ "io/ioutil" -+ "regexp" -+ "strings" -+ -+ "github.com/prometheus/procfs/internal/util" -+) -+ -+// Zoneinfo holds info parsed from /proc/zoneinfo. -+type Zoneinfo struct { -+ Node string -+ Zone string -+ NrFreePages *int64 -+ Min *int64 -+ Low *int64 -+ High *int64 -+ Scanned *int64 -+ Spanned *int64 -+ Present *int64 -+ Managed *int64 -+ NrActiveAnon *int64 -+ NrInactiveAnon *int64 -+ NrIsolatedAnon *int64 -+ NrAnonPages *int64 -+ NrAnonTransparentHugepages *int64 -+ NrActiveFile *int64 -+ NrInactiveFile *int64 -+ NrIsolatedFile *int64 -+ NrFilePages *int64 -+ NrSlabReclaimable *int64 -+ NrSlabUnreclaimable *int64 -+ NrMlockStack *int64 -+ NrKernelStack *int64 -+ NrMapped *int64 -+ NrDirty *int64 -+ NrWriteback *int64 -+ NrUnevictable *int64 -+ NrShmem *int64 -+ NrDirtied *int64 -+ NrWritten *int64 -+ NumaHit *int64 -+ NumaMiss *int64 -+ NumaForeign *int64 -+ NumaInterleave *int64 -+ NumaLocal *int64 -+ NumaOther *int64 -+ Protection []*int64 -+} -+ -+var nodeZoneRE = regexp.MustCompile(`(\d+), zone\s+(\w+)`) -+ -+// Zoneinfo parses an zoneinfo-file (/proc/zoneinfo) and returns a slice of -+// structs containing the relevant info. More information available here: -+// https://www.kernel.org/doc/Documentation/sysctl/vm.txt -+func (fs FS) Zoneinfo() ([]Zoneinfo, error) { -+ data, err := ioutil.ReadFile(fs.proc.Path("zoneinfo")) -+ if err != nil { -+ return nil, fmt.Errorf("error reading zoneinfo %s: %s", fs.proc.Path("zoneinfo"), err) -+ } -+ zoneinfo, err := parseZoneinfo(data) -+ if err != nil { -+ return nil, fmt.Errorf("error parsing zoneinfo %s: %s", fs.proc.Path("zoneinfo"), err) -+ } -+ return zoneinfo, nil -+} -+ -+func parseZoneinfo(zoneinfoData []byte) ([]Zoneinfo, error) { -+ -+ zoneinfo := []Zoneinfo{} -+ -+ zoneinfoBlocks := bytes.Split(zoneinfoData, []byte("\nNode")) -+ for _, block := range zoneinfoBlocks { -+ var zoneinfoElement Zoneinfo -+ lines := strings.Split(string(block), "\n") -+ for _, line := range lines { -+ -+ if nodeZone := nodeZoneRE.FindStringSubmatch(line); nodeZone != nil { -+ zoneinfoElement.Node = nodeZone[1] -+ zoneinfoElement.Zone = nodeZone[2] -+ continue -+ } -+ if strings.HasPrefix(strings.TrimSpace(line), "per-node stats") { -+ zoneinfoElement.Zone = "" -+ continue -+ } -+ parts := strings.Fields(strings.TrimSpace(line)) -+ if len(parts) < 2 { -+ continue -+ } -+ vp := util.NewValueParser(parts[1]) -+ switch parts[0] { -+ case "nr_free_pages": -+ zoneinfoElement.NrFreePages = vp.PInt64() -+ case "min": -+ zoneinfoElement.Min = vp.PInt64() -+ case "low": -+ zoneinfoElement.Low = vp.PInt64() -+ case "high": -+ zoneinfoElement.High = vp.PInt64() -+ case "scanned": -+ zoneinfoElement.Scanned = vp.PInt64() -+ case "spanned": -+ zoneinfoElement.Spanned = vp.PInt64() -+ case "present": -+ zoneinfoElement.Present = vp.PInt64() -+ case "managed": -+ zoneinfoElement.Managed = vp.PInt64() -+ case "nr_active_anon": -+ zoneinfoElement.NrActiveAnon = vp.PInt64() -+ case "nr_inactive_anon": -+ zoneinfoElement.NrInactiveAnon = vp.PInt64() -+ case "nr_isolated_anon": -+ zoneinfoElement.NrIsolatedAnon = vp.PInt64() -+ case "nr_anon_pages": -+ zoneinfoElement.NrAnonPages = vp.PInt64() -+ case "nr_anon_transparent_hugepages": -+ zoneinfoElement.NrAnonTransparentHugepages = vp.PInt64() -+ case "nr_active_file": -+ zoneinfoElement.NrActiveFile = vp.PInt64() -+ case "nr_inactive_file": -+ zoneinfoElement.NrInactiveFile = vp.PInt64() -+ case "nr_isolated_file": -+ zoneinfoElement.NrIsolatedFile = vp.PInt64() -+ case "nr_file_pages": -+ zoneinfoElement.NrFilePages = vp.PInt64() -+ case "nr_slab_reclaimable": -+ zoneinfoElement.NrSlabReclaimable = vp.PInt64() -+ case "nr_slab_unreclaimable": -+ zoneinfoElement.NrSlabUnreclaimable = vp.PInt64() -+ case "nr_mlock_stack": -+ zoneinfoElement.NrMlockStack = vp.PInt64() -+ case "nr_kernel_stack": -+ zoneinfoElement.NrKernelStack = vp.PInt64() -+ case "nr_mapped": -+ zoneinfoElement.NrMapped = vp.PInt64() -+ case "nr_dirty": -+ zoneinfoElement.NrDirty = vp.PInt64() -+ case "nr_writeback": -+ zoneinfoElement.NrWriteback = vp.PInt64() -+ case "nr_unevictable": -+ zoneinfoElement.NrUnevictable = vp.PInt64() -+ case "nr_shmem": -+ zoneinfoElement.NrShmem = vp.PInt64() -+ case "nr_dirtied": -+ zoneinfoElement.NrDirtied = vp.PInt64() -+ case "nr_written": -+ zoneinfoElement.NrWritten = vp.PInt64() -+ case "numa_hit": -+ zoneinfoElement.NumaHit = vp.PInt64() -+ case "numa_miss": -+ zoneinfoElement.NumaMiss = vp.PInt64() -+ case "numa_foreign": -+ zoneinfoElement.NumaForeign = vp.PInt64() -+ case "numa_interleave": -+ zoneinfoElement.NumaInterleave = vp.PInt64() -+ case "numa_local": -+ zoneinfoElement.NumaLocal = vp.PInt64() -+ case "numa_other": -+ zoneinfoElement.NumaOther = vp.PInt64() -+ case "protection:": -+ protectionParts := strings.Split(line, ":") -+ protectionValues := strings.Replace(protectionParts[1], "(", "", 1) -+ protectionValues = strings.Replace(protectionValues, ")", "", 1) -+ protectionValues = strings.TrimSpace(protectionValues) -+ protectionStringMap := strings.Split(protectionValues, ", ") -+ val, err := util.ParsePInt64s(protectionStringMap) -+ if err == nil { -+ zoneinfoElement.Protection = val -+ } -+ } -+ -+ } -+ -+ zoneinfo = append(zoneinfo, zoneinfoElement) -+ } -+ return zoneinfo, nil -+} -diff --git a/vendor/github.com/vbauerster/mpb/.travis.yml b/vendor/github.com/vbauerster/mpb/.travis.yml -deleted file mode 100644 -index c982d1f90..000000000 ---- a/vendor/github.com/vbauerster/mpb/.travis.yml -+++ /dev/null -@@ -1,14 +0,0 @@ --language: go --sudo: false --go: -- - 1.10.x -- - tip -- --before_install: -- - go get -t -v ./... -- --script: -- - go test -race -coverprofile=coverage.txt -covermode=atomic -- --after_success: -- - bash <(curl -s https://codecov.io/bash) -diff --git a/vendor/github.com/vbauerster/mpb/LICENSE b/vendor/github.com/vbauerster/mpb/LICENSE -deleted file mode 100644 -index 5e68ed21e..000000000 ---- a/vendor/github.com/vbauerster/mpb/LICENSE -+++ /dev/null -@@ -1,29 +0,0 @@ --BSD 3-Clause License -- --Copyright (C) 2016-2018 Vladimir Bauer --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 the copyright holder 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 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/vbauerster/mpb/bar.go b/vendor/github.com/vbauerster/mpb/bar.go -deleted file mode 100644 -index a304a87cb..000000000 ---- a/vendor/github.com/vbauerster/mpb/bar.go -+++ /dev/null -@@ -1,399 +0,0 @@ --package mpb -- --import ( -- "bytes" -- "context" -- "fmt" -- "io" -- "io/ioutil" -- "strings" -- "sync" -- "time" -- "unicode/utf8" -- -- "github.com/vbauerster/mpb/decor" --) -- --// Bar represents a progress Bar --type Bar struct { -- priority int -- index int -- -- runningBar *Bar -- cacheState *bState -- operateState chan func(*bState) -- int64Ch chan int64 -- boolCh chan bool -- frameReaderCh chan *frameReader -- syncTableCh chan [][]chan int -- -- // done is closed by Bar's goroutine, after cacheState is written -- done chan struct{} -- // shutdown is closed from master Progress goroutine only -- shutdown chan struct{} --} -- --// Filler interface. --// Bar renders by calling Filler's Fill method. You can literally have --// any bar kind, by implementing this interface and passing it to the --// Add method. --type Filler interface { -- Fill(w io.Writer, width int, s *decor.Statistics) --} -- --// FillerFunc is function type adapter to convert function into Filler. --type FillerFunc func(w io.Writer, width int, stat *decor.Statistics) -- --func (f FillerFunc) Fill(w io.Writer, width int, stat *decor.Statistics) { -- f(w, width, stat) --} -- --type ( -- bState struct { -- filler Filler -- id int -- width int -- alignment int -- total int64 -- current int64 -- trimSpace bool -- toComplete bool -- removeOnComplete bool -- barClearOnComplete bool -- completeFlushed bool -- aDecorators []decor.Decorator -- pDecorators []decor.Decorator -- amountReceivers []decor.AmountReceiver -- shutdownListeners []decor.ShutdownListener -- refill *refill -- bufP, bufB, bufA *bytes.Buffer -- bufNL *bytes.Buffer -- panicMsg string -- newLineExtendFn func(io.Writer, *decor.Statistics) -- -- // following options are assigned to the *Bar -- priority int -- runningBar *Bar -- } -- refill struct { -- r rune -- limit int64 -- } -- frameReader struct { -- io.Reader -- extendedLines int -- toShutdown bool -- removeOnComplete bool -- } --) -- --func newBar( -- ctx context.Context, -- wg *sync.WaitGroup, -- filler Filler, -- id, width int, -- total int64, -- options ...BarOption, --) *Bar { -- -- s := &bState{ -- filler: filler, -- id: id, -- priority: id, -- width: width, -- total: total, -- } -- -- for _, opt := range options { -- if opt != nil { -- opt(s) -- } -- } -- -- s.bufP = bytes.NewBuffer(make([]byte, 0, s.width)) -- s.bufB = bytes.NewBuffer(make([]byte, 0, s.width)) -- s.bufA = bytes.NewBuffer(make([]byte, 0, s.width)) -- if s.newLineExtendFn != nil { -- s.bufNL = bytes.NewBuffer(make([]byte, 0, s.width)) -- } -- -- b := &Bar{ -- priority: s.priority, -- runningBar: s.runningBar, -- operateState: make(chan func(*bState)), -- int64Ch: make(chan int64), -- boolCh: make(chan bool), -- frameReaderCh: make(chan *frameReader, 1), -- syncTableCh: make(chan [][]chan int), -- done: make(chan struct{}), -- shutdown: make(chan struct{}), -- } -- -- if b.runningBar != nil { -- b.priority = b.runningBar.priority -- } -- -- go b.serve(ctx, wg, s) -- return b --} -- --// RemoveAllPrependers removes all prepend functions. --func (b *Bar) RemoveAllPrependers() { -- select { -- case b.operateState <- func(s *bState) { s.pDecorators = nil }: -- case <-b.done: -- } --} -- --// RemoveAllAppenders removes all append functions. --func (b *Bar) RemoveAllAppenders() { -- select { -- case b.operateState <- func(s *bState) { s.aDecorators = nil }: -- case <-b.done: -- } --} -- --// ProxyReader wraps r with metrics required for progress tracking. --func (b *Bar) ProxyReader(r io.Reader) io.ReadCloser { -- if r == nil { -- panic("expect io.Reader, got nil") -- } -- rc, ok := r.(io.ReadCloser) -- if !ok { -- rc = ioutil.NopCloser(r) -- } -- return &proxyReader{rc, b, time.Now()} --} -- --// ID returs id of the bar. --func (b *Bar) ID() int { -- select { -- case b.operateState <- func(s *bState) { b.int64Ch <- int64(s.id) }: -- return int(<-b.int64Ch) -- case <-b.done: -- return b.cacheState.id -- } --} -- --// Current returns bar's current number, in other words sum of all increments. --func (b *Bar) Current() int64 { -- select { -- case b.operateState <- func(s *bState) { b.int64Ch <- s.current }: -- return <-b.int64Ch -- case <-b.done: -- return b.cacheState.current -- } --} -- --// SetTotal sets total dynamically. --// Set complete to true, to trigger bar complete event now. --func (b *Bar) SetTotal(total int64, complete bool) { -- select { -- case b.operateState <- func(s *bState) { -- s.total = total -- if complete && !s.toComplete { -- s.current = s.total -- s.toComplete = true -- } -- }: -- case <-b.done: -- } --} -- --// SetRefill sets refill, if supported by underlying Filler. --func (b *Bar) SetRefill(amount int64) { -- b.operateState <- func(s *bState) { -- if f, ok := s.filler.(interface{ SetRefill(int64) }); ok { -- f.SetRefill(amount) -- } -- } --} -- --// Increment is a shorthand for b.IncrBy(1). --func (b *Bar) Increment() { -- b.IncrBy(1) --} -- --// IncrBy increments progress bar by amount of n. --// wdd is optional work duration i.e. time.Since(start), which expected --// to be provided, if any ewma based decorator is used. --func (b *Bar) IncrBy(n int, wdd ...time.Duration) { -- select { -- case b.operateState <- func(s *bState) { -- s.current += int64(n) -- if s.total > 0 && s.current >= s.total { -- s.current = s.total -- s.toComplete = true -- } -- for _, ar := range s.amountReceivers { -- ar.NextAmount(n, wdd...) -- } -- }: -- case <-b.done: -- } --} -- --// Completed reports whether the bar is in completed state. --func (b *Bar) Completed() bool { -- // omit select here, because primary usage of the method is for loop -- // condition, like for !bar.Completed() {...} so when toComplete=true -- // it is called once (at which time, the bar is still alive), then -- // quits the loop and never suppose to be called afterwards. -- return <-b.boolCh --} -- --func (b *Bar) wSyncTable() [][]chan int { -- select { -- case b.operateState <- func(s *bState) { b.syncTableCh <- s.wSyncTable() }: -- return <-b.syncTableCh -- case <-b.done: -- return b.cacheState.wSyncTable() -- } --} -- --func (b *Bar) serve(ctx context.Context, wg *sync.WaitGroup, s *bState) { -- defer wg.Done() -- cancel := ctx.Done() -- for { -- select { -- case op := <-b.operateState: -- op(s) -- case b.boolCh <- s.toComplete: -- case <-cancel: -- s.toComplete = true -- cancel = nil -- case <-b.shutdown: -- b.cacheState = s -- close(b.done) -- for _, sl := range s.shutdownListeners { -- sl.Shutdown() -- } -- return -- } -- } --} -- --func (b *Bar) render(debugOut io.Writer, tw int) { -- select { -- case b.operateState <- func(s *bState) { -- defer func() { -- // recovering if user defined decorator panics for example -- if p := recover(); p != nil { -- s.panicMsg = fmt.Sprintf("panic: %v", p) -- fmt.Fprintf(debugOut, "%s %s bar id %02d %v\n", "[mpb]", time.Now(), s.id, s.panicMsg) -- b.frameReaderCh <- &frameReader{ -- Reader: strings.NewReader(fmt.Sprintf(fmt.Sprintf("%%.%ds\n", tw), s.panicMsg)), -- toShutdown: true, -- } -- } -- }() -- r := s.draw(tw) -- var extendedLines int -- if s.newLineExtendFn != nil { -- s.bufNL.Reset() -- s.newLineExtendFn(s.bufNL, newStatistics(s)) -- extendedLines = countLines(s.bufNL.Bytes()) -- r = io.MultiReader(r, s.bufNL) -- } -- b.frameReaderCh <- &frameReader{ -- Reader: r, -- extendedLines: extendedLines, -- toShutdown: s.toComplete && !s.completeFlushed, -- removeOnComplete: s.removeOnComplete, -- } -- s.completeFlushed = s.toComplete -- }: -- case <-b.done: -- s := b.cacheState -- r := s.draw(tw) -- var extendedLines int -- if s.newLineExtendFn != nil { -- s.bufNL.Reset() -- s.newLineExtendFn(s.bufNL, newStatistics(s)) -- extendedLines = countLines(s.bufNL.Bytes()) -- r = io.MultiReader(r, s.bufNL) -- } -- b.frameReaderCh <- &frameReader{ -- Reader: r, -- extendedLines: extendedLines, -- } -- } --} -- --func (s *bState) draw(termWidth int) io.Reader { -- if s.panicMsg != "" { -- return strings.NewReader(fmt.Sprintf(fmt.Sprintf("%%.%ds\n", termWidth), s.panicMsg)) -- } -- -- stat := newStatistics(s) -- -- for _, d := range s.pDecorators { -- s.bufP.WriteString(d.Decor(stat)) -- } -- -- for _, d := range s.aDecorators { -- s.bufA.WriteString(d.Decor(stat)) -- } -- -- if s.barClearOnComplete && s.completeFlushed { -- s.bufA.WriteByte('\n') -- return io.MultiReader(s.bufP, s.bufA) -- } -- -- prependCount := utf8.RuneCount(s.bufP.Bytes()) -- appendCount := utf8.RuneCount(s.bufA.Bytes()) -- -- if !s.trimSpace { -- // reserve space for edge spaces -- termWidth -= 2 -- s.bufB.WriteByte(' ') -- } -- -- if prependCount+s.width+appendCount > termWidth { -- s.filler.Fill(s.bufB, termWidth-prependCount-appendCount, stat) -- } else { -- s.filler.Fill(s.bufB, s.width, stat) -- } -- -- if !s.trimSpace { -- s.bufB.WriteByte(' ') -- } -- -- s.bufA.WriteByte('\n') -- return io.MultiReader(s.bufP, s.bufB, s.bufA) --} -- --func (s *bState) wSyncTable() [][]chan int { -- columns := make([]chan int, 0, len(s.pDecorators)+len(s.aDecorators)) -- var pCount int -- for _, d := range s.pDecorators { -- if ok, ch := d.Syncable(); ok { -- columns = append(columns, ch) -- pCount++ -- } -- } -- var aCount int -- for _, d := range s.aDecorators { -- if ok, ch := d.Syncable(); ok { -- columns = append(columns, ch) -- aCount++ -- } -- } -- table := make([][]chan int, 2) -- table[0] = columns[0:pCount] -- table[1] = columns[pCount : pCount+aCount : pCount+aCount] -- return table --} -- --func newStatistics(s *bState) *decor.Statistics { -- return &decor.Statistics{ -- ID: s.id, -- Completed: s.completeFlushed, -- Total: s.total, -- Current: s.current, -- } --} -- --func countLines(b []byte) int { -- return bytes.Count(b, []byte("\n")) --} -diff --git a/vendor/github.com/vbauerster/mpb/bar_filler.go b/vendor/github.com/vbauerster/mpb/bar_filler.go -deleted file mode 100644 -index 4e9285ca5..000000000 ---- a/vendor/github.com/vbauerster/mpb/bar_filler.go -+++ /dev/null -@@ -1,111 +0,0 @@ --package mpb -- --import ( -- "io" -- "unicode/utf8" -- -- "github.com/vbauerster/mpb/decor" -- "github.com/vbauerster/mpb/internal" --) -- --const ( -- rLeft = iota -- rFill -- rTip -- rEmpty -- rRight -- rRevTip -- rRefill --) -- --var defaultBarStyle = "[=>-]<+" -- --type barFiller struct { -- format [][]byte -- refillAmount int64 -- reverse bool --} -- --func newDefaultBarFiller() Filler { -- bf := &barFiller{ -- format: make([][]byte, utf8.RuneCountInString(defaultBarStyle)), -- } -- bf.setStyle(defaultBarStyle) -- return bf --} -- --func (s *barFiller) setStyle(style string) { -- if !utf8.ValidString(style) { -- return -- } -- src := make([][]byte, 0, utf8.RuneCountInString(style)) -- for _, r := range style { -- src = append(src, []byte(string(r))) -- } -- copy(s.format, src) --} -- --func (s *barFiller) setReverse() { -- s.reverse = true --} -- --func (s *barFiller) SetRefill(amount int64) { -- s.refillAmount = amount --} -- --func (s *barFiller) Fill(w io.Writer, width int, stat *decor.Statistics) { -- -- // don't count rLeft and rRight [brackets] -- width -= 2 -- if width < 2 { -- return -- } -- -- w.Write(s.format[rLeft]) -- if width == 2 { -- w.Write(s.format[rRight]) -- return -- } -- -- bb := make([][]byte, width) -- -- cwidth := int(internal.Percentage(stat.Total, stat.Current, int64(width))) -- -- for i := 0; i < cwidth; i++ { -- bb[i] = s.format[rFill] -- } -- -- if s.refillAmount > 0 { -- var rwidth int -- if s.refillAmount > stat.Current { -- rwidth = cwidth -- } else { -- rwidth = int(internal.Percentage(stat.Total, int64(s.refillAmount), int64(width))) -- } -- for i := 0; i < rwidth; i++ { -- bb[i] = s.format[rRefill] -- } -- } -- -- if cwidth > 0 && cwidth < width { -- bb[cwidth-1] = s.format[rTip] -- } -- -- for i := cwidth; i < width; i++ { -- bb[i] = s.format[rEmpty] -- } -- -- if s.reverse { -- if cwidth > 0 && cwidth < width { -- bb[cwidth-1] = s.format[rRevTip] -- } -- for i := len(bb) - 1; i >= 0; i-- { -- w.Write(bb[i]) -- } -- } else { -- for i := 0; i < len(bb); i++ { -- w.Write(bb[i]) -- } -- } -- w.Write(s.format[rRight]) --} -diff --git a/vendor/github.com/vbauerster/mpb/bar_option.go b/vendor/github.com/vbauerster/mpb/bar_option.go -deleted file mode 100644 -index e9a4bd2a7..000000000 ---- a/vendor/github.com/vbauerster/mpb/bar_option.go -+++ /dev/null -@@ -1,193 +0,0 @@ --package mpb -- --import ( -- "io" -- -- "github.com/vbauerster/mpb/decor" --) -- --// BarOption is a function option which changes the default behavior of a bar. --type BarOption func(*bState) -- --// AppendDecorators let you inject decorators to the bar's right side. --func AppendDecorators(appenders ...decor.Decorator) BarOption { -- return func(s *bState) { -- for _, decorator := range appenders { -- if ar, ok := decorator.(decor.AmountReceiver); ok { -- s.amountReceivers = append(s.amountReceivers, ar) -- } -- if sl, ok := decorator.(decor.ShutdownListener); ok { -- s.shutdownListeners = append(s.shutdownListeners, sl) -- } -- s.aDecorators = append(s.aDecorators, decorator) -- } -- } --} -- --// PrependDecorators let you inject decorators to the bar's left side. --func PrependDecorators(prependers ...decor.Decorator) BarOption { -- return func(s *bState) { -- for _, decorator := range prependers { -- if ar, ok := decorator.(decor.AmountReceiver); ok { -- s.amountReceivers = append(s.amountReceivers, ar) -- } -- if sl, ok := decorator.(decor.ShutdownListener); ok { -- s.shutdownListeners = append(s.shutdownListeners, sl) -- } -- s.pDecorators = append(s.pDecorators, decorator) -- } -- } --} -- --// BarID sets bar id. --func BarID(id int) BarOption { -- return func(s *bState) { -- s.id = id -- } --} -- --// BarWidth sets bar width independent of the container. --func BarWidth(width int) BarOption { -- return func(s *bState) { -- s.width = width -- } --} -- --// BarRemoveOnComplete is a flag, if set whole bar line will be removed --// on complete event. If both BarRemoveOnComplete and BarClearOnComplete --// are set, first bar section gets cleared and then whole bar line --// gets removed completely. --func BarRemoveOnComplete() BarOption { -- return func(s *bState) { -- s.removeOnComplete = true -- } --} -- --// BarReplaceOnComplete is indicator for delayed bar start, after the --// `runningBar` is complete. To achieve bar replacement effect, --// `runningBar` should has its `BarRemoveOnComplete` option set. --func BarReplaceOnComplete(runningBar *Bar) BarOption { -- return BarParkTo(runningBar) --} -- --// BarParkTo same as BarReplaceOnComplete --func BarParkTo(runningBar *Bar) BarOption { -- return func(s *bState) { -- s.runningBar = runningBar -- } --} -- --// BarClearOnComplete is a flag, if set will clear bar section on --// complete event. If you need to remove a whole bar line, refer to --// BarRemoveOnComplete. --func BarClearOnComplete() BarOption { -- return func(s *bState) { -- s.barClearOnComplete = true -- } --} -- --// BarPriority sets bar's priority. Zero is highest priority, i.e. bar --// will be on top. If `BarReplaceOnComplete` option is supplied, this --// option is ignored. --func BarPriority(priority int) BarOption { -- return func(s *bState) { -- s.priority = priority -- } --} -- --// BarNewLineExtend takes user defined efn, which gets called each --// render cycle. Any write to provided writer of efn, will appear on --// new line of respective bar. --func BarNewLineExtend(efn func(io.Writer, *decor.Statistics)) BarOption { -- return func(s *bState) { -- s.newLineExtendFn = efn -- } --} -- --// TrimSpace trims bar's edge spaces. --func TrimSpace() BarOption { -- return func(s *bState) { -- s.trimSpace = true -- } --} -- --// BarStyle sets custom bar style, default one is "[=>-]<+". --// --// '[' left bracket rune --// --// '=' fill rune --// --// '>' tip rune --// --// '-' empty rune --// --// ']' right bracket rune --// --// '<' reverse tip rune, used when BarReverse option is set --// --// '+' refill rune, used when *Bar.SetRefill(int64) is called --// --// It's ok to provide first five runes only, for example mpb.BarStyle("╢▌▌░╟") --func BarStyle(style string) BarOption { -- chk := func(filler Filler) (interface{}, bool) { -- if style == "" { -- return nil, false -- } -- t, ok := filler.(*barFiller) -- return t, ok -- } -- cb := func(t interface{}) { -- t.(*barFiller).setStyle(style) -- } -- return MakeFillerTypeSpecificBarOption(chk, cb) --} -- --// BarReverse reverse mode, bar will progress from right to left. --func BarReverse() BarOption { -- chk := func(filler Filler) (interface{}, bool) { -- t, ok := filler.(*barFiller) -- return t, ok -- } -- cb := func(t interface{}) { -- t.(*barFiller).setReverse() -- } -- return MakeFillerTypeSpecificBarOption(chk, cb) --} -- --// SpinnerStyle sets custom spinner style. --// Effective when Filler type is spinner. --func SpinnerStyle(frames []string) BarOption { -- chk := func(filler Filler) (interface{}, bool) { -- if len(frames) == 0 { -- return nil, false -- } -- t, ok := filler.(*spinnerFiller) -- return t, ok -- } -- cb := func(t interface{}) { -- t.(*spinnerFiller).frames = frames -- } -- return MakeFillerTypeSpecificBarOption(chk, cb) --} -- --// MakeFillerTypeSpecificBarOption makes BarOption specific to Filler's --// actual type. If you implement your own Filler, so most probably --// you'll need this. See BarStyle or SpinnerStyle for example. --func MakeFillerTypeSpecificBarOption( -- typeChecker func(Filler) (interface{}, bool), -- cb func(interface{}), --) BarOption { -- return func(s *bState) { -- if t, ok := typeChecker(s.filler); ok { -- cb(t) -- } -- } --} -- --// OptionOnCondition returns option when condition evaluates to true. --func OptionOnCondition(option BarOption, condition func() bool) BarOption { -- if condition() { -- return option -- } -- return nil --} -diff --git a/vendor/github.com/vbauerster/mpb/cwriter/writer_posix.go b/vendor/github.com/vbauerster/mpb/cwriter/writer_posix.go -deleted file mode 100644 -index 05e31c480..000000000 ---- a/vendor/github.com/vbauerster/mpb/cwriter/writer_posix.go -+++ /dev/null -@@ -1,13 +0,0 @@ --// +build !windows -- --package cwriter -- --import ( -- "io" -- "strings" --) -- --func (w *Writer) clearLines() error { -- _, err := io.WriteString(w.out, strings.Repeat(clearCursorAndLine, w.lineCount)) -- return err --} -diff --git a/vendor/github.com/vbauerster/mpb/cwriter/writer_windows.go b/vendor/github.com/vbauerster/mpb/cwriter/writer_windows.go -deleted file mode 100644 -index 747a63484..000000000 ---- a/vendor/github.com/vbauerster/mpb/cwriter/writer_windows.go -+++ /dev/null -@@ -1,77 +0,0 @@ --// +build windows -- --package cwriter -- --import ( -- "io" -- "strings" -- "syscall" -- "unsafe" -- -- isatty "github.com/mattn/go-isatty" --) -- --var kernel32 = syscall.NewLazyDLL("kernel32.dll") -- --var ( -- procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") -- procSetConsoleCursorPosition = kernel32.NewProc("SetConsoleCursorPosition") -- procFillConsoleOutputCharacter = kernel32.NewProc("FillConsoleOutputCharacterW") -- procFillConsoleOutputAttribute = kernel32.NewProc("FillConsoleOutputAttribute") --) -- --type ( -- short int16 -- word uint16 -- dword uint32 -- -- coord struct { -- x short -- y short -- } -- smallRect struct { -- left short -- top short -- right short -- bottom short -- } -- consoleScreenBufferInfo struct { -- size coord -- cursorPosition coord -- attributes word -- window smallRect -- maximumWindowSize coord -- } --) -- --// FdWriter is a writer with a file descriptor. --type FdWriter interface { -- io.Writer -- Fd() uintptr --} -- --func (w *Writer) clearLines() error { -- f, ok := w.out.(FdWriter) -- if ok && !isatty.IsTerminal(f.Fd()) { -- _, err := io.WriteString(w.out, strings.Repeat(clearCursorAndLine, w.lineCount)) -- return err -- } -- fd := f.Fd() -- var info consoleScreenBufferInfo -- procGetConsoleScreenBufferInfo.Call(fd, uintptr(unsafe.Pointer(&info))) -- -- for i := 0; i < w.lineCount; i++ { -- // move the cursor up -- info.cursorPosition.y-- -- procSetConsoleCursorPosition.Call(fd, uintptr(*(*int32)(unsafe.Pointer(&info.cursorPosition)))) -- // clear the line -- cursor := coord{ -- x: info.window.left, -- y: info.window.top + info.cursorPosition.y, -- } -- var count, w dword -- count = dword(info.size.x) -- procFillConsoleOutputCharacter.Call(fd, uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&w))) -- } -- return nil --} -diff --git a/vendor/github.com/vbauerster/mpb/decor/counters.go b/vendor/github.com/vbauerster/mpb/decor/counters.go -deleted file mode 100644 -index 7d581eefb..000000000 ---- a/vendor/github.com/vbauerster/mpb/decor/counters.go -+++ /dev/null -@@ -1,208 +0,0 @@ --package decor -- --import ( -- "fmt" -- "io" -- "strconv" -- "strings" --) -- --const ( -- _ = iota -- KiB = 1 << (iota * 10) -- MiB -- GiB -- TiB --) -- --const ( -- KB = 1000 -- MB = KB * 1000 -- GB = MB * 1000 -- TB = GB * 1000 --) -- --const ( -- _ = iota -- UnitKiB -- UnitKB --) -- --type CounterKiB int64 -- --func (c CounterKiB) Format(st fmt.State, verb rune) { -- prec, ok := st.Precision() -- -- if verb == 'd' || !ok { -- prec = 0 -- } -- if verb == 'f' && !ok { -- prec = 6 -- } -- // retain old beahavior if s verb used -- if verb == 's' { -- prec = 1 -- } -- -- var res, unit string -- switch { -- case c >= TiB: -- unit = "TiB" -- res = strconv.FormatFloat(float64(c)/TiB, 'f', prec, 64) -- case c >= GiB: -- unit = "GiB" -- res = strconv.FormatFloat(float64(c)/GiB, 'f', prec, 64) -- case c >= MiB: -- unit = "MiB" -- res = strconv.FormatFloat(float64(c)/MiB, 'f', prec, 64) -- case c >= KiB: -- unit = "KiB" -- res = strconv.FormatFloat(float64(c)/KiB, 'f', prec, 64) -- default: -- unit = "b" -- res = strconv.FormatInt(int64(c), 10) -- } -- -- if st.Flag(' ') { -- res += " " -- } -- res += unit -- -- if w, ok := st.Width(); ok { -- if len(res) < w { -- pad := strings.Repeat(" ", w-len(res)) -- if st.Flag(int('-')) { -- res += pad -- } else { -- res = pad + res -- } -- } -- } -- -- io.WriteString(st, res) --} -- --type CounterKB int64 -- --func (c CounterKB) Format(st fmt.State, verb rune) { -- prec, ok := st.Precision() -- -- if verb == 'd' || !ok { -- prec = 0 -- } -- if verb == 'f' && !ok { -- prec = 6 -- } -- // retain old beahavior if s verb used -- if verb == 's' { -- prec = 1 -- } -- -- var res, unit string -- switch { -- case c >= TB: -- unit = "TB" -- res = strconv.FormatFloat(float64(c)/TB, 'f', prec, 64) -- case c >= GB: -- unit = "GB" -- res = strconv.FormatFloat(float64(c)/GB, 'f', prec, 64) -- case c >= MB: -- unit = "MB" -- res = strconv.FormatFloat(float64(c)/MB, 'f', prec, 64) -- case c >= KB: -- unit = "kB" -- res = strconv.FormatFloat(float64(c)/KB, 'f', prec, 64) -- default: -- unit = "b" -- res = strconv.FormatInt(int64(c), 10) -- } -- -- if st.Flag(' ') { -- res += " " -- } -- res += unit -- -- if w, ok := st.Width(); ok { -- if len(res) < w { -- pad := strings.Repeat(" ", w-len(res)) -- if st.Flag(int('-')) { -- res += pad -- } else { -- res = pad + res -- } -- } -- } -- -- io.WriteString(st, res) --} -- --// CountersNoUnit is a wrapper around Counters with no unit param. --func CountersNoUnit(pairFormat string, wcc ...WC) Decorator { -- return Counters(0, pairFormat, wcc...) --} -- --// CountersKibiByte is a wrapper around Counters with predefined unit --// UnitKiB (bytes/1024). --func CountersKibiByte(pairFormat string, wcc ...WC) Decorator { -- return Counters(UnitKiB, pairFormat, wcc...) --} -- --// CountersKiloByte is a wrapper around Counters with predefined unit --// UnitKB (bytes/1000). --func CountersKiloByte(pairFormat string, wcc ...WC) Decorator { -- return Counters(UnitKB, pairFormat, wcc...) --} -- --// Counters decorator with dynamic unit measure adjustment. --// --// `unit` one of [0|UnitKiB|UnitKB] zero for no unit --// --// `pairFormat` printf compatible verbs for current and total, like "%f" or "%d" --// --// `wcc` optional WC config --// --// pairFormat example if UnitKB is chosen: --// --// "%.1f / %.1f" = "1.0MB / 12.0MB" or "% .1f / % .1f" = "1.0 MB / 12.0 MB" --func Counters(unit int, pairFormat string, wcc ...WC) Decorator { -- var wc WC -- for _, widthConf := range wcc { -- wc = widthConf -- } -- wc.Init() -- d := &countersDecorator{ -- WC: wc, -- unit: unit, -- pairFormat: pairFormat, -- } -- return d --} -- --type countersDecorator struct { -- WC -- unit int -- pairFormat string -- completeMsg *string --} -- --func (d *countersDecorator) Decor(st *Statistics) string { -- if st.Completed && d.completeMsg != nil { -- return d.FormatMsg(*d.completeMsg) -- } -- -- var str string -- switch d.unit { -- case UnitKiB: -- str = fmt.Sprintf(d.pairFormat, CounterKiB(st.Current), CounterKiB(st.Total)) -- case UnitKB: -- str = fmt.Sprintf(d.pairFormat, CounterKB(st.Current), CounterKB(st.Total)) -- default: -- str = fmt.Sprintf(d.pairFormat, st.Current, st.Total) -- } -- -- return d.FormatMsg(str) --} -- --func (d *countersDecorator) OnCompleteMessage(msg string) { -- d.completeMsg = &msg --} -diff --git a/vendor/github.com/vbauerster/mpb/decor/decorator.go b/vendor/github.com/vbauerster/mpb/decor/decorator.go -deleted file mode 100644 -index 2fe40aea6..000000000 ---- a/vendor/github.com/vbauerster/mpb/decor/decorator.go -+++ /dev/null -@@ -1,152 +0,0 @@ --package decor -- --import ( -- "fmt" -- "time" -- "unicode/utf8" --) -- --const ( -- // DidentRight bit specifies identation direction. -- // |foo |b | With DidentRight -- // | foo| b| Without DidentRight -- DidentRight = 1 << iota -- -- // DextraSpace bit adds extra space, makes sense with DSyncWidth only. -- // When DidentRight bit set, the space will be added to the right, -- // otherwise to the left. -- DextraSpace -- -- // DSyncWidth bit enables same column width synchronization. -- // Effective with multiple bars only. -- DSyncWidth -- -- // DSyncWidthR is shortcut for DSyncWidth|DidentRight -- DSyncWidthR = DSyncWidth | DidentRight -- -- // DSyncSpace is shortcut for DSyncWidth|DextraSpace -- DSyncSpace = DSyncWidth | DextraSpace -- -- // DSyncSpaceR is shortcut for DSyncWidth|DextraSpace|DidentRight -- DSyncSpaceR = DSyncWidth | DextraSpace | DidentRight --) -- --// TimeStyle enum. --type TimeStyle int -- --// TimeStyle kinds. --const ( -- ET_STYLE_GO TimeStyle = iota -- ET_STYLE_HHMMSS -- ET_STYLE_HHMM -- ET_STYLE_MMSS --) -- --// Statistics is a struct, which gets passed to a Decorator. --type Statistics struct { -- ID int -- Completed bool -- Total int64 -- Current int64 --} -- --// Decorator interface. --// A decorator must implement this interface, in order to be used with --// mpb library. --type Decorator interface { -- Decor(*Statistics) string -- Syncable --} -- --// Syncable interface. --// All decorators implement this interface implicitly. Its Syncable --// method exposes width sync channel, if sync is enabled. --type Syncable interface { -- Syncable() (bool, chan int) --} -- --// OnCompleteMessenger interface. --// Decorators implementing this interface suppose to return provided --// string on complete event. --type OnCompleteMessenger interface { -- OnCompleteMessage(string) --} -- --// AmountReceiver interface. --// If decorator needs to receive increment amount, so this is the right --// interface to implement. --type AmountReceiver interface { -- NextAmount(int, ...time.Duration) --} -- --// ShutdownListener interface. --// If decorator needs to be notified once upon bar shutdown event, so --// this is the right interface to implement. --type ShutdownListener interface { -- Shutdown() --} -- --// Global convenience shortcuts --var ( -- WCSyncWidth = WC{C: DSyncWidth} -- WCSyncWidthR = WC{C: DSyncWidthR} -- WCSyncSpace = WC{C: DSyncSpace} -- WCSyncSpaceR = WC{C: DSyncSpaceR} --) -- --// WC is a struct with two public fields W and C, both of int type. --// W represents width and C represents bit set of width related config. --// A decorator should embed WC, in order to become Syncable. --type WC struct { -- W int -- C int -- format string -- wsync chan int --} -- --// FormatMsg formats final message according to WC.W and WC.C. --// Should be called by any Decorator implementation. --func (wc WC) FormatMsg(msg string) string { -- if (wc.C & DSyncWidth) != 0 { -- wc.wsync <- utf8.RuneCountInString(msg) -- max := <-wc.wsync -- if max == 0 { -- max = wc.W -- } -- if (wc.C & DextraSpace) != 0 { -- max++ -- } -- return fmt.Sprintf(fmt.Sprintf(wc.format, max), msg) -- } -- return fmt.Sprintf(fmt.Sprintf(wc.format, wc.W), msg) --} -- --// Init initializes width related config. --func (wc *WC) Init() { -- wc.format = "%%" -- if (wc.C & DidentRight) != 0 { -- wc.format += "-" -- } -- wc.format += "%ds" -- if (wc.C & DSyncWidth) != 0 { -- wc.wsync = make(chan int) -- } --} -- --// Syncable is implementation of Syncable interface. --func (wc *WC) Syncable() (bool, chan int) { -- return (wc.C & DSyncWidth) != 0, wc.wsync --} -- --// OnComplete returns decorator, which wraps provided decorator, with --// sole purpose to display provided message on complete event. --// --// `decorator` Decorator to wrap --// --// `message` message to display on complete event --func OnComplete(decorator Decorator, message string) Decorator { -- if d, ok := decorator.(OnCompleteMessenger); ok { -- d.OnCompleteMessage(message) -- } -- return decorator --} -diff --git a/vendor/github.com/vbauerster/mpb/decor/elapsed.go b/vendor/github.com/vbauerster/mpb/decor/elapsed.go -deleted file mode 100644 -index b2e75852c..000000000 ---- a/vendor/github.com/vbauerster/mpb/decor/elapsed.go -+++ /dev/null -@@ -1,68 +0,0 @@ --package decor -- --import ( -- "fmt" -- "time" --) -- --// Elapsed returns elapsed time decorator. --// --// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS] --// --// `wcc` optional WC config --func Elapsed(style TimeStyle, wcc ...WC) Decorator { -- var wc WC -- for _, widthConf := range wcc { -- wc = widthConf -- } -- wc.Init() -- d := &elapsedDecorator{ -- WC: wc, -- style: style, -- startTime: time.Now(), -- } -- return d --} -- --type elapsedDecorator struct { -- WC -- style TimeStyle -- startTime time.Time -- msg string -- completeMsg *string --} -- --func (d *elapsedDecorator) Decor(st *Statistics) string { -- if st.Completed { -- if d.completeMsg != nil { -- return d.FormatMsg(*d.completeMsg) -- } -- return d.FormatMsg(d.msg) -- } -- -- timeElapsed := time.Since(d.startTime) -- hours := int64((timeElapsed / time.Hour) % 60) -- minutes := int64((timeElapsed / time.Minute) % 60) -- seconds := int64((timeElapsed / time.Second) % 60) -- -- switch d.style { -- case ET_STYLE_GO: -- d.msg = fmt.Sprint(time.Duration(timeElapsed.Seconds()) * time.Second) -- case ET_STYLE_HHMMSS: -- d.msg = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds) -- case ET_STYLE_HHMM: -- d.msg = fmt.Sprintf("%02d:%02d", hours, minutes) -- case ET_STYLE_MMSS: -- if hours > 0 { -- d.msg = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds) -- } else { -- d.msg = fmt.Sprintf("%02d:%02d", minutes, seconds) -- } -- } -- -- return d.FormatMsg(d.msg) --} -- --func (d *elapsedDecorator) OnCompleteMessage(msg string) { -- d.completeMsg = &msg --} -diff --git a/vendor/github.com/vbauerster/mpb/decor/eta.go b/vendor/github.com/vbauerster/mpb/decor/eta.go -deleted file mode 100644 -index e8dc979b4..000000000 ---- a/vendor/github.com/vbauerster/mpb/decor/eta.go -+++ /dev/null -@@ -1,206 +0,0 @@ --package decor -- --import ( -- "fmt" -- "math" -- "time" -- -- "github.com/VividCortex/ewma" --) -- --type TimeNormalizer func(time.Duration) time.Duration -- --// EwmaETA exponential-weighted-moving-average based ETA decorator. --// --// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS] --// --// `age` is the previous N samples to average over. --// --// `wcc` optional WC config --func EwmaETA(style TimeStyle, age float64, wcc ...WC) Decorator { -- return MovingAverageETA(style, ewma.NewMovingAverage(age), NopNormalizer(), wcc...) --} -- --// MovingAverageETA decorator relies on MovingAverage implementation to calculate its average. --// --// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS] --// --// `average` available implementations of MovingAverage [ewma.MovingAverage|NewMedian|NewMedianEwma] --// --// `normalizer` available implementations are [NopNormalizer|FixedIntervalTimeNormalizer|MaxTolerateTimeNormalizer] --// --// `wcc` optional WC config --func MovingAverageETA(style TimeStyle, average MovingAverage, normalizer TimeNormalizer, wcc ...WC) Decorator { -- var wc WC -- for _, widthConf := range wcc { -- wc = widthConf -- } -- wc.Init() -- d := &movingAverageETA{ -- WC: wc, -- style: style, -- average: average, -- normalizer: normalizer, -- } -- return d --} -- --type movingAverageETA struct { -- WC -- style TimeStyle -- average ewma.MovingAverage -- completeMsg *string -- normalizer TimeNormalizer --} -- --func (d *movingAverageETA) Decor(st *Statistics) string { -- if st.Completed && d.completeMsg != nil { -- return d.FormatMsg(*d.completeMsg) -- } -- -- v := math.Round(d.average.Value()) -- remaining := d.normalizer(time.Duration((st.Total - st.Current) * int64(v))) -- hours := int64((remaining / time.Hour) % 60) -- minutes := int64((remaining / time.Minute) % 60) -- seconds := int64((remaining / time.Second) % 60) -- -- var str string -- switch d.style { -- case ET_STYLE_GO: -- str = fmt.Sprint(time.Duration(remaining.Seconds()) * time.Second) -- case ET_STYLE_HHMMSS: -- str = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds) -- case ET_STYLE_HHMM: -- str = fmt.Sprintf("%02d:%02d", hours, minutes) -- case ET_STYLE_MMSS: -- if hours > 0 { -- str = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds) -- } else { -- str = fmt.Sprintf("%02d:%02d", minutes, seconds) -- } -- } -- -- return d.FormatMsg(str) --} -- --func (d *movingAverageETA) NextAmount(n int, wdd ...time.Duration) { -- var workDuration time.Duration -- for _, wd := range wdd { -- workDuration = wd -- } -- lastItemEstimate := float64(workDuration) / float64(n) -- if math.IsInf(lastItemEstimate, 0) || math.IsNaN(lastItemEstimate) { -- return -- } -- d.average.Add(lastItemEstimate) --} -- --func (d *movingAverageETA) OnCompleteMessage(msg string) { -- d.completeMsg = &msg --} -- --// AverageETA decorator. --// --// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS] --// --// `wcc` optional WC config --func AverageETA(style TimeStyle, wcc ...WC) Decorator { -- var wc WC -- for _, widthConf := range wcc { -- wc = widthConf -- } -- wc.Init() -- d := &averageETA{ -- WC: wc, -- style: style, -- startTime: time.Now(), -- } -- return d --} -- --type averageETA struct { -- WC -- style TimeStyle -- startTime time.Time -- completeMsg *string --} -- --func (d *averageETA) Decor(st *Statistics) string { -- if st.Completed && d.completeMsg != nil { -- return d.FormatMsg(*d.completeMsg) -- } -- -- var str string -- timeElapsed := time.Since(d.startTime) -- v := math.Round(float64(timeElapsed) / float64(st.Current)) -- if math.IsInf(v, 0) || math.IsNaN(v) { -- v = 0 -- } -- remaining := time.Duration((st.Total - st.Current) * int64(v)) -- hours := int64((remaining / time.Hour) % 60) -- minutes := int64((remaining / time.Minute) % 60) -- seconds := int64((remaining / time.Second) % 60) -- -- switch d.style { -- case ET_STYLE_GO: -- str = fmt.Sprint(time.Duration(remaining.Seconds()) * time.Second) -- case ET_STYLE_HHMMSS: -- str = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds) -- case ET_STYLE_HHMM: -- str = fmt.Sprintf("%02d:%02d", hours, minutes) -- case ET_STYLE_MMSS: -- if hours > 0 { -- str = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds) -- } else { -- str = fmt.Sprintf("%02d:%02d", minutes, seconds) -- } -- } -- -- return d.FormatMsg(str) --} -- --func (d *averageETA) OnCompleteMessage(msg string) { -- d.completeMsg = &msg --} -- --func MaxTolerateTimeNormalizer(maxTolerate time.Duration) TimeNormalizer { -- var normalized time.Duration -- var lastCall time.Time -- return func(remaining time.Duration) time.Duration { -- if diff := normalized - remaining; diff <= 0 || diff > maxTolerate || remaining < maxTolerate/2 { -- normalized = remaining -- lastCall = time.Now() -- return remaining -- } -- normalized -= time.Since(lastCall) -- lastCall = time.Now() -- return normalized -- } --} -- --func FixedIntervalTimeNormalizer(updInterval int) TimeNormalizer { -- var normalized time.Duration -- var lastCall time.Time -- var count int -- return func(remaining time.Duration) time.Duration { -- if count == 0 || remaining <= time.Duration(15*time.Second) { -- count = updInterval -- normalized = remaining -- lastCall = time.Now() -- return remaining -- } -- count-- -- normalized -= time.Since(lastCall) -- lastCall = time.Now() -- if normalized > 0 { -- return normalized -- } -- return remaining -- } --} -- --func NopNormalizer() TimeNormalizer { -- return func(remaining time.Duration) time.Duration { -- return remaining -- } --} -diff --git a/vendor/github.com/vbauerster/mpb/decor/name.go b/vendor/github.com/vbauerster/mpb/decor/name.go -deleted file mode 100644 -index a5a5d1469..000000000 ---- a/vendor/github.com/vbauerster/mpb/decor/name.go -+++ /dev/null -@@ -1,45 +0,0 @@ --package decor -- --// StaticName returns name decorator. --// --// `name` string to display --// --// `wcc` optional WC config --func StaticName(name string, wcc ...WC) Decorator { -- return Name(name, wcc...) --} -- --// Name returns name decorator. --// --// `name` string to display --// --// `wcc` optional WC config --func Name(name string, wcc ...WC) Decorator { -- var wc WC -- for _, widthConf := range wcc { -- wc = widthConf -- } -- wc.Init() -- d := &nameDecorator{ -- WC: wc, -- msg: name, -- } -- return d --} -- --type nameDecorator struct { -- WC -- msg string -- complete *string --} -- --func (d *nameDecorator) Decor(st *Statistics) string { -- if st.Completed && d.complete != nil { -- return d.FormatMsg(*d.complete) -- } -- return d.FormatMsg(d.msg) --} -- --func (d *nameDecorator) OnCompleteMessage(msg string) { -- d.complete = &msg --} -diff --git a/vendor/github.com/vbauerster/mpb/decor/percentage.go b/vendor/github.com/vbauerster/mpb/decor/percentage.go -deleted file mode 100644 -index 078fbcf89..000000000 ---- a/vendor/github.com/vbauerster/mpb/decor/percentage.go -+++ /dev/null -@@ -1,39 +0,0 @@ --package decor -- --import ( -- "fmt" -- -- "github.com/vbauerster/mpb/internal" --) -- --// Percentage returns percentage decorator. --// --// `wcc` optional WC config --func Percentage(wcc ...WC) Decorator { -- var wc WC -- for _, widthConf := range wcc { -- wc = widthConf -- } -- wc.Init() -- d := &percentageDecorator{ -- WC: wc, -- } -- return d --} -- --type percentageDecorator struct { -- WC -- completeMsg *string --} -- --func (d *percentageDecorator) Decor(st *Statistics) string { -- if st.Completed && d.completeMsg != nil { -- return d.FormatMsg(*d.completeMsg) -- } -- str := fmt.Sprintf("%d %%", internal.Percentage(st.Total, st.Current, 100)) -- return d.FormatMsg(str) --} -- --func (d *percentageDecorator) OnCompleteMessage(msg string) { -- d.completeMsg = &msg --} -diff --git a/vendor/github.com/vbauerster/mpb/decor/speed.go b/vendor/github.com/vbauerster/mpb/decor/speed.go -deleted file mode 100644 -index 74658ce41..000000000 ---- a/vendor/github.com/vbauerster/mpb/decor/speed.go -+++ /dev/null -@@ -1,271 +0,0 @@ --package decor -- --import ( -- "fmt" -- "io" -- "math" -- "strconv" -- "strings" -- "time" -- -- "github.com/VividCortex/ewma" --) -- --type SpeedKiB float64 -- --func (s SpeedKiB) Format(st fmt.State, verb rune) { -- prec, ok := st.Precision() -- -- if verb == 'd' || !ok { -- prec = 0 -- } -- if verb == 'f' && !ok { -- prec = 6 -- } -- // retain old beahavior if s verb used -- if verb == 's' { -- prec = 1 -- } -- -- var res, unit string -- switch { -- case s >= TiB: -- unit = "TiB/s" -- res = strconv.FormatFloat(float64(s)/TiB, 'f', prec, 64) -- case s >= GiB: -- unit = "GiB/s" -- res = strconv.FormatFloat(float64(s)/GiB, 'f', prec, 64) -- case s >= MiB: -- unit = "MiB/s" -- res = strconv.FormatFloat(float64(s)/MiB, 'f', prec, 64) -- case s >= KiB: -- unit = "KiB/s" -- res = strconv.FormatFloat(float64(s)/KiB, 'f', prec, 64) -- default: -- unit = "b/s" -- res = strconv.FormatInt(int64(s), 10) -- } -- -- if st.Flag(' ') { -- res += " " -- } -- res += unit -- -- if w, ok := st.Width(); ok { -- if len(res) < w { -- pad := strings.Repeat(" ", w-len(res)) -- if st.Flag(int('-')) { -- res += pad -- } else { -- res = pad + res -- } -- } -- } -- -- io.WriteString(st, res) --} -- --type SpeedKB float64 -- --func (s SpeedKB) Format(st fmt.State, verb rune) { -- prec, ok := st.Precision() -- -- if verb == 'd' || !ok { -- prec = 0 -- } -- if verb == 'f' && !ok { -- prec = 6 -- } -- // retain old beahavior if s verb used -- if verb == 's' { -- prec = 1 -- } -- -- var res, unit string -- switch { -- case s >= TB: -- unit = "TB/s" -- res = strconv.FormatFloat(float64(s)/TB, 'f', prec, 64) -- case s >= GB: -- unit = "GB/s" -- res = strconv.FormatFloat(float64(s)/GB, 'f', prec, 64) -- case s >= MB: -- unit = "MB/s" -- res = strconv.FormatFloat(float64(s)/MB, 'f', prec, 64) -- case s >= KB: -- unit = "kB/s" -- res = strconv.FormatFloat(float64(s)/KB, 'f', prec, 64) -- default: -- unit = "b/s" -- res = strconv.FormatInt(int64(s), 10) -- } -- -- if st.Flag(' ') { -- res += " " -- } -- res += unit -- -- if w, ok := st.Width(); ok { -- if len(res) < w { -- pad := strings.Repeat(" ", w-len(res)) -- if st.Flag(int('-')) { -- res += pad -- } else { -- res = pad + res -- } -- } -- } -- -- io.WriteString(st, res) --} -- --// EwmaSpeed exponential-weighted-moving-average based speed decorator, --// with dynamic unit measure adjustment. --// --// `unit` one of [0|UnitKiB|UnitKB] zero for no unit --// --// `unitFormat` printf compatible verb for value, like "%f" or "%d" --// --// `average` MovingAverage implementation --// --// `wcc` optional WC config --// --// unitFormat example if UnitKiB is chosen: --// --// "%.1f" = "1.0MiB/s" or "% .1f" = "1.0 MiB/s" --func EwmaSpeed(unit int, unitFormat string, age float64, wcc ...WC) Decorator { -- return MovingAverageSpeed(unit, unitFormat, ewma.NewMovingAverage(age), wcc...) --} -- --// MovingAverageSpeed decorator relies on MovingAverage implementation --// to calculate its average. --// --// `unit` one of [0|UnitKiB|UnitKB] zero for no unit --// --// `unitFormat` printf compatible verb for value, like "%f" or "%d" --// --// `average` MovingAverage implementation --// --// `wcc` optional WC config --func MovingAverageSpeed(unit int, unitFormat string, average MovingAverage, wcc ...WC) Decorator { -- var wc WC -- for _, widthConf := range wcc { -- wc = widthConf -- } -- wc.Init() -- d := &movingAverageSpeed{ -- WC: wc, -- unit: unit, -- unitFormat: unitFormat, -- average: average, -- } -- return d --} -- --type movingAverageSpeed struct { -- WC -- unit int -- unitFormat string -- average ewma.MovingAverage -- msg string -- completeMsg *string --} -- --func (d *movingAverageSpeed) Decor(st *Statistics) string { -- if st.Completed { -- if d.completeMsg != nil { -- return d.FormatMsg(*d.completeMsg) -- } -- return d.FormatMsg(d.msg) -- } -- -- speed := d.average.Value() -- switch d.unit { -- case UnitKiB: -- d.msg = fmt.Sprintf(d.unitFormat, SpeedKiB(speed)) -- case UnitKB: -- d.msg = fmt.Sprintf(d.unitFormat, SpeedKB(speed)) -- default: -- d.msg = fmt.Sprintf(d.unitFormat, speed) -- } -- -- return d.FormatMsg(d.msg) --} -- --func (s *movingAverageSpeed) NextAmount(n int, wdd ...time.Duration) { -- var workDuration time.Duration -- for _, wd := range wdd { -- workDuration = wd -- } -- speed := float64(n) / workDuration.Seconds() / 1000 -- if math.IsInf(speed, 0) || math.IsNaN(speed) { -- return -- } -- s.average.Add(speed) --} -- --func (d *movingAverageSpeed) OnCompleteMessage(msg string) { -- d.completeMsg = &msg --} -- --// AverageSpeed decorator with dynamic unit measure adjustment. --// --// `unit` one of [0|UnitKiB|UnitKB] zero for no unit --// --// `unitFormat` printf compatible verb for value, like "%f" or "%d" --// --// `wcc` optional WC config --// --// unitFormat example if UnitKiB is chosen: --// --// "%.1f" = "1.0MiB/s" or "% .1f" = "1.0 MiB/s" --func AverageSpeed(unit int, unitFormat string, wcc ...WC) Decorator { -- var wc WC -- for _, widthConf := range wcc { -- wc = widthConf -- } -- wc.Init() -- d := &averageSpeed{ -- WC: wc, -- unit: unit, -- unitFormat: unitFormat, -- startTime: time.Now(), -- } -- return d --} -- --type averageSpeed struct { -- WC -- unit int -- unitFormat string -- startTime time.Time -- msg string -- completeMsg *string --} -- --func (d *averageSpeed) Decor(st *Statistics) string { -- if st.Completed { -- if d.completeMsg != nil { -- return d.FormatMsg(*d.completeMsg) -- } -- return d.FormatMsg(d.msg) -- } -- -- timeElapsed := time.Since(d.startTime) -- speed := float64(st.Current) / timeElapsed.Seconds() -- -- switch d.unit { -- case UnitKiB: -- d.msg = fmt.Sprintf(d.unitFormat, SpeedKiB(speed)) -- case UnitKB: -- d.msg = fmt.Sprintf(d.unitFormat, SpeedKB(speed)) -- default: -- d.msg = fmt.Sprintf(d.unitFormat, speed) -- } -- -- return d.FormatMsg(d.msg) --} -- --func (d *averageSpeed) OnCompleteMessage(msg string) { -- d.completeMsg = &msg --} -diff --git a/vendor/github.com/vbauerster/mpb/doc.go b/vendor/github.com/vbauerster/mpb/doc.go -deleted file mode 100644 -index 16245956a..000000000 ---- a/vendor/github.com/vbauerster/mpb/doc.go -+++ /dev/null -@@ -1,6 +0,0 @@ --// Copyright (C) 2016-2018 Vladimir Bauer --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- --// Package mpb is a library for rendering progress bars in terminal applications. --package mpb -diff --git a/vendor/github.com/vbauerster/mpb/go.test.sh b/vendor/github.com/vbauerster/mpb/go.test.sh -deleted file mode 100644 -index 34dbbfb31..000000000 ---- a/vendor/github.com/vbauerster/mpb/go.test.sh -+++ /dev/null -@@ -1,12 +0,0 @@ --#!/usr/bin/env bash -- --set -e --echo "" > coverage.txt -- --for d in $(go list ./... | grep -v vendor); do -- go test -race -coverprofile=profile.out -covermode=atomic $d -- if [ -f profile.out ]; then -- cat profile.out >> coverage.txt -- rm profile.out -- fi --done -diff --git a/vendor/github.com/vbauerster/mpb/internal/percentage.go b/vendor/github.com/vbauerster/mpb/internal/percentage.go -deleted file mode 100644 -index 0483d2598..000000000 ---- a/vendor/github.com/vbauerster/mpb/internal/percentage.go -+++ /dev/null -@@ -1,12 +0,0 @@ --package internal -- --import "math" -- --// Percentage is a helper function, to calculate percentage. --func Percentage(total, current, width int64) int64 { -- if total <= 0 { -- return 0 -- } -- p := float64(width*current) / float64(total) -- return int64(math.Round(p)) --} -diff --git a/vendor/github.com/vbauerster/mpb/options.go b/vendor/github.com/vbauerster/mpb/options.go -deleted file mode 100644 -index 44a6ee3f3..000000000 ---- a/vendor/github.com/vbauerster/mpb/options.go -+++ /dev/null -@@ -1,90 +0,0 @@ --package mpb -- --import ( -- "context" -- "io" -- "sync" -- "time" -- -- "github.com/vbauerster/mpb/cwriter" --) -- --// ProgressOption is a function option which changes the default --// behavior of progress pool, if passed to mpb.New(...ProgressOption). --type ProgressOption func(*pState) -- --// WithWaitGroup provides means to have a single joint point. If --// *sync.WaitGroup is provided, you can safely call just p.Wait() --// without calling Wait() on provided *sync.WaitGroup. Makes sense --// when there are more than one bar to render. --func WithWaitGroup(wg *sync.WaitGroup) ProgressOption { -- return func(s *pState) { -- s.uwg = wg -- } --} -- --// WithWidth sets container width. Default is 80. Bars inherit this --// width, as long as no BarWidth is applied. --func WithWidth(w int) ProgressOption { -- return func(s *pState) { -- if w >= 0 { -- s.width = w -- } -- } --} -- --// WithRefreshRate overrides default 120ms refresh rate. --func WithRefreshRate(d time.Duration) ProgressOption { -- return func(s *pState) { -- if d < 10*time.Millisecond { -- return -- } -- s.rr = d -- } --} -- --// WithManualRefresh disables internal auto refresh time.Ticker. --// Refresh will occur upon receive value from provided ch. --func WithManualRefresh(ch <-chan time.Time) ProgressOption { -- return func(s *pState) { -- s.manualRefreshCh = ch -- } --} -- --// WithContext provided context will be used for cancellation purposes. --func WithContext(ctx context.Context) ProgressOption { -- return func(s *pState) { -- if ctx == nil { -- return -- } -- s.ctx = ctx -- } --} -- --// WithShutdownNotifier provided chanel will be closed, after all bars --// have been rendered. --func WithShutdownNotifier(ch chan struct{}) ProgressOption { -- return func(s *pState) { -- s.shutdownNotifier = ch -- } --} -- --// WithOutput overrides default output os.Stdout. --func WithOutput(w io.Writer) ProgressOption { -- return func(s *pState) { -- if w == nil { -- return -- } -- s.cw = cwriter.New(w) -- } --} -- --// WithDebugOutput sets debug output. --func WithDebugOutput(w io.Writer) ProgressOption { -- return func(s *pState) { -- if w == nil { -- return -- } -- s.debugOut = w -- } --} -diff --git a/vendor/github.com/vbauerster/mpb/progress.go b/vendor/github.com/vbauerster/mpb/progress.go -deleted file mode 100644 -index f9e25af79..000000000 ---- a/vendor/github.com/vbauerster/mpb/progress.go -+++ /dev/null -@@ -1,267 +0,0 @@ --package mpb -- --import ( -- "container/heap" -- "context" -- "fmt" -- "io" -- "io/ioutil" -- "os" -- "sync" -- "time" -- -- "github.com/vbauerster/mpb/cwriter" --) -- --const ( -- // default RefreshRate -- prr = 120 * time.Millisecond -- // default width -- pwidth = 80 --) -- --// Progress represents the container that renders Progress bars --type Progress struct { -- wg *sync.WaitGroup -- uwg *sync.WaitGroup -- operateState chan func(*pState) -- done chan struct{} --} -- --type pState struct { -- bHeap *priorityQueue -- shutdownPending []*Bar -- heapUpdated bool -- zeroWait bool -- idCounter int -- width int -- format string -- rr time.Duration -- cw *cwriter.Writer -- pMatrix map[int][]chan int -- aMatrix map[int][]chan int -- -- // following are provided/overrided by user -- ctx context.Context -- uwg *sync.WaitGroup -- manualRefreshCh <-chan time.Time -- shutdownNotifier chan struct{} -- waitBars map[*Bar]*Bar -- debugOut io.Writer --} -- --// New creates new Progress instance, which orchestrates bars rendering --// process. Accepts mpb.ProgressOption funcs for customization. --func New(options ...ProgressOption) *Progress { -- pq := make(priorityQueue, 0) -- heap.Init(&pq) -- s := &pState{ -- ctx: context.Background(), -- bHeap: &pq, -- width: pwidth, -- cw: cwriter.New(os.Stdout), -- rr: prr, -- waitBars: make(map[*Bar]*Bar), -- debugOut: ioutil.Discard, -- } -- -- for _, opt := range options { -- if opt != nil { -- opt(s) -- } -- } -- -- p := &Progress{ -- uwg: s.uwg, -- wg: new(sync.WaitGroup), -- operateState: make(chan func(*pState)), -- done: make(chan struct{}), -- } -- go p.serve(s) -- return p --} -- --// AddBar creates a new progress bar and adds to the container. --func (p *Progress) AddBar(total int64, options ...BarOption) *Bar { -- return p.Add(total, newDefaultBarFiller(), options...) --} -- --// AddSpinner creates a new spinner bar and adds to the container. --func (p *Progress) AddSpinner(total int64, alignment SpinnerAlignment, options ...BarOption) *Bar { -- filler := &spinnerFiller{ -- frames: defaultSpinnerStyle, -- alignment: alignment, -- } -- return p.Add(total, filler, options...) --} -- --// Add creates a bar which renders itself by provided filler. --func (p *Progress) Add(total int64, filler Filler, options ...BarOption) *Bar { -- if filler == nil { -- filler = newDefaultBarFiller() -- } -- p.wg.Add(1) -- result := make(chan *Bar) -- select { -- case p.operateState <- func(s *pState) { -- b := newBar(s.ctx, p.wg, filler, s.idCounter, s.width, total, options...) -- if b.runningBar != nil { -- s.waitBars[b.runningBar] = b -- } else { -- heap.Push(s.bHeap, b) -- s.heapUpdated = true -- } -- s.idCounter++ -- result <- b -- }: -- return <-result -- case <-p.done: -- p.wg.Done() -- return nil -- } --} -- --// Abort is only effective while bar progress is running, it means --// remove bar now without waiting for its completion. If bar is already --// completed, there is nothing to abort. If you need to remove bar --// after completion, use BarRemoveOnComplete BarOption. --func (p *Progress) Abort(b *Bar, remove bool) { -- select { -- case p.operateState <- func(s *pState) { -- if b.index < 0 { -- return -- } -- if remove { -- s.heapUpdated = heap.Remove(s.bHeap, b.index) != nil -- } -- s.shutdownPending = append(s.shutdownPending, b) -- }: -- case <-p.done: -- } --} -- --// UpdateBarPriority provides a way to change bar's order position. --// Zero is highest priority, i.e. bar will be on top. --func (p *Progress) UpdateBarPriority(b *Bar, priority int) { -- select { -- case p.operateState <- func(s *pState) { s.bHeap.update(b, priority) }: -- case <-p.done: -- } --} -- --// BarCount returns bars count --func (p *Progress) BarCount() int { -- result := make(chan int, 1) -- select { -- case p.operateState <- func(s *pState) { result <- s.bHeap.Len() }: -- return <-result -- case <-p.done: -- return 0 -- } --} -- --// Wait first waits for user provided *sync.WaitGroup, if any, then --// waits far all bars to complete and finally shutdowns master goroutine. --// After this method has been called, there is no way to reuse *Progress --// instance. --func (p *Progress) Wait() { -- if p.uwg != nil { -- p.uwg.Wait() -- } -- -- p.wg.Wait() -- -- select { -- case p.operateState <- func(s *pState) { s.zeroWait = true }: -- <-p.done -- case <-p.done: -- } --} -- --func (s *pState) updateSyncMatrix() { -- s.pMatrix = make(map[int][]chan int) -- s.aMatrix = make(map[int][]chan int) -- for i := 0; i < s.bHeap.Len(); i++ { -- bar := (*s.bHeap)[i] -- table := bar.wSyncTable() -- pRow, aRow := table[0], table[1] -- -- for i, ch := range pRow { -- s.pMatrix[i] = append(s.pMatrix[i], ch) -- } -- -- for i, ch := range aRow { -- s.aMatrix[i] = append(s.aMatrix[i], ch) -- } -- } --} -- --func (s *pState) render(tw int) { -- if s.heapUpdated { -- s.updateSyncMatrix() -- s.heapUpdated = false -- } -- syncWidth(s.pMatrix) -- syncWidth(s.aMatrix) -- -- for i := 0; i < s.bHeap.Len(); i++ { -- bar := (*s.bHeap)[i] -- go bar.render(s.debugOut, tw) -- } -- -- if err := s.flush(s.bHeap.Len()); err != nil { -- fmt.Fprintf(s.debugOut, "%s %s %v\n", "[mpb]", time.Now(), err) -- } --} -- --func (s *pState) flush(lineCount int) error { -- for s.bHeap.Len() > 0 { -- bar := heap.Pop(s.bHeap).(*Bar) -- frameReader := <-bar.frameReaderCh -- defer func() { -- if frameReader.toShutdown { -- // shutdown at next flush, in other words decrement underlying WaitGroup -- // only after the bar with completed state has been flushed. this -- // ensures no bar ends up with less than 100% rendered. -- s.shutdownPending = append(s.shutdownPending, bar) -- if replacementBar, ok := s.waitBars[bar]; ok { -- heap.Push(s.bHeap, replacementBar) -- s.heapUpdated = true -- delete(s.waitBars, bar) -- } -- if frameReader.removeOnComplete { -- s.heapUpdated = true -- return -- } -- } -- heap.Push(s.bHeap, bar) -- }() -- s.cw.ReadFrom(frameReader) -- lineCount += frameReader.extendedLines -- } -- -- for i := len(s.shutdownPending) - 1; i >= 0; i-- { -- close(s.shutdownPending[i].shutdown) -- s.shutdownPending = s.shutdownPending[:i] -- } -- -- return s.cw.Flush(lineCount) --} -- --func syncWidth(matrix map[int][]chan int) { -- for _, column := range matrix { -- column := column -- go func() { -- var maxWidth int -- for _, ch := range column { -- w := <-ch -- if w > maxWidth { -- maxWidth = w -- } -- } -- for _, ch := range column { -- ch <- maxWidth -- } -- }() -- } --} -diff --git a/vendor/github.com/vbauerster/mpb/progress_posix.go b/vendor/github.com/vbauerster/mpb/progress_posix.go -deleted file mode 100644 -index 545245a42..000000000 ---- a/vendor/github.com/vbauerster/mpb/progress_posix.go -+++ /dev/null -@@ -1,70 +0,0 @@ --// +build !windows -- --package mpb -- --import ( -- "os" -- "os/signal" -- "syscall" -- "time" --) -- --func (p *Progress) serve(s *pState) { -- -- var ticker *time.Ticker -- var refreshCh <-chan time.Time -- var winch chan os.Signal -- var resumeTimer *time.Timer -- var resumeEvent <-chan time.Time -- winchIdleDur := s.rr * 2 -- -- if s.manualRefreshCh == nil { -- ticker = time.NewTicker(s.rr) -- refreshCh = ticker.C -- winch = make(chan os.Signal, 2) -- signal.Notify(winch, syscall.SIGWINCH) -- } else { -- refreshCh = s.manualRefreshCh -- } -- -- for { -- select { -- case op := <-p.operateState: -- op(s) -- case <-refreshCh: -- if s.zeroWait { -- if s.manualRefreshCh == nil { -- signal.Stop(winch) -- ticker.Stop() -- } -- if s.shutdownNotifier != nil { -- close(s.shutdownNotifier) -- } -- close(p.done) -- return -- } -- tw, err := s.cw.GetWidth() -- if err != nil { -- tw = s.width -- } -- s.render(tw) -- case <-winch: -- tw, err := s.cw.GetWidth() -- if err != nil { -- tw = s.width -- } -- s.render(tw - tw/8) -- if resumeTimer != nil && resumeTimer.Reset(winchIdleDur) { -- break -- } -- ticker.Stop() -- resumeTimer = time.NewTimer(winchIdleDur) -- resumeEvent = resumeTimer.C -- case <-resumeEvent: -- ticker = time.NewTicker(s.rr) -- refreshCh = ticker.C -- resumeEvent = nil -- resumeTimer = nil -- } -- } --} -diff --git a/vendor/github.com/vbauerster/mpb/progress_windows.go b/vendor/github.com/vbauerster/mpb/progress_windows.go -deleted file mode 100644 -index cab03d36c..000000000 ---- a/vendor/github.com/vbauerster/mpb/progress_windows.go -+++ /dev/null -@@ -1,43 +0,0 @@ --// +build windows -- --package mpb -- --import ( -- "time" --) -- --func (p *Progress) serve(s *pState) { -- -- var ticker *time.Ticker -- var refreshCh <-chan time.Time -- -- if s.manualRefreshCh == nil { -- ticker = time.NewTicker(s.rr) -- refreshCh = ticker.C -- } else { -- refreshCh = s.manualRefreshCh -- } -- -- for { -- select { -- case op := <-p.operateState: -- op(s) -- case <-refreshCh: -- if s.zeroWait { -- if s.manualRefreshCh == nil { -- ticker.Stop() -- } -- if s.shutdownNotifier != nil { -- close(s.shutdownNotifier) -- } -- close(p.done) -- return -- } -- tw, err := s.cw.GetWidth() -- if err != nil { -- tw = s.width -- } -- s.render(tw) -- } -- } --} -diff --git a/vendor/github.com/vbauerster/mpb/proxyreader.go b/vendor/github.com/vbauerster/mpb/proxyreader.go -deleted file mode 100644 -index d2692ccf4..000000000 ---- a/vendor/github.com/vbauerster/mpb/proxyreader.go -+++ /dev/null -@@ -1,22 +0,0 @@ --package mpb -- --import ( -- "io" -- "time" --) -- --// proxyReader is io.Reader wrapper, for proxy read bytes --type proxyReader struct { -- io.ReadCloser -- bar *Bar -- iT time.Time --} -- --func (pr *proxyReader) Read(p []byte) (n int, err error) { -- n, err = pr.ReadCloser.Read(p) -- if n > 0 { -- pr.bar.IncrBy(n, time.Since(pr.iT)) -- pr.iT = time.Now() -- } -- return --} -diff --git a/vendor/github.com/vbauerster/mpb/.gitignore b/vendor/github.com/vbauerster/mpb/v4/.gitignore -similarity index 100% -rename from vendor/github.com/vbauerster/mpb/.gitignore -rename to vendor/github.com/vbauerster/mpb/v4/.gitignore -diff --git a/vendor/github.com/vbauerster/mpb/v4/.travis.yml b/vendor/github.com/vbauerster/mpb/v4/.travis.yml -new file mode 100644 -index 000000000..997ae32d6 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/.travis.yml -@@ -0,0 +1,12 @@ -+language: go -+ -+go: -+ - 1.12.x -+ - 1.13.x -+ -+env: -+ - GO111MODULE=on -+ -+script: -+ - go test -race ./... -+ - for i in _examples/*/; do go build $i/*.go || exit 1; done -diff --git a/vendor/github.com/vbauerster/mpb/README.md b/vendor/github.com/vbauerster/mpb/v4/README.md -similarity index 65% -rename from vendor/github.com/vbauerster/mpb/README.md -rename to vendor/github.com/vbauerster/mpb/v4/README.md -index f96857c47..003fb5987 100644 ---- a/vendor/github.com/vbauerster/mpb/README.md -+++ b/vendor/github.com/vbauerster/mpb/v4/README.md -@@ -3,43 +3,41 @@ - [![GoDoc](https://godoc.org/github.com/vbauerster/mpb?status.svg)](https://godoc.org/github.com/vbauerster/mpb) - [![Build Status](https://travis-ci.org/vbauerster/mpb.svg?branch=master)](https://travis-ci.org/vbauerster/mpb) - [![Go Report Card](https://goreportcard.com/badge/github.com/vbauerster/mpb)](https://goreportcard.com/report/github.com/vbauerster/mpb) --[![codecov](https://codecov.io/gh/vbauerster/mpb/branch/master/graph/badge.svg)](https://codecov.io/gh/vbauerster/mpb) - - **mpb** is a Go lib for rendering progress bars in terminal applications. - - ## Features - - * __Multiple Bars__: Multiple progress bars are supported --* __Dynamic Total__: [Set total](https://github.com/vbauerster/mpb/issues/9#issuecomment-344448984) while bar is running -+* __Dynamic Total__: Set total while bar is running - * __Dynamic Add/Remove__: Dynamically add or remove bars - * __Cancellation__: Cancel whole rendering process - * __Predefined Decorators__: Elapsed time, [ewma](https://github.com/VividCortex/ewma) based ETA, Percentage, Bytes counter - * __Decorator's width sync__: Synchronized decorator's width among multiple bars - --## Installation -+## Usage - --```sh --go get github.com/vbauerster/mpb --``` -+#### [Rendering single bar](_examples/singleBar/main.go) -+```go -+package main - --_Note:_ it is preferable to go get from github.com, rather than gopkg.in. See issue [#11](https://github.com/vbauerster/mpb/issues/11). -+import ( -+ "math/rand" -+ "time" - --## Usage -+ "github.com/vbauerster/mpb/v4" -+ "github.com/vbauerster/mpb/v4/decor" -+) - --#### [Rendering single bar](examples/singleBar/main.go) --```go -- p := mpb.New( -- // override default (80) width -- mpb.WithWidth(64), -- // override default 120ms refresh rate -- mpb.WithRefreshRate(180*time.Millisecond), -- ) -+func main() { -+ // initialize progress container, with custom width -+ p := mpb.New(mpb.WithWidth(64)) - - total := 100 - name := "Single Bar:" -- // adding a single bar -+ // adding a single bar, which will inherit container's width - bar := p.AddBar(int64(total), -- // override default "[=>-]" style -+ // override DefaultBarStyle, which is "[=>-]<+" - mpb.BarStyle("╢▌▌░╟"), - mpb.PrependDecorators( - // display our name with one space on the right -@@ -57,16 +55,18 @@ _Note:_ it is preferable to go get from github.com, rather than gopkg.in. See is - for i := 0; i < total; i++ { - start := time.Now() - time.Sleep(time.Duration(rand.Intn(10)+1) * max / 10) -- // ewma based decorators require work duration measurement -- bar.IncrBy(1, time.Since(start)) -+ // since ewma decorator is used, we need to pass time.Since(start) -+ bar.Increment(time.Since(start)) - } - // wait for our bar to complete and flush - p.Wait() -+} - ``` - --#### [Rendering multiple bars](examples/simple/main.go) -+#### [Rendering multiple bars](_examples/multiBars//main.go) - ```go - var wg sync.WaitGroup -+ // pass &wg (optional), so p will wait for it eventually - p := mpb.New(mpb.WithWaitGroup(&wg)) - total, numBars := 100, 3 - wg.Add(numBars) -@@ -91,27 +91,28 @@ _Note:_ it is preferable to go get from github.com, rather than gopkg.in. See is - // simulating some work - go func() { - defer wg.Done() -+ rng := rand.New(rand.NewSource(time.Now().UnixNano())) - max := 100 * time.Millisecond - for i := 0; i < total; i++ { - start := time.Now() -- time.Sleep(time.Duration(rand.Intn(10)+1) * max / 10) -- // ewma based decorators require work duration measurement -- bar.IncrBy(1, time.Since(start)) -+ time.Sleep(time.Duration(rng.Intn(10)+1) * max / 10) -+ // since ewma decorator is used, we need to pass time.Since(start) -+ bar.Increment(time.Since(start)) - } - }() - } -- // wait for all bars to complete and flush -+ // Waiting for passed &wg and for all bars to complete and flush - p.Wait() - ``` - --#### [Dynamic total](examples/dynTotal/main.go) -+#### [Dynamic total](_examples/dynTotal/main.go) - --![dynamic total](examples/gifs/godEMrCZmJkHYH1X9dN4Nm0U7.svg) -+![dynamic total](_svg/godEMrCZmJkHYH1X9dN4Nm0U7.svg) - --#### [Complex example](examples/complex/main.go) -+#### [Complex example](_examples/complex/main.go) - --![complex](examples/gifs/wHzf1M7sd7B3zVa2scBMnjqRf.svg) -+![complex](_svg/wHzf1M7sd7B3zVa2scBMnjqRf.svg) - --#### [Bytes counters](examples/io/single/main.go) -+#### [Bytes counters](_examples/io/main.go) - --![byte counters](examples/gifs/hIpTa3A5rQz65ssiVuRJu87X6.svg) -+![byte counters](_svg/hIpTa3A5rQz65ssiVuRJu87X6.svg) -diff --git a/vendor/github.com/vbauerster/mpb/v4/UNLICENSE b/vendor/github.com/vbauerster/mpb/v4/UNLICENSE -new file mode 100644 -index 000000000..68a49daad ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/UNLICENSE -@@ -0,0 +1,24 @@ -+This is free and unencumbered software released into the public domain. -+ -+Anyone is free to copy, modify, publish, use, compile, sell, or -+distribute this software, either in source code form or as a compiled -+binary, for any purpose, commercial or non-commercial, and by any -+means. -+ -+In jurisdictions that recognize copyright laws, the author or authors -+of this software dedicate any and all copyright interest in the -+software to the public domain. We make this dedication for the benefit -+of the public at large and to the detriment of our heirs and -+successors. We intend this dedication to be an overt act of -+relinquishment in perpetuity of all present and future rights to this -+software under copyright law. -+ -+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 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. -+ -+For more information, please refer to -diff --git a/vendor/github.com/vbauerster/mpb/v4/bar.go b/vendor/github.com/vbauerster/mpb/v4/bar.go -new file mode 100644 -index 000000000..c362da739 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/bar.go -@@ -0,0 +1,477 @@ -+package mpb -+ -+import ( -+ "bytes" -+ "context" -+ "fmt" -+ "io" -+ "io/ioutil" -+ "log" -+ "strings" -+ "time" -+ "unicode/utf8" -+ -+ "github.com/vbauerster/mpb/v4/decor" -+) -+ -+// Filler interface. -+// Bar renders by calling Filler's Fill method. You can literally have -+// any bar kind, by implementing this interface and passing it to the -+// *Progress.Add method. -+type Filler interface { -+ Fill(w io.Writer, width int, stat *decor.Statistics) -+} -+ -+// FillerFunc is function type adapter to convert function into Filler. -+type FillerFunc func(w io.Writer, width int, stat *decor.Statistics) -+ -+func (f FillerFunc) Fill(w io.Writer, width int, stat *decor.Statistics) { -+ f(w, width, stat) -+} -+ -+// Wrapper interface. -+// If you're implementing custom Filler by wrapping a built-in one, -+// it is necessary to implement this interface to retain functionality -+// of built-in Filler. -+type Wrapper interface { -+ Base() Filler -+} -+ -+// Bar represents a progress Bar. -+type Bar struct { -+ priority int // used by heap -+ index int // used by heap -+ -+ extendedLines int -+ toShutdown bool -+ toDrop bool -+ noPop bool -+ operateState chan func(*bState) -+ frameCh chan io.Reader -+ syncTableCh chan [][]chan int -+ completed chan bool -+ -+ // cancel is called either by user or on complete event -+ cancel func() -+ // done is closed after cacheState is assigned -+ done chan struct{} -+ // cacheState is populated, right after close(shutdown) -+ cacheState *bState -+ -+ container *Progress -+ dlogger *log.Logger -+ recoveredPanic interface{} -+} -+ -+type extFunc func(in io.Reader, tw int, st *decor.Statistics) (out io.Reader, lines int) -+ -+type bState struct { -+ baseF Filler -+ filler Filler -+ id int -+ width int -+ total int64 -+ current int64 -+ trimSpace bool -+ toComplete bool -+ completeFlushed bool -+ noPop bool -+ aDecorators []decor.Decorator -+ pDecorators []decor.Decorator -+ amountReceivers []decor.AmountReceiver -+ shutdownListeners []decor.ShutdownListener -+ averageAdjusters []decor.AverageAdjuster -+ bufP, bufB, bufA *bytes.Buffer -+ extender extFunc -+ -+ // priority overrides *Bar's priority, if set -+ priority int -+ // dropOnComplete propagates to *Bar -+ dropOnComplete bool -+ // runningBar is a key for *pState.parkedBars -+ runningBar *Bar -+ -+ debugOut io.Writer -+} -+ -+func newBar(container *Progress, bs *bState) *Bar { -+ logPrefix := fmt.Sprintf("%sbar#%02d ", container.dlogger.Prefix(), bs.id) -+ ctx, cancel := context.WithCancel(container.ctx) -+ -+ bar := &Bar{ -+ container: container, -+ priority: bs.priority, -+ toDrop: bs.dropOnComplete, -+ noPop: bs.noPop, -+ operateState: make(chan func(*bState)), -+ frameCh: make(chan io.Reader, 1), -+ syncTableCh: make(chan [][]chan int), -+ completed: make(chan bool, 1), -+ done: make(chan struct{}), -+ cancel: cancel, -+ dlogger: log.New(bs.debugOut, logPrefix, log.Lshortfile), -+ } -+ -+ go bar.serve(ctx, bs) -+ return bar -+} -+ -+// RemoveAllPrependers removes all prepend functions. -+func (b *Bar) RemoveAllPrependers() { -+ select { -+ case b.operateState <- func(s *bState) { s.pDecorators = nil }: -+ case <-b.done: -+ } -+} -+ -+// RemoveAllAppenders removes all append functions. -+func (b *Bar) RemoveAllAppenders() { -+ select { -+ case b.operateState <- func(s *bState) { s.aDecorators = nil }: -+ case <-b.done: -+ } -+} -+ -+// ProxyReader wraps r with metrics required for progress tracking. -+func (b *Bar) ProxyReader(r io.Reader) io.ReadCloser { -+ if r == nil { -+ return nil -+ } -+ rc, ok := r.(io.ReadCloser) -+ if !ok { -+ rc = ioutil.NopCloser(r) -+ } -+ prox := &proxyReader{rc, b, time.Now()} -+ if wt, ok := r.(io.WriterTo); ok { -+ return &proxyWriterTo{prox, wt} -+ } -+ return prox -+} -+ -+// ID returs id of the bar. -+func (b *Bar) ID() int { -+ result := make(chan int) -+ select { -+ case b.operateState <- func(s *bState) { result <- s.id }: -+ return <-result -+ case <-b.done: -+ return b.cacheState.id -+ } -+} -+ -+// Current returns bar's current number, in other words sum of all increments. -+func (b *Bar) Current() int64 { -+ result := make(chan int64) -+ select { -+ case b.operateState <- func(s *bState) { result <- s.current }: -+ return <-result -+ case <-b.done: -+ return b.cacheState.current -+ } -+} -+ -+// SetRefill sets refill, if supported by underlying Filler. -+// Useful for resume-able tasks. -+func (b *Bar) SetRefill(amount int64) { -+ type refiller interface { -+ SetRefill(int64) -+ } -+ b.operateState <- func(s *bState) { -+ if f, ok := s.baseF.(refiller); ok { -+ f.SetRefill(amount) -+ } -+ } -+} -+ -+// AdjustAverageDecorators updates start time of all average decorators. -+// Useful for resume-able tasks. -+func (b *Bar) AdjustAverageDecorators(startTime time.Time) { -+ b.operateState <- func(s *bState) { -+ for _, adjuster := range s.averageAdjusters { -+ adjuster.AverageAdjust(startTime) -+ } -+ } -+} -+ -+// TraverseDecorators traverses all available decorators and calls cb func on each. -+func (b *Bar) TraverseDecorators(cb decor.CBFunc) { -+ b.operateState <- func(s *bState) { -+ for _, decorators := range [...][]decor.Decorator{ -+ s.pDecorators, -+ s.aDecorators, -+ } { -+ for _, d := range decorators { -+ cb(extractBaseDecorator(d)) -+ } -+ } -+ } -+} -+ -+// SetTotal sets total dynamically. -+// Set complete to true, to trigger bar complete event now. -+func (b *Bar) SetTotal(total int64, complete bool) { -+ select { -+ case b.operateState <- func(s *bState) { -+ if total <= 0 { -+ s.total = s.current -+ } else { -+ s.total = total -+ } -+ if complete && !s.toComplete { -+ s.current = s.total -+ s.toComplete = true -+ go b.refreshTillShutdown() -+ } -+ }: -+ case <-b.done: -+ } -+} -+ -+// SetCurrent sets progress' current to arbitrary amount. -+func (b *Bar) SetCurrent(current int64, wdd ...time.Duration) { -+ select { -+ case b.operateState <- func(s *bState) { -+ for _, ar := range s.amountReceivers { -+ ar.NextAmount(current-s.current, wdd...) -+ } -+ s.current = current -+ if s.total > 0 && s.current >= s.total { -+ s.current = s.total -+ s.toComplete = true -+ go b.refreshTillShutdown() -+ } -+ }: -+ case <-b.done: -+ } -+} -+ -+// Increment is a shorthand for b.IncrInt64(1, wdd...). -+func (b *Bar) Increment(wdd ...time.Duration) { -+ b.IncrInt64(1, wdd...) -+} -+ -+// IncrBy is a shorthand for b.IncrInt64(int64(n), wdd...). -+func (b *Bar) IncrBy(n int, wdd ...time.Duration) { -+ b.IncrInt64(int64(n), wdd...) -+} -+ -+// IncrInt64 increments progress bar by amount of n. wdd is an optional -+// work duration i.e. time.Since(start), which expected to be passed, -+// if any ewma based decorator is used. -+func (b *Bar) IncrInt64(n int64, wdd ...time.Duration) { -+ select { -+ case b.operateState <- func(s *bState) { -+ for _, ar := range s.amountReceivers { -+ ar.NextAmount(n, wdd...) -+ } -+ s.current += n -+ if s.total > 0 && s.current >= s.total { -+ s.current = s.total -+ s.toComplete = true -+ go b.refreshTillShutdown() -+ } -+ }: -+ case <-b.done: -+ } -+} -+ -+// SetPriority changes bar's order among multiple bars. Zero is highest -+// priority, i.e. bar will be on top. If you don't need to set priority -+// dynamically, better use BarPriority option. -+func (b *Bar) SetPriority(priority int) { -+ select { -+ case <-b.done: -+ default: -+ b.container.setBarPriority(b, priority) -+ } -+} -+ -+// Abort interrupts bar's running goroutine. Call this, if you'd like -+// to stop/remove bar before completion event. It has no effect after -+// completion event. If drop is true bar will be removed as well. -+func (b *Bar) Abort(drop bool) { -+ select { -+ case <-b.done: -+ default: -+ if drop { -+ b.container.dropBar(b) -+ } -+ b.cancel() -+ } -+} -+ -+// Completed reports whether the bar is in completed state. -+func (b *Bar) Completed() bool { -+ select { -+ case b.operateState <- func(s *bState) { b.completed <- s.toComplete }: -+ return <-b.completed -+ case <-b.done: -+ return true -+ } -+} -+ -+func (b *Bar) serve(ctx context.Context, s *bState) { -+ defer b.container.bwg.Done() -+ for { -+ select { -+ case op := <-b.operateState: -+ op(s) -+ case <-ctx.Done(): -+ b.cacheState = s -+ close(b.done) -+ // Notifying decorators about shutdown event -+ for _, sl := range s.shutdownListeners { -+ sl.Shutdown() -+ } -+ return -+ } -+ } -+} -+ -+func (b *Bar) render(tw int) { -+ if b.recoveredPanic != nil { -+ b.toShutdown = false -+ b.frameCh <- b.panicToFrame(tw) -+ return -+ } -+ select { -+ case b.operateState <- func(s *bState) { -+ defer func() { -+ // recovering if user defined decorator panics for example -+ if p := recover(); p != nil { -+ b.dlogger.Println(p) -+ b.recoveredPanic = p -+ b.toShutdown = !s.completeFlushed -+ b.frameCh <- b.panicToFrame(tw) -+ } -+ }() -+ -+ st := newStatistics(s) -+ frame := s.draw(tw, st) -+ frame, b.extendedLines = s.extender(frame, tw, st) -+ -+ b.toShutdown = s.toComplete && !s.completeFlushed -+ s.completeFlushed = s.toComplete -+ b.frameCh <- frame -+ }: -+ case <-b.done: -+ s := b.cacheState -+ st := newStatistics(s) -+ frame := s.draw(tw, st) -+ frame, b.extendedLines = s.extender(frame, tw, st) -+ b.frameCh <- frame -+ } -+} -+ -+func (b *Bar) panicToFrame(termWidth int) io.Reader { -+ return strings.NewReader(fmt.Sprintf(fmt.Sprintf("%%.%dv\n", termWidth), b.recoveredPanic)) -+} -+ -+func (b *Bar) subscribeDecorators() { -+ var amountReceivers []decor.AmountReceiver -+ var shutdownListeners []decor.ShutdownListener -+ var averageAdjusters []decor.AverageAdjuster -+ b.TraverseDecorators(func(d decor.Decorator) { -+ if d, ok := d.(decor.AmountReceiver); ok { -+ amountReceivers = append(amountReceivers, d) -+ } -+ if d, ok := d.(decor.ShutdownListener); ok { -+ shutdownListeners = append(shutdownListeners, d) -+ } -+ if d, ok := d.(decor.AverageAdjuster); ok { -+ averageAdjusters = append(averageAdjusters, d) -+ } -+ }) -+ b.operateState <- func(s *bState) { -+ s.amountReceivers = amountReceivers -+ s.shutdownListeners = shutdownListeners -+ s.averageAdjusters = averageAdjusters -+ } -+} -+ -+func (b *Bar) refreshTillShutdown() { -+ for { -+ select { -+ case b.container.refreshCh <- time.Now(): -+ case <-b.done: -+ return -+ } -+ } -+} -+ -+func (b *Bar) wSyncTable() [][]chan int { -+ select { -+ case b.operateState <- func(s *bState) { b.syncTableCh <- s.wSyncTable() }: -+ return <-b.syncTableCh -+ case <-b.done: -+ return b.cacheState.wSyncTable() -+ } -+} -+ -+func (s *bState) draw(termWidth int, stat *decor.Statistics) io.Reader { -+ for _, d := range s.pDecorators { -+ s.bufP.WriteString(d.Decor(stat)) -+ } -+ -+ for _, d := range s.aDecorators { -+ s.bufA.WriteString(d.Decor(stat)) -+ } -+ -+ s.bufA.WriteByte('\n') -+ -+ prependCount := utf8.RuneCount(s.bufP.Bytes()) -+ appendCount := utf8.RuneCount(s.bufA.Bytes()) - 1 -+ -+ if fitWidth := s.width; termWidth > 1 { -+ if !s.trimSpace { -+ // reserve space for edge spaces -+ termWidth -= 2 -+ s.bufB.WriteByte(' ') -+ defer s.bufB.WriteByte(' ') -+ } -+ if prependCount+s.width+appendCount > termWidth { -+ fitWidth = termWidth - prependCount - appendCount -+ } -+ s.filler.Fill(s.bufB, fitWidth, stat) -+ } -+ -+ return io.MultiReader(s.bufP, s.bufB, s.bufA) -+} -+ -+func (s *bState) wSyncTable() [][]chan int { -+ columns := make([]chan int, 0, len(s.pDecorators)+len(s.aDecorators)) -+ var pCount int -+ for _, d := range s.pDecorators { -+ if ch, ok := d.Sync(); ok { -+ columns = append(columns, ch) -+ pCount++ -+ } -+ } -+ var aCount int -+ for _, d := range s.aDecorators { -+ if ch, ok := d.Sync(); ok { -+ columns = append(columns, ch) -+ aCount++ -+ } -+ } -+ table := make([][]chan int, 2) -+ table[0] = columns[0:pCount] -+ table[1] = columns[pCount : pCount+aCount : pCount+aCount] -+ return table -+} -+ -+func newStatistics(s *bState) *decor.Statistics { -+ return &decor.Statistics{ -+ ID: s.id, -+ Completed: s.completeFlushed, -+ Total: s.total, -+ Current: s.current, -+ } -+} -+ -+func extractBaseDecorator(d decor.Decorator) decor.Decorator { -+ if d, ok := d.(decor.Wrapper); ok { -+ return extractBaseDecorator(d.Base()) -+ } -+ return d -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/bar_filler.go b/vendor/github.com/vbauerster/mpb/v4/bar_filler.go -new file mode 100644 -index 000000000..0d751a68d ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/bar_filler.go -@@ -0,0 +1,137 @@ -+package mpb -+ -+import ( -+ "io" -+ "unicode/utf8" -+ -+ "github.com/vbauerster/mpb/v4/decor" -+ "github.com/vbauerster/mpb/v4/internal" -+) -+ -+const ( -+ rLeft = iota -+ rFill -+ rTip -+ rEmpty -+ rRight -+ rRevTip -+ rRefill -+) -+ -+// DefaultBarStyle is applied when bar constructed with *Progress.AddBar method. -+// -+// '1th rune' stands for left boundary rune -+// -+// '2th rune' stands for fill rune -+// -+// '3th rune' stands for tip rune -+// -+// '4th rune' stands for empty rune -+// -+// '5th rune' stands for right boundary rune -+// -+// '6th rune' stands for reverse tip rune -+// -+// '7th rune' stands for refill rune -+// -+const DefaultBarStyle string = "[=>-]<+" -+ -+type barFiller struct { -+ format [][]byte -+ tip []byte -+ refill int64 -+ reverse bool -+ flush func(w io.Writer, bb [][]byte) -+} -+ -+// NewBarFiller constucts mpb.Filler, to be used with *Progress.Add method. -+func NewBarFiller(style string, reverse bool) Filler { -+ if style == "" { -+ style = DefaultBarStyle -+ } -+ bf := &barFiller{ -+ format: make([][]byte, utf8.RuneCountInString(style)), -+ } -+ bf.SetStyle(style) -+ bf.SetReverse(reverse) -+ return bf -+} -+ -+func (s *barFiller) SetStyle(style string) { -+ if !utf8.ValidString(style) { -+ return -+ } -+ src := make([][]byte, 0, utf8.RuneCountInString(style)) -+ for _, r := range style { -+ src = append(src, []byte(string(r))) -+ } -+ copy(s.format, src) -+ if s.reverse { -+ s.tip = s.format[rRevTip] -+ } else { -+ s.tip = s.format[rTip] -+ } -+} -+ -+func (s *barFiller) SetReverse(reverse bool) { -+ if reverse { -+ s.tip = s.format[rRevTip] -+ s.flush = func(w io.Writer, bb [][]byte) { -+ for i := len(bb) - 1; i >= 0; i-- { -+ w.Write(bb[i]) -+ } -+ } -+ } else { -+ s.tip = s.format[rTip] -+ s.flush = func(w io.Writer, bb [][]byte) { -+ for i := 0; i < len(bb); i++ { -+ w.Write(bb[i]) -+ } -+ } -+ } -+ s.reverse = reverse -+} -+ -+func (s *barFiller) SetRefill(amount int64) { -+ s.refill = amount -+} -+ -+func (s *barFiller) Fill(w io.Writer, width int, stat *decor.Statistics) { -+ // don't count rLeft and rRight as progress -+ width -= 2 -+ if width < 2 { -+ return -+ } -+ w.Write(s.format[rLeft]) -+ defer w.Write(s.format[rRight]) -+ -+ bb := make([][]byte, width) -+ -+ cwidth := int(internal.PercentageRound(stat.Total, stat.Current, width)) -+ -+ for i := 0; i < cwidth; i++ { -+ bb[i] = s.format[rFill] -+ } -+ -+ if s.refill > 0 { -+ var rwidth int -+ if s.refill > stat.Current { -+ rwidth = cwidth -+ } else { -+ rwidth = int(internal.PercentageRound(stat.Total, int64(s.refill), width)) -+ } -+ for i := 0; i < rwidth; i++ { -+ bb[i] = s.format[rRefill] -+ } -+ } -+ -+ if cwidth > 0 && cwidth < width { -+ bb[cwidth-1] = s.tip -+ } -+ -+ for i := cwidth; i < width; i++ { -+ bb[i] = s.format[rEmpty] -+ } -+ -+ s.flush(w, bb) -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/bar_option.go b/vendor/github.com/vbauerster/mpb/v4/bar_option.go -new file mode 100644 -index 000000000..7fb152562 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/bar_option.go -@@ -0,0 +1,208 @@ -+package mpb -+ -+import ( -+ "bytes" -+ "io" -+ -+ "github.com/vbauerster/mpb/v4/decor" -+) -+ -+// BarOption is a function option which changes the default behavior of a bar. -+type BarOption func(*bState) -+ -+func (s *bState) addDecorators(dest *[]decor.Decorator, decorators ...decor.Decorator) { -+ type mergeWrapper interface { -+ MergeUnwrap() []decor.Decorator -+ } -+ for _, decorator := range decorators { -+ if mw, ok := decorator.(mergeWrapper); ok { -+ *dest = append(*dest, mw.MergeUnwrap()...) -+ } -+ *dest = append(*dest, decorator) -+ } -+} -+ -+// AppendDecorators let you inject decorators to the bar's right side. -+func AppendDecorators(decorators ...decor.Decorator) BarOption { -+ return func(s *bState) { -+ s.addDecorators(&s.aDecorators, decorators...) -+ } -+} -+ -+// PrependDecorators let you inject decorators to the bar's left side. -+func PrependDecorators(decorators ...decor.Decorator) BarOption { -+ return func(s *bState) { -+ s.addDecorators(&s.pDecorators, decorators...) -+ } -+} -+ -+// BarID sets bar id. -+func BarID(id int) BarOption { -+ return func(s *bState) { -+ s.id = id -+ } -+} -+ -+// BarWidth sets bar width independent of the container. -+func BarWidth(width int) BarOption { -+ return func(s *bState) { -+ s.width = width -+ } -+} -+ -+// BarReplaceOnComplete is deprecated. Use BarParkTo instead. -+func BarReplaceOnComplete(runningBar *Bar) BarOption { -+ return BarParkTo(runningBar) -+} -+ -+// BarParkTo parks constructed bar into the runningBar. In other words, -+// constructed bar will replace runningBar after it has been completed. -+func BarParkTo(runningBar *Bar) BarOption { -+ if runningBar == nil { -+ return nil -+ } -+ return func(s *bState) { -+ s.runningBar = runningBar -+ } -+} -+ -+// BarRemoveOnComplete removes bar filler and decorators if any, on -+// complete event. -+func BarRemoveOnComplete() BarOption { -+ return func(s *bState) { -+ s.dropOnComplete = true -+ } -+} -+ -+// BarClearOnComplete clears bar filler only, on complete event. -+func BarClearOnComplete() BarOption { -+ return BarOnComplete("") -+} -+ -+// BarOnComplete replaces bar filler with message, on complete event. -+func BarOnComplete(message string) BarOption { -+ return func(s *bState) { -+ s.filler = makeBarOnCompleteFiller(s.baseF, message) -+ } -+} -+ -+func makeBarOnCompleteFiller(filler Filler, message string) Filler { -+ return FillerFunc(func(w io.Writer, width int, st *decor.Statistics) { -+ if st.Completed { -+ io.WriteString(w, message) -+ } else { -+ filler.Fill(w, width, st) -+ } -+ }) -+} -+ -+// BarPriority sets bar's priority. Zero is highest priority, i.e. bar -+// will be on top. If `BarReplaceOnComplete` option is supplied, this -+// option is ignored. -+func BarPriority(priority int) BarOption { -+ return func(s *bState) { -+ s.priority = priority -+ } -+} -+ -+// BarExtender is an option to extend bar to the next new line, with -+// arbitrary output. -+func BarExtender(extender Filler) BarOption { -+ if extender == nil { -+ return nil -+ } -+ return func(s *bState) { -+ s.extender = makeExtFunc(extender) -+ } -+} -+ -+func makeExtFunc(extender Filler) extFunc { -+ buf := new(bytes.Buffer) -+ nl := []byte("\n") -+ return func(r io.Reader, tw int, st *decor.Statistics) (io.Reader, int) { -+ extender.Fill(buf, tw, st) -+ return io.MultiReader(r, buf), bytes.Count(buf.Bytes(), nl) -+ } -+} -+ -+// TrimSpace trims bar's edge spaces. -+func TrimSpace() BarOption { -+ return func(s *bState) { -+ s.trimSpace = true -+ } -+} -+ -+// BarStyle overrides mpb.DefaultBarStyle, for example BarStyle("╢▌▌░╟"). -+// If you need to override `reverse tip` and `refill rune` set 6th and -+// 7th rune respectively, for example BarStyle("[=>-]<+"). -+func BarStyle(style string) BarOption { -+ if style == "" { -+ return nil -+ } -+ type styleSetter interface { -+ SetStyle(string) -+ } -+ return func(s *bState) { -+ if t, ok := s.baseF.(styleSetter); ok { -+ t.SetStyle(style) -+ } -+ } -+} -+ -+// BarNoPop disables bar pop out of container. Effective when -+// PopCompletedMode of container is enabled. -+func BarNoPop() BarOption { -+ return func(s *bState) { -+ s.noPop = true -+ } -+} -+ -+// BarReverse reverse mode, bar will progress from right to left. -+func BarReverse() BarOption { -+ type revSetter interface { -+ SetReverse(bool) -+ } -+ return func(s *bState) { -+ if t, ok := s.baseF.(revSetter); ok { -+ t.SetReverse(true) -+ } -+ } -+} -+ -+// SpinnerStyle sets custom spinner style. -+// Effective when Filler type is spinner. -+func SpinnerStyle(frames []string) BarOption { -+ if len(frames) == 0 { -+ return nil -+ } -+ chk := func(filler Filler) (interface{}, bool) { -+ t, ok := filler.(*spinnerFiller) -+ return t, ok -+ } -+ cb := func(t interface{}) { -+ t.(*spinnerFiller).frames = frames -+ } -+ return MakeFillerTypeSpecificBarOption(chk, cb) -+} -+ -+// MakeFillerTypeSpecificBarOption makes BarOption specific to Filler's -+// actual type. If you implement your own Filler, so most probably -+// you'll need this. See BarStyle or SpinnerStyle for example. -+func MakeFillerTypeSpecificBarOption( -+ typeChecker func(Filler) (interface{}, bool), -+ cb func(interface{}), -+) BarOption { -+ return func(s *bState) { -+ if t, ok := typeChecker(s.baseF); ok { -+ cb(t) -+ } -+ } -+} -+ -+// BarOptOnCond returns option when condition evaluates to true. -+func BarOptOnCond(option BarOption, condition func() bool) BarOption { -+ if condition() { -+ return option -+ } -+ return nil -+} -diff --git a/vendor/github.com/vbauerster/mpb/cwriter/writer.go b/vendor/github.com/vbauerster/mpb/v4/cwriter/writer.go -similarity index 53% -rename from vendor/github.com/vbauerster/mpb/cwriter/writer.go -rename to vendor/github.com/vbauerster/mpb/v4/cwriter/writer.go -index 638237c18..9ec1ec66b 100644 ---- a/vendor/github.com/vbauerster/mpb/cwriter/writer.go -+++ b/vendor/github.com/vbauerster/mpb/v4/cwriter/writer.go -@@ -7,59 +7,50 @@ import ( - "io" - "os" - -- isatty "github.com/mattn/go-isatty" - "golang.org/x/crypto/ssh/terminal" - ) - --// ESC is the ASCII code for escape character --const ESC = 27 -- -+// NotATTY not a TeleTYpewriter error. - var NotATTY = errors.New("not a terminal") - --var ( -- cursorUp = fmt.Sprintf("%c[%dA", ESC, 1) -- clearLine = fmt.Sprintf("%c[2K\r", ESC) -- clearCursorAndLine = cursorUp + clearLine --) -+var cuuAndEd = fmt.Sprintf("%c[%%dA%[1]c[J", 27) - --// Writer is a buffered the writer that updates the terminal. The -+// Writer is a buffered the writer that updates the terminal. The - // contents of writer will be flushed when Flush is called. - type Writer struct { - out io.Writer - buf bytes.Buffer -- isTerminal bool -- fd int - lineCount int -+ fd uintptr -+ isTerminal bool - } - --// New returns a new Writer with defaults -+// New returns a new Writer with defaults. - func New(out io.Writer) *Writer { - w := &Writer{out: out} - if f, ok := out.(*os.File); ok { -- fd := f.Fd() -- w.isTerminal = isatty.IsTerminal(fd) -- w.fd = int(fd) -+ w.fd = f.Fd() -+ w.isTerminal = terminal.IsTerminal(int(w.fd)) - } - return w - } - --// Flush flushes the underlying buffer --func (w *Writer) Flush(lineCount int) error { -- err := w.clearLines() -- w.lineCount = lineCount -- // WriteTo takes care of w.buf.Reset -- if _, e := w.buf.WriteTo(w.out); err == nil { -- err = e -+// Flush flushes the underlying buffer. -+func (w *Writer) Flush(lineCount int) (err error) { -+ if w.lineCount > 0 { -+ w.clearLines() - } -- return err -+ w.lineCount = lineCount -+ _, err = w.buf.WriteTo(w.out) -+ return - } - --// Write appends the contents of p to the underlying buffer -+// Write appends the contents of p to the underlying buffer. - func (w *Writer) Write(p []byte) (n int, err error) { - return w.buf.Write(p) - } - --// WriteString writes string to the underlying buffer -+// WriteString writes string to the underlying buffer. - func (w *Writer) WriteString(s string) (n int, err error) { - return w.buf.WriteString(s) - } -@@ -73,7 +64,7 @@ func (w *Writer) ReadFrom(r io.Reader) (n int64, err error) { - // GetWidth returns width of underlying terminal. - func (w *Writer) GetWidth() (int, error) { - if w.isTerminal { -- tw, _, err := terminal.GetSize(w.fd) -+ tw, _, err := terminal.GetSize(int(w.fd)) - return tw, err - } - return -1, NotATTY -diff --git a/vendor/github.com/vbauerster/mpb/v4/cwriter/writer_posix.go b/vendor/github.com/vbauerster/mpb/v4/cwriter/writer_posix.go -new file mode 100644 -index 000000000..3fb8b7d75 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/cwriter/writer_posix.go -@@ -0,0 +1,9 @@ -+// +build !windows -+ -+package cwriter -+ -+import "fmt" -+ -+func (w *Writer) clearLines() { -+ fmt.Fprintf(w.out, cuuAndEd, w.lineCount) -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/cwriter/writer_windows.go b/vendor/github.com/vbauerster/mpb/v4/cwriter/writer_windows.go -new file mode 100644 -index 000000000..712528900 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/cwriter/writer_windows.go -@@ -0,0 +1,60 @@ -+// +build windows -+ -+package cwriter -+ -+import ( -+ "fmt" -+ "syscall" -+ "unsafe" -+) -+ -+var kernel32 = syscall.NewLazyDLL("kernel32.dll") -+ -+var ( -+ procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") -+ procSetConsoleCursorPosition = kernel32.NewProc("SetConsoleCursorPosition") -+ procFillConsoleOutputCharacter = kernel32.NewProc("FillConsoleOutputCharacterW") -+ procFillConsoleOutputAttribute = kernel32.NewProc("FillConsoleOutputAttribute") -+) -+ -+type coord struct { -+ x int16 -+ y int16 -+} -+ -+type smallRect struct { -+ left int16 -+ top int16 -+ right int16 -+ bottom int16 -+} -+ -+type consoleScreenBufferInfo struct { -+ size coord -+ cursorPosition coord -+ attributes uint16 -+ window smallRect -+ maximumWindowSize coord -+} -+ -+func (w *Writer) clearLines() { -+ if !w.isTerminal { -+ fmt.Fprintf(w.out, cuuAndEd, w.lineCount) -+ } -+ var info consoleScreenBufferInfo -+ procGetConsoleScreenBufferInfo.Call(w.fd, uintptr(unsafe.Pointer(&info))) -+ -+ info.cursorPosition.y -= int16(w.lineCount) -+ if info.cursorPosition.y < 0 { -+ info.cursorPosition.y = 0 -+ } -+ procSetConsoleCursorPosition.Call(w.fd, uintptr(uint32(uint16(info.cursorPosition.y))<<16|uint32(uint16(info.cursorPosition.x)))) -+ -+ // clear the lines -+ cursor := coord{ -+ x: info.window.left, -+ y: info.cursorPosition.y, -+ } -+ count := uint32(info.size.x) * uint32(w.lineCount) -+ procFillConsoleOutputCharacter.Call(w.fd, uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(new(uint32)))) -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/counters.go b/vendor/github.com/vbauerster/mpb/v4/decor/counters.go -new file mode 100644 -index 000000000..32bcdf76a ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/counters.go -@@ -0,0 +1,84 @@ -+package decor -+ -+import ( -+ "fmt" -+) -+ -+const ( -+ _ = iota -+ UnitKiB -+ UnitKB -+) -+ -+// CountersNoUnit is a wrapper around Counters with no unit param. -+func CountersNoUnit(pairFmt string, wcc ...WC) Decorator { -+ return Counters(0, pairFmt, wcc...) -+} -+ -+// CountersKibiByte is a wrapper around Counters with predefined unit -+// UnitKiB (bytes/1024). -+func CountersKibiByte(pairFmt string, wcc ...WC) Decorator { -+ return Counters(UnitKiB, pairFmt, wcc...) -+} -+ -+// CountersKiloByte is a wrapper around Counters with predefined unit -+// UnitKB (bytes/1000). -+func CountersKiloByte(pairFmt string, wcc ...WC) Decorator { -+ return Counters(UnitKB, pairFmt, wcc...) -+} -+ -+// Counters decorator with dynamic unit measure adjustment. -+// -+// `unit` one of [0|UnitKiB|UnitKB] zero for no unit -+// -+// `pairFmt` printf compatible verbs for current and total, like "%f" or "%d" -+// -+// `wcc` optional WC config -+// -+// pairFmt example if unit=UnitKB: -+// -+// pairFmt="%.1f / %.1f" output: "1.0MB / 12.0MB" -+// pairFmt="% .1f / % .1f" output: "1.0 MB / 12.0 MB" -+// pairFmt="%d / %d" output: "1MB / 12MB" -+// pairFmt="% d / % d" output: "1 MB / 12 MB" -+// -+func Counters(unit int, pairFmt string, wcc ...WC) Decorator { -+ var wc WC -+ for _, widthConf := range wcc { -+ wc = widthConf -+ } -+ d := &countersDecorator{ -+ WC: wc.Init(), -+ producer: chooseSizeProducer(unit, pairFmt), -+ } -+ return d -+} -+ -+type countersDecorator struct { -+ WC -+ producer func(*Statistics) string -+} -+ -+func (d *countersDecorator) Decor(st *Statistics) string { -+ return d.FormatMsg(d.producer(st)) -+} -+ -+func chooseSizeProducer(unit int, format string) func(*Statistics) string { -+ if format == "" { -+ format = "%d / %d" -+ } -+ switch unit { -+ case UnitKiB: -+ return func(st *Statistics) string { -+ return fmt.Sprintf(format, SizeB1024(st.Current), SizeB1024(st.Total)) -+ } -+ case UnitKB: -+ return func(st *Statistics) string { -+ return fmt.Sprintf(format, SizeB1000(st.Current), SizeB1000(st.Total)) -+ } -+ default: -+ return func(st *Statistics) string { -+ return fmt.Sprintf(format, st.Current, st.Total) -+ } -+ } -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/decorator.go b/vendor/github.com/vbauerster/mpb/v4/decor/decorator.go -new file mode 100644 -index 000000000..2271cbbe1 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/decorator.go -@@ -0,0 +1,178 @@ -+package decor -+ -+import ( -+ "fmt" -+ "time" -+ "unicode/utf8" -+ -+ "github.com/acarl005/stripansi" -+) -+ -+const ( -+ // DidentRight bit specifies identation direction. -+ // |foo |b | With DidentRight -+ // | foo| b| Without DidentRight -+ DidentRight = 1 << iota -+ -+ // DextraSpace bit adds extra space, makes sense with DSyncWidth only. -+ // When DidentRight bit set, the space will be added to the right, -+ // otherwise to the left. -+ DextraSpace -+ -+ // DSyncWidth bit enables same column width synchronization. -+ // Effective with multiple bars only. -+ DSyncWidth -+ -+ // DSyncWidthR is shortcut for DSyncWidth|DidentRight -+ DSyncWidthR = DSyncWidth | DidentRight -+ -+ // DSyncSpace is shortcut for DSyncWidth|DextraSpace -+ DSyncSpace = DSyncWidth | DextraSpace -+ -+ // DSyncSpaceR is shortcut for DSyncWidth|DextraSpace|DidentRight -+ DSyncSpaceR = DSyncWidth | DextraSpace | DidentRight -+) -+ -+// TimeStyle enum. -+type TimeStyle int -+ -+// TimeStyle kinds. -+const ( -+ ET_STYLE_GO TimeStyle = iota -+ ET_STYLE_HHMMSS -+ ET_STYLE_HHMM -+ ET_STYLE_MMSS -+) -+ -+// Statistics consists of progress related statistics, that Decorator -+// may need. -+type Statistics struct { -+ ID int -+ Completed bool -+ Total int64 -+ Current int64 -+} -+ -+// Decorator interface. -+// Implementors should embed WC type, that way only single method -+// Decor(*Statistics) needs to be implemented, the rest will be handled -+// by WC type. -+type Decorator interface { -+ Configurator -+ Synchronizer -+ Decor(*Statistics) string -+} -+ -+// Synchronizer interface. -+// All decorators implement this interface implicitly. Its Sync -+// method exposes width sync channel, if DSyncWidth bit is set. -+type Synchronizer interface { -+ Sync() (chan int, bool) -+} -+ -+// Configurator interface. -+type Configurator interface { -+ GetConf() WC -+ SetConf(WC) -+} -+ -+// Wrapper interface. -+// If you're implementing custom Decorator by wrapping a built-in one, -+// it is necessary to implement this interface to retain functionality -+// of built-in Decorator. -+type Wrapper interface { -+ Base() Decorator -+} -+ -+// AmountReceiver interface. -+// EWMA based decorators need to implement this one. -+type AmountReceiver interface { -+ NextAmount(int64, ...time.Duration) -+} -+ -+// ShutdownListener interface. -+// If decorator needs to be notified once upon bar shutdown event, so -+// this is the right interface to implement. -+type ShutdownListener interface { -+ Shutdown() -+} -+ -+// AverageAdjuster interface. -+// Average decorators should implement this interface to provide start -+// time adjustment facility, for resume-able tasks. -+type AverageAdjuster interface { -+ AverageAdjust(time.Time) -+} -+ -+// CBFunc convenience call back func type. -+type CBFunc func(Decorator) -+ -+// Global convenience instances of WC with sync width bit set. -+var ( -+ WCSyncWidth = WC{C: DSyncWidth} -+ WCSyncWidthR = WC{C: DSyncWidthR} -+ WCSyncSpace = WC{C: DSyncSpace} -+ WCSyncSpaceR = WC{C: DSyncSpaceR} -+) -+ -+// WC is a struct with two public fields W and C, both of int type. -+// W represents width and C represents bit set of width related config. -+// A decorator should embed WC, to enable width synchronization. -+type WC struct { -+ W int -+ C int -+ dynFormat string -+ wsync chan int -+} -+ -+// FormatMsg formats final message according to WC.W and WC.C. -+// Should be called by any Decorator implementation. -+func (wc *WC) FormatMsg(msg string) string { -+ var format string -+ runeCount := utf8.RuneCountInString(stripansi.Strip(msg)) -+ ansiCount := utf8.RuneCountInString(msg) - runeCount -+ if (wc.C & DSyncWidth) != 0 { -+ if (wc.C & DextraSpace) != 0 { -+ runeCount++ -+ } -+ wc.wsync <- runeCount -+ max := <-wc.wsync -+ format = fmt.Sprintf(wc.dynFormat, ansiCount+max) -+ } else { -+ format = fmt.Sprintf(wc.dynFormat, ansiCount+wc.W) -+ } -+ return fmt.Sprintf(format, msg) -+} -+ -+// Init initializes width related config. -+func (wc *WC) Init() WC { -+ wc.dynFormat = "%%" -+ if (wc.C & DidentRight) != 0 { -+ wc.dynFormat += "-" -+ } -+ wc.dynFormat += "%ds" -+ if (wc.C & DSyncWidth) != 0 { -+ // it's deliberate choice to override wsync on each Init() call, -+ // this way globals like WCSyncSpace can be reused -+ wc.wsync = make(chan int) -+ } -+ return *wc -+} -+ -+// Sync is implementation of Synchronizer interface. -+func (wc *WC) Sync() (chan int, bool) { -+ if (wc.C&DSyncWidth) != 0 && wc.wsync == nil { -+ panic(fmt.Sprintf("%T is not initialized", wc)) -+ } -+ return wc.wsync, (wc.C & DSyncWidth) != 0 -+} -+ -+// GetConf is implementation of Configurator interface. -+func (wc *WC) GetConf() WC { -+ return *wc -+} -+ -+// SetConf is implementation of Configurator interface. -+func (wc *WC) SetConf(conf WC) { -+ *wc = conf.Init() -+} -diff --git a/vendor/github.com/vbauerster/mpb/decor/doc.go b/vendor/github.com/vbauerster/mpb/v4/decor/doc.go -similarity index 70% -rename from vendor/github.com/vbauerster/mpb/decor/doc.go -rename to vendor/github.com/vbauerster/mpb/v4/decor/doc.go -index 561a8677c..b595e8015 100644 ---- a/vendor/github.com/vbauerster/mpb/decor/doc.go -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/doc.go -@@ -1,9 +1,5 @@ --// Copyright (C) 2016-2018 Vladimir Bauer --// Use of this source code is governed by a BSD-style --// license that can be found in the LICENSE file. -- - /* -- Package decor contains common decorators used by "github.com/vbauerster/mpb" package. -+ Package decor provides common decorators for "github.com/vbauerster/mpb/v4" module. - - Some decorators returned by this package might have a closure state. It is ok to use - decorators concurrently, unless you share the same decorator among multiple -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/elapsed.go b/vendor/github.com/vbauerster/mpb/v4/decor/elapsed.go -new file mode 100644 -index 000000000..ac2873143 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/elapsed.go -@@ -0,0 +1,48 @@ -+package decor -+ -+import ( -+ "time" -+) -+ -+// Elapsed decorator. It's wrapper of NewElapsed. -+// -+// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS] -+// -+// `wcc` optional WC config -+func Elapsed(style TimeStyle, wcc ...WC) Decorator { -+ return NewElapsed(style, time.Now(), wcc...) -+} -+ -+// NewElapsed returns elapsed time decorator. -+// -+// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS] -+// -+// `startTime` start time -+// -+// `wcc` optional WC config -+func NewElapsed(style TimeStyle, startTime time.Time, wcc ...WC) Decorator { -+ var wc WC -+ for _, widthConf := range wcc { -+ wc = widthConf -+ } -+ d := &elapsedDecorator{ -+ WC: wc.Init(), -+ startTime: startTime, -+ producer: chooseTimeProducer(style), -+ } -+ return d -+} -+ -+type elapsedDecorator struct { -+ WC -+ startTime time.Time -+ producer func(time.Duration) string -+ msg string -+} -+ -+func (d *elapsedDecorator) Decor(st *Statistics) string { -+ if !st.Completed { -+ d.msg = d.producer(time.Since(d.startTime)) -+ } -+ return d.FormatMsg(d.msg) -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/eta.go b/vendor/github.com/vbauerster/mpb/v4/decor/eta.go -new file mode 100644 -index 000000000..818cded17 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/eta.go -@@ -0,0 +1,212 @@ -+package decor -+ -+import ( -+ "fmt" -+ "math" -+ "time" -+ -+ "github.com/VividCortex/ewma" -+) -+ -+// TimeNormalizer interface. Implementors could be passed into -+// MovingAverageETA, in order to affect i.e. normalize its output. -+type TimeNormalizer interface { -+ Normalize(time.Duration) time.Duration -+} -+ -+// TimeNormalizerFunc is function type adapter to convert function -+// into TimeNormalizer. -+type TimeNormalizerFunc func(time.Duration) time.Duration -+ -+func (f TimeNormalizerFunc) Normalize(src time.Duration) time.Duration { -+ return f(src) -+} -+ -+// EwmaETA exponential-weighted-moving-average based ETA decorator. -+// Note that it's necessary to supply bar.Incr* methods with incremental -+// work duration as second argument, in order for this decorator to -+// work correctly. This decorator is a wrapper of MovingAverageETA. -+func EwmaETA(style TimeStyle, age float64, wcc ...WC) Decorator { -+ var average MovingAverage -+ if age == 0 { -+ average = ewma.NewMovingAverage() -+ } else { -+ average = ewma.NewMovingAverage(age) -+ } -+ return MovingAverageETA(style, average, nil, wcc...) -+} -+ -+// MovingAverageETA decorator relies on MovingAverage implementation to calculate its average. -+// -+// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS] -+// -+// `average` implementation of MovingAverage interface -+// -+// `normalizer` available implementations are [FixedIntervalTimeNormalizer|MaxTolerateTimeNormalizer] -+// -+// `wcc` optional WC config -+func MovingAverageETA(style TimeStyle, average MovingAverage, normalizer TimeNormalizer, wcc ...WC) Decorator { -+ var wc WC -+ for _, widthConf := range wcc { -+ wc = widthConf -+ } -+ d := &movingAverageETA{ -+ WC: wc.Init(), -+ average: average, -+ normalizer: normalizer, -+ producer: chooseTimeProducer(style), -+ } -+ return d -+} -+ -+type movingAverageETA struct { -+ WC -+ average ewma.MovingAverage -+ normalizer TimeNormalizer -+ producer func(time.Duration) string -+} -+ -+func (d *movingAverageETA) Decor(st *Statistics) string { -+ v := math.Round(d.average.Value()) -+ remaining := time.Duration((st.Total - st.Current) * int64(v)) -+ if d.normalizer != nil { -+ remaining = d.normalizer.Normalize(remaining) -+ } -+ return d.FormatMsg(d.producer(remaining)) -+} -+ -+func (d *movingAverageETA) NextAmount(n int64, wdd ...time.Duration) { -+ var workDuration time.Duration -+ for _, wd := range wdd { -+ workDuration = wd -+ } -+ durPerItem := float64(workDuration) / float64(n) -+ if math.IsInf(durPerItem, 0) || math.IsNaN(durPerItem) { -+ return -+ } -+ d.average.Add(durPerItem) -+} -+ -+// AverageETA decorator. It's wrapper of NewAverageETA. -+// -+// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS] -+// -+// `wcc` optional WC config -+func AverageETA(style TimeStyle, wcc ...WC) Decorator { -+ return NewAverageETA(style, time.Now(), nil, wcc...) -+} -+ -+// NewAverageETA decorator with user provided start time. -+// -+// `style` one of [ET_STYLE_GO|ET_STYLE_HHMMSS|ET_STYLE_HHMM|ET_STYLE_MMSS] -+// -+// `startTime` start time -+// -+// `normalizer` available implementations are [FixedIntervalTimeNormalizer|MaxTolerateTimeNormalizer] -+// -+// `wcc` optional WC config -+func NewAverageETA(style TimeStyle, startTime time.Time, normalizer TimeNormalizer, wcc ...WC) Decorator { -+ var wc WC -+ for _, widthConf := range wcc { -+ wc = widthConf -+ } -+ d := &averageETA{ -+ WC: wc.Init(), -+ startTime: startTime, -+ normalizer: normalizer, -+ producer: chooseTimeProducer(style), -+ } -+ return d -+} -+ -+type averageETA struct { -+ WC -+ startTime time.Time -+ normalizer TimeNormalizer -+ producer func(time.Duration) string -+} -+ -+func (d *averageETA) Decor(st *Statistics) string { -+ var remaining time.Duration -+ if st.Current != 0 { -+ durPerItem := float64(time.Since(d.startTime)) / float64(st.Current) -+ durPerItem = math.Round(durPerItem) -+ remaining = time.Duration((st.Total - st.Current) * int64(durPerItem)) -+ if d.normalizer != nil { -+ remaining = d.normalizer.Normalize(remaining) -+ } -+ } -+ return d.FormatMsg(d.producer(remaining)) -+} -+ -+func (d *averageETA) AverageAdjust(startTime time.Time) { -+ d.startTime = startTime -+} -+ -+// MaxTolerateTimeNormalizer returns implementation of TimeNormalizer. -+func MaxTolerateTimeNormalizer(maxTolerate time.Duration) TimeNormalizer { -+ var normalized time.Duration -+ var lastCall time.Time -+ return TimeNormalizerFunc(func(remaining time.Duration) time.Duration { -+ if diff := normalized - remaining; diff <= 0 || diff > maxTolerate || remaining < time.Minute { -+ normalized = remaining -+ lastCall = time.Now() -+ return remaining -+ } -+ normalized -= time.Since(lastCall) -+ lastCall = time.Now() -+ return normalized -+ }) -+} -+ -+// FixedIntervalTimeNormalizer returns implementation of TimeNormalizer. -+func FixedIntervalTimeNormalizer(updInterval int) TimeNormalizer { -+ var normalized time.Duration -+ var lastCall time.Time -+ var count int -+ return TimeNormalizerFunc(func(remaining time.Duration) time.Duration { -+ if count == 0 || remaining < time.Minute { -+ count = updInterval -+ normalized = remaining -+ lastCall = time.Now() -+ return remaining -+ } -+ count-- -+ normalized -= time.Since(lastCall) -+ lastCall = time.Now() -+ return normalized -+ }) -+} -+ -+func chooseTimeProducer(style TimeStyle) func(time.Duration) string { -+ switch style { -+ case ET_STYLE_HHMMSS: -+ return func(remaining time.Duration) string { -+ hours := int64(remaining/time.Hour) % 60 -+ minutes := int64(remaining/time.Minute) % 60 -+ seconds := int64(remaining/time.Second) % 60 -+ return fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds) -+ } -+ case ET_STYLE_HHMM: -+ return func(remaining time.Duration) string { -+ hours := int64(remaining/time.Hour) % 60 -+ minutes := int64(remaining/time.Minute) % 60 -+ return fmt.Sprintf("%02d:%02d", hours, minutes) -+ } -+ case ET_STYLE_MMSS: -+ return func(remaining time.Duration) string { -+ hours := int64(remaining/time.Hour) % 60 -+ minutes := int64(remaining/time.Minute) % 60 -+ seconds := int64(remaining/time.Second) % 60 -+ if hours > 0 { -+ return fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds) -+ } -+ return fmt.Sprintf("%02d:%02d", minutes, seconds) -+ } -+ default: -+ return func(remaining time.Duration) string { -+ // strip off nanoseconds -+ return ((remaining / time.Second) * time.Second).String() -+ } -+ } -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/merge.go b/vendor/github.com/vbauerster/mpb/v4/decor/merge.go -new file mode 100644 -index 000000000..723869209 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/merge.go -@@ -0,0 +1,106 @@ -+package decor -+ -+import ( -+ "fmt" -+ "strings" -+ "unicode/utf8" -+) -+ -+// Merge wraps its decorator argument with intention to sync width -+// with several decorators of another bar. Visual example: -+// -+// +----+--------+---------+--------+ -+// | B1 | MERGE(D, P1, Pn) | -+// +----+--------+---------+--------+ -+// | B2 | D0 | D1 | Dn | -+// +----+--------+---------+--------+ -+// -+func Merge(decorator Decorator, placeholders ...WC) Decorator { -+ if _, ok := decorator.Sync(); !ok || len(placeholders) == 0 { -+ return decorator -+ } -+ md := &mergeDecorator{ -+ Decorator: decorator, -+ wc: decorator.GetConf(), -+ placeHolders: make([]*placeHolderDecorator, len(placeholders)), -+ } -+ decorator.SetConf(WC{}) -+ for i, wc := range placeholders { -+ if (wc.C & DSyncWidth) == 0 { -+ return decorator -+ } -+ md.placeHolders[i] = &placeHolderDecorator{wc.Init()} -+ } -+ return md -+} -+ -+type mergeDecorator struct { -+ Decorator -+ wc WC -+ placeHolders []*placeHolderDecorator -+} -+ -+func (d *mergeDecorator) GetConf() WC { -+ return d.wc -+} -+ -+func (d *mergeDecorator) SetConf(conf WC) { -+ d.wc = conf.Init() -+} -+ -+func (d *mergeDecorator) MergeUnwrap() []Decorator { -+ decorators := make([]Decorator, len(d.placeHolders)) -+ for i, ph := range d.placeHolders { -+ decorators[i] = ph -+ } -+ return decorators -+} -+ -+func (d *mergeDecorator) Sync() (chan int, bool) { -+ return d.wc.Sync() -+} -+ -+func (d *mergeDecorator) Base() Decorator { -+ return d.Decorator -+} -+ -+func (d *mergeDecorator) Decor(st *Statistics) string { -+ msg := d.Decorator.Decor(st) -+ msgLen := utf8.RuneCountInString(msg) -+ if (d.wc.C & DextraSpace) != 0 { -+ msgLen++ -+ } -+ -+ var total int -+ max := utf8.RuneCountInString(d.placeHolders[0].FormatMsg("")) -+ total += max -+ pw := (msgLen - max) / len(d.placeHolders) -+ rem := (msgLen - max) % len(d.placeHolders) -+ -+ var diff int -+ for i := 1; i < len(d.placeHolders); i++ { -+ ph := d.placeHolders[i] -+ width := pw - diff -+ if (ph.WC.C & DextraSpace) != 0 { -+ width-- -+ if width < 0 { -+ width = 0 -+ } -+ } -+ max = utf8.RuneCountInString(ph.FormatMsg(strings.Repeat(" ", width))) -+ total += max -+ diff = max - pw -+ } -+ -+ d.wc.wsync <- pw + rem -+ max = <-d.wc.wsync -+ return fmt.Sprintf(fmt.Sprintf(d.wc.dynFormat, max+total), msg) -+} -+ -+type placeHolderDecorator struct { -+ WC -+} -+ -+func (d *placeHolderDecorator) Decor(_ *Statistics) string { -+ return "" -+} -diff --git a/vendor/github.com/vbauerster/mpb/decor/moving-average.go b/vendor/github.com/vbauerster/mpb/v4/decor/moving_average.go -similarity index 61% -rename from vendor/github.com/vbauerster/mpb/decor/moving-average.go -rename to vendor/github.com/vbauerster/mpb/v4/decor/moving_average.go -index fcd268923..933b1f2cd 100644 ---- a/vendor/github.com/vbauerster/mpb/decor/moving-average.go -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/moving_average.go -@@ -9,11 +9,7 @@ import ( - // MovingAverage is the interface that computes a moving average over - // a time-series stream of numbers. The average may be over a window - // or exponentially decaying. --type MovingAverage interface { -- Add(float64) -- Value() float64 -- Set(float64) --} -+type MovingAverage = ewma.MovingAverage - - type medianWindow [3]float64 - -@@ -42,26 +38,3 @@ func (s *medianWindow) Set(value float64) { - func NewMedian() MovingAverage { - return new(medianWindow) - } -- --type medianEwma struct { -- count uint -- median MovingAverage -- MovingAverage --} -- --func (s *medianEwma) Add(v float64) { -- s.median.Add(v) -- if s.count >= 2 { -- s.MovingAverage.Add(s.median.Value()) -- } -- s.count++ --} -- --// NewMedianEwma is ewma based MovingAverage, which gets its values --// from median MovingAverage. --func NewMedianEwma(age ...float64) MovingAverage { -- return &medianEwma{ -- MovingAverage: ewma.NewMovingAverage(age...), -- median: NewMedian(), -- } --} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/name.go b/vendor/github.com/vbauerster/mpb/v4/decor/name.go -new file mode 100644 -index 000000000..2d5865f6c ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/name.go -@@ -0,0 +1,27 @@ -+package decor -+ -+// Name returns name decorator. -+// -+// `name` string to display -+// -+// `wcc` optional WC config -+func Name(name string, wcc ...WC) Decorator { -+ var wc WC -+ for _, widthConf := range wcc { -+ wc = widthConf -+ } -+ d := &nameDecorator{ -+ WC: wc.Init(), -+ msg: name, -+ } -+ return d -+} -+ -+type nameDecorator struct { -+ WC -+ msg string -+} -+ -+func (d *nameDecorator) Decor(st *Statistics) string { -+ return d.FormatMsg(d.msg) -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/on_complete.go b/vendor/github.com/vbauerster/mpb/v4/decor/on_complete.go -new file mode 100644 -index 000000000..714a0ded3 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/on_complete.go -@@ -0,0 +1,36 @@ -+package decor -+ -+// OnComplete returns decorator, which wraps provided decorator, with -+// sole purpose to display provided message on complete event. -+// -+// `decorator` Decorator to wrap -+// -+// `message` message to display on complete event -+func OnComplete(decorator Decorator, message string) Decorator { -+ d := &onCompleteWrapper{ -+ Decorator: decorator, -+ msg: message, -+ } -+ if md, ok := decorator.(*mergeDecorator); ok { -+ d.Decorator, md.Decorator = md.Decorator, d -+ return md -+ } -+ return d -+} -+ -+type onCompleteWrapper struct { -+ Decorator -+ msg string -+} -+ -+func (d *onCompleteWrapper) Decor(st *Statistics) string { -+ if st.Completed { -+ wc := d.GetConf() -+ return wc.FormatMsg(d.msg) -+ } -+ return d.Decorator.Decor(st) -+} -+ -+func (d *onCompleteWrapper) Base() Decorator { -+ return d.Decorator -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/percentage.go b/vendor/github.com/vbauerster/mpb/v4/decor/percentage.go -new file mode 100644 -index 000000000..abf343a35 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/percentage.go -@@ -0,0 +1,72 @@ -+package decor -+ -+import ( -+ "fmt" -+ "io" -+ "strconv" -+ -+ "github.com/vbauerster/mpb/v4/internal" -+) -+ -+type percentageType float64 -+ -+func (s percentageType) Format(st fmt.State, verb rune) { -+ var prec int -+ switch verb { -+ case 'd': -+ case 's': -+ prec = -1 -+ default: -+ if p, ok := st.Precision(); ok { -+ prec = p -+ } else { -+ prec = 6 -+ } -+ } -+ -+ io.WriteString(st, strconv.FormatFloat(float64(s), 'f', prec, 64)) -+ -+ if st.Flag(' ') { -+ io.WriteString(st, " ") -+ } -+ io.WriteString(st, "%") -+} -+ -+// Percentage returns percentage decorator. It's a wrapper of NewPercentage. -+func Percentage(wcc ...WC) Decorator { -+ return NewPercentage("% d", wcc...) -+} -+ -+// NewPercentage percentage decorator with custom fmt string. -+// -+// fmt examples: -+// -+// fmt="%.1f" output: "1.0%" -+// fmt="% .1f" output: "1.0 %" -+// fmt="%d" output: "1%" -+// fmt="% d" output: "1 %" -+// -+func NewPercentage(fmt string, wcc ...WC) Decorator { -+ var wc WC -+ for _, widthConf := range wcc { -+ wc = widthConf -+ } -+ if fmt == "" { -+ fmt = "% d" -+ } -+ d := &percentageDecorator{ -+ WC: wc.Init(), -+ fmt: fmt, -+ } -+ return d -+} -+ -+type percentageDecorator struct { -+ WC -+ fmt string -+} -+ -+func (d *percentageDecorator) Decor(st *Statistics) string { -+ p := internal.Percentage(st.Total, st.Current, 100) -+ return d.FormatMsg(fmt.Sprintf(d.fmt, percentageType(p))) -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/size_type.go b/vendor/github.com/vbauerster/mpb/v4/decor/size_type.go -new file mode 100644 -index 000000000..e4b974058 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/size_type.go -@@ -0,0 +1,109 @@ -+package decor -+ -+import ( -+ "fmt" -+ "io" -+ "math" -+ "strconv" -+) -+ -+//go:generate stringer -type=SizeB1024 -trimprefix=_i -+//go:generate stringer -type=SizeB1000 -trimprefix=_ -+ -+const ( -+ _ib SizeB1024 = iota + 1 -+ _iKiB SizeB1024 = 1 << (iota * 10) -+ _iMiB -+ _iGiB -+ _iTiB -+) -+ -+// SizeB1024 named type, which implements fmt.Formatter interface. It -+// adjusts its value according to byte size multiple by 1024 and appends -+// appropriate size marker (KiB, MiB, GiB, TiB). -+type SizeB1024 int64 -+ -+func (self SizeB1024) Format(st fmt.State, verb rune) { -+ var prec int -+ switch verb { -+ case 'd': -+ case 's': -+ prec = -1 -+ default: -+ if p, ok := st.Precision(); ok { -+ prec = p -+ } else { -+ prec = 6 -+ } -+ } -+ -+ var unit SizeB1024 -+ switch { -+ case self < _iKiB: -+ unit = _ib -+ case self < _iMiB: -+ unit = _iKiB -+ case self < _iGiB: -+ unit = _iMiB -+ case self < _iTiB: -+ unit = _iGiB -+ case self <= math.MaxInt64: -+ unit = _iTiB -+ } -+ -+ io.WriteString(st, strconv.FormatFloat(float64(self)/float64(unit), 'f', prec, 64)) -+ -+ if st.Flag(' ') { -+ io.WriteString(st, " ") -+ } -+ io.WriteString(st, unit.String()) -+} -+ -+const ( -+ _b SizeB1000 = 1 -+ _KB SizeB1000 = _b * 1000 -+ _MB SizeB1000 = _KB * 1000 -+ _GB SizeB1000 = _MB * 1000 -+ _TB SizeB1000 = _GB * 1000 -+) -+ -+// SizeB1000 named type, which implements fmt.Formatter interface. It -+// adjusts its value according to byte size multiple by 1000 and appends -+// appropriate size marker (KB, MB, GB, TB). -+type SizeB1000 int64 -+ -+func (self SizeB1000) Format(st fmt.State, verb rune) { -+ var prec int -+ switch verb { -+ case 'd': -+ case 's': -+ prec = -1 -+ default: -+ if p, ok := st.Precision(); ok { -+ prec = p -+ } else { -+ prec = 6 -+ } -+ } -+ -+ var unit SizeB1000 -+ switch { -+ case self < _KB: -+ unit = _b -+ case self < _MB: -+ unit = _KB -+ case self < _GB: -+ unit = _MB -+ case self < _TB: -+ unit = _GB -+ case self <= math.MaxInt64: -+ unit = _TB -+ } -+ -+ io.WriteString(st, strconv.FormatFloat(float64(self)/float64(unit), 'f', prec, 64)) -+ -+ if st.Flag(' ') { -+ io.WriteString(st, " ") -+ } -+ io.WriteString(st, unit.String()) -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/sizeb1000_string.go b/vendor/github.com/vbauerster/mpb/v4/decor/sizeb1000_string.go -new file mode 100644 -index 000000000..3f32ef715 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/sizeb1000_string.go -@@ -0,0 +1,41 @@ -+// Code generated by "stringer -type=SizeB1000 -trimprefix=_"; DO NOT EDIT. -+ -+package decor -+ -+import "strconv" -+ -+func _() { -+ // An "invalid array index" compiler error signifies that the constant values have changed. -+ // Re-run the stringer command to generate them again. -+ var x [1]struct{} -+ _ = x[_b-1] -+ _ = x[_KB-1000] -+ _ = x[_MB-1000000] -+ _ = x[_GB-1000000000] -+ _ = x[_TB-1000000000000] -+} -+ -+const ( -+ _SizeB1000_name_0 = "b" -+ _SizeB1000_name_1 = "KB" -+ _SizeB1000_name_2 = "MB" -+ _SizeB1000_name_3 = "GB" -+ _SizeB1000_name_4 = "TB" -+) -+ -+func (i SizeB1000) String() string { -+ switch { -+ case i == 1: -+ return _SizeB1000_name_0 -+ case i == 1000: -+ return _SizeB1000_name_1 -+ case i == 1000000: -+ return _SizeB1000_name_2 -+ case i == 1000000000: -+ return _SizeB1000_name_3 -+ case i == 1000000000000: -+ return _SizeB1000_name_4 -+ default: -+ return "SizeB1000(" + strconv.FormatInt(int64(i), 10) + ")" -+ } -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/sizeb1024_string.go b/vendor/github.com/vbauerster/mpb/v4/decor/sizeb1024_string.go -new file mode 100644 -index 000000000..9fca66cc7 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/sizeb1024_string.go -@@ -0,0 +1,41 @@ -+// Code generated by "stringer -type=SizeB1024 -trimprefix=_i"; DO NOT EDIT. -+ -+package decor -+ -+import "strconv" -+ -+func _() { -+ // An "invalid array index" compiler error signifies that the constant values have changed. -+ // Re-run the stringer command to generate them again. -+ var x [1]struct{} -+ _ = x[_ib-1] -+ _ = x[_iKiB-1024] -+ _ = x[_iMiB-1048576] -+ _ = x[_iGiB-1073741824] -+ _ = x[_iTiB-1099511627776] -+} -+ -+const ( -+ _SizeB1024_name_0 = "b" -+ _SizeB1024_name_1 = "KiB" -+ _SizeB1024_name_2 = "MiB" -+ _SizeB1024_name_3 = "GiB" -+ _SizeB1024_name_4 = "TiB" -+) -+ -+func (i SizeB1024) String() string { -+ switch { -+ case i == 1: -+ return _SizeB1024_name_0 -+ case i == 1024: -+ return _SizeB1024_name_1 -+ case i == 1048576: -+ return _SizeB1024_name_2 -+ case i == 1073741824: -+ return _SizeB1024_name_3 -+ case i == 1099511627776: -+ return _SizeB1024_name_4 -+ default: -+ return "SizeB1024(" + strconv.FormatInt(int64(i), 10) + ")" -+ } -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/speed.go b/vendor/github.com/vbauerster/mpb/v4/decor/speed.go -new file mode 100644 -index 000000000..795a5536f ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/speed.go -@@ -0,0 +1,175 @@ -+package decor -+ -+import ( -+ "fmt" -+ "io" -+ "math" -+ "time" -+ -+ "github.com/VividCortex/ewma" -+) -+ -+// SpeedFormatter is wrapper for SizeB1024 and SizeB1000 to format value as speed/s. -+type SpeedFormatter struct { -+ fmt.Formatter -+} -+ -+func (self *SpeedFormatter) Format(st fmt.State, verb rune) { -+ self.Formatter.Format(st, verb) -+ io.WriteString(st, "/s") -+} -+ -+// EwmaSpeed exponential-weighted-moving-average based speed decorator. -+// Note that it's necessary to supply bar.Incr* methods with incremental -+// work duration as second argument, in order for this decorator to -+// work correctly. This decorator is a wrapper of MovingAverageSpeed. -+func EwmaSpeed(unit int, format string, age float64, wcc ...WC) Decorator { -+ var average MovingAverage -+ if age == 0 { -+ average = ewma.NewMovingAverage() -+ } else { -+ average = ewma.NewMovingAverage(age) -+ } -+ return MovingAverageSpeed(unit, format, average, wcc...) -+} -+ -+// MovingAverageSpeed decorator relies on MovingAverage implementation -+// to calculate its average. -+// -+// `unit` one of [0|UnitKiB|UnitKB] zero for no unit -+// -+// `format` printf compatible verb for value, like "%f" or "%d" -+// -+// `average` MovingAverage implementation -+// -+// `wcc` optional WC config -+// -+// format examples: -+// -+// unit=UnitKiB, format="%.1f" output: "1.0MiB/s" -+// unit=UnitKiB, format="% .1f" output: "1.0 MiB/s" -+// unit=UnitKB, format="%.1f" output: "1.0MB/s" -+// unit=UnitKB, format="% .1f" output: "1.0 MB/s" -+// -+func MovingAverageSpeed(unit int, format string, average MovingAverage, wcc ...WC) Decorator { -+ var wc WC -+ for _, widthConf := range wcc { -+ wc = widthConf -+ } -+ if format == "" { -+ format = "%.0f" -+ } -+ d := &movingAverageSpeed{ -+ WC: wc.Init(), -+ average: average, -+ producer: chooseSpeedProducer(unit, format), -+ } -+ return d -+} -+ -+type movingAverageSpeed struct { -+ WC -+ producer func(float64) string -+ average ewma.MovingAverage -+ msg string -+} -+ -+func (d *movingAverageSpeed) Decor(st *Statistics) string { -+ if !st.Completed { -+ var speed float64 -+ if v := d.average.Value(); v > 0 { -+ speed = 1 / v -+ } -+ d.msg = d.producer(speed * 1e9) -+ } -+ return d.FormatMsg(d.msg) -+} -+ -+func (d *movingAverageSpeed) NextAmount(n int64, wdd ...time.Duration) { -+ var workDuration time.Duration -+ for _, wd := range wdd { -+ workDuration = wd -+ } -+ durPerByte := float64(workDuration) / float64(n) -+ if math.IsInf(durPerByte, 0) || math.IsNaN(durPerByte) { -+ return -+ } -+ d.average.Add(durPerByte) -+} -+ -+// AverageSpeed decorator with dynamic unit measure adjustment. It's -+// a wrapper of NewAverageSpeed. -+func AverageSpeed(unit int, format string, wcc ...WC) Decorator { -+ return NewAverageSpeed(unit, format, time.Now(), wcc...) -+} -+ -+// NewAverageSpeed decorator with dynamic unit measure adjustment and -+// user provided start time. -+// -+// `unit` one of [0|UnitKiB|UnitKB] zero for no unit -+// -+// `format` printf compatible verb for value, like "%f" or "%d" -+// -+// `startTime` start time -+// -+// `wcc` optional WC config -+// -+// format examples: -+// -+// unit=UnitKiB, format="%.1f" output: "1.0MiB/s" -+// unit=UnitKiB, format="% .1f" output: "1.0 MiB/s" -+// unit=UnitKB, format="%.1f" output: "1.0MB/s" -+// unit=UnitKB, format="% .1f" output: "1.0 MB/s" -+// -+func NewAverageSpeed(unit int, format string, startTime time.Time, wcc ...WC) Decorator { -+ var wc WC -+ for _, widthConf := range wcc { -+ wc = widthConf -+ } -+ if format == "" { -+ format = "%.0f" -+ } -+ d := &averageSpeed{ -+ WC: wc.Init(), -+ startTime: startTime, -+ producer: chooseSpeedProducer(unit, format), -+ } -+ return d -+} -+ -+type averageSpeed struct { -+ WC -+ startTime time.Time -+ producer func(float64) string -+ msg string -+} -+ -+func (d *averageSpeed) Decor(st *Statistics) string { -+ if !st.Completed { -+ speed := float64(st.Current) / float64(time.Since(d.startTime)) -+ d.msg = d.producer(speed * 1e9) -+ } -+ -+ return d.FormatMsg(d.msg) -+} -+ -+func (d *averageSpeed) AverageAdjust(startTime time.Time) { -+ d.startTime = startTime -+} -+ -+func chooseSpeedProducer(unit int, format string) func(float64) string { -+ switch unit { -+ case UnitKiB: -+ return func(speed float64) string { -+ return fmt.Sprintf(format, &SpeedFormatter{SizeB1024(math.Round(speed))}) -+ } -+ case UnitKB: -+ return func(speed float64) string { -+ return fmt.Sprintf(format, &SpeedFormatter{SizeB1000(math.Round(speed))}) -+ } -+ default: -+ return func(speed float64) string { -+ return fmt.Sprintf(format, speed) -+ } -+ } -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/decor/spinner.go b/vendor/github.com/vbauerster/mpb/v4/decor/spinner.go -new file mode 100644 -index 000000000..24f553142 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/decor/spinner.go -@@ -0,0 +1,35 @@ -+package decor -+ -+var defaultSpinnerStyle = []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"} -+ -+// Spinner returns spinner decorator. -+// -+// `frames` spinner frames, if nil or len==0, default is used -+// -+// `wcc` optional WC config -+func Spinner(frames []string, wcc ...WC) Decorator { -+ var wc WC -+ for _, widthConf := range wcc { -+ wc = widthConf -+ } -+ if len(frames) == 0 { -+ frames = defaultSpinnerStyle -+ } -+ d := &spinnerDecorator{ -+ WC: wc.Init(), -+ frames: frames, -+ } -+ return d -+} -+ -+type spinnerDecorator struct { -+ WC -+ frames []string -+ count uint -+} -+ -+func (d *spinnerDecorator) Decor(st *Statistics) string { -+ frame := d.frames[d.count%uint(len(d.frames))] -+ d.count++ -+ return d.FormatMsg(frame) -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/doc.go b/vendor/github.com/vbauerster/mpb/v4/doc.go -new file mode 100644 -index 000000000..5ada71774 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/doc.go -@@ -0,0 +1,2 @@ -+// Package mpb is a library for rendering progress bars in terminal applications. -+package mpb -diff --git a/vendor/github.com/vbauerster/mpb/v4/go.mod b/vendor/github.com/vbauerster/mpb/v4/go.mod -new file mode 100644 -index 000000000..9e7287d5d ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/go.mod -@@ -0,0 +1,10 @@ -+module github.com/vbauerster/mpb/v4 -+ -+require ( -+ github.com/VividCortex/ewma v1.1.1 -+ github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d -+ golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708 -+ golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056 // indirect -+) -+ -+go 1.13 -diff --git a/vendor/github.com/vbauerster/mpb/v4/go.sum b/vendor/github.com/vbauerster/mpb/v4/go.sum -new file mode 100644 -index 000000000..5a1316274 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/go.sum -@@ -0,0 +1,13 @@ -+github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM= -+github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= -+github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= -+github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= -+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -+golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708 h1:pXVtWnwHkrWD9ru3sDxY/qFK/bfc0egRovX91EjWjf4= -+golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056 h1:dHtDnRWQtSx0Hjq9kvKFpBh9uPPKfQN70NZZmvssGwk= -+golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -diff --git a/vendor/github.com/vbauerster/mpb/v4/internal/percentage.go b/vendor/github.com/vbauerster/mpb/v4/internal/percentage.go -new file mode 100644 -index 000000000..7e261cb22 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/internal/percentage.go -@@ -0,0 +1,15 @@ -+package internal -+ -+import "math" -+ -+// Percentage is a helper function, to calculate percentage. -+func Percentage(total, current int64, width int) float64 { -+ if total <= 0 { -+ return 0 -+ } -+ return float64(int64(width)*current) / float64(total) -+} -+ -+func PercentageRound(total, current int64, width int) float64 { -+ return math.Round(Percentage(total, current, width)) -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/options.go b/vendor/github.com/vbauerster/mpb/v4/options.go -new file mode 100644 -index 000000000..6b34fb340 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/options.go -@@ -0,0 +1,105 @@ -+package mpb -+ -+import ( -+ "io" -+ "io/ioutil" -+ "sync" -+ "time" -+) -+ -+// ContainerOption is a function option which changes the default -+// behavior of progress container, if passed to mpb.New(...ContainerOption). -+type ContainerOption func(*pState) -+ -+// WithWaitGroup provides means to have a single joint point. If -+// *sync.WaitGroup is provided, you can safely call just p.Wait() -+// without calling Wait() on provided *sync.WaitGroup. Makes sense -+// when there are more than one bar to render. -+func WithWaitGroup(wg *sync.WaitGroup) ContainerOption { -+ return func(s *pState) { -+ s.uwg = wg -+ } -+} -+ -+// WithWidth sets container width. Default is 80. Bars inherit this -+// width, as long as no BarWidth is applied. -+func WithWidth(w int) ContainerOption { -+ return func(s *pState) { -+ if w < 0 { -+ return -+ } -+ s.width = w -+ } -+} -+ -+// WithRefreshRate overrides default 120ms refresh rate. -+func WithRefreshRate(d time.Duration) ContainerOption { -+ return func(s *pState) { -+ s.rr = d -+ } -+} -+ -+// WithManualRefresh disables internal auto refresh time.Ticker. -+// Refresh will occur upon receive value from provided ch. -+func WithManualRefresh(ch <-chan time.Time) ContainerOption { -+ return func(s *pState) { -+ s.refreshSrc = ch -+ } -+} -+ -+// WithRenderDelay delays rendering. By default rendering starts as -+// soon as bar is added, with this option it's possible to delay -+// rendering process by keeping provided chan unclosed. In other words -+// rendering will start as soon as provided chan is closed. -+func WithRenderDelay(ch <-chan struct{}) ContainerOption { -+ return func(s *pState) { -+ s.renderDelay = ch -+ } -+} -+ -+// WithShutdownNotifier provided chanel will be closed, after all bars -+// have been rendered. -+func WithShutdownNotifier(ch chan struct{}) ContainerOption { -+ return func(s *pState) { -+ s.shutdownNotifier = ch -+ } -+} -+ -+// WithOutput overrides default os.Stdout output. Setting it to nil -+// will effectively disable auto refresh rate and discard any output, -+// useful if you want to disable progress bars with little overhead. -+func WithOutput(w io.Writer) ContainerOption { -+ return func(s *pState) { -+ if w == nil { -+ s.refreshSrc = make(chan time.Time) -+ s.output = ioutil.Discard -+ return -+ } -+ s.output = w -+ } -+} -+ -+// WithDebugOutput sets debug output. -+func WithDebugOutput(w io.Writer) ContainerOption { -+ if w == nil { -+ return nil -+ } -+ return func(s *pState) { -+ s.debugOut = w -+ } -+} -+ -+// PopCompletedMode will pop and stop rendering completed bars. -+func PopCompletedMode() ContainerOption { -+ return func(s *pState) { -+ s.popCompleted = true -+ } -+} -+ -+// ContainerOptOnCond returns option when condition evaluates to true. -+func ContainerOptOnCond(option ContainerOption, condition func() bool) ContainerOption { -+ if condition() { -+ return option -+ } -+ return nil -+} -diff --git a/vendor/github.com/vbauerster/mpb/priority_queue.go b/vendor/github.com/vbauerster/mpb/v4/priority_queue.go -similarity index 61% -rename from vendor/github.com/vbauerster/mpb/priority_queue.go -rename to vendor/github.com/vbauerster/mpb/v4/priority_queue.go -index 7bc588c29..29d9bd5a8 100644 ---- a/vendor/github.com/vbauerster/mpb/priority_queue.go -+++ b/vendor/github.com/vbauerster/mpb/v4/priority_queue.go -@@ -1,7 +1,5 @@ - package mpb - --import "container/heap" -- - // A priorityQueue implements heap.Interface - type priorityQueue []*Bar - -@@ -18,23 +16,17 @@ func (pq priorityQueue) Swap(i, j int) { - } - - func (pq *priorityQueue) Push(x interface{}) { -- n := len(*pq) -+ s := *pq - bar := x.(*Bar) -- bar.index = n -- *pq = append(*pq, bar) -+ bar.index = len(s) -+ s = append(s, bar) -+ *pq = s - } - - func (pq *priorityQueue) Pop() interface{} { -- old := *pq -- n := len(old) -- bar := old[n-1] -+ s := *pq -+ *pq = s[0 : len(s)-1] -+ bar := s[len(s)-1] - bar.index = -1 // for safety -- *pq = old[0 : n-1] - return bar - } -- --// update modifies the priority of a Bar in the queue. --func (pq *priorityQueue) update(bar *Bar, priority int) { -- bar.priority = priority -- heap.Fix(pq, bar.index) --} -diff --git a/vendor/github.com/vbauerster/mpb/v4/progress.go b/vendor/github.com/vbauerster/mpb/v4/progress.go -new file mode 100644 -index 000000000..1150d50bd ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/progress.go -@@ -0,0 +1,394 @@ -+package mpb -+ -+import ( -+ "bytes" -+ "container/heap" -+ "context" -+ "io" -+ "io/ioutil" -+ "log" -+ "os" -+ "sync" -+ "time" -+ -+ "github.com/vbauerster/mpb/v4/cwriter" -+ "github.com/vbauerster/mpb/v4/decor" -+) -+ -+const ( -+ // default RefreshRate -+ prr = 120 * time.Millisecond -+ // default width -+ pwidth = 80 -+) -+ -+// Progress represents the container that renders Progress bars -+type Progress struct { -+ ctx context.Context -+ uwg *sync.WaitGroup -+ cwg *sync.WaitGroup -+ bwg *sync.WaitGroup -+ operateState chan func(*pState) -+ done chan struct{} -+ refreshCh chan time.Time -+ once sync.Once -+ dlogger *log.Logger -+} -+ -+type pState struct { -+ bHeap priorityQueue -+ heapUpdated bool -+ pMatrix map[int][]chan int -+ aMatrix map[int][]chan int -+ barShutdownQueue []*Bar -+ barPopQueue []*Bar -+ -+ // following are provided/overrided by user -+ idCount int -+ width int -+ popCompleted bool -+ rr time.Duration -+ uwg *sync.WaitGroup -+ refreshSrc <-chan time.Time -+ renderDelay <-chan struct{} -+ shutdownNotifier chan struct{} -+ parkedBars map[*Bar]*Bar -+ output io.Writer -+ debugOut io.Writer -+} -+ -+// New creates new Progress container instance. It's not possible to -+// reuse instance after *Progress.Wait() method has been called. -+func New(options ...ContainerOption) *Progress { -+ return NewWithContext(context.Background(), options...) -+} -+ -+// NewWithContext creates new Progress container instance with provided -+// context. It's not possible to reuse instance after *Progress.Wait() -+// method has been called. -+func NewWithContext(ctx context.Context, options ...ContainerOption) *Progress { -+ s := &pState{ -+ bHeap: priorityQueue{}, -+ width: pwidth, -+ rr: prr, -+ parkedBars: make(map[*Bar]*Bar), -+ output: os.Stdout, -+ debugOut: ioutil.Discard, -+ } -+ -+ for _, opt := range options { -+ if opt != nil { -+ opt(s) -+ } -+ } -+ -+ p := &Progress{ -+ ctx: ctx, -+ uwg: s.uwg, -+ cwg: new(sync.WaitGroup), -+ bwg: new(sync.WaitGroup), -+ operateState: make(chan func(*pState)), -+ done: make(chan struct{}), -+ dlogger: log.New(s.debugOut, "[mpb] ", log.Lshortfile), -+ } -+ -+ p.cwg.Add(1) -+ go p.serve(s, cwriter.New(s.output)) -+ return p -+} -+ -+// AddBar creates a new progress bar and adds to the container. -+func (p *Progress) AddBar(total int64, options ...BarOption) *Bar { -+ return p.Add(total, NewBarFiller(DefaultBarStyle, false), options...) -+} -+ -+// AddSpinner creates a new spinner bar and adds to the container. -+func (p *Progress) AddSpinner(total int64, alignment SpinnerAlignment, options ...BarOption) *Bar { -+ return p.Add(total, NewSpinnerFiller(DefaultSpinnerStyle, alignment), options...) -+} -+ -+// Add creates a bar which renders itself by provided filler. -+// Set total to 0, if you plan to update it later. -+func (p *Progress) Add(total int64, filler Filler, options ...BarOption) *Bar { -+ if filler == nil { -+ filler = NewBarFiller(DefaultBarStyle, false) -+ } -+ p.bwg.Add(1) -+ result := make(chan *Bar) -+ select { -+ case p.operateState <- func(ps *pState) { -+ bs := ps.makeBarState(total, filler, options...) -+ bar := newBar(p, bs) -+ if bs.runningBar != nil { -+ bs.runningBar.noPop = true -+ ps.parkedBars[bs.runningBar] = bar -+ } else { -+ heap.Push(&ps.bHeap, bar) -+ ps.heapUpdated = true -+ } -+ ps.idCount++ -+ result <- bar -+ }: -+ bar := <-result -+ bar.subscribeDecorators() -+ return bar -+ case <-p.done: -+ p.bwg.Done() -+ return nil -+ } -+} -+ -+func (p *Progress) dropBar(b *Bar) { -+ select { -+ case p.operateState <- func(s *pState) { -+ if b.index < 0 { -+ return -+ } -+ heap.Remove(&s.bHeap, b.index) -+ s.heapUpdated = true -+ }: -+ case <-p.done: -+ } -+} -+ -+func (p *Progress) setBarPriority(b *Bar, priority int) { -+ select { -+ case p.operateState <- func(s *pState) { -+ if b.index < 0 { -+ return -+ } -+ b.priority = priority -+ heap.Fix(&s.bHeap, b.index) -+ }: -+ case <-p.done: -+ } -+} -+ -+// UpdateBarPriority same as *Bar.SetPriority. -+func (p *Progress) UpdateBarPriority(b *Bar, priority int) { -+ p.setBarPriority(b, priority) -+} -+ -+// BarCount returns bars count -+func (p *Progress) BarCount() int { -+ result := make(chan int, 1) -+ select { -+ case p.operateState <- func(s *pState) { result <- s.bHeap.Len() }: -+ return <-result -+ case <-p.done: -+ return 0 -+ } -+} -+ -+// Wait waits far all bars to complete and finally shutdowns container. -+// After this method has been called, there is no way to reuse *Progress -+// instance. -+func (p *Progress) Wait() { -+ if p.uwg != nil { -+ // wait for user wg -+ p.uwg.Wait() -+ } -+ -+ // wait for bars to quit, if any -+ p.bwg.Wait() -+ -+ p.once.Do(p.shutdown) -+ -+ // wait for container to quit -+ p.cwg.Wait() -+} -+ -+func (p *Progress) shutdown() { -+ close(p.done) -+} -+ -+func (p *Progress) serve(s *pState, cw *cwriter.Writer) { -+ defer p.cwg.Done() -+ -+ p.refreshCh = s.newTicker(p.done) -+ -+ for { -+ select { -+ case op := <-p.operateState: -+ op(s) -+ case <-p.refreshCh: -+ if err := s.render(cw); err != nil { -+ go p.dlogger.Println(err) -+ } -+ case <-s.shutdownNotifier: -+ return -+ } -+ } -+} -+ -+func (s *pState) render(cw *cwriter.Writer) error { -+ if s.heapUpdated { -+ s.updateSyncMatrix() -+ s.heapUpdated = false -+ } -+ syncWidth(s.pMatrix) -+ syncWidth(s.aMatrix) -+ -+ tw, err := cw.GetWidth() -+ if err != nil { -+ tw = s.width -+ } -+ for i := 0; i < s.bHeap.Len(); i++ { -+ bar := s.bHeap[i] -+ go bar.render(tw) -+ } -+ -+ return s.flush(cw) -+} -+ -+func (s *pState) flush(cw *cwriter.Writer) error { -+ var lineCount int -+ bm := make(map[*Bar]struct{}, s.bHeap.Len()) -+ for s.bHeap.Len() > 0 { -+ b := heap.Pop(&s.bHeap).(*Bar) -+ cw.ReadFrom(<-b.frameCh) -+ if b.toShutdown { -+ // shutdown at next flush -+ // this ensures no bar ends up with less than 100% rendered -+ defer func() { -+ s.barShutdownQueue = append(s.barShutdownQueue, b) -+ }() -+ } -+ lineCount += b.extendedLines + 1 -+ bm[b] = struct{}{} -+ } -+ -+ for _, b := range s.barShutdownQueue { -+ if parkedBar := s.parkedBars[b]; parkedBar != nil { -+ parkedBar.priority = b.priority -+ heap.Push(&s.bHeap, parkedBar) -+ delete(s.parkedBars, b) -+ b.toDrop = true -+ } -+ if b.toDrop { -+ delete(bm, b) -+ s.heapUpdated = true -+ } else if s.popCompleted { -+ if b := b; !b.noPop { -+ defer func() { -+ s.barPopQueue = append(s.barPopQueue, b) -+ }() -+ } -+ } -+ b.cancel() -+ } -+ s.barShutdownQueue = s.barShutdownQueue[0:0] -+ -+ for _, b := range s.barPopQueue { -+ delete(bm, b) -+ s.heapUpdated = true -+ lineCount -= b.extendedLines + 1 -+ } -+ s.barPopQueue = s.barPopQueue[0:0] -+ -+ for b := range bm { -+ heap.Push(&s.bHeap, b) -+ } -+ -+ return cw.Flush(lineCount) -+} -+ -+func (s *pState) newTicker(done <-chan struct{}) chan time.Time { -+ ch := make(chan time.Time) -+ if s.shutdownNotifier == nil { -+ s.shutdownNotifier = make(chan struct{}) -+ } -+ go func() { -+ if s.renderDelay != nil { -+ <-s.renderDelay -+ } -+ if s.refreshSrc == nil { -+ ticker := time.NewTicker(s.rr) -+ defer ticker.Stop() -+ s.refreshSrc = ticker.C -+ } -+ for { -+ select { -+ case tick := <-s.refreshSrc: -+ ch <- tick -+ case <-done: -+ close(s.shutdownNotifier) -+ return -+ } -+ } -+ }() -+ return ch -+} -+ -+func (s *pState) updateSyncMatrix() { -+ s.pMatrix = make(map[int][]chan int) -+ s.aMatrix = make(map[int][]chan int) -+ for i := 0; i < s.bHeap.Len(); i++ { -+ bar := s.bHeap[i] -+ table := bar.wSyncTable() -+ pRow, aRow := table[0], table[1] -+ -+ for i, ch := range pRow { -+ s.pMatrix[i] = append(s.pMatrix[i], ch) -+ } -+ -+ for i, ch := range aRow { -+ s.aMatrix[i] = append(s.aMatrix[i], ch) -+ } -+ } -+} -+ -+func (s *pState) makeBarState(total int64, filler Filler, options ...BarOption) *bState { -+ bs := &bState{ -+ total: total, -+ baseF: extractBaseFiller(filler), -+ filler: filler, -+ priority: s.idCount, -+ id: s.idCount, -+ width: s.width, -+ debugOut: s.debugOut, -+ extender: func(r io.Reader, _ int, _ *decor.Statistics) (io.Reader, int) { -+ return r, 0 -+ }, -+ } -+ -+ for _, opt := range options { -+ if opt != nil { -+ opt(bs) -+ } -+ } -+ -+ if s.popCompleted && !bs.noPop { -+ bs.priority = -1 -+ } -+ -+ bs.bufP = bytes.NewBuffer(make([]byte, 0, bs.width)) -+ bs.bufB = bytes.NewBuffer(make([]byte, 0, bs.width)) -+ bs.bufA = bytes.NewBuffer(make([]byte, 0, bs.width)) -+ -+ return bs -+} -+ -+func syncWidth(matrix map[int][]chan int) { -+ for _, column := range matrix { -+ column := column -+ go func() { -+ var maxWidth int -+ for _, ch := range column { -+ if w := <-ch; w > maxWidth { -+ maxWidth = w -+ } -+ } -+ for _, ch := range column { -+ ch <- maxWidth -+ } -+ }() -+ } -+} -+ -+func extractBaseFiller(f Filler) Filler { -+ if f, ok := f.(Wrapper); ok { -+ return extractBaseFiller(f.Base()) -+ } -+ return f -+} -diff --git a/vendor/github.com/vbauerster/mpb/v4/proxyreader.go b/vendor/github.com/vbauerster/mpb/v4/proxyreader.go -new file mode 100644 -index 000000000..0e4b51f09 ---- /dev/null -+++ b/vendor/github.com/vbauerster/mpb/v4/proxyreader.go -@@ -0,0 +1,41 @@ -+package mpb -+ -+import ( -+ "io" -+ "time" -+) -+ -+type proxyReader struct { -+ io.ReadCloser -+ bar *Bar -+ iT time.Time -+} -+ -+func (prox *proxyReader) Read(p []byte) (n int, err error) { -+ n, err = prox.ReadCloser.Read(p) -+ if n > 0 { -+ prox.bar.IncrBy(n, time.Since(prox.iT)) -+ prox.iT = time.Now() -+ } -+ if err == io.EOF { -+ go prox.bar.SetTotal(0, true) -+ } -+ return -+} -+ -+type proxyWriterTo struct { -+ *proxyReader -+ wt io.WriterTo -+} -+ -+func (prox *proxyWriterTo) WriteTo(w io.Writer) (n int64, err error) { -+ n, err = prox.wt.WriteTo(w) -+ if n > 0 { -+ prox.bar.IncrInt64(n, time.Since(prox.iT)) -+ prox.iT = time.Now() -+ } -+ if err == io.EOF { -+ go prox.bar.SetTotal(0, true) -+ } -+ return -+} -diff --git a/vendor/github.com/vbauerster/mpb/spinner_filler.go b/vendor/github.com/vbauerster/mpb/v4/spinner_filler.go -similarity index 65% -rename from vendor/github.com/vbauerster/mpb/spinner_filler.go -rename to vendor/github.com/vbauerster/mpb/v4/spinner_filler.go -index 36299fef0..9f383fb33 100644 ---- a/vendor/github.com/vbauerster/mpb/spinner_filler.go -+++ b/vendor/github.com/vbauerster/mpb/v4/spinner_filler.go -@@ -5,7 +5,7 @@ import ( - "strings" - "unicode/utf8" - -- "github.com/vbauerster/mpb/decor" -+ "github.com/vbauerster/mpb/v4/decor" - ) - - // SpinnerAlignment enum. -@@ -18,7 +18,8 @@ const ( - SpinnerOnRight - ) - --var defaultSpinnerStyle = []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"} -+// DefaultSpinnerStyle is applied when bar constructed with *Progress.AddSpinner method. -+var DefaultSpinnerStyle = []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"} - - type spinnerFiller struct { - frames []string -@@ -26,6 +27,18 @@ type spinnerFiller struct { - alignment SpinnerAlignment - } - -+// NewSpinnerFiller constucts mpb.Filler, to be used with *Progress.Add method. -+func NewSpinnerFiller(style []string, alignment SpinnerAlignment) Filler { -+ if len(style) == 0 { -+ style = DefaultSpinnerStyle -+ } -+ filler := &spinnerFiller{ -+ frames: style, -+ alignment: alignment, -+ } -+ return filler -+} -+ - func (s *spinnerFiller) Fill(w io.Writer, width int, stat *decor.Statistics) { - - frame := s.frames[s.count%uint(len(s.frames))] -diff --git a/vendor/go.opencensus.io/.gitignore b/vendor/go.opencensus.io/.gitignore -new file mode 100644 -index 000000000..74a6db472 ---- /dev/null -+++ b/vendor/go.opencensus.io/.gitignore -@@ -0,0 +1,9 @@ -+/.idea/ -+ -+# go.opencensus.io/exporter/aws -+/exporter/aws/ -+ -+# Exclude vendor, use dep ensure after checkout: -+/vendor/github.com/ -+/vendor/golang.org/ -+/vendor/google.golang.org/ -diff --git a/vendor/go.opencensus.io/.travis.yml b/vendor/go.opencensus.io/.travis.yml -new file mode 100644 -index 000000000..bd6b66ee8 ---- /dev/null -+++ b/vendor/go.opencensus.io/.travis.yml -@@ -0,0 +1,17 @@ -+language: go -+ -+go_import_path: go.opencensus.io -+ -+go: -+ - 1.11.x -+ -+env: -+ global: -+ GO111MODULE=on -+ -+before_script: -+ - make install-tools -+ -+script: -+ - make travis-ci -+ - go run internal/check/version.go # TODO move this to makefile -diff --git a/vendor/go.opencensus.io/AUTHORS b/vendor/go.opencensus.io/AUTHORS -new file mode 100644 -index 000000000..e491a9e7f ---- /dev/null -+++ b/vendor/go.opencensus.io/AUTHORS -@@ -0,0 +1 @@ -+Google Inc. -diff --git a/vendor/go.opencensus.io/CONTRIBUTING.md b/vendor/go.opencensus.io/CONTRIBUTING.md -new file mode 100644 -index 000000000..1ba3962c8 ---- /dev/null -+++ b/vendor/go.opencensus.io/CONTRIBUTING.md -@@ -0,0 +1,63 @@ -+# How to contribute -+ -+We'd love to accept your patches and contributions to this project. There are -+just a few small guidelines you need to follow. -+ -+## Contributor License Agreement -+ -+Contributions to this project must be accompanied by a Contributor License -+Agreement. You (or your employer) retain the copyright to your contribution, -+this simply gives us permission to use and redistribute your contributions as -+part of the project. Head over to to see -+your current agreements on file or to sign a new one. -+ -+You generally only need to submit a CLA once, so if you've already submitted one -+(even if it was for a different project), you probably don't need to do it -+again. -+ -+## Code reviews -+ -+All submissions, including submissions by project members, require review. We -+use GitHub pull requests for this purpose. Consult [GitHub Help] for more -+information on using pull requests. -+ -+[GitHub Help]: https://help.github.com/articles/about-pull-requests/ -+ -+## Instructions -+ -+Fork the repo, checkout the upstream repo to your GOPATH by: -+ -+``` -+$ go get -d go.opencensus.io -+``` -+ -+Add your fork as an origin: -+ -+``` -+cd $(go env GOPATH)/src/go.opencensus.io -+git remote add fork git@github.com:YOUR_GITHUB_USERNAME/opencensus-go.git -+``` -+ -+Run tests: -+ -+``` -+$ make install-tools # Only first time. -+$ make -+``` -+ -+Checkout a new branch, make modifications and push the branch to your fork: -+ -+``` -+$ git checkout -b feature -+# edit files -+$ git commit -+$ git push fork feature -+``` -+ -+Open a pull request against the main opencensus-go repo. -+ -+## General Notes -+This project uses Appveyor and Travis for CI. -+ -+The dependencies are managed with `go mod` if you work with the sources under your -+`$GOPATH` you need to set the environment variable `GO111MODULE=on`. -\ No newline at end of file -diff --git a/vendor/go.opencensus.io/Gopkg.lock b/vendor/go.opencensus.io/Gopkg.lock -new file mode 100644 -index 000000000..3be12ac8f ---- /dev/null -+++ b/vendor/go.opencensus.io/Gopkg.lock -@@ -0,0 +1,231 @@ -+# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. -+ -+ -+[[projects]] -+ branch = "master" -+ digest = "1:eee9386329f4fcdf8d6c0def0c9771b634bdd5ba460d888aa98c17d59b37a76c" -+ name = "git.apache.org/thrift.git" -+ packages = ["lib/go/thrift"] -+ pruneopts = "UT" -+ revision = "6e67faa92827ece022380b211c2caaadd6145bf5" -+ source = "github.com/apache/thrift" -+ -+[[projects]] -+ branch = "master" -+ digest = "1:d6afaeed1502aa28e80a4ed0981d570ad91b2579193404256ce672ed0a609e0d" -+ name = "github.com/beorn7/perks" -+ packages = ["quantile"] -+ pruneopts = "UT" -+ revision = "3a771d992973f24aa725d07868b467d1ddfceafb" -+ -+[[projects]] -+ digest = "1:4c0989ca0bcd10799064318923b9bc2db6b4d6338dd75f3f2d86c3511aaaf5cf" -+ name = "github.com/golang/protobuf" -+ packages = [ -+ "proto", -+ "ptypes", -+ "ptypes/any", -+ "ptypes/duration", -+ "ptypes/timestamp", -+ ] -+ pruneopts = "UT" -+ revision = "aa810b61a9c79d51363740d207bb46cf8e620ed5" -+ version = "v1.2.0" -+ -+[[projects]] -+ digest = "1:ff5ebae34cfbf047d505ee150de27e60570e8c394b3b8fdbb720ff6ac71985fc" -+ name = "github.com/matttproud/golang_protobuf_extensions" -+ packages = ["pbutil"] -+ pruneopts = "UT" -+ revision = "c12348ce28de40eed0136aa2b644d0ee0650e56c" -+ version = "v1.0.1" -+ -+[[projects]] -+ digest = "1:824c8f3aa4c5f23928fa84ebbd5ed2e9443b3f0cb958a40c1f2fbed5cf5e64b1" -+ name = "github.com/openzipkin/zipkin-go" -+ packages = [ -+ ".", -+ "idgenerator", -+ "model", -+ "propagation", -+ "reporter", -+ "reporter/http", -+ ] -+ pruneopts = "UT" -+ revision = "d455a5674050831c1e187644faa4046d653433c2" -+ version = "v0.1.1" -+ -+[[projects]] -+ digest = "1:d14a5f4bfecf017cb780bdde1b6483e5deb87e12c332544d2c430eda58734bcb" -+ name = "github.com/prometheus/client_golang" -+ packages = [ -+ "prometheus", -+ "prometheus/promhttp", -+ ] -+ pruneopts = "UT" -+ revision = "c5b7fccd204277076155f10851dad72b76a49317" -+ version = "v0.8.0" -+ -+[[projects]] -+ branch = "master" -+ digest = "1:2d5cd61daa5565187e1d96bae64dbbc6080dacf741448e9629c64fd93203b0d4" -+ name = "github.com/prometheus/client_model" -+ packages = ["go"] -+ pruneopts = "UT" -+ revision = "5c3871d89910bfb32f5fcab2aa4b9ec68e65a99f" -+ -+[[projects]] -+ branch = "master" -+ digest = "1:63b68062b8968092eb86bedc4e68894bd096ea6b24920faca8b9dcf451f54bb5" -+ name = "github.com/prometheus/common" -+ packages = [ -+ "expfmt", -+ "internal/bitbucket.org/ww/goautoneg", -+ "model", -+ ] -+ pruneopts = "UT" -+ revision = "c7de2306084e37d54b8be01f3541a8464345e9a5" -+ -+[[projects]] -+ branch = "master" -+ digest = "1:8c49953a1414305f2ff5465147ee576dd705487c35b15918fcd4efdc0cb7a290" -+ name = "github.com/prometheus/procfs" -+ packages = [ -+ ".", -+ "internal/util", -+ "nfs", -+ "xfs", -+ ] -+ pruneopts = "UT" -+ revision = "05ee40e3a273f7245e8777337fc7b46e533a9a92" -+ -+[[projects]] -+ branch = "master" -+ digest = "1:deafe4ab271911fec7de5b693d7faae3f38796d9eb8622e2b9e7df42bb3dfea9" -+ name = "golang.org/x/net" -+ packages = [ -+ "context", -+ "http/httpguts", -+ "http2", -+ "http2/hpack", -+ "idna", -+ "internal/timeseries", -+ "trace", -+ ] -+ pruneopts = "UT" -+ revision = "922f4815f713f213882e8ef45e0d315b164d705c" -+ -+[[projects]] -+ branch = "master" -+ digest = "1:e0140c0c868c6e0f01c0380865194592c011fe521d6e12d78bfd33e756fe018a" -+ name = "golang.org/x/sync" -+ packages = ["semaphore"] -+ pruneopts = "UT" -+ revision = "1d60e4601c6fd243af51cc01ddf169918a5407ca" -+ -+[[projects]] -+ branch = "master" -+ digest = "1:a3f00ac457c955fe86a41e1495e8f4c54cb5399d609374c5cc26aa7d72e542c8" -+ name = "golang.org/x/sys" -+ packages = ["unix"] -+ pruneopts = "UT" -+ revision = "3b58ed4ad3395d483fc92d5d14123ce2c3581fec" -+ -+[[projects]] -+ digest = "1:a2ab62866c75542dd18d2b069fec854577a20211d7c0ea6ae746072a1dccdd18" -+ name = "golang.org/x/text" -+ packages = [ -+ "collate", -+ "collate/build", -+ "internal/colltab", -+ "internal/gen", -+ "internal/tag", -+ "internal/triegen", -+ "internal/ucd", -+ "language", -+ "secure/bidirule", -+ "transform", -+ "unicode/bidi", -+ "unicode/cldr", -+ "unicode/norm", -+ "unicode/rangetable", -+ ] -+ pruneopts = "UT" -+ revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" -+ version = "v0.3.0" -+ -+[[projects]] -+ branch = "master" -+ digest = "1:c0c17c94fe8bc1ab34e7f586a4a8b788c5e1f4f9f750ff23395b8b2f5a523530" -+ name = "google.golang.org/api" -+ packages = ["support/bundler"] -+ pruneopts = "UT" -+ revision = "e21acd801f91da814261b938941d193bb036441a" -+ -+[[projects]] -+ branch = "master" -+ digest = "1:077c1c599507b3b3e9156d17d36e1e61928ee9b53a5b420f10f28ebd4a0b275c" -+ name = "google.golang.org/genproto" -+ packages = ["googleapis/rpc/status"] -+ pruneopts = "UT" -+ revision = "c66870c02cf823ceb633bcd05be3c7cda29976f4" -+ -+[[projects]] -+ digest = "1:3dd7996ce6bf52dec6a2f69fa43e7c4cefea1d4dfa3c8ab7a5f8a9f7434e239d" -+ name = "google.golang.org/grpc" -+ packages = [ -+ ".", -+ "balancer", -+ "balancer/base", -+ "balancer/roundrobin", -+ "codes", -+ "connectivity", -+ "credentials", -+ "encoding", -+ "encoding/proto", -+ "grpclog", -+ "internal", -+ "internal/backoff", -+ "internal/channelz", -+ "internal/envconfig", -+ "internal/grpcrand", -+ "internal/transport", -+ "keepalive", -+ "metadata", -+ "naming", -+ "peer", -+ "resolver", -+ "resolver/dns", -+ "resolver/passthrough", -+ "stats", -+ "status", -+ "tap", -+ ] -+ pruneopts = "UT" -+ revision = "32fb0ac620c32ba40a4626ddf94d90d12cce3455" -+ version = "v1.14.0" -+ -+[solve-meta] -+ analyzer-name = "dep" -+ analyzer-version = 1 -+ input-imports = [ -+ "git.apache.org/thrift.git/lib/go/thrift", -+ "github.com/golang/protobuf/proto", -+ "github.com/openzipkin/zipkin-go", -+ "github.com/openzipkin/zipkin-go/model", -+ "github.com/openzipkin/zipkin-go/reporter", -+ "github.com/openzipkin/zipkin-go/reporter/http", -+ "github.com/prometheus/client_golang/prometheus", -+ "github.com/prometheus/client_golang/prometheus/promhttp", -+ "golang.org/x/net/context", -+ "golang.org/x/net/http2", -+ "google.golang.org/api/support/bundler", -+ "google.golang.org/grpc", -+ "google.golang.org/grpc/codes", -+ "google.golang.org/grpc/grpclog", -+ "google.golang.org/grpc/metadata", -+ "google.golang.org/grpc/stats", -+ "google.golang.org/grpc/status", -+ ] -+ solver-name = "gps-cdcl" -+ solver-version = 1 -diff --git a/vendor/go.opencensus.io/Gopkg.toml b/vendor/go.opencensus.io/Gopkg.toml -new file mode 100644 -index 000000000..a9f3cd68e ---- /dev/null -+++ b/vendor/go.opencensus.io/Gopkg.toml -@@ -0,0 +1,36 @@ -+# For v0.x.y dependencies, prefer adding a constraints of the form: version=">= 0.x.y" -+# to avoid locking to a particular minor version which can cause dep to not be -+# able to find a satisfying dependency graph. -+ -+[[constraint]] -+ branch = "master" -+ name = "git.apache.org/thrift.git" -+ source = "github.com/apache/thrift" -+ -+[[constraint]] -+ name = "github.com/golang/protobuf" -+ version = "1.0.0" -+ -+[[constraint]] -+ name = "github.com/openzipkin/zipkin-go" -+ version = ">=0.1.0" -+ -+[[constraint]] -+ name = "github.com/prometheus/client_golang" -+ version = ">=0.8.0" -+ -+[[constraint]] -+ branch = "master" -+ name = "golang.org/x/net" -+ -+[[constraint]] -+ branch = "master" -+ name = "google.golang.org/api" -+ -+[[constraint]] -+ name = "google.golang.org/grpc" -+ version = "1.11.3" -+ -+[prune] -+ go-tests = true -+ unused-packages = true -diff --git a/vendor/go.opencensus.io/LICENSE b/vendor/go.opencensus.io/LICENSE -new file mode 100644 -index 000000000..7a4a3ea24 ---- /dev/null -+++ b/vendor/go.opencensus.io/LICENSE -@@ -0,0 +1,202 @@ -+ -+ 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. -+ -+ END OF TERMS AND CONDITIONS -+ -+ APPENDIX: How to apply the Apache License to your work. -+ -+ To apply the Apache License to your work, attach the following -+ boilerplate notice, with the fields enclosed by brackets "[]" -+ replaced with your own identifying information. (Don't include -+ the brackets!) The text should be enclosed in the appropriate -+ comment syntax for the file format. We also recommend that a -+ file or class name and description of purpose be included on the -+ same "printed page" as the copyright notice for easier -+ identification within third-party archives. -+ -+ Copyright [yyyy] [name of copyright owner] -+ -+ 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. -\ No newline at end of file -diff --git a/vendor/go.opencensus.io/Makefile b/vendor/go.opencensus.io/Makefile -new file mode 100644 -index 000000000..457866cb1 ---- /dev/null -+++ b/vendor/go.opencensus.io/Makefile -@@ -0,0 +1,96 @@ -+# TODO: Fix this on windows. -+ALL_SRC := $(shell find . -name '*.go' \ -+ -not -path './vendor/*' \ -+ -not -path '*/gen-go/*' \ -+ -type f | sort) -+ALL_PKGS := $(shell go list $(sort $(dir $(ALL_SRC)))) -+ -+GOTEST_OPT?=-v -race -timeout 30s -+GOTEST_OPT_WITH_COVERAGE = $(GOTEST_OPT) -coverprofile=coverage.txt -covermode=atomic -+GOTEST=go test -+GOFMT=gofmt -+GOLINT=golint -+GOVET=go vet -+EMBEDMD=embedmd -+# TODO decide if we need to change these names. -+TRACE_ID_LINT_EXCEPTION="type name will be used as trace.TraceID by other packages" -+TRACE_OPTION_LINT_EXCEPTION="type name will be used as trace.TraceOptions by other packages" -+README_FILES := $(shell find . -name '*README.md' | sort | tr '\n' ' ') -+ -+.DEFAULT_GOAL := fmt-lint-vet-embedmd-test -+ -+.PHONY: fmt-lint-vet-embedmd-test -+fmt-lint-vet-embedmd-test: fmt lint vet embedmd test -+ -+# TODO enable test-with-coverage in tavis -+.PHONY: travis-ci -+travis-ci: fmt lint vet embedmd test test-386 -+ -+all-pkgs: -+ @echo $(ALL_PKGS) | tr ' ' '\n' | sort -+ -+all-srcs: -+ @echo $(ALL_SRC) | tr ' ' '\n' | sort -+ -+.PHONY: test -+test: -+ $(GOTEST) $(GOTEST_OPT) $(ALL_PKGS) -+ -+.PHONY: test-386 -+test-386: -+ GOARCH=386 $(GOTEST) -v -timeout 30s $(ALL_PKGS) -+ -+.PHONY: test-with-coverage -+test-with-coverage: -+ $(GOTEST) $(GOTEST_OPT_WITH_COVERAGE) $(ALL_PKGS) -+ -+.PHONY: fmt -+fmt: -+ @FMTOUT=`$(GOFMT) -s -l $(ALL_SRC) 2>&1`; \ -+ if [ "$$FMTOUT" ]; then \ -+ echo "$(GOFMT) FAILED => gofmt the following files:\n"; \ -+ echo "$$FMTOUT\n"; \ -+ exit 1; \ -+ else \ -+ echo "Fmt finished successfully"; \ -+ fi -+ -+.PHONY: lint -+lint: -+ @LINTOUT=`$(GOLINT) $(ALL_PKGS) | grep -v $(TRACE_ID_LINT_EXCEPTION) | grep -v $(TRACE_OPTION_LINT_EXCEPTION) 2>&1`; \ -+ if [ "$$LINTOUT" ]; then \ -+ echo "$(GOLINT) FAILED => clean the following lint errors:\n"; \ -+ echo "$$LINTOUT\n"; \ -+ exit 1; \ -+ else \ -+ echo "Lint finished successfully"; \ -+ fi -+ -+.PHONY: vet -+vet: -+ # TODO: Understand why go vet downloads "github.com/google/go-cmp v0.2.0" -+ @VETOUT=`$(GOVET) ./... | grep -v "go: downloading" 2>&1`; \ -+ if [ "$$VETOUT" ]; then \ -+ echo "$(GOVET) FAILED => go vet the following files:\n"; \ -+ echo "$$VETOUT\n"; \ -+ exit 1; \ -+ else \ -+ echo "Vet finished successfully"; \ -+ fi -+ -+.PHONY: embedmd -+embedmd: -+ @EMBEDMDOUT=`$(EMBEDMD) -d $(README_FILES) 2>&1`; \ -+ if [ "$$EMBEDMDOUT" ]; then \ -+ echo "$(EMBEDMD) FAILED => embedmd the following files:\n"; \ -+ echo "$$EMBEDMDOUT\n"; \ -+ exit 1; \ -+ else \ -+ echo "Embedmd finished successfully"; \ -+ fi -+ -+.PHONY: install-tools -+install-tools: -+ go get -u golang.org/x/tools/cmd/cover -+ go get -u golang.org/x/lint/golint -+ go get -u github.com/rakyll/embedmd -diff --git a/vendor/go.opencensus.io/README.md b/vendor/go.opencensus.io/README.md -new file mode 100644 -index 000000000..fabab2e06 ---- /dev/null -+++ b/vendor/go.opencensus.io/README.md -@@ -0,0 +1,263 @@ -+# OpenCensus Libraries for Go -+ -+[![Build Status][travis-image]][travis-url] -+[![Windows Build Status][appveyor-image]][appveyor-url] -+[![GoDoc][godoc-image]][godoc-url] -+[![Gitter chat][gitter-image]][gitter-url] -+ -+OpenCensus Go is a Go implementation of OpenCensus, a toolkit for -+collecting application performance and behavior monitoring data. -+Currently it consists of three major components: tags, stats and tracing. -+ -+## Installation -+ -+``` -+$ go get -u go.opencensus.io -+``` -+ -+The API of this project is still evolving, see: [Deprecation Policy](#deprecation-policy). -+The use of vendoring or a dependency management tool is recommended. -+ -+## Prerequisites -+ -+OpenCensus Go libraries require Go 1.8 or later. -+ -+## Getting Started -+ -+The easiest way to get started using OpenCensus in your application is to use an existing -+integration with your RPC framework: -+ -+* [net/http](https://godoc.org/go.opencensus.io/plugin/ochttp) -+* [gRPC](https://godoc.org/go.opencensus.io/plugin/ocgrpc) -+* [database/sql](https://godoc.org/github.com/opencensus-integrations/ocsql) -+* [Go kit](https://godoc.org/github.com/go-kit/kit/tracing/opencensus) -+* [Groupcache](https://godoc.org/github.com/orijtech/groupcache) -+* [Caddy webserver](https://godoc.org/github.com/orijtech/caddy) -+* [MongoDB](https://godoc.org/github.com/orijtech/mongo-go-driver) -+* [Redis gomodule/redigo](https://godoc.org/github.com/orijtech/redigo) -+* [Redis goredis/redis](https://godoc.org/github.com/orijtech/redis) -+* [Memcache](https://godoc.org/github.com/orijtech/gomemcache) -+ -+If you're using a framework not listed here, you could either implement your own middleware for your -+framework or use [custom stats](#stats) and [spans](#spans) directly in your application. -+ -+## Exporters -+ -+OpenCensus can export instrumentation data to various backends. -+OpenCensus has exporter implementations for the following, users -+can implement their own exporters by implementing the exporter interfaces -+([stats](https://godoc.org/go.opencensus.io/stats/view#Exporter), -+[trace](https://godoc.org/go.opencensus.io/trace#Exporter)): -+ -+* [Prometheus][exporter-prom] for stats -+* [OpenZipkin][exporter-zipkin] for traces -+* [Stackdriver][exporter-stackdriver] Monitoring for stats and Trace for traces -+* [Jaeger][exporter-jaeger] for traces -+* [AWS X-Ray][exporter-xray] for traces -+* [Datadog][exporter-datadog] for stats and traces -+* [Graphite][exporter-graphite] for stats -+* [Honeycomb][exporter-honeycomb] for traces -+ -+## Overview -+ -+![OpenCensus Overview](https://i.imgur.com/cf4ElHE.jpg) -+ -+In a microservices environment, a user request may go through -+multiple services until there is a response. OpenCensus allows -+you to instrument your services and collect diagnostics data all -+through your services end-to-end. -+ -+## Tags -+ -+Tags represent propagated key-value pairs. They are propagated using `context.Context` -+in the same process or can be encoded to be transmitted on the wire. Usually, this will -+be handled by an integration plugin, e.g. `ocgrpc.ServerHandler` and `ocgrpc.ClientHandler` -+for gRPC. -+ -+Package `tag` allows adding or modifying tags in the current context. -+ -+[embedmd]:# (internal/readme/tags.go new) -+```go -+ctx, err = tag.New(ctx, -+ tag.Insert(osKey, "macOS-10.12.5"), -+ tag.Upsert(userIDKey, "cde36753ed"), -+) -+if err != nil { -+ log.Fatal(err) -+} -+``` -+ -+## Stats -+ -+OpenCensus is a low-overhead framework even if instrumentation is always enabled. -+In order to be so, it is optimized to make recording of data points fast -+and separate from the data aggregation. -+ -+OpenCensus stats collection happens in two stages: -+ -+* Definition of measures and recording of data points -+* Definition of views and aggregation of the recorded data -+ -+### Recording -+ -+Measurements are data points associated with a measure. -+Recording implicitly tags the set of Measurements with the tags from the -+provided context: -+ -+[embedmd]:# (internal/readme/stats.go record) -+```go -+stats.Record(ctx, videoSize.M(102478)) -+``` -+ -+### Views -+ -+Views are how Measures are aggregated. You can think of them as queries over the -+set of recorded data points (measurements). -+ -+Views have two parts: the tags to group by and the aggregation type used. -+ -+Currently three types of aggregations are supported: -+* CountAggregation is used to count the number of times a sample was recorded. -+* DistributionAggregation is used to provide a histogram of the values of the samples. -+* SumAggregation is used to sum up all sample values. -+ -+[embedmd]:# (internal/readme/stats.go aggs) -+```go -+distAgg := view.Distribution(1<<32, 2<<32, 3<<32) -+countAgg := view.Count() -+sumAgg := view.Sum() -+``` -+ -+Here we create a view with the DistributionAggregation over our measure. -+ -+[embedmd]:# (internal/readme/stats.go view) -+```go -+if err := view.Register(&view.View{ -+ Name: "example.com/video_size_distribution", -+ Description: "distribution of processed video size over time", -+ Measure: videoSize, -+ Aggregation: view.Distribution(1<<32, 2<<32, 3<<32), -+}); err != nil { -+ log.Fatalf("Failed to register view: %v", err) -+} -+``` -+ -+Register begins collecting data for the view. Registered views' data will be -+exported via the registered exporters. -+ -+## Traces -+ -+A distributed trace tracks the progression of a single user request as -+it is handled by the services and processes that make up an application. -+Each step is called a span in the trace. Spans include metadata about the step, -+including especially the time spent in the step, called the span’s latency. -+ -+Below you see a trace and several spans underneath it. -+ -+![Traces and spans](https://i.imgur.com/7hZwRVj.png) -+ -+### Spans -+ -+Span is the unit step in a trace. Each span has a name, latency, status and -+additional metadata. -+ -+Below we are starting a span for a cache read and ending it -+when we are done: -+ -+[embedmd]:# (internal/readme/trace.go startend) -+```go -+ctx, span := trace.StartSpan(ctx, "cache.Get") -+defer span.End() -+ -+// Do work to get from cache. -+``` -+ -+### Propagation -+ -+Spans can have parents or can be root spans if they don't have any parents. -+The current span is propagated in-process and across the network to allow associating -+new child spans with the parent. -+ -+In the same process, `context.Context` is used to propagate spans. -+`trace.StartSpan` creates a new span as a root if the current context -+doesn't contain a span. Or, it creates a child of the span that is -+already in current context. The returned context can be used to keep -+propagating the newly created span in the current context. -+ -+[embedmd]:# (internal/readme/trace.go startend) -+```go -+ctx, span := trace.StartSpan(ctx, "cache.Get") -+defer span.End() -+ -+// Do work to get from cache. -+``` -+ -+Across the network, OpenCensus provides different propagation -+methods for different protocols. -+ -+* gRPC integrations use the OpenCensus' [binary propagation format](https://godoc.org/go.opencensus.io/trace/propagation). -+* HTTP integrations use Zipkin's [B3](https://github.com/openzipkin/b3-propagation) -+ by default but can be configured to use a custom propagation method by setting another -+ [propagation.HTTPFormat](https://godoc.org/go.opencensus.io/trace/propagation#HTTPFormat). -+ -+## Execution Tracer -+ -+With Go 1.11, OpenCensus Go will support integration with the Go execution tracer. -+See [Debugging Latency in Go](https://medium.com/observability/debugging-latency-in-go-1-11-9f97a7910d68) -+for an example of their mutual use. -+ -+## Profiles -+ -+OpenCensus tags can be applied as profiler labels -+for users who are on Go 1.9 and above. -+ -+[embedmd]:# (internal/readme/tags.go profiler) -+```go -+ctx, err = tag.New(ctx, -+ tag.Insert(osKey, "macOS-10.12.5"), -+ tag.Insert(userIDKey, "fff0989878"), -+) -+if err != nil { -+ log.Fatal(err) -+} -+tag.Do(ctx, func(ctx context.Context) { -+ // Do work. -+ // When profiling is on, samples will be -+ // recorded with the key/values from the tag map. -+}) -+``` -+ -+A screenshot of the CPU profile from the program above: -+ -+![CPU profile](https://i.imgur.com/jBKjlkw.png) -+ -+## Deprecation Policy -+ -+Before version 1.0.0, the following deprecation policy will be observed: -+ -+No backwards-incompatible changes will be made except for the removal of symbols that have -+been marked as *Deprecated* for at least one minor release (e.g. 0.9.0 to 0.10.0). A release -+removing the *Deprecated* functionality will be made no sooner than 28 days after the first -+release in which the functionality was marked *Deprecated*. -+ -+[travis-image]: https://travis-ci.org/census-instrumentation/opencensus-go.svg?branch=master -+[travis-url]: https://travis-ci.org/census-instrumentation/opencensus-go -+[appveyor-image]: https://ci.appveyor.com/api/projects/status/vgtt29ps1783ig38?svg=true -+[appveyor-url]: https://ci.appveyor.com/project/opencensusgoteam/opencensus-go/branch/master -+[godoc-image]: https://godoc.org/go.opencensus.io?status.svg -+[godoc-url]: https://godoc.org/go.opencensus.io -+[gitter-image]: https://badges.gitter.im/census-instrumentation/lobby.svg -+[gitter-url]: https://gitter.im/census-instrumentation/lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge -+ -+ -+[new-ex]: https://godoc.org/go.opencensus.io/tag#example-NewMap -+[new-replace-ex]: https://godoc.org/go.opencensus.io/tag#example-NewMap--Replace -+ -+[exporter-prom]: https://godoc.org/contrib.go.opencensus.io/exporter/prometheus -+[exporter-stackdriver]: https://godoc.org/contrib.go.opencensus.io/exporter/stackdriver -+[exporter-zipkin]: https://godoc.org/contrib.go.opencensus.io/exporter/zipkin -+[exporter-jaeger]: https://godoc.org/contrib.go.opencensus.io/exporter/jaeger -+[exporter-xray]: https://github.com/census-ecosystem/opencensus-go-exporter-aws -+[exporter-datadog]: https://github.com/DataDog/opencensus-go-exporter-datadog -+[exporter-graphite]: https://github.com/census-ecosystem/opencensus-go-exporter-graphite -+[exporter-honeycomb]: https://github.com/honeycombio/opencensus-exporter -diff --git a/vendor/go.opencensus.io/appveyor.yml b/vendor/go.opencensus.io/appveyor.yml -new file mode 100644 -index 000000000..12bd7c4c7 ---- /dev/null -+++ b/vendor/go.opencensus.io/appveyor.yml -@@ -0,0 +1,25 @@ -+version: "{build}" -+ -+platform: x64 -+ -+clone_folder: c:\gopath\src\go.opencensus.io -+ -+environment: -+ GOPATH: 'c:\gopath' -+ GOVERSION: '1.11' -+ GO111MODULE: 'on' -+ CGO_ENABLED: '0' # See: https://github.com/appveyor/ci/issues/2613 -+ -+install: -+ - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% -+ - choco upgrade golang --version 1.11.5 # Temporary fix because of a go.sum bug in 1.11 -+ - go version -+ - go env -+ -+build: false -+deploy: false -+ -+test_script: -+ - cd %APPVEYOR_BUILD_FOLDER% -+ - go build -v .\... -+ - go test -v .\... # No -race because cgo is disabled -diff --git a/vendor/go.opencensus.io/go.mod b/vendor/go.opencensus.io/go.mod -new file mode 100644 -index 000000000..cb4de80f3 ---- /dev/null -+++ b/vendor/go.opencensus.io/go.mod -@@ -0,0 +1,12 @@ -+module go.opencensus.io -+ -+require ( -+ github.com/golang/protobuf v1.3.1 -+ github.com/google/go-cmp v0.3.0 -+ github.com/hashicorp/golang-lru v0.5.1 -+ golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09 -+ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd // indirect -+ golang.org/x/text v0.3.2 // indirect -+ google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb // indirect -+ google.golang.org/grpc v1.20.1 -+) -diff --git a/vendor/go.opencensus.io/go.sum b/vendor/go.opencensus.io/go.sum -new file mode 100644 -index 000000000..0b948c2b4 ---- /dev/null -+++ b/vendor/go.opencensus.io/go.sum -@@ -0,0 +1,61 @@ -+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= -+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -+github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= -+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -+github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= -+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -+github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= -+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= -+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -+golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= -+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09 h1:KaQtG+aDELoNmXYas3TVkGNYRuq8JQ1aa7LJt8EXVyo= -+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA= -+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ= -+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6 h1:bjcUS9ztw9kFmmIxJInhon/0Is3p+EHBKNgquIzo1OI= -+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= -+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd h1:r7DufRZuZbWB7j439YfAzP8RPDa9unLkpwQKUYbIMPI= -+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -+golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= -+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -+golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= -+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= -+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb h1:i1Ppqkc3WQXikh8bXiwHqAN5Rv3/qDCcRk0/Otx73BY= -+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -+google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8= -+google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8= -+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -+google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU= -+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -diff --git a/vendor/go.opencensus.io/internal/internal.go b/vendor/go.opencensus.io/internal/internal.go -new file mode 100644 -index 000000000..9a638781c ---- /dev/null -+++ b/vendor/go.opencensus.io/internal/internal.go -@@ -0,0 +1,37 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 internal // import "go.opencensus.io/internal" -+ -+import ( -+ "fmt" -+ "time" -+ -+ opencensus "go.opencensus.io" -+) -+ -+// UserAgent is the user agent to be added to the outgoing -+// requests from the exporters. -+var UserAgent = fmt.Sprintf("opencensus-go/%s", opencensus.Version()) -+ -+// MonotonicEndTime returns the end time at present -+// but offset from start, monotonically. -+// -+// The monotonic clock is used in subtractions hence -+// the duration since start added back to start gives -+// end as a monotonic time. -+// See https://golang.org/pkg/time/#hdr-Monotonic_Clocks -+func MonotonicEndTime(start time.Time) time.Time { -+ return start.Add(time.Now().Sub(start)) -+} -diff --git a/vendor/go.opencensus.io/internal/sanitize.go b/vendor/go.opencensus.io/internal/sanitize.go -new file mode 100644 -index 000000000..de8ccf236 ---- /dev/null -+++ b/vendor/go.opencensus.io/internal/sanitize.go -@@ -0,0 +1,50 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 internal -+ -+import ( -+ "strings" -+ "unicode" -+) -+ -+const labelKeySizeLimit = 100 -+ -+// Sanitize returns a string that is trunacated to 100 characters if it's too -+// long, and replaces non-alphanumeric characters to underscores. -+func Sanitize(s string) string { -+ if len(s) == 0 { -+ return s -+ } -+ if len(s) > labelKeySizeLimit { -+ s = s[:labelKeySizeLimit] -+ } -+ s = strings.Map(sanitizeRune, s) -+ if unicode.IsDigit(rune(s[0])) { -+ s = "key_" + s -+ } -+ if s[0] == '_' { -+ s = "key" + s -+ } -+ return s -+} -+ -+// converts anything that is not a letter or digit to an underscore -+func sanitizeRune(r rune) rune { -+ if unicode.IsLetter(r) || unicode.IsDigit(r) { -+ return r -+ } -+ // Everything else turns into an underscore -+ return '_' -+} -diff --git a/vendor/go.opencensus.io/internal/traceinternals.go b/vendor/go.opencensus.io/internal/traceinternals.go -new file mode 100644 -index 000000000..073af7b47 ---- /dev/null -+++ b/vendor/go.opencensus.io/internal/traceinternals.go -@@ -0,0 +1,53 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 internal -+ -+import ( -+ "time" -+) -+ -+// Trace allows internal access to some trace functionality. -+// TODO(#412): remove this -+var Trace interface{} -+ -+// LocalSpanStoreEnabled true if the local span store is enabled. -+var LocalSpanStoreEnabled bool -+ -+// BucketConfiguration stores the number of samples to store for span buckets -+// for successful and failed spans for a particular span name. -+type BucketConfiguration struct { -+ Name string -+ MaxRequestsSucceeded int -+ MaxRequestsErrors int -+} -+ -+// PerMethodSummary is a summary of the spans stored for a single span name. -+type PerMethodSummary struct { -+ Active int -+ LatencyBuckets []LatencyBucketSummary -+ ErrorBuckets []ErrorBucketSummary -+} -+ -+// LatencyBucketSummary is a summary of a latency bucket. -+type LatencyBucketSummary struct { -+ MinLatency, MaxLatency time.Duration -+ Size int -+} -+ -+// ErrorBucketSummary is a summary of an error bucket. -+type ErrorBucketSummary struct { -+ ErrorCode int32 -+ Size int -+} -diff --git a/vendor/go.opencensus.io/opencensus.go b/vendor/go.opencensus.io/opencensus.go -new file mode 100644 -index 000000000..626d73645 ---- /dev/null -+++ b/vendor/go.opencensus.io/opencensus.go -@@ -0,0 +1,21 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 opencensus contains Go support for OpenCensus. -+package opencensus // import "go.opencensus.io" -+ -+// Version is the current release version of OpenCensus in use. -+func Version() string { -+ return "0.22.0" -+} -diff --git a/vendor/go.opencensus.io/trace/basetypes.go b/vendor/go.opencensus.io/trace/basetypes.go -new file mode 100644 -index 000000000..0c54492a2 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/basetypes.go -@@ -0,0 +1,119 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 trace -+ -+import ( -+ "fmt" -+ "time" -+) -+ -+type ( -+ // TraceID is a 16-byte identifier for a set of spans. -+ TraceID [16]byte -+ -+ // SpanID is an 8-byte identifier for a single span. -+ SpanID [8]byte -+) -+ -+func (t TraceID) String() string { -+ return fmt.Sprintf("%02x", t[:]) -+} -+ -+func (s SpanID) String() string { -+ return fmt.Sprintf("%02x", s[:]) -+} -+ -+// Annotation represents a text annotation with a set of attributes and a timestamp. -+type Annotation struct { -+ Time time.Time -+ Message string -+ Attributes map[string]interface{} -+} -+ -+// Attribute represents a key-value pair on a span, link or annotation. -+// Construct with one of: BoolAttribute, Int64Attribute, or StringAttribute. -+type Attribute struct { -+ key string -+ value interface{} -+} -+ -+// BoolAttribute returns a bool-valued attribute. -+func BoolAttribute(key string, value bool) Attribute { -+ return Attribute{key: key, value: value} -+} -+ -+// Int64Attribute returns an int64-valued attribute. -+func Int64Attribute(key string, value int64) Attribute { -+ return Attribute{key: key, value: value} -+} -+ -+// Float64Attribute returns a float64-valued attribute. -+func Float64Attribute(key string, value float64) Attribute { -+ return Attribute{key: key, value: value} -+} -+ -+// StringAttribute returns a string-valued attribute. -+func StringAttribute(key string, value string) Attribute { -+ return Attribute{key: key, value: value} -+} -+ -+// LinkType specifies the relationship between the span that had the link -+// added, and the linked span. -+type LinkType int32 -+ -+// LinkType values. -+const ( -+ LinkTypeUnspecified LinkType = iota // The relationship of the two spans is unknown. -+ LinkTypeChild // The linked span is a child of the current span. -+ LinkTypeParent // The linked span is the parent of the current span. -+) -+ -+// Link represents a reference from one span to another span. -+type Link struct { -+ TraceID TraceID -+ SpanID SpanID -+ Type LinkType -+ // Attributes is a set of attributes on the link. -+ Attributes map[string]interface{} -+} -+ -+// MessageEventType specifies the type of message event. -+type MessageEventType int32 -+ -+// MessageEventType values. -+const ( -+ MessageEventTypeUnspecified MessageEventType = iota // Unknown event type. -+ MessageEventTypeSent // Indicates a sent RPC message. -+ MessageEventTypeRecv // Indicates a received RPC message. -+) -+ -+// MessageEvent represents an event describing a message sent or received on the network. -+type MessageEvent struct { -+ Time time.Time -+ EventType MessageEventType -+ MessageID int64 -+ UncompressedByteSize int64 -+ CompressedByteSize int64 -+} -+ -+// Status is the status of a Span. -+type Status struct { -+ // Code is a status code. Zero indicates success. -+ // -+ // If Code will be propagated to Google APIs, it ideally should be a value from -+ // https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto . -+ Code int32 -+ Message string -+} -diff --git a/vendor/go.opencensus.io/trace/config.go b/vendor/go.opencensus.io/trace/config.go -new file mode 100644 -index 000000000..775f8274f ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/config.go -@@ -0,0 +1,86 @@ -+// Copyright 2018, OpenCensus Authors -+// -+// 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 trace -+ -+import ( -+ "sync" -+ -+ "go.opencensus.io/trace/internal" -+) -+ -+// Config represents the global tracing configuration. -+type Config struct { -+ // DefaultSampler is the default sampler used when creating new spans. -+ DefaultSampler Sampler -+ -+ // IDGenerator is for internal use only. -+ IDGenerator internal.IDGenerator -+ -+ // MaxAnnotationEventsPerSpan is max number of annotation events per span -+ MaxAnnotationEventsPerSpan int -+ -+ // MaxMessageEventsPerSpan is max number of message events per span -+ MaxMessageEventsPerSpan int -+ -+ // MaxAnnotationEventsPerSpan is max number of attributes per span -+ MaxAttributesPerSpan int -+ -+ // MaxLinksPerSpan is max number of links per span -+ MaxLinksPerSpan int -+} -+ -+var configWriteMu sync.Mutex -+ -+const ( -+ // DefaultMaxAnnotationEventsPerSpan is default max number of annotation events per span -+ DefaultMaxAnnotationEventsPerSpan = 32 -+ -+ // DefaultMaxMessageEventsPerSpan is default max number of message events per span -+ DefaultMaxMessageEventsPerSpan = 128 -+ -+ // DefaultMaxAttributesPerSpan is default max number of attributes per span -+ DefaultMaxAttributesPerSpan = 32 -+ -+ // DefaultMaxLinksPerSpan is default max number of links per span -+ DefaultMaxLinksPerSpan = 32 -+) -+ -+// ApplyConfig applies changes to the global tracing configuration. -+// -+// Fields not provided in the given config are going to be preserved. -+func ApplyConfig(cfg Config) { -+ configWriteMu.Lock() -+ defer configWriteMu.Unlock() -+ c := *config.Load().(*Config) -+ if cfg.DefaultSampler != nil { -+ c.DefaultSampler = cfg.DefaultSampler -+ } -+ if cfg.IDGenerator != nil { -+ c.IDGenerator = cfg.IDGenerator -+ } -+ if cfg.MaxAnnotationEventsPerSpan > 0 { -+ c.MaxAnnotationEventsPerSpan = cfg.MaxAnnotationEventsPerSpan -+ } -+ if cfg.MaxMessageEventsPerSpan > 0 { -+ c.MaxMessageEventsPerSpan = cfg.MaxMessageEventsPerSpan -+ } -+ if cfg.MaxAttributesPerSpan > 0 { -+ c.MaxAttributesPerSpan = cfg.MaxAttributesPerSpan -+ } -+ if cfg.MaxLinksPerSpan > 0 { -+ c.MaxLinksPerSpan = cfg.MaxLinksPerSpan -+ } -+ config.Store(&c) -+} -diff --git a/vendor/go.opencensus.io/trace/doc.go b/vendor/go.opencensus.io/trace/doc.go -new file mode 100644 -index 000000000..04b1ee4f3 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/doc.go -@@ -0,0 +1,53 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 trace contains support for OpenCensus distributed tracing. -+ -+The following assumes a basic familiarity with OpenCensus concepts. -+See http://opencensus.io -+ -+ -+Exporting Traces -+ -+To export collected tracing data, register at least one exporter. You can use -+one of the provided exporters or write your own. -+ -+ trace.RegisterExporter(exporter) -+ -+By default, traces will be sampled relatively rarely. To change the sampling -+frequency for your entire program, call ApplyConfig. Use a ProbabilitySampler -+to sample a subset of traces, or use AlwaysSample to collect a trace on every run: -+ -+ trace.ApplyConfig(trace.Config{DefaultSampler: trace.AlwaysSample()}) -+ -+Be careful about using trace.AlwaysSample in a production application with -+significant traffic: a new trace will be started and exported for every request. -+ -+Adding Spans to a Trace -+ -+A trace consists of a tree of spans. In Go, the current span is carried in a -+context.Context. -+ -+It is common to want to capture all the activity of a function call in a span. For -+this to work, the function must take a context.Context as a parameter. Add these two -+lines to the top of the function: -+ -+ ctx, span := trace.StartSpan(ctx, "example.com/Run") -+ defer span.End() -+ -+StartSpan will create a new top-level span if the context -+doesn't contain another span, otherwise it will create a child span. -+*/ -+package trace // import "go.opencensus.io/trace" -diff --git a/vendor/go.opencensus.io/trace/evictedqueue.go b/vendor/go.opencensus.io/trace/evictedqueue.go -new file mode 100644 -index 000000000..ffc264f23 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/evictedqueue.go -@@ -0,0 +1,38 @@ -+// Copyright 2019, OpenCensus Authors -+// -+// 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 trace -+ -+type evictedQueue struct { -+ queue []interface{} -+ capacity int -+ droppedCount int -+} -+ -+func newEvictedQueue(capacity int) *evictedQueue { -+ eq := &evictedQueue{ -+ capacity: capacity, -+ queue: make([]interface{}, 0), -+ } -+ -+ return eq -+} -+ -+func (eq *evictedQueue) add(value interface{}) { -+ if len(eq.queue) == eq.capacity { -+ eq.queue = eq.queue[1:] -+ eq.droppedCount++ -+ } -+ eq.queue = append(eq.queue, value) -+} -diff --git a/vendor/go.opencensus.io/trace/export.go b/vendor/go.opencensus.io/trace/export.go -new file mode 100644 -index 000000000..e0d9a4b99 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/export.go -@@ -0,0 +1,97 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 trace -+ -+import ( -+ "sync" -+ "sync/atomic" -+ "time" -+) -+ -+// Exporter is a type for functions that receive sampled trace spans. -+// -+// The ExportSpan method should be safe for concurrent use and should return -+// quickly; if an Exporter takes a significant amount of time to process a -+// SpanData, that work should be done on another goroutine. -+// -+// The SpanData should not be modified, but a pointer to it can be kept. -+type Exporter interface { -+ ExportSpan(s *SpanData) -+} -+ -+type exportersMap map[Exporter]struct{} -+ -+var ( -+ exporterMu sync.Mutex -+ exporters atomic.Value -+) -+ -+// RegisterExporter adds to the list of Exporters that will receive sampled -+// trace spans. -+// -+// Binaries can register exporters, libraries shouldn't register exporters. -+func RegisterExporter(e Exporter) { -+ exporterMu.Lock() -+ new := make(exportersMap) -+ if old, ok := exporters.Load().(exportersMap); ok { -+ for k, v := range old { -+ new[k] = v -+ } -+ } -+ new[e] = struct{}{} -+ exporters.Store(new) -+ exporterMu.Unlock() -+} -+ -+// UnregisterExporter removes from the list of Exporters the Exporter that was -+// registered with the given name. -+func UnregisterExporter(e Exporter) { -+ exporterMu.Lock() -+ new := make(exportersMap) -+ if old, ok := exporters.Load().(exportersMap); ok { -+ for k, v := range old { -+ new[k] = v -+ } -+ } -+ delete(new, e) -+ exporters.Store(new) -+ exporterMu.Unlock() -+} -+ -+// SpanData contains all the information collected by a Span. -+type SpanData struct { -+ SpanContext -+ ParentSpanID SpanID -+ SpanKind int -+ Name string -+ StartTime time.Time -+ // The wall clock time of EndTime will be adjusted to always be offset -+ // from StartTime by the duration of the span. -+ EndTime time.Time -+ // The values of Attributes each have type string, bool, or int64. -+ Attributes map[string]interface{} -+ Annotations []Annotation -+ MessageEvents []MessageEvent -+ Status -+ Links []Link -+ HasRemoteParent bool -+ DroppedAttributeCount int -+ DroppedAnnotationCount int -+ DroppedMessageEventCount int -+ DroppedLinkCount int -+ -+ // ChildSpanCount holds the number of child span created for this span. -+ ChildSpanCount int -+} -diff --git a/vendor/go.opencensus.io/trace/internal/internal.go b/vendor/go.opencensus.io/trace/internal/internal.go -new file mode 100644 -index 000000000..7e808d8f3 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/internal/internal.go -@@ -0,0 +1,22 @@ -+// Copyright 2018, OpenCensus Authors -+// -+// 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 internal provides trace internals. -+package internal -+ -+// IDGenerator allows custom generators for TraceId and SpanId. -+type IDGenerator interface { -+ NewTraceID() [16]byte -+ NewSpanID() [8]byte -+} -diff --git a/vendor/go.opencensus.io/trace/lrumap.go b/vendor/go.opencensus.io/trace/lrumap.go -new file mode 100644 -index 000000000..3f80a3368 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/lrumap.go -@@ -0,0 +1,37 @@ -+// Copyright 2019, OpenCensus Authors -+// -+// 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 trace -+ -+import ( -+ "github.com/hashicorp/golang-lru/simplelru" -+) -+ -+type lruMap struct { -+ simpleLruMap *simplelru.LRU -+ droppedCount int -+} -+ -+func newLruMap(size int) *lruMap { -+ lm := &lruMap{} -+ lm.simpleLruMap, _ = simplelru.NewLRU(size, nil) -+ return lm -+} -+ -+func (lm *lruMap) add(key, value interface{}) { -+ evicted := lm.simpleLruMap.Add(key, value) -+ if evicted { -+ lm.droppedCount++ -+ } -+} -diff --git a/vendor/go.opencensus.io/trace/sampling.go b/vendor/go.opencensus.io/trace/sampling.go -new file mode 100644 -index 000000000..71c10f9e3 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/sampling.go -@@ -0,0 +1,75 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 trace -+ -+import ( -+ "encoding/binary" -+) -+ -+const defaultSamplingProbability = 1e-4 -+ -+// Sampler decides whether a trace should be sampled and exported. -+type Sampler func(SamplingParameters) SamplingDecision -+ -+// SamplingParameters contains the values passed to a Sampler. -+type SamplingParameters struct { -+ ParentContext SpanContext -+ TraceID TraceID -+ SpanID SpanID -+ Name string -+ HasRemoteParent bool -+} -+ -+// SamplingDecision is the value returned by a Sampler. -+type SamplingDecision struct { -+ Sample bool -+} -+ -+// ProbabilitySampler returns a Sampler that samples a given fraction of traces. -+// -+// It also samples spans whose parents are sampled. -+func ProbabilitySampler(fraction float64) Sampler { -+ if !(fraction >= 0) { -+ fraction = 0 -+ } else if fraction >= 1 { -+ return AlwaysSample() -+ } -+ -+ traceIDUpperBound := uint64(fraction * (1 << 63)) -+ return Sampler(func(p SamplingParameters) SamplingDecision { -+ if p.ParentContext.IsSampled() { -+ return SamplingDecision{Sample: true} -+ } -+ x := binary.BigEndian.Uint64(p.TraceID[0:8]) >> 1 -+ return SamplingDecision{Sample: x < traceIDUpperBound} -+ }) -+} -+ -+// AlwaysSample returns a Sampler that samples every trace. -+// Be careful about using this sampler in a production application with -+// significant traffic: a new trace will be started and exported for every -+// request. -+func AlwaysSample() Sampler { -+ return func(p SamplingParameters) SamplingDecision { -+ return SamplingDecision{Sample: true} -+ } -+} -+ -+// NeverSample returns a Sampler that samples no traces. -+func NeverSample() Sampler { -+ return func(p SamplingParameters) SamplingDecision { -+ return SamplingDecision{Sample: false} -+ } -+} -diff --git a/vendor/go.opencensus.io/trace/spanbucket.go b/vendor/go.opencensus.io/trace/spanbucket.go -new file mode 100644 -index 000000000..fbabad34c ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/spanbucket.go -@@ -0,0 +1,130 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 trace -+ -+import ( -+ "time" -+) -+ -+// samplePeriod is the minimum time between accepting spans in a single bucket. -+const samplePeriod = time.Second -+ -+// defaultLatencies contains the default latency bucket bounds. -+// TODO: consider defaults, make configurable -+var defaultLatencies = [...]time.Duration{ -+ 10 * time.Microsecond, -+ 100 * time.Microsecond, -+ time.Millisecond, -+ 10 * time.Millisecond, -+ 100 * time.Millisecond, -+ time.Second, -+ 10 * time.Second, -+ time.Minute, -+} -+ -+// bucket is a container for a set of spans for a particular error code or latency range. -+type bucket struct { -+ nextTime time.Time // next time we can accept a span -+ buffer []*SpanData // circular buffer of spans -+ nextIndex int // location next SpanData should be placed in buffer -+ overflow bool // whether the circular buffer has wrapped around -+} -+ -+func makeBucket(bufferSize int) bucket { -+ return bucket{ -+ buffer: make([]*SpanData, bufferSize), -+ } -+} -+ -+// add adds a span to the bucket, if nextTime has been reached. -+func (b *bucket) add(s *SpanData) { -+ if s.EndTime.Before(b.nextTime) { -+ return -+ } -+ if len(b.buffer) == 0 { -+ return -+ } -+ b.nextTime = s.EndTime.Add(samplePeriod) -+ b.buffer[b.nextIndex] = s -+ b.nextIndex++ -+ if b.nextIndex == len(b.buffer) { -+ b.nextIndex = 0 -+ b.overflow = true -+ } -+} -+ -+// size returns the number of spans in the bucket. -+func (b *bucket) size() int { -+ if b.overflow { -+ return len(b.buffer) -+ } -+ return b.nextIndex -+} -+ -+// span returns the ith span in the bucket. -+func (b *bucket) span(i int) *SpanData { -+ if !b.overflow { -+ return b.buffer[i] -+ } -+ if i < len(b.buffer)-b.nextIndex { -+ return b.buffer[b.nextIndex+i] -+ } -+ return b.buffer[b.nextIndex+i-len(b.buffer)] -+} -+ -+// resize changes the size of the bucket to n, keeping up to n existing spans. -+func (b *bucket) resize(n int) { -+ cur := b.size() -+ newBuffer := make([]*SpanData, n) -+ if cur < n { -+ for i := 0; i < cur; i++ { -+ newBuffer[i] = b.span(i) -+ } -+ b.buffer = newBuffer -+ b.nextIndex = cur -+ b.overflow = false -+ return -+ } -+ for i := 0; i < n; i++ { -+ newBuffer[i] = b.span(i + cur - n) -+ } -+ b.buffer = newBuffer -+ b.nextIndex = 0 -+ b.overflow = true -+} -+ -+// latencyBucket returns the appropriate bucket number for a given latency. -+func latencyBucket(latency time.Duration) int { -+ i := 0 -+ for i < len(defaultLatencies) && latency >= defaultLatencies[i] { -+ i++ -+ } -+ return i -+} -+ -+// latencyBucketBounds returns the lower and upper bounds for a latency bucket -+// number. -+// -+// The lower bound is inclusive, the upper bound is exclusive (except for the -+// last bucket.) -+func latencyBucketBounds(index int) (lower time.Duration, upper time.Duration) { -+ if index == 0 { -+ return 0, defaultLatencies[index] -+ } -+ if index == len(defaultLatencies) { -+ return defaultLatencies[index-1], 1<<63 - 1 -+ } -+ return defaultLatencies[index-1], defaultLatencies[index] -+} -diff --git a/vendor/go.opencensus.io/trace/spanstore.go b/vendor/go.opencensus.io/trace/spanstore.go -new file mode 100644 -index 000000000..c442d9902 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/spanstore.go -@@ -0,0 +1,306 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 trace -+ -+import ( -+ "sync" -+ "time" -+ -+ "go.opencensus.io/internal" -+) -+ -+const ( -+ maxBucketSize = 100000 -+ defaultBucketSize = 10 -+) -+ -+var ( -+ ssmu sync.RWMutex // protects spanStores -+ spanStores = make(map[string]*spanStore) -+) -+ -+// This exists purely to avoid exposing internal methods used by z-Pages externally. -+type internalOnly struct{} -+ -+func init() { -+ //TODO(#412): remove -+ internal.Trace = &internalOnly{} -+} -+ -+// ReportActiveSpans returns the active spans for the given name. -+func (i internalOnly) ReportActiveSpans(name string) []*SpanData { -+ s := spanStoreForName(name) -+ if s == nil { -+ return nil -+ } -+ var out []*SpanData -+ s.mu.Lock() -+ defer s.mu.Unlock() -+ for span := range s.active { -+ out = append(out, span.makeSpanData()) -+ } -+ return out -+} -+ -+// ReportSpansByError returns a sample of error spans. -+// -+// If code is nonzero, only spans with that status code are returned. -+func (i internalOnly) ReportSpansByError(name string, code int32) []*SpanData { -+ s := spanStoreForName(name) -+ if s == nil { -+ return nil -+ } -+ var out []*SpanData -+ s.mu.Lock() -+ defer s.mu.Unlock() -+ if code != 0 { -+ if b, ok := s.errors[code]; ok { -+ for _, sd := range b.buffer { -+ if sd == nil { -+ break -+ } -+ out = append(out, sd) -+ } -+ } -+ } else { -+ for _, b := range s.errors { -+ for _, sd := range b.buffer { -+ if sd == nil { -+ break -+ } -+ out = append(out, sd) -+ } -+ } -+ } -+ return out -+} -+ -+// ConfigureBucketSizes sets the number of spans to keep per latency and error -+// bucket for different span names. -+func (i internalOnly) ConfigureBucketSizes(bcs []internal.BucketConfiguration) { -+ for _, bc := range bcs { -+ latencyBucketSize := bc.MaxRequestsSucceeded -+ if latencyBucketSize < 0 { -+ latencyBucketSize = 0 -+ } -+ if latencyBucketSize > maxBucketSize { -+ latencyBucketSize = maxBucketSize -+ } -+ errorBucketSize := bc.MaxRequestsErrors -+ if errorBucketSize < 0 { -+ errorBucketSize = 0 -+ } -+ if errorBucketSize > maxBucketSize { -+ errorBucketSize = maxBucketSize -+ } -+ spanStoreSetSize(bc.Name, latencyBucketSize, errorBucketSize) -+ } -+} -+ -+// ReportSpansPerMethod returns a summary of what spans are being stored for each span name. -+func (i internalOnly) ReportSpansPerMethod() map[string]internal.PerMethodSummary { -+ out := make(map[string]internal.PerMethodSummary) -+ ssmu.RLock() -+ defer ssmu.RUnlock() -+ for name, s := range spanStores { -+ s.mu.Lock() -+ p := internal.PerMethodSummary{ -+ Active: len(s.active), -+ } -+ for code, b := range s.errors { -+ p.ErrorBuckets = append(p.ErrorBuckets, internal.ErrorBucketSummary{ -+ ErrorCode: code, -+ Size: b.size(), -+ }) -+ } -+ for i, b := range s.latency { -+ min, max := latencyBucketBounds(i) -+ p.LatencyBuckets = append(p.LatencyBuckets, internal.LatencyBucketSummary{ -+ MinLatency: min, -+ MaxLatency: max, -+ Size: b.size(), -+ }) -+ } -+ s.mu.Unlock() -+ out[name] = p -+ } -+ return out -+} -+ -+// ReportSpansByLatency returns a sample of successful spans. -+// -+// minLatency is the minimum latency of spans to be returned. -+// maxLatency, if nonzero, is the maximum latency of spans to be returned. -+func (i internalOnly) ReportSpansByLatency(name string, minLatency, maxLatency time.Duration) []*SpanData { -+ s := spanStoreForName(name) -+ if s == nil { -+ return nil -+ } -+ var out []*SpanData -+ s.mu.Lock() -+ defer s.mu.Unlock() -+ for i, b := range s.latency { -+ min, max := latencyBucketBounds(i) -+ if i+1 != len(s.latency) && max <= minLatency { -+ continue -+ } -+ if maxLatency != 0 && maxLatency < min { -+ continue -+ } -+ for _, sd := range b.buffer { -+ if sd == nil { -+ break -+ } -+ if minLatency != 0 || maxLatency != 0 { -+ d := sd.EndTime.Sub(sd.StartTime) -+ if d < minLatency { -+ continue -+ } -+ if maxLatency != 0 && d > maxLatency { -+ continue -+ } -+ } -+ out = append(out, sd) -+ } -+ } -+ return out -+} -+ -+// spanStore keeps track of spans stored for a particular span name. -+// -+// It contains all active spans; a sample of spans for failed requests, -+// categorized by error code; and a sample of spans for successful requests, -+// bucketed by latency. -+type spanStore struct { -+ mu sync.Mutex // protects everything below. -+ active map[*Span]struct{} -+ errors map[int32]*bucket -+ latency []bucket -+ maxSpansPerErrorBucket int -+} -+ -+// newSpanStore creates a span store. -+func newSpanStore(name string, latencyBucketSize int, errorBucketSize int) *spanStore { -+ s := &spanStore{ -+ active: make(map[*Span]struct{}), -+ latency: make([]bucket, len(defaultLatencies)+1), -+ maxSpansPerErrorBucket: errorBucketSize, -+ } -+ for i := range s.latency { -+ s.latency[i] = makeBucket(latencyBucketSize) -+ } -+ return s -+} -+ -+// spanStoreForName returns the spanStore for the given name. -+// -+// It returns nil if it doesn't exist. -+func spanStoreForName(name string) *spanStore { -+ var s *spanStore -+ ssmu.RLock() -+ s, _ = spanStores[name] -+ ssmu.RUnlock() -+ return s -+} -+ -+// spanStoreForNameCreateIfNew returns the spanStore for the given name. -+// -+// It creates it if it didn't exist. -+func spanStoreForNameCreateIfNew(name string) *spanStore { -+ ssmu.RLock() -+ s, ok := spanStores[name] -+ ssmu.RUnlock() -+ if ok { -+ return s -+ } -+ ssmu.Lock() -+ defer ssmu.Unlock() -+ s, ok = spanStores[name] -+ if ok { -+ return s -+ } -+ s = newSpanStore(name, defaultBucketSize, defaultBucketSize) -+ spanStores[name] = s -+ return s -+} -+ -+// spanStoreSetSize resizes the spanStore for the given name. -+// -+// It creates it if it didn't exist. -+func spanStoreSetSize(name string, latencyBucketSize int, errorBucketSize int) { -+ ssmu.RLock() -+ s, ok := spanStores[name] -+ ssmu.RUnlock() -+ if ok { -+ s.resize(latencyBucketSize, errorBucketSize) -+ return -+ } -+ ssmu.Lock() -+ defer ssmu.Unlock() -+ s, ok = spanStores[name] -+ if ok { -+ s.resize(latencyBucketSize, errorBucketSize) -+ return -+ } -+ s = newSpanStore(name, latencyBucketSize, errorBucketSize) -+ spanStores[name] = s -+} -+ -+func (s *spanStore) resize(latencyBucketSize int, errorBucketSize int) { -+ s.mu.Lock() -+ for i := range s.latency { -+ s.latency[i].resize(latencyBucketSize) -+ } -+ for _, b := range s.errors { -+ b.resize(errorBucketSize) -+ } -+ s.maxSpansPerErrorBucket = errorBucketSize -+ s.mu.Unlock() -+} -+ -+// add adds a span to the active bucket of the spanStore. -+func (s *spanStore) add(span *Span) { -+ s.mu.Lock() -+ s.active[span] = struct{}{} -+ s.mu.Unlock() -+} -+ -+// finished removes a span from the active set, and adds a corresponding -+// SpanData to a latency or error bucket. -+func (s *spanStore) finished(span *Span, sd *SpanData) { -+ latency := sd.EndTime.Sub(sd.StartTime) -+ if latency < 0 { -+ latency = 0 -+ } -+ code := sd.Status.Code -+ -+ s.mu.Lock() -+ delete(s.active, span) -+ if code == 0 { -+ s.latency[latencyBucket(latency)].add(sd) -+ } else { -+ if s.errors == nil { -+ s.errors = make(map[int32]*bucket) -+ } -+ if b := s.errors[code]; b != nil { -+ b.add(sd) -+ } else { -+ b := makeBucket(s.maxSpansPerErrorBucket) -+ s.errors[code] = &b -+ b.add(sd) -+ } -+ } -+ s.mu.Unlock() -+} -diff --git a/vendor/go.opencensus.io/trace/status_codes.go b/vendor/go.opencensus.io/trace/status_codes.go -new file mode 100644 -index 000000000..ec60effd1 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/status_codes.go -@@ -0,0 +1,37 @@ -+// Copyright 2018, OpenCensus Authors -+// -+// 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 trace -+ -+// Status codes for use with Span.SetStatus. These correspond to the status -+// codes used by gRPC defined here: https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto -+const ( -+ StatusCodeOK = 0 -+ StatusCodeCancelled = 1 -+ StatusCodeUnknown = 2 -+ StatusCodeInvalidArgument = 3 -+ StatusCodeDeadlineExceeded = 4 -+ StatusCodeNotFound = 5 -+ StatusCodeAlreadyExists = 6 -+ StatusCodePermissionDenied = 7 -+ StatusCodeResourceExhausted = 8 -+ StatusCodeFailedPrecondition = 9 -+ StatusCodeAborted = 10 -+ StatusCodeOutOfRange = 11 -+ StatusCodeUnimplemented = 12 -+ StatusCodeInternal = 13 -+ StatusCodeUnavailable = 14 -+ StatusCodeDataLoss = 15 -+ StatusCodeUnauthenticated = 16 -+) -diff --git a/vendor/go.opencensus.io/trace/trace.go b/vendor/go.opencensus.io/trace/trace.go -new file mode 100644 -index 000000000..38ead7bf0 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/trace.go -@@ -0,0 +1,598 @@ -+// Copyright 2017, OpenCensus Authors -+// -+// 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 trace -+ -+import ( -+ "context" -+ crand "crypto/rand" -+ "encoding/binary" -+ "fmt" -+ "math/rand" -+ "sync" -+ "sync/atomic" -+ "time" -+ -+ "go.opencensus.io/internal" -+ "go.opencensus.io/trace/tracestate" -+) -+ -+// Span represents a span of a trace. It has an associated SpanContext, and -+// stores data accumulated while the span is active. -+// -+// Ideally users should interact with Spans by calling the functions in this -+// package that take a Context parameter. -+type Span struct { -+ // data contains information recorded about the span. -+ // -+ // It will be non-nil if we are exporting the span or recording events for it. -+ // Otherwise, data is nil, and the Span is simply a carrier for the -+ // SpanContext, so that the trace ID is propagated. -+ data *SpanData -+ mu sync.Mutex // protects the contents of *data (but not the pointer value.) -+ spanContext SpanContext -+ -+ // lruAttributes are capped at configured limit. When the capacity is reached an oldest entry -+ // is removed to create room for a new entry. -+ lruAttributes *lruMap -+ -+ // annotations are stored in FIFO queue capped by configured limit. -+ annotations *evictedQueue -+ -+ // messageEvents are stored in FIFO queue capped by configured limit. -+ messageEvents *evictedQueue -+ -+ // links are stored in FIFO queue capped by configured limit. -+ links *evictedQueue -+ -+ // spanStore is the spanStore this span belongs to, if any, otherwise it is nil. -+ *spanStore -+ endOnce sync.Once -+ -+ executionTracerTaskEnd func() // ends the execution tracer span -+} -+ -+// IsRecordingEvents returns true if events are being recorded for this span. -+// Use this check to avoid computing expensive annotations when they will never -+// be used. -+func (s *Span) IsRecordingEvents() bool { -+ if s == nil { -+ return false -+ } -+ return s.data != nil -+} -+ -+// TraceOptions contains options associated with a trace span. -+type TraceOptions uint32 -+ -+// IsSampled returns true if the span will be exported. -+func (sc SpanContext) IsSampled() bool { -+ return sc.TraceOptions.IsSampled() -+} -+ -+// setIsSampled sets the TraceOptions bit that determines whether the span will be exported. -+func (sc *SpanContext) setIsSampled(sampled bool) { -+ if sampled { -+ sc.TraceOptions |= 1 -+ } else { -+ sc.TraceOptions &= ^TraceOptions(1) -+ } -+} -+ -+// IsSampled returns true if the span will be exported. -+func (t TraceOptions) IsSampled() bool { -+ return t&1 == 1 -+} -+ -+// SpanContext contains the state that must propagate across process boundaries. -+// -+// SpanContext is not an implementation of context.Context. -+// TODO: add reference to external Census docs for SpanContext. -+type SpanContext struct { -+ TraceID TraceID -+ SpanID SpanID -+ TraceOptions TraceOptions -+ Tracestate *tracestate.Tracestate -+} -+ -+type contextKey struct{} -+ -+// FromContext returns the Span stored in a context, or nil if there isn't one. -+func FromContext(ctx context.Context) *Span { -+ s, _ := ctx.Value(contextKey{}).(*Span) -+ return s -+} -+ -+// NewContext returns a new context with the given Span attached. -+func NewContext(parent context.Context, s *Span) context.Context { -+ return context.WithValue(parent, contextKey{}, s) -+} -+ -+// All available span kinds. Span kind must be either one of these values. -+const ( -+ SpanKindUnspecified = iota -+ SpanKindServer -+ SpanKindClient -+) -+ -+// StartOptions contains options concerning how a span is started. -+type StartOptions struct { -+ // Sampler to consult for this Span. If provided, it is always consulted. -+ // -+ // If not provided, then the behavior differs based on whether -+ // the parent of this Span is remote, local, or there is no parent. -+ // In the case of a remote parent or no parent, the -+ // default sampler (see Config) will be consulted. Otherwise, -+ // when there is a non-remote parent, no new sampling decision will be made: -+ // we will preserve the sampling of the parent. -+ Sampler Sampler -+ -+ // SpanKind represents the kind of a span. If none is set, -+ // SpanKindUnspecified is used. -+ SpanKind int -+} -+ -+// StartOption apply changes to StartOptions. -+type StartOption func(*StartOptions) -+ -+// WithSpanKind makes new spans to be created with the given kind. -+func WithSpanKind(spanKind int) StartOption { -+ return func(o *StartOptions) { -+ o.SpanKind = spanKind -+ } -+} -+ -+// WithSampler makes new spans to be be created with a custom sampler. -+// Otherwise, the global sampler is used. -+func WithSampler(sampler Sampler) StartOption { -+ return func(o *StartOptions) { -+ o.Sampler = sampler -+ } -+} -+ -+// StartSpan starts a new child span of the current span in the context. If -+// there is no span in the context, creates a new trace and span. -+// -+// Returned context contains the newly created span. You can use it to -+// propagate the returned span in process. -+func StartSpan(ctx context.Context, name string, o ...StartOption) (context.Context, *Span) { -+ var opts StartOptions -+ var parent SpanContext -+ if p := FromContext(ctx); p != nil { -+ p.addChild() -+ parent = p.spanContext -+ } -+ for _, op := range o { -+ op(&opts) -+ } -+ span := startSpanInternal(name, parent != SpanContext{}, parent, false, opts) -+ -+ ctx, end := startExecutionTracerTask(ctx, name) -+ span.executionTracerTaskEnd = end -+ return NewContext(ctx, span), span -+} -+ -+// StartSpanWithRemoteParent starts a new child span of the span from the given parent. -+// -+// If the incoming context contains a parent, it ignores. StartSpanWithRemoteParent is -+// preferred for cases where the parent is propagated via an incoming request. -+// -+// Returned context contains the newly created span. You can use it to -+// propagate the returned span in process. -+func StartSpanWithRemoteParent(ctx context.Context, name string, parent SpanContext, o ...StartOption) (context.Context, *Span) { -+ var opts StartOptions -+ for _, op := range o { -+ op(&opts) -+ } -+ span := startSpanInternal(name, parent != SpanContext{}, parent, true, opts) -+ ctx, end := startExecutionTracerTask(ctx, name) -+ span.executionTracerTaskEnd = end -+ return NewContext(ctx, span), span -+} -+ -+func startSpanInternal(name string, hasParent bool, parent SpanContext, remoteParent bool, o StartOptions) *Span { -+ span := &Span{} -+ span.spanContext = parent -+ -+ cfg := config.Load().(*Config) -+ -+ if !hasParent { -+ span.spanContext.TraceID = cfg.IDGenerator.NewTraceID() -+ } -+ span.spanContext.SpanID = cfg.IDGenerator.NewSpanID() -+ sampler := cfg.DefaultSampler -+ -+ if !hasParent || remoteParent || o.Sampler != nil { -+ // If this span is the child of a local span and no Sampler is set in the -+ // options, keep the parent's TraceOptions. -+ // -+ // Otherwise, consult the Sampler in the options if it is non-nil, otherwise -+ // the default sampler. -+ if o.Sampler != nil { -+ sampler = o.Sampler -+ } -+ span.spanContext.setIsSampled(sampler(SamplingParameters{ -+ ParentContext: parent, -+ TraceID: span.spanContext.TraceID, -+ SpanID: span.spanContext.SpanID, -+ Name: name, -+ HasRemoteParent: remoteParent}).Sample) -+ } -+ -+ if !internal.LocalSpanStoreEnabled && !span.spanContext.IsSampled() { -+ return span -+ } -+ -+ span.data = &SpanData{ -+ SpanContext: span.spanContext, -+ StartTime: time.Now(), -+ SpanKind: o.SpanKind, -+ Name: name, -+ HasRemoteParent: remoteParent, -+ } -+ span.lruAttributes = newLruMap(cfg.MaxAttributesPerSpan) -+ span.annotations = newEvictedQueue(cfg.MaxAnnotationEventsPerSpan) -+ span.messageEvents = newEvictedQueue(cfg.MaxMessageEventsPerSpan) -+ span.links = newEvictedQueue(cfg.MaxLinksPerSpan) -+ -+ if hasParent { -+ span.data.ParentSpanID = parent.SpanID -+ } -+ if internal.LocalSpanStoreEnabled { -+ var ss *spanStore -+ ss = spanStoreForNameCreateIfNew(name) -+ if ss != nil { -+ span.spanStore = ss -+ ss.add(span) -+ } -+ } -+ -+ return span -+} -+ -+// End ends the span. -+func (s *Span) End() { -+ if s == nil { -+ return -+ } -+ if s.executionTracerTaskEnd != nil { -+ s.executionTracerTaskEnd() -+ } -+ if !s.IsRecordingEvents() { -+ return -+ } -+ s.endOnce.Do(func() { -+ exp, _ := exporters.Load().(exportersMap) -+ mustExport := s.spanContext.IsSampled() && len(exp) > 0 -+ if s.spanStore != nil || mustExport { -+ sd := s.makeSpanData() -+ sd.EndTime = internal.MonotonicEndTime(sd.StartTime) -+ if s.spanStore != nil { -+ s.spanStore.finished(s, sd) -+ } -+ if mustExport { -+ for e := range exp { -+ e.ExportSpan(sd) -+ } -+ } -+ } -+ }) -+} -+ -+// makeSpanData produces a SpanData representing the current state of the Span. -+// It requires that s.data is non-nil. -+func (s *Span) makeSpanData() *SpanData { -+ var sd SpanData -+ s.mu.Lock() -+ sd = *s.data -+ if s.lruAttributes.simpleLruMap.Len() > 0 { -+ sd.Attributes = s.lruAttributesToAttributeMap() -+ sd.DroppedAttributeCount = s.lruAttributes.droppedCount -+ } -+ if len(s.annotations.queue) > 0 { -+ sd.Annotations = s.interfaceArrayToAnnotationArray() -+ sd.DroppedAnnotationCount = s.annotations.droppedCount -+ } -+ if len(s.messageEvents.queue) > 0 { -+ sd.MessageEvents = s.interfaceArrayToMessageEventArray() -+ sd.DroppedMessageEventCount = s.messageEvents.droppedCount -+ } -+ if len(s.links.queue) > 0 { -+ sd.Links = s.interfaceArrayToLinksArray() -+ sd.DroppedLinkCount = s.links.droppedCount -+ } -+ s.mu.Unlock() -+ return &sd -+} -+ -+// SpanContext returns the SpanContext of the span. -+func (s *Span) SpanContext() SpanContext { -+ if s == nil { -+ return SpanContext{} -+ } -+ return s.spanContext -+} -+ -+// SetName sets the name of the span, if it is recording events. -+func (s *Span) SetName(name string) { -+ if !s.IsRecordingEvents() { -+ return -+ } -+ s.mu.Lock() -+ s.data.Name = name -+ s.mu.Unlock() -+} -+ -+// SetStatus sets the status of the span, if it is recording events. -+func (s *Span) SetStatus(status Status) { -+ if !s.IsRecordingEvents() { -+ return -+ } -+ s.mu.Lock() -+ s.data.Status = status -+ s.mu.Unlock() -+} -+ -+func (s *Span) interfaceArrayToLinksArray() []Link { -+ linksArr := make([]Link, 0) -+ for _, value := range s.links.queue { -+ linksArr = append(linksArr, value.(Link)) -+ } -+ return linksArr -+} -+ -+func (s *Span) interfaceArrayToMessageEventArray() []MessageEvent { -+ messageEventArr := make([]MessageEvent, 0) -+ for _, value := range s.messageEvents.queue { -+ messageEventArr = append(messageEventArr, value.(MessageEvent)) -+ } -+ return messageEventArr -+} -+ -+func (s *Span) interfaceArrayToAnnotationArray() []Annotation { -+ annotationArr := make([]Annotation, 0) -+ for _, value := range s.annotations.queue { -+ annotationArr = append(annotationArr, value.(Annotation)) -+ } -+ return annotationArr -+} -+ -+func (s *Span) lruAttributesToAttributeMap() map[string]interface{} { -+ attributes := make(map[string]interface{}) -+ for _, key := range s.lruAttributes.simpleLruMap.Keys() { -+ value, ok := s.lruAttributes.simpleLruMap.Get(key) -+ if ok { -+ keyStr := key.(string) -+ attributes[keyStr] = value -+ } -+ } -+ return attributes -+} -+ -+func (s *Span) copyToCappedAttributes(attributes []Attribute) { -+ for _, a := range attributes { -+ s.lruAttributes.add(a.key, a.value) -+ } -+} -+ -+func (s *Span) addChild() { -+ if !s.IsRecordingEvents() { -+ return -+ } -+ s.mu.Lock() -+ s.data.ChildSpanCount++ -+ s.mu.Unlock() -+} -+ -+// AddAttributes sets attributes in the span. -+// -+// Existing attributes whose keys appear in the attributes parameter are overwritten. -+func (s *Span) AddAttributes(attributes ...Attribute) { -+ if !s.IsRecordingEvents() { -+ return -+ } -+ s.mu.Lock() -+ s.copyToCappedAttributes(attributes) -+ s.mu.Unlock() -+} -+ -+// copyAttributes copies a slice of Attributes into a map. -+func copyAttributes(m map[string]interface{}, attributes []Attribute) { -+ for _, a := range attributes { -+ m[a.key] = a.value -+ } -+} -+ -+func (s *Span) lazyPrintfInternal(attributes []Attribute, format string, a ...interface{}) { -+ now := time.Now() -+ msg := fmt.Sprintf(format, a...) -+ var m map[string]interface{} -+ s.mu.Lock() -+ if len(attributes) != 0 { -+ m = make(map[string]interface{}) -+ copyAttributes(m, attributes) -+ } -+ s.annotations.add(Annotation{ -+ Time: now, -+ Message: msg, -+ Attributes: m, -+ }) -+ s.mu.Unlock() -+} -+ -+func (s *Span) printStringInternal(attributes []Attribute, str string) { -+ now := time.Now() -+ var a map[string]interface{} -+ s.mu.Lock() -+ if len(attributes) != 0 { -+ a = make(map[string]interface{}) -+ copyAttributes(a, attributes) -+ } -+ s.annotations.add(Annotation{ -+ Time: now, -+ Message: str, -+ Attributes: a, -+ }) -+ s.mu.Unlock() -+} -+ -+// Annotate adds an annotation with attributes. -+// Attributes can be nil. -+func (s *Span) Annotate(attributes []Attribute, str string) { -+ if !s.IsRecordingEvents() { -+ return -+ } -+ s.printStringInternal(attributes, str) -+} -+ -+// Annotatef adds an annotation with attributes. -+func (s *Span) Annotatef(attributes []Attribute, format string, a ...interface{}) { -+ if !s.IsRecordingEvents() { -+ return -+ } -+ s.lazyPrintfInternal(attributes, format, a...) -+} -+ -+// AddMessageSendEvent adds a message send event to the span. -+// -+// messageID is an identifier for the message, which is recommended to be -+// unique in this span and the same between the send event and the receive -+// event (this allows to identify a message between the sender and receiver). -+// For example, this could be a sequence id. -+func (s *Span) AddMessageSendEvent(messageID, uncompressedByteSize, compressedByteSize int64) { -+ if !s.IsRecordingEvents() { -+ return -+ } -+ now := time.Now() -+ s.mu.Lock() -+ s.messageEvents.add(MessageEvent{ -+ Time: now, -+ EventType: MessageEventTypeSent, -+ MessageID: messageID, -+ UncompressedByteSize: uncompressedByteSize, -+ CompressedByteSize: compressedByteSize, -+ }) -+ s.mu.Unlock() -+} -+ -+// AddMessageReceiveEvent adds a message receive event to the span. -+// -+// messageID is an identifier for the message, which is recommended to be -+// unique in this span and the same between the send event and the receive -+// event (this allows to identify a message between the sender and receiver). -+// For example, this could be a sequence id. -+func (s *Span) AddMessageReceiveEvent(messageID, uncompressedByteSize, compressedByteSize int64) { -+ if !s.IsRecordingEvents() { -+ return -+ } -+ now := time.Now() -+ s.mu.Lock() -+ s.messageEvents.add(MessageEvent{ -+ Time: now, -+ EventType: MessageEventTypeRecv, -+ MessageID: messageID, -+ UncompressedByteSize: uncompressedByteSize, -+ CompressedByteSize: compressedByteSize, -+ }) -+ s.mu.Unlock() -+} -+ -+// AddLink adds a link to the span. -+func (s *Span) AddLink(l Link) { -+ if !s.IsRecordingEvents() { -+ return -+ } -+ s.mu.Lock() -+ s.links.add(l) -+ s.mu.Unlock() -+} -+ -+func (s *Span) String() string { -+ if s == nil { -+ return "" -+ } -+ if s.data == nil { -+ return fmt.Sprintf("span %s", s.spanContext.SpanID) -+ } -+ s.mu.Lock() -+ str := fmt.Sprintf("span %s %q", s.spanContext.SpanID, s.data.Name) -+ s.mu.Unlock() -+ return str -+} -+ -+var config atomic.Value // access atomically -+ -+func init() { -+ gen := &defaultIDGenerator{} -+ // initialize traceID and spanID generators. -+ var rngSeed int64 -+ for _, p := range []interface{}{ -+ &rngSeed, &gen.traceIDAdd, &gen.nextSpanID, &gen.spanIDInc, -+ } { -+ binary.Read(crand.Reader, binary.LittleEndian, p) -+ } -+ gen.traceIDRand = rand.New(rand.NewSource(rngSeed)) -+ gen.spanIDInc |= 1 -+ -+ config.Store(&Config{ -+ DefaultSampler: ProbabilitySampler(defaultSamplingProbability), -+ IDGenerator: gen, -+ MaxAttributesPerSpan: DefaultMaxAttributesPerSpan, -+ MaxAnnotationEventsPerSpan: DefaultMaxAnnotationEventsPerSpan, -+ MaxMessageEventsPerSpan: DefaultMaxMessageEventsPerSpan, -+ MaxLinksPerSpan: DefaultMaxLinksPerSpan, -+ }) -+} -+ -+type defaultIDGenerator struct { -+ sync.Mutex -+ -+ // Please keep these as the first fields -+ // so that these 8 byte fields will be aligned on addresses -+ // divisible by 8, on both 32-bit and 64-bit machines when -+ // performing atomic increments and accesses. -+ // See: -+ // * https://github.com/census-instrumentation/opencensus-go/issues/587 -+ // * https://github.com/census-instrumentation/opencensus-go/issues/865 -+ // * https://golang.org/pkg/sync/atomic/#pkg-note-BUG -+ nextSpanID uint64 -+ spanIDInc uint64 -+ -+ traceIDAdd [2]uint64 -+ traceIDRand *rand.Rand -+} -+ -+// NewSpanID returns a non-zero span ID from a randomly-chosen sequence. -+func (gen *defaultIDGenerator) NewSpanID() [8]byte { -+ var id uint64 -+ for id == 0 { -+ id = atomic.AddUint64(&gen.nextSpanID, gen.spanIDInc) -+ } -+ var sid [8]byte -+ binary.LittleEndian.PutUint64(sid[:], id) -+ return sid -+} -+ -+// NewTraceID returns a non-zero trace ID from a randomly-chosen sequence. -+// mu should be held while this function is called. -+func (gen *defaultIDGenerator) NewTraceID() [16]byte { -+ var tid [16]byte -+ // Construct the trace ID from two outputs of traceIDRand, with a constant -+ // added to each half for additional entropy. -+ gen.Lock() -+ binary.LittleEndian.PutUint64(tid[0:8], gen.traceIDRand.Uint64()+gen.traceIDAdd[0]) -+ binary.LittleEndian.PutUint64(tid[8:16], gen.traceIDRand.Uint64()+gen.traceIDAdd[1]) -+ gen.Unlock() -+ return tid -+} -diff --git a/vendor/go.opencensus.io/trace/trace_go11.go b/vendor/go.opencensus.io/trace/trace_go11.go -new file mode 100644 -index 000000000..b7d8aaf28 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/trace_go11.go -@@ -0,0 +1,32 @@ -+// Copyright 2018, OpenCensus Authors -+// -+// 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. -+ -+// +build go1.11 -+ -+package trace -+ -+import ( -+ "context" -+ t "runtime/trace" -+) -+ -+func startExecutionTracerTask(ctx context.Context, name string) (context.Context, func()) { -+ if !t.IsEnabled() { -+ // Avoid additional overhead if -+ // runtime/trace is not enabled. -+ return ctx, func() {} -+ } -+ nctx, task := t.NewTask(ctx, name) -+ return nctx, task.End -+} -diff --git a/vendor/go.opencensus.io/trace/trace_nongo11.go b/vendor/go.opencensus.io/trace/trace_nongo11.go -new file mode 100644 -index 000000000..e25419859 ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/trace_nongo11.go -@@ -0,0 +1,25 @@ -+// Copyright 2018, OpenCensus Authors -+// -+// 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. -+ -+// +build !go1.11 -+ -+package trace -+ -+import ( -+ "context" -+) -+ -+func startExecutionTracerTask(ctx context.Context, name string) (context.Context, func()) { -+ return ctx, func() {} -+} -diff --git a/vendor/go.opencensus.io/trace/tracestate/tracestate.go b/vendor/go.opencensus.io/trace/tracestate/tracestate.go -new file mode 100644 -index 000000000..2d6c713eb ---- /dev/null -+++ b/vendor/go.opencensus.io/trace/tracestate/tracestate.go -@@ -0,0 +1,147 @@ -+// Copyright 2018, OpenCensus Authors -+// -+// 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 tracestate implements support for the Tracestate header of the -+// W3C TraceContext propagation format. -+package tracestate -+ -+import ( -+ "fmt" -+ "regexp" -+) -+ -+const ( -+ keyMaxSize = 256 -+ valueMaxSize = 256 -+ maxKeyValuePairs = 32 -+) -+ -+const ( -+ keyWithoutVendorFormat = `[a-z][_0-9a-z\-\*\/]{0,255}` -+ keyWithVendorFormat = `[a-z][_0-9a-z\-\*\/]{0,240}@[a-z][_0-9a-z\-\*\/]{0,13}` -+ keyFormat = `(` + keyWithoutVendorFormat + `)|(` + keyWithVendorFormat + `)` -+ valueFormat = `[\x20-\x2b\x2d-\x3c\x3e-\x7e]{0,255}[\x21-\x2b\x2d-\x3c\x3e-\x7e]` -+) -+ -+var keyValidationRegExp = regexp.MustCompile(`^(` + keyFormat + `)$`) -+var valueValidationRegExp = regexp.MustCompile(`^(` + valueFormat + `)$`) -+ -+// Tracestate represents tracing-system specific context in a list of key-value pairs. Tracestate allows different -+// vendors propagate additional information and inter-operate with their legacy Id formats. -+type Tracestate struct { -+ entries []Entry -+} -+ -+// Entry represents one key-value pair in a list of key-value pair of Tracestate. -+type Entry struct { -+ // Key is an opaque string up to 256 characters printable. It MUST begin with a lowercase letter, -+ // and can only contain lowercase letters a-z, digits 0-9, underscores _, dashes -, asterisks *, and -+ // forward slashes /. -+ Key string -+ -+ // Value is an opaque string up to 256 characters printable ASCII RFC0020 characters (i.e., the -+ // range 0x20 to 0x7E) except comma , and =. -+ Value string -+} -+ -+// Entries returns a slice of Entry. -+func (ts *Tracestate) Entries() []Entry { -+ if ts == nil { -+ return nil -+ } -+ return ts.entries -+} -+ -+func (ts *Tracestate) remove(key string) *Entry { -+ for index, entry := range ts.entries { -+ if entry.Key == key { -+ ts.entries = append(ts.entries[:index], ts.entries[index+1:]...) -+ return &entry -+ } -+ } -+ return nil -+} -+ -+func (ts *Tracestate) add(entries []Entry) error { -+ for _, entry := range entries { -+ ts.remove(entry.Key) -+ } -+ if len(ts.entries)+len(entries) > maxKeyValuePairs { -+ return fmt.Errorf("adding %d key-value pairs to current %d pairs exceeds the limit of %d", -+ len(entries), len(ts.entries), maxKeyValuePairs) -+ } -+ ts.entries = append(entries, ts.entries...) -+ return nil -+} -+ -+func isValid(entry Entry) bool { -+ return keyValidationRegExp.MatchString(entry.Key) && -+ valueValidationRegExp.MatchString(entry.Value) -+} -+ -+func containsDuplicateKey(entries ...Entry) (string, bool) { -+ keyMap := make(map[string]int) -+ for _, entry := range entries { -+ if _, ok := keyMap[entry.Key]; ok { -+ return entry.Key, true -+ } -+ keyMap[entry.Key] = 1 -+ } -+ return "", false -+} -+ -+func areEntriesValid(entries ...Entry) (*Entry, bool) { -+ for _, entry := range entries { -+ if !isValid(entry) { -+ return &entry, false -+ } -+ } -+ return nil, true -+} -+ -+// New creates a Tracestate object from a parent and/or entries (key-value pair). -+// Entries from the parent are copied if present. The entries passed to this function -+// are inserted in front of those copied from the parent. If an entry copied from the -+// parent contains the same key as one of the entry in entries then the entry copied -+// from the parent is removed. See add func. -+// -+// An error is returned with nil Tracestate if -+// 1. one or more entry in entries is invalid. -+// 2. two or more entries in the input entries have the same key. -+// 3. the number of entries combined from the parent and the input entries exceeds maxKeyValuePairs. -+// (duplicate entry is counted only once). -+func New(parent *Tracestate, entries ...Entry) (*Tracestate, error) { -+ if parent == nil && len(entries) == 0 { -+ return nil, nil -+ } -+ if entry, ok := areEntriesValid(entries...); !ok { -+ return nil, fmt.Errorf("key-value pair {%s, %s} is invalid", entry.Key, entry.Value) -+ } -+ -+ if key, duplicate := containsDuplicateKey(entries...); duplicate { -+ return nil, fmt.Errorf("contains duplicate keys (%s)", key) -+ } -+ -+ tracestate := Tracestate{} -+ -+ if parent != nil && len(parent.entries) > 0 { -+ tracestate.entries = append([]Entry{}, parent.entries...) -+ } -+ -+ err := tracestate.add(entries) -+ if err != nil { -+ return nil, err -+ } -+ return &tracestate, nil -+} -diff --git a/vendor/golang.org/x/crypto/ed25519/ed25519.go b/vendor/golang.org/x/crypto/ed25519/ed25519.go -new file mode 100644 -index 000000000..c7f8c7e64 ---- /dev/null -+++ b/vendor/golang.org/x/crypto/ed25519/ed25519.go -@@ -0,0 +1,222 @@ -+// 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. -+ -+// In Go 1.13, the ed25519 package was promoted to the standard library as -+// crypto/ed25519, and this package became a wrapper for the standard library one. -+// -+// +build !go1.13 -+ -+// Package ed25519 implements the Ed25519 signature algorithm. See -+// https://ed25519.cr.yp.to/. -+// -+// These functions are also compatible with the “Ed25519” function defined in -+// RFC 8032. However, unlike RFC 8032's formulation, this package's private key -+// representation includes a public key suffix to make multiple signing -+// operations with the same key more efficient. This package refers to the RFC -+// 8032 private key as the “seed”. -+package ed25519 -+ -+// This code is a port of the public domain, “ref10” implementation of ed25519 -+// from SUPERCOP. -+ -+import ( -+ "bytes" -+ "crypto" -+ cryptorand "crypto/rand" -+ "crypto/sha512" -+ "errors" -+ "io" -+ "strconv" -+ -+ "golang.org/x/crypto/ed25519/internal/edwards25519" -+) -+ -+const ( -+ // PublicKeySize is the size, in bytes, of public keys as used in this package. -+ PublicKeySize = 32 -+ // PrivateKeySize is the size, in bytes, of private keys as used in this package. -+ PrivateKeySize = 64 -+ // SignatureSize is the size, in bytes, of signatures generated and verified by this package. -+ SignatureSize = 64 -+ // SeedSize is the size, in bytes, of private key seeds. These are the private key representations used by RFC 8032. -+ SeedSize = 32 -+) -+ -+// PublicKey is the type of Ed25519 public keys. -+type PublicKey []byte -+ -+// PrivateKey is the type of Ed25519 private keys. It implements crypto.Signer. -+type PrivateKey []byte -+ -+// Public returns the PublicKey corresponding to priv. -+func (priv PrivateKey) Public() crypto.PublicKey { -+ publicKey := make([]byte, PublicKeySize) -+ copy(publicKey, priv[32:]) -+ return PublicKey(publicKey) -+} -+ -+// Seed returns the private key seed corresponding to priv. It is provided for -+// interoperability with RFC 8032. RFC 8032's private keys correspond to seeds -+// in this package. -+func (priv PrivateKey) Seed() []byte { -+ seed := make([]byte, SeedSize) -+ copy(seed, priv[:32]) -+ return seed -+} -+ -+// Sign signs the given message with priv. -+// Ed25519 performs two passes over messages to be signed and therefore cannot -+// handle pre-hashed messages. Thus opts.HashFunc() must return zero to -+// indicate the message hasn't been hashed. This can be achieved by passing -+// crypto.Hash(0) as the value for opts. -+func (priv PrivateKey) Sign(rand io.Reader, message []byte, opts crypto.SignerOpts) (signature []byte, err error) { -+ if opts.HashFunc() != crypto.Hash(0) { -+ return nil, errors.New("ed25519: cannot sign hashed message") -+ } -+ -+ return Sign(priv, message), nil -+} -+ -+// GenerateKey generates a public/private key pair using entropy from rand. -+// If rand is nil, crypto/rand.Reader will be used. -+func GenerateKey(rand io.Reader) (PublicKey, PrivateKey, error) { -+ if rand == nil { -+ rand = cryptorand.Reader -+ } -+ -+ seed := make([]byte, SeedSize) -+ if _, err := io.ReadFull(rand, seed); err != nil { -+ return nil, nil, err -+ } -+ -+ privateKey := NewKeyFromSeed(seed) -+ publicKey := make([]byte, PublicKeySize) -+ copy(publicKey, privateKey[32:]) -+ -+ return publicKey, privateKey, nil -+} -+ -+// NewKeyFromSeed calculates a private key from a seed. It will panic if -+// len(seed) is not SeedSize. This function is provided for interoperability -+// with RFC 8032. RFC 8032's private keys correspond to seeds in this -+// package. -+func NewKeyFromSeed(seed []byte) PrivateKey { -+ if l := len(seed); l != SeedSize { -+ panic("ed25519: bad seed length: " + strconv.Itoa(l)) -+ } -+ -+ digest := sha512.Sum512(seed) -+ digest[0] &= 248 -+ digest[31] &= 127 -+ digest[31] |= 64 -+ -+ var A edwards25519.ExtendedGroupElement -+ var hBytes [32]byte -+ copy(hBytes[:], digest[:]) -+ edwards25519.GeScalarMultBase(&A, &hBytes) -+ var publicKeyBytes [32]byte -+ A.ToBytes(&publicKeyBytes) -+ -+ privateKey := make([]byte, PrivateKeySize) -+ copy(privateKey, seed) -+ copy(privateKey[32:], publicKeyBytes[:]) -+ -+ return privateKey -+} -+ -+// Sign signs the message with privateKey and returns a signature. It will -+// panic if len(privateKey) is not PrivateKeySize. -+func Sign(privateKey PrivateKey, message []byte) []byte { -+ if l := len(privateKey); l != PrivateKeySize { -+ panic("ed25519: bad private key length: " + strconv.Itoa(l)) -+ } -+ -+ h := sha512.New() -+ h.Write(privateKey[:32]) -+ -+ var digest1, messageDigest, hramDigest [64]byte -+ var expandedSecretKey [32]byte -+ h.Sum(digest1[:0]) -+ copy(expandedSecretKey[:], digest1[:]) -+ expandedSecretKey[0] &= 248 -+ expandedSecretKey[31] &= 63 -+ expandedSecretKey[31] |= 64 -+ -+ h.Reset() -+ h.Write(digest1[32:]) -+ h.Write(message) -+ h.Sum(messageDigest[:0]) -+ -+ var messageDigestReduced [32]byte -+ edwards25519.ScReduce(&messageDigestReduced, &messageDigest) -+ var R edwards25519.ExtendedGroupElement -+ edwards25519.GeScalarMultBase(&R, &messageDigestReduced) -+ -+ var encodedR [32]byte -+ R.ToBytes(&encodedR) -+ -+ h.Reset() -+ h.Write(encodedR[:]) -+ h.Write(privateKey[32:]) -+ h.Write(message) -+ h.Sum(hramDigest[:0]) -+ var hramDigestReduced [32]byte -+ edwards25519.ScReduce(&hramDigestReduced, &hramDigest) -+ -+ var s [32]byte -+ edwards25519.ScMulAdd(&s, &hramDigestReduced, &expandedSecretKey, &messageDigestReduced) -+ -+ signature := make([]byte, SignatureSize) -+ copy(signature[:], encodedR[:]) -+ copy(signature[32:], s[:]) -+ -+ return signature -+} -+ -+// Verify reports whether sig is a valid signature of message by publicKey. It -+// will panic if len(publicKey) is not PublicKeySize. -+func Verify(publicKey PublicKey, message, sig []byte) bool { -+ if l := len(publicKey); l != PublicKeySize { -+ panic("ed25519: bad public key length: " + strconv.Itoa(l)) -+ } -+ -+ if len(sig) != SignatureSize || sig[63]&224 != 0 { -+ return false -+ } -+ -+ var A edwards25519.ExtendedGroupElement -+ var publicKeyBytes [32]byte -+ copy(publicKeyBytes[:], publicKey) -+ if !A.FromBytes(&publicKeyBytes) { -+ return false -+ } -+ edwards25519.FeNeg(&A.X, &A.X) -+ edwards25519.FeNeg(&A.T, &A.T) -+ -+ h := sha512.New() -+ h.Write(sig[:32]) -+ h.Write(publicKey[:]) -+ h.Write(message) -+ var digest [64]byte -+ h.Sum(digest[:0]) -+ -+ var hReduced [32]byte -+ edwards25519.ScReduce(&hReduced, &digest) -+ -+ var R edwards25519.ProjectiveGroupElement -+ var s [32]byte -+ copy(s[:], sig[32:]) -+ -+ // https://tools.ietf.org/html/rfc8032#section-5.1.7 requires that s be in -+ // the range [0, order) in order to prevent signature malleability. -+ if !edwards25519.ScMinimal(&s) { -+ return false -+ } -+ -+ edwards25519.GeDoubleScalarMultVartime(&R, &hReduced, &A, &s) -+ -+ var checkR [32]byte -+ R.ToBytes(&checkR) -+ return bytes.Equal(sig[:32], checkR[:]) -+} -diff --git a/vendor/golang.org/x/crypto/ed25519/ed25519_go113.go b/vendor/golang.org/x/crypto/ed25519/ed25519_go113.go -new file mode 100644 -index 000000000..d1448d8d2 ---- /dev/null -+++ b/vendor/golang.org/x/crypto/ed25519/ed25519_go113.go -@@ -0,0 +1,73 @@ -+// 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 go1.13 -+ -+// Package ed25519 implements the Ed25519 signature algorithm. See -+// https://ed25519.cr.yp.to/. -+// -+// These functions are also compatible with the “Ed25519” function defined in -+// RFC 8032. However, unlike RFC 8032's formulation, this package's private key -+// representation includes a public key suffix to make multiple signing -+// operations with the same key more efficient. This package refers to the RFC -+// 8032 private key as the “seed”. -+// -+// Beginning with Go 1.13, the functionality of this package was moved to the -+// standard library as crypto/ed25519. This package only acts as a compatibility -+// wrapper. -+package ed25519 -+ -+import ( -+ "crypto/ed25519" -+ "io" -+) -+ -+const ( -+ // PublicKeySize is the size, in bytes, of public keys as used in this package. -+ PublicKeySize = 32 -+ // PrivateKeySize is the size, in bytes, of private keys as used in this package. -+ PrivateKeySize = 64 -+ // SignatureSize is the size, in bytes, of signatures generated and verified by this package. -+ SignatureSize = 64 -+ // SeedSize is the size, in bytes, of private key seeds. These are the private key representations used by RFC 8032. -+ SeedSize = 32 -+) -+ -+// PublicKey is the type of Ed25519 public keys. -+// -+// This type is an alias for crypto/ed25519's PublicKey type. -+// See the crypto/ed25519 package for the methods on this type. -+type PublicKey = ed25519.PublicKey -+ -+// PrivateKey is the type of Ed25519 private keys. It implements crypto.Signer. -+// -+// This type is an alias for crypto/ed25519's PrivateKey type. -+// See the crypto/ed25519 package for the methods on this type. -+type PrivateKey = ed25519.PrivateKey -+ -+// GenerateKey generates a public/private key pair using entropy from rand. -+// If rand is nil, crypto/rand.Reader will be used. -+func GenerateKey(rand io.Reader) (PublicKey, PrivateKey, error) { -+ return ed25519.GenerateKey(rand) -+} -+ -+// NewKeyFromSeed calculates a private key from a seed. It will panic if -+// len(seed) is not SeedSize. This function is provided for interoperability -+// with RFC 8032. RFC 8032's private keys correspond to seeds in this -+// package. -+func NewKeyFromSeed(seed []byte) PrivateKey { -+ return ed25519.NewKeyFromSeed(seed) -+} -+ -+// Sign signs the message with privateKey and returns a signature. It will -+// panic if len(privateKey) is not PrivateKeySize. -+func Sign(privateKey PrivateKey, message []byte) []byte { -+ return ed25519.Sign(privateKey, message) -+} -+ -+// Verify reports whether sig is a valid signature of message by publicKey. It -+// will panic if len(publicKey) is not PublicKeySize. -+func Verify(publicKey PublicKey, message, sig []byte) bool { -+ return ed25519.Verify(publicKey, message, sig) -+} -diff --git a/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/const.go b/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/const.go -new file mode 100644 -index 000000000..e39f086c1 ---- /dev/null -+++ b/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/const.go -@@ -0,0 +1,1422 @@ -+// 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 edwards25519 -+ -+// These values are from the public domain, “ref10” implementation of ed25519 -+// from SUPERCOP. -+ -+// d is a constant in the Edwards curve equation. -+var d = FieldElement{ -+ -10913610, 13857413, -15372611, 6949391, 114729, -8787816, -6275908, -3247719, -18696448, -12055116, -+} -+ -+// d2 is 2*d. -+var d2 = FieldElement{ -+ -21827239, -5839606, -30745221, 13898782, 229458, 15978800, -12551817, -6495438, 29715968, 9444199, -+} -+ -+// SqrtM1 is the square-root of -1 in the field. -+var SqrtM1 = FieldElement{ -+ -32595792, -7943725, 9377950, 3500415, 12389472, -272473, -25146209, -2005654, 326686, 11406482, -+} -+ -+// A is a constant in the Montgomery-form of curve25519. -+var A = FieldElement{ -+ 486662, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+} -+ -+// bi contains precomputed multiples of the base-point. See the Ed25519 paper -+// for a discussion about how these values are used. -+var bi = [8]PreComputedGroupElement{ -+ { -+ FieldElement{25967493, -14356035, 29566456, 3660896, -12694345, 4014787, 27544626, -11754271, -6079156, 2047605}, -+ FieldElement{-12545711, 934262, -2722910, 3049990, -727428, 9406986, 12720692, 5043384, 19500929, -15469378}, -+ FieldElement{-8738181, 4489570, 9688441, -14785194, 10184609, -12363380, 29287919, 11864899, -24514362, -4438546}, -+ }, -+ { -+ FieldElement{15636291, -9688557, 24204773, -7912398, 616977, -16685262, 27787600, -14772189, 28944400, -1550024}, -+ FieldElement{16568933, 4717097, -11556148, -1102322, 15682896, -11807043, 16354577, -11775962, 7689662, 11199574}, -+ FieldElement{30464156, -5976125, -11779434, -15670865, 23220365, 15915852, 7512774, 10017326, -17749093, -9920357}, -+ }, -+ { -+ FieldElement{10861363, 11473154, 27284546, 1981175, -30064349, 12577861, 32867885, 14515107, -15438304, 10819380}, -+ FieldElement{4708026, 6336745, 20377586, 9066809, -11272109, 6594696, -25653668, 12483688, -12668491, 5581306}, -+ FieldElement{19563160, 16186464, -29386857, 4097519, 10237984, -4348115, 28542350, 13850243, -23678021, -15815942}, -+ }, -+ { -+ FieldElement{5153746, 9909285, 1723747, -2777874, 30523605, 5516873, 19480852, 5230134, -23952439, -15175766}, -+ FieldElement{-30269007, -3463509, 7665486, 10083793, 28475525, 1649722, 20654025, 16520125, 30598449, 7715701}, -+ FieldElement{28881845, 14381568, 9657904, 3680757, -20181635, 7843316, -31400660, 1370708, 29794553, -1409300}, -+ }, -+ { -+ FieldElement{-22518993, -6692182, 14201702, -8745502, -23510406, 8844726, 18474211, -1361450, -13062696, 13821877}, -+ FieldElement{-6455177, -7839871, 3374702, -4740862, -27098617, -10571707, 31655028, -7212327, 18853322, -14220951}, -+ FieldElement{4566830, -12963868, -28974889, -12240689, -7602672, -2830569, -8514358, -10431137, 2207753, -3209784}, -+ }, -+ { -+ FieldElement{-25154831, -4185821, 29681144, 7868801, -6854661, -9423865, -12437364, -663000, -31111463, -16132436}, -+ FieldElement{25576264, -2703214, 7349804, -11814844, 16472782, 9300885, 3844789, 15725684, 171356, 6466918}, -+ FieldElement{23103977, 13316479, 9739013, -16149481, 817875, -15038942, 8965339, -14088058, -30714912, 16193877}, -+ }, -+ { -+ FieldElement{-33521811, 3180713, -2394130, 14003687, -16903474, -16270840, 17238398, 4729455, -18074513, 9256800}, -+ FieldElement{-25182317, -4174131, 32336398, 5036987, -21236817, 11360617, 22616405, 9761698, -19827198, 630305}, -+ FieldElement{-13720693, 2639453, -24237460, -7406481, 9494427, -5774029, -6554551, -15960994, -2449256, -14291300}, -+ }, -+ { -+ FieldElement{-3151181, -5046075, 9282714, 6866145, -31907062, -863023, -18940575, 15033784, 25105118, -7894876}, -+ FieldElement{-24326370, 15950226, -31801215, -14592823, -11662737, -5090925, 1573892, -2625887, 2198790, -15804619}, -+ FieldElement{-3099351, 10324967, -2241613, 7453183, -5446979, -2735503, -13812022, -16236442, -32461234, -12290683}, -+ }, -+} -+ -+// base contains precomputed multiples of the base-point. See the Ed25519 paper -+// for a discussion about how these values are used. -+var base = [32][8]PreComputedGroupElement{ -+ { -+ { -+ FieldElement{25967493, -14356035, 29566456, 3660896, -12694345, 4014787, 27544626, -11754271, -6079156, 2047605}, -+ FieldElement{-12545711, 934262, -2722910, 3049990, -727428, 9406986, 12720692, 5043384, 19500929, -15469378}, -+ FieldElement{-8738181, 4489570, 9688441, -14785194, 10184609, -12363380, 29287919, 11864899, -24514362, -4438546}, -+ }, -+ { -+ FieldElement{-12815894, -12976347, -21581243, 11784320, -25355658, -2750717, -11717903, -3814571, -358445, -10211303}, -+ FieldElement{-21703237, 6903825, 27185491, 6451973, -29577724, -9554005, -15616551, 11189268, -26829678, -5319081}, -+ FieldElement{26966642, 11152617, 32442495, 15396054, 14353839, -12752335, -3128826, -9541118, -15472047, -4166697}, -+ }, -+ { -+ FieldElement{15636291, -9688557, 24204773, -7912398, 616977, -16685262, 27787600, -14772189, 28944400, -1550024}, -+ FieldElement{16568933, 4717097, -11556148, -1102322, 15682896, -11807043, 16354577, -11775962, 7689662, 11199574}, -+ FieldElement{30464156, -5976125, -11779434, -15670865, 23220365, 15915852, 7512774, 10017326, -17749093, -9920357}, -+ }, -+ { -+ FieldElement{-17036878, 13921892, 10945806, -6033431, 27105052, -16084379, -28926210, 15006023, 3284568, -6276540}, -+ FieldElement{23599295, -8306047, -11193664, -7687416, 13236774, 10506355, 7464579, 9656445, 13059162, 10374397}, -+ FieldElement{7798556, 16710257, 3033922, 2874086, 28997861, 2835604, 32406664, -3839045, -641708, -101325}, -+ }, -+ { -+ FieldElement{10861363, 11473154, 27284546, 1981175, -30064349, 12577861, 32867885, 14515107, -15438304, 10819380}, -+ FieldElement{4708026, 6336745, 20377586, 9066809, -11272109, 6594696, -25653668, 12483688, -12668491, 5581306}, -+ FieldElement{19563160, 16186464, -29386857, 4097519, 10237984, -4348115, 28542350, 13850243, -23678021, -15815942}, -+ }, -+ { -+ FieldElement{-15371964, -12862754, 32573250, 4720197, -26436522, 5875511, -19188627, -15224819, -9818940, -12085777}, -+ FieldElement{-8549212, 109983, 15149363, 2178705, 22900618, 4543417, 3044240, -15689887, 1762328, 14866737}, -+ FieldElement{-18199695, -15951423, -10473290, 1707278, -17185920, 3916101, -28236412, 3959421, 27914454, 4383652}, -+ }, -+ { -+ FieldElement{5153746, 9909285, 1723747, -2777874, 30523605, 5516873, 19480852, 5230134, -23952439, -15175766}, -+ FieldElement{-30269007, -3463509, 7665486, 10083793, 28475525, 1649722, 20654025, 16520125, 30598449, 7715701}, -+ FieldElement{28881845, 14381568, 9657904, 3680757, -20181635, 7843316, -31400660, 1370708, 29794553, -1409300}, -+ }, -+ { -+ FieldElement{14499471, -2729599, -33191113, -4254652, 28494862, 14271267, 30290735, 10876454, -33154098, 2381726}, -+ FieldElement{-7195431, -2655363, -14730155, 462251, -27724326, 3941372, -6236617, 3696005, -32300832, 15351955}, -+ FieldElement{27431194, 8222322, 16448760, -3907995, -18707002, 11938355, -32961401, -2970515, 29551813, 10109425}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-13657040, -13155431, -31283750, 11777098, 21447386, 6519384, -2378284, -1627556, 10092783, -4764171}, -+ FieldElement{27939166, 14210322, 4677035, 16277044, -22964462, -12398139, -32508754, 12005538, -17810127, 12803510}, -+ FieldElement{17228999, -15661624, -1233527, 300140, -1224870, -11714777, 30364213, -9038194, 18016357, 4397660}, -+ }, -+ { -+ FieldElement{-10958843, -7690207, 4776341, -14954238, 27850028, -15602212, -26619106, 14544525, -17477504, 982639}, -+ FieldElement{29253598, 15796703, -2863982, -9908884, 10057023, 3163536, 7332899, -4120128, -21047696, 9934963}, -+ FieldElement{5793303, 16271923, -24131614, -10116404, 29188560, 1206517, -14747930, 4559895, -30123922, -10897950}, -+ }, -+ { -+ FieldElement{-27643952, -11493006, 16282657, -11036493, 28414021, -15012264, 24191034, 4541697, -13338309, 5500568}, -+ FieldElement{12650548, -1497113, 9052871, 11355358, -17680037, -8400164, -17430592, 12264343, 10874051, 13524335}, -+ FieldElement{25556948, -3045990, 714651, 2510400, 23394682, -10415330, 33119038, 5080568, -22528059, 5376628}, -+ }, -+ { -+ FieldElement{-26088264, -4011052, -17013699, -3537628, -6726793, 1920897, -22321305, -9447443, 4535768, 1569007}, -+ FieldElement{-2255422, 14606630, -21692440, -8039818, 28430649, 8775819, -30494562, 3044290, 31848280, 12543772}, -+ FieldElement{-22028579, 2943893, -31857513, 6777306, 13784462, -4292203, -27377195, -2062731, 7718482, 14474653}, -+ }, -+ { -+ FieldElement{2385315, 2454213, -22631320, 46603, -4437935, -15680415, 656965, -7236665, 24316168, -5253567}, -+ FieldElement{13741529, 10911568, -33233417, -8603737, -20177830, -1033297, 33040651, -13424532, -20729456, 8321686}, -+ FieldElement{21060490, -2212744, 15712757, -4336099, 1639040, 10656336, 23845965, -11874838, -9984458, 608372}, -+ }, -+ { -+ FieldElement{-13672732, -15087586, -10889693, -7557059, -6036909, 11305547, 1123968, -6780577, 27229399, 23887}, -+ FieldElement{-23244140, -294205, -11744728, 14712571, -29465699, -2029617, 12797024, -6440308, -1633405, 16678954}, -+ FieldElement{-29500620, 4770662, -16054387, 14001338, 7830047, 9564805, -1508144, -4795045, -17169265, 4904953}, -+ }, -+ { -+ FieldElement{24059557, 14617003, 19037157, -15039908, 19766093, -14906429, 5169211, 16191880, 2128236, -4326833}, -+ FieldElement{-16981152, 4124966, -8540610, -10653797, 30336522, -14105247, -29806336, 916033, -6882542, -2986532}, -+ FieldElement{-22630907, 12419372, -7134229, -7473371, -16478904, 16739175, 285431, 2763829, 15736322, 4143876}, -+ }, -+ { -+ FieldElement{2379352, 11839345, -4110402, -5988665, 11274298, 794957, 212801, -14594663, 23527084, -16458268}, -+ FieldElement{33431127, -11130478, -17838966, -15626900, 8909499, 8376530, -32625340, 4087881, -15188911, -14416214}, -+ FieldElement{1767683, 7197987, -13205226, -2022635, -13091350, 448826, 5799055, 4357868, -4774191, -16323038}, -+ }, -+ }, -+ { -+ { -+ FieldElement{6721966, 13833823, -23523388, -1551314, 26354293, -11863321, 23365147, -3949732, 7390890, 2759800}, -+ FieldElement{4409041, 2052381, 23373853, 10530217, 7676779, -12885954, 21302353, -4264057, 1244380, -12919645}, -+ FieldElement{-4421239, 7169619, 4982368, -2957590, 30256825, -2777540, 14086413, 9208236, 15886429, 16489664}, -+ }, -+ { -+ FieldElement{1996075, 10375649, 14346367, 13311202, -6874135, -16438411, -13693198, 398369, -30606455, -712933}, -+ FieldElement{-25307465, 9795880, -2777414, 14878809, -33531835, 14780363, 13348553, 12076947, -30836462, 5113182}, -+ FieldElement{-17770784, 11797796, 31950843, 13929123, -25888302, 12288344, -30341101, -7336386, 13847711, 5387222}, -+ }, -+ { -+ FieldElement{-18582163, -3416217, 17824843, -2340966, 22744343, -10442611, 8763061, 3617786, -19600662, 10370991}, -+ FieldElement{20246567, -14369378, 22358229, -543712, 18507283, -10413996, 14554437, -8746092, 32232924, 16763880}, -+ FieldElement{9648505, 10094563, 26416693, 14745928, -30374318, -6472621, 11094161, 15689506, 3140038, -16510092}, -+ }, -+ { -+ FieldElement{-16160072, 5472695, 31895588, 4744994, 8823515, 10365685, -27224800, 9448613, -28774454, 366295}, -+ FieldElement{19153450, 11523972, -11096490, -6503142, -24647631, 5420647, 28344573, 8041113, 719605, 11671788}, -+ FieldElement{8678025, 2694440, -6808014, 2517372, 4964326, 11152271, -15432916, -15266516, 27000813, -10195553}, -+ }, -+ { -+ FieldElement{-15157904, 7134312, 8639287, -2814877, -7235688, 10421742, 564065, 5336097, 6750977, -14521026}, -+ FieldElement{11836410, -3979488, 26297894, 16080799, 23455045, 15735944, 1695823, -8819122, 8169720, 16220347}, -+ FieldElement{-18115838, 8653647, 17578566, -6092619, -8025777, -16012763, -11144307, -2627664, -5990708, -14166033}, -+ }, -+ { -+ FieldElement{-23308498, -10968312, 15213228, -10081214, -30853605, -11050004, 27884329, 2847284, 2655861, 1738395}, -+ FieldElement{-27537433, -14253021, -25336301, -8002780, -9370762, 8129821, 21651608, -3239336, -19087449, -11005278}, -+ FieldElement{1533110, 3437855, 23735889, 459276, 29970501, 11335377, 26030092, 5821408, 10478196, 8544890}, -+ }, -+ { -+ FieldElement{32173121, -16129311, 24896207, 3921497, 22579056, -3410854, 19270449, 12217473, 17789017, -3395995}, -+ FieldElement{-30552961, -2228401, -15578829, -10147201, 13243889, 517024, 15479401, -3853233, 30460520, 1052596}, -+ FieldElement{-11614875, 13323618, 32618793, 8175907, -15230173, 12596687, 27491595, -4612359, 3179268, -9478891}, -+ }, -+ { -+ FieldElement{31947069, -14366651, -4640583, -15339921, -15125977, -6039709, -14756777, -16411740, 19072640, -9511060}, -+ FieldElement{11685058, 11822410, 3158003, -13952594, 33402194, -4165066, 5977896, -5215017, 473099, 5040608}, -+ FieldElement{-20290863, 8198642, -27410132, 11602123, 1290375, -2799760, 28326862, 1721092, -19558642, -3131606}, -+ }, -+ }, -+ { -+ { -+ FieldElement{7881532, 10687937, 7578723, 7738378, -18951012, -2553952, 21820786, 8076149, -27868496, 11538389}, -+ FieldElement{-19935666, 3899861, 18283497, -6801568, -15728660, -11249211, 8754525, 7446702, -5676054, 5797016}, -+ FieldElement{-11295600, -3793569, -15782110, -7964573, 12708869, -8456199, 2014099, -9050574, -2369172, -5877341}, -+ }, -+ { -+ FieldElement{-22472376, -11568741, -27682020, 1146375, 18956691, 16640559, 1192730, -3714199, 15123619, 10811505}, -+ FieldElement{14352098, -3419715, -18942044, 10822655, 32750596, 4699007, -70363, 15776356, -28886779, -11974553}, -+ FieldElement{-28241164, -8072475, -4978962, -5315317, 29416931, 1847569, -20654173, -16484855, 4714547, -9600655}, -+ }, -+ { -+ FieldElement{15200332, 8368572, 19679101, 15970074, -31872674, 1959451, 24611599, -4543832, -11745876, 12340220}, -+ FieldElement{12876937, -10480056, 33134381, 6590940, -6307776, 14872440, 9613953, 8241152, 15370987, 9608631}, -+ FieldElement{-4143277, -12014408, 8446281, -391603, 4407738, 13629032, -7724868, 15866074, -28210621, -8814099}, -+ }, -+ { -+ FieldElement{26660628, -15677655, 8393734, 358047, -7401291, 992988, -23904233, 858697, 20571223, 8420556}, -+ FieldElement{14620715, 13067227, -15447274, 8264467, 14106269, 15080814, 33531827, 12516406, -21574435, -12476749}, -+ FieldElement{236881, 10476226, 57258, -14677024, 6472998, 2466984, 17258519, 7256740, 8791136, 15069930}, -+ }, -+ { -+ FieldElement{1276410, -9371918, 22949635, -16322807, -23493039, -5702186, 14711875, 4874229, -30663140, -2331391}, -+ FieldElement{5855666, 4990204, -13711848, 7294284, -7804282, 1924647, -1423175, -7912378, -33069337, 9234253}, -+ FieldElement{20590503, -9018988, 31529744, -7352666, -2706834, 10650548, 31559055, -11609587, 18979186, 13396066}, -+ }, -+ { -+ FieldElement{24474287, 4968103, 22267082, 4407354, 24063882, -8325180, -18816887, 13594782, 33514650, 7021958}, -+ FieldElement{-11566906, -6565505, -21365085, 15928892, -26158305, 4315421, -25948728, -3916677, -21480480, 12868082}, -+ FieldElement{-28635013, 13504661, 19988037, -2132761, 21078225, 6443208, -21446107, 2244500, -12455797, -8089383}, -+ }, -+ { -+ FieldElement{-30595528, 13793479, -5852820, 319136, -25723172, -6263899, 33086546, 8957937, -15233648, 5540521}, -+ FieldElement{-11630176, -11503902, -8119500, -7643073, 2620056, 1022908, -23710744, -1568984, -16128528, -14962807}, -+ FieldElement{23152971, 775386, 27395463, 14006635, -9701118, 4649512, 1689819, 892185, -11513277, -15205948}, -+ }, -+ { -+ FieldElement{9770129, 9586738, 26496094, 4324120, 1556511, -3550024, 27453819, 4763127, -19179614, 5867134}, -+ FieldElement{-32765025, 1927590, 31726409, -4753295, 23962434, -16019500, 27846559, 5931263, -29749703, -16108455}, -+ FieldElement{27461885, -2977536, 22380810, 1815854, -23033753, -3031938, 7283490, -15148073, -19526700, 7734629}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-8010264, -9590817, -11120403, 6196038, 29344158, -13430885, 7585295, -3176626, 18549497, 15302069}, -+ FieldElement{-32658337, -6171222, -7672793, -11051681, 6258878, 13504381, 10458790, -6418461, -8872242, 8424746}, -+ FieldElement{24687205, 8613276, -30667046, -3233545, 1863892, -1830544, 19206234, 7134917, -11284482, -828919}, -+ }, -+ { -+ FieldElement{11334899, -9218022, 8025293, 12707519, 17523892, -10476071, 10243738, -14685461, -5066034, 16498837}, -+ FieldElement{8911542, 6887158, -9584260, -6958590, 11145641, -9543680, 17303925, -14124238, 6536641, 10543906}, -+ FieldElement{-28946384, 15479763, -17466835, 568876, -1497683, 11223454, -2669190, -16625574, -27235709, 8876771}, -+ }, -+ { -+ FieldElement{-25742899, -12566864, -15649966, -846607, -33026686, -796288, -33481822, 15824474, -604426, -9039817}, -+ FieldElement{10330056, 70051, 7957388, -9002667, 9764902, 15609756, 27698697, -4890037, 1657394, 3084098}, -+ FieldElement{10477963, -7470260, 12119566, -13250805, 29016247, -5365589, 31280319, 14396151, -30233575, 15272409}, -+ }, -+ { -+ FieldElement{-12288309, 3169463, 28813183, 16658753, 25116432, -5630466, -25173957, -12636138, -25014757, 1950504}, -+ FieldElement{-26180358, 9489187, 11053416, -14746161, -31053720, 5825630, -8384306, -8767532, 15341279, 8373727}, -+ FieldElement{28685821, 7759505, -14378516, -12002860, -31971820, 4079242, 298136, -10232602, -2878207, 15190420}, -+ }, -+ { -+ FieldElement{-32932876, 13806336, -14337485, -15794431, -24004620, 10940928, 8669718, 2742393, -26033313, -6875003}, -+ FieldElement{-1580388, -11729417, -25979658, -11445023, -17411874, -10912854, 9291594, -16247779, -12154742, 6048605}, -+ FieldElement{-30305315, 14843444, 1539301, 11864366, 20201677, 1900163, 13934231, 5128323, 11213262, 9168384}, -+ }, -+ { -+ FieldElement{-26280513, 11007847, 19408960, -940758, -18592965, -4328580, -5088060, -11105150, 20470157, -16398701}, -+ FieldElement{-23136053, 9282192, 14855179, -15390078, -7362815, -14408560, -22783952, 14461608, 14042978, 5230683}, -+ FieldElement{29969567, -2741594, -16711867, -8552442, 9175486, -2468974, 21556951, 3506042, -5933891, -12449708}, -+ }, -+ { -+ FieldElement{-3144746, 8744661, 19704003, 4581278, -20430686, 6830683, -21284170, 8971513, -28539189, 15326563}, -+ FieldElement{-19464629, 10110288, -17262528, -3503892, -23500387, 1355669, -15523050, 15300988, -20514118, 9168260}, -+ FieldElement{-5353335, 4488613, -23803248, 16314347, 7780487, -15638939, -28948358, 9601605, 33087103, -9011387}, -+ }, -+ { -+ FieldElement{-19443170, -15512900, -20797467, -12445323, -29824447, 10229461, -27444329, -15000531, -5996870, 15664672}, -+ FieldElement{23294591, -16632613, -22650781, -8470978, 27844204, 11461195, 13099750, -2460356, 18151676, 13417686}, -+ FieldElement{-24722913, -4176517, -31150679, 5988919, -26858785, 6685065, 1661597, -12551441, 15271676, -15452665}, -+ }, -+ }, -+ { -+ { -+ FieldElement{11433042, -13228665, 8239631, -5279517, -1985436, -725718, -18698764, 2167544, -6921301, -13440182}, -+ FieldElement{-31436171, 15575146, 30436815, 12192228, -22463353, 9395379, -9917708, -8638997, 12215110, 12028277}, -+ FieldElement{14098400, 6555944, 23007258, 5757252, -15427832, -12950502, 30123440, 4617780, -16900089, -655628}, -+ }, -+ { -+ FieldElement{-4026201, -15240835, 11893168, 13718664, -14809462, 1847385, -15819999, 10154009, 23973261, -12684474}, -+ FieldElement{-26531820, -3695990, -1908898, 2534301, -31870557, -16550355, 18341390, -11419951, 32013174, -10103539}, -+ FieldElement{-25479301, 10876443, -11771086, -14625140, -12369567, 1838104, 21911214, 6354752, 4425632, -837822}, -+ }, -+ { -+ FieldElement{-10433389, -14612966, 22229858, -3091047, -13191166, 776729, -17415375, -12020462, 4725005, 14044970}, -+ FieldElement{19268650, -7304421, 1555349, 8692754, -21474059, -9910664, 6347390, -1411784, -19522291, -16109756}, -+ FieldElement{-24864089, 12986008, -10898878, -5558584, -11312371, -148526, 19541418, 8180106, 9282262, 10282508}, -+ }, -+ { -+ FieldElement{-26205082, 4428547, -8661196, -13194263, 4098402, -14165257, 15522535, 8372215, 5542595, -10702683}, -+ FieldElement{-10562541, 14895633, 26814552, -16673850, -17480754, -2489360, -2781891, 6993761, -18093885, 10114655}, -+ FieldElement{-20107055, -929418, 31422704, 10427861, -7110749, 6150669, -29091755, -11529146, 25953725, -106158}, -+ }, -+ { -+ FieldElement{-4234397, -8039292, -9119125, 3046000, 2101609, -12607294, 19390020, 6094296, -3315279, 12831125}, -+ FieldElement{-15998678, 7578152, 5310217, 14408357, -33548620, -224739, 31575954, 6326196, 7381791, -2421839}, -+ FieldElement{-20902779, 3296811, 24736065, -16328389, 18374254, 7318640, 6295303, 8082724, -15362489, 12339664}, -+ }, -+ { -+ FieldElement{27724736, 2291157, 6088201, -14184798, 1792727, 5857634, 13848414, 15768922, 25091167, 14856294}, -+ FieldElement{-18866652, 8331043, 24373479, 8541013, -701998, -9269457, 12927300, -12695493, -22182473, -9012899}, -+ FieldElement{-11423429, -5421590, 11632845, 3405020, 30536730, -11674039, -27260765, 13866390, 30146206, 9142070}, -+ }, -+ { -+ FieldElement{3924129, -15307516, -13817122, -10054960, 12291820, -668366, -27702774, 9326384, -8237858, 4171294}, -+ FieldElement{-15921940, 16037937, 6713787, 16606682, -21612135, 2790944, 26396185, 3731949, 345228, -5462949}, -+ FieldElement{-21327538, 13448259, 25284571, 1143661, 20614966, -8849387, 2031539, -12391231, -16253183, -13582083}, -+ }, -+ { -+ FieldElement{31016211, -16722429, 26371392, -14451233, -5027349, 14854137, 17477601, 3842657, 28012650, -16405420}, -+ FieldElement{-5075835, 9368966, -8562079, -4600902, -15249953, 6970560, -9189873, 16292057, -8867157, 3507940}, -+ FieldElement{29439664, 3537914, 23333589, 6997794, -17555561, -11018068, -15209202, -15051267, -9164929, 6580396}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-12185861, -7679788, 16438269, 10826160, -8696817, -6235611, 17860444, -9273846, -2095802, 9304567}, -+ FieldElement{20714564, -4336911, 29088195, 7406487, 11426967, -5095705, 14792667, -14608617, 5289421, -477127}, -+ FieldElement{-16665533, -10650790, -6160345, -13305760, 9192020, -1802462, 17271490, 12349094, 26939669, -3752294}, -+ }, -+ { -+ FieldElement{-12889898, 9373458, 31595848, 16374215, 21471720, 13221525, -27283495, -12348559, -3698806, 117887}, -+ FieldElement{22263325, -6560050, 3984570, -11174646, -15114008, -566785, 28311253, 5358056, -23319780, 541964}, -+ FieldElement{16259219, 3261970, 2309254, -15534474, -16885711, -4581916, 24134070, -16705829, -13337066, -13552195}, -+ }, -+ { -+ FieldElement{9378160, -13140186, -22845982, -12745264, 28198281, -7244098, -2399684, -717351, 690426, 14876244}, -+ FieldElement{24977353, -314384, -8223969, -13465086, 28432343, -1176353, -13068804, -12297348, -22380984, 6618999}, -+ FieldElement{-1538174, 11685646, 12944378, 13682314, -24389511, -14413193, 8044829, -13817328, 32239829, -5652762}, -+ }, -+ { -+ FieldElement{-18603066, 4762990, -926250, 8885304, -28412480, -3187315, 9781647, -10350059, 32779359, 5095274}, -+ FieldElement{-33008130, -5214506, -32264887, -3685216, 9460461, -9327423, -24601656, 14506724, 21639561, -2630236}, -+ FieldElement{-16400943, -13112215, 25239338, 15531969, 3987758, -4499318, -1289502, -6863535, 17874574, 558605}, -+ }, -+ { -+ FieldElement{-13600129, 10240081, 9171883, 16131053, -20869254, 9599700, 33499487, 5080151, 2085892, 5119761}, -+ FieldElement{-22205145, -2519528, -16381601, 414691, -25019550, 2170430, 30634760, -8363614, -31999993, -5759884}, -+ FieldElement{-6845704, 15791202, 8550074, -1312654, 29928809, -12092256, 27534430, -7192145, -22351378, 12961482}, -+ }, -+ { -+ FieldElement{-24492060, -9570771, 10368194, 11582341, -23397293, -2245287, 16533930, 8206996, -30194652, -5159638}, -+ FieldElement{-11121496, -3382234, 2307366, 6362031, -135455, 8868177, -16835630, 7031275, 7589640, 8945490}, -+ FieldElement{-32152748, 8917967, 6661220, -11677616, -1192060, -15793393, 7251489, -11182180, 24099109, -14456170}, -+ }, -+ { -+ FieldElement{5019558, -7907470, 4244127, -14714356, -26933272, 6453165, -19118182, -13289025, -6231896, -10280736}, -+ FieldElement{10853594, 10721687, 26480089, 5861829, -22995819, 1972175, -1866647, -10557898, -3363451, -6441124}, -+ FieldElement{-17002408, 5906790, 221599, -6563147, 7828208, -13248918, 24362661, -2008168, -13866408, 7421392}, -+ }, -+ { -+ FieldElement{8139927, -6546497, 32257646, -5890546, 30375719, 1886181, -21175108, 15441252, 28826358, -4123029}, -+ FieldElement{6267086, 9695052, 7709135, -16603597, -32869068, -1886135, 14795160, -7840124, 13746021, -1742048}, -+ FieldElement{28584902, 7787108, -6732942, -15050729, 22846041, -7571236, -3181936, -363524, 4771362, -8419958}, -+ }, -+ }, -+ { -+ { -+ FieldElement{24949256, 6376279, -27466481, -8174608, -18646154, -9930606, 33543569, -12141695, 3569627, 11342593}, -+ FieldElement{26514989, 4740088, 27912651, 3697550, 19331575, -11472339, 6809886, 4608608, 7325975, -14801071}, -+ FieldElement{-11618399, -14554430, -24321212, 7655128, -1369274, 5214312, -27400540, 10258390, -17646694, -8186692}, -+ }, -+ { -+ FieldElement{11431204, 15823007, 26570245, 14329124, 18029990, 4796082, -31446179, 15580664, 9280358, -3973687}, -+ FieldElement{-160783, -10326257, -22855316, -4304997, -20861367, -13621002, -32810901, -11181622, -15545091, 4387441}, -+ FieldElement{-20799378, 12194512, 3937617, -5805892, -27154820, 9340370, -24513992, 8548137, 20617071, -7482001}, -+ }, -+ { -+ FieldElement{-938825, -3930586, -8714311, 16124718, 24603125, -6225393, -13775352, -11875822, 24345683, 10325460}, -+ FieldElement{-19855277, -1568885, -22202708, 8714034, 14007766, 6928528, 16318175, -1010689, 4766743, 3552007}, -+ FieldElement{-21751364, -16730916, 1351763, -803421, -4009670, 3950935, 3217514, 14481909, 10988822, -3994762}, -+ }, -+ { -+ FieldElement{15564307, -14311570, 3101243, 5684148, 30446780, -8051356, 12677127, -6505343, -8295852, 13296005}, -+ FieldElement{-9442290, 6624296, -30298964, -11913677, -4670981, -2057379, 31521204, 9614054, -30000824, 12074674}, -+ FieldElement{4771191, -135239, 14290749, -13089852, 27992298, 14998318, -1413936, -1556716, 29832613, -16391035}, -+ }, -+ { -+ FieldElement{7064884, -7541174, -19161962, -5067537, -18891269, -2912736, 25825242, 5293297, -27122660, 13101590}, -+ FieldElement{-2298563, 2439670, -7466610, 1719965, -27267541, -16328445, 32512469, -5317593, -30356070, -4190957}, -+ FieldElement{-30006540, 10162316, -33180176, 3981723, -16482138, -13070044, 14413974, 9515896, 19568978, 9628812}, -+ }, -+ { -+ FieldElement{33053803, 199357, 15894591, 1583059, 27380243, -4580435, -17838894, -6106839, -6291786, 3437740}, -+ FieldElement{-18978877, 3884493, 19469877, 12726490, 15913552, 13614290, -22961733, 70104, 7463304, 4176122}, -+ FieldElement{-27124001, 10659917, 11482427, -16070381, 12771467, -6635117, -32719404, -5322751, 24216882, 5944158}, -+ }, -+ { -+ FieldElement{8894125, 7450974, -2664149, -9765752, -28080517, -12389115, 19345746, 14680796, 11632993, 5847885}, -+ FieldElement{26942781, -2315317, 9129564, -4906607, 26024105, 11769399, -11518837, 6367194, -9727230, 4782140}, -+ FieldElement{19916461, -4828410, -22910704, -11414391, 25606324, -5972441, 33253853, 8220911, 6358847, -1873857}, -+ }, -+ { -+ FieldElement{801428, -2081702, 16569428, 11065167, 29875704, 96627, 7908388, -4480480, -13538503, 1387155}, -+ FieldElement{19646058, 5720633, -11416706, 12814209, 11607948, 12749789, 14147075, 15156355, -21866831, 11835260}, -+ FieldElement{19299512, 1155910, 28703737, 14890794, 2925026, 7269399, 26121523, 15467869, -26560550, 5052483}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-3017432, 10058206, 1980837, 3964243, 22160966, 12322533, -6431123, -12618185, 12228557, -7003677}, -+ FieldElement{32944382, 14922211, -22844894, 5188528, 21913450, -8719943, 4001465, 13238564, -6114803, 8653815}, -+ FieldElement{22865569, -4652735, 27603668, -12545395, 14348958, 8234005, 24808405, 5719875, 28483275, 2841751}, -+ }, -+ { -+ FieldElement{-16420968, -1113305, -327719, -12107856, 21886282, -15552774, -1887966, -315658, 19932058, -12739203}, -+ FieldElement{-11656086, 10087521, -8864888, -5536143, -19278573, -3055912, 3999228, 13239134, -4777469, -13910208}, -+ FieldElement{1382174, -11694719, 17266790, 9194690, -13324356, 9720081, 20403944, 11284705, -14013818, 3093230}, -+ }, -+ { -+ FieldElement{16650921, -11037932, -1064178, 1570629, -8329746, 7352753, -302424, 16271225, -24049421, -6691850}, -+ FieldElement{-21911077, -5927941, -4611316, -5560156, -31744103, -10785293, 24123614, 15193618, -21652117, -16739389}, -+ FieldElement{-9935934, -4289447, -25279823, 4372842, 2087473, 10399484, 31870908, 14690798, 17361620, 11864968}, -+ }, -+ { -+ FieldElement{-11307610, 6210372, 13206574, 5806320, -29017692, -13967200, -12331205, -7486601, -25578460, -16240689}, -+ FieldElement{14668462, -12270235, 26039039, 15305210, 25515617, 4542480, 10453892, 6577524, 9145645, -6443880}, -+ FieldElement{5974874, 3053895, -9433049, -10385191, -31865124, 3225009, -7972642, 3936128, -5652273, -3050304}, -+ }, -+ { -+ FieldElement{30625386, -4729400, -25555961, -12792866, -20484575, 7695099, 17097188, -16303496, -27999779, 1803632}, -+ FieldElement{-3553091, 9865099, -5228566, 4272701, -5673832, -16689700, 14911344, 12196514, -21405489, 7047412}, -+ FieldElement{20093277, 9920966, -11138194, -5343857, 13161587, 12044805, -32856851, 4124601, -32343828, -10257566}, -+ }, -+ { -+ FieldElement{-20788824, 14084654, -13531713, 7842147, 19119038, -13822605, 4752377, -8714640, -21679658, 2288038}, -+ FieldElement{-26819236, -3283715, 29965059, 3039786, -14473765, 2540457, 29457502, 14625692, -24819617, 12570232}, -+ FieldElement{-1063558, -11551823, 16920318, 12494842, 1278292, -5869109, -21159943, -3498680, -11974704, 4724943}, -+ }, -+ { -+ FieldElement{17960970, -11775534, -4140968, -9702530, -8876562, -1410617, -12907383, -8659932, -29576300, 1903856}, -+ FieldElement{23134274, -14279132, -10681997, -1611936, 20684485, 15770816, -12989750, 3190296, 26955097, 14109738}, -+ FieldElement{15308788, 5320727, -30113809, -14318877, 22902008, 7767164, 29425325, -11277562, 31960942, 11934971}, -+ }, -+ { -+ FieldElement{-27395711, 8435796, 4109644, 12222639, -24627868, 14818669, 20638173, 4875028, 10491392, 1379718}, -+ FieldElement{-13159415, 9197841, 3875503, -8936108, -1383712, -5879801, 33518459, 16176658, 21432314, 12180697}, -+ FieldElement{-11787308, 11500838, 13787581, -13832590, -22430679, 10140205, 1465425, 12689540, -10301319, -13872883}, -+ }, -+ }, -+ { -+ { -+ FieldElement{5414091, -15386041, -21007664, 9643570, 12834970, 1186149, -2622916, -1342231, 26128231, 6032912}, -+ FieldElement{-26337395, -13766162, 32496025, -13653919, 17847801, -12669156, 3604025, 8316894, -25875034, -10437358}, -+ FieldElement{3296484, 6223048, 24680646, -12246460, -23052020, 5903205, -8862297, -4639164, 12376617, 3188849}, -+ }, -+ { -+ FieldElement{29190488, -14659046, 27549113, -1183516, 3520066, -10697301, 32049515, -7309113, -16109234, -9852307}, -+ FieldElement{-14744486, -9309156, 735818, -598978, -20407687, -5057904, 25246078, -15795669, 18640741, -960977}, -+ FieldElement{-6928835, -16430795, 10361374, 5642961, 4910474, 12345252, -31638386, -494430, 10530747, 1053335}, -+ }, -+ { -+ FieldElement{-29265967, -14186805, -13538216, -12117373, -19457059, -10655384, -31462369, -2948985, 24018831, 15026644}, -+ FieldElement{-22592535, -3145277, -2289276, 5953843, -13440189, 9425631, 25310643, 13003497, -2314791, -15145616}, -+ FieldElement{-27419985, -603321, -8043984, -1669117, -26092265, 13987819, -27297622, 187899, -23166419, -2531735}, -+ }, -+ { -+ FieldElement{-21744398, -13810475, 1844840, 5021428, -10434399, -15911473, 9716667, 16266922, -5070217, 726099}, -+ FieldElement{29370922, -6053998, 7334071, -15342259, 9385287, 2247707, -13661962, -4839461, 30007388, -15823341}, -+ FieldElement{-936379, 16086691, 23751945, -543318, -1167538, -5189036, 9137109, 730663, 9835848, 4555336}, -+ }, -+ { -+ FieldElement{-23376435, 1410446, -22253753, -12899614, 30867635, 15826977, 17693930, 544696, -11985298, 12422646}, -+ FieldElement{31117226, -12215734, -13502838, 6561947, -9876867, -12757670, -5118685, -4096706, 29120153, 13924425}, -+ FieldElement{-17400879, -14233209, 19675799, -2734756, -11006962, -5858820, -9383939, -11317700, 7240931, -237388}, -+ }, -+ { -+ FieldElement{-31361739, -11346780, -15007447, -5856218, -22453340, -12152771, 1222336, 4389483, 3293637, -15551743}, -+ FieldElement{-16684801, -14444245, 11038544, 11054958, -13801175, -3338533, -24319580, 7733547, 12796905, -6335822}, -+ FieldElement{-8759414, -10817836, -25418864, 10783769, -30615557, -9746811, -28253339, 3647836, 3222231, -11160462}, -+ }, -+ { -+ FieldElement{18606113, 1693100, -25448386, -15170272, 4112353, 10045021, 23603893, -2048234, -7550776, 2484985}, -+ FieldElement{9255317, -3131197, -12156162, -1004256, 13098013, -9214866, 16377220, -2102812, -19802075, -3034702}, -+ FieldElement{-22729289, 7496160, -5742199, 11329249, 19991973, -3347502, -31718148, 9936966, -30097688, -10618797}, -+ }, -+ { -+ FieldElement{21878590, -5001297, 4338336, 13643897, -3036865, 13160960, 19708896, 5415497, -7360503, -4109293}, -+ FieldElement{27736861, 10103576, 12500508, 8502413, -3413016, -9633558, 10436918, -1550276, -23659143, -8132100}, -+ FieldElement{19492550, -12104365, -29681976, -852630, -3208171, 12403437, 30066266, 8367329, 13243957, 8709688}, -+ }, -+ }, -+ { -+ { -+ FieldElement{12015105, 2801261, 28198131, 10151021, 24818120, -4743133, -11194191, -5645734, 5150968, 7274186}, -+ FieldElement{2831366, -12492146, 1478975, 6122054, 23825128, -12733586, 31097299, 6083058, 31021603, -9793610}, -+ FieldElement{-2529932, -2229646, 445613, 10720828, -13849527, -11505937, -23507731, 16354465, 15067285, -14147707}, -+ }, -+ { -+ FieldElement{7840942, 14037873, -33364863, 15934016, -728213, -3642706, 21403988, 1057586, -19379462, -12403220}, -+ FieldElement{915865, -16469274, 15608285, -8789130, -24357026, 6060030, -17371319, 8410997, -7220461, 16527025}, -+ FieldElement{32922597, -556987, 20336074, -16184568, 10903705, -5384487, 16957574, 52992, 23834301, 6588044}, -+ }, -+ { -+ FieldElement{32752030, 11232950, 3381995, -8714866, 22652988, -10744103, 17159699, 16689107, -20314580, -1305992}, -+ FieldElement{-4689649, 9166776, -25710296, -10847306, 11576752, 12733943, 7924251, -2752281, 1976123, -7249027}, -+ FieldElement{21251222, 16309901, -2983015, -6783122, 30810597, 12967303, 156041, -3371252, 12331345, -8237197}, -+ }, -+ { -+ FieldElement{8651614, -4477032, -16085636, -4996994, 13002507, 2950805, 29054427, -5106970, 10008136, -4667901}, -+ FieldElement{31486080, 15114593, -14261250, 12951354, 14369431, -7387845, 16347321, -13662089, 8684155, -10532952}, -+ FieldElement{19443825, 11385320, 24468943, -9659068, -23919258, 2187569, -26263207, -6086921, 31316348, 14219878}, -+ }, -+ { -+ FieldElement{-28594490, 1193785, 32245219, 11392485, 31092169, 15722801, 27146014, 6992409, 29126555, 9207390}, -+ FieldElement{32382935, 1110093, 18477781, 11028262, -27411763, -7548111, -4980517, 10843782, -7957600, -14435730}, -+ FieldElement{2814918, 7836403, 27519878, -7868156, -20894015, -11553689, -21494559, 8550130, 28346258, 1994730}, -+ }, -+ { -+ FieldElement{-19578299, 8085545, -14000519, -3948622, 2785838, -16231307, -19516951, 7174894, 22628102, 8115180}, -+ FieldElement{-30405132, 955511, -11133838, -15078069, -32447087, -13278079, -25651578, 3317160, -9943017, 930272}, -+ FieldElement{-15303681, -6833769, 28856490, 1357446, 23421993, 1057177, 24091212, -1388970, -22765376, -10650715}, -+ }, -+ { -+ FieldElement{-22751231, -5303997, -12907607, -12768866, -15811511, -7797053, -14839018, -16554220, -1867018, 8398970}, -+ FieldElement{-31969310, 2106403, -4736360, 1362501, 12813763, 16200670, 22981545, -6291273, 18009408, -15772772}, -+ FieldElement{-17220923, -9545221, -27784654, 14166835, 29815394, 7444469, 29551787, -3727419, 19288549, 1325865}, -+ }, -+ { -+ FieldElement{15100157, -15835752, -23923978, -1005098, -26450192, 15509408, 12376730, -3479146, 33166107, -8042750}, -+ FieldElement{20909231, 13023121, -9209752, 16251778, -5778415, -8094914, 12412151, 10018715, 2213263, -13878373}, -+ FieldElement{32529814, -11074689, 30361439, -16689753, -9135940, 1513226, 22922121, 6382134, -5766928, 8371348}, -+ }, -+ }, -+ { -+ { -+ FieldElement{9923462, 11271500, 12616794, 3544722, -29998368, -1721626, 12891687, -8193132, -26442943, 10486144}, -+ FieldElement{-22597207, -7012665, 8587003, -8257861, 4084309, -12970062, 361726, 2610596, -23921530, -11455195}, -+ FieldElement{5408411, -1136691, -4969122, 10561668, 24145918, 14240566, 31319731, -4235541, 19985175, -3436086}, -+ }, -+ { -+ FieldElement{-13994457, 16616821, 14549246, 3341099, 32155958, 13648976, -17577068, 8849297, 65030, 8370684}, -+ FieldElement{-8320926, -12049626, 31204563, 5839400, -20627288, -1057277, -19442942, 6922164, 12743482, -9800518}, -+ FieldElement{-2361371, 12678785, 28815050, 4759974, -23893047, 4884717, 23783145, 11038569, 18800704, 255233}, -+ }, -+ { -+ FieldElement{-5269658, -1773886, 13957886, 7990715, 23132995, 728773, 13393847, 9066957, 19258688, -14753793}, -+ FieldElement{-2936654, -10827535, -10432089, 14516793, -3640786, 4372541, -31934921, 2209390, -1524053, 2055794}, -+ FieldElement{580882, 16705327, 5468415, -2683018, -30926419, -14696000, -7203346, -8994389, -30021019, 7394435}, -+ }, -+ { -+ FieldElement{23838809, 1822728, -15738443, 15242727, 8318092, -3733104, -21672180, -3492205, -4821741, 14799921}, -+ FieldElement{13345610, 9759151, 3371034, -16137791, 16353039, 8577942, 31129804, 13496856, -9056018, 7402518}, -+ FieldElement{2286874, -4435931, -20042458, -2008336, -13696227, 5038122, 11006906, -15760352, 8205061, 1607563}, -+ }, -+ { -+ FieldElement{14414086, -8002132, 3331830, -3208217, 22249151, -5594188, 18364661, -2906958, 30019587, -9029278}, -+ FieldElement{-27688051, 1585953, -10775053, 931069, -29120221, -11002319, -14410829, 12029093, 9944378, 8024}, -+ FieldElement{4368715, -3709630, 29874200, -15022983, -20230386, -11410704, -16114594, -999085, -8142388, 5640030}, -+ }, -+ { -+ FieldElement{10299610, 13746483, 11661824, 16234854, 7630238, 5998374, 9809887, -16694564, 15219798, -14327783}, -+ FieldElement{27425505, -5719081, 3055006, 10660664, 23458024, 595578, -15398605, -1173195, -18342183, 9742717}, -+ FieldElement{6744077, 2427284, 26042789, 2720740, -847906, 1118974, 32324614, 7406442, 12420155, 1994844}, -+ }, -+ { -+ FieldElement{14012521, -5024720, -18384453, -9578469, -26485342, -3936439, -13033478, -10909803, 24319929, -6446333}, -+ FieldElement{16412690, -4507367, 10772641, 15929391, -17068788, -4658621, 10555945, -10484049, -30102368, -4739048}, -+ FieldElement{22397382, -7767684, -9293161, -12792868, 17166287, -9755136, -27333065, 6199366, 21880021, -12250760}, -+ }, -+ { -+ FieldElement{-4283307, 5368523, -31117018, 8163389, -30323063, 3209128, 16557151, 8890729, 8840445, 4957760}, -+ FieldElement{-15447727, 709327, -6919446, -10870178, -29777922, 6522332, -21720181, 12130072, -14796503, 5005757}, -+ FieldElement{-2114751, -14308128, 23019042, 15765735, -25269683, 6002752, 10183197, -13239326, -16395286, -2176112}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-19025756, 1632005, 13466291, -7995100, -23640451, 16573537, -32013908, -3057104, 22208662, 2000468}, -+ FieldElement{3065073, -1412761, -25598674, -361432, -17683065, -5703415, -8164212, 11248527, -3691214, -7414184}, -+ FieldElement{10379208, -6045554, 8877319, 1473647, -29291284, -12507580, 16690915, 2553332, -3132688, 16400289}, -+ }, -+ { -+ FieldElement{15716668, 1254266, -18472690, 7446274, -8448918, 6344164, -22097271, -7285580, 26894937, 9132066}, -+ FieldElement{24158887, 12938817, 11085297, -8177598, -28063478, -4457083, -30576463, 64452, -6817084, -2692882}, -+ FieldElement{13488534, 7794716, 22236231, 5989356, 25426474, -12578208, 2350710, -3418511, -4688006, 2364226}, -+ }, -+ { -+ FieldElement{16335052, 9132434, 25640582, 6678888, 1725628, 8517937, -11807024, -11697457, 15445875, -7798101}, -+ FieldElement{29004207, -7867081, 28661402, -640412, -12794003, -7943086, 31863255, -4135540, -278050, -15759279}, -+ FieldElement{-6122061, -14866665, -28614905, 14569919, -10857999, -3591829, 10343412, -6976290, -29828287, -10815811}, -+ }, -+ { -+ FieldElement{27081650, 3463984, 14099042, -4517604, 1616303, -6205604, 29542636, 15372179, 17293797, 960709}, -+ FieldElement{20263915, 11434237, -5765435, 11236810, 13505955, -10857102, -16111345, 6493122, -19384511, 7639714}, -+ FieldElement{-2830798, -14839232, 25403038, -8215196, -8317012, -16173699, 18006287, -16043750, 29994677, -15808121}, -+ }, -+ { -+ FieldElement{9769828, 5202651, -24157398, -13631392, -28051003, -11561624, -24613141, -13860782, -31184575, 709464}, -+ FieldElement{12286395, 13076066, -21775189, -1176622, -25003198, 4057652, -32018128, -8890874, 16102007, 13205847}, -+ FieldElement{13733362, 5599946, 10557076, 3195751, -5557991, 8536970, -25540170, 8525972, 10151379, 10394400}, -+ }, -+ { -+ FieldElement{4024660, -16137551, 22436262, 12276534, -9099015, -2686099, 19698229, 11743039, -33302334, 8934414}, -+ FieldElement{-15879800, -4525240, -8580747, -2934061, 14634845, -698278, -9449077, 3137094, -11536886, 11721158}, -+ FieldElement{17555939, -5013938, 8268606, 2331751, -22738815, 9761013, 9319229, 8835153, -9205489, -1280045}, -+ }, -+ { -+ FieldElement{-461409, -7830014, 20614118, 16688288, -7514766, -4807119, 22300304, 505429, 6108462, -6183415}, -+ FieldElement{-5070281, 12367917, -30663534, 3234473, 32617080, -8422642, 29880583, -13483331, -26898490, -7867459}, -+ FieldElement{-31975283, 5726539, 26934134, 10237677, -3173717, -605053, 24199304, 3795095, 7592688, -14992079}, -+ }, -+ { -+ FieldElement{21594432, -14964228, 17466408, -4077222, 32537084, 2739898, 6407723, 12018833, -28256052, 4298412}, -+ FieldElement{-20650503, -11961496, -27236275, 570498, 3767144, -1717540, 13891942, -1569194, 13717174, 10805743}, -+ FieldElement{-14676630, -15644296, 15287174, 11927123, 24177847, -8175568, -796431, 14860609, -26938930, -5863836}, -+ }, -+ }, -+ { -+ { -+ FieldElement{12962541, 5311799, -10060768, 11658280, 18855286, -7954201, 13286263, -12808704, -4381056, 9882022}, -+ FieldElement{18512079, 11319350, -20123124, 15090309, 18818594, 5271736, -22727904, 3666879, -23967430, -3299429}, -+ FieldElement{-6789020, -3146043, 16192429, 13241070, 15898607, -14206114, -10084880, -6661110, -2403099, 5276065}, -+ }, -+ { -+ FieldElement{30169808, -5317648, 26306206, -11750859, 27814964, 7069267, 7152851, 3684982, 1449224, 13082861}, -+ FieldElement{10342826, 3098505, 2119311, 193222, 25702612, 12233820, 23697382, 15056736, -21016438, -8202000}, -+ FieldElement{-33150110, 3261608, 22745853, 7948688, 19370557, -15177665, -26171976, 6482814, -10300080, -11060101}, -+ }, -+ { -+ FieldElement{32869458, -5408545, 25609743, 15678670, -10687769, -15471071, 26112421, 2521008, -22664288, 6904815}, -+ FieldElement{29506923, 4457497, 3377935, -9796444, -30510046, 12935080, 1561737, 3841096, -29003639, -6657642}, -+ FieldElement{10340844, -6630377, -18656632, -2278430, 12621151, -13339055, 30878497, -11824370, -25584551, 5181966}, -+ }, -+ { -+ FieldElement{25940115, -12658025, 17324188, -10307374, -8671468, 15029094, 24396252, -16450922, -2322852, -12388574}, -+ FieldElement{-21765684, 9916823, -1300409, 4079498, -1028346, 11909559, 1782390, 12641087, 20603771, -6561742}, -+ FieldElement{-18882287, -11673380, 24849422, 11501709, 13161720, -4768874, 1925523, 11914390, 4662781, 7820689}, -+ }, -+ { -+ FieldElement{12241050, -425982, 8132691, 9393934, 32846760, -1599620, 29749456, 12172924, 16136752, 15264020}, -+ FieldElement{-10349955, -14680563, -8211979, 2330220, -17662549, -14545780, 10658213, 6671822, 19012087, 3772772}, -+ FieldElement{3753511, -3421066, 10617074, 2028709, 14841030, -6721664, 28718732, -15762884, 20527771, 12988982}, -+ }, -+ { -+ FieldElement{-14822485, -5797269, -3707987, 12689773, -898983, -10914866, -24183046, -10564943, 3299665, -12424953}, -+ FieldElement{-16777703, -15253301, -9642417, 4978983, 3308785, 8755439, 6943197, 6461331, -25583147, 8991218}, -+ FieldElement{-17226263, 1816362, -1673288, -6086439, 31783888, -8175991, -32948145, 7417950, -30242287, 1507265}, -+ }, -+ { -+ FieldElement{29692663, 6829891, -10498800, 4334896, 20945975, -11906496, -28887608, 8209391, 14606362, -10647073}, -+ FieldElement{-3481570, 8707081, 32188102, 5672294, 22096700, 1711240, -33020695, 9761487, 4170404, -2085325}, -+ FieldElement{-11587470, 14855945, -4127778, -1531857, -26649089, 15084046, 22186522, 16002000, -14276837, -8400798}, -+ }, -+ { -+ FieldElement{-4811456, 13761029, -31703877, -2483919, -3312471, 7869047, -7113572, -9620092, 13240845, 10965870}, -+ FieldElement{-7742563, -8256762, -14768334, -13656260, -23232383, 12387166, 4498947, 14147411, 29514390, 4302863}, -+ FieldElement{-13413405, -12407859, 20757302, -13801832, 14785143, 8976368, -5061276, -2144373, 17846988, -13971927}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-2244452, -754728, -4597030, -1066309, -6247172, 1455299, -21647728, -9214789, -5222701, 12650267}, -+ FieldElement{-9906797, -16070310, 21134160, 12198166, -27064575, 708126, 387813, 13770293, -19134326, 10958663}, -+ FieldElement{22470984, 12369526, 23446014, -5441109, -21520802, -9698723, -11772496, -11574455, -25083830, 4271862}, -+ }, -+ { -+ FieldElement{-25169565, -10053642, -19909332, 15361595, -5984358, 2159192, 75375, -4278529, -32526221, 8469673}, -+ FieldElement{15854970, 4148314, -8893890, 7259002, 11666551, 13824734, -30531198, 2697372, 24154791, -9460943}, -+ FieldElement{15446137, -15806644, 29759747, 14019369, 30811221, -9610191, -31582008, 12840104, 24913809, 9815020}, -+ }, -+ { -+ FieldElement{-4709286, -5614269, -31841498, -12288893, -14443537, 10799414, -9103676, 13438769, 18735128, 9466238}, -+ FieldElement{11933045, 9281483, 5081055, -5183824, -2628162, -4905629, -7727821, -10896103, -22728655, 16199064}, -+ FieldElement{14576810, 379472, -26786533, -8317236, -29426508, -10812974, -102766, 1876699, 30801119, 2164795}, -+ }, -+ { -+ FieldElement{15995086, 3199873, 13672555, 13712240, -19378835, -4647646, -13081610, -15496269, -13492807, 1268052}, -+ FieldElement{-10290614, -3659039, -3286592, 10948818, 23037027, 3794475, -3470338, -12600221, -17055369, 3565904}, -+ FieldElement{29210088, -9419337, -5919792, -4952785, 10834811, -13327726, -16512102, -10820713, -27162222, -14030531}, -+ }, -+ { -+ FieldElement{-13161890, 15508588, 16663704, -8156150, -28349942, 9019123, -29183421, -3769423, 2244111, -14001979}, -+ FieldElement{-5152875, -3800936, -9306475, -6071583, 16243069, 14684434, -25673088, -16180800, 13491506, 4641841}, -+ FieldElement{10813417, 643330, -19188515, -728916, 30292062, -16600078, 27548447, -7721242, 14476989, -12767431}, -+ }, -+ { -+ FieldElement{10292079, 9984945, 6481436, 8279905, -7251514, 7032743, 27282937, -1644259, -27912810, 12651324}, -+ FieldElement{-31185513, -813383, 22271204, 11835308, 10201545, 15351028, 17099662, 3988035, 21721536, -3148940}, -+ FieldElement{10202177, -6545839, -31373232, -9574638, -32150642, -8119683, -12906320, 3852694, 13216206, 14842320}, -+ }, -+ { -+ FieldElement{-15815640, -10601066, -6538952, -7258995, -6984659, -6581778, -31500847, 13765824, -27434397, 9900184}, -+ FieldElement{14465505, -13833331, -32133984, -14738873, -27443187, 12990492, 33046193, 15796406, -7051866, -8040114}, -+ FieldElement{30924417, -8279620, 6359016, -12816335, 16508377, 9071735, -25488601, 15413635, 9524356, -7018878}, -+ }, -+ { -+ FieldElement{12274201, -13175547, 32627641, -1785326, 6736625, 13267305, 5237659, -5109483, 15663516, 4035784}, -+ FieldElement{-2951309, 8903985, 17349946, 601635, -16432815, -4612556, -13732739, -15889334, -22258478, 4659091}, -+ FieldElement{-16916263, -4952973, -30393711, -15158821, 20774812, 15897498, 5736189, 15026997, -2178256, -13455585}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-8858980, -2219056, 28571666, -10155518, -474467, -10105698, -3801496, 278095, 23440562, -290208}, -+ FieldElement{10226241, -5928702, 15139956, 120818, -14867693, 5218603, 32937275, 11551483, -16571960, -7442864}, -+ FieldElement{17932739, -12437276, -24039557, 10749060, 11316803, 7535897, 22503767, 5561594, -3646624, 3898661}, -+ }, -+ { -+ FieldElement{7749907, -969567, -16339731, -16464, -25018111, 15122143, -1573531, 7152530, 21831162, 1245233}, -+ FieldElement{26958459, -14658026, 4314586, 8346991, -5677764, 11960072, -32589295, -620035, -30402091, -16716212}, -+ FieldElement{-12165896, 9166947, 33491384, 13673479, 29787085, 13096535, 6280834, 14587357, -22338025, 13987525}, -+ }, -+ { -+ FieldElement{-24349909, 7778775, 21116000, 15572597, -4833266, -5357778, -4300898, -5124639, -7469781, -2858068}, -+ FieldElement{9681908, -6737123, -31951644, 13591838, -6883821, 386950, 31622781, 6439245, -14581012, 4091397}, -+ FieldElement{-8426427, 1470727, -28109679, -1596990, 3978627, -5123623, -19622683, 12092163, 29077877, -14741988}, -+ }, -+ { -+ FieldElement{5269168, -6859726, -13230211, -8020715, 25932563, 1763552, -5606110, -5505881, -20017847, 2357889}, -+ FieldElement{32264008, -15407652, -5387735, -1160093, -2091322, -3946900, 23104804, -12869908, 5727338, 189038}, -+ FieldElement{14609123, -8954470, -6000566, -16622781, -14577387, -7743898, -26745169, 10942115, -25888931, -14884697}, -+ }, -+ { -+ FieldElement{20513500, 5557931, -15604613, 7829531, 26413943, -2019404, -21378968, 7471781, 13913677, -5137875}, -+ FieldElement{-25574376, 11967826, 29233242, 12948236, -6754465, 4713227, -8940970, 14059180, 12878652, 8511905}, -+ FieldElement{-25656801, 3393631, -2955415, -7075526, -2250709, 9366908, -30223418, 6812974, 5568676, -3127656}, -+ }, -+ { -+ FieldElement{11630004, 12144454, 2116339, 13606037, 27378885, 15676917, -17408753, -13504373, -14395196, 8070818}, -+ FieldElement{27117696, -10007378, -31282771, -5570088, 1127282, 12772488, -29845906, 10483306, -11552749, -1028714}, -+ FieldElement{10637467, -5688064, 5674781, 1072708, -26343588, -6982302, -1683975, 9177853, -27493162, 15431203}, -+ }, -+ { -+ FieldElement{20525145, 10892566, -12742472, 12779443, -29493034, 16150075, -28240519, 14943142, -15056790, -7935931}, -+ FieldElement{-30024462, 5626926, -551567, -9981087, 753598, 11981191, 25244767, -3239766, -3356550, 9594024}, -+ FieldElement{-23752644, 2636870, -5163910, -10103818, 585134, 7877383, 11345683, -6492290, 13352335, -10977084}, -+ }, -+ { -+ FieldElement{-1931799, -5407458, 3304649, -12884869, 17015806, -4877091, -29783850, -7752482, -13215537, -319204}, -+ FieldElement{20239939, 6607058, 6203985, 3483793, -18386976, -779229, -20723742, 15077870, -22750759, 14523817}, -+ FieldElement{27406042, -6041657, 27423596, -4497394, 4996214, 10002360, -28842031, -4545494, -30172742, -4805667}, -+ }, -+ }, -+ { -+ { -+ FieldElement{11374242, 12660715, 17861383, -12540833, 10935568, 1099227, -13886076, -9091740, -27727044, 11358504}, -+ FieldElement{-12730809, 10311867, 1510375, 10778093, -2119455, -9145702, 32676003, 11149336, -26123651, 4985768}, -+ FieldElement{-19096303, 341147, -6197485, -239033, 15756973, -8796662, -983043, 13794114, -19414307, -15621255}, -+ }, -+ { -+ FieldElement{6490081, 11940286, 25495923, -7726360, 8668373, -8751316, 3367603, 6970005, -1691065, -9004790}, -+ FieldElement{1656497, 13457317, 15370807, 6364910, 13605745, 8362338, -19174622, -5475723, -16796596, -5031438}, -+ FieldElement{-22273315, -13524424, -64685, -4334223, -18605636, -10921968, -20571065, -7007978, -99853, -10237333}, -+ }, -+ { -+ FieldElement{17747465, 10039260, 19368299, -4050591, -20630635, -16041286, 31992683, -15857976, -29260363, -5511971}, -+ FieldElement{31932027, -4986141, -19612382, 16366580, 22023614, 88450, 11371999, -3744247, 4882242, -10626905}, -+ FieldElement{29796507, 37186, 19818052, 10115756, -11829032, 3352736, 18551198, 3272828, -5190932, -4162409}, -+ }, -+ { -+ FieldElement{12501286, 4044383, -8612957, -13392385, -32430052, 5136599, -19230378, -3529697, 330070, -3659409}, -+ FieldElement{6384877, 2899513, 17807477, 7663917, -2358888, 12363165, 25366522, -8573892, -271295, 12071499}, -+ FieldElement{-8365515, -4042521, 25133448, -4517355, -6211027, 2265927, -32769618, 1936675, -5159697, 3829363}, -+ }, -+ { -+ FieldElement{28425966, -5835433, -577090, -4697198, -14217555, 6870930, 7921550, -6567787, 26333140, 14267664}, -+ FieldElement{-11067219, 11871231, 27385719, -10559544, -4585914, -11189312, 10004786, -8709488, -21761224, 8930324}, -+ FieldElement{-21197785, -16396035, 25654216, -1725397, 12282012, 11008919, 1541940, 4757911, -26491501, -16408940}, -+ }, -+ { -+ FieldElement{13537262, -7759490, -20604840, 10961927, -5922820, -13218065, -13156584, 6217254, -15943699, 13814990}, -+ FieldElement{-17422573, 15157790, 18705543, 29619, 24409717, -260476, 27361681, 9257833, -1956526, -1776914}, -+ FieldElement{-25045300, -10191966, 15366585, 15166509, -13105086, 8423556, -29171540, 12361135, -18685978, 4578290}, -+ }, -+ { -+ FieldElement{24579768, 3711570, 1342322, -11180126, -27005135, 14124956, -22544529, 14074919, 21964432, 8235257}, -+ FieldElement{-6528613, -2411497, 9442966, -5925588, 12025640, -1487420, -2981514, -1669206, 13006806, 2355433}, -+ FieldElement{-16304899, -13605259, -6632427, -5142349, 16974359, -10911083, 27202044, 1719366, 1141648, -12796236}, -+ }, -+ { -+ FieldElement{-12863944, -13219986, -8318266, -11018091, -6810145, -4843894, 13475066, -3133972, 32674895, 13715045}, -+ FieldElement{11423335, -5468059, 32344216, 8962751, 24989809, 9241752, -13265253, 16086212, -28740881, -15642093}, -+ FieldElement{-1409668, 12530728, -6368726, 10847387, 19531186, -14132160, -11709148, 7791794, -27245943, 4383347}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-28970898, 5271447, -1266009, -9736989, -12455236, 16732599, -4862407, -4906449, 27193557, 6245191}, -+ FieldElement{-15193956, 5362278, -1783893, 2695834, 4960227, 12840725, 23061898, 3260492, 22510453, 8577507}, -+ FieldElement{-12632451, 11257346, -32692994, 13548177, -721004, 10879011, 31168030, 13952092, -29571492, -3635906}, -+ }, -+ { -+ FieldElement{3877321, -9572739, 32416692, 5405324, -11004407, -13656635, 3759769, 11935320, 5611860, 8164018}, -+ FieldElement{-16275802, 14667797, 15906460, 12155291, -22111149, -9039718, 32003002, -8832289, 5773085, -8422109}, -+ FieldElement{-23788118, -8254300, 1950875, 8937633, 18686727, 16459170, -905725, 12376320, 31632953, 190926}, -+ }, -+ { -+ FieldElement{-24593607, -16138885, -8423991, 13378746, 14162407, 6901328, -8288749, 4508564, -25341555, -3627528}, -+ FieldElement{8884438, -5884009, 6023974, 10104341, -6881569, -4941533, 18722941, -14786005, -1672488, 827625}, -+ FieldElement{-32720583, -16289296, -32503547, 7101210, 13354605, 2659080, -1800575, -14108036, -24878478, 1541286}, -+ }, -+ { -+ FieldElement{2901347, -1117687, 3880376, -10059388, -17620940, -3612781, -21802117, -3567481, 20456845, -1885033}, -+ FieldElement{27019610, 12299467, -13658288, -1603234, -12861660, -4861471, -19540150, -5016058, 29439641, 15138866}, -+ FieldElement{21536104, -6626420, -32447818, -10690208, -22408077, 5175814, -5420040, -16361163, 7779328, 109896}, -+ }, -+ { -+ FieldElement{30279744, 14648750, -8044871, 6425558, 13639621, -743509, 28698390, 12180118, 23177719, -554075}, -+ FieldElement{26572847, 3405927, -31701700, 12890905, -19265668, 5335866, -6493768, 2378492, 4439158, -13279347}, -+ FieldElement{-22716706, 3489070, -9225266, -332753, 18875722, -1140095, 14819434, -12731527, -17717757, -5461437}, -+ }, -+ { -+ FieldElement{-5056483, 16566551, 15953661, 3767752, -10436499, 15627060, -820954, 2177225, 8550082, -15114165}, -+ FieldElement{-18473302, 16596775, -381660, 15663611, 22860960, 15585581, -27844109, -3582739, -23260460, -8428588}, -+ FieldElement{-32480551, 15707275, -8205912, -5652081, 29464558, 2713815, -22725137, 15860482, -21902570, 1494193}, -+ }, -+ { -+ FieldElement{-19562091, -14087393, -25583872, -9299552, 13127842, 759709, 21923482, 16529112, 8742704, 12967017}, -+ FieldElement{-28464899, 1553205, 32536856, -10473729, -24691605, -406174, -8914625, -2933896, -29903758, 15553883}, -+ FieldElement{21877909, 3230008, 9881174, 10539357, -4797115, 2841332, 11543572, 14513274, 19375923, -12647961}, -+ }, -+ { -+ FieldElement{8832269, -14495485, 13253511, 5137575, 5037871, 4078777, 24880818, -6222716, 2862653, 9455043}, -+ FieldElement{29306751, 5123106, 20245049, -14149889, 9592566, 8447059, -2077124, -2990080, 15511449, 4789663}, -+ FieldElement{-20679756, 7004547, 8824831, -9434977, -4045704, -3750736, -5754762, 108893, 23513200, 16652362}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-33256173, 4144782, -4476029, -6579123, 10770039, -7155542, -6650416, -12936300, -18319198, 10212860}, -+ FieldElement{2756081, 8598110, 7383731, -6859892, 22312759, -1105012, 21179801, 2600940, -9988298, -12506466}, -+ FieldElement{-24645692, 13317462, -30449259, -15653928, 21365574, -10869657, 11344424, 864440, -2499677, -16710063}, -+ }, -+ { -+ FieldElement{-26432803, 6148329, -17184412, -14474154, 18782929, -275997, -22561534, 211300, 2719757, 4940997}, -+ FieldElement{-1323882, 3911313, -6948744, 14759765, -30027150, 7851207, 21690126, 8518463, 26699843, 5276295}, -+ FieldElement{-13149873, -6429067, 9396249, 365013, 24703301, -10488939, 1321586, 149635, -15452774, 7159369}, -+ }, -+ { -+ FieldElement{9987780, -3404759, 17507962, 9505530, 9731535, -2165514, 22356009, 8312176, 22477218, -8403385}, -+ FieldElement{18155857, -16504990, 19744716, 9006923, 15154154, -10538976, 24256460, -4864995, -22548173, 9334109}, -+ FieldElement{2986088, -4911893, 10776628, -3473844, 10620590, -7083203, -21413845, 14253545, -22587149, 536906}, -+ }, -+ { -+ FieldElement{4377756, 8115836, 24567078, 15495314, 11625074, 13064599, 7390551, 10589625, 10838060, -15420424}, -+ FieldElement{-19342404, 867880, 9277171, -3218459, -14431572, -1986443, 19295826, -15796950, 6378260, 699185}, -+ FieldElement{7895026, 4057113, -7081772, -13077756, -17886831, -323126, -716039, 15693155, -5045064, -13373962}, -+ }, -+ { -+ FieldElement{-7737563, -5869402, -14566319, -7406919, 11385654, 13201616, 31730678, -10962840, -3918636, -9669325}, -+ FieldElement{10188286, -15770834, -7336361, 13427543, 22223443, 14896287, 30743455, 7116568, -21786507, 5427593}, -+ FieldElement{696102, 13206899, 27047647, -10632082, 15285305, -9853179, 10798490, -4578720, 19236243, 12477404}, -+ }, -+ { -+ FieldElement{-11229439, 11243796, -17054270, -8040865, -788228, -8167967, -3897669, 11180504, -23169516, 7733644}, -+ FieldElement{17800790, -14036179, -27000429, -11766671, 23887827, 3149671, 23466177, -10538171, 10322027, 15313801}, -+ FieldElement{26246234, 11968874, 32263343, -5468728, 6830755, -13323031, -15794704, -101982, -24449242, 10890804}, -+ }, -+ { -+ FieldElement{-31365647, 10271363, -12660625, -6267268, 16690207, -13062544, -14982212, 16484931, 25180797, -5334884}, -+ FieldElement{-586574, 10376444, -32586414, -11286356, 19801893, 10997610, 2276632, 9482883, 316878, 13820577}, -+ FieldElement{-9882808, -4510367, -2115506, 16457136, -11100081, 11674996, 30756178, -7515054, 30696930, -3712849}, -+ }, -+ { -+ FieldElement{32988917, -9603412, 12499366, 7910787, -10617257, -11931514, -7342816, -9985397, -32349517, 7392473}, -+ FieldElement{-8855661, 15927861, 9866406, -3649411, -2396914, -16655781, -30409476, -9134995, 25112947, -2926644}, -+ FieldElement{-2504044, -436966, 25621774, -5678772, 15085042, -5479877, -24884878, -13526194, 5537438, -13914319}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-11225584, 2320285, -9584280, 10149187, -33444663, 5808648, -14876251, -1729667, 31234590, 6090599}, -+ FieldElement{-9633316, 116426, 26083934, 2897444, -6364437, -2688086, 609721, 15878753, -6970405, -9034768}, -+ FieldElement{-27757857, 247744, -15194774, -9002551, 23288161, -10011936, -23869595, 6503646, 20650474, 1804084}, -+ }, -+ { -+ FieldElement{-27589786, 15456424, 8972517, 8469608, 15640622, 4439847, 3121995, -10329713, 27842616, -202328}, -+ FieldElement{-15306973, 2839644, 22530074, 10026331, 4602058, 5048462, 28248656, 5031932, -11375082, 12714369}, -+ FieldElement{20807691, -7270825, 29286141, 11421711, -27876523, -13868230, -21227475, 1035546, -19733229, 12796920}, -+ }, -+ { -+ FieldElement{12076899, -14301286, -8785001, -11848922, -25012791, 16400684, -17591495, -12899438, 3480665, -15182815}, -+ FieldElement{-32361549, 5457597, 28548107, 7833186, 7303070, -11953545, -24363064, -15921875, -33374054, 2771025}, -+ FieldElement{-21389266, 421932, 26597266, 6860826, 22486084, -6737172, -17137485, -4210226, -24552282, 15673397}, -+ }, -+ { -+ FieldElement{-20184622, 2338216, 19788685, -9620956, -4001265, -8740893, -20271184, 4733254, 3727144, -12934448}, -+ FieldElement{6120119, 814863, -11794402, -622716, 6812205, -15747771, 2019594, 7975683, 31123697, -10958981}, -+ FieldElement{30069250, -11435332, 30434654, 2958439, 18399564, -976289, 12296869, 9204260, -16432438, 9648165}, -+ }, -+ { -+ FieldElement{32705432, -1550977, 30705658, 7451065, -11805606, 9631813, 3305266, 5248604, -26008332, -11377501}, -+ FieldElement{17219865, 2375039, -31570947, -5575615, -19459679, 9219903, 294711, 15298639, 2662509, -16297073}, -+ FieldElement{-1172927, -7558695, -4366770, -4287744, -21346413, -8434326, 32087529, -1222777, 32247248, -14389861}, -+ }, -+ { -+ FieldElement{14312628, 1221556, 17395390, -8700143, -4945741, -8684635, -28197744, -9637817, -16027623, -13378845}, -+ FieldElement{-1428825, -9678990, -9235681, 6549687, -7383069, -468664, 23046502, 9803137, 17597934, 2346211}, -+ FieldElement{18510800, 15337574, 26171504, 981392, -22241552, 7827556, -23491134, -11323352, 3059833, -11782870}, -+ }, -+ { -+ FieldElement{10141598, 6082907, 17829293, -1947643, 9830092, 13613136, -25556636, -5544586, -33502212, 3592096}, -+ FieldElement{33114168, -15889352, -26525686, -13343397, 33076705, 8716171, 1151462, 1521897, -982665, -6837803}, -+ FieldElement{-32939165, -4255815, 23947181, -324178, -33072974, -12305637, -16637686, 3891704, 26353178, 693168}, -+ }, -+ { -+ FieldElement{30374239, 1595580, -16884039, 13186931, 4600344, 406904, 9585294, -400668, 31375464, 14369965}, -+ FieldElement{-14370654, -7772529, 1510301, 6434173, -18784789, -6262728, 32732230, -13108839, 17901441, 16011505}, -+ FieldElement{18171223, -11934626, -12500402, 15197122, -11038147, -15230035, -19172240, -16046376, 8764035, 12309598}, -+ }, -+ }, -+ { -+ { -+ FieldElement{5975908, -5243188, -19459362, -9681747, -11541277, 14015782, -23665757, 1228319, 17544096, -10593782}, -+ FieldElement{5811932, -1715293, 3442887, -2269310, -18367348, -8359541, -18044043, -15410127, -5565381, 12348900}, -+ FieldElement{-31399660, 11407555, 25755363, 6891399, -3256938, 14872274, -24849353, 8141295, -10632534, -585479}, -+ }, -+ { -+ FieldElement{-12675304, 694026, -5076145, 13300344, 14015258, -14451394, -9698672, -11329050, 30944593, 1130208}, -+ FieldElement{8247766, -6710942, -26562381, -7709309, -14401939, -14648910, 4652152, 2488540, 23550156, -271232}, -+ FieldElement{17294316, -3788438, 7026748, 15626851, 22990044, 113481, 2267737, -5908146, -408818, -137719}, -+ }, -+ { -+ FieldElement{16091085, -16253926, 18599252, 7340678, 2137637, -1221657, -3364161, 14550936, 3260525, -7166271}, -+ FieldElement{-4910104, -13332887, 18550887, 10864893, -16459325, -7291596, -23028869, -13204905, -12748722, 2701326}, -+ FieldElement{-8574695, 16099415, 4629974, -16340524, -20786213, -6005432, -10018363, 9276971, 11329923, 1862132}, -+ }, -+ { -+ FieldElement{14763076, -15903608, -30918270, 3689867, 3511892, 10313526, -21951088, 12219231, -9037963, -940300}, -+ FieldElement{8894987, -3446094, 6150753, 3013931, 301220, 15693451, -31981216, -2909717, -15438168, 11595570}, -+ FieldElement{15214962, 3537601, -26238722, -14058872, 4418657, -15230761, 13947276, 10730794, -13489462, -4363670}, -+ }, -+ { -+ FieldElement{-2538306, 7682793, 32759013, 263109, -29984731, -7955452, -22332124, -10188635, 977108, 699994}, -+ FieldElement{-12466472, 4195084, -9211532, 550904, -15565337, 12917920, 19118110, -439841, -30534533, -14337913}, -+ FieldElement{31788461, -14507657, 4799989, 7372237, 8808585, -14747943, 9408237, -10051775, 12493932, -5409317}, -+ }, -+ { -+ FieldElement{-25680606, 5260744, -19235809, -6284470, -3695942, 16566087, 27218280, 2607121, 29375955, 6024730}, -+ FieldElement{842132, -2794693, -4763381, -8722815, 26332018, -12405641, 11831880, 6985184, -9940361, 2854096}, -+ FieldElement{-4847262, -7969331, 2516242, -5847713, 9695691, -7221186, 16512645, 960770, 12121869, 16648078}, -+ }, -+ { -+ FieldElement{-15218652, 14667096, -13336229, 2013717, 30598287, -464137, -31504922, -7882064, 20237806, 2838411}, -+ FieldElement{-19288047, 4453152, 15298546, -16178388, 22115043, -15972604, 12544294, -13470457, 1068881, -12499905}, -+ FieldElement{-9558883, -16518835, 33238498, 13506958, 30505848, -1114596, -8486907, -2630053, 12521378, 4845654}, -+ }, -+ { -+ FieldElement{-28198521, 10744108, -2958380, 10199664, 7759311, -13088600, 3409348, -873400, -6482306, -12885870}, -+ FieldElement{-23561822, 6230156, -20382013, 10655314, -24040585, -11621172, 10477734, -1240216, -3113227, 13974498}, -+ FieldElement{12966261, 15550616, -32038948, -1615346, 21025980, -629444, 5642325, 7188737, 18895762, 12629579}, -+ }, -+ }, -+ { -+ { -+ FieldElement{14741879, -14946887, 22177208, -11721237, 1279741, 8058600, 11758140, 789443, 32195181, 3895677}, -+ FieldElement{10758205, 15755439, -4509950, 9243698, -4879422, 6879879, -2204575, -3566119, -8982069, 4429647}, -+ FieldElement{-2453894, 15725973, -20436342, -10410672, -5803908, -11040220, -7135870, -11642895, 18047436, -15281743}, -+ }, -+ { -+ FieldElement{-25173001, -11307165, 29759956, 11776784, -22262383, -15820455, 10993114, -12850837, -17620701, -9408468}, -+ FieldElement{21987233, 700364, -24505048, 14972008, -7774265, -5718395, 32155026, 2581431, -29958985, 8773375}, -+ FieldElement{-25568350, 454463, -13211935, 16126715, 25240068, 8594567, 20656846, 12017935, -7874389, -13920155}, -+ }, -+ { -+ FieldElement{6028182, 6263078, -31011806, -11301710, -818919, 2461772, -31841174, -5468042, -1721788, -2776725}, -+ FieldElement{-12278994, 16624277, 987579, -5922598, 32908203, 1248608, 7719845, -4166698, 28408820, 6816612}, -+ FieldElement{-10358094, -8237829, 19549651, -12169222, 22082623, 16147817, 20613181, 13982702, -10339570, 5067943}, -+ }, -+ { -+ FieldElement{-30505967, -3821767, 12074681, 13582412, -19877972, 2443951, -19719286, 12746132, 5331210, -10105944}, -+ FieldElement{30528811, 3601899, -1957090, 4619785, -27361822, -15436388, 24180793, -12570394, 27679908, -1648928}, -+ FieldElement{9402404, -13957065, 32834043, 10838634, -26580150, -13237195, 26653274, -8685565, 22611444, -12715406}, -+ }, -+ { -+ FieldElement{22190590, 1118029, 22736441, 15130463, -30460692, -5991321, 19189625, -4648942, 4854859, 6622139}, -+ FieldElement{-8310738, -2953450, -8262579, -3388049, -10401731, -271929, 13424426, -3567227, 26404409, 13001963}, -+ FieldElement{-31241838, -15415700, -2994250, 8939346, 11562230, -12840670, -26064365, -11621720, -15405155, 11020693}, -+ }, -+ { -+ FieldElement{1866042, -7949489, -7898649, -10301010, 12483315, 13477547, 3175636, -12424163, 28761762, 1406734}, -+ FieldElement{-448555, -1777666, 13018551, 3194501, -9580420, -11161737, 24760585, -4347088, 25577411, -13378680}, -+ FieldElement{-24290378, 4759345, -690653, -1852816, 2066747, 10693769, -29595790, 9884936, -9368926, 4745410}, -+ }, -+ { -+ FieldElement{-9141284, 6049714, -19531061, -4341411, -31260798, 9944276, -15462008, -11311852, 10931924, -11931931}, -+ FieldElement{-16561513, 14112680, -8012645, 4817318, -8040464, -11414606, -22853429, 10856641, -20470770, 13434654}, -+ FieldElement{22759489, -10073434, -16766264, -1871422, 13637442, -10168091, 1765144, -12654326, 28445307, -5364710}, -+ }, -+ { -+ FieldElement{29875063, 12493613, 2795536, -3786330, 1710620, 15181182, -10195717, -8788675, 9074234, 1167180}, -+ FieldElement{-26205683, 11014233, -9842651, -2635485, -26908120, 7532294, -18716888, -9535498, 3843903, 9367684}, -+ FieldElement{-10969595, -6403711, 9591134, 9582310, 11349256, 108879, 16235123, 8601684, -139197, 4242895}, -+ }, -+ }, -+ { -+ { -+ FieldElement{22092954, -13191123, -2042793, -11968512, 32186753, -11517388, -6574341, 2470660, -27417366, 16625501}, -+ FieldElement{-11057722, 3042016, 13770083, -9257922, 584236, -544855, -7770857, 2602725, -27351616, 14247413}, -+ FieldElement{6314175, -10264892, -32772502, 15957557, -10157730, 168750, -8618807, 14290061, 27108877, -1180880}, -+ }, -+ { -+ FieldElement{-8586597, -7170966, 13241782, 10960156, -32991015, -13794596, 33547976, -11058889, -27148451, 981874}, -+ FieldElement{22833440, 9293594, -32649448, -13618667, -9136966, 14756819, -22928859, -13970780, -10479804, -16197962}, -+ FieldElement{-7768587, 3326786, -28111797, 10783824, 19178761, 14905060, 22680049, 13906969, -15933690, 3797899}, -+ }, -+ { -+ FieldElement{21721356, -4212746, -12206123, 9310182, -3882239, -13653110, 23740224, -2709232, 20491983, -8042152}, -+ FieldElement{9209270, -15135055, -13256557, -6167798, -731016, 15289673, 25947805, 15286587, 30997318, -6703063}, -+ FieldElement{7392032, 16618386, 23946583, -8039892, -13265164, -1533858, -14197445, -2321576, 17649998, -250080}, -+ }, -+ { -+ FieldElement{-9301088, -14193827, 30609526, -3049543, -25175069, -1283752, -15241566, -9525724, -2233253, 7662146}, -+ FieldElement{-17558673, 1763594, -33114336, 15908610, -30040870, -12174295, 7335080, -8472199, -3174674, 3440183}, -+ FieldElement{-19889700, -5977008, -24111293, -9688870, 10799743, -16571957, 40450, -4431835, 4862400, 1133}, -+ }, -+ { -+ FieldElement{-32856209, -7873957, -5422389, 14860950, -16319031, 7956142, 7258061, 311861, -30594991, -7379421}, -+ FieldElement{-3773428, -1565936, 28985340, 7499440, 24445838, 9325937, 29727763, 16527196, 18278453, 15405622}, -+ FieldElement{-4381906, 8508652, -19898366, -3674424, -5984453, 15149970, -13313598, 843523, -21875062, 13626197}, -+ }, -+ { -+ FieldElement{2281448, -13487055, -10915418, -2609910, 1879358, 16164207, -10783882, 3953792, 13340839, 15928663}, -+ FieldElement{31727126, -7179855, -18437503, -8283652, 2875793, -16390330, -25269894, -7014826, -23452306, 5964753}, -+ FieldElement{4100420, -5959452, -17179337, 6017714, -18705837, 12227141, -26684835, 11344144, 2538215, -7570755}, -+ }, -+ { -+ FieldElement{-9433605, 6123113, 11159803, -2156608, 30016280, 14966241, -20474983, 1485421, -629256, -15958862}, -+ FieldElement{-26804558, 4260919, 11851389, 9658551, -32017107, 16367492, -20205425, -13191288, 11659922, -11115118}, -+ FieldElement{26180396, 10015009, -30844224, -8581293, 5418197, 9480663, 2231568, -10170080, 33100372, -1306171}, -+ }, -+ { -+ FieldElement{15121113, -5201871, -10389905, 15427821, -27509937, -15992507, 21670947, 4486675, -5931810, -14466380}, -+ FieldElement{16166486, -9483733, -11104130, 6023908, -31926798, -1364923, 2340060, -16254968, -10735770, -10039824}, -+ FieldElement{28042865, -3557089, -12126526, 12259706, -3717498, -6945899, 6766453, -8689599, 18036436, 5803270}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-817581, 6763912, 11803561, 1585585, 10958447, -2671165, 23855391, 4598332, -6159431, -14117438}, -+ FieldElement{-31031306, -14256194, 17332029, -2383520, 31312682, -5967183, 696309, 50292, -20095739, 11763584}, -+ FieldElement{-594563, -2514283, -32234153, 12643980, 12650761, 14811489, 665117, -12613632, -19773211, -10713562}, -+ }, -+ { -+ FieldElement{30464590, -11262872, -4127476, -12734478, 19835327, -7105613, -24396175, 2075773, -17020157, 992471}, -+ FieldElement{18357185, -6994433, 7766382, 16342475, -29324918, 411174, 14578841, 8080033, -11574335, -10601610}, -+ FieldElement{19598397, 10334610, 12555054, 2555664, 18821899, -10339780, 21873263, 16014234, 26224780, 16452269}, -+ }, -+ { -+ FieldElement{-30223925, 5145196, 5944548, 16385966, 3976735, 2009897, -11377804, -7618186, -20533829, 3698650}, -+ FieldElement{14187449, 3448569, -10636236, -10810935, -22663880, -3433596, 7268410, -10890444, 27394301, 12015369}, -+ FieldElement{19695761, 16087646, 28032085, 12999827, 6817792, 11427614, 20244189, -1312777, -13259127, -3402461}, -+ }, -+ { -+ FieldElement{30860103, 12735208, -1888245, -4699734, -16974906, 2256940, -8166013, 12298312, -8550524, -10393462}, -+ FieldElement{-5719826, -11245325, -1910649, 15569035, 26642876, -7587760, -5789354, -15118654, -4976164, 12651793}, -+ FieldElement{-2848395, 9953421, 11531313, -5282879, 26895123, -12697089, -13118820, -16517902, 9768698, -2533218}, -+ }, -+ { -+ FieldElement{-24719459, 1894651, -287698, -4704085, 15348719, -8156530, 32767513, 12765450, 4940095, 10678226}, -+ FieldElement{18860224, 15980149, -18987240, -1562570, -26233012, -11071856, -7843882, 13944024, -24372348, 16582019}, -+ FieldElement{-15504260, 4970268, -29893044, 4175593, -20993212, -2199756, -11704054, 15444560, -11003761, 7989037}, -+ }, -+ { -+ FieldElement{31490452, 5568061, -2412803, 2182383, -32336847, 4531686, -32078269, 6200206, -19686113, -14800171}, -+ FieldElement{-17308668, -15879940, -31522777, -2831, -32887382, 16375549, 8680158, -16371713, 28550068, -6857132}, -+ FieldElement{-28126887, -5688091, 16837845, -1820458, -6850681, 12700016, -30039981, 4364038, 1155602, 5988841}, -+ }, -+ { -+ FieldElement{21890435, -13272907, -12624011, 12154349, -7831873, 15300496, 23148983, -4470481, 24618407, 8283181}, -+ FieldElement{-33136107, -10512751, 9975416, 6841041, -31559793, 16356536, 3070187, -7025928, 1466169, 10740210}, -+ FieldElement{-1509399, -15488185, -13503385, -10655916, 32799044, 909394, -13938903, -5779719, -32164649, -15327040}, -+ }, -+ { -+ FieldElement{3960823, -14267803, -28026090, -15918051, -19404858, 13146868, 15567327, 951507, -3260321, -573935}, -+ FieldElement{24740841, 5052253, -30094131, 8961361, 25877428, 6165135, -24368180, 14397372, -7380369, -6144105}, -+ FieldElement{-28888365, 3510803, -28103278, -1158478, -11238128, -10631454, -15441463, -14453128, -1625486, -6494814}, -+ }, -+ }, -+ { -+ { -+ FieldElement{793299, -9230478, 8836302, -6235707, -27360908, -2369593, 33152843, -4885251, -9906200, -621852}, -+ FieldElement{5666233, 525582, 20782575, -8038419, -24538499, 14657740, 16099374, 1468826, -6171428, -15186581}, -+ FieldElement{-4859255, -3779343, -2917758, -6748019, 7778750, 11688288, -30404353, -9871238, -1558923, -9863646}, -+ }, -+ { -+ FieldElement{10896332, -7719704, 824275, 472601, -19460308, 3009587, 25248958, 14783338, -30581476, -15757844}, -+ FieldElement{10566929, 12612572, -31944212, 11118703, -12633376, 12362879, 21752402, 8822496, 24003793, 14264025}, -+ FieldElement{27713862, -7355973, -11008240, 9227530, 27050101, 2504721, 23886875, -13117525, 13958495, -5732453}, -+ }, -+ { -+ FieldElement{-23481610, 4867226, -27247128, 3900521, 29838369, -8212291, -31889399, -10041781, 7340521, -15410068}, -+ FieldElement{4646514, -8011124, -22766023, -11532654, 23184553, 8566613, 31366726, -1381061, -15066784, -10375192}, -+ FieldElement{-17270517, 12723032, -16993061, 14878794, 21619651, -6197576, 27584817, 3093888, -8843694, 3849921}, -+ }, -+ { -+ FieldElement{-9064912, 2103172, 25561640, -15125738, -5239824, 9582958, 32477045, -9017955, 5002294, -15550259}, -+ FieldElement{-12057553, -11177906, 21115585, -13365155, 8808712, -12030708, 16489530, 13378448, -25845716, 12741426}, -+ FieldElement{-5946367, 10645103, -30911586, 15390284, -3286982, -7118677, 24306472, 15852464, 28834118, -7646072}, -+ }, -+ { -+ FieldElement{-17335748, -9107057, -24531279, 9434953, -8472084, -583362, -13090771, 455841, 20461858, 5491305}, -+ FieldElement{13669248, -16095482, -12481974, -10203039, -14569770, -11893198, -24995986, 11293807, -28588204, -9421832}, -+ FieldElement{28497928, 6272777, -33022994, 14470570, 8906179, -1225630, 18504674, -14165166, 29867745, -8795943}, -+ }, -+ { -+ FieldElement{-16207023, 13517196, -27799630, -13697798, 24009064, -6373891, -6367600, -13175392, 22853429, -4012011}, -+ FieldElement{24191378, 16712145, -13931797, 15217831, 14542237, 1646131, 18603514, -11037887, 12876623, -2112447}, -+ FieldElement{17902668, 4518229, -411702, -2829247, 26878217, 5258055, -12860753, 608397, 16031844, 3723494}, -+ }, -+ { -+ FieldElement{-28632773, 12763728, -20446446, 7577504, 33001348, -13017745, 17558842, -7872890, 23896954, -4314245}, -+ FieldElement{-20005381, -12011952, 31520464, 605201, 2543521, 5991821, -2945064, 7229064, -9919646, -8826859}, -+ FieldElement{28816045, 298879, -28165016, -15920938, 19000928, -1665890, -12680833, -2949325, -18051778, -2082915}, -+ }, -+ { -+ FieldElement{16000882, -344896, 3493092, -11447198, -29504595, -13159789, 12577740, 16041268, -19715240, 7847707}, -+ FieldElement{10151868, 10572098, 27312476, 7922682, 14825339, 4723128, -32855931, -6519018, -10020567, 3852848}, -+ FieldElement{-11430470, 15697596, -21121557, -4420647, 5386314, 15063598, 16514493, -15932110, 29330899, -15076224}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-25499735, -4378794, -15222908, -6901211, 16615731, 2051784, 3303702, 15490, -27548796, 12314391}, -+ FieldElement{15683520, -6003043, 18109120, -9980648, 15337968, -5997823, -16717435, 15921866, 16103996, -3731215}, -+ FieldElement{-23169824, -10781249, 13588192, -1628807, -3798557, -1074929, -19273607, 5402699, -29815713, -9841101}, -+ }, -+ { -+ FieldElement{23190676, 2384583, -32714340, 3462154, -29903655, -1529132, -11266856, 8911517, -25205859, 2739713}, -+ FieldElement{21374101, -3554250, -33524649, 9874411, 15377179, 11831242, -33529904, 6134907, 4931255, 11987849}, -+ FieldElement{-7732, -2978858, -16223486, 7277597, 105524, -322051, -31480539, 13861388, -30076310, 10117930}, -+ }, -+ { -+ FieldElement{-29501170, -10744872, -26163768, 13051539, -25625564, 5089643, -6325503, 6704079, 12890019, 15728940}, -+ FieldElement{-21972360, -11771379, -951059, -4418840, 14704840, 2695116, 903376, -10428139, 12885167, 8311031}, -+ FieldElement{-17516482, 5352194, 10384213, -13811658, 7506451, 13453191, 26423267, 4384730, 1888765, -5435404}, -+ }, -+ { -+ FieldElement{-25817338, -3107312, -13494599, -3182506, 30896459, -13921729, -32251644, -12707869, -19464434, -3340243}, -+ FieldElement{-23607977, -2665774, -526091, 4651136, 5765089, 4618330, 6092245, 14845197, 17151279, -9854116}, -+ FieldElement{-24830458, -12733720, -15165978, 10367250, -29530908, -265356, 22825805, -7087279, -16866484, 16176525}, -+ }, -+ { -+ FieldElement{-23583256, 6564961, 20063689, 3798228, -4740178, 7359225, 2006182, -10363426, -28746253, -10197509}, -+ FieldElement{-10626600, -4486402, -13320562, -5125317, 3432136, -6393229, 23632037, -1940610, 32808310, 1099883}, -+ FieldElement{15030977, 5768825, -27451236, -2887299, -6427378, -15361371, -15277896, -6809350, 2051441, -15225865}, -+ }, -+ { -+ FieldElement{-3362323, -7239372, 7517890, 9824992, 23555850, 295369, 5148398, -14154188, -22686354, 16633660}, -+ FieldElement{4577086, -16752288, 13249841, -15304328, 19958763, -14537274, 18559670, -10759549, 8402478, -9864273}, -+ FieldElement{-28406330, -1051581, -26790155, -907698, -17212414, -11030789, 9453451, -14980072, 17983010, 9967138}, -+ }, -+ { -+ FieldElement{-25762494, 6524722, 26585488, 9969270, 24709298, 1220360, -1677990, 7806337, 17507396, 3651560}, -+ FieldElement{-10420457, -4118111, 14584639, 15971087, -15768321, 8861010, 26556809, -5574557, -18553322, -11357135}, -+ FieldElement{2839101, 14284142, 4029895, 3472686, 14402957, 12689363, -26642121, 8459447, -5605463, -7621941}, -+ }, -+ { -+ FieldElement{-4839289, -3535444, 9744961, 2871048, 25113978, 3187018, -25110813, -849066, 17258084, -7977739}, -+ FieldElement{18164541, -10595176, -17154882, -1542417, 19237078, -9745295, 23357533, -15217008, 26908270, 12150756}, -+ FieldElement{-30264870, -7647865, 5112249, -7036672, -1499807, -6974257, 43168, -5537701, -32302074, 16215819}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-6898905, 9824394, -12304779, -4401089, -31397141, -6276835, 32574489, 12532905, -7503072, -8675347}, -+ FieldElement{-27343522, -16515468, -27151524, -10722951, 946346, 16291093, 254968, 7168080, 21676107, -1943028}, -+ FieldElement{21260961, -8424752, -16831886, -11920822, -23677961, 3968121, -3651949, -6215466, -3556191, -7913075}, -+ }, -+ { -+ FieldElement{16544754, 13250366, -16804428, 15546242, -4583003, 12757258, -2462308, -8680336, -18907032, -9662799}, -+ FieldElement{-2415239, -15577728, 18312303, 4964443, -15272530, -12653564, 26820651, 16690659, 25459437, -4564609}, -+ FieldElement{-25144690, 11425020, 28423002, -11020557, -6144921, -15826224, 9142795, -2391602, -6432418, -1644817}, -+ }, -+ { -+ FieldElement{-23104652, 6253476, 16964147, -3768872, -25113972, -12296437, -27457225, -16344658, 6335692, 7249989}, -+ FieldElement{-30333227, 13979675, 7503222, -12368314, -11956721, -4621693, -30272269, 2682242, 25993170, -12478523}, -+ FieldElement{4364628, 5930691, 32304656, -10044554, -8054781, 15091131, 22857016, -10598955, 31820368, 15075278}, -+ }, -+ { -+ FieldElement{31879134, -8918693, 17258761, 90626, -8041836, -4917709, 24162788, -9650886, -17970238, 12833045}, -+ FieldElement{19073683, 14851414, -24403169, -11860168, 7625278, 11091125, -19619190, 2074449, -9413939, 14905377}, -+ FieldElement{24483667, -11935567, -2518866, -11547418, -1553130, 15355506, -25282080, 9253129, 27628530, -7555480}, -+ }, -+ { -+ FieldElement{17597607, 8340603, 19355617, 552187, 26198470, -3176583, 4593324, -9157582, -14110875, 15297016}, -+ FieldElement{510886, 14337390, -31785257, 16638632, 6328095, 2713355, -20217417, -11864220, 8683221, 2921426}, -+ FieldElement{18606791, 11874196, 27155355, -5281482, -24031742, 6265446, -25178240, -1278924, 4674690, 13890525}, -+ }, -+ { -+ FieldElement{13609624, 13069022, -27372361, -13055908, 24360586, 9592974, 14977157, 9835105, 4389687, 288396}, -+ FieldElement{9922506, -519394, 13613107, 5883594, -18758345, -434263, -12304062, 8317628, 23388070, 16052080}, -+ FieldElement{12720016, 11937594, -31970060, -5028689, 26900120, 8561328, -20155687, -11632979, -14754271, -10812892}, -+ }, -+ { -+ FieldElement{15961858, 14150409, 26716931, -665832, -22794328, 13603569, 11829573, 7467844, -28822128, 929275}, -+ FieldElement{11038231, -11582396, -27310482, -7316562, -10498527, -16307831, -23479533, -9371869, -21393143, 2465074}, -+ FieldElement{20017163, -4323226, 27915242, 1529148, 12396362, 15675764, 13817261, -9658066, 2463391, -4622140}, -+ }, -+ { -+ FieldElement{-16358878, -12663911, -12065183, 4996454, -1256422, 1073572, 9583558, 12851107, 4003896, 12673717}, -+ FieldElement{-1731589, -15155870, -3262930, 16143082, 19294135, 13385325, 14741514, -9103726, 7903886, 2348101}, -+ FieldElement{24536016, -16515207, 12715592, -3862155, 1511293, 10047386, -3842346, -7129159, -28377538, 10048127}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-12622226, -6204820, 30718825, 2591312, -10617028, 12192840, 18873298, -7297090, -32297756, 15221632}, -+ FieldElement{-26478122, -11103864, 11546244, -1852483, 9180880, 7656409, -21343950, 2095755, 29769758, 6593415}, -+ FieldElement{-31994208, -2907461, 4176912, 3264766, 12538965, -868111, 26312345, -6118678, 30958054, 8292160}, -+ }, -+ { -+ FieldElement{31429822, -13959116, 29173532, 15632448, 12174511, -2760094, 32808831, 3977186, 26143136, -3148876}, -+ FieldElement{22648901, 1402143, -22799984, 13746059, 7936347, 365344, -8668633, -1674433, -3758243, -2304625}, -+ FieldElement{-15491917, 8012313, -2514730, -12702462, -23965846, -10254029, -1612713, -1535569, -16664475, 8194478}, -+ }, -+ { -+ FieldElement{27338066, -7507420, -7414224, 10140405, -19026427, -6589889, 27277191, 8855376, 28572286, 3005164}, -+ FieldElement{26287124, 4821776, 25476601, -4145903, -3764513, -15788984, -18008582, 1182479, -26094821, -13079595}, -+ FieldElement{-7171154, 3178080, 23970071, 6201893, -17195577, -4489192, -21876275, -13982627, 32208683, -1198248}, -+ }, -+ { -+ FieldElement{-16657702, 2817643, -10286362, 14811298, 6024667, 13349505, -27315504, -10497842, -27672585, -11539858}, -+ FieldElement{15941029, -9405932, -21367050, 8062055, 31876073, -238629, -15278393, -1444429, 15397331, -4130193}, -+ FieldElement{8934485, -13485467, -23286397, -13423241, -32446090, 14047986, 31170398, -1441021, -27505566, 15087184}, -+ }, -+ { -+ FieldElement{-18357243, -2156491, 24524913, -16677868, 15520427, -6360776, -15502406, 11461896, 16788528, -5868942}, -+ FieldElement{-1947386, 16013773, 21750665, 3714552, -17401782, -16055433, -3770287, -10323320, 31322514, -11615635}, -+ FieldElement{21426655, -5650218, -13648287, -5347537, -28812189, -4920970, -18275391, -14621414, 13040862, -12112948}, -+ }, -+ { -+ FieldElement{11293895, 12478086, -27136401, 15083750, -29307421, 14748872, 14555558, -13417103, 1613711, 4896935}, -+ FieldElement{-25894883, 15323294, -8489791, -8057900, 25967126, -13425460, 2825960, -4897045, -23971776, -11267415}, -+ FieldElement{-15924766, -5229880, -17443532, 6410664, 3622847, 10243618, 20615400, 12405433, -23753030, -8436416}, -+ }, -+ { -+ FieldElement{-7091295, 12556208, -20191352, 9025187, -17072479, 4333801, 4378436, 2432030, 23097949, -566018}, -+ FieldElement{4565804, -16025654, 20084412, -7842817, 1724999, 189254, 24767264, 10103221, -18512313, 2424778}, -+ FieldElement{366633, -11976806, 8173090, -6890119, 30788634, 5745705, -7168678, 1344109, -3642553, 12412659}, -+ }, -+ { -+ FieldElement{-24001791, 7690286, 14929416, -168257, -32210835, -13412986, 24162697, -15326504, -3141501, 11179385}, -+ FieldElement{18289522, -14724954, 8056945, 16430056, -21729724, 7842514, -6001441, -1486897, -18684645, -11443503}, -+ FieldElement{476239, 6601091, -6152790, -9723375, 17503545, -4863900, 27672959, 13403813, 11052904, 5219329}, -+ }, -+ }, -+ { -+ { -+ FieldElement{20678546, -8375738, -32671898, 8849123, -5009758, 14574752, 31186971, -3973730, 9014762, -8579056}, -+ FieldElement{-13644050, -10350239, -15962508, 5075808, -1514661, -11534600, -33102500, 9160280, 8473550, -3256838}, -+ FieldElement{24900749, 14435722, 17209120, -15292541, -22592275, 9878983, -7689309, -16335821, -24568481, 11788948}, -+ }, -+ { -+ FieldElement{-3118155, -11395194, -13802089, 14797441, 9652448, -6845904, -20037437, 10410733, -24568470, -1458691}, -+ FieldElement{-15659161, 16736706, -22467150, 10215878, -9097177, 7563911, 11871841, -12505194, -18513325, 8464118}, -+ FieldElement{-23400612, 8348507, -14585951, -861714, -3950205, -6373419, 14325289, 8628612, 33313881, -8370517}, -+ }, -+ { -+ FieldElement{-20186973, -4967935, 22367356, 5271547, -1097117, -4788838, -24805667, -10236854, -8940735, -5818269}, -+ FieldElement{-6948785, -1795212, -32625683, -16021179, 32635414, -7374245, 15989197, -12838188, 28358192, -4253904}, -+ FieldElement{-23561781, -2799059, -32351682, -1661963, -9147719, 10429267, -16637684, 4072016, -5351664, 5596589}, -+ }, -+ { -+ FieldElement{-28236598, -3390048, 12312896, 6213178, 3117142, 16078565, 29266239, 2557221, 1768301, 15373193}, -+ FieldElement{-7243358, -3246960, -4593467, -7553353, -127927, -912245, -1090902, -4504991, -24660491, 3442910}, -+ FieldElement{-30210571, 5124043, 14181784, 8197961, 18964734, -11939093, 22597931, 7176455, -18585478, 13365930}, -+ }, -+ { -+ FieldElement{-7877390, -1499958, 8324673, 4690079, 6261860, 890446, 24538107, -8570186, -9689599, -3031667}, -+ FieldElement{25008904, -10771599, -4305031, -9638010, 16265036, 15721635, 683793, -11823784, 15723479, -15163481}, -+ FieldElement{-9660625, 12374379, -27006999, -7026148, -7724114, -12314514, 11879682, 5400171, 519526, -1235876}, -+ }, -+ { -+ FieldElement{22258397, -16332233, -7869817, 14613016, -22520255, -2950923, -20353881, 7315967, 16648397, 7605640}, -+ FieldElement{-8081308, -8464597, -8223311, 9719710, 19259459, -15348212, 23994942, -5281555, -9468848, 4763278}, -+ FieldElement{-21699244, 9220969, -15730624, 1084137, -25476107, -2852390, 31088447, -7764523, -11356529, 728112}, -+ }, -+ { -+ FieldElement{26047220, -11751471, -6900323, -16521798, 24092068, 9158119, -4273545, -12555558, -29365436, -5498272}, -+ FieldElement{17510331, -322857, 5854289, 8403524, 17133918, -3112612, -28111007, 12327945, 10750447, 10014012}, -+ FieldElement{-10312768, 3936952, 9156313, -8897683, 16498692, -994647, -27481051, -666732, 3424691, 7540221}, -+ }, -+ { -+ FieldElement{30322361, -6964110, 11361005, -4143317, 7433304, 4989748, -7071422, -16317219, -9244265, 15258046}, -+ FieldElement{13054562, -2779497, 19155474, 469045, -12482797, 4566042, 5631406, 2711395, 1062915, -5136345}, -+ FieldElement{-19240248, -11254599, -29509029, -7499965, -5835763, 13005411, -6066489, 12194497, 32960380, 1459310}, -+ }, -+ }, -+ { -+ { -+ FieldElement{19852034, 7027924, 23669353, 10020366, 8586503, -6657907, 394197, -6101885, 18638003, -11174937}, -+ FieldElement{31395534, 15098109, 26581030, 8030562, -16527914, -5007134, 9012486, -7584354, -6643087, -5442636}, -+ FieldElement{-9192165, -2347377, -1997099, 4529534, 25766844, 607986, -13222, 9677543, -32294889, -6456008}, -+ }, -+ { -+ FieldElement{-2444496, -149937, 29348902, 8186665, 1873760, 12489863, -30934579, -7839692, -7852844, -8138429}, -+ FieldElement{-15236356, -15433509, 7766470, 746860, 26346930, -10221762, -27333451, 10754588, -9431476, 5203576}, -+ FieldElement{31834314, 14135496, -770007, 5159118, 20917671, -16768096, -7467973, -7337524, 31809243, 7347066}, -+ }, -+ { -+ FieldElement{-9606723, -11874240, 20414459, 13033986, 13716524, -11691881, 19797970, -12211255, 15192876, -2087490}, -+ FieldElement{-12663563, -2181719, 1168162, -3804809, 26747877, -14138091, 10609330, 12694420, 33473243, -13382104}, -+ FieldElement{33184999, 11180355, 15832085, -11385430, -1633671, 225884, 15089336, -11023903, -6135662, 14480053}, -+ }, -+ { -+ FieldElement{31308717, -5619998, 31030840, -1897099, 15674547, -6582883, 5496208, 13685227, 27595050, 8737275}, -+ FieldElement{-20318852, -15150239, 10933843, -16178022, 8335352, -7546022, -31008351, -12610604, 26498114, 66511}, -+ FieldElement{22644454, -8761729, -16671776, 4884562, -3105614, -13559366, 30540766, -4286747, -13327787, -7515095}, -+ }, -+ { -+ FieldElement{-28017847, 9834845, 18617207, -2681312, -3401956, -13307506, 8205540, 13585437, -17127465, 15115439}, -+ FieldElement{23711543, -672915, 31206561, -8362711, 6164647, -9709987, -33535882, -1426096, 8236921, 16492939}, -+ FieldElement{-23910559, -13515526, -26299483, -4503841, 25005590, -7687270, 19574902, 10071562, 6708380, -6222424}, -+ }, -+ { -+ FieldElement{2101391, -4930054, 19702731, 2367575, -15427167, 1047675, 5301017, 9328700, 29955601, -11678310}, -+ FieldElement{3096359, 9271816, -21620864, -15521844, -14847996, -7592937, -25892142, -12635595, -9917575, 6216608}, -+ FieldElement{-32615849, 338663, -25195611, 2510422, -29213566, -13820213, 24822830, -6146567, -26767480, 7525079}, -+ }, -+ { -+ FieldElement{-23066649, -13985623, 16133487, -7896178, -3389565, 778788, -910336, -2782495, -19386633, 11994101}, -+ FieldElement{21691500, -13624626, -641331, -14367021, 3285881, -3483596, -25064666, 9718258, -7477437, 13381418}, -+ FieldElement{18445390, -4202236, 14979846, 11622458, -1727110, -3582980, 23111648, -6375247, 28535282, 15779576}, -+ }, -+ { -+ FieldElement{30098053, 3089662, -9234387, 16662135, -21306940, 11308411, -14068454, 12021730, 9955285, -16303356}, -+ FieldElement{9734894, -14576830, -7473633, -9138735, 2060392, 11313496, -18426029, 9924399, 20194861, 13380996}, -+ FieldElement{-26378102, -7965207, -22167821, 15789297, -18055342, -6168792, -1984914, 15707771, 26342023, 10146099}, -+ }, -+ }, -+ { -+ { -+ FieldElement{-26016874, -219943, 21339191, -41388, 19745256, -2878700, -29637280, 2227040, 21612326, -545728}, -+ FieldElement{-13077387, 1184228, 23562814, -5970442, -20351244, -6348714, 25764461, 12243797, -20856566, 11649658}, -+ FieldElement{-10031494, 11262626, 27384172, 2271902, 26947504, -15997771, 39944, 6114064, 33514190, 2333242}, -+ }, -+ { -+ FieldElement{-21433588, -12421821, 8119782, 7219913, -21830522, -9016134, -6679750, -12670638, 24350578, -13450001}, -+ FieldElement{-4116307, -11271533, -23886186, 4843615, -30088339, 690623, -31536088, -10406836, 8317860, 12352766}, -+ FieldElement{18200138, -14475911, -33087759, -2696619, -23702521, -9102511, -23552096, -2287550, 20712163, 6719373}, -+ }, -+ { -+ FieldElement{26656208, 6075253, -7858556, 1886072, -28344043, 4262326, 11117530, -3763210, 26224235, -3297458}, -+ FieldElement{-17168938, -14854097, -3395676, -16369877, -19954045, 14050420, 21728352, 9493610, 18620611, -16428628}, -+ FieldElement{-13323321, 13325349, 11432106, 5964811, 18609221, 6062965, -5269471, -9725556, -30701573, -16479657}, -+ }, -+ { -+ FieldElement{-23860538, -11233159, 26961357, 1640861, -32413112, -16737940, 12248509, -5240639, 13735342, 1934062}, -+ FieldElement{25089769, 6742589, 17081145, -13406266, 21909293, -16067981, -15136294, -3765346, -21277997, 5473616}, -+ FieldElement{31883677, -7961101, 1083432, -11572403, 22828471, 13290673, -7125085, 12469656, 29111212, -5451014}, -+ }, -+ { -+ FieldElement{24244947, -15050407, -26262976, 2791540, -14997599, 16666678, 24367466, 6388839, -10295587, 452383}, -+ FieldElement{-25640782, -3417841, 5217916, 16224624, 19987036, -4082269, -24236251, -5915248, 15766062, 8407814}, -+ FieldElement{-20406999, 13990231, 15495425, 16395525, 5377168, 15166495, -8917023, -4388953, -8067909, 2276718}, -+ }, -+ { -+ FieldElement{30157918, 12924066, -17712050, 9245753, 19895028, 3368142, -23827587, 5096219, 22740376, -7303417}, -+ FieldElement{2041139, -14256350, 7783687, 13876377, -25946985, -13352459, 24051124, 13742383, -15637599, 13295222}, -+ FieldElement{33338237, -8505733, 12532113, 7977527, 9106186, -1715251, -17720195, -4612972, -4451357, -14669444}, -+ }, -+ { -+ FieldElement{-20045281, 5454097, -14346548, 6447146, 28862071, 1883651, -2469266, -4141880, 7770569, 9620597}, -+ FieldElement{23208068, 7979712, 33071466, 8149229, 1758231, -10834995, 30945528, -1694323, -33502340, -14767970}, -+ FieldElement{1439958, -16270480, -1079989, -793782, 4625402, 10647766, -5043801, 1220118, 30494170, -11440799}, -+ }, -+ { -+ FieldElement{-5037580, -13028295, -2970559, -3061767, 15640974, -6701666, -26739026, 926050, -1684339, -13333647}, -+ FieldElement{13908495, -3549272, 30919928, -6273825, -21521863, 7989039, 9021034, 9078865, 3353509, 4033511}, -+ FieldElement{-29663431, -15113610, 32259991, -344482, 24295849, -12912123, 23161163, 8839127, 27485041, 7356032}, -+ }, -+ }, -+ { -+ { -+ FieldElement{9661027, 705443, 11980065, -5370154, -1628543, 14661173, -6346142, 2625015, 28431036, -16771834}, -+ FieldElement{-23839233, -8311415, -25945511, 7480958, -17681669, -8354183, -22545972, 14150565, 15970762, 4099461}, -+ FieldElement{29262576, 16756590, 26350592, -8793563, 8529671, -11208050, 13617293, -9937143, 11465739, 8317062}, -+ }, -+ { -+ FieldElement{-25493081, -6962928, 32500200, -9419051, -23038724, -2302222, 14898637, 3848455, 20969334, -5157516}, -+ FieldElement{-20384450, -14347713, -18336405, 13884722, -33039454, 2842114, -21610826, -3649888, 11177095, 14989547}, -+ FieldElement{-24496721, -11716016, 16959896, 2278463, 12066309, 10137771, 13515641, 2581286, -28487508, 9930240}, -+ }, -+ { -+ FieldElement{-17751622, -2097826, 16544300, -13009300, -15914807, -14949081, 18345767, -13403753, 16291481, -5314038}, -+ FieldElement{-33229194, 2553288, 32678213, 9875984, 8534129, 6889387, -9676774, 6957617, 4368891, 9788741}, -+ FieldElement{16660756, 7281060, -10830758, 12911820, 20108584, -8101676, -21722536, -8613148, 16250552, -11111103}, -+ }, -+ { -+ FieldElement{-19765507, 2390526, -16551031, 14161980, 1905286, 6414907, 4689584, 10604807, -30190403, 4782747}, -+ FieldElement{-1354539, 14736941, -7367442, -13292886, 7710542, -14155590, -9981571, 4383045, 22546403, 437323}, -+ FieldElement{31665577, -12180464, -16186830, 1491339, -18368625, 3294682, 27343084, 2786261, -30633590, -14097016}, -+ }, -+ { -+ FieldElement{-14467279, -683715, -33374107, 7448552, 19294360, 14334329, -19690631, 2355319, -19284671, -6114373}, -+ FieldElement{15121312, -15796162, 6377020, -6031361, -10798111, -12957845, 18952177, 15496498, -29380133, 11754228}, -+ FieldElement{-2637277, -13483075, 8488727, -14303896, 12728761, -1622493, 7141596, 11724556, 22761615, -10134141}, -+ }, -+ { -+ FieldElement{16918416, 11729663, -18083579, 3022987, -31015732, -13339659, -28741185, -12227393, 32851222, 11717399}, -+ FieldElement{11166634, 7338049, -6722523, 4531520, -29468672, -7302055, 31474879, 3483633, -1193175, -4030831}, -+ FieldElement{-185635, 9921305, 31456609, -13536438, -12013818, 13348923, 33142652, 6546660, -19985279, -3948376}, -+ }, -+ { -+ FieldElement{-32460596, 11266712, -11197107, -7899103, 31703694, 3855903, -8537131, -12833048, -30772034, -15486313}, -+ FieldElement{-18006477, 12709068, 3991746, -6479188, -21491523, -10550425, -31135347, -16049879, 10928917, 3011958}, -+ FieldElement{-6957757, -15594337, 31696059, 334240, 29576716, 14796075, -30831056, -12805180, 18008031, 10258577}, -+ }, -+ { -+ FieldElement{-22448644, 15655569, 7018479, -4410003, -30314266, -1201591, -1853465, 1367120, 25127874, 6671743}, -+ FieldElement{29701166, -14373934, -10878120, 9279288, -17568, 13127210, 21382910, 11042292, 25838796, 4642684}, -+ FieldElement{-20430234, 14955537, -24126347, 8124619, -5369288, -5990470, 30468147, -13900640, 18423289, 4177476}, -+ }, -+ }, -+} -diff --git a/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/edwards25519.go b/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/edwards25519.go -new file mode 100644 -index 000000000..fd03c252a ---- /dev/null -+++ b/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/edwards25519.go -@@ -0,0 +1,1793 @@ -+// 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 edwards25519 -+ -+import "encoding/binary" -+ -+// This code is a port of the public domain, “ref10” implementation of ed25519 -+// from SUPERCOP. -+ -+// 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 -+ -+var zero FieldElement -+ -+func FeZero(fe *FieldElement) { -+ copy(fe[:], zero[:]) -+} -+ -+func FeOne(fe *FieldElement) { -+ FeZero(fe) -+ fe[0] = 1 -+} -+ -+func FeAdd(dst, a, b *FieldElement) { -+ dst[0] = a[0] + b[0] -+ dst[1] = a[1] + b[1] -+ dst[2] = a[2] + b[2] -+ dst[3] = a[3] + b[3] -+ dst[4] = a[4] + b[4] -+ dst[5] = a[5] + b[5] -+ dst[6] = a[6] + b[6] -+ dst[7] = a[7] + b[7] -+ dst[8] = a[8] + b[8] -+ dst[9] = a[9] + b[9] -+} -+ -+func FeSub(dst, a, b *FieldElement) { -+ dst[0] = a[0] - b[0] -+ dst[1] = a[1] - b[1] -+ dst[2] = a[2] - b[2] -+ dst[3] = a[3] - b[3] -+ dst[4] = a[4] - b[4] -+ dst[5] = a[5] - b[5] -+ dst[6] = a[6] - b[6] -+ dst[7] = a[7] - b[7] -+ dst[8] = a[8] - b[8] -+ dst[9] = a[9] - b[9] -+} -+ -+func FeCopy(dst, src *FieldElement) { -+ copy(dst[:], src[:]) -+} -+ -+// Replace (f,g) with (g,g) if b == 1; -+// replace (f,g) with (f,g) if b == 0. -+// -+// Preconditions: b in {0,1}. -+func FeCMove(f, g *FieldElement, b int32) { -+ b = -b -+ f[0] ^= b & (f[0] ^ g[0]) -+ f[1] ^= b & (f[1] ^ g[1]) -+ f[2] ^= b & (f[2] ^ g[2]) -+ f[3] ^= b & (f[3] ^ g[3]) -+ f[4] ^= b & (f[4] ^ g[4]) -+ f[5] ^= b & (f[5] ^ g[5]) -+ f[6] ^= b & (f[6] ^ g[6]) -+ f[7] ^= b & (f[7] ^ g[7]) -+ f[8] ^= b & (f[8] ^ g[8]) -+ f[9] ^= b & (f[9] ^ g[9]) -+} -+ -+func load3(in []byte) int64 { -+ var r int64 -+ r = int64(in[0]) -+ r |= int64(in[1]) << 8 -+ r |= int64(in[2]) << 16 -+ return r -+} -+ -+func load4(in []byte) int64 { -+ var r int64 -+ r = int64(in[0]) -+ r |= int64(in[1]) << 8 -+ r |= int64(in[2]) << 16 -+ r |= int64(in[3]) << 24 -+ return r -+} -+ -+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:]) & 8388607) << 2 -+ -+ FeCombine(dst, h0, h1, h2, h3, h4, h5, h6, h7, h8, 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) -+} -+ -+func FeIsNegative(f *FieldElement) byte { -+ var s [32]byte -+ FeToBytes(&s, f) -+ return s[0] & 1 -+} -+ -+func FeIsNonZero(f *FieldElement) int32 { -+ var s [32]byte -+ FeToBytes(&s, f) -+ var x uint8 -+ for _, b := range s { -+ x |= b -+ } -+ x |= x >> 4 -+ x |= x >> 2 -+ x |= x >> 1 -+ return int32(x & 1) -+} -+ -+// FeNeg sets h = -f -+// -+// Preconditions: -+// |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. -+// -+// Postconditions: -+// |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. -+func FeNeg(h, f *FieldElement) { -+ h[0] = -f[0] -+ h[1] = -f[1] -+ h[2] = -f[2] -+ h[3] = -f[3] -+ h[4] = -f[4] -+ h[5] = -f[5] -+ h[6] = -f[6] -+ h[7] = -f[7] -+ h[8] = -f[8] -+ h[9] = -f[9] -+} -+ -+func FeCombine(h *FieldElement, h0, h1, h2, h3, h4, h5, h6, h7, h8, h9 int64) { -+ var c0, c1, c2, c3, c4, c5, c6, c7, c8, c9 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 -+ */ -+ -+ c0 = (h0 + (1 << 25)) >> 26 -+ h1 += c0 -+ h0 -= c0 << 26 -+ c4 = (h4 + (1 << 25)) >> 26 -+ h5 += c4 -+ h4 -= c4 << 26 -+ /* |h0| <= 2^25 */ -+ /* |h4| <= 2^25 */ -+ /* |h1| <= 1.51*2^58 */ -+ /* |h5| <= 1.51*2^58 */ -+ -+ c1 = (h1 + (1 << 24)) >> 25 -+ h2 += c1 -+ h1 -= c1 << 25 -+ c5 = (h5 + (1 << 24)) >> 25 -+ h6 += c5 -+ h5 -= c5 << 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 */ -+ -+ c2 = (h2 + (1 << 25)) >> 26 -+ h3 += c2 -+ h2 -= c2 << 26 -+ c6 = (h6 + (1 << 25)) >> 26 -+ h7 += c6 -+ h6 -= c6 << 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 */ -+ -+ c3 = (h3 + (1 << 24)) >> 25 -+ h4 += c3 -+ h3 -= c3 << 25 -+ c7 = (h7 + (1 << 24)) >> 25 -+ h8 += c7 -+ h7 -= c7 << 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 */ -+ -+ c4 = (h4 + (1 << 25)) >> 26 -+ h5 += c4 -+ h4 -= c4 << 26 -+ c8 = (h8 + (1 << 25)) >> 26 -+ h9 += c8 -+ h8 -= c8 << 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 */ -+ -+ c9 = (h9 + (1 << 24)) >> 25 -+ h0 += c9 * 19 -+ h9 -= c9 << 25 -+ /* |h9| <= 2^24; from now on fits into int32 unchanged */ -+ /* |h0| <= 1.8*2^37 */ -+ -+ c0 = (h0 + (1 << 25)) >> 26 -+ h1 += c0 -+ h0 -= c0 << 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) -+} -+ -+// 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 := int64(f[0]) -+ f1 := int64(f[1]) -+ f2 := int64(f[2]) -+ f3 := int64(f[3]) -+ f4 := int64(f[4]) -+ f5 := int64(f[5]) -+ f6 := int64(f[6]) -+ f7 := int64(f[7]) -+ f8 := int64(f[8]) -+ f9 := int64(f[9]) -+ -+ f1_2 := int64(2 * f[1]) -+ f3_2 := int64(2 * f[3]) -+ f5_2 := int64(2 * f[5]) -+ f7_2 := int64(2 * f[7]) -+ f9_2 := int64(2 * f[9]) -+ -+ g0 := int64(g[0]) -+ g1 := int64(g[1]) -+ g2 := int64(g[2]) -+ g3 := int64(g[3]) -+ g4 := int64(g[4]) -+ g5 := int64(g[5]) -+ g6 := int64(g[6]) -+ g7 := int64(g[7]) -+ g8 := int64(g[8]) -+ g9 := int64(g[9]) -+ -+ g1_19 := int64(19 * g[1]) /* 1.4*2^29 */ -+ g2_19 := int64(19 * g[2]) /* 1.4*2^30; still ok */ -+ g3_19 := int64(19 * g[3]) -+ g4_19 := int64(19 * g[4]) -+ g5_19 := int64(19 * g[5]) -+ g6_19 := int64(19 * g[6]) -+ g7_19 := int64(19 * g[7]) -+ g8_19 := int64(19 * g[8]) -+ g9_19 := int64(19 * g[9]) -+ -+ h0 := f0*g0 + f1_2*g9_19 + f2*g8_19 + f3_2*g7_19 + f4*g6_19 + f5_2*g5_19 + f6*g4_19 + f7_2*g3_19 + f8*g2_19 + f9_2*g1_19 -+ h1 := f0*g1 + f1*g0 + f2*g9_19 + f3*g8_19 + f4*g7_19 + f5*g6_19 + f6*g5_19 + f7*g4_19 + f8*g3_19 + f9*g2_19 -+ h2 := f0*g2 + f1_2*g1 + f2*g0 + f3_2*g9_19 + f4*g8_19 + f5_2*g7_19 + f6*g6_19 + f7_2*g5_19 + f8*g4_19 + f9_2*g3_19 -+ h3 := f0*g3 + f1*g2 + f2*g1 + f3*g0 + f4*g9_19 + f5*g8_19 + f6*g7_19 + f7*g6_19 + f8*g5_19 + f9*g4_19 -+ h4 := f0*g4 + f1_2*g3 + f2*g2 + f3_2*g1 + f4*g0 + f5_2*g9_19 + f6*g8_19 + f7_2*g7_19 + f8*g6_19 + f9_2*g5_19 -+ h5 := f0*g5 + f1*g4 + f2*g3 + f3*g2 + f4*g1 + f5*g0 + f6*g9_19 + f7*g8_19 + f8*g7_19 + f9*g6_19 -+ h6 := f0*g6 + f1_2*g5 + f2*g4 + f3_2*g3 + f4*g2 + f5_2*g1 + f6*g0 + f7_2*g9_19 + f8*g8_19 + f9_2*g7_19 -+ h7 := f0*g7 + f1*g6 + f2*g5 + f3*g4 + f4*g3 + f5*g2 + f6*g1 + f7*g0 + f8*g9_19 + f9*g8_19 -+ h8 := f0*g8 + f1_2*g7 + f2*g6 + f3_2*g5 + f4*g4 + f5_2*g3 + f6*g2 + f7_2*g1 + f8*g0 + f9_2*g9_19 -+ h9 := f0*g9 + f1*g8 + f2*g7 + f3*g6 + f4*g5 + f5*g4 + f6*g3 + f7*g2 + f8*g1 + f9*g0 -+ -+ FeCombine(h, h0, h1, h2, h3, h4, h5, h6, h7, h8, h9) -+} -+ -+func feSquare(f *FieldElement) (h0, h1, h2, h3, h4, h5, h6, h7, h8, h9 int64) { -+ f0 := int64(f[0]) -+ f1 := int64(f[1]) -+ f2 := int64(f[2]) -+ f3 := int64(f[3]) -+ f4 := int64(f[4]) -+ f5 := int64(f[5]) -+ f6 := int64(f[6]) -+ f7 := int64(f[7]) -+ f8 := int64(f[8]) -+ f9 := int64(f[9]) -+ f0_2 := int64(2 * f[0]) -+ f1_2 := int64(2 * f[1]) -+ f2_2 := int64(2 * f[2]) -+ f3_2 := int64(2 * f[3]) -+ f4_2 := int64(2 * f[4]) -+ f5_2 := int64(2 * f[5]) -+ f6_2 := int64(2 * f[6]) -+ f7_2 := int64(2 * f[7]) -+ 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 -+ -+ h0 = f0*f0 + f1_2*f9_38 + f2_2*f8_19 + f3_2*f7_38 + f4_2*f6_19 + f5*f5_38 -+ h1 = f0_2*f1 + f2*f9_38 + f3_2*f8_19 + f4*f7_38 + f5_2*f6_19 -+ h2 = f0_2*f2 + f1_2*f1 + f3_2*f9_38 + f4_2*f8_19 + f5_2*f7_38 + f6*f6_19 -+ h3 = f0_2*f3 + f1_2*f2 + f4*f9_38 + f5_2*f8_19 + f6*f7_38 -+ h4 = f0_2*f4 + f1_2*f3_2 + f2*f2 + f5_2*f9_38 + f6_2*f8_19 + f7*f7_38 -+ h5 = f0_2*f5 + f1_2*f4 + f2_2*f3 + f6*f9_38 + f7_2*f8_19 -+ h6 = f0_2*f6 + f1_2*f5_2 + f2_2*f4 + f3_2*f3 + f7_2*f9_38 + f8*f8_19 -+ h7 = f0_2*f7 + f1_2*f6 + f2_2*f5 + f3_2*f4 + f8*f9_38 -+ h8 = f0_2*f8 + f1_2*f7_2 + f2_2*f6 + f3_2*f5_2 + f4*f4 + f9*f9_38 -+ h9 = f0_2*f9 + f1_2*f8 + f2_2*f7 + f3_2*f6 + f4_2*f5 -+ -+ return -+} -+ -+// 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) { -+ h0, h1, h2, h3, h4, h5, h6, h7, h8, h9 := feSquare(f) -+ FeCombine(h, h0, h1, h2, h3, h4, h5, h6, h7, h8, h9) -+} -+ -+// FeSquare2 sets h = 2 * f * f -+// -+// Can overlap h with f. -+// -+// Preconditions: -+// |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. -+// -+// Postconditions: -+// |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc. -+// See fe_mul.c for discussion of implementation strategy. -+func FeSquare2(h, f *FieldElement) { -+ h0, h1, h2, h3, h4, h5, h6, h7, h8, h9 := feSquare(f) -+ -+ h0 += h0 -+ h1 += h1 -+ h2 += h2 -+ h3 += h3 -+ h4 += h4 -+ h5 += h5 -+ h6 += h6 -+ h7 += h7 -+ h8 += h8 -+ h9 += h9 -+ -+ FeCombine(h, h0, h1, h2, h3, h4, h5, h6, h7, h8, h9) -+} -+ -+func FeInvert(out, z *FieldElement) { -+ var t0, t1, t2, t3 FieldElement -+ var i int -+ -+ FeSquare(&t0, z) // 2^1 -+ FeSquare(&t1, &t0) // 2^2 -+ for i = 1; i < 2; i++ { // 2^3 -+ FeSquare(&t1, &t1) -+ } -+ FeMul(&t1, z, &t1) // 2^3 + 2^0 -+ FeMul(&t0, &t0, &t1) // 2^3 + 2^1 + 2^0 -+ FeSquare(&t2, &t0) // 2^4 + 2^2 + 2^1 -+ FeMul(&t1, &t1, &t2) // 2^4 + 2^3 + 2^2 + 2^1 + 2^0 -+ FeSquare(&t2, &t1) // 5,4,3,2,1 -+ for i = 1; i < 5; i++ { // 9,8,7,6,5 -+ FeSquare(&t2, &t2) -+ } -+ FeMul(&t1, &t2, &t1) // 9,8,7,6,5,4,3,2,1,0 -+ FeSquare(&t2, &t1) // 10..1 -+ for i = 1; i < 10; i++ { // 19..10 -+ FeSquare(&t2, &t2) -+ } -+ FeMul(&t2, &t2, &t1) // 19..0 -+ FeSquare(&t3, &t2) // 20..1 -+ for i = 1; i < 20; i++ { // 39..20 -+ FeSquare(&t3, &t3) -+ } -+ FeMul(&t2, &t3, &t2) // 39..0 -+ FeSquare(&t2, &t2) // 40..1 -+ for i = 1; i < 10; i++ { // 49..10 -+ FeSquare(&t2, &t2) -+ } -+ FeMul(&t1, &t2, &t1) // 49..0 -+ FeSquare(&t2, &t1) // 50..1 -+ for i = 1; i < 50; i++ { // 99..50 -+ FeSquare(&t2, &t2) -+ } -+ FeMul(&t2, &t2, &t1) // 99..0 -+ FeSquare(&t3, &t2) // 100..1 -+ for i = 1; i < 100; i++ { // 199..100 -+ FeSquare(&t3, &t3) -+ } -+ FeMul(&t2, &t3, &t2) // 199..0 -+ FeSquare(&t2, &t2) // 200..1 -+ for i = 1; i < 50; i++ { // 249..50 -+ FeSquare(&t2, &t2) -+ } -+ FeMul(&t1, &t2, &t1) // 249..0 -+ FeSquare(&t1, &t1) // 250..1 -+ for i = 1; i < 5; i++ { // 254..5 -+ FeSquare(&t1, &t1) -+ } -+ FeMul(out, &t1, &t0) // 254..5,3,1,0 -+} -+ -+func fePow22523(out, z *FieldElement) { -+ var t0, t1, t2 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(&t0, &t0) -+ for i = 1; i < 1; i++ { -+ FeSquare(&t0, &t0) -+ } -+ FeMul(&t0, &t1, &t0) -+ FeSquare(&t1, &t0) -+ for i = 1; i < 5; i++ { -+ FeSquare(&t1, &t1) -+ } -+ FeMul(&t0, &t1, &t0) -+ FeSquare(&t1, &t0) -+ for i = 1; i < 10; i++ { -+ FeSquare(&t1, &t1) -+ } -+ FeMul(&t1, &t1, &t0) -+ FeSquare(&t2, &t1) -+ for i = 1; i < 20; i++ { -+ FeSquare(&t2, &t2) -+ } -+ FeMul(&t1, &t2, &t1) -+ FeSquare(&t1, &t1) -+ for i = 1; i < 10; i++ { -+ FeSquare(&t1, &t1) -+ } -+ FeMul(&t0, &t1, &t0) -+ FeSquare(&t1, &t0) -+ for i = 1; i < 50; i++ { -+ FeSquare(&t1, &t1) -+ } -+ FeMul(&t1, &t1, &t0) -+ FeSquare(&t2, &t1) -+ for i = 1; i < 100; i++ { -+ FeSquare(&t2, &t2) -+ } -+ FeMul(&t1, &t2, &t1) -+ FeSquare(&t1, &t1) -+ for i = 1; i < 50; i++ { -+ FeSquare(&t1, &t1) -+ } -+ FeMul(&t0, &t1, &t0) -+ FeSquare(&t0, &t0) -+ for i = 1; i < 2; i++ { -+ FeSquare(&t0, &t0) -+ } -+ FeMul(out, &t0, z) -+} -+ -+// Group elements are members of the elliptic curve -x^2 + y^2 = 1 + d * x^2 * -+// y^2 where d = -121665/121666. -+// -+// Several representations are used: -+// ProjectiveGroupElement: (X:Y:Z) satisfying x=X/Z, y=Y/Z -+// ExtendedGroupElement: (X:Y:Z:T) satisfying x=X/Z, y=Y/Z, XY=ZT -+// CompletedGroupElement: ((X:Z),(Y:T)) satisfying x=X/Z, y=Y/T -+// PreComputedGroupElement: (y+x,y-x,2dxy) -+ -+type ProjectiveGroupElement struct { -+ X, Y, Z FieldElement -+} -+ -+type ExtendedGroupElement struct { -+ X, Y, Z, T FieldElement -+} -+ -+type CompletedGroupElement struct { -+ X, Y, Z, T FieldElement -+} -+ -+type PreComputedGroupElement struct { -+ yPlusX, yMinusX, xy2d FieldElement -+} -+ -+type CachedGroupElement struct { -+ yPlusX, yMinusX, Z, T2d FieldElement -+} -+ -+func (p *ProjectiveGroupElement) Zero() { -+ FeZero(&p.X) -+ FeOne(&p.Y) -+ FeOne(&p.Z) -+} -+ -+func (p *ProjectiveGroupElement) Double(r *CompletedGroupElement) { -+ var t0 FieldElement -+ -+ FeSquare(&r.X, &p.X) -+ FeSquare(&r.Z, &p.Y) -+ FeSquare2(&r.T, &p.Z) -+ FeAdd(&r.Y, &p.X, &p.Y) -+ FeSquare(&t0, &r.Y) -+ FeAdd(&r.Y, &r.Z, &r.X) -+ FeSub(&r.Z, &r.Z, &r.X) -+ FeSub(&r.X, &t0, &r.Y) -+ FeSub(&r.T, &r.T, &r.Z) -+} -+ -+func (p *ProjectiveGroupElement) ToBytes(s *[32]byte) { -+ var recip, x, y FieldElement -+ -+ FeInvert(&recip, &p.Z) -+ FeMul(&x, &p.X, &recip) -+ FeMul(&y, &p.Y, &recip) -+ FeToBytes(s, &y) -+ s[31] ^= FeIsNegative(&x) << 7 -+} -+ -+func (p *ExtendedGroupElement) Zero() { -+ FeZero(&p.X) -+ FeOne(&p.Y) -+ FeOne(&p.Z) -+ FeZero(&p.T) -+} -+ -+func (p *ExtendedGroupElement) Double(r *CompletedGroupElement) { -+ var q ProjectiveGroupElement -+ p.ToProjective(&q) -+ q.Double(r) -+} -+ -+func (p *ExtendedGroupElement) ToCached(r *CachedGroupElement) { -+ FeAdd(&r.yPlusX, &p.Y, &p.X) -+ FeSub(&r.yMinusX, &p.Y, &p.X) -+ FeCopy(&r.Z, &p.Z) -+ FeMul(&r.T2d, &p.T, &d2) -+} -+ -+func (p *ExtendedGroupElement) ToProjective(r *ProjectiveGroupElement) { -+ FeCopy(&r.X, &p.X) -+ FeCopy(&r.Y, &p.Y) -+ FeCopy(&r.Z, &p.Z) -+} -+ -+func (p *ExtendedGroupElement) ToBytes(s *[32]byte) { -+ var recip, x, y FieldElement -+ -+ FeInvert(&recip, &p.Z) -+ FeMul(&x, &p.X, &recip) -+ FeMul(&y, &p.Y, &recip) -+ FeToBytes(s, &y) -+ s[31] ^= FeIsNegative(&x) << 7 -+} -+ -+func (p *ExtendedGroupElement) FromBytes(s *[32]byte) bool { -+ var u, v, v3, vxx, check FieldElement -+ -+ FeFromBytes(&p.Y, s) -+ FeOne(&p.Z) -+ FeSquare(&u, &p.Y) -+ FeMul(&v, &u, &d) -+ FeSub(&u, &u, &p.Z) // y = y^2-1 -+ FeAdd(&v, &v, &p.Z) // v = dy^2+1 -+ -+ FeSquare(&v3, &v) -+ FeMul(&v3, &v3, &v) // v3 = v^3 -+ FeSquare(&p.X, &v3) -+ FeMul(&p.X, &p.X, &v) -+ FeMul(&p.X, &p.X, &u) // x = uv^7 -+ -+ fePow22523(&p.X, &p.X) // x = (uv^7)^((q-5)/8) -+ FeMul(&p.X, &p.X, &v3) -+ FeMul(&p.X, &p.X, &u) // x = uv^3(uv^7)^((q-5)/8) -+ -+ var tmpX, tmp2 [32]byte -+ -+ FeSquare(&vxx, &p.X) -+ FeMul(&vxx, &vxx, &v) -+ FeSub(&check, &vxx, &u) // vx^2-u -+ if FeIsNonZero(&check) == 1 { -+ FeAdd(&check, &vxx, &u) // vx^2+u -+ if FeIsNonZero(&check) == 1 { -+ return false -+ } -+ FeMul(&p.X, &p.X, &SqrtM1) -+ -+ FeToBytes(&tmpX, &p.X) -+ for i, v := range tmpX { -+ tmp2[31-i] = v -+ } -+ } -+ -+ if FeIsNegative(&p.X) != (s[31] >> 7) { -+ FeNeg(&p.X, &p.X) -+ } -+ -+ FeMul(&p.T, &p.X, &p.Y) -+ return true -+} -+ -+func (p *CompletedGroupElement) ToProjective(r *ProjectiveGroupElement) { -+ FeMul(&r.X, &p.X, &p.T) -+ FeMul(&r.Y, &p.Y, &p.Z) -+ FeMul(&r.Z, &p.Z, &p.T) -+} -+ -+func (p *CompletedGroupElement) ToExtended(r *ExtendedGroupElement) { -+ FeMul(&r.X, &p.X, &p.T) -+ FeMul(&r.Y, &p.Y, &p.Z) -+ FeMul(&r.Z, &p.Z, &p.T) -+ FeMul(&r.T, &p.X, &p.Y) -+} -+ -+func (p *PreComputedGroupElement) Zero() { -+ FeOne(&p.yPlusX) -+ FeOne(&p.yMinusX) -+ FeZero(&p.xy2d) -+} -+ -+func geAdd(r *CompletedGroupElement, p *ExtendedGroupElement, q *CachedGroupElement) { -+ var t0 FieldElement -+ -+ FeAdd(&r.X, &p.Y, &p.X) -+ FeSub(&r.Y, &p.Y, &p.X) -+ FeMul(&r.Z, &r.X, &q.yPlusX) -+ FeMul(&r.Y, &r.Y, &q.yMinusX) -+ FeMul(&r.T, &q.T2d, &p.T) -+ FeMul(&r.X, &p.Z, &q.Z) -+ FeAdd(&t0, &r.X, &r.X) -+ FeSub(&r.X, &r.Z, &r.Y) -+ FeAdd(&r.Y, &r.Z, &r.Y) -+ FeAdd(&r.Z, &t0, &r.T) -+ FeSub(&r.T, &t0, &r.T) -+} -+ -+func geSub(r *CompletedGroupElement, p *ExtendedGroupElement, q *CachedGroupElement) { -+ var t0 FieldElement -+ -+ FeAdd(&r.X, &p.Y, &p.X) -+ FeSub(&r.Y, &p.Y, &p.X) -+ FeMul(&r.Z, &r.X, &q.yMinusX) -+ FeMul(&r.Y, &r.Y, &q.yPlusX) -+ FeMul(&r.T, &q.T2d, &p.T) -+ FeMul(&r.X, &p.Z, &q.Z) -+ FeAdd(&t0, &r.X, &r.X) -+ FeSub(&r.X, &r.Z, &r.Y) -+ FeAdd(&r.Y, &r.Z, &r.Y) -+ FeSub(&r.Z, &t0, &r.T) -+ FeAdd(&r.T, &t0, &r.T) -+} -+ -+func geMixedAdd(r *CompletedGroupElement, p *ExtendedGroupElement, q *PreComputedGroupElement) { -+ var t0 FieldElement -+ -+ FeAdd(&r.X, &p.Y, &p.X) -+ FeSub(&r.Y, &p.Y, &p.X) -+ FeMul(&r.Z, &r.X, &q.yPlusX) -+ FeMul(&r.Y, &r.Y, &q.yMinusX) -+ FeMul(&r.T, &q.xy2d, &p.T) -+ FeAdd(&t0, &p.Z, &p.Z) -+ FeSub(&r.X, &r.Z, &r.Y) -+ FeAdd(&r.Y, &r.Z, &r.Y) -+ FeAdd(&r.Z, &t0, &r.T) -+ FeSub(&r.T, &t0, &r.T) -+} -+ -+func geMixedSub(r *CompletedGroupElement, p *ExtendedGroupElement, q *PreComputedGroupElement) { -+ var t0 FieldElement -+ -+ FeAdd(&r.X, &p.Y, &p.X) -+ FeSub(&r.Y, &p.Y, &p.X) -+ FeMul(&r.Z, &r.X, &q.yMinusX) -+ FeMul(&r.Y, &r.Y, &q.yPlusX) -+ FeMul(&r.T, &q.xy2d, &p.T) -+ FeAdd(&t0, &p.Z, &p.Z) -+ FeSub(&r.X, &r.Z, &r.Y) -+ FeAdd(&r.Y, &r.Z, &r.Y) -+ FeSub(&r.Z, &t0, &r.T) -+ FeAdd(&r.T, &t0, &r.T) -+} -+ -+func slide(r *[256]int8, a *[32]byte) { -+ for i := range r { -+ r[i] = int8(1 & (a[i>>3] >> uint(i&7))) -+ } -+ -+ for i := range r { -+ if r[i] != 0 { -+ for b := 1; b <= 6 && i+b < 256; b++ { -+ if r[i+b] != 0 { -+ if r[i]+(r[i+b]<= -15 { -+ r[i] -= r[i+b] << uint(b) -+ for k := i + b; k < 256; k++ { -+ if r[k] == 0 { -+ r[k] = 1 -+ break -+ } -+ r[k] = 0 -+ } -+ } else { -+ break -+ } -+ } -+ } -+ } -+ } -+} -+ -+// GeDoubleScalarMultVartime sets r = a*A + b*B -+// where a = a[0]+256*a[1]+...+256^31 a[31]. -+// and b = b[0]+256*b[1]+...+256^31 b[31]. -+// B is the Ed25519 base point (x,4/5) with x positive. -+func GeDoubleScalarMultVartime(r *ProjectiveGroupElement, a *[32]byte, A *ExtendedGroupElement, b *[32]byte) { -+ var aSlide, bSlide [256]int8 -+ var Ai [8]CachedGroupElement // A,3A,5A,7A,9A,11A,13A,15A -+ var t CompletedGroupElement -+ var u, A2 ExtendedGroupElement -+ var i int -+ -+ slide(&aSlide, a) -+ slide(&bSlide, b) -+ -+ A.ToCached(&Ai[0]) -+ A.Double(&t) -+ t.ToExtended(&A2) -+ -+ for i := 0; i < 7; i++ { -+ geAdd(&t, &A2, &Ai[i]) -+ t.ToExtended(&u) -+ u.ToCached(&Ai[i+1]) -+ } -+ -+ r.Zero() -+ -+ for i = 255; i >= 0; i-- { -+ if aSlide[i] != 0 || bSlide[i] != 0 { -+ break -+ } -+ } -+ -+ for ; i >= 0; i-- { -+ r.Double(&t) -+ -+ if aSlide[i] > 0 { -+ t.ToExtended(&u) -+ geAdd(&t, &u, &Ai[aSlide[i]/2]) -+ } else if aSlide[i] < 0 { -+ t.ToExtended(&u) -+ geSub(&t, &u, &Ai[(-aSlide[i])/2]) -+ } -+ -+ if bSlide[i] > 0 { -+ t.ToExtended(&u) -+ geMixedAdd(&t, &u, &bi[bSlide[i]/2]) -+ } else if bSlide[i] < 0 { -+ t.ToExtended(&u) -+ geMixedSub(&t, &u, &bi[(-bSlide[i])/2]) -+ } -+ -+ t.ToProjective(r) -+ } -+} -+ -+// equal returns 1 if b == c and 0 otherwise, assuming that b and c are -+// non-negative. -+func equal(b, c int32) int32 { -+ x := uint32(b ^ c) -+ x-- -+ return int32(x >> 31) -+} -+ -+// negative returns 1 if b < 0 and 0 otherwise. -+func negative(b int32) int32 { -+ return (b >> 31) & 1 -+} -+ -+func PreComputedGroupElementCMove(t, u *PreComputedGroupElement, b int32) { -+ FeCMove(&t.yPlusX, &u.yPlusX, b) -+ FeCMove(&t.yMinusX, &u.yMinusX, b) -+ FeCMove(&t.xy2d, &u.xy2d, b) -+} -+ -+func selectPoint(t *PreComputedGroupElement, pos int32, b int32) { -+ var minusT PreComputedGroupElement -+ bNegative := negative(b) -+ bAbs := b - (((-bNegative) & b) << 1) -+ -+ t.Zero() -+ for i := int32(0); i < 8; i++ { -+ PreComputedGroupElementCMove(t, &base[pos][i], equal(bAbs, i+1)) -+ } -+ FeCopy(&minusT.yPlusX, &t.yMinusX) -+ FeCopy(&minusT.yMinusX, &t.yPlusX) -+ FeNeg(&minusT.xy2d, &t.xy2d) -+ PreComputedGroupElementCMove(t, &minusT, bNegative) -+} -+ -+// GeScalarMultBase computes h = a*B, where -+// a = a[0]+256*a[1]+...+256^31 a[31] -+// B is the Ed25519 base point (x,4/5) with x positive. -+// -+// Preconditions: -+// a[31] <= 127 -+func GeScalarMultBase(h *ExtendedGroupElement, a *[32]byte) { -+ var e [64]int8 -+ -+ for i, v := range a { -+ e[2*i] = int8(v & 15) -+ e[2*i+1] = int8((v >> 4) & 15) -+ } -+ -+ // each e[i] is between 0 and 15 and e[63] is between 0 and 7. -+ -+ carry := int8(0) -+ for i := 0; i < 63; i++ { -+ e[i] += carry -+ carry = (e[i] + 8) >> 4 -+ e[i] -= carry << 4 -+ } -+ e[63] += carry -+ // each e[i] is between -8 and 8. -+ -+ h.Zero() -+ var t PreComputedGroupElement -+ var r CompletedGroupElement -+ for i := int32(1); i < 64; i += 2 { -+ selectPoint(&t, i/2, int32(e[i])) -+ geMixedAdd(&r, h, &t) -+ r.ToExtended(h) -+ } -+ -+ var s ProjectiveGroupElement -+ -+ h.Double(&r) -+ r.ToProjective(&s) -+ s.Double(&r) -+ r.ToProjective(&s) -+ s.Double(&r) -+ r.ToProjective(&s) -+ s.Double(&r) -+ r.ToExtended(h) -+ -+ for i := int32(0); i < 64; i += 2 { -+ selectPoint(&t, i/2, int32(e[i])) -+ geMixedAdd(&r, h, &t) -+ r.ToExtended(h) -+ } -+} -+ -+// The scalars are GF(2^252 + 27742317777372353535851937790883648493). -+ -+// Input: -+// a[0]+256*a[1]+...+256^31*a[31] = a -+// b[0]+256*b[1]+...+256^31*b[31] = b -+// c[0]+256*c[1]+...+256^31*c[31] = c -+// -+// Output: -+// s[0]+256*s[1]+...+256^31*s[31] = (ab+c) mod l -+// where l = 2^252 + 27742317777372353535851937790883648493. -+func ScMulAdd(s, a, b, c *[32]byte) { -+ a0 := 2097151 & load3(a[:]) -+ a1 := 2097151 & (load4(a[2:]) >> 5) -+ a2 := 2097151 & (load3(a[5:]) >> 2) -+ a3 := 2097151 & (load4(a[7:]) >> 7) -+ a4 := 2097151 & (load4(a[10:]) >> 4) -+ a5 := 2097151 & (load3(a[13:]) >> 1) -+ a6 := 2097151 & (load4(a[15:]) >> 6) -+ a7 := 2097151 & (load3(a[18:]) >> 3) -+ a8 := 2097151 & load3(a[21:]) -+ a9 := 2097151 & (load4(a[23:]) >> 5) -+ a10 := 2097151 & (load3(a[26:]) >> 2) -+ a11 := (load4(a[28:]) >> 7) -+ b0 := 2097151 & load3(b[:]) -+ b1 := 2097151 & (load4(b[2:]) >> 5) -+ b2 := 2097151 & (load3(b[5:]) >> 2) -+ b3 := 2097151 & (load4(b[7:]) >> 7) -+ b4 := 2097151 & (load4(b[10:]) >> 4) -+ b5 := 2097151 & (load3(b[13:]) >> 1) -+ b6 := 2097151 & (load4(b[15:]) >> 6) -+ b7 := 2097151 & (load3(b[18:]) >> 3) -+ b8 := 2097151 & load3(b[21:]) -+ b9 := 2097151 & (load4(b[23:]) >> 5) -+ b10 := 2097151 & (load3(b[26:]) >> 2) -+ b11 := (load4(b[28:]) >> 7) -+ c0 := 2097151 & load3(c[:]) -+ c1 := 2097151 & (load4(c[2:]) >> 5) -+ c2 := 2097151 & (load3(c[5:]) >> 2) -+ c3 := 2097151 & (load4(c[7:]) >> 7) -+ c4 := 2097151 & (load4(c[10:]) >> 4) -+ c5 := 2097151 & (load3(c[13:]) >> 1) -+ c6 := 2097151 & (load4(c[15:]) >> 6) -+ c7 := 2097151 & (load3(c[18:]) >> 3) -+ c8 := 2097151 & load3(c[21:]) -+ c9 := 2097151 & (load4(c[23:]) >> 5) -+ c10 := 2097151 & (load3(c[26:]) >> 2) -+ c11 := (load4(c[28:]) >> 7) -+ var carry [23]int64 -+ -+ s0 := c0 + a0*b0 -+ s1 := c1 + a0*b1 + a1*b0 -+ s2 := c2 + a0*b2 + a1*b1 + a2*b0 -+ s3 := c3 + a0*b3 + a1*b2 + a2*b1 + a3*b0 -+ s4 := c4 + a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 -+ s5 := c5 + a0*b5 + a1*b4 + a2*b3 + a3*b2 + a4*b1 + a5*b0 -+ s6 := c6 + a0*b6 + a1*b5 + a2*b4 + a3*b3 + a4*b2 + a5*b1 + a6*b0 -+ s7 := c7 + a0*b7 + a1*b6 + a2*b5 + a3*b4 + a4*b3 + a5*b2 + a6*b1 + a7*b0 -+ s8 := c8 + a0*b8 + a1*b7 + a2*b6 + a3*b5 + a4*b4 + a5*b3 + a6*b2 + a7*b1 + a8*b0 -+ s9 := c9 + a0*b9 + a1*b8 + a2*b7 + a3*b6 + a4*b5 + a5*b4 + a6*b3 + a7*b2 + a8*b1 + a9*b0 -+ s10 := c10 + a0*b10 + a1*b9 + a2*b8 + a3*b7 + a4*b6 + a5*b5 + a6*b4 + a7*b3 + a8*b2 + a9*b1 + a10*b0 -+ s11 := c11 + a0*b11 + a1*b10 + a2*b9 + a3*b8 + a4*b7 + a5*b6 + a6*b5 + a7*b4 + a8*b3 + a9*b2 + a10*b1 + a11*b0 -+ s12 := a1*b11 + a2*b10 + a3*b9 + a4*b8 + a5*b7 + a6*b6 + a7*b5 + a8*b4 + a9*b3 + a10*b2 + a11*b1 -+ s13 := a2*b11 + a3*b10 + a4*b9 + a5*b8 + a6*b7 + a7*b6 + a8*b5 + a9*b4 + a10*b3 + a11*b2 -+ s14 := a3*b11 + a4*b10 + a5*b9 + a6*b8 + a7*b7 + a8*b6 + a9*b5 + a10*b4 + a11*b3 -+ s15 := a4*b11 + a5*b10 + a6*b9 + a7*b8 + a8*b7 + a9*b6 + a10*b5 + a11*b4 -+ s16 := a5*b11 + a6*b10 + a7*b9 + a8*b8 + a9*b7 + a10*b6 + a11*b5 -+ s17 := a6*b11 + a7*b10 + a8*b9 + a9*b8 + a10*b7 + a11*b6 -+ s18 := a7*b11 + a8*b10 + a9*b9 + a10*b8 + a11*b7 -+ s19 := a8*b11 + a9*b10 + a10*b9 + a11*b8 -+ s20 := a9*b11 + a10*b10 + a11*b9 -+ s21 := a10*b11 + a11*b10 -+ s22 := a11 * b11 -+ s23 := int64(0) -+ -+ carry[0] = (s0 + (1 << 20)) >> 21 -+ s1 += carry[0] -+ s0 -= carry[0] << 21 -+ carry[2] = (s2 + (1 << 20)) >> 21 -+ s3 += carry[2] -+ s2 -= carry[2] << 21 -+ carry[4] = (s4 + (1 << 20)) >> 21 -+ s5 += carry[4] -+ s4 -= carry[4] << 21 -+ carry[6] = (s6 + (1 << 20)) >> 21 -+ s7 += carry[6] -+ s6 -= carry[6] << 21 -+ carry[8] = (s8 + (1 << 20)) >> 21 -+ s9 += carry[8] -+ s8 -= carry[8] << 21 -+ carry[10] = (s10 + (1 << 20)) >> 21 -+ s11 += carry[10] -+ s10 -= carry[10] << 21 -+ carry[12] = (s12 + (1 << 20)) >> 21 -+ s13 += carry[12] -+ s12 -= carry[12] << 21 -+ carry[14] = (s14 + (1 << 20)) >> 21 -+ s15 += carry[14] -+ s14 -= carry[14] << 21 -+ carry[16] = (s16 + (1 << 20)) >> 21 -+ s17 += carry[16] -+ s16 -= carry[16] << 21 -+ carry[18] = (s18 + (1 << 20)) >> 21 -+ s19 += carry[18] -+ s18 -= carry[18] << 21 -+ carry[20] = (s20 + (1 << 20)) >> 21 -+ s21 += carry[20] -+ s20 -= carry[20] << 21 -+ carry[22] = (s22 + (1 << 20)) >> 21 -+ s23 += carry[22] -+ s22 -= carry[22] << 21 -+ -+ carry[1] = (s1 + (1 << 20)) >> 21 -+ s2 += carry[1] -+ s1 -= carry[1] << 21 -+ carry[3] = (s3 + (1 << 20)) >> 21 -+ s4 += carry[3] -+ s3 -= carry[3] << 21 -+ carry[5] = (s5 + (1 << 20)) >> 21 -+ s6 += carry[5] -+ s5 -= carry[5] << 21 -+ carry[7] = (s7 + (1 << 20)) >> 21 -+ s8 += carry[7] -+ s7 -= carry[7] << 21 -+ carry[9] = (s9 + (1 << 20)) >> 21 -+ s10 += carry[9] -+ s9 -= carry[9] << 21 -+ carry[11] = (s11 + (1 << 20)) >> 21 -+ s12 += carry[11] -+ s11 -= carry[11] << 21 -+ carry[13] = (s13 + (1 << 20)) >> 21 -+ s14 += carry[13] -+ s13 -= carry[13] << 21 -+ carry[15] = (s15 + (1 << 20)) >> 21 -+ s16 += carry[15] -+ s15 -= carry[15] << 21 -+ carry[17] = (s17 + (1 << 20)) >> 21 -+ s18 += carry[17] -+ s17 -= carry[17] << 21 -+ carry[19] = (s19 + (1 << 20)) >> 21 -+ s20 += carry[19] -+ s19 -= carry[19] << 21 -+ carry[21] = (s21 + (1 << 20)) >> 21 -+ s22 += carry[21] -+ s21 -= carry[21] << 21 -+ -+ s11 += s23 * 666643 -+ s12 += s23 * 470296 -+ s13 += s23 * 654183 -+ s14 -= s23 * 997805 -+ s15 += s23 * 136657 -+ s16 -= s23 * 683901 -+ s23 = 0 -+ -+ s10 += s22 * 666643 -+ s11 += s22 * 470296 -+ s12 += s22 * 654183 -+ s13 -= s22 * 997805 -+ s14 += s22 * 136657 -+ s15 -= s22 * 683901 -+ s22 = 0 -+ -+ s9 += s21 * 666643 -+ s10 += s21 * 470296 -+ s11 += s21 * 654183 -+ s12 -= s21 * 997805 -+ s13 += s21 * 136657 -+ s14 -= s21 * 683901 -+ s21 = 0 -+ -+ s8 += s20 * 666643 -+ s9 += s20 * 470296 -+ s10 += s20 * 654183 -+ s11 -= s20 * 997805 -+ s12 += s20 * 136657 -+ s13 -= s20 * 683901 -+ s20 = 0 -+ -+ s7 += s19 * 666643 -+ s8 += s19 * 470296 -+ s9 += s19 * 654183 -+ s10 -= s19 * 997805 -+ s11 += s19 * 136657 -+ s12 -= s19 * 683901 -+ s19 = 0 -+ -+ s6 += s18 * 666643 -+ s7 += s18 * 470296 -+ s8 += s18 * 654183 -+ s9 -= s18 * 997805 -+ s10 += s18 * 136657 -+ s11 -= s18 * 683901 -+ s18 = 0 -+ -+ carry[6] = (s6 + (1 << 20)) >> 21 -+ s7 += carry[6] -+ s6 -= carry[6] << 21 -+ carry[8] = (s8 + (1 << 20)) >> 21 -+ s9 += carry[8] -+ s8 -= carry[8] << 21 -+ carry[10] = (s10 + (1 << 20)) >> 21 -+ s11 += carry[10] -+ s10 -= carry[10] << 21 -+ carry[12] = (s12 + (1 << 20)) >> 21 -+ s13 += carry[12] -+ s12 -= carry[12] << 21 -+ carry[14] = (s14 + (1 << 20)) >> 21 -+ s15 += carry[14] -+ s14 -= carry[14] << 21 -+ carry[16] = (s16 + (1 << 20)) >> 21 -+ s17 += carry[16] -+ s16 -= carry[16] << 21 -+ -+ carry[7] = (s7 + (1 << 20)) >> 21 -+ s8 += carry[7] -+ s7 -= carry[7] << 21 -+ carry[9] = (s9 + (1 << 20)) >> 21 -+ s10 += carry[9] -+ s9 -= carry[9] << 21 -+ carry[11] = (s11 + (1 << 20)) >> 21 -+ s12 += carry[11] -+ s11 -= carry[11] << 21 -+ carry[13] = (s13 + (1 << 20)) >> 21 -+ s14 += carry[13] -+ s13 -= carry[13] << 21 -+ carry[15] = (s15 + (1 << 20)) >> 21 -+ s16 += carry[15] -+ s15 -= carry[15] << 21 -+ -+ s5 += s17 * 666643 -+ s6 += s17 * 470296 -+ s7 += s17 * 654183 -+ s8 -= s17 * 997805 -+ s9 += s17 * 136657 -+ s10 -= s17 * 683901 -+ s17 = 0 -+ -+ s4 += s16 * 666643 -+ s5 += s16 * 470296 -+ s6 += s16 * 654183 -+ s7 -= s16 * 997805 -+ s8 += s16 * 136657 -+ s9 -= s16 * 683901 -+ s16 = 0 -+ -+ s3 += s15 * 666643 -+ s4 += s15 * 470296 -+ s5 += s15 * 654183 -+ s6 -= s15 * 997805 -+ s7 += s15 * 136657 -+ s8 -= s15 * 683901 -+ s15 = 0 -+ -+ s2 += s14 * 666643 -+ s3 += s14 * 470296 -+ s4 += s14 * 654183 -+ s5 -= s14 * 997805 -+ s6 += s14 * 136657 -+ s7 -= s14 * 683901 -+ s14 = 0 -+ -+ s1 += s13 * 666643 -+ s2 += s13 * 470296 -+ s3 += s13 * 654183 -+ s4 -= s13 * 997805 -+ s5 += s13 * 136657 -+ s6 -= s13 * 683901 -+ s13 = 0 -+ -+ s0 += s12 * 666643 -+ s1 += s12 * 470296 -+ s2 += s12 * 654183 -+ s3 -= s12 * 997805 -+ s4 += s12 * 136657 -+ s5 -= s12 * 683901 -+ s12 = 0 -+ -+ carry[0] = (s0 + (1 << 20)) >> 21 -+ s1 += carry[0] -+ s0 -= carry[0] << 21 -+ carry[2] = (s2 + (1 << 20)) >> 21 -+ s3 += carry[2] -+ s2 -= carry[2] << 21 -+ carry[4] = (s4 + (1 << 20)) >> 21 -+ s5 += carry[4] -+ s4 -= carry[4] << 21 -+ carry[6] = (s6 + (1 << 20)) >> 21 -+ s7 += carry[6] -+ s6 -= carry[6] << 21 -+ carry[8] = (s8 + (1 << 20)) >> 21 -+ s9 += carry[8] -+ s8 -= carry[8] << 21 -+ carry[10] = (s10 + (1 << 20)) >> 21 -+ s11 += carry[10] -+ s10 -= carry[10] << 21 -+ -+ carry[1] = (s1 + (1 << 20)) >> 21 -+ s2 += carry[1] -+ s1 -= carry[1] << 21 -+ carry[3] = (s3 + (1 << 20)) >> 21 -+ s4 += carry[3] -+ s3 -= carry[3] << 21 -+ carry[5] = (s5 + (1 << 20)) >> 21 -+ s6 += carry[5] -+ s5 -= carry[5] << 21 -+ carry[7] = (s7 + (1 << 20)) >> 21 -+ s8 += carry[7] -+ s7 -= carry[7] << 21 -+ carry[9] = (s9 + (1 << 20)) >> 21 -+ s10 += carry[9] -+ s9 -= carry[9] << 21 -+ carry[11] = (s11 + (1 << 20)) >> 21 -+ s12 += carry[11] -+ s11 -= carry[11] << 21 -+ -+ s0 += s12 * 666643 -+ s1 += s12 * 470296 -+ s2 += s12 * 654183 -+ s3 -= s12 * 997805 -+ s4 += s12 * 136657 -+ s5 -= s12 * 683901 -+ s12 = 0 -+ -+ carry[0] = s0 >> 21 -+ s1 += carry[0] -+ s0 -= carry[0] << 21 -+ carry[1] = s1 >> 21 -+ s2 += carry[1] -+ s1 -= carry[1] << 21 -+ carry[2] = s2 >> 21 -+ s3 += carry[2] -+ s2 -= carry[2] << 21 -+ carry[3] = s3 >> 21 -+ s4 += carry[3] -+ s3 -= carry[3] << 21 -+ carry[4] = s4 >> 21 -+ s5 += carry[4] -+ s4 -= carry[4] << 21 -+ carry[5] = s5 >> 21 -+ s6 += carry[5] -+ s5 -= carry[5] << 21 -+ carry[6] = s6 >> 21 -+ s7 += carry[6] -+ s6 -= carry[6] << 21 -+ carry[7] = s7 >> 21 -+ s8 += carry[7] -+ s7 -= carry[7] << 21 -+ carry[8] = s8 >> 21 -+ s9 += carry[8] -+ s8 -= carry[8] << 21 -+ carry[9] = s9 >> 21 -+ s10 += carry[9] -+ s9 -= carry[9] << 21 -+ carry[10] = s10 >> 21 -+ s11 += carry[10] -+ s10 -= carry[10] << 21 -+ carry[11] = s11 >> 21 -+ s12 += carry[11] -+ s11 -= carry[11] << 21 -+ -+ s0 += s12 * 666643 -+ s1 += s12 * 470296 -+ s2 += s12 * 654183 -+ s3 -= s12 * 997805 -+ s4 += s12 * 136657 -+ s5 -= s12 * 683901 -+ s12 = 0 -+ -+ carry[0] = s0 >> 21 -+ s1 += carry[0] -+ s0 -= carry[0] << 21 -+ carry[1] = s1 >> 21 -+ s2 += carry[1] -+ s1 -= carry[1] << 21 -+ carry[2] = s2 >> 21 -+ s3 += carry[2] -+ s2 -= carry[2] << 21 -+ carry[3] = s3 >> 21 -+ s4 += carry[3] -+ s3 -= carry[3] << 21 -+ carry[4] = s4 >> 21 -+ s5 += carry[4] -+ s4 -= carry[4] << 21 -+ carry[5] = s5 >> 21 -+ s6 += carry[5] -+ s5 -= carry[5] << 21 -+ carry[6] = s6 >> 21 -+ s7 += carry[6] -+ s6 -= carry[6] << 21 -+ carry[7] = s7 >> 21 -+ s8 += carry[7] -+ s7 -= carry[7] << 21 -+ carry[8] = s8 >> 21 -+ s9 += carry[8] -+ s8 -= carry[8] << 21 -+ carry[9] = s9 >> 21 -+ s10 += carry[9] -+ s9 -= carry[9] << 21 -+ carry[10] = s10 >> 21 -+ s11 += carry[10] -+ s10 -= carry[10] << 21 -+ -+ s[0] = byte(s0 >> 0) -+ s[1] = byte(s0 >> 8) -+ s[2] = byte((s0 >> 16) | (s1 << 5)) -+ s[3] = byte(s1 >> 3) -+ s[4] = byte(s1 >> 11) -+ s[5] = byte((s1 >> 19) | (s2 << 2)) -+ s[6] = byte(s2 >> 6) -+ s[7] = byte((s2 >> 14) | (s3 << 7)) -+ s[8] = byte(s3 >> 1) -+ s[9] = byte(s3 >> 9) -+ s[10] = byte((s3 >> 17) | (s4 << 4)) -+ s[11] = byte(s4 >> 4) -+ s[12] = byte(s4 >> 12) -+ s[13] = byte((s4 >> 20) | (s5 << 1)) -+ s[14] = byte(s5 >> 7) -+ s[15] = byte((s5 >> 15) | (s6 << 6)) -+ s[16] = byte(s6 >> 2) -+ s[17] = byte(s6 >> 10) -+ s[18] = byte((s6 >> 18) | (s7 << 3)) -+ s[19] = byte(s7 >> 5) -+ s[20] = byte(s7 >> 13) -+ s[21] = byte(s8 >> 0) -+ s[22] = byte(s8 >> 8) -+ s[23] = byte((s8 >> 16) | (s9 << 5)) -+ s[24] = byte(s9 >> 3) -+ s[25] = byte(s9 >> 11) -+ s[26] = byte((s9 >> 19) | (s10 << 2)) -+ s[27] = byte(s10 >> 6) -+ s[28] = byte((s10 >> 14) | (s11 << 7)) -+ s[29] = byte(s11 >> 1) -+ s[30] = byte(s11 >> 9) -+ s[31] = byte(s11 >> 17) -+} -+ -+// Input: -+// s[0]+256*s[1]+...+256^63*s[63] = s -+// -+// Output: -+// s[0]+256*s[1]+...+256^31*s[31] = s mod l -+// where l = 2^252 + 27742317777372353535851937790883648493. -+func ScReduce(out *[32]byte, s *[64]byte) { -+ s0 := 2097151 & load3(s[:]) -+ s1 := 2097151 & (load4(s[2:]) >> 5) -+ s2 := 2097151 & (load3(s[5:]) >> 2) -+ s3 := 2097151 & (load4(s[7:]) >> 7) -+ s4 := 2097151 & (load4(s[10:]) >> 4) -+ s5 := 2097151 & (load3(s[13:]) >> 1) -+ s6 := 2097151 & (load4(s[15:]) >> 6) -+ s7 := 2097151 & (load3(s[18:]) >> 3) -+ s8 := 2097151 & load3(s[21:]) -+ s9 := 2097151 & (load4(s[23:]) >> 5) -+ s10 := 2097151 & (load3(s[26:]) >> 2) -+ s11 := 2097151 & (load4(s[28:]) >> 7) -+ s12 := 2097151 & (load4(s[31:]) >> 4) -+ s13 := 2097151 & (load3(s[34:]) >> 1) -+ s14 := 2097151 & (load4(s[36:]) >> 6) -+ s15 := 2097151 & (load3(s[39:]) >> 3) -+ s16 := 2097151 & load3(s[42:]) -+ s17 := 2097151 & (load4(s[44:]) >> 5) -+ s18 := 2097151 & (load3(s[47:]) >> 2) -+ s19 := 2097151 & (load4(s[49:]) >> 7) -+ s20 := 2097151 & (load4(s[52:]) >> 4) -+ s21 := 2097151 & (load3(s[55:]) >> 1) -+ s22 := 2097151 & (load4(s[57:]) >> 6) -+ s23 := (load4(s[60:]) >> 3) -+ -+ s11 += s23 * 666643 -+ s12 += s23 * 470296 -+ s13 += s23 * 654183 -+ s14 -= s23 * 997805 -+ s15 += s23 * 136657 -+ s16 -= s23 * 683901 -+ s23 = 0 -+ -+ s10 += s22 * 666643 -+ s11 += s22 * 470296 -+ s12 += s22 * 654183 -+ s13 -= s22 * 997805 -+ s14 += s22 * 136657 -+ s15 -= s22 * 683901 -+ s22 = 0 -+ -+ s9 += s21 * 666643 -+ s10 += s21 * 470296 -+ s11 += s21 * 654183 -+ s12 -= s21 * 997805 -+ s13 += s21 * 136657 -+ s14 -= s21 * 683901 -+ s21 = 0 -+ -+ s8 += s20 * 666643 -+ s9 += s20 * 470296 -+ s10 += s20 * 654183 -+ s11 -= s20 * 997805 -+ s12 += s20 * 136657 -+ s13 -= s20 * 683901 -+ s20 = 0 -+ -+ s7 += s19 * 666643 -+ s8 += s19 * 470296 -+ s9 += s19 * 654183 -+ s10 -= s19 * 997805 -+ s11 += s19 * 136657 -+ s12 -= s19 * 683901 -+ s19 = 0 -+ -+ s6 += s18 * 666643 -+ s7 += s18 * 470296 -+ s8 += s18 * 654183 -+ s9 -= s18 * 997805 -+ s10 += s18 * 136657 -+ s11 -= s18 * 683901 -+ s18 = 0 -+ -+ var carry [17]int64 -+ -+ carry[6] = (s6 + (1 << 20)) >> 21 -+ s7 += carry[6] -+ s6 -= carry[6] << 21 -+ carry[8] = (s8 + (1 << 20)) >> 21 -+ s9 += carry[8] -+ s8 -= carry[8] << 21 -+ carry[10] = (s10 + (1 << 20)) >> 21 -+ s11 += carry[10] -+ s10 -= carry[10] << 21 -+ carry[12] = (s12 + (1 << 20)) >> 21 -+ s13 += carry[12] -+ s12 -= carry[12] << 21 -+ carry[14] = (s14 + (1 << 20)) >> 21 -+ s15 += carry[14] -+ s14 -= carry[14] << 21 -+ carry[16] = (s16 + (1 << 20)) >> 21 -+ s17 += carry[16] -+ s16 -= carry[16] << 21 -+ -+ carry[7] = (s7 + (1 << 20)) >> 21 -+ s8 += carry[7] -+ s7 -= carry[7] << 21 -+ carry[9] = (s9 + (1 << 20)) >> 21 -+ s10 += carry[9] -+ s9 -= carry[9] << 21 -+ carry[11] = (s11 + (1 << 20)) >> 21 -+ s12 += carry[11] -+ s11 -= carry[11] << 21 -+ carry[13] = (s13 + (1 << 20)) >> 21 -+ s14 += carry[13] -+ s13 -= carry[13] << 21 -+ carry[15] = (s15 + (1 << 20)) >> 21 -+ s16 += carry[15] -+ s15 -= carry[15] << 21 -+ -+ s5 += s17 * 666643 -+ s6 += s17 * 470296 -+ s7 += s17 * 654183 -+ s8 -= s17 * 997805 -+ s9 += s17 * 136657 -+ s10 -= s17 * 683901 -+ s17 = 0 -+ -+ s4 += s16 * 666643 -+ s5 += s16 * 470296 -+ s6 += s16 * 654183 -+ s7 -= s16 * 997805 -+ s8 += s16 * 136657 -+ s9 -= s16 * 683901 -+ s16 = 0 -+ -+ s3 += s15 * 666643 -+ s4 += s15 * 470296 -+ s5 += s15 * 654183 -+ s6 -= s15 * 997805 -+ s7 += s15 * 136657 -+ s8 -= s15 * 683901 -+ s15 = 0 -+ -+ s2 += s14 * 666643 -+ s3 += s14 * 470296 -+ s4 += s14 * 654183 -+ s5 -= s14 * 997805 -+ s6 += s14 * 136657 -+ s7 -= s14 * 683901 -+ s14 = 0 -+ -+ s1 += s13 * 666643 -+ s2 += s13 * 470296 -+ s3 += s13 * 654183 -+ s4 -= s13 * 997805 -+ s5 += s13 * 136657 -+ s6 -= s13 * 683901 -+ s13 = 0 -+ -+ s0 += s12 * 666643 -+ s1 += s12 * 470296 -+ s2 += s12 * 654183 -+ s3 -= s12 * 997805 -+ s4 += s12 * 136657 -+ s5 -= s12 * 683901 -+ s12 = 0 -+ -+ carry[0] = (s0 + (1 << 20)) >> 21 -+ s1 += carry[0] -+ s0 -= carry[0] << 21 -+ carry[2] = (s2 + (1 << 20)) >> 21 -+ s3 += carry[2] -+ s2 -= carry[2] << 21 -+ carry[4] = (s4 + (1 << 20)) >> 21 -+ s5 += carry[4] -+ s4 -= carry[4] << 21 -+ carry[6] = (s6 + (1 << 20)) >> 21 -+ s7 += carry[6] -+ s6 -= carry[6] << 21 -+ carry[8] = (s8 + (1 << 20)) >> 21 -+ s9 += carry[8] -+ s8 -= carry[8] << 21 -+ carry[10] = (s10 + (1 << 20)) >> 21 -+ s11 += carry[10] -+ s10 -= carry[10] << 21 -+ -+ carry[1] = (s1 + (1 << 20)) >> 21 -+ s2 += carry[1] -+ s1 -= carry[1] << 21 -+ carry[3] = (s3 + (1 << 20)) >> 21 -+ s4 += carry[3] -+ s3 -= carry[3] << 21 -+ carry[5] = (s5 + (1 << 20)) >> 21 -+ s6 += carry[5] -+ s5 -= carry[5] << 21 -+ carry[7] = (s7 + (1 << 20)) >> 21 -+ s8 += carry[7] -+ s7 -= carry[7] << 21 -+ carry[9] = (s9 + (1 << 20)) >> 21 -+ s10 += carry[9] -+ s9 -= carry[9] << 21 -+ carry[11] = (s11 + (1 << 20)) >> 21 -+ s12 += carry[11] -+ s11 -= carry[11] << 21 -+ -+ s0 += s12 * 666643 -+ s1 += s12 * 470296 -+ s2 += s12 * 654183 -+ s3 -= s12 * 997805 -+ s4 += s12 * 136657 -+ s5 -= s12 * 683901 -+ s12 = 0 -+ -+ carry[0] = s0 >> 21 -+ s1 += carry[0] -+ s0 -= carry[0] << 21 -+ carry[1] = s1 >> 21 -+ s2 += carry[1] -+ s1 -= carry[1] << 21 -+ carry[2] = s2 >> 21 -+ s3 += carry[2] -+ s2 -= carry[2] << 21 -+ carry[3] = s3 >> 21 -+ s4 += carry[3] -+ s3 -= carry[3] << 21 -+ carry[4] = s4 >> 21 -+ s5 += carry[4] -+ s4 -= carry[4] << 21 -+ carry[5] = s5 >> 21 -+ s6 += carry[5] -+ s5 -= carry[5] << 21 -+ carry[6] = s6 >> 21 -+ s7 += carry[6] -+ s6 -= carry[6] << 21 -+ carry[7] = s7 >> 21 -+ s8 += carry[7] -+ s7 -= carry[7] << 21 -+ carry[8] = s8 >> 21 -+ s9 += carry[8] -+ s8 -= carry[8] << 21 -+ carry[9] = s9 >> 21 -+ s10 += carry[9] -+ s9 -= carry[9] << 21 -+ carry[10] = s10 >> 21 -+ s11 += carry[10] -+ s10 -= carry[10] << 21 -+ carry[11] = s11 >> 21 -+ s12 += carry[11] -+ s11 -= carry[11] << 21 -+ -+ s0 += s12 * 666643 -+ s1 += s12 * 470296 -+ s2 += s12 * 654183 -+ s3 -= s12 * 997805 -+ s4 += s12 * 136657 -+ s5 -= s12 * 683901 -+ s12 = 0 -+ -+ carry[0] = s0 >> 21 -+ s1 += carry[0] -+ s0 -= carry[0] << 21 -+ carry[1] = s1 >> 21 -+ s2 += carry[1] -+ s1 -= carry[1] << 21 -+ carry[2] = s2 >> 21 -+ s3 += carry[2] -+ s2 -= carry[2] << 21 -+ carry[3] = s3 >> 21 -+ s4 += carry[3] -+ s3 -= carry[3] << 21 -+ carry[4] = s4 >> 21 -+ s5 += carry[4] -+ s4 -= carry[4] << 21 -+ carry[5] = s5 >> 21 -+ s6 += carry[5] -+ s5 -= carry[5] << 21 -+ carry[6] = s6 >> 21 -+ s7 += carry[6] -+ s6 -= carry[6] << 21 -+ carry[7] = s7 >> 21 -+ s8 += carry[7] -+ s7 -= carry[7] << 21 -+ carry[8] = s8 >> 21 -+ s9 += carry[8] -+ s8 -= carry[8] << 21 -+ carry[9] = s9 >> 21 -+ s10 += carry[9] -+ s9 -= carry[9] << 21 -+ carry[10] = s10 >> 21 -+ s11 += carry[10] -+ s10 -= carry[10] << 21 -+ -+ out[0] = byte(s0 >> 0) -+ out[1] = byte(s0 >> 8) -+ out[2] = byte((s0 >> 16) | (s1 << 5)) -+ out[3] = byte(s1 >> 3) -+ out[4] = byte(s1 >> 11) -+ out[5] = byte((s1 >> 19) | (s2 << 2)) -+ out[6] = byte(s2 >> 6) -+ out[7] = byte((s2 >> 14) | (s3 << 7)) -+ out[8] = byte(s3 >> 1) -+ out[9] = byte(s3 >> 9) -+ out[10] = byte((s3 >> 17) | (s4 << 4)) -+ out[11] = byte(s4 >> 4) -+ out[12] = byte(s4 >> 12) -+ out[13] = byte((s4 >> 20) | (s5 << 1)) -+ out[14] = byte(s5 >> 7) -+ out[15] = byte((s5 >> 15) | (s6 << 6)) -+ out[16] = byte(s6 >> 2) -+ out[17] = byte(s6 >> 10) -+ out[18] = byte((s6 >> 18) | (s7 << 3)) -+ out[19] = byte(s7 >> 5) -+ out[20] = byte(s7 >> 13) -+ out[21] = byte(s8 >> 0) -+ out[22] = byte(s8 >> 8) -+ out[23] = byte((s8 >> 16) | (s9 << 5)) -+ out[24] = byte(s9 >> 3) -+ out[25] = byte(s9 >> 11) -+ out[26] = byte((s9 >> 19) | (s10 << 2)) -+ out[27] = byte(s10 >> 6) -+ out[28] = byte((s10 >> 14) | (s11 << 7)) -+ out[29] = byte(s11 >> 1) -+ out[30] = byte(s11 >> 9) -+ out[31] = byte(s11 >> 17) -+} -+ -+// order is the order of Curve25519 in little-endian form. -+var order = [4]uint64{0x5812631a5cf5d3ed, 0x14def9dea2f79cd6, 0, 0x1000000000000000} -+ -+// ScMinimal returns true if the given scalar is less than the order of the -+// curve. -+func ScMinimal(scalar *[32]byte) bool { -+ for i := 3; ; i-- { -+ v := binary.LittleEndian.Uint64(scalar[i*8:]) -+ if v > order[i] { -+ return false -+ } else if v < order[i] { -+ break -+ } else if i == 0 { -+ return false -+ } -+ } -+ -+ return true -+} -diff --git a/vendor/golang.org/x/crypto/openpgp/elgamal/elgamal.go b/vendor/golang.org/x/crypto/openpgp/elgamal/elgamal.go -index 73f4fe378..72a6a7394 100644 ---- a/vendor/golang.org/x/crypto/openpgp/elgamal/elgamal.go -+++ b/vendor/golang.org/x/crypto/openpgp/elgamal/elgamal.go -@@ -76,7 +76,9 @@ func Encrypt(random io.Reader, pub *PublicKey, msg []byte) (c1, c2 *big.Int, err - // Bleichenbacher, Advances in Cryptology (Crypto '98), - func Decrypt(priv *PrivateKey, c1, c2 *big.Int) (msg []byte, err error) { - s := new(big.Int).Exp(c1, priv.X, priv.P) -- s.ModInverse(s, priv.P) -+ if s.ModInverse(s, priv.P) == nil { -+ return nil, errors.New("elgamal: invalid private key") -+ } - s.Mul(s, c2) - s.Mod(s, priv.P) - em := s.Bytes() -diff --git a/vendor/golang.org/x/crypto/openpgp/packet/encrypted_key.go b/vendor/golang.org/x/crypto/openpgp/packet/encrypted_key.go -index 02b372cf3..6d7639722 100644 ---- a/vendor/golang.org/x/crypto/openpgp/packet/encrypted_key.go -+++ b/vendor/golang.org/x/crypto/openpgp/packet/encrypted_key.go -@@ -5,6 +5,7 @@ - package packet - - import ( -+ "crypto" - "crypto/rsa" - "encoding/binary" - "io" -@@ -78,8 +79,9 @@ func (e *EncryptedKey) Decrypt(priv *PrivateKey, config *Config) error { - // padding oracle attacks. - switch priv.PubKeyAlgo { - case PubKeyAlgoRSA, PubKeyAlgoRSAEncryptOnly: -- k := priv.PrivateKey.(*rsa.PrivateKey) -- b, err = rsa.DecryptPKCS1v15(config.Random(), k, padToKeySize(&k.PublicKey, e.encryptedMPI1.bytes)) -+ // Supports both *rsa.PrivateKey and crypto.Decrypter -+ k := priv.PrivateKey.(crypto.Decrypter) -+ b, err = k.Decrypt(config.Random(), padToKeySize(k.Public().(*rsa.PublicKey), e.encryptedMPI1.bytes), nil) - case PubKeyAlgoElGamal: - c1 := new(big.Int).SetBytes(e.encryptedMPI1.bytes) - c2 := new(big.Int).SetBytes(e.encryptedMPI2.bytes) -diff --git a/vendor/golang.org/x/crypto/openpgp/packet/private_key.go b/vendor/golang.org/x/crypto/openpgp/packet/private_key.go -index 6f8ec0938..81abb7cef 100644 ---- a/vendor/golang.org/x/crypto/openpgp/packet/private_key.go -+++ b/vendor/golang.org/x/crypto/openpgp/packet/private_key.go -@@ -31,7 +31,7 @@ type PrivateKey struct { - encryptedData []byte - cipher CipherFunction - s2k func(out, in []byte) -- PrivateKey interface{} // An *{rsa|dsa|ecdsa}.PrivateKey or a crypto.Signer. -+ PrivateKey interface{} // An *{rsa|dsa|ecdsa}.PrivateKey or crypto.Signer/crypto.Decrypter (Decryptor RSA only). - sha1Checksum bool - iv []byte - } -diff --git a/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go b/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go -new file mode 100644 -index 000000000..593f65300 ---- /dev/null -+++ b/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go -@@ -0,0 +1,77 @@ -+// 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 pbkdf2 implements the key derivation function PBKDF2 as defined in RFC -+2898 / PKCS #5 v2.0. -+ -+A key derivation function is useful when encrypting data based on a password -+or any other not-fully-random data. It uses a pseudorandom function to derive -+a secure encryption key based on the password. -+ -+While v2.0 of the standard defines only one pseudorandom function to use, -+HMAC-SHA1, the drafted v2.1 specification allows use of all five FIPS Approved -+Hash Functions SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 for HMAC. To -+choose, you can pass the `New` functions from the different SHA packages to -+pbkdf2.Key. -+*/ -+package pbkdf2 // import "golang.org/x/crypto/pbkdf2" -+ -+import ( -+ "crypto/hmac" -+ "hash" -+) -+ -+// Key derives a key from the password, salt and iteration count, returning a -+// []byte of length keylen that can be used as cryptographic key. The key is -+// derived based on the method described as PBKDF2 with the HMAC variant using -+// the supplied hash function. -+// -+// For example, to use a HMAC-SHA-1 based PBKDF2 key derivation function, you -+// can get a derived key for e.g. AES-256 (which needs a 32-byte key) by -+// doing: -+// -+// dk := pbkdf2.Key([]byte("some password"), salt, 4096, 32, sha1.New) -+// -+// Remember to get a good random salt. At least 8 bytes is recommended by the -+// RFC. -+// -+// Using a higher iteration count will increase the cost of an exhaustive -+// search but will also make derivation proportionally slower. -+func Key(password, salt []byte, iter, keyLen int, h func() hash.Hash) []byte { -+ prf := hmac.New(h, password) -+ hashLen := prf.Size() -+ numBlocks := (keyLen + hashLen - 1) / hashLen -+ -+ var buf [4]byte -+ dk := make([]byte, 0, numBlocks*hashLen) -+ U := make([]byte, hashLen) -+ for block := 1; block <= numBlocks; block++ { -+ // N.B.: || means concatenation, ^ means XOR -+ // for each block T_i = U_1 ^ U_2 ^ ... ^ U_iter -+ // U_1 = PRF(password, salt || uint(i)) -+ prf.Reset() -+ prf.Write(salt) -+ buf[0] = byte(block >> 24) -+ buf[1] = byte(block >> 16) -+ buf[2] = byte(block >> 8) -+ buf[3] = byte(block) -+ prf.Write(buf[:4]) -+ dk = prf.Sum(dk) -+ T := dk[len(dk)-hashLen:] -+ copy(U, T) -+ -+ // U_n = PRF(password, U_(n-1)) -+ for n := 2; n <= iter; n++ { -+ prf.Reset() -+ prf.Write(U) -+ U = U[:0] -+ U = prf.Sum(U) -+ for x := range U { -+ T[x] ^= U[x] -+ } -+ } -+ } -+ return dk[:keyLen] -+} -diff --git a/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/vendor/golang.org/x/sys/unix/bluetooth_linux.go -index 6e3229697..a178a6149 100644 ---- a/vendor/golang.org/x/sys/unix/bluetooth_linux.go -+++ b/vendor/golang.org/x/sys/unix/bluetooth_linux.go -@@ -23,6 +23,7 @@ const ( - HCI_CHANNEL_USER = 1 - HCI_CHANNEL_MONITOR = 2 - HCI_CHANNEL_CONTROL = 3 -+ HCI_CHANNEL_LOGGING = 4 - ) - - // Socketoption Level -diff --git a/vendor/golang.org/x/sys/unix/fdset.go b/vendor/golang.org/x/sys/unix/fdset.go -new file mode 100644 -index 000000000..b27be0a01 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/fdset.go -@@ -0,0 +1,29 @@ -+// 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 aix darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+package unix -+ -+// Set adds fd to the set fds. -+func (fds *FdSet) Set(fd int) { -+ fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS)) -+} -+ -+// Clear removes fd from the set fds. -+func (fds *FdSet) Clear(fd int) { -+ fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS)) -+} -+ -+// IsSet returns whether fd is in the set fds. -+func (fds *FdSet) IsSet(fd int) bool { -+ return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0 -+} -+ -+// Zero clears the set fds. -+func (fds *FdSet) Zero() { -+ for i := range fds.Bits { -+ fds.Bits[i] = 0 -+ } -+} -diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh -index 5a22eca96..890ec464c 100644 ---- a/vendor/golang.org/x/sys/unix/mkall.sh -+++ b/vendor/golang.org/x/sys/unix/mkall.sh -@@ -212,9 +212,11 @@ esac - echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ; - elif [ "$GOOS" == "darwin" ]; then - # pre-1.12, direct syscalls -- echo "$mksyscall -tags $GOOS,$GOARCH,!go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.1_11.go"; -+ echo "$mksyscall -tags $GOOS,$GOARCH,!go1.12 $syscall_goos syscall_darwin_${GOARCH}.1_11.go $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.1_11.go"; - # 1.12 and later, syscalls via libSystem - echo "$mksyscall -tags $GOOS,$GOARCH,go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; -+ # 1.13 and later, syscalls via libSystem (including syscallPtr) -+ echo "$mksyscall -tags $GOOS,$GOARCH,go1.13 syscall_darwin.1_13.go |gofmt >zsyscall_$GOOSARCH.1_13.go"; - else - echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; - fi -diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh -index 85cfbd049..b5462b85f 100644 ---- a/vendor/golang.org/x/sys/unix/mkerrors.sh -+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh -@@ -44,6 +44,7 @@ includes_AIX=' - #include - #include - #include -+#include - #include - #include - #include -@@ -60,6 +61,7 @@ includes_Darwin=' - #include - #include - #include -+#include - #include - #include - #include -@@ -80,6 +82,7 @@ includes_Darwin=' - includes_DragonFly=' - #include - #include -+#include - #include - #include - #include -@@ -103,6 +106,7 @@ includes_FreeBSD=' - #include - #include - #include -+#include - #include - #include - #include -@@ -179,24 +183,33 @@ struct ltchars { - #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 -+#include - #include - #include - #include -@@ -208,25 +221,21 @@ struct ltchars { - #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 - -@@ -265,6 +274,11 @@ struct ltchars { - #define FS_KEY_DESC_PREFIX "fscrypt:" - #define FS_KEY_DESC_PREFIX_SIZE 8 - #define FS_MAX_KEY_SIZE 64 -+ -+// The code generator produces -0x1 for (~0), but an unsigned value is necessary -+// for the tipc_subscr timeout __u32 field. -+#undef TIPC_WAIT_FOREVER -+#define TIPC_WAIT_FOREVER 0xffffffff - ' - - includes_NetBSD=' -@@ -274,6 +288,7 @@ includes_NetBSD=' - #include - #include - #include -+#include - #include - #include - #include -@@ -300,6 +315,7 @@ includes_OpenBSD=' - #include - #include - #include -+#include - #include - #include - #include -@@ -336,6 +352,7 @@ includes_OpenBSD=' - includes_SunOS=' - #include - #include -+#include - #include - #include - #include -@@ -428,6 +445,7 @@ ccflags="$@" - $2 == "XCASE" || - $2 == "ALTWERASE" || - $2 == "NOKERNINFO" || -+ $2 == "NFDBITS" || - $2 ~ /^PAR/ || - $2 ~ /^SIG[^_]/ || - $2 ~ /^O[CNPFPL][A-Z]+[^_][A-Z]+$/ || -@@ -479,7 +497,9 @@ ccflags="$@" - $2 ~ /^CAN_/ || - $2 ~ /^CAP_/ || - $2 ~ /^ALG_/ || -- $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ || -+ $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE)/ || -+ $2 ~ /^FS_IOC_.*ENCRYPTION/ || -+ $2 ~ /^FSCRYPT_/ || - $2 ~ /^GRND_/ || - $2 ~ /^RND/ || - $2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ || -@@ -508,6 +528,8 @@ ccflags="$@" - $2 ~ /^XDP_/ || - $2 ~ /^(HDIO|WIN|SMART)_/ || - $2 ~ /^CRYPTO_/ || -+ $2 ~ /^TIPC_/ || -+ $2 ~ /^DEVLINK_/ || - $2 !~ "WMESGLEN" && - $2 ~ /^W[A-Z0-9]+$/ || - $2 ~/^PPPIOC/ || -diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go b/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go -new file mode 100644 -index 000000000..5144deecc ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go -@@ -0,0 +1,16 @@ -+// 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 unix -+ -+// Round the length of a raw sockaddr up to align it properly. -+func cmsgAlignOf(salen int) int { -+ salign := SizeofPtr -+ if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) { -+ // 64-bit Dragonfly before the September 2019 ABI changes still requires -+ // 32-bit aligned access to network subsystem. -+ salign = 4 -+ } -+ return (salen + salign - 1) & ^(salign - 1) -+} -diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go -index 6079eb4ac..8bf457059 100644 ---- a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go -+++ b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go -@@ -17,7 +17,7 @@ func UnixCredentials(ucred *Ucred) []byte { - h.Level = SOL_SOCKET - h.Type = SCM_CREDENTIALS - h.SetLen(CmsgLen(SizeofUcred)) -- *((*Ucred)(cmsgData(h))) = *ucred -+ *(*Ucred)(h.data(0)) = *ucred - return b - } - -diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go -index 062bcabab..003916ed7 100644 ---- a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go -+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go -@@ -9,35 +9,9 @@ - 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 "aix": -- // There is no alignment on AIX. -- salign = 1 -- case "darwin", "dragonfly", "solaris", "illumos": -- // NOTE: It seems like 64-bit Darwin, DragonFly BSD, -- // illumos, and Solaris kernels still require 32-bit -- // aligned access to network subsystem. -- if SizeofPtr == 8 { -- salign = 4 -- } -- case "netbsd", "openbsd": -- // NetBSD and OpenBSD armv7 require 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 { -@@ -50,8 +24,8 @@ 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))) -+func (h *Cmsghdr) data(offset uintptr) unsafe.Pointer { -+ return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)) + offset) - } - - // SocketControlMessage represents a socket control message. -@@ -94,10 +68,8 @@ func UnixRights(fds ...int) []byte { - 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) -+ for i, fd := range fds { -+ *(*int32)(h.data(4 * uintptr(i))) = int32(fd) - } - return b - } -diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go -new file mode 100644 -index 000000000..7d08dae5b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go -@@ -0,0 +1,38 @@ -+// 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 aix darwin freebsd linux netbsd openbsd solaris -+ -+package unix -+ -+import ( -+ "runtime" -+) -+ -+// Round the length of a raw sockaddr up to align it properly. -+func cmsgAlignOf(salen int) int { -+ salign := SizeofPtr -+ -+ // dragonfly needs to check ABI version at runtime, see cmsgAlignOf in -+ // sockcmsg_dragonfly.go -+ switch runtime.GOOS { -+ case "aix": -+ // There is no alignment on AIX. -+ salign = 1 -+ case "darwin", "illumos", "solaris": -+ // NOTE: It seems like 64-bit Darwin, Illumos and Solaris -+ // kernels still require 32-bit aligned access to network -+ // subsystem. -+ if SizeofPtr == 8 { -+ salign = 4 -+ } -+ case "netbsd", "openbsd": -+ // NetBSD and OpenBSD armv7 require 64-bit alignment. -+ if runtime.GOARCH == "arm" { -+ salign = 8 -+ } -+ } -+ -+ return (salen + salign - 1) & ^(salign - 1) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go -index bf05603f1..b3c8e3301 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go -+++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go -@@ -29,6 +29,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(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 -index 13d4321f4..9a6e02417 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go -@@ -29,6 +29,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(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 -index 97a8eef6f..d52bcc41c 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_bsd.go -+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go -@@ -237,7 +237,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { - break - } - } -- bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) - return sa, nil - -@@ -413,8 +413,6 @@ func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err e - 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. -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go -new file mode 100644 -index 000000000..6a15cba61 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go -@@ -0,0 +1,29 @@ -+// 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 darwin,go1.12,!go1.13 -+ -+package unix -+ -+import ( -+ "unsafe" -+) -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ // To implement this using libSystem we'd need syscall_syscallPtr for -+ // fdopendir. However, syscallPtr was only added in Go 1.13, so we fall -+ // back to raw syscalls for this func on Go 1.12. -+ var p unsafe.Pointer -+ if len(buf) > 0 { -+ p = unsafe.Pointer(&buf[0]) -+ } else { -+ p = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(p), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ return n, errnoErr(e1) -+ } -+ return n, nil -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go -new file mode 100644 -index 000000000..f911617be ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go -@@ -0,0 +1,101 @@ -+// 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 darwin,go1.13 -+ -+package unix -+ -+import "unsafe" -+ -+//sys closedir(dir uintptr) (err error) -+//sys readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) -+ -+func fdopendir(fd int) (dir uintptr, err error) { -+ r0, _, e1 := syscall_syscallPtr(funcPC(libc_fdopendir_trampoline), uintptr(fd), 0, 0) -+ dir = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+func libc_fdopendir_trampoline() -+ -+//go:linkname libc_fdopendir libc_fdopendir -+//go:cgo_import_dynamic libc_fdopendir fdopendir "/usr/lib/libSystem.B.dylib" -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ // Simulate Getdirentries using fdopendir/readdir_r/closedir. -+ // We store the number of entries to skip in the seek -+ // offset of fd. See issue #31368. -+ // It's not the full required semantics, but should handle the case -+ // of calling Getdirentries or ReadDirent repeatedly. -+ // It won't handle assigning the results of lseek to *basep, or handle -+ // the directory being edited underfoot. -+ skip, err := Seek(fd, 0, 1 /* SEEK_CUR */) -+ if err != nil { -+ return 0, err -+ } -+ -+ // We need to duplicate the incoming file descriptor -+ // because the caller expects to retain control of it, but -+ // fdopendir expects to take control of its argument. -+ // Just Dup'ing the file descriptor is not enough, as the -+ // result shares underlying state. Use Openat to make a really -+ // new file descriptor referring to the same directory. -+ fd2, err := Openat(fd, ".", O_RDONLY, 0) -+ if err != nil { -+ return 0, err -+ } -+ d, err := fdopendir(fd2) -+ if err != nil { -+ Close(fd2) -+ return 0, err -+ } -+ defer closedir(d) -+ -+ var cnt int64 -+ for { -+ var entry Dirent -+ var entryp *Dirent -+ e := readdir_r(d, &entry, &entryp) -+ if e != 0 { -+ return n, errnoErr(e) -+ } -+ if entryp == nil { -+ break -+ } -+ if skip > 0 { -+ skip-- -+ cnt++ -+ continue -+ } -+ reclen := int(entry.Reclen) -+ if reclen > len(buf) { -+ // Not enough room. Return for now. -+ // The counter will let us know where we should start up again. -+ // Note: this strategy for suspending in the middle and -+ // restarting is O(n^2) in the length of the directory. Oh well. -+ break -+ } -+ // Copy entry into return buffer. -+ s := struct { -+ ptr unsafe.Pointer -+ siz int -+ cap int -+ }{ptr: unsafe.Pointer(&entry), siz: reclen, cap: reclen} -+ copy(buf, *(*[]byte)(unsafe.Pointer(&s))) -+ buf = buf[reclen:] -+ n += reclen -+ cnt++ -+ } -+ // Set the seek offset of the input fd to record -+ // how many files we've already returned. -+ _, err = Seek(fd, cnt, 0 /* SEEK_SET */) -+ if err != nil { -+ return n, err -+ } -+ -+ return n, nil -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go -index f26a19ebd..0a1cc74b3 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_darwin.go -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go -@@ -339,6 +339,8 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig - - //sys ioctl(fd int, req uint, arg uintptr) (err error) - -+//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL -+ - func Uname(uname *Utsname) error { - mib := []_C_int{CTL_KERN, KERN_OSTYPE} - n := unsafe.Sizeof(uname.Sysname) -@@ -460,7 +462,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e - //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 Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) - //sys Setegid(egid int) (err error) - //sysnb Seteuid(euid int) (err error) - //sysnb Setgid(gid int) (err error) -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go -new file mode 100644 -index 000000000..6b223f91a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go -@@ -0,0 +1,9 @@ -+// 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 darwin,386,!go1.12 -+ -+package unix -+ -+//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go -index cd8be182a..707ba4f59 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go -@@ -45,6 +45,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -@@ -58,7 +62,6 @@ 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 -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go -new file mode 100644 -index 000000000..68ebd6fab ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go -@@ -0,0 +1,9 @@ -+// 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 darwin,amd64,!go1.12 -+ -+package unix -+ -+//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go -index d0d07243c..fdbfb5911 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go -@@ -45,6 +45,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -@@ -58,7 +62,6 @@ 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 -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go -new file mode 100644 -index 000000000..c81510da2 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.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 darwin,386,!go1.12 -+ -+package unix -+ -+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_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go -index 01e8a38a9..f8bc4cfb1 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go -@@ -45,6 +45,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -@@ -62,7 +66,3 @@ const SYS___SYSCTL = SYS_SYSCTL - //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.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go -new file mode 100644 -index 000000000..01d450406 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.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 darwin,arm64,!go1.12 -+ -+package unix -+ -+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 -index e674f81da..5ede3ac31 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go -@@ -47,6 +47,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -@@ -64,7 +68,3 @@ const SYS___SYSCTL = SYS_SYSCTL - //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 -index 4b4ae460f..f34c86c89 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go -@@ -15,6 +15,7 @@ func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err - 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) -+func syscall_syscallPtr(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) - - //go:linkname syscall_syscall syscall.syscall - //go:linkname syscall_syscall6 syscall.syscall6 -@@ -22,6 +23,7 @@ func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, er - //go:linkname syscall_syscall9 syscall.syscall9 - //go:linkname syscall_rawSyscall syscall.rawSyscall - //go:linkname syscall_rawSyscall6 syscall.rawSyscall6 -+//go:linkname syscall_syscallPtr syscall.syscallPtr - - // Find the entry point for f. See comments in runtime/proc.go for the - // function of the same name. -diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go -index 474181c02..8a195ae58 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go -+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go -@@ -12,7 +12,25 @@ - - package unix - --import "unsafe" -+import ( -+ "sync" -+ "unsafe" -+) -+ -+// See version list in https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/param.h -+var ( -+ osreldateOnce sync.Once -+ osreldate uint32 -+) -+ -+// First __DragonFly_version after September 2019 ABI changes -+// http://lists.dragonflybsd.org/pipermail/users/2019-September/358280.html -+const _dragonflyABIChangeVersion = 500705 -+ -+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 { -@@ -150,6 +168,8 @@ func setattrlistTimes(path string, times []Timespec, flags int) error { - - //sys ioctl(fd int, req uint, arg uintptr) (err error) - -+//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL -+ - func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error { - err := sysctl(mib, old, oldlen, nil, 0) - if err != nil { -@@ -288,7 +308,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e - //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 Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) - //sysnb Setegid(egid int) (err error) - //sysnb Seteuid(euid int) (err error) - //sysnb Setgid(gid int) (err error) -diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go -index 9babb31ea..a6b4830ac 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go -@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go -index d95c4436f..34918d8ed 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go -@@ -201,6 +201,8 @@ func setattrlistTimes(path string, times []Timespec, flags int) error { - - //sys ioctl(fd int, req uint, arg uintptr) (err error) - -+//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL -+ - func Uname(uname *Utsname) error { - mib := []_C_int{CTL_KERN, KERN_OSTYPE} - n := unsafe.Sizeof(uname.Sysname) -@@ -460,8 +462,12 @@ func convertFromDirents11(buf []byte, old []byte) int { - 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])) -+ var dstDirent Dirent -+ var srcDirent dirent_freebsd11 -+ -+ // If multiple direntries are written, sometimes when we reach the final one, -+ // we may have cap of old less than size of dirent_freebsd11. -+ copy((*[unsafe.Sizeof(srcDirent)]byte)(unsafe.Pointer(&srcDirent))[:], old[srcPos:]) - - reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8) - if dstPos+reclen > len(buf) { -@@ -477,6 +483,7 @@ func convertFromDirents11(buf []byte, old []byte) int { - dstDirent.Pad1 = 0 - - copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen]) -+ copy(buf[dstPos:], (*[unsafe.Sizeof(dstDirent)]byte)(unsafe.Pointer(&dstDirent))[:]) - padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen] - for i := range padding { - padding[i] = 0 -@@ -651,7 +658,7 @@ func PtraceSingleStep(pid int) (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 Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) - //sysnb Setegid(egid int) (err error) - //sysnb Seteuid(euid int) (err error) - //sysnb Setgid(gid int) (err error) -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go -index 21e03958c..dcc56457a 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go -@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go -index 9c945a657..321c3bace 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go -@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go -index 5cd6243f2..697700831 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go -@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go -index a31805487..dbbbfd603 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go -@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go -index fe30b9544..26903bca8 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go -@@ -775,6 +775,70 @@ func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) { - return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil - } - -+// SockaddrTIPC implements the Sockaddr interface for AF_TIPC type sockets. -+// For more information on TIPC, see: http://tipc.sourceforge.net/. -+type SockaddrTIPC struct { -+ // Scope is the publication scopes when binding service/service range. -+ // Should be set to TIPC_CLUSTER_SCOPE or TIPC_NODE_SCOPE. -+ Scope int -+ -+ // Addr is the type of address used to manipulate a socket. Addr must be -+ // one of: -+ // - *TIPCSocketAddr: "id" variant in the C addr union -+ // - *TIPCServiceRange: "nameseq" variant in the C addr union -+ // - *TIPCServiceName: "name" variant in the C addr union -+ // -+ // If nil, EINVAL will be returned when the structure is used. -+ Addr TIPCAddr -+ -+ raw RawSockaddrTIPC -+} -+ -+// TIPCAddr is implemented by types that can be used as an address for -+// SockaddrTIPC. It is only implemented by *TIPCSocketAddr, *TIPCServiceRange, -+// and *TIPCServiceName. -+type TIPCAddr interface { -+ tipcAddrtype() uint8 -+ tipcAddr() [12]byte -+} -+ -+func (sa *TIPCSocketAddr) tipcAddr() [12]byte { -+ var out [12]byte -+ copy(out[:], (*(*[unsafe.Sizeof(TIPCSocketAddr{})]byte)(unsafe.Pointer(sa)))[:]) -+ return out -+} -+ -+func (sa *TIPCSocketAddr) tipcAddrtype() uint8 { return TIPC_SOCKET_ADDR } -+ -+func (sa *TIPCServiceRange) tipcAddr() [12]byte { -+ var out [12]byte -+ copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceRange{})]byte)(unsafe.Pointer(sa)))[:]) -+ return out -+} -+ -+func (sa *TIPCServiceRange) tipcAddrtype() uint8 { return TIPC_SERVICE_RANGE } -+ -+func (sa *TIPCServiceName) tipcAddr() [12]byte { -+ var out [12]byte -+ copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceName{})]byte)(unsafe.Pointer(sa)))[:]) -+ return out -+} -+ -+func (sa *TIPCServiceName) tipcAddrtype() uint8 { return TIPC_SERVICE_ADDR } -+ -+func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Addr == nil { -+ return nil, 0, EINVAL -+ } -+ -+ sa.raw.Family = AF_TIPC -+ sa.raw.Scope = int8(sa.Scope) -+ sa.raw.Addrtype = sa.Addr.tipcAddrtype() -+ sa.raw.Addr = sa.Addr.tipcAddr() -+ -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil -+} -+ - func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { - switch rsa.Addr.Family { - case AF_NETLINK: -@@ -820,7 +884,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { - for n < len(pp.Path) && pp.Path[n] != 0 { - n++ - } -- bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) - return sa, nil - -@@ -900,6 +964,27 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { - break - } - } -+ return sa, nil -+ case AF_TIPC: -+ pp := (*RawSockaddrTIPC)(unsafe.Pointer(rsa)) -+ -+ sa := &SockaddrTIPC{ -+ Scope: int(pp.Scope), -+ } -+ -+ // Determine which union variant is present in pp.Addr by checking -+ // pp.Addrtype. -+ switch pp.Addrtype { -+ case TIPC_SERVICE_RANGE: -+ sa.Addr = (*TIPCServiceRange)(unsafe.Pointer(&pp.Addr)) -+ case TIPC_SERVICE_ADDR: -+ sa.Addr = (*TIPCServiceName)(unsafe.Pointer(&pp.Addr)) -+ case TIPC_SOCKET_ADDR: -+ sa.Addr = (*TIPCSocketAddr)(unsafe.Pointer(&pp.Addr)) -+ default: -+ return nil, EINVAL -+ } -+ - return sa, nil - } - return nil, EAFNOSUPPORT -@@ -1137,6 +1222,34 @@ func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error - return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer) - } - -+// KeyctlRestrictKeyring implements the KEYCTL_RESTRICT_KEYRING command. This -+// command limits the set of keys that can be linked to the keyring, regardless -+// of keyring permissions. The command requires the "setattr" permission. -+// -+// When called with an empty keyType the command locks the keyring, preventing -+// any further keys from being linked to the keyring. -+// -+// The "asymmetric" keyType defines restrictions requiring key payloads to be -+// DER encoded X.509 certificates signed by keys in another keyring. Restrictions -+// for "asymmetric" include "builtin_trusted", "builtin_and_secondary_trusted", -+// "key_or_keyring:", and "key_or_keyring::chain". -+// -+// As of Linux 4.12, only the "asymmetric" keyType defines type-specific -+// restrictions. -+// -+// See the full documentation at: -+// http://man7.org/linux/man-pages/man3/keyctl_restrict_keyring.3.html -+// http://man7.org/linux/man-pages/man2/keyctl.2.html -+func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error { -+ if keyType == "" { -+ return keyctlRestrictKeyring(KEYCTL_RESTRICT_KEYRING, ringid) -+ } -+ return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction) -+} -+ -+//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL -+//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL -+ - func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { - var msg Msghdr - var rsa RawSockaddrAny -@@ -1380,8 +1493,12 @@ func PtraceSyscall(pid int, signal int) (err error) { - - func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) } - -+func PtraceInterrupt(pid int) (err error) { return ptrace(PTRACE_INTERRUPT, pid, 0, 0) } -+ - func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } - -+func PtraceSeize(pid int) (err error) { return ptrace(PTRACE_SEIZE, 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) -@@ -1738,6 +1855,17 @@ func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err erro - return openByHandleAt(mountFD, handle.fileHandle, flags) - } - -+// Klogset wraps the sys_syslog system call; it sets console_loglevel to -+// the value specified by arg and passes a dummy pointer to bufp. -+func Klogset(typ int, arg int) (err error) { -+ var p unsafe.Pointer -+ _, _, errno := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(p), uintptr(arg)) -+ if errno != 0 { -+ return errnoErr(errno) -+ } -+ return nil -+} -+ - /* - * Unimplemented - */ -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go -index e2f8cf6e5..e7fa665e6 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go -@@ -372,6 +372,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go -index 87a30744d..088ce0f93 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go -@@ -163,6 +163,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint64(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go -index f62679443..11930fc8f 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go -@@ -252,6 +252,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go -index cb20b15d5..251e2d971 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go -@@ -180,6 +180,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint64(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go -index b3b21ec1e..7562fe97b 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go -@@ -208,6 +208,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint64(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go -index 5144d4e13..a939ff8f2 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go -@@ -220,6 +220,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go -index 0a100b66a..28d6d0f22 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go -@@ -91,6 +91,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint64(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go -index 6230f6405..6798c2625 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go -@@ -179,6 +179,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint64(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go -index f81dbdc9c..eb5cb1a71 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go -@@ -120,6 +120,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint64(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go -index b69565616..37321c12e 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go -@@ -107,6 +107,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint64(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint64(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint64(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go -index 7f9812b4f..211131d9c 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go -@@ -187,6 +187,8 @@ func setattrlistTimes(path string, times []Timespec, flags int) error { - - //sys ioctl(fd int, req uint, arg uintptr) (err error) - -+//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL -+ - func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) { - var value Ptmget - err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) -@@ -328,7 +330,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e - //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 Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) - //sysnb Setegid(egid int) (err error) - //sysnb Seteuid(euid int) (err error) - //sysnb Setgid(gid int) (err error) -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go -index 24f74e58c..24da8b524 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go -@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(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 -index 6878bf7ff..25a0ac825 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go -@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(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 -index dbbfcf71d..21591ecd4 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go -@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(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 -index f3434465a..804749635 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go -@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(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 -index 9a26768f6..92ed67de0 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go -@@ -178,6 +178,8 @@ func setattrlistTimes(path string, times []Timespec, flags int) error { - - //sys ioctl(fd int, req uint, arg uintptr) (err error) - -+//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL -+ - //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) { -@@ -303,7 +305,7 @@ func Uname(uname *Utsname) 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 Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) - //sysnb Setegid(egid int) (err error) - //sysnb Seteuid(euid int) (err error) - //sysnb Setgid(gid int) (err error) -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go -index d62da60d1..42b5a0e51 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go -@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go -index 9a35334cb..6ea4b4883 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go -@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go -index 5d812aaea..1c3d26fa2 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go -@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go -index 0fb39cf5e..a8c458cb0 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go -@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) { - msghdr.Controllen = uint32(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = uint32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go -index 1610f551d..0e2a696ad 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_solaris.go -+++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go -@@ -391,7 +391,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { - for n < len(pp.Path) && pp.Path[n] != 0 { - n++ - } -- bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) - return sa, nil - -@@ -649,7 +649,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e - //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) -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) - //sysnb Setegid(egid int) (err error) - //sysnb Seteuid(euid int) (err error) - //sysnb Setgid(gid int) (err error) -diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go -index 91c32ddf0..b22a34d7a 100644 ---- a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go -+++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go -@@ -18,6 +18,10 @@ func (iov *Iovec) SetLen(length int) { - iov.Len = uint64(length) - } - -+func (msghdr *Msghdr) SetIovlen(length int) { -+ msghdr.Iovlen = int32(length) -+} -+ - func (cmsg *Cmsghdr) SetLen(length int) { - cmsg.Len = uint32(length) - } -diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go -index 1def8a581..104994bc6 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go -@@ -459,6 +459,15 @@ const ( - MAP_SHARED = 0x1 - MAP_TYPE = 0xf0 - MAP_VARIABLE = 0x0 -+ MCAST_BLOCK_SOURCE = 0x40 -+ MCAST_EXCLUDE = 0x2 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x3e -+ MCAST_JOIN_SOURCE_GROUP = 0x42 -+ MCAST_LEAVE_GROUP = 0x3f -+ MCAST_LEAVE_SOURCE_GROUP = 0x43 -+ MCAST_SOURCE_FILTER = 0x49 -+ MCAST_UNBLOCK_SOURCE = 0x41 - MCL_CURRENT = 0x100 - MCL_FUTURE = 0x200 - MSG_ANY = 0x4 -@@ -483,6 +492,7 @@ const ( - MS_INVALIDATE = 0x40 - MS_PER_SEC = 0x3e8 - MS_SYNC = 0x20 -+ NFDBITS = 0x20 - NL0 = 0x0 - NL1 = 0x4000 - NL2 = 0x8000 -@@ -688,7 +698,7 @@ const ( - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = -0x3fd796df - SIOCGIFADDRS = 0x2000698c -- SIOCGIFBAUDRATE = -0x3fd79693 -+ SIOCGIFBAUDRATE = -0x3fdf9669 - SIOCGIFBRDADDR = -0x3fd796dd - SIOCGIFCONF = -0x3ff796bb - SIOCGIFCONFGLOB = -0x3ff79670 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go -index 03187dea9..4fc8d3064 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go -@@ -459,6 +459,15 @@ const ( - MAP_SHARED = 0x1 - MAP_TYPE = 0xf0 - MAP_VARIABLE = 0x0 -+ MCAST_BLOCK_SOURCE = 0x40 -+ MCAST_EXCLUDE = 0x2 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x3e -+ MCAST_JOIN_SOURCE_GROUP = 0x42 -+ MCAST_LEAVE_GROUP = 0x3f -+ MCAST_LEAVE_SOURCE_GROUP = 0x43 -+ MCAST_SOURCE_FILTER = 0x49 -+ MCAST_UNBLOCK_SOURCE = 0x41 - MCL_CURRENT = 0x100 - MCL_FUTURE = 0x200 - MSG_ANY = 0x4 -@@ -483,6 +492,7 @@ const ( - MS_INVALIDATE = 0x40 - MS_PER_SEC = 0x3e8 - MS_SYNC = 0x20 -+ NFDBITS = 0x40 - NL0 = 0x0 - NL1 = 0x4000 - NL2 = 0x8000 -@@ -688,7 +698,7 @@ const ( - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = -0x3fd796df - SIOCGIFADDRS = 0x2000698c -- SIOCGIFBAUDRATE = -0x3fd79693 -+ SIOCGIFBAUDRATE = -0x3fdf9669 - SIOCGIFBRDADDR = -0x3fd796dd - SIOCGIFCONF = -0x3fef96bb - SIOCGIFCONFGLOB = -0x3fef9670 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go -index 3b39d7408..6217cdba5 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go -@@ -3,7 +3,7 @@ - - // +build 386,darwin - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m32 _const.go - - package unix -@@ -980,6 +980,7 @@ const ( - NET_RT_MAXID = 0xa - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 -+ NFDBITS = 0x20 - NL0 = 0x0 - NL1 = 0x100 - NL2 = 0x200 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go -index 8fe554777..e3ff2ee3d 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go -@@ -3,7 +3,7 @@ - - // +build amd64,darwin - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m64 _const.go - - package unix -@@ -980,6 +980,7 @@ const ( - NET_RT_MAXID = 0xa - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 -+ NFDBITS = 0x20 - NL0 = 0x0 - NL1 = 0x100 - NL2 = 0x200 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go -index 7a977770d..3e417571a 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go -@@ -3,7 +3,7 @@ - - // +build arm,darwin - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- _const.go - - package unix -@@ -980,6 +980,7 @@ const ( - NET_RT_MAXID = 0xa - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 -+ NFDBITS = 0x20 - NL0 = 0x0 - NL1 = 0x100 - NL2 = 0x200 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go -index 6d56d8a05..cbd8ed18b 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go -@@ -3,7 +3,7 @@ - - // +build arm64,darwin - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m64 _const.go - - package unix -@@ -980,6 +980,7 @@ const ( - NET_RT_MAXID = 0xa - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 -+ NFDBITS = 0x20 - NL0 = 0x0 - NL1 = 0x100 - NL2 = 0x200 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go -index bbe6089bb..613047174 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go -@@ -938,6 +938,7 @@ const ( - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_MAXID = 0x4 -+ NFDBITS = 0x40 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ATTRIB = 0x8 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go -index d2bbaabc8..b72544fcd 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go -@@ -3,7 +3,7 @@ - - // +build 386,freebsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m32 _const.go - - package unix -@@ -1055,6 +1055,7 @@ const ( - NET_RT_IFLIST = 0x3 - NET_RT_IFLISTL = 0x5 - NET_RT_IFMALIST = 0x4 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ATTRIB = 0x8 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go -index 4f8db783d..9f382678e 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go -@@ -3,7 +3,7 @@ - - // +build amd64,freebsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m64 _const.go - - package unix -@@ -1056,6 +1056,7 @@ const ( - NET_RT_IFLIST = 0x3 - NET_RT_IFLISTL = 0x5 - NET_RT_IFMALIST = 0x4 -+ NFDBITS = 0x40 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ATTRIB = 0x8 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go -index 53e5de605..16db56abc 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go -@@ -3,7 +3,7 @@ - - // +build arm,freebsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- _const.go - - package unix -@@ -1063,6 +1063,7 @@ const ( - NET_RT_IFLIST = 0x3 - NET_RT_IFLISTL = 0x5 - NET_RT_IFMALIST = 0x4 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ATTRIB = 0x8 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go -index d4a192fef..1a1de3454 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go -@@ -3,7 +3,7 @@ - - // +build arm64,freebsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m64 _const.go - - package unix -@@ -1056,6 +1056,7 @@ const ( - NET_RT_IFLIST = 0x3 - NET_RT_IFLISTL = 0x5 - NET_RT_IFMALIST = 0x4 -+ NFDBITS = 0x40 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ATTRIB = 0x8 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go -index 2839b3df2..9ac523000 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go -@@ -11,2662 +11,2814 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x1000 -- FP_XSTATE_MAGIC2 = 0x46505845 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0xb703 -- NS_GET_OWNER_UID = 0xb704 -- NS_GET_PARENT = 0xb702 -- NS_GET_USERNS = 0xb701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x80108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x80108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x15 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x54e3 -- TUNGETFEATURES = 0x800454cf -- TUNGETFILTER = 0x800854db -- TUNGETIFF = 0x800454d2 -- TUNGETSNDBUF = 0x800454d3 -- TUNGETVNETBE = 0x800454df -- TUNGETVNETHDRSZ = 0x800454d7 -- TUNGETVNETLE = 0x800454dd -- TUNSETCARRIER = 0x400454e2 -- 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_IOCRPEB = 0x40046f04 -- UBI_IOCRSVOL = 0x400c6f02 -- UBI_IOCSETVOLPROP = 0x40104f06 -- UBI_IOCSPEB = 0x40046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ FP_XSTATE_MAGIC2 = 0x46505845 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x20 -+ 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 -+ NS_GET_NSTYPE = 0xb703 -+ NS_GET_OWNER_UID = 0xb704 -+ NS_GET_PARENT = 0xb702 -+ NS_GET_USERNS = 0xb701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x80108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x80108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x54e3 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x800854db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETCARRIER = 0x400454e2 -+ 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_IOCRPEB = 0x40046f04 -+ UBI_IOCRSVOL = 0x400c6f02 -+ UBI_IOCSETVOLPROP = 0x40104f06 -+ UBI_IOCSPEB = 0x40046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go -index 99e3a3de2..47622b955 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go -@@ -11,2662 +11,2814 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x1000 -- FP_XSTATE_MAGIC2 = 0x46505845 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0xb703 -- NS_GET_OWNER_UID = 0xb704 -- NS_GET_PARENT = 0xb702 -- NS_GET_USERNS = 0xb701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x80108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x80108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x15 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x54e3 -- TUNGETFEATURES = 0x800454cf -- TUNGETFILTER = 0x801054db -- TUNGETIFF = 0x800454d2 -- TUNGETSNDBUF = 0x800454d3 -- TUNGETVNETBE = 0x800454df -- TUNGETVNETHDRSZ = 0x800454d7 -- TUNGETVNETLE = 0x800454dd -- TUNSETCARRIER = 0x400454e2 -- 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_IOCRPEB = 0x40046f04 -- UBI_IOCRSVOL = 0x400c6f02 -- UBI_IOCSETVOLPROP = 0x40104f06 -- UBI_IOCSPEB = 0x40046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ FP_XSTATE_MAGIC2 = 0x46505845 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x40 -+ 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 -+ NS_GET_NSTYPE = 0xb703 -+ NS_GET_OWNER_UID = 0xb704 -+ NS_GET_PARENT = 0xb702 -+ NS_GET_USERNS = 0xb701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x80108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x80108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x54e3 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETCARRIER = 0x400454e2 -+ 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_IOCRPEB = 0x40046f04 -+ UBI_IOCRSVOL = 0x400c6f02 -+ UBI_IOCSETVOLPROP = 0x40104f06 -+ UBI_IOCSPEB = 0x40046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go -index f5f5ee562..56cd2ebe1 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go -@@ -11,2668 +11,2820 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x1000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0xb703 -- NS_GET_OWNER_UID = 0xb704 -- NS_GET_PARENT = 0xb702 -- NS_GET_USERNS = 0xb701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x80108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x80108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x15 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x54e3 -- TUNGETFEATURES = 0x800454cf -- TUNGETFILTER = 0x800854db -- TUNGETIFF = 0x800454d2 -- TUNGETSNDBUF = 0x800454d3 -- TUNGETVNETBE = 0x800454df -- TUNGETVNETHDRSZ = 0x800454d7 -- TUNGETVNETLE = 0x800454dd -- TUNSETCARRIER = 0x400454e2 -- 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_IOCRPEB = 0x40046f04 -- UBI_IOCRSVOL = 0x400c6f02 -- UBI_IOCSETVOLPROP = 0x40104f06 -- UBI_IOCSPEB = 0x40046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x20 -+ 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 -+ NS_GET_NSTYPE = 0xb703 -+ NS_GET_OWNER_UID = 0xb704 -+ NS_GET_PARENT = 0xb702 -+ NS_GET_USERNS = 0xb701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x80108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x80108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x54e3 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x800854db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETCARRIER = 0x400454e2 -+ 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_IOCRPEB = 0x40046f04 -+ UBI_IOCRSVOL = 0x400c6f02 -+ UBI_IOCSETVOLPROP = 0x40104f06 -+ UBI_IOCSPEB = 0x40046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go -index 64573bdb7..39712d777 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go -@@ -11,2653 +11,2807 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x1000 -- FPSIMD_MAGIC = 0x46508001 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0xb703 -- NS_GET_OWNER_UID = 0xb704 -- NS_GET_PARENT = 0xb702 -- NS_GET_USERNS = 0xb701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x80108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x80108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x15 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x54e3 -- TUNGETFEATURES = 0x800454cf -- TUNGETFILTER = 0x801054db -- TUNGETIFF = 0x800454d2 -- TUNGETSNDBUF = 0x800454d3 -- TUNGETVNETBE = 0x800454df -- TUNGETVNETHDRSZ = 0x800454d7 -- TUNGETVNETLE = 0x800454dd -- TUNSETCARRIER = 0x400454e2 -- 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_IOCRPEB = 0x40046f04 -- UBI_IOCRSVOL = 0x400c6f02 -- UBI_IOCSETVOLPROP = 0x40104f06 -- UBI_IOCSPEB = 0x40046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ FPSIMD_MAGIC = 0x46508001 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x40 -+ 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 -+ NS_GET_NSTYPE = 0xb703 -+ NS_GET_OWNER_UID = 0xb704 -+ NS_GET_PARENT = 0xb702 -+ NS_GET_USERNS = 0xb701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x80108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x80108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x54e3 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETCARRIER = 0x400454e2 -+ 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_IOCRPEB = 0x40046f04 -+ UBI_IOCRSVOL = 0x400c6f02 -+ UBI_IOCSETVOLPROP = 0x40104f06 -+ UBI_IOCSPEB = 0x40046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go -index 3e948be30..89163c410 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go -@@ -11,2664 +11,2816 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x2000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0x2000b703 -- NS_GET_OWNER_UID = 0x2000b704 -- NS_GET_PARENT = 0x2000b702 -- NS_GET_USERNS = 0x2000b701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x40108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x40108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x1005 -- SO_STYLE = 0x1008 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x200054e3 -- TUNGETFEATURES = 0x400454cf -- TUNGETFILTER = 0x400854db -- TUNGETIFF = 0x400454d2 -- TUNGETSNDBUF = 0x400454d3 -- TUNGETVNETBE = 0x400454df -- TUNGETVNETHDRSZ = 0x400454d7 -- TUNGETVNETLE = 0x400454dd -- TUNSETCARRIER = 0x800454e2 -- 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_IOCRPEB = 0x80046f04 -- UBI_IOCRSVOL = 0x800c6f02 -- UBI_IOCSETVOLPROP = 0x80104f06 -- UBI_IOCSPEB = 0x80046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x20 -+ 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 -+ NS_GET_NSTYPE = 0x2000b703 -+ NS_GET_OWNER_UID = 0x2000b704 -+ NS_GET_PARENT = 0x2000b702 -+ NS_GET_USERNS = 0x2000b701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x40108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x40108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x200054e3 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x400854db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETCARRIER = 0x800454e2 -+ 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_IOCRPEB = 0x80046f04 -+ UBI_IOCRSVOL = 0x800c6f02 -+ UBI_IOCSETVOLPROP = 0x80104f06 -+ UBI_IOCSPEB = 0x80046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go -index 8ac128bbd..15284ff41 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go -@@ -11,2664 +11,2816 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x2000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0x2000b703 -- NS_GET_OWNER_UID = 0x2000b704 -- NS_GET_PARENT = 0x2000b702 -- NS_GET_USERNS = 0x2000b701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x40108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x40108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x1005 -- SO_STYLE = 0x1008 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x200054e3 -- TUNGETFEATURES = 0x400454cf -- TUNGETFILTER = 0x401054db -- TUNGETIFF = 0x400454d2 -- TUNGETSNDBUF = 0x400454d3 -- TUNGETVNETBE = 0x400454df -- TUNGETVNETHDRSZ = 0x400454d7 -- TUNGETVNETLE = 0x400454dd -- TUNSETCARRIER = 0x800454e2 -- 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_IOCRPEB = 0x80046f04 -- UBI_IOCRSVOL = 0x800c6f02 -- UBI_IOCSETVOLPROP = 0x80104f06 -- UBI_IOCSPEB = 0x80046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x40 -+ 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 -+ NS_GET_NSTYPE = 0x2000b703 -+ NS_GET_OWNER_UID = 0x2000b704 -+ NS_GET_PARENT = 0x2000b702 -+ NS_GET_USERNS = 0x2000b701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x40108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x40108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x200054e3 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETCARRIER = 0x800454e2 -+ 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_IOCRPEB = 0x80046f04 -+ UBI_IOCRSVOL = 0x800c6f02 -+ UBI_IOCSETVOLPROP = 0x80104f06 -+ UBI_IOCSPEB = 0x80046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go -index e8845a7d4..1ec776940 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go -@@ -11,2664 +11,2816 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x2000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0x2000b703 -- NS_GET_OWNER_UID = 0x2000b704 -- NS_GET_PARENT = 0x2000b702 -- NS_GET_USERNS = 0x2000b701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x40108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x40108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x1005 -- SO_STYLE = 0x1008 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x200054e3 -- TUNGETFEATURES = 0x400454cf -- TUNGETFILTER = 0x401054db -- TUNGETIFF = 0x400454d2 -- TUNGETSNDBUF = 0x400454d3 -- TUNGETVNETBE = 0x400454df -- TUNGETVNETHDRSZ = 0x400454d7 -- TUNGETVNETLE = 0x400454dd -- TUNSETCARRIER = 0x800454e2 -- 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_IOCRPEB = 0x80046f04 -- UBI_IOCRSVOL = 0x800c6f02 -- UBI_IOCSETVOLPROP = 0x80104f06 -- UBI_IOCSPEB = 0x80046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x40 -+ 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 -+ NS_GET_NSTYPE = 0x2000b703 -+ NS_GET_OWNER_UID = 0x2000b704 -+ NS_GET_PARENT = 0x2000b702 -+ NS_GET_USERNS = 0x2000b701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x40108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x40108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x200054e3 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETCARRIER = 0x800454e2 -+ 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_IOCRPEB = 0x80046f04 -+ UBI_IOCRSVOL = 0x800c6f02 -+ UBI_IOCSETVOLPROP = 0x80104f06 -+ UBI_IOCSPEB = 0x80046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go -index 338c044eb..f96d54563 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go -@@ -11,2664 +11,2816 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x2000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0x2000b703 -- NS_GET_OWNER_UID = 0x2000b704 -- NS_GET_PARENT = 0x2000b702 -- NS_GET_USERNS = 0x2000b701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x40108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x40108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x1005 -- SO_STYLE = 0x1008 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x200054e3 -- TUNGETFEATURES = 0x400454cf -- TUNGETFILTER = 0x400854db -- TUNGETIFF = 0x400454d2 -- TUNGETSNDBUF = 0x400454d3 -- TUNGETVNETBE = 0x400454df -- TUNGETVNETHDRSZ = 0x400454d7 -- TUNGETVNETLE = 0x400454dd -- TUNSETCARRIER = 0x800454e2 -- 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_IOCRPEB = 0x80046f04 -- UBI_IOCRSVOL = 0x800c6f02 -- UBI_IOCSETVOLPROP = 0x80104f06 -- UBI_IOCSPEB = 0x80046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x20 -+ 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 -+ NS_GET_NSTYPE = 0x2000b703 -+ NS_GET_OWNER_UID = 0x2000b704 -+ NS_GET_PARENT = 0x2000b702 -+ NS_GET_USERNS = 0x2000b701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x40108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x40108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x200054e3 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x400854db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETCARRIER = 0x800454e2 -+ 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_IOCRPEB = 0x80046f04 -+ UBI_IOCRSVOL = 0x800c6f02 -+ UBI_IOCSETVOLPROP = 0x80104f06 -+ UBI_IOCSPEB = 0x80046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go -index a696532fc..9adb20e3f 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go -@@ -11,2723 +11,2875 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x4000 -- FFDLY = 0x4000 -- FLUSHO = 0x800000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0x2000b703 -- NS_GET_OWNER_UID = 0x2000b704 -- NS_GET_PARENT = 0x2000b702 -- NS_GET_USERNS = 0x2000b701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x40108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x40108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x13 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x200054e3 -- TUNGETFEATURES = 0x400454cf -- TUNGETFILTER = 0x401054db -- TUNGETIFF = 0x400454d2 -- TUNGETSNDBUF = 0x400454d3 -- TUNGETVNETBE = 0x400454df -- TUNGETVNETHDRSZ = 0x400454d7 -- TUNGETVNETLE = 0x400454dd -- TUNSETCARRIER = 0x800454e2 -- 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_IOCRPEB = 0x80046f04 -- UBI_IOCRSVOL = 0x800c6f02 -- UBI_IOCSETVOLPROP = 0x80104f06 -- UBI_IOCSPEB = 0x80046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x4000 -+ FFDLY = 0x4000 -+ FLUSHO = 0x800000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x40 -+ 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 -+ NS_GET_NSTYPE = 0x2000b703 -+ NS_GET_OWNER_UID = 0x2000b704 -+ NS_GET_PARENT = 0x2000b702 -+ NS_GET_USERNS = 0x2000b701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_GET_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x40108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x40108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x13 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x200054e3 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETCARRIER = 0x800454e2 -+ 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_IOCRPEB = 0x80046f04 -+ UBI_IOCRSVOL = 0x800c6f02 -+ UBI_IOCSETVOLPROP = 0x80104f06 -+ UBI_IOCSPEB = 0x80046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0xc00 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go -index 9197b3353..080e2f0aa 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go -@@ -11,2723 +11,2875 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x4000 -- FFDLY = 0x4000 -- FLUSHO = 0x800000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0x2000b703 -- NS_GET_OWNER_UID = 0x2000b704 -- NS_GET_PARENT = 0x2000b702 -- NS_GET_USERNS = 0x2000b701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x40108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x40108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x13 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x200054e3 -- TUNGETFEATURES = 0x400454cf -- TUNGETFILTER = 0x401054db -- TUNGETIFF = 0x400454d2 -- TUNGETSNDBUF = 0x400454d3 -- TUNGETVNETBE = 0x400454df -- TUNGETVNETHDRSZ = 0x400454d7 -- TUNGETVNETLE = 0x400454dd -- TUNSETCARRIER = 0x800454e2 -- 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_IOCRPEB = 0x80046f04 -- UBI_IOCRSVOL = 0x800c6f02 -- UBI_IOCSETVOLPROP = 0x80104f06 -- UBI_IOCSPEB = 0x80046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x4000 -+ FFDLY = 0x4000 -+ FLUSHO = 0x800000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x40 -+ 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 -+ NS_GET_NSTYPE = 0x2000b703 -+ NS_GET_OWNER_UID = 0x2000b704 -+ NS_GET_PARENT = 0x2000b702 -+ NS_GET_USERNS = 0x2000b701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_GET_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x40108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x40108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x13 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x200054e3 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETCARRIER = 0x800454e2 -+ 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_IOCRPEB = 0x80046f04 -+ UBI_IOCRSVOL = 0x800c6f02 -+ UBI_IOCSETVOLPROP = 0x80104f06 -+ UBI_IOCSPEB = 0x80046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0xc00 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go -index d1e023ed7..db20a369d 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go -@@ -11,2649 +11,2801 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x1000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0xb703 -- NS_GET_OWNER_UID = 0xb704 -- NS_GET_PARENT = 0xb702 -- NS_GET_USERNS = 0xb701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x80108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x80108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x15 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x54e3 -- TUNGETFEATURES = 0x800454cf -- TUNGETFILTER = 0x801054db -- TUNGETIFF = 0x800454d2 -- TUNGETSNDBUF = 0x800454d3 -- TUNGETVNETBE = 0x800454df -- TUNGETVNETHDRSZ = 0x800454d7 -- TUNGETVNETLE = 0x800454dd -- TUNSETCARRIER = 0x400454e2 -- 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_IOCRPEB = 0x40046f04 -- UBI_IOCRSVOL = 0x400c6f02 -- UBI_IOCSETVOLPROP = 0x40104f06 -- UBI_IOCSPEB = 0x40046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x40 -+ 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 -+ NS_GET_NSTYPE = 0xb703 -+ NS_GET_OWNER_UID = 0xb704 -+ NS_GET_PARENT = 0xb702 -+ NS_GET_USERNS = 0xb701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x80108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x80108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x54e3 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETCARRIER = 0x400454e2 -+ 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_IOCRPEB = 0x40046f04 -+ UBI_IOCRSVOL = 0x400c6f02 -+ UBI_IOCSETVOLPROP = 0x40104f06 -+ UBI_IOCSPEB = 0x40046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go -index 1dfacf183..734757aec 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go -@@ -11,2722 +11,2874 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x1000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0xb703 -- NS_GET_OWNER_UID = 0xb704 -- NS_GET_PARENT = 0xb702 -- NS_GET_USERNS = 0xb701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x80108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x80108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x3e -- 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_RCVTIMEO_NEW = 0x42 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -- SO_SNDTIMEO_OLD = 0x15 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x25 -- SO_TIMESTAMPING_NEW = 0x41 -- SO_TIMESTAMPING_OLD = 0x25 -- SO_TIMESTAMPNS = 0x23 -- SO_TIMESTAMPNS_NEW = 0x40 -- SO_TIMESTAMPNS_OLD = 0x23 -- SO_TIMESTAMP_NEW = 0x3f -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x54e3 -- TUNGETFEATURES = 0x800454cf -- TUNGETFILTER = 0x801054db -- TUNGETIFF = 0x800454d2 -- TUNGETSNDBUF = 0x800454d3 -- TUNGETVNETBE = 0x800454df -- TUNGETVNETHDRSZ = 0x800454d7 -- TUNGETVNETLE = 0x800454dd -- TUNSETCARRIER = 0x400454e2 -- 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_IOCRPEB = 0x40046f04 -- UBI_IOCRSVOL = 0x400c6f02 -- UBI_IOCSETVOLPROP = 0x40104f06 -- UBI_IOCSPEB = 0x40046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x40 -+ 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 -+ NS_GET_NSTYPE = 0xb703 -+ NS_GET_OWNER_UID = 0xb704 -+ NS_GET_PARENT = 0xb702 -+ NS_GET_USERNS = 0xb701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_GET_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x80108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x80108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x3e -+ 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_DETACH_REUSEPORT_BPF = 0x44 -+ 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_RCVTIMEO_NEW = 0x42 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x43 -+ SO_SNDTIMEO_OLD = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPING_NEW = 0x41 -+ SO_TIMESTAMPING_OLD = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TIMESTAMPNS_NEW = 0x40 -+ SO_TIMESTAMPNS_OLD = 0x23 -+ SO_TIMESTAMP_NEW = 0x3f -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x54e3 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETCARRIER = 0x400454e2 -+ 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_IOCRPEB = 0x40046f04 -+ UBI_IOCRSVOL = 0x400c6f02 -+ UBI_IOCSETVOLPROP = 0x40104f06 -+ UBI_IOCSPEB = 0x40046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go -index b78e49fcf..c8d2c2351 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go -@@ -11,2712 +11,2864 @@ 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 -- BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -- 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -- BPF_ALU = 0x4 -- BPF_ALU64 = 0x7 -- BPF_AND = 0x50 -- BPF_ANY = 0x0 -- BPF_ARSH = 0xc0 -- BPF_B = 0x10 -- BPF_BUILD_ID_SIZE = 0x14 -- BPF_CALL = 0x80 -- BPF_DEVCG_ACC_MKNOD = 0x1 -- BPF_DEVCG_ACC_READ = 0x2 -- BPF_DEVCG_ACC_WRITE = 0x4 -- BPF_DEVCG_DEV_BLOCK = 0x1 -- BPF_DEVCG_DEV_CHAR = 0x2 -- BPF_DIV = 0x30 -- BPF_DW = 0x18 -- BPF_END = 0xd0 -- BPF_EXIST = 0x2 -- BPF_EXIT = 0x90 -- BPF_FROM_BE = 0x8 -- BPF_FROM_LE = 0x0 -- BPF_FS_MAGIC = 0xcafe4a11 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -- BPF_F_ALLOW_MULTI = 0x2 -- BPF_F_ALLOW_OVERRIDE = 0x1 -- BPF_F_ANY_ALIGNMENT = 0x2 -- BPF_F_CTXLEN_MASK = 0xfffff00000000 -- BPF_F_CURRENT_CPU = 0xffffffff -- BPF_F_CURRENT_NETNS = -0x1 -- BPF_F_DONT_FRAGMENT = 0x4 -- BPF_F_FAST_STACK_CMP = 0x200 -- BPF_F_HDR_FIELD_MASK = 0xf -- BPF_F_INDEX_MASK = 0xffffffff -- BPF_F_INGRESS = 0x1 -- BPF_F_INVALIDATE_HASH = 0x2 -- BPF_F_LOCK = 0x4 -- BPF_F_MARK_ENFORCE = 0x40 -- BPF_F_MARK_MANGLED_0 = 0x20 -- BPF_F_NO_COMMON_LRU = 0x2 -- BPF_F_NO_PREALLOC = 0x1 -- BPF_F_NUMA_NODE = 0x4 -- BPF_F_PSEUDO_HDR = 0x10 -- BPF_F_QUERY_EFFECTIVE = 0x1 -- BPF_F_RDONLY = 0x8 -- BPF_F_RDONLY_PROG = 0x80 -- BPF_F_RECOMPUTE_CSUM = 0x1 -- BPF_F_REUSE_STACKID = 0x400 -- BPF_F_SEQ_NUMBER = 0x8 -- BPF_F_SKIP_FIELD_MASK = 0xff -- BPF_F_STACK_BUILD_ID = 0x20 -- BPF_F_STRICT_ALIGNMENT = 0x1 -- BPF_F_SYSCTL_BASE_NAME = 0x1 -- BPF_F_TUNINFO_IPV6 = 0x1 -- BPF_F_USER_BUILD_ID = 0x800 -- BPF_F_USER_STACK = 0x100 -- BPF_F_WRONLY = 0x10 -- BPF_F_WRONLY_PROG = 0x100 -- BPF_F_ZERO_CSUM_TX = 0x2 -- BPF_F_ZERO_SEED = 0x40 -- BPF_H = 0x8 -- BPF_IMM = 0x0 -- BPF_IND = 0x40 -- BPF_JA = 0x0 -- BPF_JEQ = 0x10 -- BPF_JGE = 0x30 -- BPF_JGT = 0x20 -- BPF_JLE = 0xb0 -- BPF_JLT = 0xa0 -- BPF_JMP = 0x5 -- BPF_JMP32 = 0x6 -- BPF_JNE = 0x50 -- BPF_JSET = 0x40 -- BPF_JSGE = 0x70 -- BPF_JSGT = 0x60 -- BPF_JSLE = 0xd0 -- BPF_JSLT = 0xc0 -- 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_MOV = 0xb0 -- BPF_MSH = 0xa0 -- BPF_MUL = 0x20 -- BPF_NEG = 0x80 -- BPF_NET_OFF = -0x100000 -- BPF_NOEXIST = 0x1 -- BPF_OBJ_NAME_LEN = 0x10 -- BPF_OR = 0x40 -- BPF_PSEUDO_CALL = 0x1 -- BPF_PSEUDO_MAP_FD = 0x1 -- BPF_PSEUDO_MAP_VALUE = 0x2 -- BPF_RET = 0x6 -- BPF_RSH = 0x70 -- BPF_SK_STORAGE_GET_F_CREATE = 0x1 -- BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 -- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -- BPF_ST = 0x2 -- BPF_STX = 0x3 -- BPF_SUB = 0x10 -- BPF_TAG_SIZE = 0x8 -- BPF_TAX = 0x0 -- BPF_TO_BE = 0x8 -- BPF_TO_LE = 0x0 -- BPF_TXA = 0x80 -- BPF_W = 0x0 -- BPF_X = 0x8 -- BPF_XADD = 0xc0 -- 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 -- CAP_AUDIT_CONTROL = 0x1e -- CAP_AUDIT_READ = 0x25 -- CAP_AUDIT_WRITE = 0x1d -- CAP_BLOCK_SUSPEND = 0x24 -- CAP_CHOWN = 0x0 -- CAP_DAC_OVERRIDE = 0x1 -- CAP_DAC_READ_SEARCH = 0x2 -- CAP_FOWNER = 0x3 -- CAP_FSETID = 0x4 -- CAP_IPC_LOCK = 0xe -- CAP_IPC_OWNER = 0xf -- CAP_KILL = 0x5 -- CAP_LAST_CAP = 0x25 -- CAP_LEASE = 0x1c -- CAP_LINUX_IMMUTABLE = 0x9 -- CAP_MAC_ADMIN = 0x21 -- CAP_MAC_OVERRIDE = 0x20 -- CAP_MKNOD = 0x1b -- CAP_NET_ADMIN = 0xc -- CAP_NET_BIND_SERVICE = 0xa -- CAP_NET_BROADCAST = 0xb -- CAP_NET_RAW = 0xd -- CAP_SETFCAP = 0x1f -- CAP_SETGID = 0x6 -- CAP_SETPCAP = 0x8 -- CAP_SETUID = 0x7 -- CAP_SYSLOG = 0x22 -- CAP_SYS_ADMIN = 0x15 -- CAP_SYS_BOOT = 0x16 -- CAP_SYS_CHROOT = 0x12 -- CAP_SYS_MODULE = 0x10 -- CAP_SYS_NICE = 0x17 -- CAP_SYS_PACCT = 0x14 -- CAP_SYS_PTRACE = 0x13 -- CAP_SYS_RAWIO = 0x11 -- CAP_SYS_RESOURCE = 0x18 -- CAP_SYS_TIME = 0x19 -- CAP_SYS_TTY_CONFIG = 0x1a -- CAP_WAKE_ALARM = 0x23 -- 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_PIDFD = 0x1000 -- 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 -- CRYPTO_MAX_NAME = 0x40 -- CRYPTO_MSG_MAX = 0x15 -- CRYPTO_NR_MSGTYPES = 0x6 -- CRYPTO_REPORT_MAXSIZE = 0x160 -- 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_DSA_8021Q = 0xdadb -- 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 -- FANOTIFY_METADATA_VERSION = 0x3 -- FAN_ACCESS = 0x1 -- FAN_ACCESS_PERM = 0x20000 -- FAN_ALLOW = 0x1 -- FAN_ALL_CLASS_BITS = 0xc -- FAN_ALL_EVENTS = 0x3b -- FAN_ALL_INIT_FLAGS = 0x3f -- FAN_ALL_MARK_FLAGS = 0xff -- FAN_ALL_OUTGOING_EVENTS = 0x3403b -- FAN_ALL_PERM_EVENTS = 0x30000 -- FAN_ATTRIB = 0x4 -- FAN_AUDIT = 0x10 -- FAN_CLASS_CONTENT = 0x4 -- FAN_CLASS_NOTIF = 0x0 -- FAN_CLASS_PRE_CONTENT = 0x8 -- FAN_CLOEXEC = 0x1 -- FAN_CLOSE = 0x18 -- FAN_CLOSE_NOWRITE = 0x10 -- FAN_CLOSE_WRITE = 0x8 -- FAN_CREATE = 0x100 -- FAN_DELETE = 0x200 -- FAN_DELETE_SELF = 0x400 -- FAN_DENY = 0x2 -- FAN_ENABLE_AUDIT = 0x40 -- FAN_EVENT_INFO_TYPE_FID = 0x1 -- FAN_EVENT_METADATA_LEN = 0x18 -- FAN_EVENT_ON_CHILD = 0x8000000 -- FAN_MARK_ADD = 0x1 -- FAN_MARK_DONT_FOLLOW = 0x4 -- FAN_MARK_FILESYSTEM = 0x100 -- FAN_MARK_FLUSH = 0x80 -- FAN_MARK_IGNORED_MASK = 0x20 -- FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -- FAN_MARK_INODE = 0x0 -- FAN_MARK_MOUNT = 0x10 -- FAN_MARK_ONLYDIR = 0x8 -- FAN_MARK_REMOVE = 0x2 -- FAN_MODIFY = 0x2 -- FAN_MOVE = 0xc0 -- FAN_MOVED_FROM = 0x40 -- FAN_MOVED_TO = 0x80 -- FAN_MOVE_SELF = 0x800 -- FAN_NOFD = -0x1 -- FAN_NONBLOCK = 0x2 -- FAN_ONDIR = 0x40000000 -- FAN_OPEN = 0x20 -- FAN_OPEN_EXEC = 0x1000 -- FAN_OPEN_EXEC_PERM = 0x40000 -- FAN_OPEN_PERM = 0x10000 -- FAN_Q_OVERFLOW = 0x4000 -- FAN_REPORT_FID = 0x200 -- FAN_REPORT_TID = 0x100 -- FAN_UNLIMITED_MARKS = 0x20 -- FAN_UNLIMITED_QUEUE = 0x10 -- FD_CLOEXEC = 0x1 -- FD_SETSIZE = 0x400 -- FF0 = 0x0 -- FF1 = 0x8000 -- FFDLY = 0x8000 -- FLUSHO = 0x1000 -- FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -- 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 = 0x7 -- 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_FUTURE_WRITE = 0x10 -- 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_ROUTER_ALERT_ISOLATE = 0x1e -- 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 -- LOOP_CLR_FD = 0x4c01 -- LOOP_CTL_ADD = 0x4c80 -- LOOP_CTL_GET_FREE = 0x4c82 -- LOOP_CTL_REMOVE = 0x4c81 -- LOOP_GET_STATUS = 0x4c03 -- LOOP_GET_STATUS64 = 0x4c05 -- LOOP_SET_BLOCK_SIZE = 0x4c09 -- LOOP_SET_CAPACITY = 0x4c07 -- LOOP_SET_DIRECT_IO = 0x4c08 -- LOOP_SET_FD = 0x4c00 -- LOOP_SET_STATUS = 0x4c02 -- LOOP_SET_STATUS64 = 0x4c04 -- LO_KEY_SIZE = 0x20 -- LO_NAME_SIZE = 0x40 -- 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 -- MCAST_BLOCK_SOURCE = 0x2b -- MCAST_EXCLUDE = 0x0 -- MCAST_INCLUDE = 0x1 -- MCAST_JOIN_GROUP = 0x2a -- MCAST_JOIN_SOURCE_GROUP = 0x2e -- MCAST_LEAVE_GROUP = 0x2d -- MCAST_LEAVE_SOURCE_GROUP = 0x2f -- MCAST_MSFILTER = 0x30 -- MCAST_UNBLOCK_SOURCE = 0x2c -- 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 = 0x5 -- 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 -- NS_GET_NSTYPE = 0x2000b703 -- NS_GET_OWNER_UID = 0x2000b704 -- NS_GET_PARENT = 0x2000b702 -- NS_GET_USERNS = 0x2000b701 -- 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_PAC_APDAKEY = 0x4 -- PR_PAC_APDBKEY = 0x8 -- PR_PAC_APGAKEY = 0x10 -- PR_PAC_APIAKEY = 0x1 -- PR_PAC_APIBKEY = 0x2 -- PR_PAC_RESET_KEYS = 0x36 -- 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_DISABLE_NOEXEC = 0x10 -- 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 -- SIOCGSTAMPNS_NEW = 0x40108907 -- SIOCGSTAMPNS_OLD = 0x8907 -- SIOCGSTAMP_NEW = 0x40108906 -- SIOCGSTAMP_OLD = 0x8906 -- 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_BINDTOIFINDEX = 0x41 -- 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_RCVTIMEO_NEW = 0x44 -- SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x45 -- SO_SNDTIMEO_OLD = 0x4000 -- SO_TIMESTAMP = 0x1d -- SO_TIMESTAMPING = 0x23 -- SO_TIMESTAMPING_NEW = 0x43 -- SO_TIMESTAMPING_OLD = 0x23 -- SO_TIMESTAMPNS = 0x21 -- SO_TIMESTAMPNS_NEW = 0x42 -- SO_TIMESTAMPNS_OLD = 0x21 -- SO_TIMESTAMP_NEW = 0x46 -- SO_TIMESTAMP_OLD = 0x1d -- 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 -- SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -- 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_BPF_IW = 0x3e9 -- TCP_BPF_SNDCWND_CLAMP = 0x3ea -- 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 -- TUNGETDEVNETNS = 0x200054e3 -- TUNGETFEATURES = 0x400454cf -- TUNGETFILTER = 0x401054db -- TUNGETIFF = 0x400454d2 -- TUNGETSNDBUF = 0x400454d3 -- TUNGETVNETBE = 0x400454df -- TUNGETVNETHDRSZ = 0x400454d7 -- TUNGETVNETLE = 0x400454dd -- TUNSETCARRIER = 0x800454e2 -- 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_IOCRPEB = 0x80046f04 -- UBI_IOCRSVOL = 0x800c6f02 -- UBI_IOCSETVOLPROP = 0x80104f06 -- UBI_IOCSPEB = 0x80046f05 -- 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_PACKET_HEADROOM = 0x100 -- 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 -+ 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 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ 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_ADJ_ROOM_ENCAP_L2_MASK = 0xff -+ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 -+ BPF_ALU = 0x4 -+ BPF_ALU64 = 0x7 -+ BPF_AND = 0x50 -+ BPF_ANY = 0x0 -+ BPF_ARSH = 0xc0 -+ BPF_B = 0x10 -+ BPF_BUILD_ID_SIZE = 0x14 -+ BPF_CALL = 0x80 -+ BPF_DEVCG_ACC_MKNOD = 0x1 -+ BPF_DEVCG_ACC_READ = 0x2 -+ BPF_DEVCG_ACC_WRITE = 0x4 -+ BPF_DEVCG_DEV_BLOCK = 0x1 -+ BPF_DEVCG_DEV_CHAR = 0x2 -+ BPF_DIV = 0x30 -+ BPF_DW = 0x18 -+ BPF_END = 0xd0 -+ BPF_EXIST = 0x2 -+ BPF_EXIT = 0x90 -+ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 -+ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 -+ BPF_FROM_BE = 0x8 -+ BPF_FROM_LE = 0x0 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 -+ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 -+ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 -+ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 -+ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 -+ BPF_F_ALLOW_MULTI = 0x2 -+ BPF_F_ALLOW_OVERRIDE = 0x1 -+ BPF_F_ANY_ALIGNMENT = 0x2 -+ BPF_F_CLONE = 0x200 -+ BPF_F_CTXLEN_MASK = 0xfffff00000000 -+ BPF_F_CURRENT_CPU = 0xffffffff -+ BPF_F_CURRENT_NETNS = -0x1 -+ BPF_F_DONT_FRAGMENT = 0x4 -+ BPF_F_FAST_STACK_CMP = 0x200 -+ BPF_F_HDR_FIELD_MASK = 0xf -+ BPF_F_INDEX_MASK = 0xffffffff -+ BPF_F_INGRESS = 0x1 -+ BPF_F_INVALIDATE_HASH = 0x2 -+ BPF_F_LOCK = 0x4 -+ BPF_F_MARK_ENFORCE = 0x40 -+ BPF_F_MARK_MANGLED_0 = 0x20 -+ BPF_F_NO_COMMON_LRU = 0x2 -+ BPF_F_NO_PREALLOC = 0x1 -+ BPF_F_NUMA_NODE = 0x4 -+ BPF_F_PSEUDO_HDR = 0x10 -+ BPF_F_QUERY_EFFECTIVE = 0x1 -+ BPF_F_RDONLY = 0x8 -+ BPF_F_RDONLY_PROG = 0x80 -+ BPF_F_RECOMPUTE_CSUM = 0x1 -+ BPF_F_REUSE_STACKID = 0x400 -+ BPF_F_SEQ_NUMBER = 0x8 -+ BPF_F_SKIP_FIELD_MASK = 0xff -+ BPF_F_STACK_BUILD_ID = 0x20 -+ BPF_F_STRICT_ALIGNMENT = 0x1 -+ BPF_F_SYSCTL_BASE_NAME = 0x1 -+ BPF_F_TEST_RND_HI32 = 0x4 -+ BPF_F_TEST_STATE_FREQ = 0x8 -+ BPF_F_TUNINFO_IPV6 = 0x1 -+ BPF_F_USER_BUILD_ID = 0x800 -+ BPF_F_USER_STACK = 0x100 -+ BPF_F_WRONLY = 0x10 -+ BPF_F_WRONLY_PROG = 0x100 -+ BPF_F_ZERO_CSUM_TX = 0x2 -+ BPF_F_ZERO_SEED = 0x40 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JLE = 0xb0 -+ BPF_JLT = 0xa0 -+ BPF_JMP = 0x5 -+ BPF_JMP32 = 0x6 -+ BPF_JNE = 0x50 -+ BPF_JSET = 0x40 -+ BPF_JSGE = 0x70 -+ BPF_JSGT = 0x60 -+ BPF_JSLE = 0xd0 -+ BPF_JSLT = 0xc0 -+ 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_MOV = 0xb0 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_NOEXIST = 0x1 -+ BPF_OBJ_NAME_LEN = 0x10 -+ BPF_OR = 0x40 -+ BPF_PSEUDO_CALL = 0x1 -+ BPF_PSEUDO_MAP_FD = 0x1 -+ BPF_PSEUDO_MAP_VALUE = 0x2 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_SK_STORAGE_GET_F_CREATE = 0x1 -+ BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf -+ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 -+ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 -+ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 -+ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAG_SIZE = 0x8 -+ BPF_TAX = 0x0 -+ BPF_TO_BE = 0x8 -+ BPF_TO_LE = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XADD = 0xc0 -+ 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_J1939 = 0x7 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x8 -+ 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 -+ CAP_AUDIT_CONTROL = 0x1e -+ CAP_AUDIT_READ = 0x25 -+ CAP_AUDIT_WRITE = 0x1d -+ CAP_BLOCK_SUSPEND = 0x24 -+ CAP_CHOWN = 0x0 -+ CAP_DAC_OVERRIDE = 0x1 -+ CAP_DAC_READ_SEARCH = 0x2 -+ CAP_FOWNER = 0x3 -+ CAP_FSETID = 0x4 -+ CAP_IPC_LOCK = 0xe -+ CAP_IPC_OWNER = 0xf -+ CAP_KILL = 0x5 -+ CAP_LAST_CAP = 0x25 -+ CAP_LEASE = 0x1c -+ CAP_LINUX_IMMUTABLE = 0x9 -+ CAP_MAC_ADMIN = 0x21 -+ CAP_MAC_OVERRIDE = 0x20 -+ CAP_MKNOD = 0x1b -+ CAP_NET_ADMIN = 0xc -+ CAP_NET_BIND_SERVICE = 0xa -+ CAP_NET_BROADCAST = 0xb -+ CAP_NET_RAW = 0xd -+ CAP_SETFCAP = 0x1f -+ CAP_SETGID = 0x6 -+ CAP_SETPCAP = 0x8 -+ CAP_SETUID = 0x7 -+ CAP_SYSLOG = 0x22 -+ CAP_SYS_ADMIN = 0x15 -+ CAP_SYS_BOOT = 0x16 -+ CAP_SYS_CHROOT = 0x12 -+ CAP_SYS_MODULE = 0x10 -+ CAP_SYS_NICE = 0x17 -+ CAP_SYS_PACCT = 0x14 -+ CAP_SYS_PTRACE = 0x13 -+ CAP_SYS_RAWIO = 0x11 -+ CAP_SYS_RESOURCE = 0x18 -+ CAP_SYS_TIME = 0x19 -+ CAP_SYS_TTY_CONFIG = 0x1a -+ CAP_WAKE_ALARM = 0x23 -+ 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_ARGS_SIZE_VER0 = 0x40 -+ 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_PIDFD = 0x1000 -+ 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 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ 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 -+ DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e -+ DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" -+ DEVLINK_GENL_NAME = "devlink" -+ DEVLINK_GENL_VERSION = 0x1 -+ DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DMA_BUF_MAGIC = 0x444d4142 -+ 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 -+ EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 -+ 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_DSA_8021Q = 0xdadb -+ 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_LLDP = 0x88cc -+ 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 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_ATTRIB = 0x4 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_CREATE = 0x100 -+ FAN_DELETE = 0x200 -+ FAN_DELETE_SELF = 0x400 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_INFO_TYPE_FID = 0x1 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_MOVE = 0xc0 -+ FAN_MOVED_FROM = 0x40 -+ FAN_MOVED_TO = 0x80 -+ FAN_MOVE_SELF = 0x800 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_FID = 0x200 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 -+ FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" -+ FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 -+ FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 -+ FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 -+ FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 -+ FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 -+ FSCRYPT_KEY_STATUS_ABSENT = 0x1 -+ FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 -+ FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 -+ FSCRYPT_KEY_STATUS_PRESENT = 0x2 -+ FSCRYPT_MAX_KEY_SIZE = 0x40 -+ FSCRYPT_MODE_ADIANTUM = 0x9 -+ FSCRYPT_MODE_AES_128_CBC = 0x5 -+ FSCRYPT_MODE_AES_128_CTS = 0x6 -+ FSCRYPT_MODE_AES_256_CTS = 0x4 -+ FSCRYPT_MODE_AES_256_XTS = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 -+ FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 -+ FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 -+ FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 -+ FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 -+ FSCRYPT_POLICY_FLAGS_VALID = 0x7 -+ FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 -+ FSCRYPT_POLICY_V1 = 0x0 -+ FSCRYPT_POLICY_V2 = 0x2 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ 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_ADD_ENCRYPTION_KEY = 0xc0506617 -+ FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 -+ FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 -+ FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 -+ FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 -+ 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 = 0x7 -+ 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_FUTURE_WRITE = 0x10 -+ 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_ROUTER_ALERT_ISOLATE = 0x1e -+ 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_PARISC = 0xf0000 -+ 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_CAPABILITIES = 0x1f -+ KEYCTL_CAPS0_BIG_KEY = 0x10 -+ KEYCTL_CAPS0_CAPABILITIES = 0x1 -+ KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 -+ KEYCTL_CAPS0_INVALIDATE = 0x20 -+ KEYCTL_CAPS0_MOVE = 0x80 -+ KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 -+ KEYCTL_CAPS0_PUBLIC_KEY = 0x8 -+ KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 -+ KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 -+ KEYCTL_CAPS1_NS_KEY_TAG = 0x2 -+ 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_MOVE = 0x1e -+ KEYCTL_MOVE_EXCL = 0x1 -+ 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 -+ LOOP_CLR_FD = 0x4c01 -+ LOOP_CTL_ADD = 0x4c80 -+ LOOP_CTL_GET_FREE = 0x4c82 -+ LOOP_CTL_REMOVE = 0x4c81 -+ LOOP_GET_STATUS = 0x4c03 -+ LOOP_GET_STATUS64 = 0x4c05 -+ LOOP_SET_BLOCK_SIZE = 0x4c09 -+ LOOP_SET_CAPACITY = 0x4c07 -+ LOOP_SET_DIRECT_IO = 0x4c08 -+ LOOP_SET_FD = 0x4c00 -+ LOOP_SET_STATUS = 0x4c02 -+ LOOP_SET_STATUS64 = 0x4c04 -+ LO_KEY_SIZE = 0x20 -+ LO_NAME_SIZE = 0x40 -+ 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 -+ MCAST_BLOCK_SOURCE = 0x2b -+ MCAST_EXCLUDE = 0x0 -+ MCAST_INCLUDE = 0x1 -+ MCAST_JOIN_GROUP = 0x2a -+ MCAST_JOIN_SOURCE_GROUP = 0x2e -+ MCAST_LEAVE_GROUP = 0x2d -+ MCAST_LEAVE_SOURCE_GROUP = 0x2f -+ MCAST_MSFILTER = 0x30 -+ MCAST_UNBLOCK_SOURCE = 0x2c -+ 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 = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFDBITS = 0x40 -+ 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 -+ NS_GET_NSTYPE = 0x2000b703 -+ NS_GET_OWNER_UID = 0x2000b704 -+ NS_GET_PARENT = 0x2000b702 -+ NS_GET_USERNS = 0x2000b701 -+ 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_TAGGED_ADDR_CTRL = 0x38 -+ 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_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ 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_TAGGED_ADDR_CTRL = 0x37 -+ 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_DISABLE_NOEXEC = 0x10 -+ 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_TAGGED_ADDR_ENABLE = 0x1 -+ 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_EVENTMSG_SYSCALL_ENTRY = 0x1 -+ PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 -+ 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_GET_SYSCALL_INFO = 0x420e -+ 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_SYSCALL_INFO_ENTRY = 0x1 -+ PTRACE_SYSCALL_INFO_EXIT = 0x2 -+ PTRACE_SYSCALL_INFO_NONE = 0x0 -+ PTRACE_SYSCALL_INFO_SECCOMP = 0x3 -+ 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 = 0x1e -+ 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_DELNEXTHOP = 0x69 -+ 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_GETNEXTHOP = 0x6a -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x6b -+ 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_NEWNEXTHOP = 0x68 -+ 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 = 0x17 -+ RTM_NR_MSGTYPES = 0x5c -+ 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 -+ SIOCGETLINKNAME = 0x89e0 -+ SIOCGETNODEID = 0x89e1 -+ 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 -+ SIOCGSTAMPNS_NEW = 0x40108907 -+ SIOCGSTAMPNS_OLD = 0x8907 -+ SIOCGSTAMP_NEW = 0x40108906 -+ SIOCGSTAMP_OLD = 0x8906 -+ 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_BINDTOIFINDEX = 0x41 -+ 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_DETACH_REUSEPORT_BPF = 0x47 -+ 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_RCVTIMEO_NEW = 0x44 -+ SO_RCVTIMEO_OLD = 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_SNDTIMEO_NEW = 0x45 -+ SO_SNDTIMEO_OLD = 0x4000 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x23 -+ SO_TIMESTAMPING_NEW = 0x43 -+ SO_TIMESTAMPING_OLD = 0x23 -+ SO_TIMESTAMPNS = 0x21 -+ SO_TIMESTAMPNS_NEW = 0x42 -+ SO_TIMESTAMPNS_OLD = 0x21 -+ SO_TIMESTAMP_NEW = 0x46 -+ SO_TIMESTAMP_OLD = 0x1d -+ 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 -+ SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 -+ 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_BPF_IW = 0x3e9 -+ TCP_BPF_SNDCWND_CLAMP = 0x3ea -+ 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 -+ TIPC_ADDR_ID = 0x3 -+ TIPC_ADDR_MCAST = 0x1 -+ TIPC_ADDR_NAME = 0x2 -+ TIPC_ADDR_NAMESEQ = 0x1 -+ TIPC_CFG_SRV = 0x0 -+ TIPC_CLUSTER_BITS = 0xc -+ TIPC_CLUSTER_MASK = 0xfff000 -+ TIPC_CLUSTER_OFFSET = 0xc -+ TIPC_CLUSTER_SIZE = 0xfff -+ TIPC_CONN_SHUTDOWN = 0x5 -+ TIPC_CONN_TIMEOUT = 0x82 -+ TIPC_CRITICAL_IMPORTANCE = 0x3 -+ TIPC_DESTNAME = 0x3 -+ TIPC_DEST_DROPPABLE = 0x81 -+ TIPC_ERRINFO = 0x1 -+ TIPC_ERR_NO_NAME = 0x1 -+ TIPC_ERR_NO_NODE = 0x3 -+ TIPC_ERR_NO_PORT = 0x2 -+ TIPC_ERR_OVERLOAD = 0x4 -+ TIPC_GROUP_JOIN = 0x87 -+ TIPC_GROUP_LEAVE = 0x88 -+ TIPC_GROUP_LOOPBACK = 0x1 -+ TIPC_GROUP_MEMBER_EVTS = 0x2 -+ TIPC_HIGH_IMPORTANCE = 0x2 -+ TIPC_IMPORTANCE = 0x7f -+ TIPC_LINK_STATE = 0x2 -+ TIPC_LOW_IMPORTANCE = 0x0 -+ TIPC_MAX_BEARER_NAME = 0x20 -+ TIPC_MAX_IF_NAME = 0x10 -+ TIPC_MAX_LINK_NAME = 0x44 -+ TIPC_MAX_MEDIA_NAME = 0x10 -+ TIPC_MAX_USER_MSG_SIZE = 0x101d0 -+ TIPC_MCAST_BROADCAST = 0x85 -+ TIPC_MCAST_REPLICAST = 0x86 -+ TIPC_MEDIUM_IMPORTANCE = 0x1 -+ TIPC_NODEID_LEN = 0x10 -+ TIPC_NODE_BITS = 0xc -+ TIPC_NODE_MASK = 0xfff -+ TIPC_NODE_OFFSET = 0x0 -+ TIPC_NODE_RECVQ_DEPTH = 0x83 -+ TIPC_NODE_SIZE = 0xfff -+ TIPC_NODE_STATE = 0x0 -+ TIPC_OK = 0x0 -+ TIPC_PUBLISHED = 0x1 -+ TIPC_RESERVED_TYPES = 0x40 -+ TIPC_RETDATA = 0x2 -+ TIPC_SERVICE_ADDR = 0x2 -+ TIPC_SERVICE_RANGE = 0x1 -+ TIPC_SOCKET_ADDR = 0x3 -+ TIPC_SOCK_RECVQ_DEPTH = 0x84 -+ TIPC_SOCK_RECVQ_USED = 0x89 -+ TIPC_SRC_DROPPABLE = 0x80 -+ TIPC_SUBSCR_TIMEOUT = 0x3 -+ TIPC_SUB_CANCEL = 0x4 -+ TIPC_SUB_PORTS = 0x1 -+ TIPC_SUB_SERVICE = 0x2 -+ TIPC_TOP_SRV = 0x1 -+ TIPC_WAIT_FOREVER = 0xffffffff -+ TIPC_WITHDRAWN = 0x2 -+ TIPC_ZONE_BITS = 0x8 -+ TIPC_ZONE_CLUSTER_MASK = 0xfffff000 -+ TIPC_ZONE_MASK = 0xff000000 -+ TIPC_ZONE_OFFSET = 0x18 -+ TIPC_ZONE_SCOPE = 0x1 -+ TIPC_ZONE_SIZE = 0xff -+ 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 -+ TUNGETDEVNETNS = 0x200054e3 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETCARRIER = 0x800454e2 -+ 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_IOCRPEB = 0x80046f04 -+ UBI_IOCRSVOL = 0x800c6f02 -+ UBI_IOCSETVOLPROP = 0x80104f06 -+ UBI_IOCSPEB = 0x80046f05 -+ 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_OPTIONS = 0x8 -+ XDP_OPTIONS_ZEROCOPY = 0x1 -+ XDP_PACKET_HEADROOM = 0x100 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RING_NEED_WAKEUP = 0x1 -+ 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_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 -+ XDP_USE_NEED_WAKEUP = 0x8 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ Z3FOLD_MAGIC = 0x33 -+ ZSMALLOC_MAGIC = 0x58295829 -+ __TIOCFLUSH = 0x80047410 - ) - - // Errors -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go -index 78cc04ea6..96b9b8ab3 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go -@@ -3,7 +3,7 @@ - - // +build 386,netbsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m32 _const.go - - package unix -@@ -1085,6 +1085,7 @@ const ( - NET_RT_MAXID = 0x6 - NET_RT_OIFLIST = 0x4 - NET_RT_OOIFLIST = 0x3 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go -index 92185e693..ed522a84e 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go -@@ -3,7 +3,7 @@ - - // +build amd64,netbsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m64 _const.go - - package unix -@@ -1075,6 +1075,7 @@ const ( - NET_RT_MAXID = 0x6 - NET_RT_OIFLIST = 0x4 - NET_RT_OOIFLIST = 0x3 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go -index 373ad4543..c8d36fe99 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go -@@ -3,7 +3,7 @@ - - // +build arm,netbsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -marm _const.go - - package unix -@@ -1065,6 +1065,7 @@ const ( - NET_RT_MAXID = 0x6 - NET_RT_OIFLIST = 0x4 - NET_RT_OOIFLIST = 0x3 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go -index fb6c60441..f1c146a74 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go -@@ -3,7 +3,7 @@ - - // +build arm64,netbsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m64 _const.go - - package unix -@@ -1075,6 +1075,7 @@ const ( - NET_RT_MAXID = 0x6 - NET_RT_OIFLIST = 0x4 - NET_RT_OOIFLIST = 0x3 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go -index d8be04518..5402bd55c 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go -@@ -3,7 +3,7 @@ - - // +build 386,openbsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m32 _const.go - - package unix -@@ -881,14 +881,15 @@ const ( - MADV_SPACEAVAIL = 0x5 - MADV_WILLNEED = 0x3 - MAP_ANON = 0x1000 -- MAP_COPY = 0x4 -+ MAP_ANONYMOUS = 0x1000 -+ MAP_CONCEAL = 0x8000 -+ MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 -- MAP_FLAGMASK = 0x1ff7 -- MAP_HASSEMAPHORE = 0x200 -- MAP_INHERIT = 0x80 -+ MAP_FLAGMASK = 0xfff7 -+ MAP_HASSEMAPHORE = 0x0 -+ MAP_INHERIT = 0x0 - MAP_INHERIT_COPY = 0x1 -- MAP_INHERIT_DONATE_COPY = 0x3 - MAP_INHERIT_NONE = 0x2 - MAP_INHERIT_SHARE = 0x0 - MAP_NOEXTEND = 0x100 -@@ -896,7 +897,8 @@ const ( - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_SHARED = 0x1 -- MAP_TRYFIXED = 0x400 -+ MAP_STACK = 0x4000 -+ MAP_TRYFIXED = 0x0 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MNT_ASYNC = 0x40 -@@ -946,6 +948,7 @@ const ( - NET_RT_MAXID = 0x6 - NET_RT_STATS = 0x4 - NET_RT_TABLE = 0x5 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go -index 1f9e8a29e..ffaf2d2f9 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go -@@ -3,7 +3,7 @@ - - // +build amd64,openbsd - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m64 _const.go - - package unix -@@ -920,10 +920,11 @@ const ( - MADV_WILLNEED = 0x3 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 -+ MAP_CONCEAL = 0x8000 - MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 -- MAP_FLAGMASK = 0x7ff7 -+ MAP_FLAGMASK = 0xfff7 - MAP_HASSEMAPHORE = 0x0 - MAP_INHERIT = 0x0 - MAP_INHERIT_COPY = 0x1 -@@ -990,6 +991,7 @@ const ( - NET_RT_MAXID = 0x7 - NET_RT_STATS = 0x4 - NET_RT_TABLE = 0x5 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ATTRIB = 0x8 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go -index 79d5695c3..7aa796a64 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go -@@ -1,11 +1,11 @@ - // 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 - -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. -+// cgo -godefs -- _const.go -+ - package unix - - import "syscall" -@@ -881,10 +881,11 @@ const ( - MADV_WILLNEED = 0x3 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 -+ MAP_CONCEAL = 0x8000 - MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 -- MAP_FLAGMASK = 0x3ff7 -+ MAP_FLAGMASK = 0xfff7 - MAP_HASSEMAPHORE = 0x0 - MAP_INHERIT = 0x0 - MAP_INHERIT_COPY = 0x1 -@@ -896,6 +897,7 @@ const ( - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x0 - MAP_SHARED = 0x1 -+ MAP_STACK = 0x4000 - MAP_TRYFIXED = 0x0 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 -@@ -947,6 +949,7 @@ const ( - NET_RT_MAXID = 0x6 - NET_RT_STATS = 0x4 - NET_RT_TABLE = 0x5 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go -index ec5f92de8..1792d3f13 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go -@@ -996,6 +996,7 @@ const ( - NET_RT_MAXID = 0x7 - NET_RT_STATS = 0x4 - NET_RT_TABLE = 0x5 -+ NFDBITS = 0x20 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ATTRIB = 0x8 -diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go -index 22569db31..46e054ccb 100644 ---- a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go -@@ -3,7 +3,7 @@ - - // +build amd64,solaris - --// Created by cgo -godefs - DO NOT EDIT -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. - // cgo -godefs -- -m64 _const.go - - package unix -@@ -666,6 +666,7 @@ const ( - M_FLUSH = 0x86 - NAME_MAX = 0xff - NEWDEV = 0x1 -+ NFDBITS = 0x40 - NL0 = 0x0 - NL1 = 0x100 - NLDLY = 0x100 -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 -index dd5ea36ee..b5ed80589 100644 ---- 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 -@@ -1,4 +1,4 @@ --// go run mksyscall.go -l32 -tags darwin,386,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go -+// go run mksyscall.go -l32 -tags darwin,386,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.1_11.go syscall_darwin_386.go - // Code generated by the command above; see README.md. DO NOT EDIT. - - // +build darwin,386,!go1.12 -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -563,6 +547,22 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { - - // 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 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 { -@@ -1342,8 +1342,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -@@ -1681,6 +1682,23 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - - // 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 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 { -@@ -1738,23 +1756,6 @@ func Fstatfs(fd int, stat *Statfs_t) (err error) { - - // 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) -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go -new file mode 100644 -index 000000000..e263fbdb8 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go -@@ -0,0 +1,41 @@ -+// go run mksyscall.go -l32 -tags darwin,386,go1.13 syscall_darwin.1_13.go -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build darwin,386,go1.13 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func closedir(dir uintptr) (err error) { -+ _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+func libc_closedir_trampoline() -+ -+//go:linkname libc_closedir libc_closedir -+//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { -+ r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) -+ res = Errno(r0) -+ return -+} -+ -+func libc_readdir_r_trampoline() -+ -+//go:linkname libc_readdir_r libc_readdir_r -+//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s -new file mode 100644 -index 000000000..00da1ebfc ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s -@@ -0,0 +1,12 @@ -+// go run mkasm_darwin.go 386 -+// Code generated by the command above; DO NOT EDIT. -+ -+// +build go1.13 -+ -+#include "textflag.h" -+TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_fdopendir(SB) -+TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_closedir(SB) -+TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_readdir_r(SB) -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go -index 78ca92339..cdf8a7000 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go -@@ -304,27 +304,6 @@ func libc_kevent_trampoline() - - // 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) -@@ -778,6 +757,27 @@ func libc_ioctl_trampoline() - - // 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 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 { -@@ -928,6 +928,21 @@ func libc_chroot_trampoline() - - // 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 { -@@ -1857,8 +1872,9 @@ func libc_lseek_trampoline() - - // 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) -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), 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) - } -@@ -2408,28 +2424,6 @@ func libc_fstatfs64_trampoline() - - // 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) -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s -index f40465ca8..9cae5b1da 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s -@@ -40,8 +40,6 @@ 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 -@@ -90,6 +88,8 @@ 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_sysctl_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_sysctl(SB) - TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 - JMP libc_sendfile(SB) - TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 -@@ -272,8 +272,6 @@ 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 -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 -index 2581e8960..8bde8235a 100644 ---- 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 -@@ -1,4 +1,4 @@ --// go run mksyscall.go -tags darwin,amd64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go -+// go run mksyscall.go -tags darwin,amd64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.1_11.go syscall_darwin_amd64.go - // Code generated by the command above; see README.md. DO NOT EDIT. - - // +build darwin,amd64,!go1.12 -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,16 +361,6 @@ func Munlockall() (err error) { - - // 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 { -@@ -573,6 +547,22 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { - - // 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 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 { -@@ -1352,8 +1342,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -@@ -1691,6 +1682,33 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { - - // 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 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 gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { - r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) - sec = int64(r0) -@@ -1738,23 +1756,6 @@ func Fstatfs(fd int, stat *Statfs_t) (err error) { - - // 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) -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go -new file mode 100644 -index 000000000..314042a9d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go -@@ -0,0 +1,41 @@ -+// go run mksyscall.go -tags darwin,amd64,go1.13 syscall_darwin.1_13.go -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build darwin,amd64,go1.13 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func closedir(dir uintptr) (err error) { -+ _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+func libc_closedir_trampoline() -+ -+//go:linkname libc_closedir libc_closedir -+//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { -+ r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) -+ res = Errno(r0) -+ return -+} -+ -+func libc_readdir_r_trampoline() -+ -+//go:linkname libc_readdir_r libc_readdir_r -+//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s -new file mode 100644 -index 000000000..d671e8311 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s -@@ -0,0 +1,12 @@ -+// go run mkasm_darwin.go amd64 -+// Code generated by the command above; DO NOT EDIT. -+ -+// +build go1.13 -+ -+#include "textflag.h" -+TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_fdopendir(SB) -+TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_closedir(SB) -+TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_readdir_r(SB) -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go -index 64df03c45..63b51fbf0 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go -@@ -304,27 +304,6 @@ func libc_kevent_trampoline() - - // 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) -@@ -778,6 +757,27 @@ func libc_ioctl_trampoline() - - // 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 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 { -@@ -1872,8 +1872,9 @@ func libc_lseek_trampoline() - - // 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) -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), 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) - } -@@ -2423,28 +2424,6 @@ func libc_fstatfs64_trampoline() - - // 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) -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s -index debcb8ed3..1a0e52aa2 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s -@@ -40,8 +40,6 @@ 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 -@@ -90,6 +88,8 @@ 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_sysctl_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_sysctl(SB) - TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 - JMP libc_sendfile(SB) - TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 -@@ -274,8 +274,6 @@ 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 -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 -index f8caecef0..63a236b50 100644 ---- 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 -@@ -1,4 +1,4 @@ --// go run mksyscall.go -l32 -tags darwin,arm,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go -+// go run mksyscall.go -l32 -tags darwin,arm,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.1_11.go syscall_darwin_arm.go - // Code generated by the command above; see README.md. DO NOT EDIT. - - // +build darwin,arm,!go1.12 -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,16 +361,6 @@ func Munlockall() (err error) { - - // 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 { -@@ -573,6 +547,22 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { - - // 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 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 { -@@ -1352,8 +1342,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go -new file mode 100644 -index 000000000..f519ce9af ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go -@@ -0,0 +1,41 @@ -+// go run mksyscall.go -l32 -tags darwin,arm,go1.13 syscall_darwin.1_13.go -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build darwin,arm,go1.13 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func closedir(dir uintptr) (err error) { -+ _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+func libc_closedir_trampoline() -+ -+//go:linkname libc_closedir libc_closedir -+//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { -+ r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) -+ res = Errno(r0) -+ return -+} -+ -+func libc_readdir_r_trampoline() -+ -+//go:linkname libc_readdir_r libc_readdir_r -+//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s -new file mode 100644 -index 000000000..488e55707 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s -@@ -0,0 +1,12 @@ -+// go run mkasm_darwin.go arm -+// Code generated by the command above; DO NOT EDIT. -+ -+// +build go1.13 -+ -+#include "textflag.h" -+TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_fdopendir(SB) -+TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_closedir(SB) -+TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_readdir_r(SB) -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go -index ed3306239..adb8668c2 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go -@@ -304,27 +304,6 @@ func libc_kevent_trampoline() - - // 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) -@@ -778,6 +757,27 @@ func libc_ioctl_trampoline() - - // 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 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 { -@@ -928,6 +928,21 @@ func libc_chroot_trampoline() - - // 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 { -@@ -1857,8 +1872,9 @@ func libc_lseek_trampoline() - - // 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) -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), 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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s -index 66af9f480..5bebb1bbd 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s -@@ -40,8 +40,6 @@ 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 -@@ -106,6 +104,8 @@ 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 -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 -index 3fd0f3c85..87c0b6122 100644 ---- 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 -@@ -1,4 +1,4 @@ --// go run mksyscall.go -tags darwin,arm64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go -+// go run mksyscall.go -tags darwin,arm64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.1_11.go syscall_darwin_arm64.go - // Code generated by the command above; see README.md. DO NOT EDIT. - - // +build darwin,arm64,!go1.12 -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,16 +361,6 @@ func Munlockall() (err error) { - - // 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 { -@@ -573,6 +547,22 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { - - // 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 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 { -@@ -1352,8 +1342,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go -new file mode 100644 -index 000000000..d64e6c806 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go -@@ -0,0 +1,41 @@ -+// go run mksyscall.go -tags darwin,arm64,go1.13 syscall_darwin.1_13.go -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build darwin,arm64,go1.13 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func closedir(dir uintptr) (err error) { -+ _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+func libc_closedir_trampoline() -+ -+//go:linkname libc_closedir libc_closedir -+//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { -+ r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) -+ res = Errno(r0) -+ return -+} -+ -+func libc_readdir_r_trampoline() -+ -+//go:linkname libc_readdir_r libc_readdir_r -+//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s -new file mode 100644 -index 000000000..b29dabb0f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s -@@ -0,0 +1,12 @@ -+// go run mkasm_darwin.go arm64 -+// Code generated by the command above; DO NOT EDIT. -+ -+// +build go1.13 -+ -+#include "textflag.h" -+TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_fdopendir(SB) -+TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_closedir(SB) -+TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_readdir_r(SB) -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go -index 5258a7328..c882a4f9d 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go -@@ -304,27 +304,6 @@ func libc_kevent_trampoline() - - // 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) -@@ -778,6 +757,27 @@ func libc_ioctl_trampoline() - - // 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 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 { -@@ -928,6 +928,21 @@ func libc_chroot_trampoline() - - // 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 { -@@ -1857,8 +1872,9 @@ func libc_lseek_trampoline() - - // 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) -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), 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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s -index f57f48f82..19faa4d8d 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s -@@ -40,8 +40,6 @@ 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 -@@ -90,6 +88,8 @@ 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_sysctl_trampoline(SB),NOSPLIT,$0-0 -+ JMP libc_sysctl(SB) - TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 - JMP libc_sendfile(SB) - TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go -index cdfe9318b..df199b345 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go -@@ -1272,8 +1272,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go -index a783306b2..e68185f1e 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go -@@ -1606,8 +1606,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go -index f995520d3..2f77f93c4 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,8 +361,14 @@ func Munlockall() (err error) { - - // 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) -+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) - } -@@ -387,8 +377,8 @@ func pipe2(p *[2]_C_int, flags int) (err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - --func ptrace(request int, pid int, addr uintptr, data int) (err error) { -- _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+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) - } -@@ -424,6 +414,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func ptrace(request int, pid int, addr uintptr, data int) (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 Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) -@@ -1606,8 +1606,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go -index d681acd43..e9a12c9d9 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,8 +361,14 @@ func Munlockall() (err error) { - - // 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) -+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) - } -@@ -387,8 +377,8 @@ func pipe2(p *[2]_C_int, flags int) (err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - --func ptrace(request int, pid int, addr uintptr, data int) (err error) { -- _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+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) - } -@@ -424,6 +414,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func ptrace(request int, pid int, addr uintptr, data int) (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 Access(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) -@@ -1606,8 +1606,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go -index 5049b2ede..27ab0fbda 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,6 +361,22 @@ func Munlockall() (err error) { - - // 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 pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { -@@ -404,8 +404,8 @@ func Getcwd(buf []byte) (n int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - --func ptrace(request int, pid int, addr uintptr, data int) (err error) { -- _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+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) - } -@@ -414,8 +414,8 @@ func ptrace(request int, pid int, addr uintptr, data int) (err error) { - - // 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)) -+func ptrace(request int, pid int, addr uintptr, data int) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } -@@ -1606,8 +1606,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go -index c5e46e4cf..fe5d462e4 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go -index da8819e48..536abcea3 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go -index 6ad9be6dd..37823cd6b 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go -index f88331782..794f61264 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go -index 8eebc6c77..1b34b550c 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go -index ecf62a677..5714e2592 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go -index 1ba0f7b6f..88a6b3362 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go -index 20012b2f0..c09dbe345 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go -index 2b520deaa..42f6c2103 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go -index d9f044c95..de2cd8db9 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go -index 9feed65eb..d51bf07fc 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go -index 0a6515088..1e3a3cb73 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go -index e27f66930..3c97008cd 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go -@@ -305,6 +305,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { - - // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(restriction) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { -+ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 { -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go -index 7e0582664..5ade42cce 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,6 +361,22 @@ func Munlockall() (err error) { - - // 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 pipe() (fd1 int, fd2 int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - fd1 = int(r0) -@@ -1498,8 +1498,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go -index d94d076aa..3e0bbc5f1 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,6 +361,22 @@ func Munlockall() (err error) { - - // 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 pipe() (fd1 int, fd2 int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - fd1 = int(r0) -@@ -1498,8 +1498,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go -index cf5bf3d05..cb0af13a3 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,6 +361,22 @@ func Munlockall() (err error) { - - // 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 pipe() (fd1 int, fd2 int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - fd1 = int(r0) -@@ -1498,8 +1498,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go -index 243a9317c..6fd48d3dc 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,6 +361,22 @@ func Munlockall() (err error) { - - // 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 pipe() (fd1 int, fd2 int, err error) { - r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) - fd1 = int(r0) -@@ -1498,8 +1498,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go -index a9532d078..2938e4124 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,6 +361,22 @@ func Munlockall() (err error) { - - // 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 pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { -@@ -1304,8 +1304,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go -index 0cb9f0177..22b79ab0e 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,6 +361,22 @@ func Munlockall() (err error) { - - // 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 pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { -@@ -1304,8 +1304,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go -index 6fc99b549..cb921f37a 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,6 +361,22 @@ func Munlockall() (err error) { - - // 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 pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { -@@ -1304,8 +1304,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go -index 27878a72b..5a7438035 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go -@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne - - // 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) -@@ -377,6 +361,22 @@ func Munlockall() (err error) { - - // 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 pipe(p *[2]_C_int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { -@@ -1304,8 +1304,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+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) - } -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go -index 5f614760c..a96165d4b 100644 ---- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go -@@ -1478,8 +1478,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { - - // 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) -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSelect)), 5, 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 = e1 - } -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go -index e869c0603..7aae554f2 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go -@@ -429,4 +429,6 @@ const ( - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 -+ SYS_PIDFD_OPEN = 434 -+ SYS_CLONE3 = 435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go -index 4917b8ab6..7968439a9 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go -@@ -351,4 +351,6 @@ const ( - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 -+ SYS_PIDFD_OPEN = 434 -+ SYS_CLONE3 = 435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go -index f85fcb4f8..3c663c69d 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go -@@ -393,4 +393,6 @@ const ( - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 -+ SYS_PIDFD_OPEN = 434 -+ SYS_CLONE3 = 435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go -index 678a119bc..753def987 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go -@@ -296,4 +296,5 @@ const ( - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 -+ SYS_PIDFD_OPEN = 434 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go -index 222c9f9a2..00da3de90 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go -@@ -414,4 +414,6 @@ const ( - SYS_FSCONFIG = 4431 - SYS_FSMOUNT = 4432 - SYS_FSPICK = 4433 -+ SYS_PIDFD_OPEN = 4434 -+ SYS_CLONE3 = 4435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go -index 28e6d0e9d..d404fbd4d 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go -@@ -344,4 +344,6 @@ const ( - SYS_FSCONFIG = 5431 - SYS_FSMOUNT = 5432 - SYS_FSPICK = 5433 -+ SYS_PIDFD_OPEN = 5434 -+ SYS_CLONE3 = 5435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go -index e643c6f63..bfbf242f3 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go -@@ -344,4 +344,6 @@ const ( - SYS_FSCONFIG = 5431 - SYS_FSMOUNT = 5432 - SYS_FSPICK = 5433 -+ SYS_PIDFD_OPEN = 5434 -+ SYS_CLONE3 = 5435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go -index 01d93c420..3826f497a 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go -@@ -414,4 +414,6 @@ const ( - SYS_FSCONFIG = 4431 - SYS_FSMOUNT = 4432 - SYS_FSPICK = 4433 -+ SYS_PIDFD_OPEN = 4434 -+ SYS_CLONE3 = 4435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go -index 5744149eb..52e3da649 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go -@@ -393,4 +393,6 @@ const ( - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 -+ SYS_PIDFD_OPEN = 434 -+ SYS_CLONE3 = 435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go -index 21c832042..6141f90a8 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go -@@ -393,4 +393,6 @@ const ( - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 -+ SYS_PIDFD_OPEN = 434 -+ SYS_CLONE3 = 435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go -index c1bb6d8f2..4f7261a88 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go -@@ -295,4 +295,6 @@ const ( - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 -+ SYS_PIDFD_OPEN = 434 -+ SYS_CLONE3 = 435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go -index bc3cc6b5b..f47014ac0 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go -@@ -358,4 +358,6 @@ const ( - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 -+ SYS_PIDFD_OPEN = 434 -+ SYS_CLONE3 = 435 - ) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go -index 0a2841ba8..dd78abb0d 100644 ---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go -@@ -373,4 +373,5 @@ const ( - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 -+ SYS_PIDFD_OPEN = 434 - ) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go -index 1542a8773..c681d7dbc 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go -@@ -397,7 +397,7 @@ type Reg struct { - } - - type FpReg struct { -- Fp_q [32]uint128 -+ Fp_q [512]uint8 - Fp_sr uint32 - Fp_cr uint32 - } -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go -index 50bc4128f..d2306df42 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go -@@ -179,6 +179,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -256,7 +305,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -285,6 +334,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]int8 -@@ -420,11 +476,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x8 - SizeofIPMreq = 0x8 -@@ -591,22 +648,6 @@ const ( - 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 -@@ -614,6 +655,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -664,6 +706,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2041,6 +2090,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2055,6 +2105,7 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 - } - - type XDPStatistics struct { -@@ -2468,6 +2519,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2521,3 +2608,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]int8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]int8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]int8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go -index 055eaa76a..888870584 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go -@@ -179,6 +179,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -256,7 +305,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -285,6 +334,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]int8 -@@ -421,11 +477,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x10 - SizeofIPMreq = 0x8 -@@ -592,22 +649,6 @@ const ( - 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 -@@ -615,6 +656,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -665,6 +707,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2054,6 +2103,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2068,6 +2118,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2481,6 +2533,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2535,3 +2623,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]int8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]int8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]int8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go -index 66019c9cf..5f6f5945d 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go -@@ -183,6 +183,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -260,7 +309,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -289,6 +338,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]uint8 -@@ -424,11 +480,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x8 - SizeofIPMreq = 0x8 -@@ -595,22 +652,6 @@ const ( - 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 -@@ -618,6 +659,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -668,6 +710,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2032,6 +2081,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2046,6 +2096,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2459,6 +2511,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2512,3 +2600,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]uint8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]uint8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]uint8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go -index 3104798c4..e27030c5d 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go -@@ -180,6 +180,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -257,7 +306,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -286,6 +335,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]int8 -@@ -422,11 +478,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x10 - SizeofIPMreq = 0x8 -@@ -593,22 +650,6 @@ const ( - 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 -@@ -616,6 +657,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -666,6 +708,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2033,6 +2082,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2047,6 +2097,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2460,6 +2512,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2514,3 +2602,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]int8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]int8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]int8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go -index 46c86021b..9b1c03da3 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go -@@ -182,6 +182,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -259,7 +308,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -288,6 +337,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]int8 -@@ -423,11 +479,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x8 - SizeofIPMreq = 0x8 -@@ -594,22 +651,6 @@ const ( - 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 -@@ -617,6 +658,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -667,6 +709,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2038,6 +2087,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2052,6 +2102,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2465,6 +2517,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2518,3 +2606,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]int8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]int8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]int8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go -index c2fe1a62a..3b88e1ffa 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go -@@ -180,6 +180,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -257,7 +306,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -286,6 +335,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]int8 -@@ -422,11 +478,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x10 - SizeofIPMreq = 0x8 -@@ -593,22 +650,6 @@ const ( - 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 -@@ -616,6 +657,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -666,6 +708,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -783,6 +832,7 @@ type Ustat_t struct { - - type EpollEvent struct { - Events uint32 -+ _ int32 - Fd int32 - Pad int32 - } -@@ -2035,6 +2085,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2049,6 +2100,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2462,6 +2515,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2516,3 +2605,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]int8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]int8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]int8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go -index f1eb0d397..7277dc3b7 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go -@@ -180,6 +180,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -257,7 +306,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -286,6 +335,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]int8 -@@ -422,11 +478,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x10 - SizeofIPMreq = 0x8 -@@ -593,22 +650,6 @@ const ( - 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 -@@ -616,6 +657,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -666,6 +708,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -783,6 +832,7 @@ type Ustat_t struct { - - type EpollEvent struct { - Events uint32 -+ _ int32 - Fd int32 - Pad int32 - } -@@ -2035,6 +2085,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2049,6 +2100,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2462,6 +2515,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2516,3 +2605,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]int8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]int8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]int8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go -index 8759bc36b..6f32c1753 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go -@@ -182,6 +182,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -259,7 +308,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -288,6 +337,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]int8 -@@ -423,11 +479,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x8 - SizeofIPMreq = 0x8 -@@ -594,22 +651,6 @@ const ( - 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 -@@ -617,6 +658,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -667,6 +709,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2038,6 +2087,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2052,6 +2102,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2465,6 +2517,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2518,3 +2606,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]int8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]int8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]int8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go -index a81200541..8a9484d68 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go -@@ -181,6 +181,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -258,7 +307,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -287,6 +336,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]uint8 -@@ -423,11 +479,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x10 - SizeofIPMreq = 0x8 -@@ -594,22 +651,6 @@ const ( - 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 -@@ -617,6 +658,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -667,6 +709,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2043,6 +2092,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2057,6 +2107,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2470,6 +2522,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2524,3 +2612,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]uint8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]uint8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]uint8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go -index 74b7a9199..7190a186a 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go -@@ -181,6 +181,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -258,7 +307,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -287,6 +336,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]uint8 -@@ -423,11 +479,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x10 - SizeofIPMreq = 0x8 -@@ -594,22 +651,6 @@ const ( - 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 -@@ -617,6 +658,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -667,6 +709,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2043,6 +2092,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2057,6 +2107,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2470,6 +2522,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2524,3 +2612,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]uint8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]uint8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]uint8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go -index ccea3e638..502d98aa2 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go -@@ -180,6 +180,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -257,7 +306,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -286,6 +335,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]uint8 -@@ -422,11 +478,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x10 - SizeofIPMreq = 0x8 -@@ -593,22 +650,6 @@ const ( - 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 -@@ -616,6 +657,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -666,6 +708,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2061,6 +2110,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2075,6 +2125,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2488,6 +2540,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2542,3 +2630,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]uint8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]uint8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]uint8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go -index d8fc0bc1c..65e12d7b4 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go -@@ -179,6 +179,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -256,7 +305,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -285,6 +334,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]int8 -@@ -421,11 +477,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x10 - SizeofIPMreq = 0x8 -@@ -592,22 +649,6 @@ const ( - 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 -@@ -615,6 +656,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -665,6 +707,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2057,6 +2106,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2071,6 +2121,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2484,6 +2536,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2538,3 +2626,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]int8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]int8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]int8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go -index 5e0ab9329..26e8a2bb7 100644 ---- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go -@@ -183,6 +183,55 @@ type FscryptKey struct { - Size uint32 - } - -+type FscryptPolicyV1 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptPolicyV2 struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ _ [4]uint8 -+ Master_key_identifier [16]uint8 -+} -+ -+type FscryptGetPolicyExArg struct { -+ Size uint64 -+ Policy [24]byte -+} -+ -+type FscryptKeySpecifier struct { -+ Type uint32 -+ _ uint32 -+ U [32]byte -+} -+ -+type FscryptAddKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Raw_size uint32 -+ _ [9]uint32 -+} -+ -+type FscryptRemoveKeyArg struct { -+ Key_spec FscryptKeySpecifier -+ Removal_status_flags uint32 -+ _ [5]uint32 -+} -+ -+type FscryptGetKeyStatusArg struct { -+ Key_spec FscryptKeySpecifier -+ _ [6]uint32 -+ Status uint32 -+ Status_flags uint32 -+ User_count uint32 -+ _ [13]uint32 -+} -+ - type KeyctlDHParams struct { - Private int32 - Prime int32 -@@ -260,7 +309,7 @@ type RawSockaddrRFCOMM struct { - type RawSockaddrCAN struct { - Family uint16 - Ifindex int32 -- Addr [8]byte -+ Addr [16]byte - } - - type RawSockaddrALG struct { -@@ -289,6 +338,13 @@ type RawSockaddrXDP struct { - - type RawSockaddrPPPoX [0x1e]byte - -+type RawSockaddrTIPC struct { -+ Family uint16 -+ Addrtype uint8 -+ Scope int8 -+ Addr [12]byte -+} -+ - type RawSockaddr struct { - Family uint16 - Data [14]int8 -@@ -425,11 +481,12 @@ const ( - SizeofSockaddrHCI = 0x6 - SizeofSockaddrL2 = 0xe - SizeofSockaddrRFCOMM = 0xa -- SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrCAN = 0x18 - SizeofSockaddrALG = 0x58 - SizeofSockaddrVM = 0x10 - SizeofSockaddrXDP = 0x10 - SizeofSockaddrPPPoX = 0x1e -+ SizeofSockaddrTIPC = 0x10 - SizeofLinger = 0x8 - SizeofIovec = 0x10 - SizeofIPMreq = 0x8 -@@ -596,22 +653,6 @@ const ( - 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 -@@ -619,6 +660,7 @@ const ( - SizeofRtAttr = 0x4 - SizeofIfInfomsg = 0x10 - SizeofIfAddrmsg = 0x8 -+ SizeofIfaCacheinfo = 0x10 - SizeofRtMsg = 0xc - SizeofRtNexthop = 0x8 - SizeofNdUseroptmsg = 0x10 -@@ -669,6 +711,13 @@ type IfAddrmsg struct { - Index uint32 - } - -+type IfaCacheinfo struct { -+ Prefered uint32 -+ Valid uint32 -+ Cstamp uint32 -+ Tstamp uint32 -+} -+ - type RtMsg struct { - Family uint8 - Dst_len uint8 -@@ -2038,6 +2087,7 @@ type XDPRingOffset struct { - Producer uint64 - Consumer uint64 - Desc uint64 -+ Flags uint64 - } - - type XDPMmapOffsets struct { -@@ -2052,6 +2102,8 @@ type XDPUmemReg struct { - Len uint64 - Size uint32 - Headroom uint32 -+ Flags uint32 -+ _ [4]byte - } - - type XDPStatistics struct { -@@ -2465,6 +2517,42 @@ const ( - BPF_FD_TYPE_URETPROBE = 0x5 - ) - -+const ( -+ 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_DECnet_IFADDR = 0xd -+ RTNLGRP_NOP2 = 0xe -+ RTNLGRP_DECnet_ROUTE = 0xf -+ RTNLGRP_DECnet_RULE = 0x10 -+ RTNLGRP_NOP4 = 0x11 -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ RTNLGRP_PHONET_IFADDR = 0x15 -+ RTNLGRP_PHONET_ROUTE = 0x16 -+ RTNLGRP_DCB = 0x17 -+ RTNLGRP_IPV4_NETCONF = 0x18 -+ RTNLGRP_IPV6_NETCONF = 0x19 -+ RTNLGRP_MDB = 0x1a -+ RTNLGRP_MPLS_ROUTE = 0x1b -+ RTNLGRP_NSID = 0x1c -+ RTNLGRP_MPLS_NETCONF = 0x1d -+ RTNLGRP_IPV4_MROUTE_R = 0x1e -+ RTNLGRP_IPV6_MROUTE_R = 0x1f -+ RTNLGRP_NEXTHOP = 0x20 -+) -+ - type CapUserHeader struct { - Version uint32 - Pid int32 -@@ -2519,3 +2607,201 @@ type LoopInfo64 struct { - Encrypt_key [32]uint8 - Init [2]uint64 - } -+ -+type TIPCSocketAddr struct { -+ Ref uint32 -+ Node uint32 -+} -+ -+type TIPCServiceRange struct { -+ Type uint32 -+ Lower uint32 -+ Upper uint32 -+} -+ -+type TIPCServiceName struct { -+ Type uint32 -+ Instance uint32 -+ Domain uint32 -+} -+ -+type TIPCSubscr struct { -+ Seq TIPCServiceRange -+ Timeout uint32 -+ Filter uint32 -+ Handle [8]int8 -+} -+ -+type TIPCEvent struct { -+ Event uint32 -+ Lower uint32 -+ Upper uint32 -+ Port TIPCSocketAddr -+ S TIPCSubscr -+} -+ -+type TIPCGroupReq struct { -+ Type uint32 -+ Instance uint32 -+ Scope uint32 -+ Flags uint32 -+} -+ -+type TIPCSIOCLNReq struct { -+ Peer uint32 -+ Id uint32 -+ Linkname [68]int8 -+} -+ -+type TIPCSIOCNodeIDReq struct { -+ Peer uint32 -+ Id [16]int8 -+} -+ -+const ( -+ TIPC_CLUSTER_SCOPE = 0x2 -+ TIPC_NODE_SCOPE = 0x3 -+) -+ -+const ( -+ SYSLOG_ACTION_CLOSE = 0 -+ SYSLOG_ACTION_OPEN = 1 -+ SYSLOG_ACTION_READ = 2 -+ SYSLOG_ACTION_READ_ALL = 3 -+ SYSLOG_ACTION_READ_CLEAR = 4 -+ SYSLOG_ACTION_CLEAR = 5 -+ SYSLOG_ACTION_CONSOLE_OFF = 6 -+ SYSLOG_ACTION_CONSOLE_ON = 7 -+ SYSLOG_ACTION_CONSOLE_LEVEL = 8 -+ SYSLOG_ACTION_SIZE_UNREAD = 9 -+ SYSLOG_ACTION_SIZE_BUFFER = 10 -+) -+ -+const ( -+ DEVLINK_CMD_UNSPEC = 0x0 -+ DEVLINK_CMD_GET = 0x1 -+ DEVLINK_CMD_SET = 0x2 -+ DEVLINK_CMD_NEW = 0x3 -+ DEVLINK_CMD_DEL = 0x4 -+ DEVLINK_CMD_PORT_GET = 0x5 -+ DEVLINK_CMD_PORT_SET = 0x6 -+ DEVLINK_CMD_PORT_NEW = 0x7 -+ DEVLINK_CMD_PORT_DEL = 0x8 -+ DEVLINK_CMD_PORT_SPLIT = 0x9 -+ DEVLINK_CMD_PORT_UNSPLIT = 0xa -+ DEVLINK_CMD_SB_GET = 0xb -+ DEVLINK_CMD_SB_SET = 0xc -+ DEVLINK_CMD_SB_NEW = 0xd -+ DEVLINK_CMD_SB_DEL = 0xe -+ DEVLINK_CMD_SB_POOL_GET = 0xf -+ DEVLINK_CMD_SB_POOL_SET = 0x10 -+ DEVLINK_CMD_SB_POOL_NEW = 0x11 -+ DEVLINK_CMD_SB_POOL_DEL = 0x12 -+ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 -+ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 -+ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 -+ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 -+ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 -+ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 -+ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 -+ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a -+ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b -+ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c -+ DEVLINK_CMD_ESWITCH_GET = 0x1d -+ DEVLINK_CMD_ESWITCH_SET = 0x1e -+ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f -+ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 -+ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 -+ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 -+ DEVLINK_CMD_MAX = 0x44 -+ DEVLINK_PORT_TYPE_NOTSET = 0x0 -+ DEVLINK_PORT_TYPE_AUTO = 0x1 -+ DEVLINK_PORT_TYPE_ETH = 0x2 -+ DEVLINK_PORT_TYPE_IB = 0x3 -+ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 -+ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 -+ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 -+ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 -+ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 -+ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 -+ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 -+ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 -+ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 -+ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 -+ DEVLINK_ATTR_UNSPEC = 0x0 -+ DEVLINK_ATTR_BUS_NAME = 0x1 -+ DEVLINK_ATTR_DEV_NAME = 0x2 -+ DEVLINK_ATTR_PORT_INDEX = 0x3 -+ DEVLINK_ATTR_PORT_TYPE = 0x4 -+ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 -+ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 -+ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 -+ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 -+ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 -+ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa -+ DEVLINK_ATTR_SB_INDEX = 0xb -+ DEVLINK_ATTR_SB_SIZE = 0xc -+ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd -+ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe -+ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf -+ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 -+ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 -+ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 -+ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 -+ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 -+ DEVLINK_ATTR_SB_THRESHOLD = 0x15 -+ DEVLINK_ATTR_SB_TC_INDEX = 0x16 -+ DEVLINK_ATTR_SB_OCC_CUR = 0x17 -+ DEVLINK_ATTR_SB_OCC_MAX = 0x18 -+ DEVLINK_ATTR_ESWITCH_MODE = 0x19 -+ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a -+ DEVLINK_ATTR_DPIPE_TABLES = 0x1b -+ DEVLINK_ATTR_DPIPE_TABLE = 0x1c -+ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d -+ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e -+ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f -+ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 -+ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 -+ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 -+ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 -+ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 -+ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 -+ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 -+ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 -+ DEVLINK_ATTR_DPIPE_MATCH = 0x28 -+ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 -+ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a -+ DEVLINK_ATTR_DPIPE_ACTION = 0x2b -+ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c -+ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d -+ DEVLINK_ATTR_DPIPE_VALUE = 0x2e -+ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f -+ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 -+ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 -+ DEVLINK_ATTR_DPIPE_HEADER = 0x32 -+ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 -+ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 -+ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 -+ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 -+ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 -+ DEVLINK_ATTR_DPIPE_FIELD = 0x38 -+ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 -+ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a -+ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b -+ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c -+ DEVLINK_ATTR_PAD = 0x3d -+ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e -+ DEVLINK_ATTR_MAX = 0x89 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 -+ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 -+ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 -+ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 -+ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 -+ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 -+ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 -+ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 -+ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 -+) -diff --git a/vendor/golang.org/x/sys/windows/asm_windows_386.s b/vendor/golang.org/x/sys/windows/asm_windows_386.s -deleted file mode 100644 -index 21d994d31..000000000 ---- a/vendor/golang.org/x/sys/windows/asm_windows_386.s -+++ /dev/null -@@ -1,13 +0,0 @@ --// 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 -deleted file mode 100644 -index 5bfdf7974..000000000 ---- a/vendor/golang.org/x/sys/windows/asm_windows_amd64.s -+++ /dev/null -@@ -1,13 +0,0 @@ --// 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 -deleted file mode 100644 -index 55d8b91a2..000000000 ---- a/vendor/golang.org/x/sys/windows/asm_windows_arm.s -+++ /dev/null -@@ -1,11 +0,0 @@ --// 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 -index ba67658db..d77711341 100644 ---- a/vendor/golang.org/x/sys/windows/dll_windows.go -+++ b/vendor/golang.org/x/sys/windows/dll_windows.go -@@ -11,6 +11,18 @@ import ( - "unsafe" - ) - -+// We need to use LoadLibrary and GetProcAddress from the Go runtime, because -+// the these symbols are loaded by the system linker and are required to -+// dynamically load additional symbols. Note that in the Go runtime, these -+// return syscall.Handle and syscall.Errno, but these are the same, in fact, -+// as windows.Handle and windows.Errno, and we intend to keep these the same. -+ -+//go:linkname syscall_loadlibrary syscall.loadlibrary -+func syscall_loadlibrary(filename *uint16) (handle Handle, err Errno) -+ -+//go:linkname syscall_getprocaddress syscall.getprocaddress -+func syscall_getprocaddress(handle Handle, procname *uint8) (proc uintptr, err Errno) -+ - // DLLError describes reasons for DLL load failures. - type DLLError struct { - Err error -@@ -20,10 +32,6 @@ type DLLError struct { - - 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 -@@ -40,7 +48,7 @@ func LoadDLL(name string) (dll *DLL, err error) { - if err != nil { - return nil, err - } -- h, e := loadlibrary(namep) -+ h, e := syscall_loadlibrary(namep) - if e != 0 { - return nil, &DLLError{ - Err: e, -@@ -50,7 +58,7 @@ func LoadDLL(name string) (dll *DLL, err error) { - } - d := &DLL{ - Name: name, -- Handle: Handle(h), -+ Handle: h, - } - return d, nil - } -@@ -71,7 +79,7 @@ func (d *DLL) FindProc(name string) (proc *Proc, err error) { - if err != nil { - return nil, err - } -- a, e := getprocaddress(uintptr(d.Handle), namep) -+ a, e := syscall_getprocaddress(d.Handle, namep) - if e != 0 { - return nil, &DLLError{ - Err: e, -diff --git a/vendor/golang.org/x/sys/windows/empty.s b/vendor/golang.org/x/sys/windows/empty.s -new file mode 100644 -index 000000000..69309e4da ---- /dev/null -+++ b/vendor/golang.org/x/sys/windows/empty.s -@@ -0,0 +1,8 @@ -+// 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 !go1.12 -+ -+// This file is here to allow bodyless functions with go:linkname for Go 1.11 -+// and earlier (see https://golang.org/issue/23311). -diff --git a/vendor/golang.org/x/sys/windows/mksyscall.go b/vendor/golang.org/x/sys/windows/mksyscall.go -index 627705727..328e3b2ac 100644 ---- a/vendor/golang.org/x/sys/windows/mksyscall.go -+++ b/vendor/golang.org/x/sys/windows/mksyscall.go -@@ -6,4 +6,4 @@ - - 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 -+//go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go -diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go -index 7b2cfb9e0..4b6eff186 100644 ---- a/vendor/golang.org/x/sys/windows/security_windows.go -+++ b/vendor/golang.org/x/sys/windows/security_windows.go -@@ -9,14 +9,6 @@ import ( - "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 -@@ -235,16 +227,15 @@ func LookupSID(system, account string) (sid *SID, domain string, accType uint32, - } - } - --// String converts SID to a string format --// suitable for display, storage, or transmission. --func (sid *SID) String() (string, error) { -+// String converts SID to a string format suitable for display, storage, or transmission. -+func (sid *SID) String() string { - var s *uint16 - e := ConvertSidToStringSid(sid, &s) - if e != nil { -- return "", e -+ return "" - } - defer LocalFree((Handle)(unsafe.Pointer(s))) -- return UTF16ToString((*[256]uint16)(unsafe.Pointer(s))[:]), nil -+ return UTF16ToString((*[256]uint16)(unsafe.Pointer(s))[:]) - } - - // Len returns the length, in bytes, of a valid security identifier SID. -@@ -656,21 +647,16 @@ func (tml *Tokenmandatorylabel) Size() uint32 { - // system-related operations on the local computer. - type Token Handle - --// OpenCurrentProcessToken opens the access token --// associated with current process. It is a real --// token that needs to be closed, unlike --// GetCurrentProcessToken. -+// OpenCurrentProcessToken opens an access token associated with current -+// process with TOKEN_QUERY access. It is a real token that needs to be closed. -+// -+// Deprecated: Explicitly call OpenProcessToken(CurrentProcess(), ...) -+// with the desired access instead, or use GetCurrentProcessToken for a -+// TOKEN_QUERY token. - func OpenCurrentProcessToken() (Token, error) { -- p, e := GetCurrentProcess() -- if e != nil { -- return 0, e -- } -- var t Token -- e = OpenProcessToken(p, TOKEN_QUERY|TOKEN_DUPLICATE, &t) -- if e != nil { -- return 0, e -- } -- return t, nil -+ var token Token -+ err := OpenProcessToken(CurrentProcess(), TOKEN_QUERY, &token) -+ return token, err - } - - // GetCurrentProcessToken returns the access token associated with -@@ -890,3 +876,521 @@ type WTS_SESSION_INFO struct { - //sys WTSQueryUserToken(session uint32, token *Token) (err error) = wtsapi32.WTSQueryUserToken - //sys WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) = wtsapi32.WTSEnumerateSessionsW - //sys WTSFreeMemory(ptr uintptr) = wtsapi32.WTSFreeMemory -+ -+type ACL struct { -+ aclRevision byte -+ sbz1 byte -+ aclSize uint16 -+ aceCount uint16 -+ sbz2 uint16 -+} -+ -+type SECURITY_DESCRIPTOR struct { -+ revision byte -+ sbz1 byte -+ control SECURITY_DESCRIPTOR_CONTROL -+ owner *SID -+ group *SID -+ sacl *ACL -+ dacl *ACL -+} -+ -+type SecurityAttributes struct { -+ Length uint32 -+ SecurityDescriptor *SECURITY_DESCRIPTOR -+ InheritHandle uint32 -+} -+ -+type SE_OBJECT_TYPE uint32 -+ -+// Constants for type SE_OBJECT_TYPE -+const ( -+ SE_UNKNOWN_OBJECT_TYPE = 0 -+ SE_FILE_OBJECT = 1 -+ SE_SERVICE = 2 -+ SE_PRINTER = 3 -+ SE_REGISTRY_KEY = 4 -+ SE_LMSHARE = 5 -+ SE_KERNEL_OBJECT = 6 -+ SE_WINDOW_OBJECT = 7 -+ SE_DS_OBJECT = 8 -+ SE_DS_OBJECT_ALL = 9 -+ SE_PROVIDER_DEFINED_OBJECT = 10 -+ SE_WMIGUID_OBJECT = 11 -+ SE_REGISTRY_WOW64_32KEY = 12 -+ SE_REGISTRY_WOW64_64KEY = 13 -+) -+ -+type SECURITY_INFORMATION uint32 -+ -+// Constants for type SECURITY_INFORMATION -+const ( -+ OWNER_SECURITY_INFORMATION = 0x00000001 -+ GROUP_SECURITY_INFORMATION = 0x00000002 -+ DACL_SECURITY_INFORMATION = 0x00000004 -+ SACL_SECURITY_INFORMATION = 0x00000008 -+ LABEL_SECURITY_INFORMATION = 0x00000010 -+ ATTRIBUTE_SECURITY_INFORMATION = 0x00000020 -+ SCOPE_SECURITY_INFORMATION = 0x00000040 -+ BACKUP_SECURITY_INFORMATION = 0x00010000 -+ PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000 -+ PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000 -+ UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000 -+ UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000 -+) -+ -+type SECURITY_DESCRIPTOR_CONTROL uint16 -+ -+// Constants for type SECURITY_DESCRIPTOR_CONTROL -+const ( -+ SE_OWNER_DEFAULTED = 0x0001 -+ SE_GROUP_DEFAULTED = 0x0002 -+ SE_DACL_PRESENT = 0x0004 -+ SE_DACL_DEFAULTED = 0x0008 -+ SE_SACL_PRESENT = 0x0010 -+ SE_SACL_DEFAULTED = 0x0020 -+ SE_DACL_AUTO_INHERIT_REQ = 0x0100 -+ SE_SACL_AUTO_INHERIT_REQ = 0x0200 -+ SE_DACL_AUTO_INHERITED = 0x0400 -+ SE_SACL_AUTO_INHERITED = 0x0800 -+ SE_DACL_PROTECTED = 0x1000 -+ SE_SACL_PROTECTED = 0x2000 -+ SE_RM_CONTROL_VALID = 0x4000 -+ SE_SELF_RELATIVE = 0x8000 -+) -+ -+type ACCESS_MASK uint32 -+ -+// Constants for type ACCESS_MASK -+const ( -+ DELETE = 0x00010000 -+ READ_CONTROL = 0x00020000 -+ WRITE_DAC = 0x00040000 -+ WRITE_OWNER = 0x00080000 -+ SYNCHRONIZE = 0x00100000 -+ STANDARD_RIGHTS_REQUIRED = 0x000F0000 -+ STANDARD_RIGHTS_READ = READ_CONTROL -+ STANDARD_RIGHTS_WRITE = READ_CONTROL -+ STANDARD_RIGHTS_EXECUTE = READ_CONTROL -+ STANDARD_RIGHTS_ALL = 0x001F0000 -+ SPECIFIC_RIGHTS_ALL = 0x0000FFFF -+ ACCESS_SYSTEM_SECURITY = 0x01000000 -+ MAXIMUM_ALLOWED = 0x02000000 -+ GENERIC_READ = 0x80000000 -+ GENERIC_WRITE = 0x40000000 -+ GENERIC_EXECUTE = 0x20000000 -+ GENERIC_ALL = 0x10000000 -+) -+ -+type ACCESS_MODE uint32 -+ -+// Constants for type ACCESS_MODE -+const ( -+ NOT_USED_ACCESS = 0 -+ GRANT_ACCESS = 1 -+ SET_ACCESS = 2 -+ DENY_ACCESS = 3 -+ REVOKE_ACCESS = 4 -+ SET_AUDIT_SUCCESS = 5 -+ SET_AUDIT_FAILURE = 6 -+) -+ -+// Constants for AceFlags and Inheritance fields -+const ( -+ NO_INHERITANCE = 0x0 -+ SUB_OBJECTS_ONLY_INHERIT = 0x1 -+ SUB_CONTAINERS_ONLY_INHERIT = 0x2 -+ SUB_CONTAINERS_AND_OBJECTS_INHERIT = 0x3 -+ INHERIT_NO_PROPAGATE = 0x4 -+ INHERIT_ONLY = 0x8 -+ INHERITED_ACCESS_ENTRY = 0x10 -+ INHERITED_PARENT = 0x10000000 -+ INHERITED_GRANDPARENT = 0x20000000 -+ OBJECT_INHERIT_ACE = 0x1 -+ CONTAINER_INHERIT_ACE = 0x2 -+ NO_PROPAGATE_INHERIT_ACE = 0x4 -+ INHERIT_ONLY_ACE = 0x8 -+ INHERITED_ACE = 0x10 -+ VALID_INHERIT_FLAGS = 0x1F -+) -+ -+type MULTIPLE_TRUSTEE_OPERATION uint32 -+ -+// Constants for MULTIPLE_TRUSTEE_OPERATION -+const ( -+ NO_MULTIPLE_TRUSTEE = 0 -+ TRUSTEE_IS_IMPERSONATE = 1 -+) -+ -+type TRUSTEE_FORM uint32 -+ -+// Constants for TRUSTEE_FORM -+const ( -+ TRUSTEE_IS_SID = 0 -+ TRUSTEE_IS_NAME = 1 -+ TRUSTEE_BAD_FORM = 2 -+ TRUSTEE_IS_OBJECTS_AND_SID = 3 -+ TRUSTEE_IS_OBJECTS_AND_NAME = 4 -+) -+ -+type TRUSTEE_TYPE uint32 -+ -+// Constants for TRUSTEE_TYPE -+const ( -+ TRUSTEE_IS_UNKNOWN = 0 -+ TRUSTEE_IS_USER = 1 -+ TRUSTEE_IS_GROUP = 2 -+ TRUSTEE_IS_DOMAIN = 3 -+ TRUSTEE_IS_ALIAS = 4 -+ TRUSTEE_IS_WELL_KNOWN_GROUP = 5 -+ TRUSTEE_IS_DELETED = 6 -+ TRUSTEE_IS_INVALID = 7 -+ TRUSTEE_IS_COMPUTER = 8 -+) -+ -+// Constants for ObjectsPresent field -+const ( -+ ACE_OBJECT_TYPE_PRESENT = 0x1 -+ ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x2 -+) -+ -+type EXPLICIT_ACCESS struct { -+ AccessPermissions ACCESS_MASK -+ AccessMode ACCESS_MODE -+ Inheritance uint32 -+ Trustee TRUSTEE -+} -+ -+// This type is the union inside of TRUSTEE and must be created using one of the TrusteeValueFrom* functions. -+type TrusteeValue uintptr -+ -+func TrusteeValueFromString(str string) TrusteeValue { -+ return TrusteeValue(unsafe.Pointer(StringToUTF16Ptr(str))) -+} -+func TrusteeValueFromSID(sid *SID) TrusteeValue { -+ return TrusteeValue(unsafe.Pointer(sid)) -+} -+func TrusteeValueFromObjectsAndSid(objectsAndSid *OBJECTS_AND_SID) TrusteeValue { -+ return TrusteeValue(unsafe.Pointer(objectsAndSid)) -+} -+func TrusteeValueFromObjectsAndName(objectsAndName *OBJECTS_AND_NAME) TrusteeValue { -+ return TrusteeValue(unsafe.Pointer(objectsAndName)) -+} -+ -+type TRUSTEE struct { -+ MultipleTrustee *TRUSTEE -+ MultipleTrusteeOperation MULTIPLE_TRUSTEE_OPERATION -+ TrusteeForm TRUSTEE_FORM -+ TrusteeType TRUSTEE_TYPE -+ TrusteeValue TrusteeValue -+} -+ -+type OBJECTS_AND_SID struct { -+ ObjectsPresent uint32 -+ ObjectTypeGuid GUID -+ InheritedObjectTypeGuid GUID -+ Sid *SID -+} -+ -+type OBJECTS_AND_NAME struct { -+ ObjectsPresent uint32 -+ ObjectType SE_OBJECT_TYPE -+ ObjectTypeName *uint16 -+ InheritedObjectTypeName *uint16 -+ Name *uint16 -+} -+ -+//sys getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetSecurityInfo -+//sys SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) = advapi32.SetSecurityInfo -+//sys getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetNamedSecurityInfoW -+//sys SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetNamedSecurityInfoW -+ -+//sys buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) = advapi32.BuildSecurityDescriptorW -+//sys initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) = advapi32.InitializeSecurityDescriptor -+ -+//sys getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) = advapi32.GetSecurityDescriptorControl -+//sys getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorDacl -+//sys getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorSacl -+//sys getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorOwner -+//sys getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorGroup -+//sys getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) = advapi32.GetSecurityDescriptorLength -+//sys getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) [failretval!=0] = advapi32.GetSecurityDescriptorRMControl -+//sys isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) = advapi32.IsValidSecurityDescriptor -+ -+//sys setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) = advapi32.SetSecurityDescriptorControl -+//sys setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorDacl -+//sys setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorSacl -+//sys setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) = advapi32.SetSecurityDescriptorOwner -+//sys setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) = advapi32.SetSecurityDescriptorGroup -+//sys setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) = advapi32.SetSecurityDescriptorRMControl -+ -+//sys convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) = advapi32.ConvertStringSecurityDescriptorToSecurityDescriptorW -+//sys convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) = advapi32.ConvertSecurityDescriptorToStringSecurityDescriptorW -+ -+//sys makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) = advapi32.MakeAbsoluteSD -+//sys makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) = advapi32.MakeSelfRelativeSD -+ -+//sys setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) = advapi32.SetEntriesInAclW -+ -+// Control returns the security descriptor control bits. -+func (sd *SECURITY_DESCRIPTOR) Control() (control SECURITY_DESCRIPTOR_CONTROL, revision uint32, err error) { -+ err = getSecurityDescriptorControl(sd, &control, &revision) -+ return -+} -+ -+// SetControl sets the security descriptor control bits. -+func (sd *SECURITY_DESCRIPTOR) SetControl(controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) error { -+ return setSecurityDescriptorControl(sd, controlBitsOfInterest, controlBitsToSet) -+} -+ -+// RMControl returns the security descriptor resource manager control bits. -+func (sd *SECURITY_DESCRIPTOR) RMControl() (control uint8, err error) { -+ err = getSecurityDescriptorRMControl(sd, &control) -+ return -+} -+ -+// SetRMControl sets the security descriptor resource manager control bits. -+func (sd *SECURITY_DESCRIPTOR) SetRMControl(rmControl uint8) { -+ setSecurityDescriptorRMControl(sd, &rmControl) -+} -+ -+// DACL returns the security descriptor DACL and whether it was defaulted. The dacl return value may be nil -+// if a DACL exists but is an "empty DACL", meaning fully permissive. If the DACL does not exist, err returns -+// ERROR_OBJECT_NOT_FOUND. -+func (sd *SECURITY_DESCRIPTOR) DACL() (dacl *ACL, defaulted bool, err error) { -+ var present bool -+ err = getSecurityDescriptorDacl(sd, &present, &dacl, &defaulted) -+ if !present { -+ err = ERROR_OBJECT_NOT_FOUND -+ } -+ return -+} -+ -+// SetDACL sets the absolute security descriptor DACL. -+func (absoluteSD *SECURITY_DESCRIPTOR) SetDACL(dacl *ACL, present, defaulted bool) error { -+ return setSecurityDescriptorDacl(absoluteSD, present, dacl, defaulted) -+} -+ -+// SACL returns the security descriptor SACL and whether it was defaulted. The sacl return value may be nil -+// if a SACL exists but is an "empty SACL", meaning fully permissive. If the SACL does not exist, err returns -+// ERROR_OBJECT_NOT_FOUND. -+func (sd *SECURITY_DESCRIPTOR) SACL() (sacl *ACL, defaulted bool, err error) { -+ var present bool -+ err = getSecurityDescriptorSacl(sd, &present, &sacl, &defaulted) -+ if !present { -+ err = ERROR_OBJECT_NOT_FOUND -+ } -+ return -+} -+ -+// SetSACL sets the absolute security descriptor SACL. -+func (absoluteSD *SECURITY_DESCRIPTOR) SetSACL(sacl *ACL, present, defaulted bool) error { -+ return setSecurityDescriptorSacl(absoluteSD, present, sacl, defaulted) -+} -+ -+// Owner returns the security descriptor owner and whether it was defaulted. -+func (sd *SECURITY_DESCRIPTOR) Owner() (owner *SID, defaulted bool, err error) { -+ err = getSecurityDescriptorOwner(sd, &owner, &defaulted) -+ return -+} -+ -+// SetOwner sets the absolute security descriptor owner. -+func (absoluteSD *SECURITY_DESCRIPTOR) SetOwner(owner *SID, defaulted bool) error { -+ return setSecurityDescriptorOwner(absoluteSD, owner, defaulted) -+} -+ -+// Group returns the security descriptor group and whether it was defaulted. -+func (sd *SECURITY_DESCRIPTOR) Group() (group *SID, defaulted bool, err error) { -+ err = getSecurityDescriptorGroup(sd, &group, &defaulted) -+ return -+} -+ -+// SetGroup sets the absolute security descriptor owner. -+func (absoluteSD *SECURITY_DESCRIPTOR) SetGroup(group *SID, defaulted bool) error { -+ return setSecurityDescriptorGroup(absoluteSD, group, defaulted) -+} -+ -+// Length returns the length of the security descriptor. -+func (sd *SECURITY_DESCRIPTOR) Length() uint32 { -+ return getSecurityDescriptorLength(sd) -+} -+ -+// IsValid returns whether the security descriptor is valid. -+func (sd *SECURITY_DESCRIPTOR) IsValid() bool { -+ return isValidSecurityDescriptor(sd) -+} -+ -+// String returns the SDDL form of the security descriptor, with a function signature that can be -+// used with %v formatting directives. -+func (sd *SECURITY_DESCRIPTOR) String() string { -+ var sddl *uint16 -+ err := convertSecurityDescriptorToStringSecurityDescriptor(sd, 1, 0xff, &sddl, nil) -+ if err != nil { -+ return "" -+ } -+ defer LocalFree(Handle(unsafe.Pointer(sddl))) -+ return UTF16ToString((*[(1 << 30) - 1]uint16)(unsafe.Pointer(sddl))[:]) -+} -+ -+// ToAbsolute converts a self-relative security descriptor into an absolute one. -+func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DESCRIPTOR, err error) { -+ control, _, err := selfRelativeSD.Control() -+ if err != nil { -+ return -+ } -+ if control&SE_SELF_RELATIVE == 0 { -+ err = ERROR_INVALID_PARAMETER -+ return -+ } -+ var absoluteSDSize, daclSize, saclSize, ownerSize, groupSize uint32 -+ err = makeAbsoluteSD(selfRelativeSD, nil, &absoluteSDSize, -+ nil, &daclSize, nil, &saclSize, nil, &ownerSize, nil, &groupSize) -+ switch err { -+ case ERROR_INSUFFICIENT_BUFFER: -+ case nil: -+ // makeAbsoluteSD is expected to fail, but it succeeds. -+ return nil, ERROR_INTERNAL_ERROR -+ default: -+ return nil, err -+ } -+ if absoluteSDSize > 0 { -+ absoluteSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, absoluteSDSize)[0])) -+ } -+ var ( -+ dacl *ACL -+ sacl *ACL -+ owner *SID -+ group *SID -+ ) -+ if daclSize > 0 { -+ dacl = (*ACL)(unsafe.Pointer(&make([]byte, daclSize)[0])) -+ } -+ if saclSize > 0 { -+ sacl = (*ACL)(unsafe.Pointer(&make([]byte, saclSize)[0])) -+ } -+ if ownerSize > 0 { -+ owner = (*SID)(unsafe.Pointer(&make([]byte, ownerSize)[0])) -+ } -+ if groupSize > 0 { -+ group = (*SID)(unsafe.Pointer(&make([]byte, groupSize)[0])) -+ } -+ err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize, -+ dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize) -+ return -+} -+ -+// ToSelfRelative converts an absolute security descriptor into a self-relative one. -+func (absoluteSD *SECURITY_DESCRIPTOR) ToSelfRelative() (selfRelativeSD *SECURITY_DESCRIPTOR, err error) { -+ control, _, err := absoluteSD.Control() -+ if err != nil { -+ return -+ } -+ if control&SE_SELF_RELATIVE != 0 { -+ err = ERROR_INVALID_PARAMETER -+ return -+ } -+ var selfRelativeSDSize uint32 -+ err = makeSelfRelativeSD(absoluteSD, nil, &selfRelativeSDSize) -+ switch err { -+ case ERROR_INSUFFICIENT_BUFFER: -+ case nil: -+ // makeSelfRelativeSD is expected to fail, but it succeeds. -+ return nil, ERROR_INTERNAL_ERROR -+ default: -+ return nil, err -+ } -+ if selfRelativeSDSize > 0 { -+ selfRelativeSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, selfRelativeSDSize)[0])) -+ } -+ err = makeSelfRelativeSD(absoluteSD, selfRelativeSD, &selfRelativeSDSize) -+ return -+} -+ -+func (selfRelativeSD *SECURITY_DESCRIPTOR) copySelfRelativeSecurityDescriptor() *SECURITY_DESCRIPTOR { -+ sdBytes := make([]byte, selfRelativeSD.Length()) -+ copy(sdBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(selfRelativeSD))[:len(sdBytes)]) -+ return (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&sdBytes[0])) -+} -+ -+// SecurityDescriptorFromString converts an SDDL string describing a security descriptor into a -+// self-relative security descriptor object allocated on the Go heap. -+func SecurityDescriptorFromString(sddl string) (sd *SECURITY_DESCRIPTOR, err error) { -+ var winHeapSD *SECURITY_DESCRIPTOR -+ err = convertStringSecurityDescriptorToSecurityDescriptor(sddl, 1, &winHeapSD, nil) -+ if err != nil { -+ return -+ } -+ defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) -+ return winHeapSD.copySelfRelativeSecurityDescriptor(), nil -+} -+ -+// GetSecurityInfo queries the security information for a given handle and returns the self-relative security -+// descriptor result on the Go heap. -+func GetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) { -+ var winHeapSD *SECURITY_DESCRIPTOR -+ err = getSecurityInfo(handle, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD) -+ if err != nil { -+ return -+ } -+ defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) -+ return winHeapSD.copySelfRelativeSecurityDescriptor(), nil -+} -+ -+// GetNamedSecurityInfo queries the security information for a given named object and returns the self-relative security -+// descriptor result on the Go heap. -+func GetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) { -+ var winHeapSD *SECURITY_DESCRIPTOR -+ err = getNamedSecurityInfo(objectName, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD) -+ if err != nil { -+ return -+ } -+ defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) -+ return winHeapSD.copySelfRelativeSecurityDescriptor(), nil -+} -+ -+// BuildSecurityDescriptor makes a new security descriptor using the input trustees, explicit access lists, and -+// prior security descriptor to be merged, any of which can be nil, returning the self-relative security descriptor -+// result on the Go heap. -+func BuildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, accessEntries []EXPLICIT_ACCESS, auditEntries []EXPLICIT_ACCESS, mergedSecurityDescriptor *SECURITY_DESCRIPTOR) (sd *SECURITY_DESCRIPTOR, err error) { -+ var winHeapSD *SECURITY_DESCRIPTOR -+ var winHeapSDSize uint32 -+ var firstAccessEntry *EXPLICIT_ACCESS -+ if len(accessEntries) > 0 { -+ firstAccessEntry = &accessEntries[0] -+ } -+ var firstAuditEntry *EXPLICIT_ACCESS -+ if len(auditEntries) > 0 { -+ firstAuditEntry = &auditEntries[0] -+ } -+ err = buildSecurityDescriptor(owner, group, uint32(len(accessEntries)), firstAccessEntry, uint32(len(auditEntries)), firstAuditEntry, mergedSecurityDescriptor, &winHeapSDSize, &winHeapSD) -+ if err != nil { -+ return -+ } -+ defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) -+ return winHeapSD.copySelfRelativeSecurityDescriptor(), nil -+} -+ -+// NewSecurityDescriptor creates and initializes a new absolute security descriptor. -+func NewSecurityDescriptor() (absoluteSD *SECURITY_DESCRIPTOR, err error) { -+ absoluteSD = &SECURITY_DESCRIPTOR{} -+ err = initializeSecurityDescriptor(absoluteSD, 1) -+ return -+} -+ -+// ACLFromEntries returns a new ACL on the Go heap containing a list of explicit entries as well as those of another ACL. -+// Both explicitEntries and mergedACL are optional and can be nil. -+func ACLFromEntries(explicitEntries []EXPLICIT_ACCESS, mergedACL *ACL) (acl *ACL, err error) { -+ var firstExplicitEntry *EXPLICIT_ACCESS -+ if len(explicitEntries) > 0 { -+ firstExplicitEntry = &explicitEntries[0] -+ } -+ var winHeapACL *ACL -+ err = setEntriesInAcl(uint32(len(explicitEntries)), firstExplicitEntry, mergedACL, &winHeapACL) -+ if err != nil { -+ return -+ } -+ defer LocalFree(Handle(unsafe.Pointer(winHeapACL))) -+ aclBytes := make([]byte, winHeapACL.aclSize) -+ copy(aclBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(winHeapACL))[:len(aclBytes)]) -+ return (*ACL)(unsafe.Pointer(&aclBytes[0])), nil -+} -diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go -index abdefc33c..79ce91569 100644 ---- a/vendor/golang.org/x/sys/windows/syscall_windows.go -+++ b/vendor/golang.org/x/sys/windows/syscall_windows.go -@@ -57,6 +57,10 @@ const ( - FILE_VOLUME_IS_COMPRESSED = 0x00008000 - FILE_VOLUME_QUOTAS = 0x00000020 - -+ // Flags for LockFileEx. -+ LOCKFILE_FAIL_IMMEDIATELY = 0x00000001 -+ LOCKFILE_EXCLUSIVE_LOCK = 0x00000002 -+ - // Return values of SleepEx and other APC functions - STATUS_USER_APC = 0x000000C0 - WAIT_IO_COMPLETION = STATUS_USER_APC -@@ -136,6 +140,8 @@ func NewCallbackCDecl(fn interface{}) uintptr { - //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 GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) = kernel32.GetModuleFileNameW -+//sys GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) = kernel32.GetModuleHandleExW - //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) -@@ -160,6 +166,8 @@ func NewCallbackCDecl(fn interface{}) uintptr { - //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 LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) -+//sys UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) - //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) -@@ -173,13 +181,11 @@ func NewCallbackCDecl(fn interface{}) uintptr { - //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(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) --//sys ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) = shell32.ShellExecuteW -+//sys ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) [failretval<=32] = shell32.ShellExecuteW - //sys shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) = shell32.SHGetKnownFolderPath - //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 GetCurrentThread() (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] -@@ -284,6 +290,7 @@ func NewCallbackCDecl(fn interface{}) uintptr { - //sys FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) = FindNextVolumeMountPointW - //sys FindVolumeClose(findVolume Handle) (err error) - //sys FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) -+//sys GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) = GetDiskFreeSpaceExW - //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 -@@ -296,15 +303,54 @@ func NewCallbackCDecl(fn interface{}) uintptr { - //sys SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) = SetVolumeLabelW - //sys SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) = SetVolumeMountPointW - //sys MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW -+//sys ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx -+//sys InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) = advapi32.InitiateSystemShutdownExW -+//sys SetProcessShutdownParameters(level uint32, flags uint32) (err error) = kernel32.SetProcessShutdownParameters -+//sys GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) = kernel32.GetProcessShutdownParameters - //sys clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) = ole32.CLSIDFromString - //sys stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) = ole32.StringFromGUID2 - //sys coCreateGuid(pguid *GUID) (ret error) = ole32.CoCreateGuid - //sys CoTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree - //sys rtlGetVersion(info *OsVersionInfoEx) (ret error) = ntdll.RtlGetVersion - //sys rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers -+//sys getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetProcessPreferredUILanguages -+//sys getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetThreadPreferredUILanguages -+//sys getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetUserPreferredUILanguages -+//sys getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetSystemPreferredUILanguages -+ -+// Process Status API (PSAPI) -+//sys EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) = psapi.EnumProcesses - - // syscall interface implementation for other packages - -+// GetCurrentProcess returns the handle for the current process. -+// It is a pseudo handle that does not need to be closed. -+// The returned error is always nil. -+// -+// Deprecated: use CurrentProcess for the same Handle without the nil -+// error. -+func GetCurrentProcess() (Handle, error) { -+ return CurrentProcess(), nil -+} -+ -+// CurrentProcess returns the handle for the current process. -+// It is a pseudo handle that does not need to be closed. -+func CurrentProcess() Handle { return Handle(^uintptr(1 - 1)) } -+ -+// GetCurrentThread returns the handle for the current thread. -+// It is a pseudo handle that does not need to be closed. -+// The returned error is always nil. -+// -+// Deprecated: use CurrentThread for the same Handle without the nil -+// error. -+func GetCurrentThread() (Handle, error) { -+ return CurrentThread(), nil -+} -+ -+// CurrentThread returns the handle for the current thread. -+// It is a pseudo handle that does not need to be closed. -+func CurrentThread() Handle { return Handle(^uintptr(2 - 1)) } -+ - // GetProcAddressByOrdinal retrieves the address of the exported - // function from module by ordinal. - func GetProcAddressByOrdinal(module Handle, ordinal uintptr) (proc uintptr, err error) { -@@ -371,7 +417,11 @@ func Open(path string, mode int, perm uint32) (fd Handle, err error) { - default: - createmode = OPEN_EXISTING - } -- h, e := CreateFile(pathp, access, sharemode, sa, createmode, FILE_ATTRIBUTE_NORMAL, 0) -+ var attrs uint32 = FILE_ATTRIBUTE_NORMAL -+ if perm&S_IWRITE == 0 { -+ attrs = FILE_ATTRIBUTE_READONLY -+ } -+ h, e := CreateFile(pathp, access, sharemode, sa, createmode, attrs, 0) - return h, e - } - -@@ -818,7 +868,7 @@ func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { - for n < len(pp.Path) && pp.Path[n] != 0 { - n++ - } -- bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) - return sa, nil - -@@ -1332,3 +1382,54 @@ func RtlGetNtVersionNumbers() (majorVersion, minorVersion, buildNumber uint32) { - buildNumber &= 0xffff - return - } -+ -+// GetProcessPreferredUILanguages retrieves the process preferred UI languages. -+func GetProcessPreferredUILanguages(flags uint32) ([]string, error) { -+ return getUILanguages(flags, getProcessPreferredUILanguages) -+} -+ -+// GetThreadPreferredUILanguages retrieves the thread preferred UI languages for the current thread. -+func GetThreadPreferredUILanguages(flags uint32) ([]string, error) { -+ return getUILanguages(flags, getThreadPreferredUILanguages) -+} -+ -+// GetUserPreferredUILanguages retrieves information about the user preferred UI languages. -+func GetUserPreferredUILanguages(flags uint32) ([]string, error) { -+ return getUILanguages(flags, getUserPreferredUILanguages) -+} -+ -+// GetSystemPreferredUILanguages retrieves the system preferred UI languages. -+func GetSystemPreferredUILanguages(flags uint32) ([]string, error) { -+ return getUILanguages(flags, getSystemPreferredUILanguages) -+} -+ -+func getUILanguages(flags uint32, f func(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) error) ([]string, error) { -+ size := uint32(128) -+ for { -+ var numLanguages uint32 -+ buf := make([]uint16, size) -+ err := f(flags, &numLanguages, &buf[0], &size) -+ if err == ERROR_INSUFFICIENT_BUFFER { -+ continue -+ } -+ if err != nil { -+ return nil, err -+ } -+ buf = buf[:size] -+ if numLanguages == 0 || len(buf) == 0 { // GetProcessPreferredUILanguages may return numLanguages==0 with "\0\0" -+ return []string{}, nil -+ } -+ if buf[len(buf)-1] == 0 { -+ buf = buf[:len(buf)-1] // remove terminating null -+ } -+ languages := make([]string, 0, numLanguages) -+ from := 0 -+ for i, c := range buf { -+ if c == 0 { -+ languages = append(languages, string(utf16.Decode(buf[from:i]))) -+ from = i + 1 -+ } -+ } -+ return languages, nil -+ } -+} -diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go -index 1ef80cd71..8dd95a0a6 100644 ---- a/vendor/golang.org/x/sys/windows/types_windows.go -+++ b/vendor/golang.org/x/sys/windows/types_windows.go -@@ -62,11 +62,6 @@ var signals = [...]string{ - } - - 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 -@@ -158,13 +153,6 @@ const ( - WAIT_OBJECT_0 = 0x00000000 - WAIT_FAILED = 0xFFFFFFFF - -- // Standard access rights. -- DELETE = 0x00010000 -- READ_CONTROL = 0x00020000 -- SYNCHRONIZE = 0x00100000 -- WRITE_DAC = 0x00040000 -- WRITE_OWNER = 0x00080000 -- - // Access rights for process. - PROCESS_CREATE_PROCESS = 0x0080 - PROCESS_CREATE_THREAD = 0x0002 -@@ -483,12 +471,6 @@ func NsecToTimeval(nsec int64) (tv Timeval) { - return - } - --type SecurityAttributes struct { -- Length uint32 -- SecurityDescriptor uintptr -- InheritHandle uint32 --} -- - type Overlapped struct { - Internal uintptr - InternalHigh uintptr -@@ -1688,3 +1670,108 @@ type OsVersionInfoEx struct { - ProductType byte - _ byte - } -+ -+const ( -+ EWX_LOGOFF = 0x00000000 -+ EWX_SHUTDOWN = 0x00000001 -+ EWX_REBOOT = 0x00000002 -+ EWX_FORCE = 0x00000004 -+ EWX_POWEROFF = 0x00000008 -+ EWX_FORCEIFHUNG = 0x00000010 -+ EWX_QUICKRESOLVE = 0x00000020 -+ EWX_RESTARTAPPS = 0x00000040 -+ EWX_HYBRID_SHUTDOWN = 0x00400000 -+ EWX_BOOTOPTIONS = 0x01000000 -+ -+ SHTDN_REASON_FLAG_COMMENT_REQUIRED = 0x01000000 -+ SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED = 0x02000000 -+ SHTDN_REASON_FLAG_CLEAN_UI = 0x04000000 -+ SHTDN_REASON_FLAG_DIRTY_UI = 0x08000000 -+ SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000 -+ SHTDN_REASON_FLAG_PLANNED = 0x80000000 -+ SHTDN_REASON_MAJOR_OTHER = 0x00000000 -+ SHTDN_REASON_MAJOR_NONE = 0x00000000 -+ SHTDN_REASON_MAJOR_HARDWARE = 0x00010000 -+ SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000 -+ SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000 -+ SHTDN_REASON_MAJOR_APPLICATION = 0x00040000 -+ SHTDN_REASON_MAJOR_SYSTEM = 0x00050000 -+ SHTDN_REASON_MAJOR_POWER = 0x00060000 -+ SHTDN_REASON_MAJOR_LEGACY_API = 0x00070000 -+ SHTDN_REASON_MINOR_OTHER = 0x00000000 -+ SHTDN_REASON_MINOR_NONE = 0x000000ff -+ SHTDN_REASON_MINOR_MAINTENANCE = 0x00000001 -+ SHTDN_REASON_MINOR_INSTALLATION = 0x00000002 -+ SHTDN_REASON_MINOR_UPGRADE = 0x00000003 -+ SHTDN_REASON_MINOR_RECONFIG = 0x00000004 -+ SHTDN_REASON_MINOR_HUNG = 0x00000005 -+ SHTDN_REASON_MINOR_UNSTABLE = 0x00000006 -+ SHTDN_REASON_MINOR_DISK = 0x00000007 -+ SHTDN_REASON_MINOR_PROCESSOR = 0x00000008 -+ SHTDN_REASON_MINOR_NETWORKCARD = 0x00000009 -+ SHTDN_REASON_MINOR_POWER_SUPPLY = 0x0000000a -+ SHTDN_REASON_MINOR_CORDUNPLUGGED = 0x0000000b -+ SHTDN_REASON_MINOR_ENVIRONMENT = 0x0000000c -+ SHTDN_REASON_MINOR_HARDWARE_DRIVER = 0x0000000d -+ SHTDN_REASON_MINOR_OTHERDRIVER = 0x0000000e -+ SHTDN_REASON_MINOR_BLUESCREEN = 0x0000000F -+ SHTDN_REASON_MINOR_SERVICEPACK = 0x00000010 -+ SHTDN_REASON_MINOR_HOTFIX = 0x00000011 -+ SHTDN_REASON_MINOR_SECURITYFIX = 0x00000012 -+ SHTDN_REASON_MINOR_SECURITY = 0x00000013 -+ SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY = 0x00000014 -+ SHTDN_REASON_MINOR_WMI = 0x00000015 -+ SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL = 0x00000016 -+ SHTDN_REASON_MINOR_HOTFIX_UNINSTALL = 0x00000017 -+ SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL = 0x00000018 -+ SHTDN_REASON_MINOR_MMC = 0x00000019 -+ SHTDN_REASON_MINOR_SYSTEMRESTORE = 0x0000001a -+ SHTDN_REASON_MINOR_TERMSRV = 0x00000020 -+ SHTDN_REASON_MINOR_DC_PROMOTION = 0x00000021 -+ SHTDN_REASON_MINOR_DC_DEMOTION = 0x00000022 -+ SHTDN_REASON_UNKNOWN = SHTDN_REASON_MINOR_NONE -+ SHTDN_REASON_LEGACY_API = SHTDN_REASON_MAJOR_LEGACY_API | SHTDN_REASON_FLAG_PLANNED -+ SHTDN_REASON_VALID_BIT_MASK = 0xc0ffffff -+ -+ SHUTDOWN_NORETRY = 0x1 -+) -+ -+// Flags used for GetModuleHandleEx -+const ( -+ GET_MODULE_HANDLE_EX_FLAG_PIN = 1 -+ GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2 -+ GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4 -+) -+ -+// MUI function flag values -+const ( -+ MUI_LANGUAGE_ID = 0x4 -+ MUI_LANGUAGE_NAME = 0x8 -+ MUI_MERGE_SYSTEM_FALLBACK = 0x10 -+ MUI_MERGE_USER_FALLBACK = 0x20 -+ MUI_UI_FALLBACK = MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK -+ MUI_THREAD_LANGUAGES = 0x40 -+ MUI_CONSOLE_FILTER = 0x100 -+ MUI_COMPLEX_SCRIPT_FILTER = 0x200 -+ MUI_RESET_FILTERS = 0x001 -+ MUI_USER_PREFERRED_UI_LANGUAGES = 0x10 -+ MUI_USE_INSTALLED_LANGUAGES = 0x20 -+ MUI_USE_SEARCH_ALL_LANGUAGES = 0x40 -+ MUI_LANG_NEUTRAL_PE_FILE = 0x100 -+ MUI_NON_LANG_NEUTRAL_FILE = 0x200 -+ MUI_MACHINE_LANGUAGE_SETTINGS = 0x400 -+ MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL = 0x001 -+ MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN = 0x002 -+ MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI = 0x004 -+ MUI_QUERY_TYPE = 0x001 -+ MUI_QUERY_CHECKSUM = 0x002 -+ MUI_QUERY_LANGUAGE_NAME = 0x004 -+ MUI_QUERY_RESOURCE_TYPES = 0x008 -+ MUI_FILEINFO_VERSION = 0x001 -+ -+ MUI_FULL_LANGUAGE = 0x01 -+ MUI_PARTIAL_LANGUAGE = 0x02 -+ MUI_LIP_LANGUAGE = 0x04 -+ MUI_LANGUAGE_INSTALLED = 0x20 -+ MUI_LANGUAGE_LICENSED = 0x40 -+) -diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go -index 9c448be31..7bed68b2d 100644 ---- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go -+++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go -@@ -44,6 +44,7 @@ var ( - moduser32 = NewLazySystemDLL("user32.dll") - modole32 = NewLazySystemDLL("ole32.dll") - modntdll = NewLazySystemDLL("ntdll.dll") -+ modpsapi = NewLazySystemDLL("psapi.dll") - modws2_32 = NewLazySystemDLL("ws2_32.dll") - moddnsapi = NewLazySystemDLL("dnsapi.dll") - modiphlpapi = NewLazySystemDLL("iphlpapi.dll") -@@ -51,269 +52,306 @@ var ( - modnetapi32 = NewLazySystemDLL("netapi32.dll") - modwtsapi32 = NewLazySystemDLL("wtsapi32.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") -- procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW") -- 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") -- procNotifyServiceStatusChangeW = modadvapi32.NewProc("NotifyServiceStatusChangeW") -- 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") -- procIsWow64Process = modkernel32.NewProc("IsWow64Process") -- procCreateFileW = modkernel32.NewProc("CreateFileW") -- procReadFile = modkernel32.NewProc("ReadFile") -- procWriteFile = modkernel32.NewProc("WriteFile") -- procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult") -- 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") -- procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx") -- 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") -- procShellExecuteW = modshell32.NewProc("ShellExecuteW") -- procSHGetKnownFolderPath = modshell32.NewProc("SHGetKnownFolderPath") -- procTerminateProcess = modkernel32.NewProc("TerminateProcess") -- procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") -- procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") -- procGetCurrentProcess = modkernel32.NewProc("GetCurrentProcess") -- procGetCurrentThread = modkernel32.NewProc("GetCurrentThread") -- 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") -- procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") -- procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") -- procGetTickCount64 = modkernel32.NewProc("GetTickCount64") -- 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") -- procThread32First = modkernel32.NewProc("Thread32First") -- procThread32Next = modkernel32.NewProc("Thread32Next") -- 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") -- procCreateMutexW = modkernel32.NewProc("CreateMutexW") -- procCreateMutexExW = modkernel32.NewProc("CreateMutexExW") -- procOpenMutexW = modkernel32.NewProc("OpenMutexW") -- procReleaseMutex = modkernel32.NewProc("ReleaseMutex") -- procSleepEx = modkernel32.NewProc("SleepEx") -- procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW") -- procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") -- procTerminateJobObject = modkernel32.NewProc("TerminateJobObject") -- procSetErrorMode = modkernel32.NewProc("SetErrorMode") -- procResumeThread = modkernel32.NewProc("ResumeThread") -- procSetPriorityClass = modkernel32.NewProc("SetPriorityClass") -- procGetPriorityClass = modkernel32.NewProc("GetPriorityClass") -- procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject") -- procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") -- procGetProcessId = modkernel32.NewProc("GetProcessId") -- procOpenThread = modkernel32.NewProc("OpenThread") -- procSetProcessPriorityBoost = modkernel32.NewProc("SetProcessPriorityBoost") -- 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") -- procMessageBoxW = moduser32.NewProc("MessageBoxW") -- procCLSIDFromString = modole32.NewProc("CLSIDFromString") -- procStringFromGUID2 = modole32.NewProc("StringFromGUID2") -- procCoCreateGuid = modole32.NewProc("CoCreateGuid") -- procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") -- procRtlGetVersion = modntdll.NewProc("RtlGetVersion") -- procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers") -- 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") -- procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") -- procIsWellKnownSid = modadvapi32.NewProc("IsWellKnownSid") -- procFreeSid = modadvapi32.NewProc("FreeSid") -- procEqualSid = modadvapi32.NewProc("EqualSid") -- procGetSidIdentifierAuthority = modadvapi32.NewProc("GetSidIdentifierAuthority") -- procGetSidSubAuthorityCount = modadvapi32.NewProc("GetSidSubAuthorityCount") -- procGetSidSubAuthority = modadvapi32.NewProc("GetSidSubAuthority") -- procIsValidSid = modadvapi32.NewProc("IsValidSid") -- procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership") -- procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") -- procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") -- procImpersonateSelf = modadvapi32.NewProc("ImpersonateSelf") -- procRevertToSelf = modadvapi32.NewProc("RevertToSelf") -- procSetThreadToken = modadvapi32.NewProc("SetThreadToken") -- procLookupPrivilegeValueW = modadvapi32.NewProc("LookupPrivilegeValueW") -- procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges") -- procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups") -- procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") -- procSetTokenInformation = modadvapi32.NewProc("SetTokenInformation") -- procDuplicateTokenEx = modadvapi32.NewProc("DuplicateTokenEx") -- procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") -- procGetSystemDirectoryW = modkernel32.NewProc("GetSystemDirectoryW") -- procGetWindowsDirectoryW = modkernel32.NewProc("GetWindowsDirectoryW") -- procGetSystemWindowsDirectoryW = modkernel32.NewProc("GetSystemWindowsDirectoryW") -- procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") -- procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") -- procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") -+ 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") -+ procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW") -+ 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") -+ procNotifyServiceStatusChangeW = modadvapi32.NewProc("NotifyServiceStatusChangeW") -+ procGetLastError = modkernel32.NewProc("GetLastError") -+ procLoadLibraryW = modkernel32.NewProc("LoadLibraryW") -+ procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW") -+ procFreeLibrary = modkernel32.NewProc("FreeLibrary") -+ procGetProcAddress = modkernel32.NewProc("GetProcAddress") -+ procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW") -+ procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW") -+ procGetVersion = modkernel32.NewProc("GetVersion") -+ procFormatMessageW = modkernel32.NewProc("FormatMessageW") -+ procExitProcess = modkernel32.NewProc("ExitProcess") -+ procIsWow64Process = modkernel32.NewProc("IsWow64Process") -+ procCreateFileW = modkernel32.NewProc("CreateFileW") -+ procReadFile = modkernel32.NewProc("ReadFile") -+ procWriteFile = modkernel32.NewProc("WriteFile") -+ procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult") -+ 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") -+ procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx") -+ 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") -+ procLockFileEx = modkernel32.NewProc("LockFileEx") -+ procUnlockFileEx = modkernel32.NewProc("UnlockFileEx") -+ 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") -+ procShellExecuteW = modshell32.NewProc("ShellExecuteW") -+ procSHGetKnownFolderPath = modshell32.NewProc("SHGetKnownFolderPath") -+ procTerminateProcess = modkernel32.NewProc("TerminateProcess") -+ procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") -+ procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") -+ 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") -+ procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") -+ procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") -+ procGetTickCount64 = modkernel32.NewProc("GetTickCount64") -+ 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") -+ procThread32First = modkernel32.NewProc("Thread32First") -+ procThread32Next = modkernel32.NewProc("Thread32Next") -+ 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") -+ procCreateMutexW = modkernel32.NewProc("CreateMutexW") -+ procCreateMutexExW = modkernel32.NewProc("CreateMutexExW") -+ procOpenMutexW = modkernel32.NewProc("OpenMutexW") -+ procReleaseMutex = modkernel32.NewProc("ReleaseMutex") -+ procSleepEx = modkernel32.NewProc("SleepEx") -+ procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW") -+ procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") -+ procTerminateJobObject = modkernel32.NewProc("TerminateJobObject") -+ procSetErrorMode = modkernel32.NewProc("SetErrorMode") -+ procResumeThread = modkernel32.NewProc("ResumeThread") -+ procSetPriorityClass = modkernel32.NewProc("SetPriorityClass") -+ procGetPriorityClass = modkernel32.NewProc("GetPriorityClass") -+ procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject") -+ procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") -+ procGetProcessId = modkernel32.NewProc("GetProcessId") -+ procOpenThread = modkernel32.NewProc("OpenThread") -+ procSetProcessPriorityBoost = modkernel32.NewProc("SetProcessPriorityBoost") -+ 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") -+ procGetDiskFreeSpaceExW = modkernel32.NewProc("GetDiskFreeSpaceExW") -+ 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") -+ procMessageBoxW = moduser32.NewProc("MessageBoxW") -+ procExitWindowsEx = moduser32.NewProc("ExitWindowsEx") -+ procInitiateSystemShutdownExW = modadvapi32.NewProc("InitiateSystemShutdownExW") -+ procSetProcessShutdownParameters = modkernel32.NewProc("SetProcessShutdownParameters") -+ procGetProcessShutdownParameters = modkernel32.NewProc("GetProcessShutdownParameters") -+ procCLSIDFromString = modole32.NewProc("CLSIDFromString") -+ procStringFromGUID2 = modole32.NewProc("StringFromGUID2") -+ procCoCreateGuid = modole32.NewProc("CoCreateGuid") -+ procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") -+ procRtlGetVersion = modntdll.NewProc("RtlGetVersion") -+ procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers") -+ procGetProcessPreferredUILanguages = modkernel32.NewProc("GetProcessPreferredUILanguages") -+ procGetThreadPreferredUILanguages = modkernel32.NewProc("GetThreadPreferredUILanguages") -+ procGetUserPreferredUILanguages = modkernel32.NewProc("GetUserPreferredUILanguages") -+ procGetSystemPreferredUILanguages = modkernel32.NewProc("GetSystemPreferredUILanguages") -+ procEnumProcesses = modpsapi.NewProc("EnumProcesses") -+ 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") -+ procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") -+ procIsWellKnownSid = modadvapi32.NewProc("IsWellKnownSid") -+ procFreeSid = modadvapi32.NewProc("FreeSid") -+ procEqualSid = modadvapi32.NewProc("EqualSid") -+ procGetSidIdentifierAuthority = modadvapi32.NewProc("GetSidIdentifierAuthority") -+ procGetSidSubAuthorityCount = modadvapi32.NewProc("GetSidSubAuthorityCount") -+ procGetSidSubAuthority = modadvapi32.NewProc("GetSidSubAuthority") -+ procIsValidSid = modadvapi32.NewProc("IsValidSid") -+ procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership") -+ procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") -+ procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") -+ procImpersonateSelf = modadvapi32.NewProc("ImpersonateSelf") -+ procRevertToSelf = modadvapi32.NewProc("RevertToSelf") -+ procSetThreadToken = modadvapi32.NewProc("SetThreadToken") -+ procLookupPrivilegeValueW = modadvapi32.NewProc("LookupPrivilegeValueW") -+ procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges") -+ procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups") -+ procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") -+ procSetTokenInformation = modadvapi32.NewProc("SetTokenInformation") -+ procDuplicateTokenEx = modadvapi32.NewProc("DuplicateTokenEx") -+ procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") -+ procGetSystemDirectoryW = modkernel32.NewProc("GetSystemDirectoryW") -+ procGetWindowsDirectoryW = modkernel32.NewProc("GetWindowsDirectoryW") -+ procGetSystemWindowsDirectoryW = modkernel32.NewProc("GetSystemWindowsDirectoryW") -+ procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") -+ procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") -+ procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") -+ procGetSecurityInfo = modadvapi32.NewProc("GetSecurityInfo") -+ procSetSecurityInfo = modadvapi32.NewProc("SetSecurityInfo") -+ procGetNamedSecurityInfoW = modadvapi32.NewProc("GetNamedSecurityInfoW") -+ procSetNamedSecurityInfoW = modadvapi32.NewProc("SetNamedSecurityInfoW") -+ procBuildSecurityDescriptorW = modadvapi32.NewProc("BuildSecurityDescriptorW") -+ procInitializeSecurityDescriptor = modadvapi32.NewProc("InitializeSecurityDescriptor") -+ procGetSecurityDescriptorControl = modadvapi32.NewProc("GetSecurityDescriptorControl") -+ procGetSecurityDescriptorDacl = modadvapi32.NewProc("GetSecurityDescriptorDacl") -+ procGetSecurityDescriptorSacl = modadvapi32.NewProc("GetSecurityDescriptorSacl") -+ procGetSecurityDescriptorOwner = modadvapi32.NewProc("GetSecurityDescriptorOwner") -+ procGetSecurityDescriptorGroup = modadvapi32.NewProc("GetSecurityDescriptorGroup") -+ procGetSecurityDescriptorLength = modadvapi32.NewProc("GetSecurityDescriptorLength") -+ procGetSecurityDescriptorRMControl = modadvapi32.NewProc("GetSecurityDescriptorRMControl") -+ procIsValidSecurityDescriptor = modadvapi32.NewProc("IsValidSecurityDescriptor") -+ procSetSecurityDescriptorControl = modadvapi32.NewProc("SetSecurityDescriptorControl") -+ procSetSecurityDescriptorDacl = modadvapi32.NewProc("SetSecurityDescriptorDacl") -+ procSetSecurityDescriptorSacl = modadvapi32.NewProc("SetSecurityDescriptorSacl") -+ procSetSecurityDescriptorOwner = modadvapi32.NewProc("SetSecurityDescriptorOwner") -+ procSetSecurityDescriptorGroup = modadvapi32.NewProc("SetSecurityDescriptorGroup") -+ procSetSecurityDescriptorRMControl = modadvapi32.NewProc("SetSecurityDescriptorRMControl") -+ procConvertStringSecurityDescriptorToSecurityDescriptorW = modadvapi32.NewProc("ConvertStringSecurityDescriptorToSecurityDescriptorW") -+ procConvertSecurityDescriptorToStringSecurityDescriptorW = modadvapi32.NewProc("ConvertSecurityDescriptorToStringSecurityDescriptorW") -+ procMakeAbsoluteSD = modadvapi32.NewProc("MakeAbsoluteSD") -+ procMakeSelfRelativeSD = modadvapi32.NewProc("MakeSelfRelativeSD") -+ procSetEntriesInAclW = modadvapi32.NewProc("SetEntriesInAclW") - ) - - func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) { -@@ -654,6 +692,31 @@ func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { - return - } - -+func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) { -+ r0, _, e1 := syscall.Syscall(procGetModuleFileNameW.Addr(), 3, uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) -+ n = uint32(r0) -+ if n == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) { -+ r1, _, e1 := syscall.Syscall(procGetModuleHandleExW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module))) -+ if r1 == 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) -@@ -690,7 +753,14 @@ func ExitProcess(exitcode uint32) { - } - - func IsWow64Process(handle Handle, isWow64 *bool) (err error) { -- r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(isWow64)), 0) -+ var _p0 uint32 -+ if *isWow64 { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(&_p0)), 0) -+ *isWow64 = _p0 != 0 - if r1 == 0 { - if e1 != 0 { - err = errnoErr(e1) -@@ -960,6 +1030,30 @@ func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { - return - } - -+func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { -+ r1, _, e1 := syscall.Syscall6(procLockFileEx.Addr(), 6, uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { -+ r1, _, e1 := syscall.Syscall6(procUnlockFileEx.Addr(), 5, uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)), 0) -+ 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 { -@@ -1119,7 +1213,7 @@ func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (ha - - func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { - r1, _, e1 := syscall.Syscall6(procShellExecuteW.Addr(), 6, uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) -- if r1 == 0 { -+ if r1 <= 32 { - if e1 != 0 { - err = errnoErr(e1) - } else { -@@ -1173,32 +1267,6 @@ func GetStartupInfo(startupInfo *StartupInfo) (err error) { - 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 GetCurrentThread() (pseudoHandle Handle, err error) { -- r0, _, e1 := syscall.Syscall(procGetCurrentThread.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 { -@@ -2442,6 +2510,18 @@ func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { - return - } - -+func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) { -+ r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 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) -@@ -2584,6 +2664,66 @@ func MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret - return - } - -+func ExitWindowsEx(flags uint32, reason uint32) (err error) { -+ r1, _, e1 := syscall.Syscall(procExitWindowsEx.Addr(), 2, uintptr(flags), uintptr(reason), 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) { -+ var _p0 uint32 -+ if forceAppsClosed { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ var _p1 uint32 -+ if rebootAfterShutdown { -+ _p1 = 1 -+ } else { -+ _p1 = 0 -+ } -+ r1, _, e1 := syscall.Syscall6(procInitiateSystemShutdownExW.Addr(), 6, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason)) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { -+ r1, _, e1 := syscall.Syscall(procSetProcessShutdownParameters.Addr(), 2, uintptr(level), uintptr(flags), 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall(procGetProcessShutdownParameters.Addr(), 2, uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags)), 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ - func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { - r0, _, _ := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0) - if r0 != 0 { -@@ -2624,6 +2764,70 @@ func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNum - return - } - -+func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall6(procGetProcessPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall6(procGetThreadPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall6(procGetUserPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall6(procGetSystemPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { -+ var _p0 *uint32 -+ if len(processIds) > 0 { -+ _p0 = &processIds[0] -+ } -+ r1, _, e1 := syscall.Syscall(procEnumProcesses.Addr(), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(processIds)), uintptr(unsafe.Pointer(bytesReturned))) -+ 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 { -@@ -3455,3 +3659,358 @@ func WTSFreeMemory(ptr uintptr) { - syscall.Syscall(procWTSFreeMemory.Addr(), 1, uintptr(ptr), 0, 0) - return - } -+ -+func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { -+ r0, _, _ := syscall.Syscall9(procGetSecurityInfo.Addr(), 8, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) -+ if r0 != 0 { -+ ret = syscall.Errno(r0) -+ } -+ return -+} -+ -+func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) { -+ syscall.Syscall9(procSetSecurityInfo.Addr(), 7, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) -+ return -+} -+ -+func getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { -+ var _p0 *uint16 -+ _p0, ret = syscall.UTF16PtrFromString(objectName) -+ if ret != nil { -+ return -+ } -+ return _getNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl, sd) -+} -+ -+func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { -+ r0, _, _ := syscall.Syscall9(procGetNamedSecurityInfoW.Addr(), 8, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) -+ if r0 != 0 { -+ ret = syscall.Errno(r0) -+ } -+ return -+} -+ -+func SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { -+ var _p0 *uint16 -+ _p0, ret = syscall.UTF16PtrFromString(objectName) -+ if ret != nil { -+ return -+ } -+ return _SetNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl) -+} -+ -+func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { -+ r0, _, _ := syscall.Syscall9(procSetNamedSecurityInfoW.Addr(), 7, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) -+ if r0 != 0 { -+ ret = syscall.Errno(r0) -+ } -+ return -+} -+ -+func buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) { -+ r0, _, _ := syscall.Syscall9(procBuildSecurityDescriptorW.Addr(), 9, uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(countAccessEntries), uintptr(unsafe.Pointer(accessEntries)), uintptr(countAuditEntries), uintptr(unsafe.Pointer(auditEntries)), uintptr(unsafe.Pointer(oldSecurityDescriptor)), uintptr(unsafe.Pointer(sizeNewSecurityDescriptor)), uintptr(unsafe.Pointer(newSecurityDescriptor))) -+ if r0 != 0 { -+ ret = syscall.Errno(r0) -+ } -+ return -+} -+ -+func initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) { -+ r1, _, e1 := syscall.Syscall(procInitializeSecurityDescriptor.Addr(), 2, uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision), 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision))) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) { -+ var _p0 uint32 -+ if *daclPresent { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ var _p1 uint32 -+ if *daclDefaulted { -+ _p1 = 1 -+ } else { -+ _p1 = 0 -+ } -+ r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) -+ *daclPresent = _p0 != 0 -+ *daclDefaulted = _p1 != 0 -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) { -+ var _p0 uint32 -+ if *saclPresent { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ var _p1 uint32 -+ if *saclDefaulted { -+ _p1 = 1 -+ } else { -+ _p1 = 0 -+ } -+ r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) -+ *saclPresent = _p0 != 0 -+ *saclDefaulted = _p1 != 0 -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) { -+ var _p0 uint32 -+ if *ownerDefaulted { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0))) -+ *ownerDefaulted = _p0 != 0 -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) { -+ var _p0 uint32 -+ if *groupDefaulted { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0))) -+ *groupDefaulted = _p0 != 0 -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) { -+ r0, _, _ := syscall.Syscall(procGetSecurityDescriptorLength.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) -+ len = uint32(r0) -+ return -+} -+ -+func getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) { -+ r0, _, _ := syscall.Syscall(procGetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) -+ if r0 != 0 { -+ ret = syscall.Errno(r0) -+ } -+ return -+} -+ -+func isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) { -+ r0, _, _ := syscall.Syscall(procIsValidSecurityDescriptor.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) -+ isValid = r0 != 0 -+ return -+} -+ -+func setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) { -+ r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet)) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) { -+ var _p0 uint32 -+ if daclPresent { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ var _p1 uint32 -+ if daclDefaulted { -+ _p1 = 1 -+ } else { -+ _p1 = 0 -+ } -+ r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1), 0, 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) { -+ var _p0 uint32 -+ if saclPresent { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ var _p1 uint32 -+ if saclDefaulted { -+ _p1 = 1 -+ } else { -+ _p1 = 0 -+ } -+ r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1), 0, 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) { -+ var _p0 uint32 -+ if ownerDefaulted { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0)) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) { -+ var _p0 uint32 -+ if groupDefaulted { -+ _p0 = 1 -+ } else { -+ _p0 = 0 -+ } -+ r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0)) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) { -+ syscall.Syscall(procSetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) -+ return -+} -+ -+func convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { -+ var _p0 *uint16 -+ _p0, err = syscall.UTF16PtrFromString(str) -+ if err != nil { -+ return -+ } -+ return _convertStringSecurityDescriptorToSecurityDescriptor(_p0, revision, sd, size) -+} -+ -+func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall6(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), 4, uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size)), 0, 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall6(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), 5, uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen)), 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall12(procMakeAbsoluteSD.Addr(), 11, uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(absoluteSDSize)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(daclSize)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(saclSize)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(ownerSize)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(groupSize)), 0) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) { -+ r1, _, e1 := syscall.Syscall(procMakeSelfRelativeSD.Addr(), 3, uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize))) -+ if r1 == 0 { -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } else { -+ err = syscall.EINVAL -+ } -+ } -+ return -+} -+ -+func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) { -+ r0, _, _ := syscall.Syscall6(procSetEntriesInAclW.Addr(), 4, uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL)), 0, 0) -+ if r0 != 0 { -+ ret = syscall.Errno(r0) -+ } -+ return -+} -diff --git a/vendor/gopkg.in/square/go-jose.v2/.gitcookies.sh.enc b/vendor/gopkg.in/square/go-jose.v2/.gitcookies.sh.enc -new file mode 100644 -index 000000000..730e569b0 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/.gitcookies.sh.enc -@@ -0,0 +1 @@ -+'|�&{t�U|gG�(�Cy=+���c�:u:/p�#~��["�4�!�n�A�DK<�uf�h�a��:�����B/�ؤ���_�h��S�T*w�x����-�|���Ӄ�����㣗A$$�6���G)8n�p��ˡ3̚�o��v�B�3��]xݓ�2l�G�|qRޯ �2 5R����$��Y��ݙl�˫yAI"ی���û��k�|K��[9����=�����|@S�3 �#�x?�V�,��S����wP�og�6&V6 �D.dB� 7 -\ No newline at end of file -diff --git a/vendor/gopkg.in/square/go-jose.v2/.gitignore b/vendor/gopkg.in/square/go-jose.v2/.gitignore -new file mode 100644 -index 000000000..5b4d73b68 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/.gitignore -@@ -0,0 +1,7 @@ -+*~ -+.*.swp -+*.out -+*.test -+*.pem -+*.cov -+jose-util/jose-util -diff --git a/vendor/gopkg.in/square/go-jose.v2/.travis.yml b/vendor/gopkg.in/square/go-jose.v2/.travis.yml -new file mode 100644 -index 000000000..fc501ca9b ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/.travis.yml -@@ -0,0 +1,46 @@ -+language: go -+ -+sudo: false -+ -+matrix: -+ fast_finish: true -+ allow_failures: -+ - go: tip -+ -+go: -+- '1.7.x' -+- '1.8.x' -+- '1.9.x' -+- '1.10.x' -+- '1.11.x' -+ -+go_import_path: gopkg.in/square/go-jose.v2 -+ -+before_script: -+- export PATH=$HOME/.local/bin:$PATH -+ -+before_install: -+# Install encrypted gitcookies to get around bandwidth-limits -+# that is causing Travis-CI builds to fail. For more info, see -+# https://github.com/golang/go/issues/12933 -+- openssl aes-256-cbc -K $encrypted_1528c3c2cafd_key -iv $encrypted_1528c3c2cafd_iv -in .gitcookies.sh.enc -out .gitcookies.sh -d || true -+- bash .gitcookies.sh || true -+- go get github.com/wadey/gocovmerge -+- go get github.com/mattn/goveralls -+- go get github.com/stretchr/testify/assert -+- go get golang.org/x/tools/cmd/cover || true -+- go get code.google.com/p/go.tools/cmd/cover || true -+- pip install cram --user -+ -+script: -+- go test . -v -covermode=count -coverprofile=profile.cov -+- go test ./cipher -v -covermode=count -coverprofile=cipher/profile.cov -+- go test ./jwt -v -covermode=count -coverprofile=jwt/profile.cov -+- go test ./json -v # no coverage for forked encoding/json package -+- cd jose-util && go build && PATH=$PWD:$PATH cram -v jose-util.t -+- cd .. -+ -+after_success: -+- gocovmerge *.cov */*.cov > merged.coverprofile -+- $HOME/gopath/bin/goveralls -coverprofile merged.coverprofile -service=travis-ci -+ -diff --git a/vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md b/vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md -new file mode 100644 -index 000000000..3305db0f6 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md -@@ -0,0 +1,10 @@ -+Serious about security -+====================== -+ -+Square recognizes the important contributions the security research community -+can make. We therefore encourage reporting security issues with the code -+contained in this repository. -+ -+If you believe you have discovered a security vulnerability, please follow the -+guidelines at . -+ -diff --git a/vendor/gopkg.in/square/go-jose.v2/CONTRIBUTING.md b/vendor/gopkg.in/square/go-jose.v2/CONTRIBUTING.md -new file mode 100644 -index 000000000..61b183651 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/CONTRIBUTING.md -@@ -0,0 +1,14 @@ -+# Contributing -+ -+If you would like to contribute code to go-jose you can do so through GitHub by -+forking the repository and sending a pull request. -+ -+When submitting code, please make every effort to follow existing conventions -+and style in order to keep the code as readable as possible. Please also make -+sure all tests pass by running `go test`, and format your code with `go fmt`. -+We also recommend using `golint` and `errcheck`. -+ -+Before your code can be accepted into the project you must also sign the -+[Individual Contributor License Agreement][1]. -+ -+ [1]: https://spreadsheets.google.com/spreadsheet/viewform?formkey=dDViT2xzUHAwRkI3X3k5Z0lQM091OGc6MQ&ndplr=1 -diff --git a/vendor/gopkg.in/square/go-jose.v2/LICENSE b/vendor/gopkg.in/square/go-jose.v2/LICENSE -new file mode 100644 -index 000000000..d64569567 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/LICENSE -@@ -0,0 +1,202 @@ -+ -+ 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. -+ -+ END OF TERMS AND CONDITIONS -+ -+ APPENDIX: How to apply the Apache License to your work. -+ -+ To apply the Apache License to your work, attach the following -+ boilerplate notice, with the fields enclosed by brackets "[]" -+ replaced with your own identifying information. (Don't include -+ the brackets!) The text should be enclosed in the appropriate -+ comment syntax for the file format. We also recommend that a -+ file or class name and description of purpose be included on the -+ same "printed page" as the copyright notice for easier -+ identification within third-party archives. -+ -+ Copyright [yyyy] [name of copyright owner] -+ -+ 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/gopkg.in/square/go-jose.v2/README.md b/vendor/gopkg.in/square/go-jose.v2/README.md -new file mode 100644 -index 000000000..1791bfa8f ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/README.md -@@ -0,0 +1,118 @@ -+# Go JOSE -+ -+[![godoc](http://img.shields.io/badge/godoc-version_1-blue.svg?style=flat)](https://godoc.org/gopkg.in/square/go-jose.v1) -+[![godoc](http://img.shields.io/badge/godoc-version_2-blue.svg?style=flat)](https://godoc.org/gopkg.in/square/go-jose.v2) -+[![license](http://img.shields.io/badge/license-apache_2.0-blue.svg?style=flat)](https://raw.githubusercontent.com/square/go-jose/master/LICENSE) -+[![build](https://travis-ci.org/square/go-jose.svg?branch=v2)](https://travis-ci.org/square/go-jose) -+[![coverage](https://coveralls.io/repos/github/square/go-jose/badge.svg?branch=v2)](https://coveralls.io/r/square/go-jose) -+ -+Package jose aims to provide an implementation of the Javascript Object Signing -+and Encryption set of standards. This includes support for JSON Web Encryption, -+JSON Web Signature, and JSON Web Token standards. -+ -+**Disclaimer**: This library contains encryption software that is subject to -+the U.S. Export Administration Regulations. You may not export, re-export, -+transfer or download this code or any part of it in violation of any United -+States law, directive or regulation. In particular this software may not be -+exported or re-exported in any form or on any media to Iran, North Sudan, -+Syria, Cuba, or North Korea, or to denied persons or entities mentioned on any -+US maintained blocked list. -+ -+## Overview -+ -+The implementation follows the -+[JSON Web Encryption](http://dx.doi.org/10.17487/RFC7516) (RFC 7516), -+[JSON Web Signature](http://dx.doi.org/10.17487/RFC7515) (RFC 7515), and -+[JSON Web Token](http://dx.doi.org/10.17487/RFC7519) (RFC 7519). -+Tables of supported algorithms are shown below. The library supports both -+the compact and full serialization formats, and has optional support for -+multiple recipients. It also comes with a small command-line utility -+([`jose-util`](https://github.com/square/go-jose/tree/v2/jose-util)) -+for dealing with JOSE messages in a shell. -+ -+**Note**: We use a forked version of the `encoding/json` package from the Go -+standard library which uses case-sensitive matching for member names (instead -+of [case-insensitive matching](https://www.ietf.org/mail-archive/web/json/current/msg03763.html)). -+This is to avoid differences in interpretation of messages between go-jose and -+libraries in other languages. -+ -+### Versions -+ -+We use [gopkg.in](https://gopkg.in) for versioning. -+ -+[Version 2](https://gopkg.in/square/go-jose.v2) -+([branch](https://github.com/square/go-jose/tree/v2), -+[doc](https://godoc.org/gopkg.in/square/go-jose.v2)) is the current version: -+ -+ import "gopkg.in/square/go-jose.v2" -+ -+The old `v1` branch ([go-jose.v1](https://gopkg.in/square/go-jose.v1)) will -+still receive backported bug fixes and security fixes, but otherwise -+development is frozen. All new feature development takes place on the `v2` -+branch. Version 2 also contains additional sub-packages such as the -+[jwt](https://godoc.org/gopkg.in/square/go-jose.v2/jwt) implementation -+contributed by [@shaxbee](https://github.com/shaxbee). -+ -+### Supported algorithms -+ -+See below for a table of supported algorithms. Algorithm identifiers match -+the names in the [JSON Web Algorithms](http://dx.doi.org/10.17487/RFC7518) -+standard where possible. The Godoc reference has a list of constants. -+ -+ Key encryption | Algorithm identifier(s) -+ :------------------------- | :------------------------------ -+ RSA-PKCS#1v1.5 | RSA1_5 -+ RSA-OAEP | RSA-OAEP, RSA-OAEP-256 -+ AES key wrap | A128KW, A192KW, A256KW -+ AES-GCM key wrap | A128GCMKW, A192GCMKW, A256GCMKW -+ ECDH-ES + AES key wrap | ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW -+ ECDH-ES (direct) | ECDH-ES1 -+ Direct encryption | dir1 -+ -+1. Not supported in multi-recipient mode -+ -+ Signing / MAC | Algorithm identifier(s) -+ :------------------------- | :------------------------------ -+ RSASSA-PKCS#1v1.5 | RS256, RS384, RS512 -+ RSASSA-PSS | PS256, PS384, PS512 -+ HMAC | HS256, HS384, HS512 -+ ECDSA | ES256, ES384, ES512 -+ Ed25519 | EdDSA2 -+ -+2. Only available in version 2 of the package -+ -+ Content encryption | Algorithm identifier(s) -+ :------------------------- | :------------------------------ -+ AES-CBC+HMAC | A128CBC-HS256, A192CBC-HS384, A256CBC-HS512 -+ AES-GCM | A128GCM, A192GCM, A256GCM -+ -+ Compression | Algorithm identifiers(s) -+ :------------------------- | ------------------------------- -+ DEFLATE (RFC 1951) | DEF -+ -+### Supported key types -+ -+See below for a table of supported key types. These are understood by the -+library, and can be passed to corresponding functions such as `NewEncrypter` or -+`NewSigner`. Each of these keys can also be wrapped in a JWK if desired, which -+allows attaching a key id. -+ -+ Algorithm(s) | Corresponding types -+ :------------------------- | ------------------------------- -+ RSA | *[rsa.PublicKey](http://golang.org/pkg/crypto/rsa/#PublicKey), *[rsa.PrivateKey](http://golang.org/pkg/crypto/rsa/#PrivateKey) -+ ECDH, ECDSA | *[ecdsa.PublicKey](http://golang.org/pkg/crypto/ecdsa/#PublicKey), *[ecdsa.PrivateKey](http://golang.org/pkg/crypto/ecdsa/#PrivateKey) -+ EdDSA1 | [ed25519.PublicKey](https://godoc.org/golang.org/x/crypto/ed25519#PublicKey), [ed25519.PrivateKey](https://godoc.org/golang.org/x/crypto/ed25519#PrivateKey) -+ AES, HMAC | []byte -+ -+1. Only available in version 2 of the package -+ -+## Examples -+ -+[![godoc](http://img.shields.io/badge/godoc-version_1-blue.svg?style=flat)](https://godoc.org/gopkg.in/square/go-jose.v1) -+[![godoc](http://img.shields.io/badge/godoc-version_2-blue.svg?style=flat)](https://godoc.org/gopkg.in/square/go-jose.v2) -+ -+Examples can be found in the Godoc -+reference for this package. The -+[`jose-util`](https://github.com/square/go-jose/tree/v2/jose-util) -+subdirectory also contains a small command-line utility which might be useful -+as an example. -diff --git a/vendor/gopkg.in/square/go-jose.v2/asymmetric.go b/vendor/gopkg.in/square/go-jose.v2/asymmetric.go -new file mode 100644 -index 000000000..67935561b ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/asymmetric.go -@@ -0,0 +1,592 @@ -+/*- -+ * Copyright 2014 Square Inc. -+ * -+ * 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 jose -+ -+import ( -+ "crypto" -+ "crypto/aes" -+ "crypto/ecdsa" -+ "crypto/rand" -+ "crypto/rsa" -+ "crypto/sha1" -+ "crypto/sha256" -+ "errors" -+ "fmt" -+ "math/big" -+ -+ "golang.org/x/crypto/ed25519" -+ "gopkg.in/square/go-jose.v2/cipher" -+ "gopkg.in/square/go-jose.v2/json" -+) -+ -+// A generic RSA-based encrypter/verifier -+type rsaEncrypterVerifier struct { -+ publicKey *rsa.PublicKey -+} -+ -+// A generic RSA-based decrypter/signer -+type rsaDecrypterSigner struct { -+ privateKey *rsa.PrivateKey -+} -+ -+// A generic EC-based encrypter/verifier -+type ecEncrypterVerifier struct { -+ publicKey *ecdsa.PublicKey -+} -+ -+type edEncrypterVerifier struct { -+ publicKey ed25519.PublicKey -+} -+ -+// A key generator for ECDH-ES -+type ecKeyGenerator struct { -+ size int -+ algID string -+ publicKey *ecdsa.PublicKey -+} -+ -+// A generic EC-based decrypter/signer -+type ecDecrypterSigner struct { -+ privateKey *ecdsa.PrivateKey -+} -+ -+type edDecrypterSigner struct { -+ privateKey ed25519.PrivateKey -+} -+ -+// newRSARecipient creates recipientKeyInfo based on the given key. -+func newRSARecipient(keyAlg KeyAlgorithm, publicKey *rsa.PublicKey) (recipientKeyInfo, error) { -+ // Verify that key management algorithm is supported by this encrypter -+ switch keyAlg { -+ case RSA1_5, RSA_OAEP, RSA_OAEP_256: -+ default: -+ return recipientKeyInfo{}, ErrUnsupportedAlgorithm -+ } -+ -+ if publicKey == nil { -+ return recipientKeyInfo{}, errors.New("invalid public key") -+ } -+ -+ return recipientKeyInfo{ -+ keyAlg: keyAlg, -+ keyEncrypter: &rsaEncrypterVerifier{ -+ publicKey: publicKey, -+ }, -+ }, nil -+} -+ -+// newRSASigner creates a recipientSigInfo based on the given key. -+func newRSASigner(sigAlg SignatureAlgorithm, privateKey *rsa.PrivateKey) (recipientSigInfo, error) { -+ // Verify that key management algorithm is supported by this encrypter -+ switch sigAlg { -+ case RS256, RS384, RS512, PS256, PS384, PS512: -+ default: -+ return recipientSigInfo{}, ErrUnsupportedAlgorithm -+ } -+ -+ if privateKey == nil { -+ return recipientSigInfo{}, errors.New("invalid private key") -+ } -+ -+ return recipientSigInfo{ -+ sigAlg: sigAlg, -+ publicKey: staticPublicKey(&JSONWebKey{ -+ Key: privateKey.Public(), -+ }), -+ signer: &rsaDecrypterSigner{ -+ privateKey: privateKey, -+ }, -+ }, nil -+} -+ -+func newEd25519Signer(sigAlg SignatureAlgorithm, privateKey ed25519.PrivateKey) (recipientSigInfo, error) { -+ if sigAlg != EdDSA { -+ return recipientSigInfo{}, ErrUnsupportedAlgorithm -+ } -+ -+ if privateKey == nil { -+ return recipientSigInfo{}, errors.New("invalid private key") -+ } -+ return recipientSigInfo{ -+ sigAlg: sigAlg, -+ publicKey: staticPublicKey(&JSONWebKey{ -+ Key: privateKey.Public(), -+ }), -+ signer: &edDecrypterSigner{ -+ privateKey: privateKey, -+ }, -+ }, nil -+} -+ -+// newECDHRecipient creates recipientKeyInfo based on the given key. -+func newECDHRecipient(keyAlg KeyAlgorithm, publicKey *ecdsa.PublicKey) (recipientKeyInfo, error) { -+ // Verify that key management algorithm is supported by this encrypter -+ switch keyAlg { -+ case ECDH_ES, ECDH_ES_A128KW, ECDH_ES_A192KW, ECDH_ES_A256KW: -+ default: -+ return recipientKeyInfo{}, ErrUnsupportedAlgorithm -+ } -+ -+ if publicKey == nil || !publicKey.Curve.IsOnCurve(publicKey.X, publicKey.Y) { -+ return recipientKeyInfo{}, errors.New("invalid public key") -+ } -+ -+ return recipientKeyInfo{ -+ keyAlg: keyAlg, -+ keyEncrypter: &ecEncrypterVerifier{ -+ publicKey: publicKey, -+ }, -+ }, nil -+} -+ -+// newECDSASigner creates a recipientSigInfo based on the given key. -+func newECDSASigner(sigAlg SignatureAlgorithm, privateKey *ecdsa.PrivateKey) (recipientSigInfo, error) { -+ // Verify that key management algorithm is supported by this encrypter -+ switch sigAlg { -+ case ES256, ES384, ES512: -+ default: -+ return recipientSigInfo{}, ErrUnsupportedAlgorithm -+ } -+ -+ if privateKey == nil { -+ return recipientSigInfo{}, errors.New("invalid private key") -+ } -+ -+ return recipientSigInfo{ -+ sigAlg: sigAlg, -+ publicKey: staticPublicKey(&JSONWebKey{ -+ Key: privateKey.Public(), -+ }), -+ signer: &ecDecrypterSigner{ -+ privateKey: privateKey, -+ }, -+ }, nil -+} -+ -+// Encrypt the given payload and update the object. -+func (ctx rsaEncrypterVerifier) encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) { -+ encryptedKey, err := ctx.encrypt(cek, alg) -+ if err != nil { -+ return recipientInfo{}, err -+ } -+ -+ return recipientInfo{ -+ encryptedKey: encryptedKey, -+ header: &rawHeader{}, -+ }, nil -+} -+ -+// Encrypt the given payload. Based on the key encryption algorithm, -+// this will either use RSA-PKCS1v1.5 or RSA-OAEP (with SHA-1 or SHA-256). -+func (ctx rsaEncrypterVerifier) encrypt(cek []byte, alg KeyAlgorithm) ([]byte, error) { -+ switch alg { -+ case RSA1_5: -+ return rsa.EncryptPKCS1v15(RandReader, ctx.publicKey, cek) -+ case RSA_OAEP: -+ return rsa.EncryptOAEP(sha1.New(), RandReader, ctx.publicKey, cek, []byte{}) -+ case RSA_OAEP_256: -+ return rsa.EncryptOAEP(sha256.New(), RandReader, ctx.publicKey, cek, []byte{}) -+ } -+ -+ return nil, ErrUnsupportedAlgorithm -+} -+ -+// Decrypt the given payload and return the content encryption key. -+func (ctx rsaDecrypterSigner) decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) { -+ return ctx.decrypt(recipient.encryptedKey, headers.getAlgorithm(), generator) -+} -+ -+// Decrypt the given payload. Based on the key encryption algorithm, -+// this will either use RSA-PKCS1v1.5 or RSA-OAEP (with SHA-1 or SHA-256). -+func (ctx rsaDecrypterSigner) decrypt(jek []byte, alg KeyAlgorithm, generator keyGenerator) ([]byte, error) { -+ // Note: The random reader on decrypt operations is only used for blinding, -+ // so stubbing is meanlingless (hence the direct use of rand.Reader). -+ switch alg { -+ case RSA1_5: -+ defer func() { -+ // DecryptPKCS1v15SessionKey sometimes panics on an invalid payload -+ // because of an index out of bounds error, which we want to ignore. -+ // This has been fixed in Go 1.3.1 (released 2014/08/13), the recover() -+ // only exists for preventing crashes with unpatched versions. -+ // See: https://groups.google.com/forum/#!topic/golang-dev/7ihX6Y6kx9k -+ // See: https://code.google.com/p/go/source/detail?r=58ee390ff31602edb66af41ed10901ec95904d33 -+ _ = recover() -+ }() -+ -+ // Perform some input validation. -+ keyBytes := ctx.privateKey.PublicKey.N.BitLen() / 8 -+ if keyBytes != len(jek) { -+ // Input size is incorrect, the encrypted payload should always match -+ // the size of the public modulus (e.g. using a 2048 bit key will -+ // produce 256 bytes of output). Reject this since it's invalid input. -+ return nil, ErrCryptoFailure -+ } -+ -+ cek, _, err := generator.genKey() -+ if err != nil { -+ return nil, ErrCryptoFailure -+ } -+ -+ // When decrypting an RSA-PKCS1v1.5 payload, we must take precautions to -+ // prevent chosen-ciphertext attacks as described in RFC 3218, "Preventing -+ // the Million Message Attack on Cryptographic Message Syntax". We are -+ // therefore deliberately ignoring errors here. -+ _ = rsa.DecryptPKCS1v15SessionKey(rand.Reader, ctx.privateKey, jek, cek) -+ -+ return cek, nil -+ case RSA_OAEP: -+ // Use rand.Reader for RSA blinding -+ return rsa.DecryptOAEP(sha1.New(), rand.Reader, ctx.privateKey, jek, []byte{}) -+ case RSA_OAEP_256: -+ // Use rand.Reader for RSA blinding -+ return rsa.DecryptOAEP(sha256.New(), rand.Reader, ctx.privateKey, jek, []byte{}) -+ } -+ -+ return nil, ErrUnsupportedAlgorithm -+} -+ -+// Sign the given payload -+func (ctx rsaDecrypterSigner) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { -+ var hash crypto.Hash -+ -+ switch alg { -+ case RS256, PS256: -+ hash = crypto.SHA256 -+ case RS384, PS384: -+ hash = crypto.SHA384 -+ case RS512, PS512: -+ hash = crypto.SHA512 -+ default: -+ return Signature{}, ErrUnsupportedAlgorithm -+ } -+ -+ hasher := hash.New() -+ -+ // According to documentation, Write() on hash never fails -+ _, _ = hasher.Write(payload) -+ hashed := hasher.Sum(nil) -+ -+ var out []byte -+ var err error -+ -+ switch alg { -+ case RS256, RS384, RS512: -+ out, err = rsa.SignPKCS1v15(RandReader, ctx.privateKey, hash, hashed) -+ case PS256, PS384, PS512: -+ out, err = rsa.SignPSS(RandReader, ctx.privateKey, hash, hashed, &rsa.PSSOptions{ -+ SaltLength: rsa.PSSSaltLengthAuto, -+ }) -+ } -+ -+ if err != nil { -+ return Signature{}, err -+ } -+ -+ return Signature{ -+ Signature: out, -+ protected: &rawHeader{}, -+ }, nil -+} -+ -+// Verify the given payload -+func (ctx rsaEncrypterVerifier) verifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error { -+ var hash crypto.Hash -+ -+ switch alg { -+ case RS256, PS256: -+ hash = crypto.SHA256 -+ case RS384, PS384: -+ hash = crypto.SHA384 -+ case RS512, PS512: -+ hash = crypto.SHA512 -+ default: -+ return ErrUnsupportedAlgorithm -+ } -+ -+ hasher := hash.New() -+ -+ // According to documentation, Write() on hash never fails -+ _, _ = hasher.Write(payload) -+ hashed := hasher.Sum(nil) -+ -+ switch alg { -+ case RS256, RS384, RS512: -+ return rsa.VerifyPKCS1v15(ctx.publicKey, hash, hashed, signature) -+ case PS256, PS384, PS512: -+ return rsa.VerifyPSS(ctx.publicKey, hash, hashed, signature, nil) -+ } -+ -+ return ErrUnsupportedAlgorithm -+} -+ -+// Encrypt the given payload and update the object. -+func (ctx ecEncrypterVerifier) encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) { -+ switch alg { -+ case ECDH_ES: -+ // ECDH-ES mode doesn't wrap a key, the shared secret is used directly as the key. -+ return recipientInfo{ -+ header: &rawHeader{}, -+ }, nil -+ case ECDH_ES_A128KW, ECDH_ES_A192KW, ECDH_ES_A256KW: -+ default: -+ return recipientInfo{}, ErrUnsupportedAlgorithm -+ } -+ -+ generator := ecKeyGenerator{ -+ algID: string(alg), -+ publicKey: ctx.publicKey, -+ } -+ -+ switch alg { -+ case ECDH_ES_A128KW: -+ generator.size = 16 -+ case ECDH_ES_A192KW: -+ generator.size = 24 -+ case ECDH_ES_A256KW: -+ generator.size = 32 -+ } -+ -+ kek, header, err := generator.genKey() -+ if err != nil { -+ return recipientInfo{}, err -+ } -+ -+ block, err := aes.NewCipher(kek) -+ if err != nil { -+ return recipientInfo{}, err -+ } -+ -+ jek, err := josecipher.KeyWrap(block, cek) -+ if err != nil { -+ return recipientInfo{}, err -+ } -+ -+ return recipientInfo{ -+ encryptedKey: jek, -+ header: &header, -+ }, nil -+} -+ -+// Get key size for EC key generator -+func (ctx ecKeyGenerator) keySize() int { -+ return ctx.size -+} -+ -+// Get a content encryption key for ECDH-ES -+func (ctx ecKeyGenerator) genKey() ([]byte, rawHeader, error) { -+ priv, err := ecdsa.GenerateKey(ctx.publicKey.Curve, RandReader) -+ if err != nil { -+ return nil, rawHeader{}, err -+ } -+ -+ out := josecipher.DeriveECDHES(ctx.algID, []byte{}, []byte{}, priv, ctx.publicKey, ctx.size) -+ -+ b, err := json.Marshal(&JSONWebKey{ -+ Key: &priv.PublicKey, -+ }) -+ if err != nil { -+ return nil, nil, err -+ } -+ -+ headers := rawHeader{ -+ headerEPK: makeRawMessage(b), -+ } -+ -+ return out, headers, nil -+} -+ -+// Decrypt the given payload and return the content encryption key. -+func (ctx ecDecrypterSigner) decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) { -+ epk, err := headers.getEPK() -+ if err != nil { -+ return nil, errors.New("square/go-jose: invalid epk header") -+ } -+ if epk == nil { -+ return nil, errors.New("square/go-jose: missing epk header") -+ } -+ -+ publicKey, ok := epk.Key.(*ecdsa.PublicKey) -+ if publicKey == nil || !ok { -+ return nil, errors.New("square/go-jose: invalid epk header") -+ } -+ -+ if !ctx.privateKey.Curve.IsOnCurve(publicKey.X, publicKey.Y) { -+ return nil, errors.New("square/go-jose: invalid public key in epk header") -+ } -+ -+ apuData, err := headers.getAPU() -+ if err != nil { -+ return nil, errors.New("square/go-jose: invalid apu header") -+ } -+ apvData, err := headers.getAPV() -+ if err != nil { -+ return nil, errors.New("square/go-jose: invalid apv header") -+ } -+ -+ deriveKey := func(algID string, size int) []byte { -+ return josecipher.DeriveECDHES(algID, apuData.bytes(), apvData.bytes(), ctx.privateKey, publicKey, size) -+ } -+ -+ var keySize int -+ -+ algorithm := headers.getAlgorithm() -+ switch algorithm { -+ case ECDH_ES: -+ // ECDH-ES uses direct key agreement, no key unwrapping necessary. -+ return deriveKey(string(headers.getEncryption()), generator.keySize()), nil -+ case ECDH_ES_A128KW: -+ keySize = 16 -+ case ECDH_ES_A192KW: -+ keySize = 24 -+ case ECDH_ES_A256KW: -+ keySize = 32 -+ default: -+ return nil, ErrUnsupportedAlgorithm -+ } -+ -+ key := deriveKey(string(algorithm), keySize) -+ block, err := aes.NewCipher(key) -+ if err != nil { -+ return nil, err -+ } -+ -+ return josecipher.KeyUnwrap(block, recipient.encryptedKey) -+} -+ -+func (ctx edDecrypterSigner) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { -+ if alg != EdDSA { -+ return Signature{}, ErrUnsupportedAlgorithm -+ } -+ -+ sig, err := ctx.privateKey.Sign(RandReader, payload, crypto.Hash(0)) -+ if err != nil { -+ return Signature{}, err -+ } -+ -+ return Signature{ -+ Signature: sig, -+ protected: &rawHeader{}, -+ }, nil -+} -+ -+func (ctx edEncrypterVerifier) verifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error { -+ if alg != EdDSA { -+ return ErrUnsupportedAlgorithm -+ } -+ ok := ed25519.Verify(ctx.publicKey, payload, signature) -+ if !ok { -+ return errors.New("square/go-jose: ed25519 signature failed to verify") -+ } -+ return nil -+} -+ -+// Sign the given payload -+func (ctx ecDecrypterSigner) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { -+ var expectedBitSize int -+ var hash crypto.Hash -+ -+ switch alg { -+ case ES256: -+ expectedBitSize = 256 -+ hash = crypto.SHA256 -+ case ES384: -+ expectedBitSize = 384 -+ hash = crypto.SHA384 -+ case ES512: -+ expectedBitSize = 521 -+ hash = crypto.SHA512 -+ } -+ -+ curveBits := ctx.privateKey.Curve.Params().BitSize -+ if expectedBitSize != curveBits { -+ return Signature{}, fmt.Errorf("square/go-jose: expected %d bit key, got %d bits instead", expectedBitSize, curveBits) -+ } -+ -+ hasher := hash.New() -+ -+ // According to documentation, Write() on hash never fails -+ _, _ = hasher.Write(payload) -+ hashed := hasher.Sum(nil) -+ -+ r, s, err := ecdsa.Sign(RandReader, ctx.privateKey, hashed) -+ if err != nil { -+ return Signature{}, err -+ } -+ -+ keyBytes := curveBits / 8 -+ if curveBits%8 > 0 { -+ keyBytes++ -+ } -+ -+ // We serialize the outputs (r and s) into big-endian byte arrays and pad -+ // them with zeros on the left to make sure the sizes work out. Both arrays -+ // must be keyBytes long, and the output must be 2*keyBytes long. -+ rBytes := r.Bytes() -+ rBytesPadded := make([]byte, keyBytes) -+ copy(rBytesPadded[keyBytes-len(rBytes):], rBytes) -+ -+ sBytes := s.Bytes() -+ sBytesPadded := make([]byte, keyBytes) -+ copy(sBytesPadded[keyBytes-len(sBytes):], sBytes) -+ -+ out := append(rBytesPadded, sBytesPadded...) -+ -+ return Signature{ -+ Signature: out, -+ protected: &rawHeader{}, -+ }, nil -+} -+ -+// Verify the given payload -+func (ctx ecEncrypterVerifier) verifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error { -+ var keySize int -+ var hash crypto.Hash -+ -+ switch alg { -+ case ES256: -+ keySize = 32 -+ hash = crypto.SHA256 -+ case ES384: -+ keySize = 48 -+ hash = crypto.SHA384 -+ case ES512: -+ keySize = 66 -+ hash = crypto.SHA512 -+ default: -+ return ErrUnsupportedAlgorithm -+ } -+ -+ if len(signature) != 2*keySize { -+ return fmt.Errorf("square/go-jose: invalid signature size, have %d bytes, wanted %d", len(signature), 2*keySize) -+ } -+ -+ hasher := hash.New() -+ -+ // According to documentation, Write() on hash never fails -+ _, _ = hasher.Write(payload) -+ hashed := hasher.Sum(nil) -+ -+ r := big.NewInt(0).SetBytes(signature[:keySize]) -+ s := big.NewInt(0).SetBytes(signature[keySize:]) -+ -+ match := ecdsa.Verify(ctx.publicKey, hashed, r, s) -+ if !match { -+ return errors.New("square/go-jose: ecdsa signature failed to verify") -+ } -+ -+ return nil -+} -diff --git a/vendor/gopkg.in/square/go-jose.v2/cipher/cbc_hmac.go b/vendor/gopkg.in/square/go-jose.v2/cipher/cbc_hmac.go -new file mode 100644 -index 000000000..126b85ce2 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/cipher/cbc_hmac.go -@@ -0,0 +1,196 @@ -+/*- -+ * Copyright 2014 Square Inc. -+ * -+ * 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 josecipher -+ -+import ( -+ "bytes" -+ "crypto/cipher" -+ "crypto/hmac" -+ "crypto/sha256" -+ "crypto/sha512" -+ "crypto/subtle" -+ "encoding/binary" -+ "errors" -+ "hash" -+) -+ -+const ( -+ nonceBytes = 16 -+) -+ -+// NewCBCHMAC instantiates a new AEAD based on CBC+HMAC. -+func NewCBCHMAC(key []byte, newBlockCipher func([]byte) (cipher.Block, error)) (cipher.AEAD, error) { -+ keySize := len(key) / 2 -+ integrityKey := key[:keySize] -+ encryptionKey := key[keySize:] -+ -+ blockCipher, err := newBlockCipher(encryptionKey) -+ if err != nil { -+ return nil, err -+ } -+ -+ var hash func() hash.Hash -+ switch keySize { -+ case 16: -+ hash = sha256.New -+ case 24: -+ hash = sha512.New384 -+ case 32: -+ hash = sha512.New -+ } -+ -+ return &cbcAEAD{ -+ hash: hash, -+ blockCipher: blockCipher, -+ authtagBytes: keySize, -+ integrityKey: integrityKey, -+ }, nil -+} -+ -+// An AEAD based on CBC+HMAC -+type cbcAEAD struct { -+ hash func() hash.Hash -+ authtagBytes int -+ integrityKey []byte -+ blockCipher cipher.Block -+} -+ -+func (ctx *cbcAEAD) NonceSize() int { -+ return nonceBytes -+} -+ -+func (ctx *cbcAEAD) Overhead() int { -+ // Maximum overhead is block size (for padding) plus auth tag length, where -+ // the length of the auth tag is equivalent to the key size. -+ return ctx.blockCipher.BlockSize() + ctx.authtagBytes -+} -+ -+// Seal encrypts and authenticates the plaintext. -+func (ctx *cbcAEAD) Seal(dst, nonce, plaintext, data []byte) []byte { -+ // Output buffer -- must take care not to mangle plaintext input. -+ ciphertext := make([]byte, uint64(len(plaintext))+uint64(ctx.Overhead()))[:len(plaintext)] -+ copy(ciphertext, plaintext) -+ ciphertext = padBuffer(ciphertext, ctx.blockCipher.BlockSize()) -+ -+ cbc := cipher.NewCBCEncrypter(ctx.blockCipher, nonce) -+ -+ cbc.CryptBlocks(ciphertext, ciphertext) -+ authtag := ctx.computeAuthTag(data, nonce, ciphertext) -+ -+ ret, out := resize(dst, uint64(len(dst))+uint64(len(ciphertext))+uint64(len(authtag))) -+ copy(out, ciphertext) -+ copy(out[len(ciphertext):], authtag) -+ -+ return ret -+} -+ -+// Open decrypts and authenticates the ciphertext. -+func (ctx *cbcAEAD) Open(dst, nonce, ciphertext, data []byte) ([]byte, error) { -+ if len(ciphertext) < ctx.authtagBytes { -+ return nil, errors.New("square/go-jose: invalid ciphertext (too short)") -+ } -+ -+ offset := len(ciphertext) - ctx.authtagBytes -+ expectedTag := ctx.computeAuthTag(data, nonce, ciphertext[:offset]) -+ match := subtle.ConstantTimeCompare(expectedTag, ciphertext[offset:]) -+ if match != 1 { -+ return nil, errors.New("square/go-jose: invalid ciphertext (auth tag mismatch)") -+ } -+ -+ cbc := cipher.NewCBCDecrypter(ctx.blockCipher, nonce) -+ -+ // Make copy of ciphertext buffer, don't want to modify in place -+ buffer := append([]byte{}, []byte(ciphertext[:offset])...) -+ -+ if len(buffer)%ctx.blockCipher.BlockSize() > 0 { -+ return nil, errors.New("square/go-jose: invalid ciphertext (invalid length)") -+ } -+ -+ cbc.CryptBlocks(buffer, buffer) -+ -+ // Remove padding -+ plaintext, err := unpadBuffer(buffer, ctx.blockCipher.BlockSize()) -+ if err != nil { -+ return nil, err -+ } -+ -+ ret, out := resize(dst, uint64(len(dst))+uint64(len(plaintext))) -+ copy(out, plaintext) -+ -+ return ret, nil -+} -+ -+// Compute an authentication tag -+func (ctx *cbcAEAD) computeAuthTag(aad, nonce, ciphertext []byte) []byte { -+ buffer := make([]byte, uint64(len(aad))+uint64(len(nonce))+uint64(len(ciphertext))+8) -+ n := 0 -+ n += copy(buffer, aad) -+ n += copy(buffer[n:], nonce) -+ n += copy(buffer[n:], ciphertext) -+ binary.BigEndian.PutUint64(buffer[n:], uint64(len(aad))*8) -+ -+ // According to documentation, Write() on hash.Hash never fails. -+ hmac := hmac.New(ctx.hash, ctx.integrityKey) -+ _, _ = hmac.Write(buffer) -+ -+ return hmac.Sum(nil)[:ctx.authtagBytes] -+} -+ -+// resize ensures the the given slice has a capacity of at least n bytes. -+// If the capacity of the slice is less than n, a new slice is allocated -+// and the existing data will be copied. -+func resize(in []byte, n uint64) (head, tail []byte) { -+ if uint64(cap(in)) >= n { -+ head = in[:n] -+ } else { -+ head = make([]byte, n) -+ copy(head, in) -+ } -+ -+ tail = head[len(in):] -+ return -+} -+ -+// Apply padding -+func padBuffer(buffer []byte, blockSize int) []byte { -+ missing := blockSize - (len(buffer) % blockSize) -+ ret, out := resize(buffer, uint64(len(buffer))+uint64(missing)) -+ padding := bytes.Repeat([]byte{byte(missing)}, missing) -+ copy(out, padding) -+ return ret -+} -+ -+// Remove padding -+func unpadBuffer(buffer []byte, blockSize int) ([]byte, error) { -+ if len(buffer)%blockSize != 0 { -+ return nil, errors.New("square/go-jose: invalid padding") -+ } -+ -+ last := buffer[len(buffer)-1] -+ count := int(last) -+ -+ if count == 0 || count > blockSize || count > len(buffer) { -+ return nil, errors.New("square/go-jose: invalid padding") -+ } -+ -+ padding := bytes.Repeat([]byte{last}, count) -+ if !bytes.HasSuffix(buffer, padding) { -+ return nil, errors.New("square/go-jose: invalid padding") -+ } -+ -+ return buffer[:len(buffer)-count], nil -+} -diff --git a/vendor/gopkg.in/square/go-jose.v2/cipher/concat_kdf.go b/vendor/gopkg.in/square/go-jose.v2/cipher/concat_kdf.go -new file mode 100644 -index 000000000..f62c3bdba ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/cipher/concat_kdf.go -@@ -0,0 +1,75 @@ -+/*- -+ * Copyright 2014 Square Inc. -+ * -+ * 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 josecipher -+ -+import ( -+ "crypto" -+ "encoding/binary" -+ "hash" -+ "io" -+) -+ -+type concatKDF struct { -+ z, info []byte -+ i uint32 -+ cache []byte -+ hasher hash.Hash -+} -+ -+// NewConcatKDF builds a KDF reader based on the given inputs. -+func NewConcatKDF(hash crypto.Hash, z, algID, ptyUInfo, ptyVInfo, supPubInfo, supPrivInfo []byte) io.Reader { -+ buffer := make([]byte, uint64(len(algID))+uint64(len(ptyUInfo))+uint64(len(ptyVInfo))+uint64(len(supPubInfo))+uint64(len(supPrivInfo))) -+ n := 0 -+ n += copy(buffer, algID) -+ n += copy(buffer[n:], ptyUInfo) -+ n += copy(buffer[n:], ptyVInfo) -+ n += copy(buffer[n:], supPubInfo) -+ copy(buffer[n:], supPrivInfo) -+ -+ hasher := hash.New() -+ -+ return &concatKDF{ -+ z: z, -+ info: buffer, -+ hasher: hasher, -+ cache: []byte{}, -+ i: 1, -+ } -+} -+ -+func (ctx *concatKDF) Read(out []byte) (int, error) { -+ copied := copy(out, ctx.cache) -+ ctx.cache = ctx.cache[copied:] -+ -+ for copied < len(out) { -+ ctx.hasher.Reset() -+ -+ // Write on a hash.Hash never fails -+ _ = binary.Write(ctx.hasher, binary.BigEndian, ctx.i) -+ _, _ = ctx.hasher.Write(ctx.z) -+ _, _ = ctx.hasher.Write(ctx.info) -+ -+ hash := ctx.hasher.Sum(nil) -+ chunkCopied := copy(out[copied:], hash) -+ copied += chunkCopied -+ ctx.cache = hash[chunkCopied:] -+ -+ ctx.i++ -+ } -+ -+ return copied, nil -+} -diff --git a/vendor/gopkg.in/square/go-jose.v2/cipher/ecdh_es.go b/vendor/gopkg.in/square/go-jose.v2/cipher/ecdh_es.go -new file mode 100644 -index 000000000..c128e327f ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/cipher/ecdh_es.go -@@ -0,0 +1,62 @@ -+/*- -+ * Copyright 2014 Square Inc. -+ * -+ * 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 josecipher -+ -+import ( -+ "crypto" -+ "crypto/ecdsa" -+ "encoding/binary" -+) -+ -+// DeriveECDHES derives a shared encryption key using ECDH/ConcatKDF as described in JWE/JWA. -+// It is an error to call this function with a private/public key that are not on the same -+// curve. Callers must ensure that the keys are valid before calling this function. Output -+// size may be at most 1<<16 bytes (64 KiB). -+func DeriveECDHES(alg string, apuData, apvData []byte, priv *ecdsa.PrivateKey, pub *ecdsa.PublicKey, size int) []byte { -+ if size > 1<<16 { -+ panic("ECDH-ES output size too large, must be less than or equal to 1<<16") -+ } -+ -+ // algId, partyUInfo, partyVInfo inputs must be prefixed with the length -+ algID := lengthPrefixed([]byte(alg)) -+ ptyUInfo := lengthPrefixed(apuData) -+ ptyVInfo := lengthPrefixed(apvData) -+ -+ // suppPubInfo is the encoded length of the output size in bits -+ supPubInfo := make([]byte, 4) -+ binary.BigEndian.PutUint32(supPubInfo, uint32(size)*8) -+ -+ if !priv.PublicKey.Curve.IsOnCurve(pub.X, pub.Y) { -+ panic("public key not on same curve as private key") -+ } -+ -+ z, _ := priv.PublicKey.Curve.ScalarMult(pub.X, pub.Y, priv.D.Bytes()) -+ reader := NewConcatKDF(crypto.SHA256, z.Bytes(), algID, ptyUInfo, ptyVInfo, supPubInfo, []byte{}) -+ -+ key := make([]byte, size) -+ -+ // Read on the KDF will never fail -+ _, _ = reader.Read(key) -+ return key -+} -+ -+func lengthPrefixed(data []byte) []byte { -+ out := make([]byte, len(data)+4) -+ binary.BigEndian.PutUint32(out, uint32(len(data))) -+ copy(out[4:], data) -+ return out -+} -diff --git a/vendor/gopkg.in/square/go-jose.v2/cipher/key_wrap.go b/vendor/gopkg.in/square/go-jose.v2/cipher/key_wrap.go -new file mode 100644 -index 000000000..1d36d5015 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/cipher/key_wrap.go -@@ -0,0 +1,109 @@ -+/*- -+ * Copyright 2014 Square Inc. -+ * -+ * 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 josecipher -+ -+import ( -+ "crypto/cipher" -+ "crypto/subtle" -+ "encoding/binary" -+ "errors" -+) -+ -+var defaultIV = []byte{0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6} -+ -+// KeyWrap implements NIST key wrapping; it wraps a content encryption key (cek) with the given block cipher. -+func KeyWrap(block cipher.Block, cek []byte) ([]byte, error) { -+ if len(cek)%8 != 0 { -+ return nil, errors.New("square/go-jose: key wrap input must be 8 byte blocks") -+ } -+ -+ n := len(cek) / 8 -+ r := make([][]byte, n) -+ -+ for i := range r { -+ r[i] = make([]byte, 8) -+ copy(r[i], cek[i*8:]) -+ } -+ -+ buffer := make([]byte, 16) -+ tBytes := make([]byte, 8) -+ copy(buffer, defaultIV) -+ -+ for t := 0; t < 6*n; t++ { -+ copy(buffer[8:], r[t%n]) -+ -+ block.Encrypt(buffer, buffer) -+ -+ binary.BigEndian.PutUint64(tBytes, uint64(t+1)) -+ -+ for i := 0; i < 8; i++ { -+ buffer[i] = buffer[i] ^ tBytes[i] -+ } -+ copy(r[t%n], buffer[8:]) -+ } -+ -+ out := make([]byte, (n+1)*8) -+ copy(out, buffer[:8]) -+ for i := range r { -+ copy(out[(i+1)*8:], r[i]) -+ } -+ -+ return out, nil -+} -+ -+// KeyUnwrap implements NIST key unwrapping; it unwraps a content encryption key (cek) with the given block cipher. -+func KeyUnwrap(block cipher.Block, ciphertext []byte) ([]byte, error) { -+ if len(ciphertext)%8 != 0 { -+ return nil, errors.New("square/go-jose: key wrap input must be 8 byte blocks") -+ } -+ -+ n := (len(ciphertext) / 8) - 1 -+ r := make([][]byte, n) -+ -+ for i := range r { -+ r[i] = make([]byte, 8) -+ copy(r[i], ciphertext[(i+1)*8:]) -+ } -+ -+ buffer := make([]byte, 16) -+ tBytes := make([]byte, 8) -+ copy(buffer[:8], ciphertext[:8]) -+ -+ for t := 6*n - 1; t >= 0; t-- { -+ binary.BigEndian.PutUint64(tBytes, uint64(t+1)) -+ -+ for i := 0; i < 8; i++ { -+ buffer[i] = buffer[i] ^ tBytes[i] -+ } -+ copy(buffer[8:], r[t%n]) -+ -+ block.Decrypt(buffer, buffer) -+ -+ copy(r[t%n], buffer[8:]) -+ } -+ -+ if subtle.ConstantTimeCompare(buffer[:8], defaultIV) == 0 { -+ return nil, errors.New("square/go-jose: failed to unwrap key") -+ } -+ -+ out := make([]byte, n*8) -+ for i := range r { -+ copy(out[i*8:], r[i]) -+ } -+ -+ return out, nil -+} -diff --git a/vendor/gopkg.in/square/go-jose.v2/crypter.go b/vendor/gopkg.in/square/go-jose.v2/crypter.go -new file mode 100644 -index 000000000..c45c71206 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/crypter.go -@@ -0,0 +1,535 @@ -+/*- -+ * Copyright 2014 Square Inc. -+ * -+ * 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 jose -+ -+import ( -+ "crypto/ecdsa" -+ "crypto/rsa" -+ "errors" -+ "fmt" -+ "reflect" -+ -+ "gopkg.in/square/go-jose.v2/json" -+) -+ -+// Encrypter represents an encrypter which produces an encrypted JWE object. -+type Encrypter interface { -+ Encrypt(plaintext []byte) (*JSONWebEncryption, error) -+ EncryptWithAuthData(plaintext []byte, aad []byte) (*JSONWebEncryption, error) -+ Options() EncrypterOptions -+} -+ -+// A generic content cipher -+type contentCipher interface { -+ keySize() int -+ encrypt(cek []byte, aad, plaintext []byte) (*aeadParts, error) -+ decrypt(cek []byte, aad []byte, parts *aeadParts) ([]byte, error) -+} -+ -+// A key generator (for generating/getting a CEK) -+type keyGenerator interface { -+ keySize() int -+ genKey() ([]byte, rawHeader, error) -+} -+ -+// A generic key encrypter -+type keyEncrypter interface { -+ encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) // Encrypt a key -+} -+ -+// A generic key decrypter -+type keyDecrypter interface { -+ decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) // Decrypt a key -+} -+ -+// A generic encrypter based on the given key encrypter and content cipher. -+type genericEncrypter struct { -+ contentAlg ContentEncryption -+ compressionAlg CompressionAlgorithm -+ cipher contentCipher -+ recipients []recipientKeyInfo -+ keyGenerator keyGenerator -+ extraHeaders map[HeaderKey]interface{} -+} -+ -+type recipientKeyInfo struct { -+ keyID string -+ keyAlg KeyAlgorithm -+ keyEncrypter keyEncrypter -+} -+ -+// EncrypterOptions represents options that can be set on new encrypters. -+type EncrypterOptions struct { -+ Compression CompressionAlgorithm -+ -+ // Optional map of additional keys to be inserted into the protected header -+ // of a JWS object. Some specifications which make use of JWS like to insert -+ // additional values here. All values must be JSON-serializable. -+ ExtraHeaders map[HeaderKey]interface{} -+} -+ -+// WithHeader adds an arbitrary value to the ExtraHeaders map, initializing it -+// if necessary. It returns itself and so can be used in a fluent style. -+func (eo *EncrypterOptions) WithHeader(k HeaderKey, v interface{}) *EncrypterOptions { -+ if eo.ExtraHeaders == nil { -+ eo.ExtraHeaders = map[HeaderKey]interface{}{} -+ } -+ eo.ExtraHeaders[k] = v -+ return eo -+} -+ -+// WithContentType adds a content type ("cty") header and returns the updated -+// EncrypterOptions. -+func (eo *EncrypterOptions) WithContentType(contentType ContentType) *EncrypterOptions { -+ return eo.WithHeader(HeaderContentType, contentType) -+} -+ -+// WithType adds a type ("typ") header and returns the updated EncrypterOptions. -+func (eo *EncrypterOptions) WithType(typ ContentType) *EncrypterOptions { -+ return eo.WithHeader(HeaderType, typ) -+} -+ -+// Recipient represents an algorithm/key to encrypt messages to. -+// -+// PBES2Count and PBES2Salt correspond with the "p2c" and "p2s" headers used -+// on the password-based encryption algorithms PBES2-HS256+A128KW, -+// PBES2-HS384+A192KW, and PBES2-HS512+A256KW. If they are not provided a safe -+// default of 100000 will be used for the count and a 128-bit random salt will -+// be generated. -+type Recipient struct { -+ Algorithm KeyAlgorithm -+ Key interface{} -+ KeyID string -+ PBES2Count int -+ PBES2Salt []byte -+} -+ -+// NewEncrypter creates an appropriate encrypter based on the key type -+func NewEncrypter(enc ContentEncryption, rcpt Recipient, opts *EncrypterOptions) (Encrypter, error) { -+ encrypter := &genericEncrypter{ -+ contentAlg: enc, -+ recipients: []recipientKeyInfo{}, -+ cipher: getContentCipher(enc), -+ } -+ if opts != nil { -+ encrypter.compressionAlg = opts.Compression -+ encrypter.extraHeaders = opts.ExtraHeaders -+ } -+ -+ if encrypter.cipher == nil { -+ return nil, ErrUnsupportedAlgorithm -+ } -+ -+ var keyID string -+ var rawKey interface{} -+ switch encryptionKey := rcpt.Key.(type) { -+ case JSONWebKey: -+ keyID, rawKey = encryptionKey.KeyID, encryptionKey.Key -+ case *JSONWebKey: -+ keyID, rawKey = encryptionKey.KeyID, encryptionKey.Key -+ default: -+ rawKey = encryptionKey -+ } -+ -+ switch rcpt.Algorithm { -+ case DIRECT: -+ // Direct encryption mode must be treated differently -+ if reflect.TypeOf(rawKey) != reflect.TypeOf([]byte{}) { -+ return nil, ErrUnsupportedKeyType -+ } -+ if encrypter.cipher.keySize() != len(rawKey.([]byte)) { -+ return nil, ErrInvalidKeySize -+ } -+ encrypter.keyGenerator = staticKeyGenerator{ -+ key: rawKey.([]byte), -+ } -+ recipientInfo, _ := newSymmetricRecipient(rcpt.Algorithm, rawKey.([]byte)) -+ recipientInfo.keyID = keyID -+ if rcpt.KeyID != "" { -+ recipientInfo.keyID = rcpt.KeyID -+ } -+ encrypter.recipients = []recipientKeyInfo{recipientInfo} -+ return encrypter, nil -+ case ECDH_ES: -+ // ECDH-ES (w/o key wrapping) is similar to DIRECT mode -+ typeOf := reflect.TypeOf(rawKey) -+ if typeOf != reflect.TypeOf(&ecdsa.PublicKey{}) { -+ return nil, ErrUnsupportedKeyType -+ } -+ encrypter.keyGenerator = ecKeyGenerator{ -+ size: encrypter.cipher.keySize(), -+ algID: string(enc), -+ publicKey: rawKey.(*ecdsa.PublicKey), -+ } -+ recipientInfo, _ := newECDHRecipient(rcpt.Algorithm, rawKey.(*ecdsa.PublicKey)) -+ recipientInfo.keyID = keyID -+ if rcpt.KeyID != "" { -+ recipientInfo.keyID = rcpt.KeyID -+ } -+ encrypter.recipients = []recipientKeyInfo{recipientInfo} -+ return encrypter, nil -+ default: -+ // Can just add a standard recipient -+ encrypter.keyGenerator = randomKeyGenerator{ -+ size: encrypter.cipher.keySize(), -+ } -+ err := encrypter.addRecipient(rcpt) -+ return encrypter, err -+ } -+} -+ -+// NewMultiEncrypter creates a multi-encrypter based on the given parameters -+func NewMultiEncrypter(enc ContentEncryption, rcpts []Recipient, opts *EncrypterOptions) (Encrypter, error) { -+ cipher := getContentCipher(enc) -+ -+ if cipher == nil { -+ return nil, ErrUnsupportedAlgorithm -+ } -+ if rcpts == nil || len(rcpts) == 0 { -+ return nil, fmt.Errorf("square/go-jose: recipients is nil or empty") -+ } -+ -+ encrypter := &genericEncrypter{ -+ contentAlg: enc, -+ recipients: []recipientKeyInfo{}, -+ cipher: cipher, -+ keyGenerator: randomKeyGenerator{ -+ size: cipher.keySize(), -+ }, -+ } -+ -+ if opts != nil { -+ encrypter.compressionAlg = opts.Compression -+ } -+ -+ for _, recipient := range rcpts { -+ err := encrypter.addRecipient(recipient) -+ if err != nil { -+ return nil, err -+ } -+ } -+ -+ return encrypter, nil -+} -+ -+func (ctx *genericEncrypter) addRecipient(recipient Recipient) (err error) { -+ var recipientInfo recipientKeyInfo -+ -+ switch recipient.Algorithm { -+ case DIRECT, ECDH_ES: -+ return fmt.Errorf("square/go-jose: key algorithm '%s' not supported in multi-recipient mode", recipient.Algorithm) -+ } -+ -+ recipientInfo, err = makeJWERecipient(recipient.Algorithm, recipient.Key) -+ if recipient.KeyID != "" { -+ recipientInfo.keyID = recipient.KeyID -+ } -+ -+ switch recipient.Algorithm { -+ case PBES2_HS256_A128KW, PBES2_HS384_A192KW, PBES2_HS512_A256KW: -+ if sr, ok := recipientInfo.keyEncrypter.(*symmetricKeyCipher); ok { -+ sr.p2c = recipient.PBES2Count -+ sr.p2s = recipient.PBES2Salt -+ } -+ } -+ -+ if err == nil { -+ ctx.recipients = append(ctx.recipients, recipientInfo) -+ } -+ return err -+} -+ -+func makeJWERecipient(alg KeyAlgorithm, encryptionKey interface{}) (recipientKeyInfo, error) { -+ switch encryptionKey := encryptionKey.(type) { -+ case *rsa.PublicKey: -+ return newRSARecipient(alg, encryptionKey) -+ case *ecdsa.PublicKey: -+ return newECDHRecipient(alg, encryptionKey) -+ case []byte: -+ return newSymmetricRecipient(alg, encryptionKey) -+ case string: -+ return newSymmetricRecipient(alg, []byte(encryptionKey)) -+ case *JSONWebKey: -+ recipient, err := makeJWERecipient(alg, encryptionKey.Key) -+ recipient.keyID = encryptionKey.KeyID -+ return recipient, err -+ default: -+ return recipientKeyInfo{}, ErrUnsupportedKeyType -+ } -+} -+ -+// newDecrypter creates an appropriate decrypter based on the key type -+func newDecrypter(decryptionKey interface{}) (keyDecrypter, error) { -+ switch decryptionKey := decryptionKey.(type) { -+ case *rsa.PrivateKey: -+ return &rsaDecrypterSigner{ -+ privateKey: decryptionKey, -+ }, nil -+ case *ecdsa.PrivateKey: -+ return &ecDecrypterSigner{ -+ privateKey: decryptionKey, -+ }, nil -+ case []byte: -+ return &symmetricKeyCipher{ -+ key: decryptionKey, -+ }, nil -+ case string: -+ return &symmetricKeyCipher{ -+ key: []byte(decryptionKey), -+ }, nil -+ case JSONWebKey: -+ return newDecrypter(decryptionKey.Key) -+ case *JSONWebKey: -+ return newDecrypter(decryptionKey.Key) -+ default: -+ return nil, ErrUnsupportedKeyType -+ } -+} -+ -+// Implementation of encrypt method producing a JWE object. -+func (ctx *genericEncrypter) Encrypt(plaintext []byte) (*JSONWebEncryption, error) { -+ return ctx.EncryptWithAuthData(plaintext, nil) -+} -+ -+// Implementation of encrypt method producing a JWE object. -+func (ctx *genericEncrypter) EncryptWithAuthData(plaintext, aad []byte) (*JSONWebEncryption, error) { -+ obj := &JSONWebEncryption{} -+ obj.aad = aad -+ -+ obj.protected = &rawHeader{} -+ err := obj.protected.set(headerEncryption, ctx.contentAlg) -+ if err != nil { -+ return nil, err -+ } -+ -+ obj.recipients = make([]recipientInfo, len(ctx.recipients)) -+ -+ if len(ctx.recipients) == 0 { -+ return nil, fmt.Errorf("square/go-jose: no recipients to encrypt to") -+ } -+ -+ cek, headers, err := ctx.keyGenerator.genKey() -+ if err != nil { -+ return nil, err -+ } -+ -+ obj.protected.merge(&headers) -+ -+ for i, info := range ctx.recipients { -+ recipient, err := info.keyEncrypter.encryptKey(cek, info.keyAlg) -+ if err != nil { -+ return nil, err -+ } -+ -+ err = recipient.header.set(headerAlgorithm, info.keyAlg) -+ if err != nil { -+ return nil, err -+ } -+ -+ if info.keyID != "" { -+ err = recipient.header.set(headerKeyID, info.keyID) -+ if err != nil { -+ return nil, err -+ } -+ } -+ obj.recipients[i] = recipient -+ } -+ -+ if len(ctx.recipients) == 1 { -+ // Move per-recipient headers into main protected header if there's -+ // only a single recipient. -+ obj.protected.merge(obj.recipients[0].header) -+ obj.recipients[0].header = nil -+ } -+ -+ if ctx.compressionAlg != NONE { -+ plaintext, err = compress(ctx.compressionAlg, plaintext) -+ if err != nil { -+ return nil, err -+ } -+ -+ err = obj.protected.set(headerCompression, ctx.compressionAlg) -+ if err != nil { -+ return nil, err -+ } -+ } -+ -+ for k, v := range ctx.extraHeaders { -+ b, err := json.Marshal(v) -+ if err != nil { -+ return nil, err -+ } -+ (*obj.protected)[k] = makeRawMessage(b) -+ } -+ -+ authData := obj.computeAuthData() -+ parts, err := ctx.cipher.encrypt(cek, authData, plaintext) -+ if err != nil { -+ return nil, err -+ } -+ -+ obj.iv = parts.iv -+ obj.ciphertext = parts.ciphertext -+ obj.tag = parts.tag -+ -+ return obj, nil -+} -+ -+func (ctx *genericEncrypter) Options() EncrypterOptions { -+ return EncrypterOptions{ -+ Compression: ctx.compressionAlg, -+ ExtraHeaders: ctx.extraHeaders, -+ } -+} -+ -+// Decrypt and validate the object and return the plaintext. Note that this -+// function does not support multi-recipient, if you desire multi-recipient -+// decryption use DecryptMulti instead. -+func (obj JSONWebEncryption) Decrypt(decryptionKey interface{}) ([]byte, error) { -+ headers := obj.mergedHeaders(nil) -+ -+ if len(obj.recipients) > 1 { -+ return nil, errors.New("square/go-jose: too many recipients in payload; expecting only one") -+ } -+ -+ critical, err := headers.getCritical() -+ if err != nil { -+ return nil, fmt.Errorf("square/go-jose: invalid crit header") -+ } -+ -+ if len(critical) > 0 { -+ return nil, fmt.Errorf("square/go-jose: unsupported crit header") -+ } -+ -+ decrypter, err := newDecrypter(decryptionKey) -+ if err != nil { -+ return nil, err -+ } -+ -+ cipher := getContentCipher(headers.getEncryption()) -+ if cipher == nil { -+ return nil, fmt.Errorf("square/go-jose: unsupported enc value '%s'", string(headers.getEncryption())) -+ } -+ -+ generator := randomKeyGenerator{ -+ size: cipher.keySize(), -+ } -+ -+ parts := &aeadParts{ -+ iv: obj.iv, -+ ciphertext: obj.ciphertext, -+ tag: obj.tag, -+ } -+ -+ authData := obj.computeAuthData() -+ -+ var plaintext []byte -+ recipient := obj.recipients[0] -+ recipientHeaders := obj.mergedHeaders(&recipient) -+ -+ cek, err := decrypter.decryptKey(recipientHeaders, &recipient, generator) -+ if err == nil { -+ // Found a valid CEK -- let's try to decrypt. -+ plaintext, err = cipher.decrypt(cek, authData, parts) -+ } -+ -+ if plaintext == nil { -+ return nil, ErrCryptoFailure -+ } -+ -+ // The "zip" header parameter may only be present in the protected header. -+ if comp := obj.protected.getCompression(); comp != "" { -+ plaintext, err = decompress(comp, plaintext) -+ } -+ -+ return plaintext, err -+} -+ -+// DecryptMulti decrypts and validates the object and returns the plaintexts, -+// with support for multiple recipients. It returns the index of the recipient -+// for which the decryption was successful, the merged headers for that recipient, -+// and the plaintext. -+func (obj JSONWebEncryption) DecryptMulti(decryptionKey interface{}) (int, Header, []byte, error) { -+ globalHeaders := obj.mergedHeaders(nil) -+ -+ critical, err := globalHeaders.getCritical() -+ if err != nil { -+ return -1, Header{}, nil, fmt.Errorf("square/go-jose: invalid crit header") -+ } -+ -+ if len(critical) > 0 { -+ return -1, Header{}, nil, fmt.Errorf("square/go-jose: unsupported crit header") -+ } -+ -+ decrypter, err := newDecrypter(decryptionKey) -+ if err != nil { -+ return -1, Header{}, nil, err -+ } -+ -+ encryption := globalHeaders.getEncryption() -+ cipher := getContentCipher(encryption) -+ if cipher == nil { -+ return -1, Header{}, nil, fmt.Errorf("square/go-jose: unsupported enc value '%s'", string(encryption)) -+ } -+ -+ generator := randomKeyGenerator{ -+ size: cipher.keySize(), -+ } -+ -+ parts := &aeadParts{ -+ iv: obj.iv, -+ ciphertext: obj.ciphertext, -+ tag: obj.tag, -+ } -+ -+ authData := obj.computeAuthData() -+ -+ index := -1 -+ var plaintext []byte -+ var headers rawHeader -+ -+ for i, recipient := range obj.recipients { -+ recipientHeaders := obj.mergedHeaders(&recipient) -+ -+ cek, err := decrypter.decryptKey(recipientHeaders, &recipient, generator) -+ if err == nil { -+ // Found a valid CEK -- let's try to decrypt. -+ plaintext, err = cipher.decrypt(cek, authData, parts) -+ if err == nil { -+ index = i -+ headers = recipientHeaders -+ break -+ } -+ } -+ } -+ -+ if plaintext == nil || err != nil { -+ return -1, Header{}, nil, ErrCryptoFailure -+ } -+ -+ // The "zip" header parameter may only be present in the protected header. -+ if comp := obj.protected.getCompression(); comp != "" { -+ plaintext, err = decompress(comp, plaintext) -+ } -+ -+ sanitized, err := headers.sanitized() -+ if err != nil { -+ return -1, Header{}, nil, fmt.Errorf("square/go-jose: failed to sanitize header: %v", err) -+ } -+ -+ return index, sanitized, plaintext, err -+} -diff --git a/vendor/gopkg.in/square/go-jose.v2/doc.go b/vendor/gopkg.in/square/go-jose.v2/doc.go -new file mode 100644 -index 000000000..dd1387f3f ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/doc.go -@@ -0,0 +1,27 @@ -+/*- -+ * Copyright 2014 Square Inc. -+ * -+ * 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 jose aims to provide an implementation of the Javascript Object Signing -+and Encryption set of standards. It implements encryption and signing based on -+the JSON Web Encryption and JSON Web Signature standards, with optional JSON -+Web Token support available in a sub-package. The library supports both the -+compact and full serialization formats, and has optional support for multiple -+recipients. -+ -+*/ -+package jose -diff --git a/vendor/gopkg.in/square/go-jose.v2/encoding.go b/vendor/gopkg.in/square/go-jose.v2/encoding.go -new file mode 100644 -index 000000000..b9687c647 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/encoding.go -@@ -0,0 +1,179 @@ -+/*- -+ * Copyright 2014 Square Inc. -+ * -+ * 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 jose -+ -+import ( -+ "bytes" -+ "compress/flate" -+ "encoding/base64" -+ "encoding/binary" -+ "io" -+ "math/big" -+ "regexp" -+ -+ "gopkg.in/square/go-jose.v2/json" -+) -+ -+var stripWhitespaceRegex = regexp.MustCompile("\\s") -+ -+// Helper function to serialize known-good objects. -+// Precondition: value is not a nil pointer. -+func mustSerializeJSON(value interface{}) []byte { -+ out, err := json.Marshal(value) -+ if err != nil { -+ panic(err) -+ } -+ // We never want to serialize the top-level value "null," since it's not a -+ // valid JOSE message. But if a caller passes in a nil pointer to this method, -+ // MarshalJSON will happily serialize it as the top-level value "null". If -+ // that value is then embedded in another operation, for instance by being -+ // base64-encoded and fed as input to a signing algorithm -+ // (https://github.com/square/go-jose/issues/22), the result will be -+ // incorrect. Because this method is intended for known-good objects, and a nil -+ // pointer is not a known-good object, we are free to panic in this case. -+ // Note: It's not possible to directly check whether the data pointed at by an -+ // interface is a nil pointer, so we do this hacky workaround. -+ // https://groups.google.com/forum/#!topic/golang-nuts/wnH302gBa4I -+ if string(out) == "null" { -+ panic("Tried to serialize a nil pointer.") -+ } -+ return out -+} -+ -+// Strip all newlines and whitespace -+func stripWhitespace(data string) string { -+ return stripWhitespaceRegex.ReplaceAllString(data, "") -+} -+ -+// Perform compression based on algorithm -+func compress(algorithm CompressionAlgorithm, input []byte) ([]byte, error) { -+ switch algorithm { -+ case DEFLATE: -+ return deflate(input) -+ default: -+ return nil, ErrUnsupportedAlgorithm -+ } -+} -+ -+// Perform decompression based on algorithm -+func decompress(algorithm CompressionAlgorithm, input []byte) ([]byte, error) { -+ switch algorithm { -+ case DEFLATE: -+ return inflate(input) -+ default: -+ return nil, ErrUnsupportedAlgorithm -+ } -+} -+ -+// Compress with DEFLATE -+func deflate(input []byte) ([]byte, error) { -+ output := new(bytes.Buffer) -+ -+ // Writing to byte buffer, err is always nil -+ writer, _ := flate.NewWriter(output, 1) -+ _, _ = io.Copy(writer, bytes.NewBuffer(input)) -+ -+ err := writer.Close() -+ return output.Bytes(), err -+} -+ -+// Decompress with DEFLATE -+func inflate(input []byte) ([]byte, error) { -+ output := new(bytes.Buffer) -+ reader := flate.NewReader(bytes.NewBuffer(input)) -+ -+ _, err := io.Copy(output, reader) -+ if err != nil { -+ return nil, err -+ } -+ -+ err = reader.Close() -+ return output.Bytes(), err -+} -+ -+// byteBuffer represents a slice of bytes that can be serialized to url-safe base64. -+type byteBuffer struct { -+ data []byte -+} -+ -+func newBuffer(data []byte) *byteBuffer { -+ if data == nil { -+ return nil -+ } -+ return &byteBuffer{ -+ data: data, -+ } -+} -+ -+func newFixedSizeBuffer(data []byte, length int) *byteBuffer { -+ if len(data) > length { -+ panic("square/go-jose: invalid call to newFixedSizeBuffer (len(data) > length)") -+ } -+ pad := make([]byte, length-len(data)) -+ return newBuffer(append(pad, data...)) -+} -+ -+func newBufferFromInt(num uint64) *byteBuffer { -+ data := make([]byte, 8) -+ binary.BigEndian.PutUint64(data, num) -+ return newBuffer(bytes.TrimLeft(data, "\x00")) -+} -+ -+func (b *byteBuffer) MarshalJSON() ([]byte, error) { -+ return json.Marshal(b.base64()) -+} -+ -+func (b *byteBuffer) UnmarshalJSON(data []byte) error { -+ var encoded string -+ err := json.Unmarshal(data, &encoded) -+ if err != nil { -+ return err -+ } -+ -+ if encoded == "" { -+ return nil -+ } -+ -+ decoded, err := base64.RawURLEncoding.DecodeString(encoded) -+ if err != nil { -+ return err -+ } -+ -+ *b = *newBuffer(decoded) -+ -+ return nil -+} -+ -+func (b *byteBuffer) base64() string { -+ return base64.RawURLEncoding.EncodeToString(b.data) -+} -+ -+func (b *byteBuffer) bytes() []byte { -+ // Handling nil here allows us to transparently handle nil slices when serializing. -+ if b == nil { -+ return nil -+ } -+ return b.data -+} -+ -+func (b byteBuffer) bigInt() *big.Int { -+ return new(big.Int).SetBytes(b.data) -+} -+ -+func (b byteBuffer) toInt() int { -+ return int(b.bigInt().Int64()) -+} -diff --git a/vendor/gopkg.in/square/go-jose.v2/json/LICENSE b/vendor/gopkg.in/square/go-jose.v2/json/LICENSE -new file mode 100644 -index 000000000..744875676 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/json/LICENSE -@@ -0,0 +1,27 @@ -+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/gopkg.in/square/go-jose.v2/json/README.md b/vendor/gopkg.in/square/go-jose.v2/json/README.md -new file mode 100644 -index 000000000..86de5e558 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/json/README.md -@@ -0,0 +1,13 @@ -+# Safe JSON -+ -+This repository contains a fork of the `encoding/json` package from Go 1.6. -+ -+The following changes were made: -+ -+* Object deserialization uses case-sensitive member name matching instead of -+ [case-insensitive matching](https://www.ietf.org/mail-archive/web/json/current/msg03763.html). -+ This is to avoid differences in the interpretation of JOSE messages between -+ go-jose and libraries written in other languages. -+* When deserializing a JSON object, we check for duplicate keys and reject the -+ input whenever we detect a duplicate. Rather than trying to work with malformed -+ data, we prefer to reject it right away. -diff --git a/vendor/gopkg.in/square/go-jose.v2/json/decode.go b/vendor/gopkg.in/square/go-jose.v2/json/decode.go -new file mode 100644 -index 000000000..37457e5a8 ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/json/decode.go -@@ -0,0 +1,1183 @@ -+// 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. -+ -+// Represents JSON data structure using native Go types: booleans, floats, -+// strings, arrays, and maps. -+ -+package json -+ -+import ( -+ "bytes" -+ "encoding" -+ "encoding/base64" -+ "errors" -+ "fmt" -+ "reflect" -+ "runtime" -+ "strconv" -+ "unicode" -+ "unicode/utf16" -+ "unicode/utf8" -+) -+ -+// Unmarshal parses the JSON-encoded data and stores the result -+// in the value pointed to by v. -+// -+// Unmarshal uses the inverse of the encodings that -+// Marshal uses, allocating maps, slices, and pointers as necessary, -+// with the following additional rules: -+// -+// To unmarshal JSON into a pointer, Unmarshal first handles the case of -+// the JSON being the JSON literal null. In that case, Unmarshal sets -+// the pointer to nil. Otherwise, Unmarshal unmarshals the JSON into -+// the value pointed at by the pointer. If the pointer is nil, Unmarshal -+// allocates a new value for it to point to. -+// -+// To unmarshal JSON into a struct, Unmarshal matches incoming object -+// keys to the keys used by Marshal (either the struct field name or its tag), -+// preferring an exact match but also accepting a case-insensitive match. -+// Unmarshal will only set exported fields of the struct. -+// -+// To unmarshal JSON into an interface value, -+// Unmarshal stores one of these in the interface value: -+// -+// bool, for JSON booleans -+// float64, for JSON numbers -+// string, for JSON strings -+// []interface{}, for JSON arrays -+// map[string]interface{}, for JSON objects -+// nil for JSON null -+// -+// To unmarshal a JSON array into a slice, Unmarshal resets the slice length -+// to zero and then appends each element to the slice. -+// As a special case, to unmarshal an empty JSON array into a slice, -+// Unmarshal replaces the slice with a new empty slice. -+// -+// To unmarshal a JSON array into a Go array, Unmarshal decodes -+// JSON array elements into corresponding Go array elements. -+// If the Go array is smaller than the JSON array, -+// the additional JSON array elements are discarded. -+// If the JSON array is smaller than the Go array, -+// the additional Go array elements are set to zero values. -+// -+// To unmarshal a JSON object into a string-keyed map, Unmarshal first -+// establishes a map to use, If the map is nil, Unmarshal allocates a new map. -+// Otherwise Unmarshal reuses the existing map, keeping existing entries. -+// Unmarshal then stores key-value pairs from the JSON object into the map. -+// -+// If a JSON value is not appropriate for a given target type, -+// or if a JSON number overflows the target type, Unmarshal -+// skips that field and completes the unmarshaling as best it can. -+// If no more serious errors are encountered, Unmarshal returns -+// an UnmarshalTypeError describing the earliest such error. -+// -+// The JSON null value unmarshals into an interface, map, pointer, or slice -+// by setting that Go value to nil. Because null is often used in JSON to mean -+// ``not present,'' unmarshaling a JSON null into any other Go type has no effect -+// on the value and produces no error. -+// -+// When unmarshaling quoted strings, invalid UTF-8 or -+// invalid UTF-16 surrogate pairs are not treated as an error. -+// Instead, they are replaced by the Unicode replacement -+// character U+FFFD. -+// -+func Unmarshal(data []byte, v interface{}) error { -+ // Check for well-formedness. -+ // Avoids filling out half a data structure -+ // before discovering a JSON syntax error. -+ var d decodeState -+ err := checkValid(data, &d.scan) -+ if err != nil { -+ return err -+ } -+ -+ d.init(data) -+ return d.unmarshal(v) -+} -+ -+// Unmarshaler is the interface implemented by objects -+// that can unmarshal a JSON description of themselves. -+// The input can be assumed to be a valid encoding of -+// a JSON value. UnmarshalJSON must copy the JSON data -+// if it wishes to retain the data after returning. -+type Unmarshaler interface { -+ UnmarshalJSON([]byte) error -+} -+ -+// An UnmarshalTypeError describes a JSON value that was -+// not appropriate for a value of a specific Go type. -+type UnmarshalTypeError struct { -+ Value string // description of JSON value - "bool", "array", "number -5" -+ Type reflect.Type // type of Go value it could not be assigned to -+ Offset int64 // error occurred after reading Offset bytes -+} -+ -+func (e *UnmarshalTypeError) Error() string { -+ return "json: cannot unmarshal " + e.Value + " into Go value of type " + e.Type.String() -+} -+ -+// An UnmarshalFieldError describes a JSON object key that -+// led to an unexported (and therefore unwritable) struct field. -+// (No longer used; kept for compatibility.) -+type UnmarshalFieldError struct { -+ Key string -+ Type reflect.Type -+ Field reflect.StructField -+} -+ -+func (e *UnmarshalFieldError) Error() string { -+ return "json: cannot unmarshal object key " + strconv.Quote(e.Key) + " into unexported field " + e.Field.Name + " of type " + e.Type.String() -+} -+ -+// An InvalidUnmarshalError describes an invalid argument passed to Unmarshal. -+// (The argument to Unmarshal must be a non-nil pointer.) -+type InvalidUnmarshalError struct { -+ Type reflect.Type -+} -+ -+func (e *InvalidUnmarshalError) Error() string { -+ if e.Type == nil { -+ return "json: Unmarshal(nil)" -+ } -+ -+ if e.Type.Kind() != reflect.Ptr { -+ return "json: Unmarshal(non-pointer " + e.Type.String() + ")" -+ } -+ return "json: Unmarshal(nil " + e.Type.String() + ")" -+} -+ -+func (d *decodeState) unmarshal(v interface{}) (err error) { -+ defer func() { -+ if r := recover(); r != nil { -+ if _, ok := r.(runtime.Error); ok { -+ panic(r) -+ } -+ err = r.(error) -+ } -+ }() -+ -+ rv := reflect.ValueOf(v) -+ if rv.Kind() != reflect.Ptr || rv.IsNil() { -+ return &InvalidUnmarshalError{reflect.TypeOf(v)} -+ } -+ -+ d.scan.reset() -+ // We decode rv not rv.Elem because the Unmarshaler interface -+ // test must be applied at the top level of the value. -+ d.value(rv) -+ return d.savedError -+} -+ -+// A Number represents a JSON number literal. -+type Number string -+ -+// String returns the literal text of the number. -+func (n Number) String() string { return string(n) } -+ -+// Float64 returns the number as a float64. -+func (n Number) Float64() (float64, error) { -+ return strconv.ParseFloat(string(n), 64) -+} -+ -+// Int64 returns the number as an int64. -+func (n Number) Int64() (int64, error) { -+ return strconv.ParseInt(string(n), 10, 64) -+} -+ -+// isValidNumber reports whether s is a valid JSON number literal. -+func isValidNumber(s string) bool { -+ // This function implements the JSON numbers grammar. -+ // See https://tools.ietf.org/html/rfc7159#section-6 -+ // and http://json.org/number.gif -+ -+ if s == "" { -+ return false -+ } -+ -+ // Optional - -+ if s[0] == '-' { -+ s = s[1:] -+ if s == "" { -+ return false -+ } -+ } -+ -+ // Digits -+ switch { -+ default: -+ return false -+ -+ case s[0] == '0': -+ s = s[1:] -+ -+ case '1' <= s[0] && s[0] <= '9': -+ s = s[1:] -+ for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { -+ s = s[1:] -+ } -+ } -+ -+ // . followed by 1 or more digits. -+ if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { -+ s = s[2:] -+ for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { -+ s = s[1:] -+ } -+ } -+ -+ // e or E followed by an optional - or + and -+ // 1 or more digits. -+ if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { -+ s = s[1:] -+ if s[0] == '+' || s[0] == '-' { -+ s = s[1:] -+ if s == "" { -+ return false -+ } -+ } -+ for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { -+ s = s[1:] -+ } -+ } -+ -+ // Make sure we are at the end. -+ return s == "" -+} -+ -+// decodeState represents the state while decoding a JSON value. -+type decodeState struct { -+ data []byte -+ off int // read offset in data -+ scan scanner -+ nextscan scanner // for calls to nextValue -+ savedError error -+ useNumber bool -+} -+ -+// errPhase is used for errors that should not happen unless -+// there is a bug in the JSON decoder or something is editing -+// the data slice while the decoder executes. -+var errPhase = errors.New("JSON decoder out of sync - data changing underfoot?") -+ -+func (d *decodeState) init(data []byte) *decodeState { -+ d.data = data -+ d.off = 0 -+ d.savedError = nil -+ return d -+} -+ -+// error aborts the decoding by panicking with err. -+func (d *decodeState) error(err error) { -+ panic(err) -+} -+ -+// saveError saves the first err it is called with, -+// for reporting at the end of the unmarshal. -+func (d *decodeState) saveError(err error) { -+ if d.savedError == nil { -+ d.savedError = err -+ } -+} -+ -+// next cuts off and returns the next full JSON value in d.data[d.off:]. -+// The next value is known to be an object or array, not a literal. -+func (d *decodeState) next() []byte { -+ c := d.data[d.off] -+ item, rest, err := nextValue(d.data[d.off:], &d.nextscan) -+ if err != nil { -+ d.error(err) -+ } -+ d.off = len(d.data) - len(rest) -+ -+ // Our scanner has seen the opening brace/bracket -+ // and thinks we're still in the middle of the object. -+ // invent a closing brace/bracket to get it out. -+ if c == '{' { -+ d.scan.step(&d.scan, '}') -+ } else { -+ d.scan.step(&d.scan, ']') -+ } -+ -+ return item -+} -+ -+// scanWhile processes bytes in d.data[d.off:] until it -+// receives a scan code not equal to op. -+// It updates d.off and returns the new scan code. -+func (d *decodeState) scanWhile(op int) int { -+ var newOp int -+ for { -+ if d.off >= len(d.data) { -+ newOp = d.scan.eof() -+ d.off = len(d.data) + 1 // mark processed EOF with len+1 -+ } else { -+ c := d.data[d.off] -+ d.off++ -+ newOp = d.scan.step(&d.scan, c) -+ } -+ if newOp != op { -+ break -+ } -+ } -+ return newOp -+} -+ -+// value decodes a JSON value from d.data[d.off:] into the value. -+// it updates d.off to point past the decoded value. -+func (d *decodeState) value(v reflect.Value) { -+ if !v.IsValid() { -+ _, rest, err := nextValue(d.data[d.off:], &d.nextscan) -+ if err != nil { -+ d.error(err) -+ } -+ d.off = len(d.data) - len(rest) -+ -+ // d.scan thinks we're still at the beginning of the item. -+ // Feed in an empty string - the shortest, simplest value - -+ // so that it knows we got to the end of the value. -+ if d.scan.redo { -+ // rewind. -+ d.scan.redo = false -+ d.scan.step = stateBeginValue -+ } -+ d.scan.step(&d.scan, '"') -+ d.scan.step(&d.scan, '"') -+ -+ n := len(d.scan.parseState) -+ if n > 0 && d.scan.parseState[n-1] == parseObjectKey { -+ // d.scan thinks we just read an object key; finish the object -+ d.scan.step(&d.scan, ':') -+ d.scan.step(&d.scan, '"') -+ d.scan.step(&d.scan, '"') -+ d.scan.step(&d.scan, '}') -+ } -+ -+ return -+ } -+ -+ switch op := d.scanWhile(scanSkipSpace); op { -+ default: -+ d.error(errPhase) -+ -+ case scanBeginArray: -+ d.array(v) -+ -+ case scanBeginObject: -+ d.object(v) -+ -+ case scanBeginLiteral: -+ d.literal(v) -+ } -+} -+ -+type unquotedValue struct{} -+ -+// valueQuoted is like value but decodes a -+// quoted string literal or literal null into an interface value. -+// If it finds anything other than a quoted string literal or null, -+// valueQuoted returns unquotedValue{}. -+func (d *decodeState) valueQuoted() interface{} { -+ switch op := d.scanWhile(scanSkipSpace); op { -+ default: -+ d.error(errPhase) -+ -+ case scanBeginArray: -+ d.array(reflect.Value{}) -+ -+ case scanBeginObject: -+ d.object(reflect.Value{}) -+ -+ case scanBeginLiteral: -+ switch v := d.literalInterface().(type) { -+ case nil, string: -+ return v -+ } -+ } -+ return unquotedValue{} -+} -+ -+// indirect walks down v allocating pointers as needed, -+// until it gets to a non-pointer. -+// if it encounters an Unmarshaler, indirect stops and returns that. -+// if decodingNull is true, indirect stops at the last pointer so it can be set to nil. -+func (d *decodeState) indirect(v reflect.Value, decodingNull bool) (Unmarshaler, encoding.TextUnmarshaler, reflect.Value) { -+ // If v is a named type and is addressable, -+ // start with its address, so that if the type has pointer methods, -+ // we find them. -+ if v.Kind() != reflect.Ptr && v.Type().Name() != "" && v.CanAddr() { -+ v = v.Addr() -+ } -+ for { -+ // Load value from interface, but only if the result will be -+ // usefully addressable. -+ if v.Kind() == reflect.Interface && !v.IsNil() { -+ e := v.Elem() -+ if e.Kind() == reflect.Ptr && !e.IsNil() && (!decodingNull || e.Elem().Kind() == reflect.Ptr) { -+ v = e -+ continue -+ } -+ } -+ -+ if v.Kind() != reflect.Ptr { -+ break -+ } -+ -+ if v.Elem().Kind() != reflect.Ptr && decodingNull && v.CanSet() { -+ break -+ } -+ if v.IsNil() { -+ v.Set(reflect.New(v.Type().Elem())) -+ } -+ if v.Type().NumMethod() > 0 { -+ if u, ok := v.Interface().(Unmarshaler); ok { -+ return u, nil, reflect.Value{} -+ } -+ if u, ok := v.Interface().(encoding.TextUnmarshaler); ok { -+ return nil, u, reflect.Value{} -+ } -+ } -+ v = v.Elem() -+ } -+ return nil, nil, v -+} -+ -+// array consumes an array from d.data[d.off-1:], decoding into the value v. -+// the first byte of the array ('[') has been read already. -+func (d *decodeState) array(v reflect.Value) { -+ // Check for unmarshaler. -+ u, ut, pv := d.indirect(v, false) -+ if u != nil { -+ d.off-- -+ err := u.UnmarshalJSON(d.next()) -+ if err != nil { -+ d.error(err) -+ } -+ return -+ } -+ if ut != nil { -+ d.saveError(&UnmarshalTypeError{"array", v.Type(), int64(d.off)}) -+ d.off-- -+ d.next() -+ return -+ } -+ -+ v = pv -+ -+ // Check type of target. -+ switch v.Kind() { -+ case reflect.Interface: -+ if v.NumMethod() == 0 { -+ // Decoding into nil interface? Switch to non-reflect code. -+ v.Set(reflect.ValueOf(d.arrayInterface())) -+ return -+ } -+ // Otherwise it's invalid. -+ fallthrough -+ default: -+ d.saveError(&UnmarshalTypeError{"array", v.Type(), int64(d.off)}) -+ d.off-- -+ d.next() -+ return -+ case reflect.Array: -+ case reflect.Slice: -+ break -+ } -+ -+ i := 0 -+ for { -+ // Look ahead for ] - can only happen on first iteration. -+ op := d.scanWhile(scanSkipSpace) -+ if op == scanEndArray { -+ break -+ } -+ -+ // Back up so d.value can have the byte we just read. -+ d.off-- -+ d.scan.undo(op) -+ -+ // Get element of array, growing if necessary. -+ if v.Kind() == reflect.Slice { -+ // Grow slice if necessary -+ if i >= v.Cap() { -+ newcap := v.Cap() + v.Cap()/2 -+ if newcap < 4 { -+ newcap = 4 -+ } -+ newv := reflect.MakeSlice(v.Type(), v.Len(), newcap) -+ reflect.Copy(newv, v) -+ v.Set(newv) -+ } -+ if i >= v.Len() { -+ v.SetLen(i + 1) -+ } -+ } -+ -+ if i < v.Len() { -+ // Decode into element. -+ d.value(v.Index(i)) -+ } else { -+ // Ran out of fixed array: skip. -+ d.value(reflect.Value{}) -+ } -+ i++ -+ -+ // Next token must be , or ]. -+ op = d.scanWhile(scanSkipSpace) -+ if op == scanEndArray { -+ break -+ } -+ if op != scanArrayValue { -+ d.error(errPhase) -+ } -+ } -+ -+ if i < v.Len() { -+ if v.Kind() == reflect.Array { -+ // Array. Zero the rest. -+ z := reflect.Zero(v.Type().Elem()) -+ for ; i < v.Len(); i++ { -+ v.Index(i).Set(z) -+ } -+ } else { -+ v.SetLen(i) -+ } -+ } -+ if i == 0 && v.Kind() == reflect.Slice { -+ v.Set(reflect.MakeSlice(v.Type(), 0, 0)) -+ } -+} -+ -+var nullLiteral = []byte("null") -+ -+// object consumes an object from d.data[d.off-1:], decoding into the value v. -+// the first byte ('{') of the object has been read already. -+func (d *decodeState) object(v reflect.Value) { -+ // Check for unmarshaler. -+ u, ut, pv := d.indirect(v, false) -+ if u != nil { -+ d.off-- -+ err := u.UnmarshalJSON(d.next()) -+ if err != nil { -+ d.error(err) -+ } -+ return -+ } -+ if ut != nil { -+ d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) -+ d.off-- -+ d.next() // skip over { } in input -+ return -+ } -+ v = pv -+ -+ // Decoding into nil interface? Switch to non-reflect code. -+ if v.Kind() == reflect.Interface && v.NumMethod() == 0 { -+ v.Set(reflect.ValueOf(d.objectInterface())) -+ return -+ } -+ -+ // Check type of target: struct or map[string]T -+ switch v.Kind() { -+ case reflect.Map: -+ // map must have string kind -+ t := v.Type() -+ if t.Key().Kind() != reflect.String { -+ d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) -+ d.off-- -+ d.next() // skip over { } in input -+ return -+ } -+ if v.IsNil() { -+ v.Set(reflect.MakeMap(t)) -+ } -+ case reflect.Struct: -+ -+ default: -+ d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) -+ d.off-- -+ d.next() // skip over { } in input -+ return -+ } -+ -+ var mapElem reflect.Value -+ keys := map[string]bool{} -+ -+ for { -+ // Read opening " of string key or closing }. -+ op := d.scanWhile(scanSkipSpace) -+ if op == scanEndObject { -+ // closing } - can only happen on first iteration. -+ break -+ } -+ if op != scanBeginLiteral { -+ d.error(errPhase) -+ } -+ -+ // Read key. -+ start := d.off - 1 -+ op = d.scanWhile(scanContinue) -+ item := d.data[start : d.off-1] -+ key, ok := unquote(item) -+ if !ok { -+ d.error(errPhase) -+ } -+ -+ // Check for duplicate keys. -+ _, ok = keys[key] -+ if !ok { -+ keys[key] = true -+ } else { -+ d.error(fmt.Errorf("json: duplicate key '%s' in object", key)) -+ } -+ -+ // Figure out field corresponding to key. -+ var subv reflect.Value -+ destring := false // whether the value is wrapped in a string to be decoded first -+ -+ if v.Kind() == reflect.Map { -+ elemType := v.Type().Elem() -+ if !mapElem.IsValid() { -+ mapElem = reflect.New(elemType).Elem() -+ } else { -+ mapElem.Set(reflect.Zero(elemType)) -+ } -+ subv = mapElem -+ } else { -+ var f *field -+ fields := cachedTypeFields(v.Type()) -+ for i := range fields { -+ ff := &fields[i] -+ if bytes.Equal(ff.nameBytes, []byte(key)) { -+ f = ff -+ break -+ } -+ } -+ if f != nil { -+ subv = v -+ destring = f.quoted -+ for _, i := range f.index { -+ if subv.Kind() == reflect.Ptr { -+ if subv.IsNil() { -+ subv.Set(reflect.New(subv.Type().Elem())) -+ } -+ subv = subv.Elem() -+ } -+ subv = subv.Field(i) -+ } -+ } -+ } -+ -+ // Read : before value. -+ if op == scanSkipSpace { -+ op = d.scanWhile(scanSkipSpace) -+ } -+ if op != scanObjectKey { -+ d.error(errPhase) -+ } -+ -+ // Read value. -+ if destring { -+ switch qv := d.valueQuoted().(type) { -+ case nil: -+ d.literalStore(nullLiteral, subv, false) -+ case string: -+ d.literalStore([]byte(qv), subv, true) -+ default: -+ d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal unquoted value into %v", subv.Type())) -+ } -+ } else { -+ d.value(subv) -+ } -+ -+ // Write value back to map; -+ // if using struct, subv points into struct already. -+ if v.Kind() == reflect.Map { -+ kv := reflect.ValueOf(key).Convert(v.Type().Key()) -+ v.SetMapIndex(kv, subv) -+ } -+ -+ // Next token must be , or }. -+ op = d.scanWhile(scanSkipSpace) -+ if op == scanEndObject { -+ break -+ } -+ if op != scanObjectValue { -+ d.error(errPhase) -+ } -+ } -+} -+ -+// literal consumes a literal from d.data[d.off-1:], decoding into the value v. -+// The first byte of the literal has been read already -+// (that's how the caller knows it's a literal). -+func (d *decodeState) literal(v reflect.Value) { -+ // All bytes inside literal return scanContinue op code. -+ start := d.off - 1 -+ op := d.scanWhile(scanContinue) -+ -+ // Scan read one byte too far; back up. -+ d.off-- -+ d.scan.undo(op) -+ -+ d.literalStore(d.data[start:d.off], v, false) -+} -+ -+// convertNumber converts the number literal s to a float64 or a Number -+// depending on the setting of d.useNumber. -+func (d *decodeState) convertNumber(s string) (interface{}, error) { -+ if d.useNumber { -+ return Number(s), nil -+ } -+ f, err := strconv.ParseFloat(s, 64) -+ if err != nil { -+ return nil, &UnmarshalTypeError{"number " + s, reflect.TypeOf(0.0), int64(d.off)} -+ } -+ return f, nil -+} -+ -+var numberType = reflect.TypeOf(Number("")) -+ -+// literalStore decodes a literal stored in item into v. -+// -+// fromQuoted indicates whether this literal came from unwrapping a -+// string from the ",string" struct tag option. this is used only to -+// produce more helpful error messages. -+func (d *decodeState) literalStore(item []byte, v reflect.Value, fromQuoted bool) { -+ // Check for unmarshaler. -+ if len(item) == 0 { -+ //Empty string given -+ d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) -+ return -+ } -+ wantptr := item[0] == 'n' // null -+ u, ut, pv := d.indirect(v, wantptr) -+ if u != nil { -+ err := u.UnmarshalJSON(item) -+ if err != nil { -+ d.error(err) -+ } -+ return -+ } -+ if ut != nil { -+ if item[0] != '"' { -+ if fromQuoted { -+ d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) -+ } else { -+ d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) -+ } -+ return -+ } -+ s, ok := unquoteBytes(item) -+ if !ok { -+ if fromQuoted { -+ d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) -+ } else { -+ d.error(errPhase) -+ } -+ } -+ err := ut.UnmarshalText(s) -+ if err != nil { -+ d.error(err) -+ } -+ return -+ } -+ -+ v = pv -+ -+ switch c := item[0]; c { -+ case 'n': // null -+ switch v.Kind() { -+ case reflect.Interface, reflect.Ptr, reflect.Map, reflect.Slice: -+ v.Set(reflect.Zero(v.Type())) -+ // otherwise, ignore null for primitives/string -+ } -+ case 't', 'f': // true, false -+ value := c == 't' -+ switch v.Kind() { -+ default: -+ if fromQuoted { -+ d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) -+ } else { -+ d.saveError(&UnmarshalTypeError{"bool", v.Type(), int64(d.off)}) -+ } -+ case reflect.Bool: -+ v.SetBool(value) -+ case reflect.Interface: -+ if v.NumMethod() == 0 { -+ v.Set(reflect.ValueOf(value)) -+ } else { -+ d.saveError(&UnmarshalTypeError{"bool", v.Type(), int64(d.off)}) -+ } -+ } -+ -+ case '"': // string -+ s, ok := unquoteBytes(item) -+ if !ok { -+ if fromQuoted { -+ d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) -+ } else { -+ d.error(errPhase) -+ } -+ } -+ switch v.Kind() { -+ default: -+ d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) -+ case reflect.Slice: -+ if v.Type().Elem().Kind() != reflect.Uint8 { -+ d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) -+ break -+ } -+ b := make([]byte, base64.StdEncoding.DecodedLen(len(s))) -+ n, err := base64.StdEncoding.Decode(b, s) -+ if err != nil { -+ d.saveError(err) -+ break -+ } -+ v.SetBytes(b[:n]) -+ case reflect.String: -+ v.SetString(string(s)) -+ case reflect.Interface: -+ if v.NumMethod() == 0 { -+ v.Set(reflect.ValueOf(string(s))) -+ } else { -+ d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) -+ } -+ } -+ -+ default: // number -+ if c != '-' && (c < '0' || c > '9') { -+ if fromQuoted { -+ d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) -+ } else { -+ d.error(errPhase) -+ } -+ } -+ s := string(item) -+ switch v.Kind() { -+ default: -+ if v.Kind() == reflect.String && v.Type() == numberType { -+ v.SetString(s) -+ if !isValidNumber(s) { -+ d.error(fmt.Errorf("json: invalid number literal, trying to unmarshal %q into Number", item)) -+ } -+ break -+ } -+ if fromQuoted { -+ d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) -+ } else { -+ d.error(&UnmarshalTypeError{"number", v.Type(), int64(d.off)}) -+ } -+ case reflect.Interface: -+ n, err := d.convertNumber(s) -+ if err != nil { -+ d.saveError(err) -+ break -+ } -+ if v.NumMethod() != 0 { -+ d.saveError(&UnmarshalTypeError{"number", v.Type(), int64(d.off)}) -+ break -+ } -+ v.Set(reflect.ValueOf(n)) -+ -+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: -+ n, err := strconv.ParseInt(s, 10, 64) -+ if err != nil || v.OverflowInt(n) { -+ d.saveError(&UnmarshalTypeError{"number " + s, v.Type(), int64(d.off)}) -+ break -+ } -+ v.SetInt(n) -+ -+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: -+ n, err := strconv.ParseUint(s, 10, 64) -+ if err != nil || v.OverflowUint(n) { -+ d.saveError(&UnmarshalTypeError{"number " + s, v.Type(), int64(d.off)}) -+ break -+ } -+ v.SetUint(n) -+ -+ case reflect.Float32, reflect.Float64: -+ n, err := strconv.ParseFloat(s, v.Type().Bits()) -+ if err != nil || v.OverflowFloat(n) { -+ d.saveError(&UnmarshalTypeError{"number " + s, v.Type(), int64(d.off)}) -+ break -+ } -+ v.SetFloat(n) -+ } -+ } -+} -+ -+// The xxxInterface routines build up a value to be stored -+// in an empty interface. They are not strictly necessary, -+// but they avoid the weight of reflection in this common case. -+ -+// valueInterface is like value but returns interface{} -+func (d *decodeState) valueInterface() interface{} { -+ switch d.scanWhile(scanSkipSpace) { -+ default: -+ d.error(errPhase) -+ panic("unreachable") -+ case scanBeginArray: -+ return d.arrayInterface() -+ case scanBeginObject: -+ return d.objectInterface() -+ case scanBeginLiteral: -+ return d.literalInterface() -+ } -+} -+ -+// arrayInterface is like array but returns []interface{}. -+func (d *decodeState) arrayInterface() []interface{} { -+ var v = make([]interface{}, 0) -+ for { -+ // Look ahead for ] - can only happen on first iteration. -+ op := d.scanWhile(scanSkipSpace) -+ if op == scanEndArray { -+ break -+ } -+ -+ // Back up so d.value can have the byte we just read. -+ d.off-- -+ d.scan.undo(op) -+ -+ v = append(v, d.valueInterface()) -+ -+ // Next token must be , or ]. -+ op = d.scanWhile(scanSkipSpace) -+ if op == scanEndArray { -+ break -+ } -+ if op != scanArrayValue { -+ d.error(errPhase) -+ } -+ } -+ return v -+} -+ -+// objectInterface is like object but returns map[string]interface{}. -+func (d *decodeState) objectInterface() map[string]interface{} { -+ m := make(map[string]interface{}) -+ keys := map[string]bool{} -+ -+ for { -+ // Read opening " of string key or closing }. -+ op := d.scanWhile(scanSkipSpace) -+ if op == scanEndObject { -+ // closing } - can only happen on first iteration. -+ break -+ } -+ if op != scanBeginLiteral { -+ d.error(errPhase) -+ } -+ -+ // Read string key. -+ start := d.off - 1 -+ op = d.scanWhile(scanContinue) -+ item := d.data[start : d.off-1] -+ key, ok := unquote(item) -+ if !ok { -+ d.error(errPhase) -+ } -+ -+ // Check for duplicate keys. -+ _, ok = keys[key] -+ if !ok { -+ keys[key] = true -+ } else { -+ d.error(fmt.Errorf("json: duplicate key '%s' in object", key)) -+ } -+ -+ // Read : before value. -+ if op == scanSkipSpace { -+ op = d.scanWhile(scanSkipSpace) -+ } -+ if op != scanObjectKey { -+ d.error(errPhase) -+ } -+ -+ // Read value. -+ m[key] = d.valueInterface() -+ -+ // Next token must be , or }. -+ op = d.scanWhile(scanSkipSpace) -+ if op == scanEndObject { -+ break -+ } -+ if op != scanObjectValue { -+ d.error(errPhase) -+ } -+ } -+ return m -+} -+ -+// literalInterface is like literal but returns an interface value. -+func (d *decodeState) literalInterface() interface{} { -+ // All bytes inside literal return scanContinue op code. -+ start := d.off - 1 -+ op := d.scanWhile(scanContinue) -+ -+ // Scan read one byte too far; back up. -+ d.off-- -+ d.scan.undo(op) -+ item := d.data[start:d.off] -+ -+ switch c := item[0]; c { -+ case 'n': // null -+ return nil -+ -+ case 't', 'f': // true, false -+ return c == 't' -+ -+ case '"': // string -+ s, ok := unquote(item) -+ if !ok { -+ d.error(errPhase) -+ } -+ return s -+ -+ default: // number -+ if c != '-' && (c < '0' || c > '9') { -+ d.error(errPhase) -+ } -+ n, err := d.convertNumber(string(item)) -+ if err != nil { -+ d.saveError(err) -+ } -+ return n -+ } -+} -+ -+// getu4 decodes \uXXXX from the beginning of s, returning the hex value, -+// or it returns -1. -+func getu4(s []byte) rune { -+ if len(s) < 6 || s[0] != '\\' || s[1] != 'u' { -+ return -1 -+ } -+ r, err := strconv.ParseUint(string(s[2:6]), 16, 64) -+ if err != nil { -+ return -1 -+ } -+ return rune(r) -+} -+ -+// unquote converts a quoted JSON string literal s into an actual string t. -+// The rules are different than for Go, so cannot use strconv.Unquote. -+func unquote(s []byte) (t string, ok bool) { -+ s, ok = unquoteBytes(s) -+ t = string(s) -+ return -+} -+ -+func unquoteBytes(s []byte) (t []byte, ok bool) { -+ if len(s) < 2 || s[0] != '"' || s[len(s)-1] != '"' { -+ return -+ } -+ s = s[1 : len(s)-1] -+ -+ // Check for unusual characters. If there are none, -+ // then no unquoting is needed, so return a slice of the -+ // original bytes. -+ r := 0 -+ for r < len(s) { -+ c := s[r] -+ if c == '\\' || c == '"' || c < ' ' { -+ break -+ } -+ if c < utf8.RuneSelf { -+ r++ -+ continue -+ } -+ rr, size := utf8.DecodeRune(s[r:]) -+ if rr == utf8.RuneError && size == 1 { -+ break -+ } -+ r += size -+ } -+ if r == len(s) { -+ return s, true -+ } -+ -+ b := make([]byte, len(s)+2*utf8.UTFMax) -+ w := copy(b, s[0:r]) -+ for r < len(s) { -+ // Out of room? Can only happen if s is full of -+ // malformed UTF-8 and we're replacing each -+ // byte with RuneError. -+ if w >= len(b)-2*utf8.UTFMax { -+ nb := make([]byte, (len(b)+utf8.UTFMax)*2) -+ copy(nb, b[0:w]) -+ b = nb -+ } -+ switch c := s[r]; { -+ case c == '\\': -+ r++ -+ if r >= len(s) { -+ return -+ } -+ switch s[r] { -+ default: -+ return -+ case '"', '\\', '/', '\'': -+ b[w] = s[r] -+ r++ -+ w++ -+ case 'b': -+ b[w] = '\b' -+ r++ -+ w++ -+ case 'f': -+ b[w] = '\f' -+ r++ -+ w++ -+ case 'n': -+ b[w] = '\n' -+ r++ -+ w++ -+ case 'r': -+ b[w] = '\r' -+ r++ -+ w++ -+ case 't': -+ b[w] = '\t' -+ r++ -+ w++ -+ case 'u': -+ r-- -+ rr := getu4(s[r:]) -+ if rr < 0 { -+ return -+ } -+ r += 6 -+ if utf16.IsSurrogate(rr) { -+ rr1 := getu4(s[r:]) -+ if dec := utf16.DecodeRune(rr, rr1); dec != unicode.ReplacementChar { -+ // A valid pair; consume. -+ r += 6 -+ w += utf8.EncodeRune(b[w:], dec) -+ break -+ } -+ // Invalid surrogate; fall back to replacement rune. -+ rr = unicode.ReplacementChar -+ } -+ w += utf8.EncodeRune(b[w:], rr) -+ } -+ -+ // Quote, control characters are invalid. -+ case c == '"', c < ' ': -+ return -+ -+ // ASCII -+ case c < utf8.RuneSelf: -+ b[w] = c -+ r++ -+ w++ -+ -+ // Coerce to well-formed UTF-8. -+ default: -+ rr, size := utf8.DecodeRune(s[r:]) -+ r += size -+ w += utf8.EncodeRune(b[w:], rr) -+ } -+ } -+ return b[0:w], true -+} -diff --git a/vendor/gopkg.in/square/go-jose.v2/json/encode.go b/vendor/gopkg.in/square/go-jose.v2/json/encode.go -new file mode 100644 -index 000000000..1dae8bb7c ---- /dev/null -+++ b/vendor/gopkg.in/square/go-jose.v2/json/encode.go -@@ -0,0 +1,1197 @@ -+// 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 json implements encoding and decoding of JSON objects as defined in -+// RFC 4627. The mapping between JSON objects and Go values is described -+// in the documentation for the Marshal and Unmarshal functions. -+// -+// See "JSON and Go" for an introduction to this package: -+// https://golang.org/doc/articles/json_and_go.html -+package json -+ -+import ( -+ "bytes" -+ "encoding" -+ "encoding/base64" -+ "fmt" -+ "math" -+ "reflect" -+ "runtime" -+ "sort" -+ "strconv" -+ "strings" -+ "sync" -+ "unicode" -+ "unicode/utf8" -+) -+ -+// Marshal returns the JSON encoding of v. -+// -+// Marshal traverses the value v recursively. -+// If an encountered value implements the Marshaler interface -+// and is not a nil pointer, Marshal calls its MarshalJSON method -+// to produce JSON. If no MarshalJSON method is present but the -+// value implements encoding.TextMarshaler instead, Marshal calls -+// its MarshalText method. -+// The nil pointer exception is not strictly necessary -+// but mimics a similar, necessary exception in the behavior of -+// UnmarshalJSON. -+// -+// Otherwise, Marshal uses the following type-dependent default encodings: -+// -+// Boolean values encode as JSON booleans. -+// -+// Floating point, integer, and Number values encode as JSON numbers. -+// -+// String values encode as JSON strings coerced to valid UTF-8, -+// replacing invalid bytes with the Unicode replacement rune. -+// The angle brackets "<" and ">" are escaped to "\u003c" and "\u003e" -+// to keep some browsers from misinterpreting JSON output as HTML. -+// Ampersand "&" is also escaped to "\u0026" for the same reason. -+// -+// Array and slice values encode as JSON arrays, except that -+// []byte encodes as a base64-encoded string, and a nil slice -+// encodes as the null JSON object. -+// -+// Struct values encode as JSON objects. Each exported struct field -+// becomes a member of the object unless -+// - the field's tag is "-", or -+// - the field is empty and its tag specifies the "omitempty" option. -+// The empty values are false, 0, any -+// nil pointer or interface value, and any array, slice, map, or string of -+// length zero. The object's default key string is the struct field name -+// but can be specified in the struct field's tag value. The "json" key in -+// the struct field's tag value is the key name, followed by an optional comma -+// and options. Examples: -+// -+// // Field is ignored by this package. -+// Field int `json:"-"` -+// -+// // Field appears in JSON as key "myName". -+// Field int `json:"myName"` -+// -+// // Field appears in JSON as key "myName" and -+// // the field is omitted from the object if its value is empty, -+// // as defined above. -+// Field int `json:"myName,omitempty"` -+// -+// // Field appears in JSON as key "Field" (the default), but -+// // the field is skipped if empty. -+// // Note the leading comma. -+// Field int `json:",omitempty"` -+// -+// The "string" option signals that a field is stored as JSON inside a -+// JSON-encoded string. It applies only to fields of string, floating point, -+// integer, or boolean types. This extra level of encoding is sometimes used -+// when communicating with JavaScript programs: -+// -+// Int64String int64 `json:",string"` -+// -+// The key name will be used if it's a non-empty string consisting of -+// only Unicode letters, digits, dollar signs, percent signs, hyphens, -+// underscores and slashes. -+// -+// Anonymous struct fields are usually marshaled as if their inner exported fields -+// were fields in the outer struct, subject to the usual Go visibility rules amended -+// as described in the next paragraph. -+// An anonymous struct field with a name given in its JSON tag is treated as -+// having that name, rather than being anonymous. -+// An anonymous struct field of interface type is treated the same as having -+// that type as its name, rather than being anonymous. -+// -+// The Go visibility rules for struct fields are amended for JSON when -+// deciding which field to marshal or unmarshal. If there are -+// multiple fields at the same level, and that level is the least -+// nested (and would therefore be the nesting level selected by the -+// usual Go rules), the following extra rules apply: -+// -+// 1) Of those fields, if any are JSON-tagged, only tagged fields are considered, -+// even if there are multiple untagged fields that would otherwise conflict. -+// 2) If there is exactly one field (tagged or not according to the first rule), that is selected. -+// 3) Otherwise there are multiple fields, and all are ignored; no error occurs. -+// -+// Handling of anonymous struct fields is new in Go 1.1. -+// Prior to Go 1.1, anonymous struct fields were ignored. To force ignoring of -+// an anonymous struct field in both current and earlier versions, give the field -+// a JSON tag of "-". -+// -+// Map values encode as JSON objects. -+// The map's key type must be string; the map keys are used as JSON object -+// keys, subject to the UTF-8 coercion described for string values above. -+// -+// Pointer values encode as the value pointed to. -+// A nil pointer encodes as the null JSON object. -+// -+// Interface values encode as the value contained in the interface. -+// A nil interface value encodes as the null JSON object. -+// -+// Channel, complex, and function values cannot be encoded in JSON. -+// Attempting to encode such a value causes Marshal to return -+// an UnsupportedTypeError. -+// -+// JSON cannot represent cyclic data structures and Marshal does not -+// handle them. Passing cyclic structures to Marshal will result in -+// an infinite recursion. -+// -+func Marshal(v interface{}) ([]byte, error) { -+ e := &encodeState{} -+ err := e.marshal(v) -+ if err != nil { -+ return nil, err -+ } -+ return e.Bytes(), nil -+} -+ -+// MarshalIndent is like Marshal but applies Indent to format the output. -+func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) { -+ b, err := Marshal(v) -+ if err != nil { -+ return nil, err -+ } -+ var buf bytes.Buffer -+ err = Indent(&buf, b, prefix, indent) -+ if err != nil { -+ return nil, err -+ } -+ return buf.Bytes(), nil -+} -+ -+// HTMLEscape appends to dst the JSON-encoded src with <, >, &, U+2028 and U+2029 -+// characters inside string literals changed to \u003c, \u003e, \u0026, \u2028, \u2029 -+// so that the JSON will be safe to embed inside HTML