From 92f67a329cb22ffff892c9c77af3cf0ecd71d7d4 Mon Sep 17 00:00:00 2001 From: Lyuben Penkovski <lyuben.penkovski@vereign.com> Date: Wed, 14 Sep 2022 12:15:34 +0300 Subject: [PATCH] Migrate code.vereign.com paths to gaiax gitlab paths --- .gitlab-ci.yml | 8 +- README.md | 4 +- cmd/policy/main.go | 30 +- cmd/sync/.golangci.yml | 4 +- cmd/sync/go.mod | 25 +- cmd/sync/go.sum | 60 +- .../github.com/go-stack/stack/.travis.yml | 15 - .../github.com/go-stack/stack/README.md | 38 - .../vendor/github.com/go-stack/stack/stack.go | 400 --- .../github.com/montanaflynn/stats/.gitignore | 2 + .../github.com/montanaflynn/stats/.travis.yml | 20 + .../montanaflynn/stats/CHANGELOG.md | 64 + .../LICENSE.md => montanaflynn/stats/LICENSE} | 2 +- .../github.com/montanaflynn/stats/Makefile | 29 + .../github.com/montanaflynn/stats/README.md | 103 + .../montanaflynn/stats/correlation.go | 33 + .../github.com/montanaflynn/stats/data.go | 140 + .../montanaflynn/stats/data_set_distances.go | 94 + .../montanaflynn/stats/deviation.go | 57 + .../github.com/montanaflynn/stats/errors.go | 22 + .../github.com/montanaflynn/stats/legacy.go | 36 + .../github.com/montanaflynn/stats/load.go | 184 + .../github.com/montanaflynn/stats/max.go | 24 + .../github.com/montanaflynn/stats/mean.go | 60 + .../github.com/montanaflynn/stats/median.go | 25 + .../github.com/montanaflynn/stats/min.go | 26 + .../github.com/montanaflynn/stats/mode.go | 47 + .../github.com/montanaflynn/stats/outlier.go | 44 + .../montanaflynn/stats/percentile.go | 80 + .../github.com/montanaflynn/stats/quartile.go | 74 + .../montanaflynn/stats/regression.go | 113 + .../github.com/montanaflynn/stats/round.go | 38 + .../github.com/montanaflynn/stats/sample.go | 44 + .../github.com/montanaflynn/stats/sum.go | 18 + .../github.com/montanaflynn/stats/util.go | 43 + .../github.com/montanaflynn/stats/variance.go | 105 + .../sergi/go-diff/diffmatchpatch/diff.go | 135 +- .../sergi/go-diff/diffmatchpatch/patch.go | 2 +- .../go-diff/diffmatchpatch/stringutil.go | 18 - .../github.com/xdg-go/scram/CHANGELOG.md | 8 + .../vendor/github.com/xdg-go/scram/doc.go | 6 +- .../vendor/github.com/xdg-go/scram/scram.go | 5 + .../github.com/xdg-go/stringprep/CHANGELOG.md | 7 + .../mongo-driver/bson/bsoncodec/bsoncodec.go | 22 + .../bson/bsoncodec/default_value_decoders.go | 16 +- .../mongo-driver/bson/bsoncodec/doc.go | 6 + .../bson/bsoncodec/empty_interface_codec.go | 17 +- .../mongo-driver/bson/bsoncodec/map_codec.go | 21 + .../mongo-driver/bson/bsonoptions/doc.go | 8 + .../mongo-driver/bson/bsonrw/value_reader.go | 9 +- .../mongo-driver/bson/decoder.go | 23 + .../mongo-driver/internal/csfle_util.go | 39 + .../mongo-driver/internal/csot_util.go | 34 + .../mongo-driver/internal/error.go | 4 + .../internal/randutil/rand/bits.go | 38 + .../internal/randutil/rand/exp.go | 223 ++ .../internal/randutil/rand/normal.go | 158 + .../internal/randutil/rand/rand.go | 374 ++ .../internal/randutil/rand/rng.go | 93 + .../internal/randutil/randutil.go | 64 +- .../{x/mongo/driver => internal}/uuid/uuid.go | 35 +- .../mongo-driver/mongo/address/addr.go | 1 + .../mongo-driver/mongo/batch_cursor.go | 6 + .../mongo-driver/mongo/bulk_write.go | 37 +- .../mongo-driver/mongo/bulk_write_models.go | 6 +- .../mongo-driver/mongo/change_stream.go | 61 +- .../mongo/change_stream_deployment.go | 4 + .../mongo-driver/mongo/client.go | 176 +- .../mongo-driver/mongo/client_encryption.go | 207 +- .../mongo-driver/mongo/collection.go | 228 +- .../mongo-driver/mongo/cursor.go | 2 +- .../mongo-driver/mongo/database.go | 210 +- .../mongo/description/description.go | 1 + .../go.mongodb.org/mongo-driver/mongo/doc.go | 34 +- .../mongo-driver/mongo/errors.go | 3 + .../mongo-driver/mongo/index_view.go | 19 +- .../mongo-driver/mongo/mongo.go | 11 - .../mongo-driver/mongo/mongocryptd.go | 26 +- .../mongo/options/aggregateoptions.go | 12 +- .../mongo/options/autoencryptionoptions.go | 54 +- .../mongo/options/bulkwriteoptions.go | 15 +- .../mongo/options/changestreamoptions.go | 45 +- .../mongo/options/clientoptions.go | 91 +- .../mongo/options/collectionoptions.go | 16 +- .../mongo/options/countoptions.go | 24 + .../mongo/options/createcollectionoptions.go | 59 +- .../mongo/options/datakeyoptions.go | 13 + .../mongo-driver/mongo/options/dboptions.go | 16 +- .../mongo/options/deleteoptions.go | 13 + .../mongo/options/distinctoptions.go | 21 + .../mongo-driver/mongo/options/doc.go | 8 + .../mongo/options/encryptoptions.go | 49 +- .../mongo/options/estimatedcountoptions.go | 22 +- .../mongo-driver/mongo/options/findoptions.go | 155 +- .../mongo/options/gridfsoptions.go | 8 + .../mongo/options/indexoptions.go | 28 +- .../mongo/options/insertoptions.go | 30 +- .../mongo/options/listdatabasesoptions.go | 2 +- .../mongo/options/mongooptions.go | 14 +- .../mongo/options/replaceoptions.go | 15 +- .../mongo/options/rewrapdatakeyoptions.go | 52 + .../mongo/options/sessionoptions.go | 11 +- .../mongo/options/transactionoptions.go | 8 + .../mongo/options/updateoptions.go | 15 +- .../mongo/readconcern/readconcern.go | 1 + .../mongo-driver/mongo/readpref/options.go | 2 +- .../mongo-driver/mongo/readpref/readpref.go | 1 + .../mongo-driver/mongo/results.go | 17 + .../mongo-driver/mongo/session.go | 25 +- .../mongo/writeconcern/writeconcern.go | 15 +- .../go.mongodb.org/mongo-driver/tag/tag.go | 1 + .../mongo-driver/version/version.go | 3 +- .../mongo-driver/x/bsonx/bsoncore/bsoncore.go | 16 +- .../mongo-driver/x/bsonx/bsoncore/document.go | 30 +- .../x/bsonx/bsoncore/document_sequence.go | 6 + .../mongo-driver/x/bsonx/registry.go | 6 + .../driver/auth/internal/gssapi/gss_wrapper.c | 6 + .../driver/auth/internal/gssapi/gss_wrapper.h | 6 + .../auth/internal/gssapi/sspi_wrapper.c | 6 + .../auth/internal/gssapi/sspi_wrapper.h | 6 + .../x/mongo/driver/batch_cursor.go | 22 +- .../mongo-driver/x/mongo/driver/batches.go | 6 + .../x/mongo/driver/compression.go | 30 +- .../x/mongo/driver/connstring/connstring.go | 87 +- .../mongo-driver/x/mongo/driver/crypt.go | 75 +- .../mongo-driver/x/mongo/driver/driver.go | 24 +- .../mongo-driver/x/mongo/driver/errors.go | 9 + .../mongo-driver/x/mongo/driver/legacy.go | 6 + .../x/mongo/driver/mongocrypt/mongocrypt.go | 170 +- .../mongocrypt/mongocrypt_not_enabled.go | 23 + .../options/mongocrypt_context_options.go | 80 +- .../mongocrypt/options/mongocrypt_options.go | 33 +- .../mongo-driver/x/mongo/driver/ocsp/ocsp.go | 100 +- .../mongo-driver/x/mongo/driver/operation.go | 93 +- .../x/mongo/driver/operation/aggregate.go | 19 +- .../x/mongo/driver/operation/command.go | 15 +- .../x/mongo/driver/operation/count.go | 68 +- .../x/mongo/driver/operation/create.go | 89 +- .../x/mongo/driver/operation/createIndexes.go | 16 +- .../x/mongo/driver/operation/delete.go | 34 +- .../x/mongo/driver/operation/distinct.go | 30 +- .../x/mongo/driver/operation/drop_indexes.go | 16 +- .../x/mongo/driver/operation/find.go | 18 +- .../mongo/driver/operation/find_and_modify.go | 31 +- .../x/mongo/driver/operation/insert.go | 34 +- .../x/mongo/driver/operation/listDatabases.go | 15 +- .../driver/operation/list_collections.go | 15 +- .../x/mongo/driver/operation/list_indexes.go | 17 +- .../x/mongo/driver/operation/update.go | 40 +- .../x/mongo/driver/session/client_session.go | 2 +- .../x/mongo/driver/session/server_session.go | 2 +- .../x/mongo/driver/topology/connection.go | 16 +- .../driver/topology/connection_legacy.go | 6 + .../driver/topology/connection_options.go | 6 + .../x/mongo/driver/topology/errors.go | 6 + .../x/mongo/driver/topology/fsm.go | 2 +- .../driver/topology/hanging_tls_conn_1_16.go | 37 - .../driver/topology/hanging_tls_conn_1_17.go | 44 - .../x/mongo/driver/topology/pool.go | 6 + .../x/mongo/driver/topology/rtt_monitor.go | 137 +- .../x/mongo/driver/topology/server.go | 7 +- .../x/mongo/driver/topology/server_options.go | 1 - .../x/mongo/driver/topology/topology.go | 5 +- .../x/mongo/driver/wiremessage/wiremessage.go | 22 + .../x/crypto/chacha20/chacha_s390x.go | 1 + .../x/crypto/curve25519/curve25519.go | 9 +- .../curve25519/internal/field/fe_amd64.go | 3 + .../golang.org/x/crypto/ed25519/ed25519.go | 188 +- .../x/crypto/ed25519/ed25519_go113.go | 74 - .../ed25519/internal/edwards25519/const.go | 1422 -------- .../internal/edwards25519/edwards25519.go | 1793 ---------- .../x/crypto/internal/poly1305/sum_generic.go | 5 +- .../x/crypto/internal/poly1305/sum_s390x.go | 1 + .../vendor/golang.org/x/crypto/ocsp/ocsp.go | 5 +- .../golang.org/x/crypto/pbkdf2/pbkdf2.go | 2 +- .../golang.org/x/crypto/ssh/agent/client.go | 54 +- .../golang.org/x/crypto/ssh/agent/keyring.go | 6 +- .../vendor/golang.org/x/crypto/ssh/certs.go | 87 +- .../vendor/golang.org/x/crypto/ssh/cipher.go | 10 +- .../vendor/golang.org/x/crypto/ssh/client.go | 18 +- .../golang.org/x/crypto/ssh/client_auth.go | 132 +- .../vendor/golang.org/x/crypto/ssh/common.go | 76 +- .../vendor/golang.org/x/crypto/ssh/doc.go | 5 +- .../golang.org/x/crypto/ssh/handshake.go | 83 +- .../vendor/golang.org/x/crypto/ssh/kex.go | 186 +- .../vendor/golang.org/x/crypto/ssh/keys.go | 147 +- .../golang.org/x/crypto/ssh/messages.go | 21 +- .../vendor/golang.org/x/crypto/ssh/server.go | 46 +- .../vendor/golang.org/x/crypto/ssh/session.go | 1 + .../golang.org/x/crypto/ssh/transport.go | 10 +- cmd/sync/vendor/golang.org/x/sys/cpu/cpu.go | 1 - .../vendor/golang.org/x/sys/cpu/cpu_gc_x86.go | 4 + .../vendor/golang.org/x/sys/cpu/cpu_x86.go | 9 +- .../vendor/golang.org/x/sys/cpu/cpu_x86.s | 24 + .../golang.org/x/sys/cpu/syscall_aix_gccgo.go | 2 +- .../vendor/golang.org/x/sys/unix/README.md | 2 +- .../golang.org/x/sys/unix/ifreq_linux.go | 149 - .../golang.org/x/sys/unix/ioctl_linux.go | 101 +- .../vendor/golang.org/x/sys/unix/mkall.sh | 2 +- .../vendor/golang.org/x/sys/unix/mkerrors.sh | 23 +- .../golang.org/x/sys/unix/sockcmsg_linux.go | 49 - .../golang.org/x/sys/unix/syscall_aix.go | 44 +- .../golang.org/x/sys/unix/syscall_bsd.go | 48 +- .../golang.org/x/sys/unix/syscall_darwin.go | 100 +- .../x/sys/unix/syscall_dragonfly.go | 14 +- .../golang.org/x/sys/unix/syscall_freebsd.go | 10 +- .../golang.org/x/sys/unix/syscall_illumos.go | 8 - .../golang.org/x/sys/unix/syscall_linux.go | 241 +- .../x/sys/unix/syscall_linux_386.go | 54 +- .../x/sys/unix/syscall_linux_alarm.go | 14 - .../x/sys/unix/syscall_linux_amd64.go | 53 +- .../x/sys/unix/syscall_linux_arm.go | 51 +- .../x/sys/unix/syscall_linux_arm64.go | 60 +- .../x/sys/unix/syscall_linux_mips64x.go | 44 +- .../x/sys/unix/syscall_linux_mipsx.go | 44 +- .../x/sys/unix/syscall_linux_ppc.go | 50 +- .../x/sys/unix/syscall_linux_ppc64x.go | 43 +- .../x/sys/unix/syscall_linux_riscv64.go | 56 +- .../x/sys/unix/syscall_linux_s390x.go | 49 +- .../x/sys/unix/syscall_linux_sparc64.go | 42 +- .../golang.org/x/sys/unix/syscall_netbsd.go | 18 +- .../golang.org/x/sys/unix/syscall_openbsd.go | 10 +- .../golang.org/x/sys/unix/syscall_solaris.go | 296 +- .../golang.org/x/sys/unix/syscall_unix.go | 55 - .../x/sys/unix/syscall_zos_s390x.go | 22 +- .../golang.org/x/sys/unix/sysvshm_linux.go | 21 - .../golang.org/x/sys/unix/sysvshm_unix.go | 61 - .../x/sys/unix/sysvshm_unix_other.go | 14 - .../x/sys/unix/zerrors_darwin_amd64.go | 3120 ++++++++--------- .../x/sys/unix/zerrors_darwin_arm64.go | 3120 ++++++++--------- .../x/sys/unix/zerrors_freebsd_386.go | 5 - .../x/sys/unix/zerrors_freebsd_amd64.go | 5 - .../x/sys/unix/zerrors_freebsd_arm.go | 5 - .../x/sys/unix/zerrors_freebsd_arm64.go | 5 - .../golang.org/x/sys/unix/zerrors_linux.go | 169 +- .../x/sys/unix/zerrors_linux_386.go | 8 +- .../x/sys/unix/zerrors_linux_amd64.go | 8 +- .../x/sys/unix/zerrors_linux_arm.go | 8 +- .../x/sys/unix/zerrors_linux_arm64.go | 8 +- .../x/sys/unix/zerrors_linux_mips.go | 8 +- .../x/sys/unix/zerrors_linux_mips64.go | 8 +- .../x/sys/unix/zerrors_linux_mips64le.go | 8 +- .../x/sys/unix/zerrors_linux_mipsle.go | 8 +- .../x/sys/unix/zerrors_linux_ppc.go | 8 +- .../x/sys/unix/zerrors_linux_ppc64.go | 8 +- .../x/sys/unix/zerrors_linux_ppc64le.go | 8 +- .../x/sys/unix/zerrors_linux_riscv64.go | 8 +- .../x/sys/unix/zerrors_linux_s390x.go | 8 +- .../x/sys/unix/zerrors_linux_sparc64.go | 8 +- .../x/sys/unix/zerrors_openbsd_386.go | 3 - .../x/sys/unix/zerrors_openbsd_arm.go | 3 - .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 26 +- .../x/sys/unix/zsyscall_aix_ppc64.go | 24 +- .../x/sys/unix/zsyscall_aix_ppc64_gc.go | 20 +- .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 18 +- .../x/sys/unix/zsyscall_darwin_amd64.go | 63 +- .../x/sys/unix/zsyscall_darwin_amd64.s | 24 - .../x/sys/unix/zsyscall_darwin_arm64.go | 63 +- .../x/sys/unix/zsyscall_darwin_arm64.s | 24 - .../x/sys/unix/zsyscall_freebsd_386.go | 4 +- .../x/sys/unix/zsyscall_freebsd_amd64.go | 4 +- .../x/sys/unix/zsyscall_freebsd_arm.go | 4 +- .../x/sys/unix/zsyscall_freebsd_arm64.go | 4 +- .../golang.org/x/sys/unix/zsyscall_linux.go | 118 +- .../x/sys/unix/zsyscall_linux_386.go | 54 +- .../x/sys/unix/zsyscall_linux_amd64.go | 77 +- .../x/sys/unix/zsyscall_linux_arm.go | 68 +- .../x/sys/unix/zsyscall_linux_arm64.go | 15 +- .../x/sys/unix/zsyscall_linux_mips.go | 67 +- .../x/sys/unix/zsyscall_linux_mips64.go | 44 +- .../x/sys/unix/zsyscall_linux_mips64le.go | 47 +- .../x/sys/unix/zsyscall_linux_mipsle.go | 67 +- .../x/sys/unix/zsyscall_linux_ppc.go | 81 +- .../x/sys/unix/zsyscall_linux_ppc64.go | 81 +- .../x/sys/unix/zsyscall_linux_ppc64le.go | 81 +- .../x/sys/unix/zsyscall_linux_riscv64.go | 15 +- .../x/sys/unix/zsyscall_linux_s390x.go | 58 +- .../x/sys/unix/zsyscall_linux_sparc64.go | 54 +- .../x/sys/unix/zsyscall_netbsd_386.go | 16 +- .../x/sys/unix/zsyscall_netbsd_amd64.go | 16 +- .../x/sys/unix/zsyscall_netbsd_arm.go | 16 +- .../x/sys/unix/zsyscall_netbsd_arm64.go | 16 +- .../x/sys/unix/zsyscall_openbsd_386.go | 4 +- .../x/sys/unix/zsyscall_openbsd_amd64.go | 4 +- .../x/sys/unix/zsyscall_openbsd_arm.go | 4 +- .../x/sys/unix/zsyscall_openbsd_arm64.go | 4 +- .../x/sys/unix/zsyscall_openbsd_mips64.go | 4 +- .../x/sys/unix/zsyscall_solaris_amd64.go | 88 +- .../x/sys/unix/zsysnum_linux_386.go | 7 - .../x/sys/unix/zsysnum_linux_amd64.go | 715 ++-- .../x/sys/unix/zsysnum_linux_arm.go | 7 - .../x/sys/unix/zsysnum_linux_arm64.go | 605 ++-- .../x/sys/unix/zsysnum_linux_mips.go | 6 - .../x/sys/unix/zsysnum_linux_mips64.go | 700 ++-- .../x/sys/unix/zsysnum_linux_mips64le.go | 700 ++-- .../x/sys/unix/zsysnum_linux_mipsle.go | 6 - .../x/sys/unix/zsysnum_linux_ppc.go | 6 - .../x/sys/unix/zsysnum_linux_ppc64.go | 798 +++-- .../x/sys/unix/zsysnum_linux_ppc64le.go | 798 +++-- .../x/sys/unix/zsysnum_linux_riscv64.go | 602 ++-- .../x/sys/unix/zsysnum_linux_s390x.go | 728 ++-- .../x/sys/unix/zsysnum_linux_sparc64.go | 756 ++-- .../x/sys/unix/ztypes_darwin_amd64.go | 231 -- .../x/sys/unix/ztypes_darwin_arm64.go | 231 -- .../x/sys/unix/ztypes_freebsd_386.go | 2 - .../x/sys/unix/ztypes_freebsd_amd64.go | 2 - .../x/sys/unix/ztypes_freebsd_arm.go | 2 - .../x/sys/unix/ztypes_freebsd_arm64.go | 2 - .../x/sys/unix/ztypes_illumos_amd64.go | 2 - .../golang.org/x/sys/unix/ztypes_linux.go | 1651 +-------- .../golang.org/x/sys/unix/ztypes_linux_386.go | 40 +- .../x/sys/unix/ztypes_linux_amd64.go | 37 +- .../golang.org/x/sys/unix/ztypes_linux_arm.go | 40 +- .../x/sys/unix/ztypes_linux_arm64.go | 37 +- .../x/sys/unix/ztypes_linux_mips.go | 39 +- .../x/sys/unix/ztypes_linux_mips64.go | 37 +- .../x/sys/unix/ztypes_linux_mips64le.go | 37 +- .../x/sys/unix/ztypes_linux_mipsle.go | 39 +- .../golang.org/x/sys/unix/ztypes_linux_ppc.go | 41 +- .../x/sys/unix/ztypes_linux_ppc64.go | 36 +- .../x/sys/unix/ztypes_linux_ppc64le.go | 36 +- .../x/sys/unix/ztypes_linux_riscv64.go | 37 +- .../x/sys/unix/ztypes_linux_s390x.go | 40 +- .../x/sys/unix/ztypes_linux_sparc64.go | 36 +- .../x/sys/unix/ztypes_openbsd_386.go | 11 +- .../x/sys/unix/ztypes_openbsd_amd64.go | 11 +- .../x/sys/unix/ztypes_openbsd_arm.go | 11 +- .../x/sys/unix/ztypes_openbsd_arm64.go | 11 +- .../x/sys/unix/ztypes_openbsd_mips64.go | 11 +- .../x/sys/unix/ztypes_solaris_amd64.go | 40 - .../golang.org/x/sys/windows/aliases.go | 4 +- .../golang.org/x/sys/windows/eventlog.go | 1 - .../golang.org/x/sys/windows/exec_windows.go | 37 +- .../x/sys/windows/memory_windows.go | 11 - .../golang.org/x/sys/windows/mksyscall.go | 3 +- .../vendor/golang.org/x/sys/windows/race.go | 1 - .../vendor/golang.org/x/sys/windows/race0.go | 1 - .../x/sys/windows/security_windows.go | 1 - .../golang.org/x/sys/windows/service.go | 14 +- .../x/sys/windows/setupapi_windows.go | 1425 -------- .../x/sys/windows/setupapierrors_windows.go | 100 + .../vendor/golang.org/x/sys/windows/str.go | 1 - .../golang.org/x/sys/windows/syscall.go | 1 - .../x/sys/windows/syscall_windows.go | 76 +- .../golang.org/x/sys/windows/types_windows.go | 413 +-- .../x/sys/windows/zsyscall_windows.go | 548 +-- cmd/sync/vendor/modules.txt | 32 +- deployment/ci/Dockerfile | 4 +- deployment/compose/Dockerfile | 9 +- gen/health/client.go | 5 +- gen/health/endpoints.go | 5 +- gen/health/service.go | 5 +- gen/http/cli/policy/cli.go | 12 +- gen/http/health/client/cli.go | 5 +- gen/http/health/client/client.go | 5 +- gen/http/health/client/encode_decode.go | 23 +- gen/http/health/client/paths.go | 5 +- gen/http/health/client/types.go | 5 +- gen/http/health/server/encode_decode.go | 5 +- gen/http/health/server/paths.go | 5 +- gen/http/health/server/server.go | 7 +- gen/http/health/server/types.go | 5 +- gen/http/openapi.yaml | 455 ++- gen/http/openapi/client/client.go | 5 +- gen/http/openapi/client/encode_decode.go | 5 +- gen/http/openapi/client/paths.go | 5 +- gen/http/openapi/client/types.go | 5 +- gen/http/openapi/server/paths.go | 5 +- gen/http/openapi/server/server.go | 7 +- gen/http/openapi/server/types.go | 5 +- gen/http/openapi3.json | 2 +- gen/http/openapi3.yaml | 659 ++-- gen/http/policy/client/cli.go | 7 +- gen/http/policy/client/client.go | 5 +- gen/http/policy/client/encode_decode.go | 33 +- gen/http/policy/client/paths.go | 5 +- gen/http/policy/client/types.go | 7 +- gen/http/policy/server/encode_decode.go | 7 +- gen/http/policy/server/paths.go | 5 +- gen/http/policy/server/server.go | 7 +- gen/http/policy/server/types.go | 7 +- gen/openapi/client.go | 5 +- gen/openapi/endpoints.go | 5 +- gen/openapi/service.go | 5 +- gen/policy/client.go | 5 +- gen/policy/endpoints.go | 5 +- gen/policy/service.go | 5 +- go.mod | 43 +- go.sum | 99 +- goagen.sh | 2 +- internal/clients/cache/client.go | 2 +- internal/regocache/regocache_test.go | 4 +- internal/regofunc/cache_test.go | 2 +- internal/regofunc/did_resolver.go | 2 +- internal/regofunc/did_resolver_test.go | 2 +- internal/regofunc/ocm.go | 2 +- internal/regofunc/ocm_test.go | 2 +- internal/regofunc/registry_test.go | 2 +- internal/regofunc/signer_test.go | 2 +- internal/regofunc/task_test.go | 2 +- internal/service/error_response.go | 2 +- .../service/policy/policyfakes/fake_cache.go | 2 +- .../policy/policyfakes/fake_rego_cache.go | 2 +- .../policy/policyfakes/fake_storage.go | 4 +- internal/service/policy/service.go | 8 +- internal/service/policy/service_test.go | 10 +- internal/storage/storage.go | 2 +- vendor/github.com/go-stack/stack/.travis.yml | Bin 186 -> 0 bytes vendor/github.com/go-stack/stack/README.md | Bin 1559 -> 0 bytes vendor/github.com/go-stack/stack/stack.go | Bin 11832 -> 0 bytes vendor/github.com/hashicorp/errwrap/LICENSE | Bin 0 -> 15977 bytes vendor/github.com/hashicorp/errwrap/README.md | Bin 0 -> 2484 bytes .../github.com/hashicorp/errwrap/errwrap.go | Bin 0 -> 4539 bytes .../hashicorp/go-multierror/LICENSE | Bin 0 -> 15976 bytes .../hashicorp/go-multierror/Makefile | Bin 0 -> 821 bytes .../hashicorp/go-multierror/README.md | Bin 0 -> 4758 bytes .../hashicorp/go-multierror/append.go | Bin 0 -> 1058 bytes .../hashicorp/go-multierror/flatten.go | Bin 0 -> 568 bytes .../hashicorp/go-multierror/format.go | Bin 0 -> 668 bytes .../hashicorp/go-multierror/group.go | Bin 0 -> 759 bytes .../hashicorp/go-multierror/multierror.go | Bin 0 -> 3452 bytes .../hashicorp/go-multierror/prefix.go | Bin 0 -> 794 bytes .../hashicorp/go-multierror/sort.go | Bin 0 -> 452 bytes .../github.com/klauspost/compress/.gitignore | Bin 360 -> 288 bytes .../klauspost/compress/.goreleaser.yml | Bin 2449 -> 2346 bytes .../github.com/klauspost/compress/README.md | Bin 45374 -> 35739 bytes .../klauspost/compress/huff0/bitreader.go | Bin 5812 -> 8203 bytes .../klauspost/compress/huff0/bitwriter.go | Bin 2819 -> 5567 bytes .../klauspost/compress/huff0/bytereader.go | Bin 1235 -> 1439 bytes .../klauspost/compress/huff0/compress.go | Bin 17819 -> 17530 bytes .../klauspost/compress/huff0/decompress.go | Bin 29286 -> 35560 bytes .../compress/huff0/decompress_amd64.go | Bin 5788 -> 0 bytes .../compress/huff0/decompress_amd64.s | Bin 15599 -> 0 bytes .../compress/huff0/decompress_generic.go | Bin 7533 -> 0 bytes .../klauspost/compress/huff0/huff0.go | Bin 9155 -> 9095 bytes .../compress/internal/cpuinfo/cpuinfo.go | Bin 820 -> 0 bytes .../internal/cpuinfo/cpuinfo_amd64.go | Bin 209 -> 0 bytes .../compress/internal/cpuinfo/cpuinfo_amd64.s | Bin 562 -> 0 bytes .../klauspost/compress/zstd/README.md | Bin 21240 -> 22491 bytes .../klauspost/compress/zstd/bitreader.go | Bin 3491 -> 3381 bytes .../klauspost/compress/zstd/bitwriter.go | Bin 3471 -> 4566 bytes .../klauspost/compress/zstd/blockdec.go | Bin 19321 -> 18996 bytes .../klauspost/compress/zstd/blockenc.go | Bin 23177 -> 22826 bytes .../klauspost/compress/zstd/bytebuf.go | Bin 2539 -> 2466 bytes .../klauspost/compress/zstd/bytereader.go | Bin 1980 -> 2097 bytes .../klauspost/compress/zstd/decodeheader.go | Bin 6639 -> 5389 bytes .../klauspost/compress/zstd/decoder.go | Bin 22575 -> 13568 bytes .../compress/zstd/decoder_options.go | Bin 3667 -> 3081 bytes .../klauspost/compress/zstd/enc_base.go | Bin 4468 -> 4359 bytes .../klauspost/compress/zstd/enc_better.go | Bin 34546 -> 34546 bytes .../klauspost/compress/zstd/enc_dfast.go | Bin 30544 -> 30544 bytes .../klauspost/compress/zstd/enc_fast.go | Bin 23246 -> 26182 bytes .../klauspost/compress/zstd/encoder.go | Bin 15735 -> 14691 bytes .../compress/zstd/encoder_options.go | Bin 10350 -> 10165 bytes .../klauspost/compress/zstd/framedec.go | Bin 10207 -> 12746 bytes .../klauspost/compress/zstd/fse_decoder.go | Bin 8668 -> 10858 bytes .../compress/zstd/fse_decoder_amd64.go | Bin 1683 -> 0 bytes .../compress/zstd/fse_decoder_amd64.s | Bin 2374 -> 0 bytes .../compress/zstd/fse_decoder_generic.go | Bin 1856 -> 0 bytes .../klauspost/compress/zstd/fse_encoder.go | Bin 18779 -> 19504 bytes .../klauspost/compress/zstd/hash.go | Bin 1107 -> 1360 bytes .../klauspost/compress/zstd/history.go | Bin 3105 -> 2333 bytes .../xxhash/{xxhash_asm.go => xxhash_amd64.go} | Bin 328 -> 239 bytes .../zstd/internal/xxhash/xxhash_amd64.s | Bin 3582 -> 3565 bytes .../zstd/internal/xxhash/xxhash_arm64.s | Bin 3458 -> 0 bytes .../zstd/internal/xxhash/xxhash_other.go | Bin 1637 -> 1603 bytes .../klauspost/compress/zstd/seqdec.go | Bin 13162 -> 13493 bytes .../klauspost/compress/zstd/seqdec_amd64.go | Bin 11021 -> 0 bytes .../klauspost/compress/zstd/seqdec_amd64.s | Bin 82479 -> 0 bytes .../klauspost/compress/zstd/seqdec_generic.go | Bin 6484 -> 0 bytes .../github.com/klauspost/compress/zstd/zip.go | Bin 3520 -> 2866 bytes .../klauspost/compress/zstd/zstd.go | Bin 4673 -> 4463 bytes .../github.com/montanaflynn/stats/.gitignore | Bin 0 -> 23 bytes .../github.com/montanaflynn/stats/.travis.yml | Bin 0 -> 275 bytes .../montanaflynn/stats/CHANGELOG.md | Bin 0 -> 2181 bytes .../LICENSE.md => montanaflynn/stats/LICENSE} | Bin 1078 -> 1112 bytes vendor/github.com/montanaflynn/stats/Makefile | Bin 0 -> 361 bytes .../github.com/montanaflynn/stats/README.md | Bin 0 -> 4666 bytes .../montanaflynn/stats/correlation.go | Bin 0 -> 742 bytes vendor/github.com/montanaflynn/stats/data.go | Bin 0 -> 4751 bytes .../montanaflynn/stats/data_set_distances.go | Bin 0 -> 2530 bytes .../montanaflynn/stats/deviation.go | Bin 0 -> 1519 bytes .../github.com/montanaflynn/stats/errors.go | Bin 0 -> 665 bytes .../github.com/montanaflynn/stats/legacy.go | Bin 0 -> 1047 bytes vendor/github.com/montanaflynn/stats/load.go | Bin 0 -> 3264 bytes vendor/github.com/montanaflynn/stats/max.go | Bin 0 -> 445 bytes vendor/github.com/montanaflynn/stats/mean.go | Bin 0 -> 1151 bytes .../github.com/montanaflynn/stats/median.go | Bin 0 -> 592 bytes vendor/github.com/montanaflynn/stats/min.go | Bin 0 -> 505 bytes vendor/github.com/montanaflynn/stats/mode.go | Bin 0 -> 980 bytes .../github.com/montanaflynn/stats/outlier.go | Bin 0 -> 1062 bytes .../montanaflynn/stats/percentile.go | Bin 0 -> 1729 bytes .../github.com/montanaflynn/stats/quartile.go | Bin 0 -> 1513 bytes .../montanaflynn/stats/regression.go | Bin 0 -> 2427 bytes vendor/github.com/montanaflynn/stats/round.go | Bin 0 -> 910 bytes .../github.com/montanaflynn/stats/sample.go | Bin 0 -> 853 bytes vendor/github.com/montanaflynn/stats/sum.go | Bin 0 -> 268 bytes vendor/github.com/montanaflynn/stats/util.go | Bin 0 -> 922 bytes .../github.com/montanaflynn/stats/variance.go | Bin 0 -> 2305 bytes .../rcrowley/go-metrics/.travis.yml | Bin 328 -> 315 bytes vendor/github.com/xdg-go/scram/CHANGELOG.md | Bin 292 -> 458 bytes vendor/github.com/xdg-go/scram/doc.go | Bin 1044 -> 1202 bytes vendor/github.com/xdg-go/scram/scram.go | Bin 2809 -> 3037 bytes .../github.com/xdg-go/stringprep/CHANGELOG.md | Bin 446 -> 569 bytes .../tsa/golib/LICENSE | Bin .../tsa/golib/errors/errors.go | Bin .../tsa/golib/errors/shortid.go | Bin .../tsa/golib/graceful/graceful.go | Bin 958 -> 960 bytes .../tsa/golib/ocm/README.md | Bin 501 -> 571 bytes .../tsa/golib/ocm/client.go | Bin .../tsa/golib/ocm/option.go | Bin .../tsa/golib/ocm/types.go | Bin 937 -> 928 bytes .../mongo-driver/bson/bsoncodec/bsoncodec.go | Bin 7624 -> 8724 bytes .../bson/bsoncodec/default_value_decoders.go | Bin 50014 -> 50726 bytes .../mongo-driver/bson/bsoncodec/doc.go | Bin 5451 -> 5721 bytes .../bson/bsoncodec/empty_interface_codec.go | Bin 4152 -> 4368 bytes .../mongo-driver/bson/bsoncodec/map_codec.go | Bin 8293 -> 8931 bytes .../mongo-driver/bson/bsoncodec/registry.go | Bin 14574 -> 14572 bytes .../mongo-driver/bson/bsonoptions/doc.go | Bin 0 -> 370 bytes .../bson/bsonrw/extjson_parser.go | Bin 18871 -> 18872 bytes .../mongo-driver/bson/bsonrw/value_reader.go | Bin 19923 -> 20381 bytes .../mongo-driver/bson/bsonrw/value_writer.go | Bin 14222 -> 14222 bytes .../mongo-driver/bson/decoder.go | Bin 3328 -> 4078 bytes .../go.mongodb.org/mongo-driver/bson/doc.go | Bin 8547 -> 8548 bytes .../mongo-driver/bson/marshal.go | Bin 9624 -> 9829 bytes .../mongo-driver/bson/registry.go | Bin 1013 -> 1013 bytes .../mongo-driver/bson/unmarshal.go | Bin 3924 -> 3924 bytes .../mongo-driver/event/monitoring.go | Bin 7572 -> 7701 bytes .../mongo-driver/internal/csfle_util.go | Bin 0 -> 1206 bytes .../mongo-driver/internal/csot_util.go | Bin 0 -> 1151 bytes .../mongo-driver/internal/error.go | Bin 2576 -> 2635 bytes .../internal/randutil/rand/bits.go | Bin 0 -> 1046 bytes .../internal/randutil/rand/exp.go | Bin 0 -> 11295 bytes .../internal/randutil/rand/normal.go | Bin 0 -> 6551 bytes .../internal/randutil/rand/rand.go | Bin 0 -> 12352 bytes .../internal/randutil/rand/rng.go | Bin 0 -> 2753 bytes .../internal/randutil/randutil.go | Bin 1702 -> 1378 bytes .../mongo-driver/internal/string_util.go | Bin 1554 -> 1580 bytes .../mongo-driver/internal/uuid/uuid.go | Bin 0 -> 1533 bytes .../mongo-driver/mongo/address/addr.go | Bin 1269 -> 1346 bytes .../mongo-driver/mongo/batch_cursor.go | Bin 1327 -> 1597 bytes .../mongo-driver/mongo/bulk_write.go | Bin 15348 -> 16439 bytes .../mongo-driver/mongo/bulk_write_models.go | Bin 12588 -> 12600 bytes .../mongo-driver/mongo/change_stream.go | Bin 19591 -> 22663 bytes .../mongo/change_stream_deployment.go | Bin 1379 -> 1464 bytes .../mongo-driver/mongo/client.go | Bin 33879 -> 38158 bytes .../mongo-driver/mongo/client_encryption.go | Bin 4773 -> 12410 bytes .../mongo-driver/mongo/collection.go | Bin 55367 -> 61482 bytes .../mongo-driver/mongo/cursor.go | Bin 9176 -> 10596 bytes .../mongo-driver/mongo/database.go | Bin 22209 -> 28109 bytes .../mongo/description/description.go | Bin 417 -> 515 bytes .../mongo/description/server_selector.go | Bin 9716 -> 9716 bytes .../go.mongodb.org/mongo-driver/mongo/doc.go | Bin 6200 -> 6196 bytes .../mongo-driver/mongo/errors.go | Bin 18107 -> 19565 bytes .../mongo-driver/mongo/index_view.go | Bin 15904 -> 16029 bytes .../mongo-driver/mongo/mongo.go | Bin 13120 -> 12828 bytes .../mongo-driver/mongo/mongocryptd.go | Bin 4763 -> 5192 bytes .../mongo/options/aggregateoptions.go | Bin 5455 -> 6870 bytes .../mongo/options/autoencryptionoptions.go | Bin 6486 -> 9519 bytes .../mongo/options/bulkwriteoptions.go | Bin 2013 -> 3568 bytes .../mongo/options/changestreamoptions.go | Bin 4911 -> 8277 bytes .../mongo/options/clientoptions.go | Bin 40860 -> 43118 bytes .../mongo/options/collectionoptions.go | Bin 3036 -> 3097 bytes .../mongo/options/countoptions.go | Bin 2909 -> 4118 bytes .../mongo/options/createcollectionoptions.go | Bin 10600 -> 12389 bytes .../mongo/options/datakeyoptions.go | Bin 2958 -> 3490 bytes .../mongo-driver/mongo/options/dboptions.go | Bin 2965 -> 3026 bytes .../mongo/options/deleteoptions.go | Bin 2208 -> 3290 bytes .../mongo/options/distinctoptions.go | Bin 1836 -> 2864 bytes .../mongo-driver/mongo/options/doc.go | Bin 0 -> 368 bytes .../mongo/options/encryptoptions.go | Bin 1747 -> 3470 bytes .../mongo/options/estimatedcountoptions.go | Bin 1475 -> 2519 bytes .../mongo-driver/mongo/options/findoptions.go | Bin 33394 -> 40442 bytes .../mongo/options/gridfsoptions.go | Bin 9399 -> 9955 bytes .../mongo/options/indexoptions.go | Bin 15321 -> 17031 bytes .../mongo/options/insertoptions.go | Bin 3214 -> 4172 bytes .../mongo/options/listcollectionsoptions.go | Bin 1640 -> 2355 bytes .../mongo/options/listdatabasesoptions.go | Bin 1847 -> 1850 bytes .../mongo/options/mongooptions.go | Bin 5780 -> 6151 bytes .../mongo/options/replaceoptions.go | Bin 3272 -> 4361 bytes .../mongo/options/rewrapdatakeyoptions.go | Bin 0 -> 1827 bytes .../mongo/options/sessionoptions.go | Bin 4502 -> 5117 bytes .../mongo/options/transactionoptions.go | Bin 3264 -> 3844 bytes .../mongo/options/updateoptions.go | Bin 3849 -> 4931 bytes .../mongo/readconcern/readconcern.go | Bin 2567 -> 2636 bytes .../mongo-driver/mongo/readpref/options.go | Bin 2133 -> 2137 bytes .../mongo-driver/mongo/readpref/readpref.go | Bin 3477 -> 3577 bytes .../mongo-driver/mongo/results.go | Bin 8809 -> 9458 bytes .../mongo-driver/mongo/session.go | Bin 13436 -> 13449 bytes .../mongo-driver/mongo/single_result.go | Bin 3030 -> 3932 bytes .../mongo/writeconcern/writeconcern.go | Bin 5407 -> 6090 bytes vendor/go.mongodb.org/mongo-driver/tag/tag.go | Bin 1789 -> 1857 bytes .../mongo-driver/version/version.go | Bin 405 -> 456 bytes .../x/bsonx/bsoncore/bson_documentbuilder.go | Bin 6672 -> 6673 bytes .../mongo-driver/x/bsonx/bsoncore/bsoncore.go | Bin 30303 -> 30321 bytes .../mongo-driver/x/bsonx/bsoncore/document.go | Bin 10896 -> 10163 bytes .../x/bsonx/bsoncore/document_sequence.go | Bin 4254 -> 4524 bytes .../x/bsonx/reflectionfree_d_codec.go | Bin 23723 -> 22919 bytes .../mongo-driver/x/bsonx/registry.go | Bin 837 -> 1107 bytes .../x/mongo/driver/auth/aws_conv.go | Bin 9456 -> 9437 bytes .../x/mongo/driver/auth/gssapi.go | Bin 1619 -> 1671 bytes .../x/mongo/driver/auth/gssapi_not_enabled.go | Bin 527 -> 547 bytes .../mongo/driver/auth/gssapi_not_supported.go | Bin 582 -> 634 bytes .../driver/auth/internal/awsv4/signer.go | Bin 12609 -> 12630 bytes .../mongo/driver/auth/internal/gssapi/gss.go | Bin 4372 -> 4413 bytes .../driver/auth/internal/gssapi/gss_wrapper.c | Bin 6419 -> 6689 bytes .../driver/auth/internal/gssapi/gss_wrapper.h | Bin 1129 -> 1399 bytes .../mongo/driver/auth/internal/gssapi/sspi.go | Bin 13414 -> 13444 bytes .../auth/internal/gssapi/sspi_wrapper.c | Bin 7136 -> 7406 bytes .../auth/internal/gssapi/sspi_wrapper.h | Bin 923 -> 1193 bytes .../x/mongo/driver/batch_cursor.go | Bin 14176 -> 15399 bytes .../mongo-driver/x/mongo/driver/batches.go | Bin 2210 -> 2480 bytes .../x/mongo/driver/compression.go | Bin 2776 -> 2929 bytes .../x/mongo/driver/connstring/connstring.go | Bin 29413 -> 29823 bytes .../mongo-driver/x/mongo/driver/crypt.go | Bin 9502 -> 11453 bytes .../mongo-driver/x/mongo/driver/dns/dns.go | Bin 4370 -> 4394 bytes .../mongo-driver/x/mongo/driver/driver.go | Bin 9954 -> 10785 bytes .../mongo-driver/x/mongo/driver/errors.go | Bin 12967 -> 13717 bytes .../mongo-driver/x/mongo/driver/legacy.go | Bin 499 -> 769 bytes .../x/mongo/driver/mongocrypt/binary.go | Bin 1615 -> 1630 bytes .../x/mongo/driver/mongocrypt/errors.go | Bin 1171 -> 1186 bytes .../driver/mongocrypt/errors_not_enabled.go | Bin 532 -> 548 bytes .../x/mongo/driver/mongocrypt/mongocrypt.go | Bin 7798 -> 13191 bytes .../driver/mongocrypt/mongocrypt_context.go | Bin 3133 -> 3148 bytes .../mongocrypt_context_not_enabled.go | Bin 1660 -> 1676 bytes .../mongocrypt/mongocrypt_kms_context.go | Bin 2435 -> 2450 bytes .../mongocrypt_kms_context_not_enabled.go | Bin 1201 -> 1217 bytes .../mongocrypt/mongocrypt_not_enabled.go | Bin 2014 -> 2890 bytes .../options/mongocrypt_context_options.go | Bin 1908 -> 4321 bytes .../mongocrypt/options/mongocrypt_options.go | Bin 1074 -> 2263 bytes .../mongo-driver/x/mongo/driver/ocsp/ocsp.go | Bin 12235 -> 11012 bytes .../mongo-driver/x/mongo/driver/operation.go | Bin 54633 -> 60414 bytes .../driver/operation/abort_transaction.go | Bin 5418 -> 5418 bytes .../x/mongo/driver/operation/aggregate.go | Bin 10650 -> 11540 bytes .../x/mongo/driver/operation/command.go | Bin 5679 -> 5929 bytes .../driver/operation/commit_transaction.go | Bin 5561 -> 5561 bytes .../x/mongo/driver/operation/count.go | Bin 8122 -> 7711 bytes .../x/mongo/driver/operation/create.go | Bin 8939 -> 10602 bytes .../x/mongo/driver/operation/createIndexes.go | Bin 7593 -> 8047 bytes .../x/mongo/driver/operation/delete.go | Bin 7022 -> 8007 bytes .../x/mongo/driver/operation/distinct.go | Bin 7076 -> 7741 bytes .../mongo/driver/operation/drop_collection.go | Bin 5654 -> 5704 bytes .../x/mongo/driver/operation/drop_database.go | Bin 3969 -> 3969 bytes .../x/mongo/driver/operation/drop_indexes.go | Bin 5992 -> 6395 bytes .../x/mongo/driver/operation/end_sessions.go | Bin 4058 -> 4060 bytes .../x/mongo/driver/operation/find.go | Bin 12729 -> 13404 bytes .../mongo/driver/operation/find_and_modify.go | Bin 12321 -> 13587 bytes .../x/mongo/driver/operation/hello.go | Bin 8569 -> 8752 bytes .../x/mongo/driver/operation/insert.go | Bin 6887 -> 7565 bytes .../x/mongo/driver/operation/listDatabases.go | Bin 8446 -> 8773 bytes .../driver/operation/list_collections.go | Bin 6521 -> 7387 bytes .../x/mongo/driver/operation/list_indexes.go | Bin 5650 -> 6005 bytes .../x/mongo/driver/operation/update.go | Bin 9906 -> 10873 bytes .../x/mongo/driver/session/client_session.go | Bin 15290 -> 15284 bytes .../x/mongo/driver/session/server_session.go | Bin 2091 -> 2085 bytes .../x/mongo/driver/topology/connection.go | Bin 25968 -> 25757 bytes .../driver/topology/connection_legacy.go | Bin 17 -> 287 bytes .../driver/topology/connection_options.go | Bin 7057 -> 6691 bytes .../x/mongo/driver/topology/errors.go | Bin 2652 -> 2924 bytes .../x/mongo/driver/topology/fsm.go | Bin 10149 -> 10089 bytes .../x/mongo/driver/topology/pool.go | Bin 27788 -> 35321 bytes .../topology/pool_generation_counter.go | Bin 4005 -> 4383 bytes .../x/mongo/driver/topology/rtt_monitor.go | Bin 5652 -> 8304 bytes .../x/mongo/driver/topology/server.go | Bin 30510 -> 33597 bytes .../x/mongo/driver/topology/server_options.go | Bin 6162 -> 6072 bytes .../topology/tls_connection_source_1_16.go | Bin 0 -> 1391 bytes ...ource.go => tls_connection_source_1_17.go} | Bin 882 -> 1221 bytes .../x/mongo/driver/topology/topology.go | Bin 23310 -> 25270 bytes .../mongo/driver/topology/topology_options.go | Bin 12148 -> 12311 bytes .../mongo-driver/x/mongo/driver/uuid/uuid.go | Bin 1177 -> 0 bytes .../x/mongo/driver/wiremessage/wiremessage.go | Bin 17112 -> 17727 bytes vendor/go.uber.org/zap/CHANGELOG.md | Bin 21126 -> 22899 bytes vendor/go.uber.org/zap/CONTRIBUTING.md | Bin 2373 -> 2146 bytes vendor/go.uber.org/zap/README.md | Bin 5264 -> 5958 bytes vendor/go.uber.org/zap/array_go118.go | Bin 0 -> 5717 bytes vendor/go.uber.org/zap/config.go | Bin 9430 -> 9433 bytes vendor/go.uber.org/zap/doc.go | Bin 5256 -> 5248 bytes vendor/go.uber.org/zap/encoder.go | Bin 2851 -> 2851 bytes vendor/go.uber.org/zap/http_handler.go | Bin 4091 -> 4086 bytes vendor/go.uber.org/zap/internal/exit/exit.go | Bin 2077 -> 2118 bytes .../go.uber.org/zap/internal/level_enabler.go | Bin 0 -> 1528 bytes vendor/go.uber.org/zap/level.go | Bin 5180 -> 5255 bytes vendor/go.uber.org/zap/logger.go | Bin 11532 -> 12384 bytes vendor/go.uber.org/zap/options.go | Bin 5125 -> 5856 bytes vendor/go.uber.org/zap/sugar.go | Bin 10616 -> 12876 bytes vendor/go.uber.org/zap/writer.go | Bin 3564 -> 3539 bytes .../zap/zapcore/buffered_write_syncer.go | Bin 5111 -> 6108 bytes vendor/go.uber.org/zap/zapcore/core.go | Bin 3667 -> 3814 bytes vendor/go.uber.org/zap/zapcore/encoder.go | Bin 16277 -> 16274 bytes vendor/go.uber.org/zap/zapcore/entry.go | Bin 7377 -> 8651 bytes vendor/go.uber.org/zap/zapcore/error.go | Bin 4132 -> 4125 bytes vendor/go.uber.org/zap/zapcore/hook.go | Bin 2442 -> 2581 bytes .../go.uber.org/zap/zapcore/increase_level.go | Bin 2347 -> 2514 bytes .../go.uber.org/zap/zapcore/json_encoder.go | Bin 15672 -> 15676 bytes vendor/go.uber.org/zap/zapcore/level.go | Bin 5489 -> 6512 bytes vendor/go.uber.org/zap/zapcore/sampler.go | Bin 6640 -> 6779 bytes vendor/go.uber.org/zap/zapcore/tee.go | Bin 2284 -> 2551 bytes vendor/goa.design/goa/v3/dsl/attribute.go | Bin 12231 -> 12217 bytes vendor/goa.design/goa/v3/dsl/meta.go | Bin 8697 -> 9790 bytes vendor/goa.design/goa/v3/dsl/payload.go | Bin 5039 -> 5378 bytes vendor/goa.design/goa/v3/dsl/result.go | Bin 4014 -> 3804 bytes vendor/goa.design/goa/v3/dsl/result_type.go | Bin 16917 -> 16914 bytes vendor/goa.design/goa/v3/dsl/user_type.go | Bin 8129 -> 7986 bytes vendor/goa.design/goa/v3/expr/attribute.go | Bin 25665 -> 26610 bytes vendor/goa.design/goa/v3/expr/dup.go | Bin 2728 -> 2934 bytes vendor/goa.design/goa/v3/expr/hasher.go | Bin 4287 -> 4361 bytes vendor/goa.design/goa/v3/expr/helpers.go | Bin 1040 -> 1270 bytes .../goa.design/goa/v3/expr/http_body_types.go | Bin 14357 -> 15129 bytes .../goa/v3/expr/mapped_attribute.go | Bin 6379 -> 6141 bytes vendor/goa.design/goa/v3/expr/method.go | Bin 10757 -> 10959 bytes vendor/goa.design/goa/v3/expr/result_type.go | Bin 12750 -> 12742 bytes vendor/goa.design/goa/v3/expr/testing.go | Bin 2327 -> 2312 bytes vendor/goa.design/goa/v3/http/client.go | Bin 6164 -> 6084 bytes vendor/goa.design/goa/v3/http/encoding.go | Bin 9134 -> 9113 bytes vendor/goa.design/goa/v3/http/mux.go | Bin 3173 -> 3621 bytes vendor/goa.design/goa/v3/pkg/error.go | Bin 9035 -> 9560 bytes vendor/goa.design/goa/v3/pkg/version.go | Bin 1097 -> 1097 bytes vendor/golang.org/x/mod/module/module.go | Bin 27514 -> 27497 bytes vendor/golang.org/x/sync/errgroup/errgroup.go | Bin 3209 -> 3150 bytes vendor/golang.org/x/sys/unix/ioctl_linux.go | Bin 8064 -> 7458 bytes vendor/golang.org/x/sys/unix/mkall.sh | Bin 8122 -> 8466 bytes vendor/golang.org/x/sys/unix/str.go | Bin 0 -> 705 bytes vendor/golang.org/x/sys/unix/syscall.go | Bin 2987 -> 3093 bytes .../x/sys/unix/syscall_darwin.1_13.go | Bin 2632 -> 2759 bytes .../x/sys/unix/syscall_freebsd_386.go | Bin 1805 -> 1805 bytes .../x/sys/unix/syscall_freebsd_amd64.go | Bin 1760 -> 1760 bytes .../x/sys/unix/syscall_freebsd_arm.go | Bin 1659 -> 1659 bytes .../x/sys/unix/syscall_freebsd_arm64.go | Bin 1628 -> 1628 bytes .../x/sys/unix/syscall_freebsd_riscv64.go | Bin 1632 -> 1632 bytes vendor/golang.org/x/sys/unix/syscall_linux.go | Bin 72827 -> 72667 bytes .../x/sys/unix/syscall_linux_386.go | Bin 9679 -> 9967 bytes .../x/sys/unix/syscall_linux_amd64.go | Bin 5490 -> 5708 bytes .../x/sys/unix/syscall_linux_arm.go | Bin 7686 -> 7974 bytes .../x/sys/unix/syscall_linux_arm64.go | Bin 6423 -> 6641 bytes .../x/sys/unix/syscall_linux_loong64.go | Bin 6951 -> 7169 bytes .../x/sys/unix/syscall_linux_mips64x.go | Bin 6065 -> 6283 bytes .../x/sys/unix/syscall_linux_mipsx.go | Bin 6550 -> 6768 bytes .../x/sys/unix/syscall_linux_ppc.go | Bin 7597 -> 7815 bytes .../x/sys/unix/syscall_linux_ppc64x.go | Bin 5195 -> 5413 bytes .../x/sys/unix/syscall_linux_riscv64.go | Bin 6032 -> 6250 bytes .../x/sys/unix/syscall_linux_s390x.go | Bin 9589 -> 9807 bytes .../x/sys/unix/syscall_linux_sparc64.go | Bin 4554 -> 4772 bytes .../x/sys/unix/syscall_openbsd_libc.go | Bin 1263 -> 0 bytes .../golang.org/x/sys/unix/syscall_solaris.go | Bin 30060 -> 29706 bytes vendor/golang.org/x/sys/unix/syscall_unix.go | Bin 14472 -> 14590 bytes vendor/golang.org/x/sys/unix/sysvshm_unix.go | Bin 1477 -> 1670 bytes .../x/sys/unix/zerrors_linux_386.go | Bin 34300 -> 34292 bytes .../x/sys/unix/zerrors_linux_amd64.go | Bin 34314 -> 34302 bytes .../x/sys/unix/zerrors_linux_arm.go | Bin 34538 -> 34530 bytes .../x/sys/unix/zerrors_linux_arm64.go | Bin 34275 -> 34263 bytes .../x/sys/unix/zerrors_linux_loong64.go | Bin 33904 -> 33888 bytes .../x/sys/unix/zerrors_linux_mips.go | Bin 34837 -> 34827 bytes .../x/sys/unix/zerrors_linux_mips64.go | Bin 34844 -> 34830 bytes .../x/sys/unix/zerrors_linux_mips64le.go | Bin 34852 -> 34834 bytes .../x/sys/unix/zerrors_linux_mipsle.go | Bin 34845 -> 34831 bytes .../x/sys/unix/zerrors_linux_ppc.go | Bin 36969 -> 36961 bytes .../x/sys/unix/zerrors_linux_ppc64.go | Bin 37145 -> 37133 bytes .../x/sys/unix/zerrors_linux_ppc64le.go | Bin 37153 -> 37137 bytes .../x/sys/unix/zerrors_linux_riscv64.go | Bin 33775 -> 33759 bytes .../x/sys/unix/zerrors_linux_s390x.go | Bin 36909 -> 36897 bytes .../x/sys/unix/zerrors_linux_sparc64.go | Bin 37048 -> 37032 bytes .../x/sys/unix/zsyscall_darwin_amd64.1_13.s | Bin 766 -> 766 bytes .../x/sys/unix/zsyscall_darwin_amd64.s | Bin 29532 -> 29532 bytes .../x/sys/unix/zsyscall_darwin_arm64.1_13.s | Bin 766 -> 766 bytes .../x/sys/unix/zsyscall_darwin_arm64.s | Bin 29462 -> 29462 bytes .../x/sys/unix/zsyscall_linux_386.go | Bin 12683 -> 13675 bytes .../x/sys/unix/zsyscall_linux_amd64.go | Bin 17181 -> 18165 bytes .../x/sys/unix/zsyscall_linux_arm.go | Bin 16268 -> 17260 bytes .../x/sys/unix/zsyscall_linux_arm64.go | Bin 14848 -> 15832 bytes .../x/sys/unix/zsyscall_linux_loong64.go | Bin 12938 -> 13922 bytes .../x/sys/unix/zsyscall_linux_mips.go | Bin 17450 -> 18434 bytes .../x/sys/unix/zsyscall_linux_mips64.go | Bin 16951 -> 17935 bytes .../x/sys/unix/zsyscall_linux_mips64le.go | Bin 16685 -> 17669 bytes .../x/sys/unix/zsyscall_linux_mipsle.go | Bin 17456 -> 18440 bytes .../x/sys/unix/zsyscall_linux_ppc.go | Bin 17525 -> 18509 bytes .../x/sys/unix/zsyscall_linux_ppc64.go | Bin 18504 -> 19488 bytes .../x/sys/unix/zsyscall_linux_ppc64le.go | Bin 18510 -> 19494 bytes .../x/sys/unix/zsyscall_linux_riscv64.go | Bin 14347 -> 15331 bytes .../x/sys/unix/zsyscall_linux_s390x.go | Bin 12687 -> 13671 bytes .../x/sys/unix/zsyscall_linux_sparc64.go | Bin 17113 -> 18097 bytes .../x/sys/unix/zsyscall_openbsd_386.go | Bin 56701 -> 40505 bytes .../x/sys/unix/zsyscall_openbsd_386.s | Bin 26255 -> 0 bytes .../x/sys/unix/zsyscall_openbsd_amd64.go | Bin 56556 -> 40359 bytes .../x/sys/unix/zsyscall_openbsd_amd64.s | Bin 26257 -> 0 bytes .../x/sys/unix/zsyscall_openbsd_arm.go | Bin 56726 -> 40510 bytes .../x/sys/unix/zsyscall_openbsd_arm.s | Bin 26255 -> 0 bytes .../x/sys/unix/zsyscall_openbsd_arm64.go | Bin 56556 -> 40359 bytes .../x/sys/unix/zsyscall_openbsd_arm64.s | Bin 26257 -> 0 bytes .../x/sys/unix/zsysnum_linux_386.go | Bin 17732 -> 17724 bytes .../x/sys/unix/zsysnum_linux_amd64.go | Bin 12810 -> 12798 bytes .../x/sys/unix/zsysnum_linux_arm.go | Bin 16312 -> 16304 bytes .../x/sys/unix/zsysnum_linux_arm64.go | Bin 10894 -> 10882 bytes .../x/sys/unix/zsysnum_linux_loong64.go | Bin 10681 -> 10665 bytes .../x/sys/unix/zsysnum_linux_mips.go | Bin 17625 -> 17615 bytes .../x/sys/unix/zsysnum_linux_mips64.go | Bin 12993 -> 12979 bytes .../x/sys/unix/zsysnum_linux_mips64le.go | Bin 13001 -> 12983 bytes .../x/sys/unix/zsysnum_linux_mipsle.go | Bin 17633 -> 17619 bytes .../x/sys/unix/zsysnum_linux_ppc.go | Bin 17367 -> 17359 bytes .../x/sys/unix/zsysnum_linux_ppc64.go | Bin 14240 -> 14228 bytes .../x/sys/unix/zsysnum_linux_ppc64le.go | Bin 14248 -> 14232 bytes .../x/sys/unix/zsysnum_linux_riscv64.go | Bin 10854 -> 10838 bytes .../x/sys/unix/zsysnum_linux_s390x.go | Bin 13062 -> 13050 bytes .../x/sys/unix/zsysnum_linux_sparc64.go | Bin 13529 -> 13513 bytes .../x/sys/unix/zsysnum_openbsd_386.go | Bin 18357 -> 18296 bytes .../x/sys/unix/zsysnum_openbsd_amd64.go | Bin 18361 -> 18300 bytes .../x/sys/unix/zsysnum_openbsd_arm.go | Bin 18357 -> 18296 bytes .../x/sys/unix/zsysnum_openbsd_arm64.go | Bin 18276 -> 18215 bytes .../x/sys/unix/ztypes_freebsd_386.go | Bin 9882 -> 9706 bytes .../x/sys/unix/ztypes_freebsd_amd64.go | Bin 9939 -> 9762 bytes .../x/sys/unix/ztypes_freebsd_arm.go | Bin 9757 -> 9580 bytes .../x/sys/unix/ztypes_freebsd_arm64.go | Bin 9645 -> 9468 bytes .../x/sys/unix/ztypes_freebsd_riscv64.go | Bin 9718 -> 9541 bytes vendor/golang.org/x/sys/unix/ztypes_linux.go | Bin 238972 -> 238717 bytes .../golang.org/x/sys/unix/ztypes_linux_386.go | Bin 12550 -> 12525 bytes .../x/sys/unix/ztypes_linux_amd64.go | Bin 12743 -> 12714 bytes .../golang.org/x/sys/unix/ztypes_linux_arm.go | Bin 12512 -> 12487 bytes .../x/sys/unix/ztypes_linux_arm64.go | Bin 12387 -> 12358 bytes .../x/sys/unix/ztypes_linux_loong64.go | Bin 12410 -> 12377 bytes .../x/sys/unix/ztypes_linux_mips.go | Bin 12574 -> 12547 bytes .../x/sys/unix/ztypes_linux_mips64.go | Bin 12445 -> 12414 bytes .../x/sys/unix/ztypes_linux_mips64le.go | Bin 12453 -> 12418 bytes .../x/sys/unix/ztypes_linux_mipsle.go | Bin 12582 -> 12551 bytes .../golang.org/x/sys/unix/ztypes_linux_ppc.go | Bin 12760 -> 12735 bytes .../x/sys/unix/ztypes_linux_ppc64.go | Bin 12586 -> 12557 bytes .../x/sys/unix/ztypes_linux_ppc64le.go | Bin 12594 -> 12561 bytes .../x/sys/unix/ztypes_linux_riscv64.go | Bin 12737 -> 12704 bytes .../x/sys/unix/ztypes_linux_s390x.go | Bin 12887 -> 12858 bytes .../x/sys/unix/ztypes_linux_sparc64.go | Bin 12444 -> 12411 bytes .../x/sys/windows/setupapi_windows.go | Bin 68854 -> 68858 bytes vendor/golang.org/x/text/cases/cases.go | Bin 0 -> 4991 bytes vendor/golang.org/x/text/cases/context.go | Bin 0 -> 9701 bytes vendor/golang.org/x/text/cases/fold.go | Bin 0 -> 935 bytes vendor/golang.org/x/text/cases/icu.go | Bin 0 -> 1458 bytes vendor/golang.org/x/text/cases/info.go | Bin 0 -> 2997 bytes vendor/golang.org/x/text/cases/map.go | Bin 0 -> 23278 bytes .../golang.org/x/text/cases/tables10.0.0.go | Bin 0 -> 96215 bytes .../golang.org/x/text/cases/tables11.0.0.go | Bin 0 -> 99844 bytes .../golang.org/x/text/cases/tables12.0.0.go | Bin 0 -> 101579 bytes .../golang.org/x/text/cases/tables13.0.0.go | Bin 0 -> 103149 bytes vendor/golang.org/x/text/cases/tables9.0.0.go | Bin 0 -> 94612 bytes vendor/golang.org/x/text/cases/trieval.go | Bin 0 -> 6451 bytes vendor/golang.org/x/text/internal/internal.go | Bin 0 -> 1040 bytes .../x/text/internal/language/common.go | Bin 0 -> 334 bytes .../x/text/internal/language/compact.go | Bin 0 -> 853 bytes .../text/internal/language/compact/compact.go | Bin 0 -> 1707 bytes .../internal/language/compact/language.go | Bin 0 -> 7437 bytes .../text/internal/language/compact/parents.go | Bin 0 -> 6853 bytes .../text/internal/language/compact/tables.go | Bin 0 -> 32128 bytes .../x/text/internal/language/compact/tags.go | Bin 0 -> 5651 bytes .../x/text/internal/language/compose.go | Bin 0 -> 3881 bytes .../x/text/internal/language/coverage.go | Bin 0 -> 730 bytes .../x/text/internal/language/language.go | Bin 0 -> 17174 bytes .../x/text/internal/language/lookup.go | Bin 0 -> 12385 bytes .../x/text/internal/language/match.go | Bin 0 -> 5824 bytes .../x/text/internal/language/parse.go | Bin 0 -> 15063 bytes .../x/text/internal/language/tables.go | Bin 0 -> 155812 bytes .../x/text/internal/language/tags.go | Bin 0 -> 1211 bytes vendor/golang.org/x/text/internal/match.go | Bin 0 -> 1912 bytes vendor/golang.org/x/text/internal/tag/tag.go | Bin 0 -> 2415 bytes vendor/golang.org/x/text/language/coverage.go | Bin 0 -> 4897 bytes vendor/golang.org/x/text/language/doc.go | Bin 0 -> 4392 bytes vendor/golang.org/x/text/language/go1_1.go | Bin 0 -> 711 bytes vendor/golang.org/x/text/language/go1_2.go | Bin 0 -> 256 bytes vendor/golang.org/x/text/language/language.go | Bin 0 -> 19330 bytes vendor/golang.org/x/text/language/match.go | Bin 0 -> 25704 bytes vendor/golang.org/x/text/language/parse.go | Bin 0 -> 7542 bytes vendor/golang.org/x/text/language/tables.go | Bin 0 -> 14578 bytes vendor/golang.org/x/text/language/tags.go | Bin 0 -> 5545 bytes vendor/golang.org/x/tools/AUTHORS | Bin 173 -> 0 bytes vendor/golang.org/x/tools/CONTRIBUTORS | Bin 170 -> 0 bytes .../x/tools/go/ast/astutil/enclosing.go | Bin 16390 -> 16392 bytes .../x/tools/go/ast/astutil/imports.go | Bin 13653 -> 13682 bytes .../x/tools/go/ast/astutil/rewrite.go | Bin 12405 -> 12610 bytes .../x/tools/go/gcexportdata/gcexportdata.go | Bin 5685 -> 6398 bytes .../x/tools/go/gcexportdata/importer.go | Bin 1923 -> 2026 bytes .../x/tools/go/internal/gcimporter/bexport.go | Bin 19899 -> 19893 bytes .../go/internal/gcimporter/gcimporter.go | Bin 28360 -> 29683 bytes .../x/tools/go/internal/gcimporter/iexport.go | Bin 24100 -> 24186 bytes .../x/tools/go/internal/gcimporter/iimport.go | Bin 21561 -> 20818 bytes .../go/internal/gcimporter/unified_no.go | Bin 0 -> 290 bytes .../go/internal/gcimporter/unified_yes.go | Bin 0 -> 284 bytes .../go/internal/gcimporter/ureader_no.go | Bin 0 -> 521 bytes .../go/internal/gcimporter/ureader_yes.go | Bin 0 -> 14895 bytes .../x/tools/go/internal/pkgbits/codes.go | Bin 0 -> 1726 bytes .../x/tools/go/internal/pkgbits/decoder.go | Bin 0 -> 11825 bytes .../x/tools/go/internal/pkgbits/doc.go | Bin 0 -> 1543 bytes .../x/tools/go/internal/pkgbits/encoder.go | Bin 0 -> 9536 bytes .../x/tools/go/internal/pkgbits/flags.go | Bin 0 -> 253 bytes .../x/tools/go/internal/pkgbits/frames_go1.go | Bin 0 -> 476 bytes .../tools/go/internal/pkgbits/frames_go17.go | Bin 0 -> 627 bytes .../x/tools/go/internal/pkgbits/reloc.go | Bin 0 -> 831 bytes .../x/tools/go/internal/pkgbits/support.go | Bin 0 -> 344 bytes .../x/tools/go/internal/pkgbits/sync.go | Bin 0 -> 2024 bytes .../go/internal/pkgbits/syncmarker_string.go | Bin 0 -> 2882 bytes vendor/golang.org/x/tools/go/packages/doc.go | Bin 11070 -> 11069 bytes .../golang.org/x/tools/go/packages/golist.go | Bin 37260 -> 39544 bytes .../x/tools/go/packages/loadmode_string.go | Bin 928 -> 926 bytes .../x/tools/go/packages/packages.go | Bin 39658 -> 40468 bytes vendor/golang.org/x/tools/imports/forward.go | Bin 2518 -> 2520 bytes .../x/tools/internal/fastwalk/fastwalk.go | Bin 5479 -> 5479 bytes .../x/tools/internal/gocommand/invoke.go | Bin 8149 -> 8178 bytes .../x/tools/internal/gopathwalk/walk.go | Bin 7370 -> 7162 bytes .../x/tools/internal/imports/fix.go | Bin 49180 -> 49219 bytes .../x/tools/internal/imports/imports.go | Bin 10051 -> 10311 bytes .../x/tools/internal/imports/mod.go | Bin 20222 -> 20468 bytes .../x/tools/internal/imports/sortimports.go | Bin 7963 -> 8161 bytes .../x/tools/internal/imports/zstdlib.go | Bin 192507 -> 193476 bytes .../internal/packagesinternal/packages.go | Bin 969 -> 1106 bytes .../x/tools/internal/typeparams/common.go | Bin 5944 -> 5872 bytes .../x/tools/internal/typeparams/coretype.go | Bin 0 -> 4438 bytes .../x/tools/internal/typeparams/normalize.go | Bin 6773 -> 6774 bytes .../x/tools/internal/typeparams/termlist.go | Bin 4161 -> 3851 bytes vendor/golang.org/x/xerrors/LICENSE | Bin 1479 -> 0 bytes vendor/golang.org/x/xerrors/PATENTS | Bin 1303 -> 0 bytes vendor/golang.org/x/xerrors/README | Bin 122 -> 0 bytes vendor/golang.org/x/xerrors/adaptor.go | Bin 4130 -> 0 bytes vendor/golang.org/x/xerrors/codereview.cfg | Bin 21 -> 0 bytes vendor/golang.org/x/xerrors/doc.go | Bin 785 -> 0 bytes vendor/golang.org/x/xerrors/errors.go | Bin 815 -> 0 bytes vendor/golang.org/x/xerrors/fmt.go | Bin 5192 -> 0 bytes vendor/golang.org/x/xerrors/format.go | Bin 1148 -> 0 bytes vendor/golang.org/x/xerrors/frame.go | Bin 1523 -> 0 bytes .../golang.org/x/xerrors/internal/internal.go | Bin 282 -> 0 bytes vendor/golang.org/x/xerrors/wrap.go | Bin 3222 -> 0 bytes vendor/modules.txt | Bin 13510 -> 13699 bytes 925 files changed, 15104 insertions(+), 19478 deletions(-) delete mode 100644 cmd/sync/vendor/github.com/go-stack/stack/.travis.yml delete mode 100644 cmd/sync/vendor/github.com/go-stack/stack/README.md delete mode 100644 cmd/sync/vendor/github.com/go-stack/stack/stack.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/.gitignore create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/.travis.yml create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/CHANGELOG.md rename cmd/sync/vendor/github.com/{go-stack/stack/LICENSE.md => montanaflynn/stats/LICENSE} (94%) create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/Makefile create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/README.md create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/correlation.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/data.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/data_set_distances.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/deviation.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/errors.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/legacy.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/load.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/max.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/mean.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/median.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/min.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/mode.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/outlier.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/percentile.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/quartile.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/regression.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/round.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/sample.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/sum.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/util.go create mode 100644 cmd/sync/vendor/github.com/montanaflynn/stats/variance.go create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/csfle_util.go create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/csot_util.go create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/bits.go create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/exp.go create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/normal.go create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rand.go create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rng.go rename cmd/sync/vendor/go.mongodb.org/mongo-driver/{x/mongo/driver => internal}/uuid/uuid.go (54%) create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/doc.go create mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/rewrapdatakeyoptions.go delete mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/hanging_tls_conn_1_16.go delete mode 100644 cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/hanging_tls_conn_1_17.go delete mode 100644 cmd/sync/vendor/golang.org/x/crypto/ed25519/ed25519_go113.go delete mode 100644 cmd/sync/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/const.go delete mode 100644 cmd/sync/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/edwards25519.go delete mode 100644 cmd/sync/vendor/golang.org/x/sys/unix/ifreq_linux.go delete mode 100644 cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go delete mode 100644 cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_linux.go delete mode 100644 cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_unix.go delete mode 100644 cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go delete mode 100644 cmd/sync/vendor/golang.org/x/sys/windows/setupapi_windows.go create mode 100644 cmd/sync/vendor/golang.org/x/sys/windows/setupapierrors_windows.go delete mode 100644 vendor/github.com/go-stack/stack/.travis.yml delete mode 100644 vendor/github.com/go-stack/stack/README.md delete mode 100644 vendor/github.com/go-stack/stack/stack.go create mode 100644 vendor/github.com/hashicorp/errwrap/LICENSE create mode 100644 vendor/github.com/hashicorp/errwrap/README.md create mode 100644 vendor/github.com/hashicorp/errwrap/errwrap.go create mode 100644 vendor/github.com/hashicorp/go-multierror/LICENSE create mode 100644 vendor/github.com/hashicorp/go-multierror/Makefile create mode 100644 vendor/github.com/hashicorp/go-multierror/README.md create mode 100644 vendor/github.com/hashicorp/go-multierror/append.go create mode 100644 vendor/github.com/hashicorp/go-multierror/flatten.go create mode 100644 vendor/github.com/hashicorp/go-multierror/format.go create mode 100644 vendor/github.com/hashicorp/go-multierror/group.go create mode 100644 vendor/github.com/hashicorp/go-multierror/multierror.go create mode 100644 vendor/github.com/hashicorp/go-multierror/prefix.go create mode 100644 vendor/github.com/hashicorp/go-multierror/sort.go delete mode 100644 vendor/github.com/klauspost/compress/huff0/decompress_amd64.go delete mode 100644 vendor/github.com/klauspost/compress/huff0/decompress_amd64.s delete mode 100644 vendor/github.com/klauspost/compress/huff0/decompress_generic.go delete mode 100644 vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo.go delete mode 100644 vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.go delete mode 100644 vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.s delete mode 100644 vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.go delete mode 100644 vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.s delete mode 100644 vendor/github.com/klauspost/compress/zstd/fse_decoder_generic.go rename vendor/github.com/klauspost/compress/zstd/internal/xxhash/{xxhash_asm.go => xxhash_amd64.go} (51%) delete mode 100644 vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s delete mode 100644 vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go delete mode 100644 vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s delete mode 100644 vendor/github.com/klauspost/compress/zstd/seqdec_generic.go create mode 100644 vendor/github.com/montanaflynn/stats/.gitignore create mode 100644 vendor/github.com/montanaflynn/stats/.travis.yml create mode 100644 vendor/github.com/montanaflynn/stats/CHANGELOG.md rename vendor/github.com/{go-stack/stack/LICENSE.md => montanaflynn/stats/LICENSE} (94%) create mode 100644 vendor/github.com/montanaflynn/stats/Makefile create mode 100644 vendor/github.com/montanaflynn/stats/README.md create mode 100644 vendor/github.com/montanaflynn/stats/correlation.go create mode 100644 vendor/github.com/montanaflynn/stats/data.go create mode 100644 vendor/github.com/montanaflynn/stats/data_set_distances.go create mode 100644 vendor/github.com/montanaflynn/stats/deviation.go create mode 100644 vendor/github.com/montanaflynn/stats/errors.go create mode 100644 vendor/github.com/montanaflynn/stats/legacy.go create mode 100644 vendor/github.com/montanaflynn/stats/load.go create mode 100644 vendor/github.com/montanaflynn/stats/max.go create mode 100644 vendor/github.com/montanaflynn/stats/mean.go create mode 100644 vendor/github.com/montanaflynn/stats/median.go create mode 100644 vendor/github.com/montanaflynn/stats/min.go create mode 100644 vendor/github.com/montanaflynn/stats/mode.go create mode 100644 vendor/github.com/montanaflynn/stats/outlier.go create mode 100644 vendor/github.com/montanaflynn/stats/percentile.go create mode 100644 vendor/github.com/montanaflynn/stats/quartile.go create mode 100644 vendor/github.com/montanaflynn/stats/regression.go create mode 100644 vendor/github.com/montanaflynn/stats/round.go create mode 100644 vendor/github.com/montanaflynn/stats/sample.go create mode 100644 vendor/github.com/montanaflynn/stats/sum.go create mode 100644 vendor/github.com/montanaflynn/stats/util.go create mode 100644 vendor/github.com/montanaflynn/stats/variance.go rename vendor/{code.vereign.com/gaiax => gitlab.com/gaia-x/data-infrastructure-federation-services}/tsa/golib/LICENSE (100%) rename vendor/{code.vereign.com/gaiax => gitlab.com/gaia-x/data-infrastructure-federation-services}/tsa/golib/errors/errors.go (100%) rename vendor/{code.vereign.com/gaiax => gitlab.com/gaia-x/data-infrastructure-federation-services}/tsa/golib/errors/shortid.go (100%) rename vendor/{code.vereign.com/gaiax => gitlab.com/gaia-x/data-infrastructure-federation-services}/tsa/golib/graceful/graceful.go (94%) rename vendor/{code.vereign.com/gaiax => gitlab.com/gaia-x/data-infrastructure-federation-services}/tsa/golib/ocm/README.md (70%) rename vendor/{code.vereign.com/gaiax => gitlab.com/gaia-x/data-infrastructure-federation-services}/tsa/golib/ocm/client.go (100%) rename vendor/{code.vereign.com/gaiax => gitlab.com/gaia-x/data-infrastructure-federation-services}/tsa/golib/ocm/option.go (100%) rename vendor/{code.vereign.com/gaiax => gitlab.com/gaia-x/data-infrastructure-federation-services}/tsa/golib/ocm/types.go (95%) create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/internal/csfle_util.go create mode 100644 vendor/go.mongodb.org/mongo-driver/internal/csot_util.go create mode 100644 vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/bits.go create mode 100644 vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/exp.go create mode 100644 vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/normal.go create mode 100644 vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rand.go create mode 100644 vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rng.go create mode 100644 vendor/go.mongodb.org/mongo-driver/internal/uuid/uuid.go create mode 100644 vendor/go.mongodb.org/mongo-driver/mongo/options/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/mongo/options/rewrapdatakeyoptions.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source_1_16.go rename vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/{tls_connection_source.go => tls_connection_source_1_17.go} (66%) delete mode 100644 vendor/go.mongodb.org/mongo-driver/x/mongo/driver/uuid/uuid.go create mode 100644 vendor/go.uber.org/zap/array_go118.go create mode 100644 vendor/go.uber.org/zap/internal/level_enabler.go create mode 100644 vendor/golang.org/x/sys/unix/str.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s create mode 100644 vendor/golang.org/x/text/cases/cases.go create mode 100644 vendor/golang.org/x/text/cases/context.go create mode 100644 vendor/golang.org/x/text/cases/fold.go create mode 100644 vendor/golang.org/x/text/cases/icu.go create mode 100644 vendor/golang.org/x/text/cases/info.go create mode 100644 vendor/golang.org/x/text/cases/map.go create mode 100644 vendor/golang.org/x/text/cases/tables10.0.0.go create mode 100644 vendor/golang.org/x/text/cases/tables11.0.0.go create mode 100644 vendor/golang.org/x/text/cases/tables12.0.0.go create mode 100644 vendor/golang.org/x/text/cases/tables13.0.0.go create mode 100644 vendor/golang.org/x/text/cases/tables9.0.0.go create mode 100644 vendor/golang.org/x/text/cases/trieval.go create mode 100644 vendor/golang.org/x/text/internal/internal.go create mode 100644 vendor/golang.org/x/text/internal/language/common.go create mode 100644 vendor/golang.org/x/text/internal/language/compact.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/compact.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/language.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/parents.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/tables.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/tags.go create mode 100644 vendor/golang.org/x/text/internal/language/compose.go create mode 100644 vendor/golang.org/x/text/internal/language/coverage.go create mode 100644 vendor/golang.org/x/text/internal/language/language.go create mode 100644 vendor/golang.org/x/text/internal/language/lookup.go create mode 100644 vendor/golang.org/x/text/internal/language/match.go create mode 100644 vendor/golang.org/x/text/internal/language/parse.go create mode 100644 vendor/golang.org/x/text/internal/language/tables.go create mode 100644 vendor/golang.org/x/text/internal/language/tags.go create mode 100644 vendor/golang.org/x/text/internal/match.go create mode 100644 vendor/golang.org/x/text/internal/tag/tag.go create mode 100644 vendor/golang.org/x/text/language/coverage.go create mode 100644 vendor/golang.org/x/text/language/doc.go create mode 100644 vendor/golang.org/x/text/language/go1_1.go create mode 100644 vendor/golang.org/x/text/language/go1_2.go create mode 100644 vendor/golang.org/x/text/language/language.go create mode 100644 vendor/golang.org/x/text/language/match.go create mode 100644 vendor/golang.org/x/text/language/parse.go create mode 100644 vendor/golang.org/x/text/language/tables.go create mode 100644 vendor/golang.org/x/text/language/tags.go delete mode 100644 vendor/golang.org/x/tools/AUTHORS delete mode 100644 vendor/golang.org/x/tools/CONTRIBUTORS create mode 100644 vendor/golang.org/x/tools/go/internal/gcimporter/unified_no.go create mode 100644 vendor/golang.org/x/tools/go/internal/gcimporter/unified_yes.go create mode 100644 vendor/golang.org/x/tools/go/internal/gcimporter/ureader_no.go create mode 100644 vendor/golang.org/x/tools/go/internal/gcimporter/ureader_yes.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/codes.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/decoder.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/doc.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/encoder.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/flags.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/frames_go1.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/frames_go17.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/reloc.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/support.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/sync.go create mode 100644 vendor/golang.org/x/tools/go/internal/pkgbits/syncmarker_string.go create mode 100644 vendor/golang.org/x/tools/internal/typeparams/coretype.go delete mode 100644 vendor/golang.org/x/xerrors/LICENSE delete mode 100644 vendor/golang.org/x/xerrors/PATENTS delete mode 100644 vendor/golang.org/x/xerrors/README delete mode 100644 vendor/golang.org/x/xerrors/adaptor.go delete mode 100644 vendor/golang.org/x/xerrors/codereview.cfg delete mode 100644 vendor/golang.org/x/xerrors/doc.go delete mode 100644 vendor/golang.org/x/xerrors/errors.go delete mode 100644 vendor/golang.org/x/xerrors/fmt.go delete mode 100644 vendor/golang.org/x/xerrors/format.go delete mode 100644 vendor/golang.org/x/xerrors/frame.go delete mode 100644 vendor/golang.org/x/xerrors/internal/internal.go delete mode 100644 vendor/golang.org/x/xerrors/wrap.go diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 882d9f82..31a072ba 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,8 +24,8 @@ lint: - golangci-lint --version - golangci-lint run before_script: - - ln -s /builds /go/src/code.vereign.com - - cd /go/src/code.vereign.com/${CI_PROJECT_PATH} + - ln -s /builds /go/src/gitlab.com + - cd /go/src/gitlab.com/${CI_PROJECT_PATH} unit tests: image: golang:1.19 @@ -41,8 +41,8 @@ govulncheck: tags: - amd64-docker before_script: - - ln -s /builds /go/src/code.vereign.com - - cd /go/src/code.vereign.com/${CI_PROJECT_PATH} + - ln -s /builds /go/src/gitlab.com + - cd /go/src/gitlab.com/${CI_PROJECT_PATH} script: - go version - go install golang.org/x/vuln/cmd/govulncheck@latest diff --git a/README.md b/README.md index f4c93308..8ebd4760 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[](https://code.vereign.com/gaiax/tsa/policy/-/commits/main) -[](https://code.vereign.com/gaiax/tsa/policy/-/commits/main) +[](https://gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/-/commits/main) +[](https://gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/-/commits/main) # Policy Service diff --git a/cmd/policy/main.go b/cmd/policy/main.go index 728a29b1..48d2d9f8 100644 --- a/cmd/policy/main.go +++ b/cmd/policy/main.go @@ -20,21 +20,21 @@ import ( goa "goa.design/goa/v3/pkg" "golang.org/x/sync/errgroup" - "code.vereign.com/gaiax/tsa/golib/graceful" - goahealth "code.vereign.com/gaiax/tsa/policy/gen/health" - goahealthsrv "code.vereign.com/gaiax/tsa/policy/gen/http/health/server" - goaopenapisrv "code.vereign.com/gaiax/tsa/policy/gen/http/openapi/server" - goapolicysrv "code.vereign.com/gaiax/tsa/policy/gen/http/policy/server" - "code.vereign.com/gaiax/tsa/policy/gen/openapi" - goapolicy "code.vereign.com/gaiax/tsa/policy/gen/policy" - "code.vereign.com/gaiax/tsa/policy/internal/clients/cache" - "code.vereign.com/gaiax/tsa/policy/internal/config" - "code.vereign.com/gaiax/tsa/policy/internal/regocache" - "code.vereign.com/gaiax/tsa/policy/internal/regofunc" - "code.vereign.com/gaiax/tsa/policy/internal/service" - "code.vereign.com/gaiax/tsa/policy/internal/service/health" - "code.vereign.com/gaiax/tsa/policy/internal/service/policy" - "code.vereign.com/gaiax/tsa/policy/internal/storage" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/graceful" + goahealth "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/health" + goahealthsrv "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/http/health/server" + goaopenapisrv "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/http/openapi/server" + goapolicysrv "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/http/policy/server" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/openapi" + goapolicy "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/policy" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/clients/cache" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/config" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regocache" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regofunc" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/service" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/service/health" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/service/policy" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/storage" ) var Version = "0.0.0+development" diff --git a/cmd/sync/.golangci.yml b/cmd/sync/.golangci.yml index e6ba71d0..a31b66b2 100644 --- a/cmd/sync/.golangci.yml +++ b/cmd/sync/.golangci.yml @@ -12,7 +12,6 @@ linters: enable: - megacheck - govet - - deadcode - errcheck - goconst - gocyclo @@ -22,10 +21,9 @@ linters: - ineffassign - nakedret - staticcheck - - structcheck - unconvert - - varcheck - vet - vetshadow - misspell - staticcheck + - unused diff --git a/cmd/sync/go.mod b/cmd/sync/go.mod index e24e70d3..d9a0cba6 100644 --- a/cmd/sync/go.mod +++ b/cmd/sync/go.mod @@ -1,10 +1,10 @@ -module code.vereign.com/gaiax/tsa/policy/cmd/sync +module gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/cmd/sync -go 1.17 +go 1.19 require ( github.com/go-git/go-git/v5 v5.4.2 - go.mongodb.org/mongo-driver v1.9.0 + go.mongodb.org/mongo-driver v1.10.2 ) require ( @@ -14,27 +14,24 @@ require ( github.com/emirpasic/gods v1.12.0 // indirect github.com/go-git/gcfg v1.5.0 // indirect github.com/go-git/go-billy/v5 v5.3.1 // indirect - github.com/go-stack/stack v1.8.0 // indirect github.com/golang/snappy v0.0.1 // indirect - github.com/google/go-cmp v0.5.7 // indirect github.com/imdario/mergo v0.3.12 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect github.com/klauspost/compress v1.13.6 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/sergi/go-diff v1.2.0 // indirect + github.com/sergi/go-diff v1.1.0 // indirect github.com/xanzy/ssh-agent v0.3.0 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect - github.com/xdg-go/scram v1.0.2 // indirect - github.com/xdg-go/stringprep v1.0.2 // indirect + github.com/xdg-go/scram v1.1.1 // indirect + github.com/xdg-go/stringprep v1.0.3 // indirect github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect - golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect - golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect - golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect - golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf // indirect + golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d // indirect + golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 // indirect + golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect + golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 // indirect golang.org/x/text v0.3.7 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/cmd/sync/go.sum b/cmd/sync/go.sum index c669cfd9..bdb14202 100644 --- a/cmd/sync/go.sum +++ b/cmd/sync/go.sum @@ -27,14 +27,11 @@ github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2Su github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= @@ -56,6 +53,7 @@ github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -63,9 +61,8 @@ 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/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= -github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= 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= @@ -80,55 +77,43 @@ github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2 h1:akYIkZ28e6A96dkWNJQu3nmCzH3YfwMPQExUYDaRv7w= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/stringprep v1.0.2 h1:6iq84/ryjjeRmMJwxutI51F2GIPlP5BfTvXHeYjyhBc= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E= +github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= +github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs= +github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= -go.mongodb.org/mongo-driver v1.9.0 h1:f3aLGJvQmBl8d9S40IL+jEyBC6hfLPbJjv9t5hEM9ck= -go.mongodb.org/mongo-driver v1.9.0/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.mongodb.org/mongo-driver v1.10.2 h1:4Wk3cnqOrQCn0P92L3/mmurMxzdvWWs5J9jinAVKD+k= +go.mongodb.org/mongo-driver v1.10.2/go.mod h1:z4XpeoU6w+9Vht+jAFyLgVrD+jGSQQe0+CBWFHNiHt8= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/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-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -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/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 h1:CIJ76btIcR3eFI5EgSo6k1qKw9KJexJuRLI9G7Hp5wE= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf h1:Fm4IcnUL803i92qDlmB0obyHmosDrxZWxJL3gIeNqOw= -golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -141,9 +126,8 @@ gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/cmd/sync/vendor/github.com/go-stack/stack/.travis.yml b/cmd/sync/vendor/github.com/go-stack/stack/.travis.yml deleted file mode 100644 index 5c5a2b51..00000000 --- a/cmd/sync/vendor/github.com/go-stack/stack/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: go -sudo: false -go: - - 1.7.x - - 1.8.x - - 1.9.x - - 1.10.x - - 1.11.x - - tip - -before_install: - - go get github.com/mattn/goveralls - -script: - - goveralls -service=travis-ci diff --git a/cmd/sync/vendor/github.com/go-stack/stack/README.md b/cmd/sync/vendor/github.com/go-stack/stack/README.md deleted file mode 100644 index f11cccca..00000000 --- a/cmd/sync/vendor/github.com/go-stack/stack/README.md +++ /dev/null @@ -1,38 +0,0 @@ -[](https://godoc.org/github.com/go-stack/stack) -[](https://goreportcard.com/report/go-stack/stack) -[](https://travis-ci.org/go-stack/stack) -[](https://coveralls.io/github/go-stack/stack?branch=master) - -# stack - -Package stack implements utilities to capture, manipulate, and format call -stacks. It provides a simpler API than package runtime. - -The implementation takes care of the minutia and special cases of interpreting -the program counter (pc) values returned by runtime.Callers. - -## Versioning - -Package stack publishes releases via [semver](http://semver.org/) compatible Git -tags prefixed with a single 'v'. The master branch always contains the latest -release. The develop branch contains unreleased commits. - -## Formatting - -Package stack's types implement fmt.Formatter, which provides a simple and -flexible way to declaratively configure formatting when used with logging or -error tracking packages. - -```go -func DoTheThing() { - c := stack.Caller(0) - log.Print(c) // "source.go:10" - log.Printf("%+v", c) // "pkg/path/source.go:10" - log.Printf("%n", c) // "DoTheThing" - - s := stack.Trace().TrimRuntime() - log.Print(s) // "[source.go:15 caller.go:42 main.go:14]" -} -``` - -See the docs for all of the supported formatting options. diff --git a/cmd/sync/vendor/github.com/go-stack/stack/stack.go b/cmd/sync/vendor/github.com/go-stack/stack/stack.go deleted file mode 100644 index ac3b93b1..00000000 --- a/cmd/sync/vendor/github.com/go-stack/stack/stack.go +++ /dev/null @@ -1,400 +0,0 @@ -// +build go1.7 - -// Package stack implements utilities to capture, manipulate, and format call -// stacks. It provides a simpler API than package runtime. -// -// The implementation takes care of the minutia and special cases of -// interpreting the program counter (pc) values returned by runtime.Callers. -// -// Package stack's types implement fmt.Formatter, which provides a simple and -// flexible way to declaratively configure formatting when used with logging -// or error tracking packages. -package stack - -import ( - "bytes" - "errors" - "fmt" - "io" - "runtime" - "strconv" - "strings" -) - -// Call records a single function invocation from a goroutine stack. -type Call struct { - frame runtime.Frame -} - -// Caller returns a Call from the stack of the current goroutine. The argument -// skip is the number of stack frames to ascend, with 0 identifying the -// calling function. -func Caller(skip int) Call { - // As of Go 1.9 we need room for up to three PC entries. - // - // 0. An entry for the stack frame prior to the target to check for - // special handling needed if that prior entry is runtime.sigpanic. - // 1. A possible second entry to hold metadata about skipped inlined - // functions. If inline functions were not skipped the target frame - // PC will be here. - // 2. A third entry for the target frame PC when the second entry - // is used for skipped inline functions. - var pcs [3]uintptr - n := runtime.Callers(skip+1, pcs[:]) - frames := runtime.CallersFrames(pcs[:n]) - frame, _ := frames.Next() - frame, _ = frames.Next() - - return Call{ - frame: frame, - } -} - -// String implements fmt.Stinger. It is equivalent to fmt.Sprintf("%v", c). -func (c Call) String() string { - return fmt.Sprint(c) -} - -// MarshalText implements encoding.TextMarshaler. It formats the Call the same -// as fmt.Sprintf("%v", c). -func (c Call) MarshalText() ([]byte, error) { - if c.frame == (runtime.Frame{}) { - return nil, ErrNoFunc - } - - buf := bytes.Buffer{} - fmt.Fprint(&buf, c) - return buf.Bytes(), nil -} - -// ErrNoFunc means that the Call has a nil *runtime.Func. The most likely -// cause is a Call with the zero value. -var ErrNoFunc = errors.New("no call stack information") - -// Format implements fmt.Formatter with support for the following verbs. -// -// %s source file -// %d line number -// %n function name -// %k last segment of the package path -// %v equivalent to %s:%d -// -// It accepts the '+' and '#' flags for most of the verbs as follows. -// -// %+s path of source file relative to the compile time GOPATH, -// or the module path joined to the path of source file relative -// to module root -// %#s full path of source file -// %+n import path qualified function name -// %+k full package path -// %+v equivalent to %+s:%d -// %#v equivalent to %#s:%d -func (c Call) Format(s fmt.State, verb rune) { - if c.frame == (runtime.Frame{}) { - fmt.Fprintf(s, "%%!%c(NOFUNC)", verb) - return - } - - switch verb { - case 's', 'v': - file := c.frame.File - switch { - case s.Flag('#'): - // done - case s.Flag('+'): - file = pkgFilePath(&c.frame) - default: - const sep = "/" - if i := strings.LastIndex(file, sep); i != -1 { - file = file[i+len(sep):] - } - } - io.WriteString(s, file) - if verb == 'v' { - buf := [7]byte{':'} - s.Write(strconv.AppendInt(buf[:1], int64(c.frame.Line), 10)) - } - - case 'd': - buf := [6]byte{} - s.Write(strconv.AppendInt(buf[:0], int64(c.frame.Line), 10)) - - case 'k': - name := c.frame.Function - const pathSep = "/" - start, end := 0, len(name) - if i := strings.LastIndex(name, pathSep); i != -1 { - start = i + len(pathSep) - } - const pkgSep = "." - if i := strings.Index(name[start:], pkgSep); i != -1 { - end = start + i - } - if s.Flag('+') { - start = 0 - } - io.WriteString(s, name[start:end]) - - case 'n': - name := c.frame.Function - if !s.Flag('+') { - const pathSep = "/" - if i := strings.LastIndex(name, pathSep); i != -1 { - name = name[i+len(pathSep):] - } - const pkgSep = "." - if i := strings.Index(name, pkgSep); i != -1 { - name = name[i+len(pkgSep):] - } - } - io.WriteString(s, name) - } -} - -// Frame returns the call frame infomation for the Call. -func (c Call) Frame() runtime.Frame { - return c.frame -} - -// PC returns the program counter for this call frame; multiple frames may -// have the same PC value. -// -// Deprecated: Use Call.Frame instead. -func (c Call) PC() uintptr { - return c.frame.PC -} - -// CallStack records a sequence of function invocations from a goroutine -// stack. -type CallStack []Call - -// String implements fmt.Stinger. It is equivalent to fmt.Sprintf("%v", cs). -func (cs CallStack) String() string { - return fmt.Sprint(cs) -} - -var ( - openBracketBytes = []byte("[") - closeBracketBytes = []byte("]") - spaceBytes = []byte(" ") -) - -// MarshalText implements encoding.TextMarshaler. It formats the CallStack the -// same as fmt.Sprintf("%v", cs). -func (cs CallStack) MarshalText() ([]byte, error) { - buf := bytes.Buffer{} - buf.Write(openBracketBytes) - for i, pc := range cs { - if i > 0 { - buf.Write(spaceBytes) - } - fmt.Fprint(&buf, pc) - } - buf.Write(closeBracketBytes) - return buf.Bytes(), nil -} - -// Format implements fmt.Formatter by printing the CallStack as square brackets -// ([, ]) surrounding a space separated list of Calls each formatted with the -// supplied verb and options. -func (cs CallStack) Format(s fmt.State, verb rune) { - s.Write(openBracketBytes) - for i, pc := range cs { - if i > 0 { - s.Write(spaceBytes) - } - pc.Format(s, verb) - } - s.Write(closeBracketBytes) -} - -// Trace returns a CallStack for the current goroutine with element 0 -// identifying the calling function. -func Trace() CallStack { - var pcs [512]uintptr - n := runtime.Callers(1, pcs[:]) - - frames := runtime.CallersFrames(pcs[:n]) - cs := make(CallStack, 0, n) - - // Skip extra frame retrieved just to make sure the runtime.sigpanic - // special case is handled. - frame, more := frames.Next() - - for more { - frame, more = frames.Next() - cs = append(cs, Call{frame: frame}) - } - - return cs -} - -// TrimBelow returns a slice of the CallStack with all entries below c -// removed. -func (cs CallStack) TrimBelow(c Call) CallStack { - for len(cs) > 0 && cs[0] != c { - cs = cs[1:] - } - return cs -} - -// TrimAbove returns a slice of the CallStack with all entries above c -// removed. -func (cs CallStack) TrimAbove(c Call) CallStack { - for len(cs) > 0 && cs[len(cs)-1] != c { - cs = cs[:len(cs)-1] - } - return cs -} - -// pkgIndex returns the index that results in file[index:] being the path of -// file relative to the compile time GOPATH, and file[:index] being the -// $GOPATH/src/ portion of file. funcName must be the name of a function in -// file as returned by runtime.Func.Name. -func pkgIndex(file, funcName string) int { - // As of Go 1.6.2 there is no direct way to know the compile time GOPATH - // at runtime, but we can infer the number of path segments in the GOPATH. - // We note that runtime.Func.Name() returns the function name qualified by - // the import path, which does not include the GOPATH. Thus we can trim - // segments from the beginning of the file path until the number of path - // separators remaining is one more than the number of path separators in - // the function name. For example, given: - // - // GOPATH /home/user - // file /home/user/src/pkg/sub/file.go - // fn.Name() pkg/sub.Type.Method - // - // We want to produce: - // - // file[:idx] == /home/user/src/ - // file[idx:] == pkg/sub/file.go - // - // From this we can easily see that fn.Name() has one less path separator - // than our desired result for file[idx:]. We count separators from the - // end of the file path until it finds two more than in the function name - // and then move one character forward to preserve the initial path - // segment without a leading separator. - const sep = "/" - i := len(file) - for n := strings.Count(funcName, sep) + 2; n > 0; n-- { - i = strings.LastIndex(file[:i], sep) - if i == -1 { - i = -len(sep) - break - } - } - // get back to 0 or trim the leading separator - return i + len(sep) -} - -// pkgFilePath returns the frame's filepath relative to the compile-time GOPATH, -// or its module path joined to its path relative to the module root. -// -// As of Go 1.11 there is no direct way to know the compile time GOPATH or -// module paths at runtime, but we can piece together the desired information -// from available information. We note that runtime.Frame.Function contains the -// function name qualified by the package path, which includes the module path -// but not the GOPATH. We can extract the package path from that and append the -// last segments of the file path to arrive at the desired package qualified -// file path. For example, given: -// -// GOPATH /home/user -// import path pkg/sub -// frame.File /home/user/src/pkg/sub/file.go -// frame.Function pkg/sub.Type.Method -// Desired return pkg/sub/file.go -// -// It appears that we simply need to trim ".Type.Method" from frame.Function and -// append "/" + path.Base(file). -// -// But there are other wrinkles. Although it is idiomatic to do so, the internal -// name of a package is not required to match the last segment of its import -// path. In addition, the introduction of modules in Go 1.11 allows working -// without a GOPATH. So we also must make these work right: -// -// GOPATH /home/user -// import path pkg/go-sub -// package name sub -// frame.File /home/user/src/pkg/go-sub/file.go -// frame.Function pkg/sub.Type.Method -// Desired return pkg/go-sub/file.go -// -// Module path pkg/v2 -// import path pkg/v2/go-sub -// package name sub -// frame.File /home/user/cloned-pkg/go-sub/file.go -// frame.Function pkg/v2/sub.Type.Method -// Desired return pkg/v2/go-sub/file.go -// -// We can handle all of these situations by using the package path extracted -// from frame.Function up to, but not including, the last segment as the prefix -// and the last two segments of frame.File as the suffix of the returned path. -// This preserves the existing behavior when working in a GOPATH without modules -// and a semantically equivalent behavior when used in module aware project. -func pkgFilePath(frame *runtime.Frame) string { - pre := pkgPrefix(frame.Function) - post := pathSuffix(frame.File) - if pre == "" { - return post - } - return pre + "/" + post -} - -// pkgPrefix returns the import path of the function's package with the final -// segment removed. -func pkgPrefix(funcName string) string { - const pathSep = "/" - end := strings.LastIndex(funcName, pathSep) - if end == -1 { - return "" - } - return funcName[:end] -} - -// pathSuffix returns the last two segments of path. -func pathSuffix(path string) string { - const pathSep = "/" - lastSep := strings.LastIndex(path, pathSep) - if lastSep == -1 { - return path - } - return path[strings.LastIndex(path[:lastSep], pathSep)+1:] -} - -var runtimePath string - -func init() { - var pcs [3]uintptr - runtime.Callers(0, pcs[:]) - frames := runtime.CallersFrames(pcs[:]) - frame, _ := frames.Next() - file := frame.File - - idx := pkgIndex(frame.File, frame.Function) - - runtimePath = file[:idx] - if runtime.GOOS == "windows" { - runtimePath = strings.ToLower(runtimePath) - } -} - -func inGoroot(c Call) bool { - file := c.frame.File - if len(file) == 0 || file[0] == '?' { - return true - } - if runtime.GOOS == "windows" { - file = strings.ToLower(file) - } - return strings.HasPrefix(file, runtimePath) || strings.HasSuffix(file, "/_testmain.go") -} - -// TrimRuntime returns a slice of the CallStack with the topmost entries from -// the go runtime removed. It considers any calls originating from unknown -// files, files under GOROOT, or _testmain.go as part of the runtime. -func (cs CallStack) TrimRuntime() CallStack { - for len(cs) > 0 && inGoroot(cs[len(cs)-1]) { - cs = cs[:len(cs)-1] - } - return cs -} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/.gitignore b/cmd/sync/vendor/github.com/montanaflynn/stats/.gitignore new file mode 100644 index 00000000..96b11286 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/.gitignore @@ -0,0 +1,2 @@ +coverage.out +.directory \ No newline at end of file diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/.travis.yml b/cmd/sync/vendor/github.com/montanaflynn/stats/.travis.yml new file mode 100644 index 00000000..697dcb75 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/.travis.yml @@ -0,0 +1,20 @@ +language: go +go: + - 1.1 + - 1.2 + - 1.3 + - 1.4 + - 1.5 + - tip +before_install: + - sudo pip install codecov +script: + - go test +after_success: + - codecov +notifications: + email: + recipients: + - montana@montanaflynn.me + on_success: change + on_failure: always diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/CHANGELOG.md b/cmd/sync/vendor/github.com/montanaflynn/stats/CHANGELOG.md new file mode 100644 index 00000000..532f6ed3 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/CHANGELOG.md @@ -0,0 +1,64 @@ +# Change Log + +## [0.2.0](https://github.com/montanaflynn/stats/tree/0.2.0) + +### Merged pull requests: + +- Fixed typographical error, changed accomdate to accommodate in README. [\#5](https://github.com/montanaflynn/stats/pull/5) ([saromanov](https://github.com/orthographic-pedant)) + +### Package changes: + +- Add `Correlation` function +- Add `Covariance` function +- Add `StandardDeviation` function to be the same as `StandardDeviationPopulation` +- Change `Variance` function to be the same as `PopulationVariation` +- Add helper methods to `Float64Data` +- Add `Float64Data` type to use instead of `[]float64` +- Add `Series` type which references to `[]Coordinate` + +## [0.1.0](https://github.com/montanaflynn/stats/tree/0.1.0) + +Several functions were renamed in this release. They will still function but may be deprecated in the future. + +### Package changes: + +- Rename `VarP` to `PopulationVariance` +- Rename `VarS` to `SampleVariance` +- Rename `LinReg` to `LinearRegression` +- Rename `ExpReg` to `ExponentialRegression` +- Rename `LogReg` to `LogarithmicRegression` +- Rename `StdDevP` to `StandardDeviationPopulation` +- Rename `StdDevS` to `StandardDeviationSample` + +## [0.0.9](https://github.com/montanaflynn/stats/tree/0.0.9) + +### Closed issues: + +- Functions have unexpected side effects [\#3](https://github.com/montanaflynn/stats/issues/3) +- Percentile is not calculated correctly [\#2](https://github.com/montanaflynn/stats/issues/2) + +### Merged pull requests: + +- Sample [\#4](https://github.com/montanaflynn/stats/pull/4) ([saromanov](https://github.com/saromanov)) + +### Package changes: + +- Add HarmonicMean func +- Add GeometricMean func +- Add Outliers stuct and QuantileOutliers func +- Add Interquartile Range, Midhinge and Trimean examples +- Add Trimean +- Add Midhinge +- Add Inter Quartile Range +- Add Quantiles struct and Quantile func +- Add Nearest Rank method of calculating percentiles +- Add errors for all functions +- Add sample +- Add Linear, Exponential and Logarithmic Regression +- Add sample and population variance and deviation +- Add Percentile and Float64ToInt +- Add Round +- Add Standard deviation +- Add Sum +- Add Min and Ma- x +- Add Mean, Median and Mode diff --git a/cmd/sync/vendor/github.com/go-stack/stack/LICENSE.md b/cmd/sync/vendor/github.com/montanaflynn/stats/LICENSE similarity index 94% rename from cmd/sync/vendor/github.com/go-stack/stack/LICENSE.md rename to cmd/sync/vendor/github.com/montanaflynn/stats/LICENSE index 2abf98ea..66481817 100644 --- a/cmd/sync/vendor/github.com/go-stack/stack/LICENSE.md +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014 Chris Hines +Copyright (c) 2014-2015 Montana Flynn (https://anonfunction.com) 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/cmd/sync/vendor/github.com/montanaflynn/stats/Makefile b/cmd/sync/vendor/github.com/montanaflynn/stats/Makefile new file mode 100644 index 00000000..87844f48 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/Makefile @@ -0,0 +1,29 @@ +.PHONY: all + +doc: + godoc `pwd` + +webdoc: + godoc -http=:44444 + +format: + go fmt + +test: + go test -race + +check: format test + +benchmark: + go test -bench=. -benchmem + +coverage: + go test -coverprofile=coverage.out + go tool cover -html="coverage.out" + +lint: format + go get github.com/alecthomas/gometalinter + gometalinter --install + gometalinter + +default: lint test diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/README.md b/cmd/sync/vendor/github.com/montanaflynn/stats/README.md new file mode 100644 index 00000000..5f8a9291 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/README.md @@ -0,0 +1,103 @@ +# Stats [![][travis-svg]][travis-url] [![][coveralls-svg]][coveralls-url] [![][godoc-svg]][godoc-url] [![][license-svg]][license-url] + +A statistics package with many functions missing from the Golang standard library. See the [CHANGELOG.md](https://github.com/montanaflynn/stats/blob/master/CHANGELOG.md) for API changes and tagged releases you can vendor into your projects. + +> Statistics are used much like a drunk uses a lamppost: for support, not illumination. **- Vin Scully** + +## Installation + +``` +go get github.com/montanaflynn/stats +``` + +**Protip:** `go get -u github.com/montanaflynn/stats` updates stats to the latest version. + +## Usage + +The [entire API documentation](http://godoc.org/github.com/montanaflynn/stats) is available on GoDoc.org + +You can view docs offline with the following commands: + +``` +godoc ./ +godoc ./ Median +godoc ./ Float64Data +``` + +**Protip:** Generate HTML docs with `godoc -http=:4444` + +## Example + +All the functions can be seen in [examples/main.go](https://github.com/montanaflynn/stats/blob/master/examples/main.go) but here's a little taste: + +```go +// start with the some source data to use +var data = []float64{1, 2, 3, 4, 4, 5} + +median, _ := stats.Median(data) +fmt.Println(median) // 3.5 + +roundedMedian, _ := stats.Round(median, 0) +fmt.Println(roundedMedian) // 4 +``` + +**Protip:** You can [call methods](https://github.com/montanaflynn/stats/blob/master/examples/methods.go) on the data if using the Float64Data type: + +``` +var d stats.Float64Data = data + +max, _ := d.Max() +fmt.Println(max) // 5 +``` + +## Contributing + +If you have any suggestions, criticism or bug reports please [create an issue](https://github.com/montanaflynn/stats/issues) and I'll do my best to accommodate you. In addition simply starring the repo would show your support for the project and be very much appreciated! + +### Pull Requests + +Pull request are always welcome no matter how big or small. Here's an easy way to do it: + +1. Fork it and clone your fork +2. Create new branch (`git checkout -b some-thing`) +3. Make the desired changes +4. Ensure tests pass (`go test -cover` or `make test`) +5. Commit changes (`git commit -am 'Did something'`) +6. Push branch (`git push origin some-thing`) +7. Submit pull request + +To make things as seamless as possible please also consider the following steps: + +- Update `README.md` to include new public types or functions in the documentation section. +- Update `examples/main.go` with a simple example of the new feature. +- Keep 100% code coverage (you can check with `make coverage`). +- Run [`gometalinter`](https://github.com/alecthomas/gometalinter) and make your code pass. +- Squash needless commits into single units of work with `git rebase -i new-feature`. + +#### Makefile + +I've included a [Makefile](https://github.com/montanaflynn/stats/blob/master/Makefile) that has a lot of helper targets for common actions such as linting, testing, code coverage reporting and more. + +**Protip:** `watch -n 1 make check` will continuously format and test your code. + +## MIT License + +Copyright (c) 2014-2015 Montana Flynn <http://anonfunction.com> + +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 AUTHORpublicS 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. + +[travis-url]: https://travis-ci.org/montanaflynn/stats +[travis-svg]: https://img.shields.io/travis/montanaflynn/stats.svg + +[coveralls-url]: https://coveralls.io/r/montanaflynn/stats?branch=master +[coveralls-svg]: https://img.shields.io/coveralls/montanaflynn/stats.svg + +[godoc-url]: https://godoc.org/github.com/montanaflynn/stats +[godoc-svg]: https://godoc.org/github.com/montanaflynn/stats?status.svg + +[license-url]: https://github.com/montanaflynn/stats/blob/master/LICENSE +[license-svg]: https://img.shields.io/badge/license-MIT-blue.svg diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/correlation.go b/cmd/sync/vendor/github.com/montanaflynn/stats/correlation.go new file mode 100644 index 00000000..d759bf8c --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/correlation.go @@ -0,0 +1,33 @@ +package stats + +import "math" + +// Correlation describes the degree of relationship between two sets of data +func Correlation(data1, data2 Float64Data) (float64, error) { + + l1 := data1.Len() + l2 := data2.Len() + + if l1 == 0 || l2 == 0 { + return math.NaN(), EmptyInput + } + + if l1 != l2 { + return math.NaN(), SizeErr + } + + sdev1, _ := StandardDeviationPopulation(data1) + sdev2, _ := StandardDeviationPopulation(data2) + + if sdev1 == 0 || sdev2 == 0 { + return 0, nil + } + + covp, _ := CovariancePopulation(data1, data2) + return covp / (sdev1 * sdev2), nil +} + +// Pearson calculates the Pearson product-moment correlation coefficient between two variables. +func Pearson(data1, data2 Float64Data) (float64, error) { + return Correlation(data1, data2) +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/data.go b/cmd/sync/vendor/github.com/montanaflynn/stats/data.go new file mode 100644 index 00000000..a087f457 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/data.go @@ -0,0 +1,140 @@ +package stats + +// Float64Data is a named type for []float64 with helper methods +type Float64Data []float64 + +// Get item in slice +func (f Float64Data) Get(i int) float64 { return f[i] } + +// Len returns length of slice +func (f Float64Data) Len() int { return len(f) } + +// Less returns if one number is less than another +func (f Float64Data) Less(i, j int) bool { return f[i] < f[j] } + +// Swap switches out two numbers in slice +func (f Float64Data) Swap(i, j int) { f[i], f[j] = f[j], f[i] } + +// Min returns the minimum number in the data +func (f Float64Data) Min() (float64, error) { return Min(f) } + +// Max returns the maximum number in the data +func (f Float64Data) Max() (float64, error) { return Max(f) } + +// Sum returns the total of all the numbers in the data +func (f Float64Data) Sum() (float64, error) { return Sum(f) } + +// Mean returns the mean of the data +func (f Float64Data) Mean() (float64, error) { return Mean(f) } + +// Median returns the median of the data +func (f Float64Data) Median() (float64, error) { return Median(f) } + +// Mode returns the mode of the data +func (f Float64Data) Mode() ([]float64, error) { return Mode(f) } + +// GeometricMean returns the median of the data +func (f Float64Data) GeometricMean() (float64, error) { return GeometricMean(f) } + +// HarmonicMean returns the mode of the data +func (f Float64Data) HarmonicMean() (float64, error) { return HarmonicMean(f) } + +// MedianAbsoluteDeviation the median of the absolute deviations from the dataset median +func (f Float64Data) MedianAbsoluteDeviation() (float64, error) { + return MedianAbsoluteDeviation(f) +} + +// MedianAbsoluteDeviationPopulation finds the median of the absolute deviations from the population median +func (f Float64Data) MedianAbsoluteDeviationPopulation() (float64, error) { + return MedianAbsoluteDeviationPopulation(f) +} + +// StandardDeviation the amount of variation in the dataset +func (f Float64Data) StandardDeviation() (float64, error) { + return StandardDeviation(f) +} + +// StandardDeviationPopulation finds the amount of variation from the population +func (f Float64Data) StandardDeviationPopulation() (float64, error) { + return StandardDeviationPopulation(f) +} + +// StandardDeviationSample finds the amount of variation from a sample +func (f Float64Data) StandardDeviationSample() (float64, error) { + return StandardDeviationSample(f) +} + +// QuartileOutliers finds the mild and extreme outliers +func (f Float64Data) QuartileOutliers() (Outliers, error) { + return QuartileOutliers(f) +} + +// Percentile finds the relative standing in a slice of floats +func (f Float64Data) Percentile(p float64) (float64, error) { + return Percentile(f, p) +} + +// PercentileNearestRank finds the relative standing using the Nearest Rank method +func (f Float64Data) PercentileNearestRank(p float64) (float64, error) { + return PercentileNearestRank(f, p) +} + +// Correlation describes the degree of relationship between two sets of data +func (f Float64Data) Correlation(d Float64Data) (float64, error) { + return Correlation(f, d) +} + +// Pearson calculates the Pearson product-moment correlation coefficient between two variables. +func (f Float64Data) Pearson(d Float64Data) (float64, error) { + return Pearson(f, d) +} + +// Quartile returns the three quartile points from a slice of data +func (f Float64Data) Quartile(d Float64Data) (Quartiles, error) { + return Quartile(d) +} + +// InterQuartileRange finds the range between Q1 and Q3 +func (f Float64Data) InterQuartileRange() (float64, error) { + return InterQuartileRange(f) +} + +// Midhinge finds the average of the first and third quartiles +func (f Float64Data) Midhinge(d Float64Data) (float64, error) { + return Midhinge(d) +} + +// Trimean finds the average of the median and the midhinge +func (f Float64Data) Trimean(d Float64Data) (float64, error) { + return Trimean(d) +} + +// Sample returns sample from input with replacement or without +func (f Float64Data) Sample(n int, r bool) ([]float64, error) { + return Sample(f, n, r) +} + +// Variance the amount of variation in the dataset +func (f Float64Data) Variance() (float64, error) { + return Variance(f) +} + +// PopulationVariance finds the amount of variance within a population +func (f Float64Data) PopulationVariance() (float64, error) { + return PopulationVariance(f) +} + +// SampleVariance finds the amount of variance within a sample +func (f Float64Data) SampleVariance() (float64, error) { + return SampleVariance(f) +} + +// Covariance is a measure of how much two sets of data change +func (f Float64Data) Covariance(d Float64Data) (float64, error) { + return Covariance(f, d) +} + +// CovariancePopulation computes covariance for entire population between two variables. +func (f Float64Data) CovariancePopulation(d Float64Data) (float64, error) { + return CovariancePopulation(f, d) +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/data_set_distances.go b/cmd/sync/vendor/github.com/montanaflynn/stats/data_set_distances.go new file mode 100644 index 00000000..2e549c8d --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/data_set_distances.go @@ -0,0 +1,94 @@ +package stats + +import ( + "math" +) + +// Validate data for distance calculation +func validateData(dataPointX, dataPointY []float64) error { + if len(dataPointX) == 0 || len(dataPointY) == 0 { + return EmptyInput + } + + if len(dataPointX) != len(dataPointY) { + return SizeErr + } + return nil +} + +// Computes Chebyshev distance between two data sets +func ChebyshevDistance(dataPointX, dataPointY []float64) (distance float64, err error) { + err = validateData(dataPointX, dataPointY) + if err != nil { + return math.NaN(), err + } + var tempDistance float64 + for i := 0; i < len(dataPointY); i++ { + tempDistance = math.Abs(dataPointX[i] - dataPointY[i]) + if distance < tempDistance { + distance = tempDistance + } + } + return distance, nil +} + +// +// Computes Euclidean distance between two data sets +// +func EuclideanDistance(dataPointX, dataPointY []float64) (distance float64, err error) { + + err = validateData(dataPointX, dataPointY) + if err != nil { + return math.NaN(), err + } + distance = 0 + for i := 0; i < len(dataPointX); i++ { + distance = distance + ((dataPointX[i] - dataPointY[i]) * (dataPointX[i] - dataPointY[i])) + } + return math.Sqrt(distance), nil +} + +// +// Computes Manhattan distance between two data sets +// +func ManhattanDistance(dataPointX, dataPointY []float64) (distance float64, err error) { + err = validateData(dataPointX, dataPointY) + if err != nil { + return math.NaN(), err + } + distance = 0 + for i := 0; i < len(dataPointX); i++ { + distance = distance + math.Abs(dataPointX[i]-dataPointY[i]) + } + return distance, nil +} + +// +// Computes minkowski distance between two data sets. +// +// Input: +// dataPointX: First set of data points +// dataPointY: Second set of data points. Length of both data +// sets must be equal. +// lambda: aka p or city blocks; With lambda = 1 +// returned distance is manhattan distance and +// lambda = 2; it is euclidean distance. Lambda +// reaching to infinite - distance would be chebysev +// distance. +// Output: +// Distance or error +// +func MinkowskiDistance(dataPointX, dataPointY []float64, lambda float64) (distance float64, err error) { + err = validateData(dataPointX, dataPointY) + if err != nil { + return math.NaN(), err + } + for i := 0; i < len(dataPointY); i++ { + distance = distance + math.Pow(math.Abs(dataPointX[i]-dataPointY[i]), lambda) + } + distance = math.Pow(distance, float64(1/lambda)) + if math.IsInf(distance, 1) == true { + return math.NaN(), InfValue + } + return distance, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/deviation.go b/cmd/sync/vendor/github.com/montanaflynn/stats/deviation.go new file mode 100644 index 00000000..539c02bc --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/deviation.go @@ -0,0 +1,57 @@ +package stats + +import "math" + +// MedianAbsoluteDeviation finds the median of the absolute deviations from the dataset median +func MedianAbsoluteDeviation(input Float64Data) (mad float64, err error) { + return MedianAbsoluteDeviationPopulation(input) +} + +// MedianAbsoluteDeviationPopulation finds the median of the absolute deviations from the population median +func MedianAbsoluteDeviationPopulation(input Float64Data) (mad float64, err error) { + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + + i := copyslice(input) + m, _ := Median(i) + + for key, value := range i { + i[key] = math.Abs(value - m) + } + + return Median(i) +} + +// StandardDeviation the amount of variation in the dataset +func StandardDeviation(input Float64Data) (sdev float64, err error) { + return StandardDeviationPopulation(input) +} + +// StandardDeviationPopulation finds the amount of variation from the population +func StandardDeviationPopulation(input Float64Data) (sdev float64, err error) { + + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + + // Get the population variance + vp, _ := PopulationVariance(input) + + // Return the population standard deviation + return math.Pow(vp, 0.5), nil +} + +// StandardDeviationSample finds the amount of variation from a sample +func StandardDeviationSample(input Float64Data) (sdev float64, err error) { + + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + + // Get the sample variance + vs, _ := SampleVariance(input) + + // Return the sample standard deviation + return math.Pow(vs, 0.5), nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/errors.go b/cmd/sync/vendor/github.com/montanaflynn/stats/errors.go new file mode 100644 index 00000000..0bb32f0d --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/errors.go @@ -0,0 +1,22 @@ +package stats + +type statsErr struct { + err string +} + +func (s statsErr) Error() string { + return s.err +} + +// These are the package-wide error values. +// All error identification should use these values. +var ( + EmptyInput = statsErr{"Input must not be empty."} + SampleSize = statsErr{"Samples number must be less than input length."} + NaNErr = statsErr{"Not a number"} + NegativeErr = statsErr{"Slice must not contain negative values."} + ZeroErr = statsErr{"Slice must not contain zero values."} + BoundsErr = statsErr{"Input is outside of range."} + SizeErr = statsErr{"Slices must be the same length."} + InfValue = statsErr{"Value is infinite."} +) diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/legacy.go b/cmd/sync/vendor/github.com/montanaflynn/stats/legacy.go new file mode 100644 index 00000000..17557abd --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/legacy.go @@ -0,0 +1,36 @@ +package stats + +// VarP is a shortcut to PopulationVariance +func VarP(input Float64Data) (sdev float64, err error) { + return PopulationVariance(input) +} + +// VarS is a shortcut to SampleVariance +func VarS(input Float64Data) (sdev float64, err error) { + return SampleVariance(input) +} + +// StdDevP is a shortcut to StandardDeviationPopulation +func StdDevP(input Float64Data) (sdev float64, err error) { + return StandardDeviationPopulation(input) +} + +// StdDevS is a shortcut to StandardDeviationSample +func StdDevS(input Float64Data) (sdev float64, err error) { + return StandardDeviationSample(input) +} + +// LinReg is a shortcut to LinearRegression +func LinReg(s []Coordinate) (regressions []Coordinate, err error) { + return LinearRegression(s) +} + +// ExpReg is a shortcut to ExponentialRegression +func ExpReg(s []Coordinate) (regressions []Coordinate, err error) { + return ExponentialRegression(s) +} + +// LogReg is a shortcut to LogarithmicRegression +func LogReg(s []Coordinate) (regressions []Coordinate, err error) { + return LogarithmicRegression(s) +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/load.go b/cmd/sync/vendor/github.com/montanaflynn/stats/load.go new file mode 100644 index 00000000..1012d0bb --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/load.go @@ -0,0 +1,184 @@ +package stats + +import ( + "strconv" + "time" +) + +// LoadRawData parses and converts a slice of mixed data types to floats +func LoadRawData(raw interface{}) (f Float64Data) { + var r []interface{} + var s Float64Data + + switch t := raw.(type) { + case []interface{}: + r = t + case []uint: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []uint8: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []uint16: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []uint32: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []uint64: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []bool: + for _, v := range t { + if v == true { + s = append(s, 1.0) + } else { + s = append(s, 0.0) + } + } + return s + case []float64: + return Float64Data(t) + case []int: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []int8: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []int16: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []int32: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []int64: + for _, v := range t { + s = append(s, float64(v)) + } + return s + case []string: + for _, v := range t { + r = append(r, v) + } + case []time.Duration: + for _, v := range t { + r = append(r, v) + } + case map[int]int: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]int8: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]int16: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]int32: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]int64: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]string: + for i := 0; i < len(t); i++ { + r = append(r, t[i]) + } + case map[int]uint: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]uint8: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]uint16: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]uint32: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]uint64: + for i := 0; i < len(t); i++ { + s = append(s, float64(t[i])) + } + return s + case map[int]bool: + for i := 0; i < len(t); i++ { + if t[i] == true { + s = append(s, 1.0) + } else { + s = append(s, 0.0) + } + } + return s + case map[int]float64: + for i := 0; i < len(t); i++ { + s = append(s, t[i]) + } + return s + case map[int]time.Duration: + for i := 0; i < len(t); i++ { + r = append(r, t[i]) + } + } + + for _, v := range r { + switch t := v.(type) { + case int: + a := float64(t) + f = append(f, a) + case uint: + f = append(f, float64(t)) + case float64: + f = append(f, t) + case string: + fl, err := strconv.ParseFloat(t, 64) + if err == nil { + f = append(f, fl) + } + case bool: + if t == true { + f = append(f, 1.0) + } else { + f = append(f, 0.0) + } + case time.Duration: + f = append(f, float64(t)) + } + } + return f +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/max.go b/cmd/sync/vendor/github.com/montanaflynn/stats/max.go new file mode 100644 index 00000000..d0fdd42b --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/max.go @@ -0,0 +1,24 @@ +package stats + +import "math" + +// Max finds the highest number in a slice +func Max(input Float64Data) (max float64, err error) { + + // Return an error if there are no numbers + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + + // Get the first value as the starting point + max = input.Get(0) + + // Loop and replace higher values + for i := 1; i < input.Len(); i++ { + if input.Get(i) > max { + max = input.Get(i) + } + } + + return max, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/mean.go b/cmd/sync/vendor/github.com/montanaflynn/stats/mean.go new file mode 100644 index 00000000..944bb657 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/mean.go @@ -0,0 +1,60 @@ +package stats + +import "math" + +// Mean gets the average of a slice of numbers +func Mean(input Float64Data) (float64, error) { + + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + + sum, _ := input.Sum() + + return sum / float64(input.Len()), nil +} + +// GeometricMean gets the geometric mean for a slice of numbers +func GeometricMean(input Float64Data) (float64, error) { + + l := input.Len() + if l == 0 { + return math.NaN(), EmptyInput + } + + // Get the product of all the numbers + var p float64 + for _, n := range input { + if p == 0 { + p = n + } else { + p *= n + } + } + + // Calculate the geometric mean + return math.Pow(p, 1/float64(l)), nil +} + +// HarmonicMean gets the harmonic mean for a slice of numbers +func HarmonicMean(input Float64Data) (float64, error) { + + l := input.Len() + if l == 0 { + return math.NaN(), EmptyInput + } + + // Get the sum of all the numbers reciprocals and return an + // error for values that cannot be included in harmonic mean + var p float64 + for _, n := range input { + if n < 0 { + return math.NaN(), NegativeErr + } else if n == 0 { + return math.NaN(), ZeroErr + } + p += (1 / n) + } + + return float64(l) / p, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/median.go b/cmd/sync/vendor/github.com/montanaflynn/stats/median.go new file mode 100644 index 00000000..b13d8394 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/median.go @@ -0,0 +1,25 @@ +package stats + +import "math" + +// Median gets the median number in a slice of numbers +func Median(input Float64Data) (median float64, err error) { + + // Start by sorting a copy of the slice + c := sortedCopy(input) + + // No math is needed if there are no numbers + // For even numbers we add the two middle numbers + // and divide by two using the mean function above + // For odd numbers we just use the middle number + l := len(c) + if l == 0 { + return math.NaN(), EmptyInput + } else if l%2 == 0 { + median, _ = Mean(c[l/2-1 : l/2+1]) + } else { + median = float64(c[l/2]) + } + + return median, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/min.go b/cmd/sync/vendor/github.com/montanaflynn/stats/min.go new file mode 100644 index 00000000..4383852e --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/min.go @@ -0,0 +1,26 @@ +package stats + +import "math" + +// Min finds the lowest number in a set of data +func Min(input Float64Data) (min float64, err error) { + + // Get the count of numbers in the slice + l := input.Len() + + // Return an error if there are no numbers + if l == 0 { + return math.NaN(), EmptyInput + } + + // Get the first value as the starting point + min = input.Get(0) + + // Iterate until done checking for a lower value + for i := 1; i < l; i++ { + if input.Get(i) < min { + min = input.Get(i) + } + } + return min, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/mode.go b/cmd/sync/vendor/github.com/montanaflynn/stats/mode.go new file mode 100644 index 00000000..1160faf2 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/mode.go @@ -0,0 +1,47 @@ +package stats + +// Mode gets the mode [most frequent value(s)] of a slice of float64s +func Mode(input Float64Data) (mode []float64, err error) { + // Return the input if there's only one number + l := input.Len() + if l == 1 { + return input, nil + } else if l == 0 { + return nil, EmptyInput + } + + c := sortedCopyDif(input) + // Traverse sorted array, + // tracking the longest repeating sequence + mode = make([]float64, 5) + cnt, maxCnt := 1, 1 + for i := 1; i < l; i++ { + switch { + case c[i] == c[i-1]: + cnt++ + case cnt == maxCnt && maxCnt != 1: + mode = append(mode, c[i-1]) + cnt = 1 + case cnt > maxCnt: + mode = append(mode[:0], c[i-1]) + maxCnt, cnt = cnt, 1 + default: + cnt = 1 + } + } + switch { + case cnt == maxCnt: + mode = append(mode, c[l-1]) + case cnt > maxCnt: + mode = append(mode[:0], c[l-1]) + maxCnt = cnt + } + + // Since length must be greater than 1, + // check for slices of distinct values + if maxCnt == 1 { + return Float64Data{}, nil + } + + return mode, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/outlier.go b/cmd/sync/vendor/github.com/montanaflynn/stats/outlier.go new file mode 100644 index 00000000..e969180e --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/outlier.go @@ -0,0 +1,44 @@ +package stats + +// Outliers holds mild and extreme outliers found in data +type Outliers struct { + Mild Float64Data + Extreme Float64Data +} + +// QuartileOutliers finds the mild and extreme outliers +func QuartileOutliers(input Float64Data) (Outliers, error) { + if input.Len() == 0 { + return Outliers{}, EmptyInput + } + + // Start by sorting a copy of the slice + copy := sortedCopy(input) + + // Calculate the quartiles and interquartile range + qs, _ := Quartile(copy) + iqr, _ := InterQuartileRange(copy) + + // Calculate the lower and upper inner and outer fences + lif := qs.Q1 - (1.5 * iqr) + uif := qs.Q3 + (1.5 * iqr) + lof := qs.Q1 - (3 * iqr) + uof := qs.Q3 + (3 * iqr) + + // Find the data points that are outside of the + // inner and upper fences and add them to mild + // and extreme outlier slices + var mild Float64Data + var extreme Float64Data + for _, v := range copy { + + if v < lof || v > uof { + extreme = append(extreme, v) + } else if v < lif || v > uif { + mild = append(mild, v) + } + } + + // Wrap them into our struct + return Outliers{mild, extreme}, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/percentile.go b/cmd/sync/vendor/github.com/montanaflynn/stats/percentile.go new file mode 100644 index 00000000..baf24d8e --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/percentile.go @@ -0,0 +1,80 @@ +package stats + +import "math" + +// Percentile finds the relative standing in a slice of floats +func Percentile(input Float64Data, percent float64) (percentile float64, err error) { + + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + + if percent <= 0 || percent > 100 { + return math.NaN(), BoundsErr + } + + // Start by sorting a copy of the slice + c := sortedCopy(input) + + // Multiply percent by length of input + index := (percent / 100) * float64(len(c)) + + // Check if the index is a whole number + if index == float64(int64(index)) { + + // Convert float to int + i := int(index) + + // Find the value at the index + percentile = c[i-1] + + } else if index > 1 { + + // Convert float to int via truncation + i := int(index) + + // Find the average of the index and following values + percentile, _ = Mean(Float64Data{c[i-1], c[i]}) + + } else { + return math.NaN(), BoundsErr + } + + return percentile, nil + +} + +// PercentileNearestRank finds the relative standing in a slice of floats using the Nearest Rank method +func PercentileNearestRank(input Float64Data, percent float64) (percentile float64, err error) { + + // Find the length of items in the slice + il := input.Len() + + // Return an error for empty slices + if il == 0 { + return math.NaN(), EmptyInput + } + + // Return error for less than 0 or greater than 100 percentages + if percent < 0 || percent > 100 { + return math.NaN(), BoundsErr + } + + // Start by sorting a copy of the slice + c := sortedCopy(input) + + // Return the last item + if percent == 100.0 { + return c[il-1], nil + } + + // Find ordinal ranking + or := int(math.Ceil(float64(il) * percent / 100)) + + // Return the item that is in the place of the ordinal rank + if or == 0 { + return c[0], nil + } + return c[or-1], nil + +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/quartile.go b/cmd/sync/vendor/github.com/montanaflynn/stats/quartile.go new file mode 100644 index 00000000..29bb3a37 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/quartile.go @@ -0,0 +1,74 @@ +package stats + +import "math" + +// Quartiles holds the three quartile points +type Quartiles struct { + Q1 float64 + Q2 float64 + Q3 float64 +} + +// Quartile returns the three quartile points from a slice of data +func Quartile(input Float64Data) (Quartiles, error) { + + il := input.Len() + if il == 0 { + return Quartiles{}, EmptyInput + } + + // Start by sorting a copy of the slice + copy := sortedCopy(input) + + // Find the cutoff places depeding on if + // the input slice length is even or odd + var c1 int + var c2 int + if il%2 == 0 { + c1 = il / 2 + c2 = il / 2 + } else { + c1 = (il - 1) / 2 + c2 = c1 + 1 + } + + // Find the Medians with the cutoff points + Q1, _ := Median(copy[:c1]) + Q2, _ := Median(copy) + Q3, _ := Median(copy[c2:]) + + return Quartiles{Q1, Q2, Q3}, nil + +} + +// InterQuartileRange finds the range between Q1 and Q3 +func InterQuartileRange(input Float64Data) (float64, error) { + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + qs, _ := Quartile(input) + iqr := qs.Q3 - qs.Q1 + return iqr, nil +} + +// Midhinge finds the average of the first and third quartiles +func Midhinge(input Float64Data) (float64, error) { + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + qs, _ := Quartile(input) + mh := (qs.Q1 + qs.Q3) / 2 + return mh, nil +} + +// Trimean finds the average of the median and the midhinge +func Trimean(input Float64Data) (float64, error) { + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + + c := sortedCopy(input) + q, _ := Quartile(c) + + return (q.Q1 + (q.Q2 * 2) + q.Q3) / 4, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/regression.go b/cmd/sync/vendor/github.com/montanaflynn/stats/regression.go new file mode 100644 index 00000000..a37a7406 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/regression.go @@ -0,0 +1,113 @@ +package stats + +import "math" + +// Series is a container for a series of data +type Series []Coordinate + +// Coordinate holds the data in a series +type Coordinate struct { + X, Y float64 +} + +// LinearRegression finds the least squares linear regression on data series +func LinearRegression(s Series) (regressions Series, err error) { + + if len(s) == 0 { + return nil, EmptyInput + } + + // Placeholder for the math to be done + var sum [5]float64 + + // Loop over data keeping index in place + i := 0 + for ; i < len(s); i++ { + sum[0] += s[i].X + sum[1] += s[i].Y + sum[2] += s[i].X * s[i].X + sum[3] += s[i].X * s[i].Y + sum[4] += s[i].Y * s[i].Y + } + + // Find gradient and intercept + f := float64(i) + gradient := (f*sum[3] - sum[0]*sum[1]) / (f*sum[2] - sum[0]*sum[0]) + intercept := (sum[1] / f) - (gradient * sum[0] / f) + + // Create the new regression series + for j := 0; j < len(s); j++ { + regressions = append(regressions, Coordinate{ + X: s[j].X, + Y: s[j].X*gradient + intercept, + }) + } + + return regressions, nil + +} + +// ExponentialRegression returns an exponential regression on data series +func ExponentialRegression(s Series) (regressions Series, err error) { + + if len(s) == 0 { + return nil, EmptyInput + } + + var sum [6]float64 + + for i := 0; i < len(s); i++ { + sum[0] += s[i].X + sum[1] += s[i].Y + sum[2] += s[i].X * s[i].X * s[i].Y + sum[3] += s[i].Y * math.Log(s[i].Y) + sum[4] += s[i].X * s[i].Y * math.Log(s[i].Y) + sum[5] += s[i].X * s[i].Y + } + + denominator := (sum[1]*sum[2] - sum[5]*sum[5]) + a := math.Pow(math.E, (sum[2]*sum[3]-sum[5]*sum[4])/denominator) + b := (sum[1]*sum[4] - sum[5]*sum[3]) / denominator + + for j := 0; j < len(s); j++ { + regressions = append(regressions, Coordinate{ + X: s[j].X, + Y: a * math.Exp(b*s[j].X), + }) + } + + return regressions, nil + +} + +// LogarithmicRegression returns an logarithmic regression on data series +func LogarithmicRegression(s Series) (regressions Series, err error) { + + if len(s) == 0 { + return nil, EmptyInput + } + + var sum [4]float64 + + i := 0 + for ; i < len(s); i++ { + sum[0] += math.Log(s[i].X) + sum[1] += s[i].Y * math.Log(s[i].X) + sum[2] += s[i].Y + sum[3] += math.Pow(math.Log(s[i].X), 2) + } + + f := float64(i) + a := (f*sum[1] - sum[2]*sum[0]) / (f*sum[3] - sum[0]*sum[0]) + b := (sum[2] - a*sum[0]) / f + + for j := 0; j < len(s); j++ { + regressions = append(regressions, Coordinate{ + X: s[j].X, + Y: b + a*math.Log(s[j].X), + }) + } + + return regressions, nil + +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/round.go b/cmd/sync/vendor/github.com/montanaflynn/stats/round.go new file mode 100644 index 00000000..b66779c9 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/round.go @@ -0,0 +1,38 @@ +package stats + +import "math" + +// Round a float to a specific decimal place or precision +func Round(input float64, places int) (rounded float64, err error) { + + // If the float is not a number + if math.IsNaN(input) { + return math.NaN(), NaNErr + } + + // Find out the actual sign and correct the input for later + sign := 1.0 + if input < 0 { + sign = -1 + input *= -1 + } + + // Use the places arg to get the amount of precision wanted + precision := math.Pow(10, float64(places)) + + // Find the decimal place we are looking to round + digit := input * precision + + // Get the actual decimal number as a fraction to be compared + _, decimal := math.Modf(digit) + + // If the decimal is less than .5 we round down otherwise up + if decimal >= 0.5 { + rounded = math.Ceil(digit) + } else { + rounded = math.Floor(digit) + } + + // Finally we do the math to actually create a rounded number + return rounded / precision * sign, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/sample.go b/cmd/sync/vendor/github.com/montanaflynn/stats/sample.go new file mode 100644 index 00000000..a52f6dca --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/sample.go @@ -0,0 +1,44 @@ +package stats + +import "math/rand" + +// Sample returns sample from input with replacement or without +func Sample(input Float64Data, takenum int, replacement bool) ([]float64, error) { + + if input.Len() == 0 { + return nil, EmptyInput + } + + length := input.Len() + if replacement { + + result := Float64Data{} + rand.Seed(unixnano()) + + // In every step, randomly take the num for + for i := 0; i < takenum; i++ { + idx := rand.Intn(length) + result = append(result, input[idx]) + } + + return result, nil + + } else if !replacement && takenum <= length { + + rand.Seed(unixnano()) + + // Get permutation of number of indexies + perm := rand.Perm(length) + result := Float64Data{} + + // Get element of input by permutated index + for _, idx := range perm[0:takenum] { + result = append(result, input[idx]) + } + + return result, nil + + } + + return nil, BoundsErr +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/sum.go b/cmd/sync/vendor/github.com/montanaflynn/stats/sum.go new file mode 100644 index 00000000..53485f17 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/sum.go @@ -0,0 +1,18 @@ +package stats + +import "math" + +// Sum adds all the numbers of a slice together +func Sum(input Float64Data) (sum float64, err error) { + + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + + // Add em up + for _, n := range input { + sum += n + } + + return sum, nil +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/util.go b/cmd/sync/vendor/github.com/montanaflynn/stats/util.go new file mode 100644 index 00000000..88199760 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/util.go @@ -0,0 +1,43 @@ +package stats + +import ( + "sort" + "time" +) + +// float64ToInt rounds a float64 to an int +func float64ToInt(input float64) (output int) { + r, _ := Round(input, 0) + return int(r) +} + +// unixnano returns nanoseconds from UTC epoch +func unixnano() int64 { + return time.Now().UTC().UnixNano() +} + +// copyslice copies a slice of float64s +func copyslice(input Float64Data) Float64Data { + s := make(Float64Data, input.Len()) + copy(s, input) + return s +} + +// sortedCopy returns a sorted copy of float64s +func sortedCopy(input Float64Data) (copy Float64Data) { + copy = copyslice(input) + sort.Float64s(copy) + return +} + +// sortedCopyDif returns a sorted copy of float64s +// only if the original data isn't sorted. +// Only use this if returned slice won't be manipulated! +func sortedCopyDif(input Float64Data) (copy Float64Data) { + if sort.Float64sAreSorted(input) { + return input + } + copy = copyslice(input) + sort.Float64s(copy) + return +} diff --git a/cmd/sync/vendor/github.com/montanaflynn/stats/variance.go b/cmd/sync/vendor/github.com/montanaflynn/stats/variance.go new file mode 100644 index 00000000..66e60c94 --- /dev/null +++ b/cmd/sync/vendor/github.com/montanaflynn/stats/variance.go @@ -0,0 +1,105 @@ +package stats + +import "math" + +// _variance finds the variance for both population and sample data +func _variance(input Float64Data, sample int) (variance float64, err error) { + + if input.Len() == 0 { + return math.NaN(), EmptyInput + } + + // Sum the square of the mean subtracted from each number + m, _ := Mean(input) + + for _, n := range input { + variance += (float64(n) - m) * (float64(n) - m) + } + + // When getting the mean of the squared differences + // "sample" will allow us to know if it's a sample + // or population and wether to subtract by one or not + return variance / float64((input.Len() - (1 * sample))), nil +} + +// Variance the amount of variation in the dataset +func Variance(input Float64Data) (sdev float64, err error) { + return PopulationVariance(input) +} + +// PopulationVariance finds the amount of variance within a population +func PopulationVariance(input Float64Data) (pvar float64, err error) { + + v, err := _variance(input, 0) + if err != nil { + return math.NaN(), err + } + + return v, nil +} + +// SampleVariance finds the amount of variance within a sample +func SampleVariance(input Float64Data) (svar float64, err error) { + + v, err := _variance(input, 1) + if err != nil { + return math.NaN(), err + } + + return v, nil +} + +// Covariance is a measure of how much two sets of data change +func Covariance(data1, data2 Float64Data) (float64, error) { + + l1 := data1.Len() + l2 := data2.Len() + + if l1 == 0 || l2 == 0 { + return math.NaN(), EmptyInput + } + + if l1 != l2 { + return math.NaN(), SizeErr + } + + m1, _ := Mean(data1) + m2, _ := Mean(data2) + + // Calculate sum of squares + var ss float64 + for i := 0; i < l1; i++ { + delta1 := (data1.Get(i) - m1) + delta2 := (data2.Get(i) - m2) + ss += (delta1*delta2 - ss) / float64(i+1) + } + + return ss * float64(l1) / float64(l1-1), nil +} + +// CovariancePopulation computes covariance for entire population between two variables. +func CovariancePopulation(data1, data2 Float64Data) (float64, error) { + + l1 := data1.Len() + l2 := data2.Len() + + if l1 == 0 || l2 == 0 { + return math.NaN(), EmptyInput + } + + if l1 != l2 { + return math.NaN(), SizeErr + } + + m1, _ := Mean(data1) + m2, _ := Mean(data2) + + var s float64 + for i := 0; i < l1; i++ { + delta1 := (data1.Get(i) - m1) + delta2 := (data2.Get(i) - m2) + s += delta1 * delta2 + } + + return s / float64(l1), nil +} diff --git a/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/diff.go b/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/diff.go index 2a9f2dc3..cb25b437 100644 --- a/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/diff.go +++ b/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/diff.go @@ -34,8 +34,6 @@ const ( DiffInsert Operation = 1 // DiffEqual item represents an equal diff. DiffEqual Operation = 0 - //IndexSeparator is used to seperate the array indexes in an index string - IndexSeparator = "," ) // Diff represents one diff operation @@ -122,7 +120,7 @@ func (dmp *DiffMatchPatch) diffMainRunes(text1, text2 []rune, checklines bool, d // Restore the prefix and suffix. if len(commonprefix) != 0 { - diffs = append([]Diff{{DiffEqual, string(commonprefix)}}, diffs...) + diffs = append([]Diff{Diff{DiffEqual, string(commonprefix)}}, diffs...) } if len(commonsuffix) != 0 { diffs = append(diffs, Diff{DiffEqual, string(commonsuffix)}) @@ -167,8 +165,8 @@ func (dmp *DiffMatchPatch) diffCompute(text1, text2 []rune, checklines bool, dea // Single character string. // After the previous speedup, the character can't be an equality. return []Diff{ - {DiffDelete, string(text1)}, - {DiffInsert, string(text2)}, + Diff{DiffDelete, string(text1)}, + Diff{DiffInsert, string(text2)}, } // Check to see if the problem can be split in two. } else if hm := dmp.diffHalfMatch(text1, text2); hm != nil { @@ -195,7 +193,7 @@ func (dmp *DiffMatchPatch) diffCompute(text1, text2 []rune, checklines bool, dea // diffLineMode does a quick line-level diff on both []runes, then rediff the parts for greater accuracy. This speedup can produce non-minimal diffs. func (dmp *DiffMatchPatch) diffLineMode(text1, text2 []rune, deadline time.Time) []Diff { // Scan the text on a line-by-line basis first. - text1, text2, linearray := dmp.DiffLinesToRunes(string(text1), string(text2)) + text1, text2, linearray := dmp.diffLinesToRunes(text1, text2) diffs := dmp.diffMainRunes(text1, text2, false, deadline) @@ -370,8 +368,8 @@ func (dmp *DiffMatchPatch) diffBisect(runes1, runes2 []rune, deadline time.Time) } // Diff took too long and hit the deadline or number of diffs equals number of characters, no commonality at all. return []Diff{ - {DiffDelete, string(runes1)}, - {DiffInsert, string(runes2)}, + Diff{DiffDelete, string(runes1)}, + Diff{DiffInsert, string(runes2)}, } } @@ -392,28 +390,66 @@ func (dmp *DiffMatchPatch) diffBisectSplit(runes1, runes2 []rune, x, y int, // DiffLinesToChars splits two texts into a list of strings, and educes the texts to a string of hashes where each Unicode character represents one line. // It's slightly faster to call DiffLinesToRunes first, followed by DiffMainRunes. func (dmp *DiffMatchPatch) DiffLinesToChars(text1, text2 string) (string, string, []string) { - chars1, chars2, lineArray := dmp.diffLinesToStrings(text1, text2) - return chars1, chars2, lineArray + chars1, chars2, lineArray := dmp.DiffLinesToRunes(text1, text2) + return string(chars1), string(chars2), lineArray } -// DiffLinesToRunes splits two texts into a list of runes. +// DiffLinesToRunes splits two texts into a list of runes. Each rune represents one line. func (dmp *DiffMatchPatch) DiffLinesToRunes(text1, text2 string) ([]rune, []rune, []string) { - chars1, chars2, lineArray := dmp.diffLinesToStrings(text1, text2) - return []rune(chars1), []rune(chars2), lineArray + // '\x00' is a valid character, but various debuggers don't like it. So we'll insert a junk entry to avoid generating a null character. + lineArray := []string{""} // e.g. lineArray[4] == 'Hello\n' + lineHash := map[string]int{} // e.g. lineHash['Hello\n'] == 4 + + chars1 := dmp.diffLinesToRunesMunge(text1, &lineArray, lineHash) + chars2 := dmp.diffLinesToRunesMunge(text2, &lineArray, lineHash) + + return chars1, chars2, lineArray +} + +func (dmp *DiffMatchPatch) diffLinesToRunes(text1, text2 []rune) ([]rune, []rune, []string) { + return dmp.DiffLinesToRunes(string(text1), string(text2)) +} + +// diffLinesToRunesMunge splits a text into an array of strings, and reduces the texts to a []rune where each Unicode character represents one line. +// We use strings instead of []runes as input mainly because you can't use []rune as a map key. +func (dmp *DiffMatchPatch) diffLinesToRunesMunge(text string, lineArray *[]string, lineHash map[string]int) []rune { + // Walk the text, pulling out a substring for each line. text.split('\n') would would temporarily double our memory footprint. Modifying text would create many large strings to garbage collect. + lineStart := 0 + lineEnd := -1 + runes := []rune{} + + for lineEnd < len(text)-1 { + lineEnd = indexOf(text, "\n", lineStart) + + if lineEnd == -1 { + lineEnd = len(text) - 1 + } + + line := text[lineStart : lineEnd+1] + lineStart = lineEnd + 1 + lineValue, ok := lineHash[line] + + if ok { + runes = append(runes, rune(lineValue)) + } else { + *lineArray = append(*lineArray, line) + lineHash[line] = len(*lineArray) - 1 + runes = append(runes, rune(len(*lineArray)-1)) + } + } + + return runes } // DiffCharsToLines rehydrates the text in a diff from a string of line hashes to real lines of text. func (dmp *DiffMatchPatch) DiffCharsToLines(diffs []Diff, lineArray []string) []Diff { hydrated := make([]Diff, 0, len(diffs)) for _, aDiff := range diffs { - chars := strings.Split(aDiff.Text, IndexSeparator) + chars := aDiff.Text text := make([]string, len(chars)) for i, r := range chars { - i1, err := strconv.Atoi(r) - if err == nil { - text[i] = lineArray[i1] - } + text[i] = lineArray[r] } aDiff.Text = strings.Join(text, "") @@ -634,16 +670,16 @@ func (dmp *DiffMatchPatch) DiffCleanupSemantic(diffs []Diff) []Diff { // An insertion or deletion. if diffs[pointer].Type == DiffInsert { - lengthInsertions2 += utf8.RuneCountInString(diffs[pointer].Text) + lengthInsertions2 += len(diffs[pointer].Text) } else { - lengthDeletions2 += utf8.RuneCountInString(diffs[pointer].Text) + lengthDeletions2 += len(diffs[pointer].Text) } // Eliminate an equality that is smaller or equal to the edits on both sides of it. difference1 := int(math.Max(float64(lengthInsertions1), float64(lengthDeletions1))) difference2 := int(math.Max(float64(lengthInsertions2), float64(lengthDeletions2))) - if utf8.RuneCountInString(lastequality) > 0 && - (utf8.RuneCountInString(lastequality) <= difference1) && - (utf8.RuneCountInString(lastequality) <= difference2) { + if len(lastequality) > 0 && + (len(lastequality) <= difference1) && + (len(lastequality) <= difference2) { // Duplicate record. insPoint := equalities[len(equalities)-1] diffs = splice(diffs, insPoint, 0, Diff{DiffDelete, lastequality}) @@ -692,8 +728,8 @@ func (dmp *DiffMatchPatch) DiffCleanupSemantic(diffs []Diff) []Diff { overlapLength1 := dmp.DiffCommonOverlap(deletion, insertion) overlapLength2 := dmp.DiffCommonOverlap(insertion, deletion) if overlapLength1 >= overlapLength2 { - if float64(overlapLength1) >= float64(utf8.RuneCountInString(deletion))/2 || - float64(overlapLength1) >= float64(utf8.RuneCountInString(insertion))/2 { + if float64(overlapLength1) >= float64(len(deletion))/2 || + float64(overlapLength1) >= float64(len(insertion))/2 { // Overlap found. Insert an equality and trim the surrounding edits. diffs = splice(diffs, pointer, 0, Diff{DiffEqual, insertion[:overlapLength1]}) @@ -703,8 +739,8 @@ func (dmp *DiffMatchPatch) DiffCleanupSemantic(diffs []Diff) []Diff { pointer++ } } else { - if float64(overlapLength2) >= float64(utf8.RuneCountInString(deletion))/2 || - float64(overlapLength2) >= float64(utf8.RuneCountInString(insertion))/2 { + if float64(overlapLength2) >= float64(len(deletion))/2 || + float64(overlapLength2) >= float64(len(insertion))/2 { // Reverse overlap found. Insert an equality and swap and trim the surrounding edits. overlap := Diff{DiffEqual, deletion[:overlapLength2]} diffs = splice(diffs, pointer, 0, overlap) @@ -993,7 +1029,7 @@ func (dmp *DiffMatchPatch) DiffCleanupMerge(diffs []Diff) []Diff { if x > 0 && diffs[x-1].Type == DiffEqual { diffs[x-1].Text += string(textInsert[:commonlength]) } else { - diffs = append([]Diff{{DiffEqual, string(textInsert[:commonlength])}}, diffs...) + diffs = append([]Diff{Diff{DiffEqual, string(textInsert[:commonlength])}}, diffs...) pointer++ } textInsert = textInsert[commonlength:] @@ -1307,46 +1343,3 @@ func (dmp *DiffMatchPatch) DiffFromDelta(text1 string, delta string) (diffs []Di return diffs, nil } - -// diffLinesToStrings splits two texts into a list of strings. Each string represents one line. -func (dmp *DiffMatchPatch) diffLinesToStrings(text1, text2 string) (string, string, []string) { - // '\x00' is a valid character, but various debuggers don't like it. So we'll insert a junk entry to avoid generating a null character. - lineArray := []string{""} // e.g. lineArray[4] == 'Hello\n' - - //Each string has the index of lineArray which it points to - strIndexArray1 := dmp.diffLinesToStringsMunge(text1, &lineArray) - strIndexArray2 := dmp.diffLinesToStringsMunge(text2, &lineArray) - - return intArrayToString(strIndexArray1), intArrayToString(strIndexArray2), lineArray -} - -// diffLinesToStringsMunge splits a text into an array of strings, and reduces the texts to a []string. -func (dmp *DiffMatchPatch) diffLinesToStringsMunge(text string, lineArray *[]string) []uint32 { - // Walk the text, pulling out a substring for each line. text.split('\n') would would temporarily double our memory footprint. Modifying text would create many large strings to garbage collect. - lineHash := map[string]int{} // e.g. lineHash['Hello\n'] == 4 - lineStart := 0 - lineEnd := -1 - strs := []uint32{} - - for lineEnd < len(text)-1 { - lineEnd = indexOf(text, "\n", lineStart) - - if lineEnd == -1 { - lineEnd = len(text) - 1 - } - - line := text[lineStart : lineEnd+1] - lineStart = lineEnd + 1 - lineValue, ok := lineHash[line] - - if ok { - strs = append(strs, uint32(lineValue)) - } else { - *lineArray = append(*lineArray, line) - lineHash[line] = len(*lineArray) - 1 - strs = append(strs, uint32(len(*lineArray)-1)) - } - } - - return strs -} diff --git a/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/patch.go b/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/patch.go index 0dbe3bdd..223c43c4 100644 --- a/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/patch.go +++ b/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/patch.go @@ -324,7 +324,7 @@ func (dmp *DiffMatchPatch) PatchAddPadding(patches []Patch) string { paddingLength := dmp.PatchMargin nullPadding := "" for x := 1; x <= paddingLength; x++ { - nullPadding += string(rune(x)) + nullPadding += string(x) } // Bump all the patches forward. diff --git a/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/stringutil.go b/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/stringutil.go index 44c43595..265f29cc 100644 --- a/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/stringutil.go +++ b/cmd/sync/vendor/github.com/sergi/go-diff/diffmatchpatch/stringutil.go @@ -9,7 +9,6 @@ package diffmatchpatch import ( - "strconv" "strings" "unicode/utf8" ) @@ -87,20 +86,3 @@ func runesIndex(r1, r2 []rune) int { } return -1 } - -func intArrayToString(ns []uint32) string { - if len(ns) == 0 { - return "" - } - - indexSeparator := IndexSeparator[0] - - // Appr. 3 chars per num plus the comma. - b := []byte{} - for _, n := range ns { - b = strconv.AppendInt(b, int64(n), 10) - b = append(b, indexSeparator) - } - b = b[:len(b)-1] - return string(b) -} diff --git a/cmd/sync/vendor/github.com/xdg-go/scram/CHANGELOG.md b/cmd/sync/vendor/github.com/xdg-go/scram/CHANGELOG.md index 425c122f..21828db1 100644 --- a/cmd/sync/vendor/github.com/xdg-go/scram/CHANGELOG.md +++ b/cmd/sync/vendor/github.com/xdg-go/scram/CHANGELOG.md @@ -1,5 +1,13 @@ # CHANGELOG +## v1.1.1 - 2022-03-03 + +- Bump stringprep dependency to v1.0.3 for upstream CVE fix. + +## v1.1.0 - 2022-01-16 + +- Add SHA-512 hash generator function for convenience. + ## v1.0.2 - 2021-03-28 - Switch PBKDF2 dependency to github.com/xdg-go/pbkdf2 to diff --git a/cmd/sync/vendor/github.com/xdg-go/scram/doc.go b/cmd/sync/vendor/github.com/xdg-go/scram/doc.go index d43bee60..82e8aeed 100644 --- a/cmd/sync/vendor/github.com/xdg-go/scram/doc.go +++ b/cmd/sync/vendor/github.com/xdg-go/scram/doc.go @@ -10,14 +10,16 @@ // // Usage // -// The scram package provides two variables, `SHA1` and `SHA256`, that are -// used to construct Client or Server objects. +// The scram package provides variables, `SHA1`, `SHA256`, and `SHA512`, that +// are used to construct Client or Server objects. // // clientSHA1, err := scram.SHA1.NewClient(username, password, authID) // clientSHA256, err := scram.SHA256.NewClient(username, password, authID) +// clientSHA512, err := scram.SHA512.NewClient(username, password, authID) // // serverSHA1, err := scram.SHA1.NewServer(credentialLookupFcn) // serverSHA256, err := scram.SHA256.NewServer(credentialLookupFcn) +// serverSHA512, err := scram.SHA512.NewServer(credentialLookupFcn) // // These objects are used to construct ClientConversation or // ServerConversation objects that are used to carry out authentication. diff --git a/cmd/sync/vendor/github.com/xdg-go/scram/scram.go b/cmd/sync/vendor/github.com/xdg-go/scram/scram.go index 92765996..a7b36602 100644 --- a/cmd/sync/vendor/github.com/xdg-go/scram/scram.go +++ b/cmd/sync/vendor/github.com/xdg-go/scram/scram.go @@ -9,6 +9,7 @@ package scram import ( "crypto/sha1" "crypto/sha256" + "crypto/sha512" "fmt" "hash" @@ -29,6 +30,10 @@ var SHA1 HashGeneratorFcn = func() hash.Hash { return sha1.New() } // to create Client objects configured for SHA-256 hashing. var SHA256 HashGeneratorFcn = func() hash.Hash { return sha256.New() } +// SHA512 is a function that returns a crypto/sha512 hasher and should be used +// to create Client objects configured for SHA-512 hashing. +var SHA512 HashGeneratorFcn = func() hash.Hash { return sha512.New() } + // NewClient constructs a SCRAM client component based on a given hash.Hash // factory receiver. This constructor will normalize the username, password // and authzID via the SASLprep algorithm, as recommended by RFC-5802. If diff --git a/cmd/sync/vendor/github.com/xdg-go/stringprep/CHANGELOG.md b/cmd/sync/vendor/github.com/xdg-go/stringprep/CHANGELOG.md index 2849637c..e06787fb 100644 --- a/cmd/sync/vendor/github.com/xdg-go/stringprep/CHANGELOG.md +++ b/cmd/sync/vendor/github.com/xdg-go/stringprep/CHANGELOG.md @@ -1,5 +1,12 @@ # CHANGELOG +<a name="v1.0.3"></a> +## [v1.0.3] - 2022-03-01 + +### Maintenance + +- Bump golang.org/x/text to v0.3.7 due to CVE-2021-38561 + <a name="v1.0.2"></a> ## [v1.0.2] - 2021-03-27 diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go index 96195bcc..098ed69f 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go @@ -13,6 +13,7 @@ import ( "go.mongodb.org/mongo-driver/bson/bsonrw" "go.mongodb.org/mongo-driver/bson/bsontype" + "go.mongodb.org/mongo-driver/bson/primitive" ) var ( @@ -118,11 +119,32 @@ type EncodeContext struct { type DecodeContext struct { *Registry Truncate bool + // Ancestor is the type of a containing document. This is mainly used to determine what type // should be used when decoding an embedded document into an empty interface. For example, if // Ancestor is a bson.M, BSON embedded document values being decoded into an empty interface // will be decoded into a bson.M. + // + // Deprecated: Use DefaultDocumentM or DefaultDocumentD instead. Ancestor reflect.Type + + // defaultDocumentType specifies the Go type to decode top-level and nested BSON documents into. In particular, the + // usage for this field is restricted to data typed as "interface{}" or "map[string]interface{}". If DocumentType is + // set to a type that a BSON document cannot be unmarshaled into (e.g. "string"), unmarshalling will result in an + // error. DocumentType overrides the Ancestor field. + defaultDocumentType reflect.Type +} + +// DefaultDocumentM will decode empty documents using the primitive.M type. This behavior is restricted to data typed as +// "interface{}" or "map[string]interface{}". +func (dc *DecodeContext) DefaultDocumentM() { + dc.defaultDocumentType = reflect.TypeOf(primitive.M{}) +} + +// DefaultDocumentD will decode empty documents using the primitive.D type. This behavior is restricted to data typed as +// "interface{}" or "map[string]interface{}". +func (dc *DecodeContext) DefaultDocumentD() { + dc.defaultDocumentType = reflect.TypeOf(primitive.D{}) } // ValueCodec is the interface that groups the methods to encode and decode diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go index 20f4797d..e95cab58 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go @@ -1463,7 +1463,7 @@ func (dvd DefaultValueDecoders) ValueUnmarshalerDecodeValue(dc DecodeContext, vr if !val.CanAddr() { return ValueDecoderError{Name: "ValueUnmarshalerDecodeValue", Types: []reflect.Type{tValueUnmarshaler}, Received: val} } - val = val.Addr() // If they type doesn't implement the interface, a pointer to it must. + val = val.Addr() // If the type doesn't implement the interface, a pointer to it must. } t, src, err := bsonrw.Copier{}.CopyValueToBytes(vr) @@ -1492,13 +1492,6 @@ func (dvd DefaultValueDecoders) UnmarshalerDecodeValue(dc DecodeContext, vr bson val.Set(reflect.New(val.Type().Elem())) } - if !val.Type().Implements(tUnmarshaler) { - if !val.CanAddr() { - return ValueDecoderError{Name: "UnmarshalerDecodeValue", Types: []reflect.Type{tUnmarshaler}, Received: val} - } - val = val.Addr() // If they type doesn't implement the interface, a pointer to it must. - } - _, src, err := bsonrw.Copier{}.CopyValueToBytes(vr) if err != nil { return err @@ -1516,6 +1509,13 @@ func (dvd DefaultValueDecoders) UnmarshalerDecodeValue(dc DecodeContext, vr bson return nil } + if !val.Type().Implements(tUnmarshaler) { + if !val.CanAddr() { + return ValueDecoderError{Name: "UnmarshalerDecodeValue", Types: []reflect.Type{tUnmarshaler}, Received: val} + } + val = val.Addr() // If the type doesn't implement the interface, a pointer to it must. + } + fn := val.Convert(tUnmarshaler).MethodByName("UnmarshalBSON") errVal := fn.Call([]reflect.Value{reflect.ValueOf(src)})[0] if !errVal.IsNil() { diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go index c1e20f94..b0ae0e23 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + // Package bsoncodec provides a system for encoding values to BSON representations and decoding // values from BSON representations. This package considers both binary BSON and ExtendedJSON as // BSON representations. The types in this package enable a flexible system for handling this diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go index a15636d0..eda417cf 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go @@ -57,11 +57,18 @@ func (eic EmptyInterfaceCodec) EncodeValue(ec EncodeContext, vw bsonrw.ValueWrit func (eic EmptyInterfaceCodec) getEmptyInterfaceDecodeType(dc DecodeContext, valueType bsontype.Type) (reflect.Type, error) { isDocument := valueType == bsontype.Type(0) || valueType == bsontype.EmbeddedDocument - if isDocument && dc.Ancestor != nil { - // Using ancestor information rather than looking up the type map entry forces consistent decoding. - // If we're decoding into a bson.D, subdocuments should also be decoded as bson.D, even if a type map entry - // has been registered. - return dc.Ancestor, nil + if isDocument { + if dc.defaultDocumentType != nil { + // If the bsontype is an embedded document and the DocumentType is set on the DecodeContext, then return + // that type. + return dc.defaultDocumentType, nil + } + if dc.Ancestor != nil { + // Using ancestor information rather than looking up the type map entry forces consistent decoding. + // If we're decoding into a bson.D, subdocuments should also be decoded as bson.D, even if a type map entry + // has been registered. + return dc.Ancestor, nil + } } rtype, err := dc.LookupTypeMapEntry(valueType) diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go index 1f7acbcf..e1fbef9c 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go @@ -7,6 +7,7 @@ package bsoncodec import ( + "encoding" "fmt" "reflect" "strconv" @@ -230,6 +231,19 @@ func (mc *MapCodec) encodeKey(val reflect.Value) (string, error) { } return "", err } + // keys implement encoding.TextMarshaler are marshaled. + if km, ok := val.Interface().(encoding.TextMarshaler); ok { + if val.Kind() == reflect.Ptr && val.IsNil() { + return "", nil + } + + buf, err := km.MarshalText() + if err != nil { + return "", err + } + + return string(buf), nil + } switch val.Kind() { case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: @@ -241,6 +255,7 @@ func (mc *MapCodec) encodeKey(val reflect.Value) (string, error) { } var keyUnmarshalerType = reflect.TypeOf((*KeyUnmarshaler)(nil)).Elem() +var textUnmarshalerType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem() func (mc *MapCodec) decodeKey(key string, keyType reflect.Type) (reflect.Value, error) { keyVal := reflect.ValueOf(key) @@ -252,6 +267,12 @@ func (mc *MapCodec) decodeKey(key string, keyType reflect.Type) (reflect.Value, v := keyVal.Interface().(KeyUnmarshaler) err = v.UnmarshalKey(key) keyVal = keyVal.Elem() + // Try to decode encoding.TextUnmarshalers. + case reflect.PtrTo(keyType).Implements(textUnmarshalerType): + keyVal = reflect.New(keyType) + v := keyVal.Interface().(encoding.TextUnmarshaler) + err = v.UnmarshalText([]byte(key)) + keyVal = keyVal.Elem() // Otherwise, go to type specific behavior default: switch keyType.Kind() { diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go new file mode 100644 index 00000000..c40973c8 --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go @@ -0,0 +1,8 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + +// Package bsonoptions defines the optional configurations for the BSON codecs. +package bsonoptions diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go index 458588b6..ef5d837c 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go @@ -86,12 +86,11 @@ type valueReader struct { // NewBSONDocumentReader returns a ValueReader using b for the underlying BSON // representation. Parameter b must be a BSON Document. -// -// TODO(skriptble): There's a lack of symmetry between the reader and writer, since the reader takes -// a []byte while the writer takes an io.Writer. We should have two versions of each, one that takes -// a []byte and one that takes an io.Reader or io.Writer. The []byte version will need to return a -// thing that can return the finished []byte since it might be reallocated when appended to. func NewBSONDocumentReader(b []byte) ValueReader { + // TODO(skriptble): There's a lack of symmetry between the reader and writer, since the reader takes a []byte while the + // TODO writer takes an io.Writer. We should have two versions of each, one that takes a []byte and one that takes an + // TODO io.Reader or io.Writer. The []byte version will need to return a thing that can return the finished []byte since + // TODO it might be reallocated when appended to. return newValueReader(b) } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/decoder.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/decoder.go index 7f6b7694..6e189fa5 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/decoder.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/bson/decoder.go @@ -33,6 +33,11 @@ var decPool = sync.Pool{ type Decoder struct { dc bsoncodec.DecodeContext vr bsonrw.ValueReader + + // We persist defaultDocumentM and defaultDocumentD on the Decoder to prevent overwriting from + // (*Decoder).SetContext. + defaultDocumentM bool + defaultDocumentD bool } // NewDecoder returns a new decoder that uses the DefaultRegistry to read from vr. @@ -95,6 +100,12 @@ func (d *Decoder) Decode(val interface{}) error { if err != nil { return err } + if d.defaultDocumentM { + d.dc.DefaultDocumentM() + } + if d.defaultDocumentD { + d.dc.DefaultDocumentD() + } return decoder.DecodeValue(d.dc, d.vr, rval) } @@ -116,3 +127,15 @@ func (d *Decoder) SetContext(dc bsoncodec.DecodeContext) error { d.dc = dc return nil } + +// DefaultDocumentM will decode empty documents using the primitive.M type. This behavior is restricted to data typed as +// "interface{}" or "map[string]interface{}". +func (d *Decoder) DefaultDocumentM() { + d.defaultDocumentM = true +} + +// DefaultDocumentD will decode empty documents using the primitive.D type. This behavior is restricted to data typed as +// "interface{}" or "map[string]interface{}". +func (d *Decoder) DefaultDocumentD() { + d.defaultDocumentD = true +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/csfle_util.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/csfle_util.go new file mode 100644 index 00000000..635d8e35 --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/csfle_util.go @@ -0,0 +1,39 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + +package internal + +import ( + "fmt" + + "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" +) + +const ( + EncryptedCacheCollection = "ecc" + EncryptedStateCollection = "esc" + EncryptedCompactionCollection = "ecoc" +) + +// GetEncryptedStateCollectionName returns the encrypted state collection name associated with dataCollectionName. +func GetEncryptedStateCollectionName(efBSON bsoncore.Document, dataCollectionName string, stateCollection string) (string, error) { + fieldName := stateCollection + "Collection" + val, err := efBSON.LookupErr(fieldName) + if err != nil { + if err != bsoncore.ErrElementNotFound { + return "", err + } + // Return default name. + defaultName := "enxcol_." + dataCollectionName + "." + stateCollection + return defaultName, nil + } + + stateCollectionName, ok := val.StringValueOK() + if !ok { + return "", fmt.Errorf("expected string for '%v', got: %v", fieldName, val.Type) + } + return stateCollectionName, nil +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/csot_util.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/csot_util.go new file mode 100644 index 00000000..ea07637b --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/csot_util.go @@ -0,0 +1,34 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + +package internal + +import ( + "context" + "time" +) + +type timeoutKey struct{} + +// MakeTimeoutContext returns a new context with Client-Side Operation Timeout (CSOT) feature-gated behavior +// and a Timeout set to the passed in Duration. Setting a Timeout on a single operation is not supported in +// public API. +// +// TODO(GODRIVER-2348) We may be able to remove this function once CSOT feature-gated behavior becomes the +// TODO default behavior. +func MakeTimeoutContext(ctx context.Context, to time.Duration) (context.Context, context.CancelFunc) { + // Only use the passed in Duration as a timeout on the Context if it + // is non-zero. + cancelFunc := func() {} + if to != 0 { + ctx, cancelFunc = context.WithTimeout(ctx, to) + } + return context.WithValue(ctx, timeoutKey{}, true), cancelFunc +} + +func IsTimeoutContext(ctx context.Context) bool { + return ctx.Value(timeoutKey{}) != nil +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/error.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/error.go index 6a105af4..1fec3f18 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/error.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/error.go @@ -117,3 +117,7 @@ func (e *wrappedError) Error() string { func (e *wrappedError) Inner() error { return e.inner } + +func (e *wrappedError) Unwrap() error { + return e.inner +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/bits.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/bits.go new file mode 100644 index 00000000..44790091 --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/bits.go @@ -0,0 +1,38 @@ +// Copied from https://cs.opensource.google/go/go/+/946b4baaf6521d521928500b2b57429c149854e7:src/math/bits.go + +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package rand + +// Add64 returns the sum with carry of x, y and carry: sum = x + y + carry. +// The carry input must be 0 or 1; otherwise the behavior is undefined. +// The carryOut output is guaranteed to be 0 or 1. +func Add64(x, y, carry uint64) (sum, carryOut uint64) { + yc := y + carry + sum = x + yc + if sum < x || yc < y { + carryOut = 1 + } + return +} + +// Mul64 returns the 128-bit product of x and y: (hi, lo) = x * y +// with the product bits' upper half returned in hi and the lower +// half returned in lo. +func Mul64(x, y uint64) (hi, lo uint64) { + const mask32 = 1<<32 - 1 + x0 := x & mask32 + x1 := x >> 32 + y0 := y & mask32 + y1 := y >> 32 + w0 := x0 * y0 + t := x1*y0 + w0>>32 + w1 := t & mask32 + w2 := t >> 32 + w1 += x0 * y1 + hi = x1*y1 + w2 + w1>>32 + lo = x * y + return +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/exp.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/exp.go new file mode 100644 index 00000000..859e4e0e --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/exp.go @@ -0,0 +1,223 @@ +// Copied from https://cs.opensource.google/go/x/exp/+/24438e51023af3bfc1db8aed43c1342817e8cfcd:rand/exp.go + +// 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 rand + +import ( + "math" +) + +/* + * Exponential distribution + * + * See "The Ziggurat Method for Generating Random Variables" + * (Marsaglia & Tsang, 2000) + * http://www.jstatsoft.org/v05/i08/paper [pdf] + */ + +const ( + re = 7.69711747013104972 +) + +// ExpFloat64 returns an exponentially distributed float64 in the range +// (0, +math.MaxFloat64] with an exponential distribution whose rate parameter +// (lambda) is 1 and whose mean is 1/lambda (1). +// To produce a distribution with a different rate parameter, +// callers can adjust the output using: +// +// sample = ExpFloat64() / desiredRateParameter +func (r *Rand) ExpFloat64() float64 { + for { + j := r.Uint32() + i := j & 0xFF + x := float64(j) * float64(we[i]) + if j < ke[i] { + return x + } + if i == 0 { + return re - math.Log(r.Float64()) + } + if fe[i]+float32(r.Float64())*(fe[i-1]-fe[i]) < float32(math.Exp(-x)) { + return x + } + } +} + +var ke = [256]uint32{ + 0xe290a139, 0x0, 0x9beadebc, 0xc377ac71, 0xd4ddb990, + 0xde893fb8, 0xe4a8e87c, 0xe8dff16a, 0xebf2deab, 0xee49a6e8, + 0xf0204efd, 0xf19bdb8e, 0xf2d458bb, 0xf3da104b, 0xf4b86d78, + 0xf577ad8a, 0xf61de83d, 0xf6afb784, 0xf730a573, 0xf7a37651, + 0xf80a5bb6, 0xf867189d, 0xf8bb1b4f, 0xf9079062, 0xf94d70ca, + 0xf98d8c7d, 0xf9c8928a, 0xf9ff175b, 0xfa319996, 0xfa6085f8, + 0xfa8c3a62, 0xfab5084e, 0xfadb36c8, 0xfaff0410, 0xfb20a6ea, + 0xfb404fb4, 0xfb5e2951, 0xfb7a59e9, 0xfb95038c, 0xfbae44ba, + 0xfbc638d8, 0xfbdcf892, 0xfbf29a30, 0xfc0731df, 0xfc1ad1ed, + 0xfc2d8b02, 0xfc3f6c4d, 0xfc5083ac, 0xfc60ddd1, 0xfc708662, + 0xfc7f8810, 0xfc8decb4, 0xfc9bbd62, 0xfca9027c, 0xfcb5c3c3, + 0xfcc20864, 0xfccdd70a, 0xfcd935e3, 0xfce42ab0, 0xfceebace, + 0xfcf8eb3b, 0xfd02c0a0, 0xfd0c3f59, 0xfd156b7b, 0xfd1e48d6, + 0xfd26daff, 0xfd2f2552, 0xfd372af7, 0xfd3eeee5, 0xfd4673e7, + 0xfd4dbc9e, 0xfd54cb85, 0xfd5ba2f2, 0xfd62451b, 0xfd68b415, + 0xfd6ef1da, 0xfd750047, 0xfd7ae120, 0xfd809612, 0xfd8620b4, + 0xfd8b8285, 0xfd90bcf5, 0xfd95d15e, 0xfd9ac10b, 0xfd9f8d36, + 0xfda43708, 0xfda8bf9e, 0xfdad2806, 0xfdb17141, 0xfdb59c46, + 0xfdb9a9fd, 0xfdbd9b46, 0xfdc170f6, 0xfdc52bd8, 0xfdc8ccac, + 0xfdcc542d, 0xfdcfc30b, 0xfdd319ef, 0xfdd6597a, 0xfdd98245, + 0xfddc94e5, 0xfddf91e6, 0xfde279ce, 0xfde54d1f, 0xfde80c52, + 0xfdeab7de, 0xfded5034, 0xfdefd5be, 0xfdf248e3, 0xfdf4aa06, + 0xfdf6f984, 0xfdf937b6, 0xfdfb64f4, 0xfdfd818d, 0xfdff8dd0, + 0xfe018a08, 0xfe03767a, 0xfe05536c, 0xfe07211c, 0xfe08dfc9, + 0xfe0a8fab, 0xfe0c30fb, 0xfe0dc3ec, 0xfe0f48b1, 0xfe10bf76, + 0xfe122869, 0xfe1383b4, 0xfe14d17c, 0xfe1611e7, 0xfe174516, + 0xfe186b2a, 0xfe19843e, 0xfe1a9070, 0xfe1b8fd6, 0xfe1c8289, + 0xfe1d689b, 0xfe1e4220, 0xfe1f0f26, 0xfe1fcfbc, 0xfe2083ed, + 0xfe212bc3, 0xfe21c745, 0xfe225678, 0xfe22d95f, 0xfe234ffb, + 0xfe23ba4a, 0xfe241849, 0xfe2469f2, 0xfe24af3c, 0xfe24e81e, + 0xfe25148b, 0xfe253474, 0xfe2547c7, 0xfe254e70, 0xfe25485a, + 0xfe25356a, 0xfe251586, 0xfe24e88f, 0xfe24ae64, 0xfe2466e1, + 0xfe2411df, 0xfe23af34, 0xfe233eb4, 0xfe22c02c, 0xfe22336b, + 0xfe219838, 0xfe20ee58, 0xfe20358c, 0xfe1f6d92, 0xfe1e9621, + 0xfe1daef0, 0xfe1cb7ac, 0xfe1bb002, 0xfe1a9798, 0xfe196e0d, + 0xfe1832fd, 0xfe16e5fe, 0xfe15869d, 0xfe141464, 0xfe128ed3, + 0xfe10f565, 0xfe0f478c, 0xfe0d84b1, 0xfe0bac36, 0xfe09bd73, + 0xfe07b7b5, 0xfe059a40, 0xfe03644c, 0xfe011504, 0xfdfeab88, + 0xfdfc26e9, 0xfdf98629, 0xfdf6c83b, 0xfdf3ec01, 0xfdf0f04a, + 0xfdedd3d1, 0xfdea953d, 0xfde7331e, 0xfde3abe9, 0xfddffdfb, + 0xfddc2791, 0xfdd826cd, 0xfdd3f9a8, 0xfdcf9dfc, 0xfdcb1176, + 0xfdc65198, 0xfdc15bb3, 0xfdbc2ce2, 0xfdb6c206, 0xfdb117be, + 0xfdab2a63, 0xfda4f5fd, 0xfd9e7640, 0xfd97a67a, 0xfd908192, + 0xfd8901f2, 0xfd812182, 0xfd78d98e, 0xfd7022bb, 0xfd66f4ed, + 0xfd5d4732, 0xfd530f9c, 0xfd48432b, 0xfd3cd59a, 0xfd30b936, + 0xfd23dea4, 0xfd16349e, 0xfd07a7a3, 0xfcf8219b, 0xfce7895b, + 0xfcd5c220, 0xfcc2aadb, 0xfcae1d5e, 0xfc97ed4e, 0xfc7fe6d4, + 0xfc65ccf3, 0xfc495762, 0xfc2a2fc8, 0xfc07ee19, 0xfbe213c1, + 0xfbb8051a, 0xfb890078, 0xfb5411a5, 0xfb180005, 0xfad33482, + 0xfa839276, 0xfa263b32, 0xf9b72d1c, 0xf930a1a2, 0xf889f023, + 0xf7b577d2, 0xf69c650c, 0xf51530f0, 0xf2cb0e3c, 0xeeefb15d, + 0xe6da6ecf, +} +var we = [256]float32{ + 2.0249555e-09, 1.486674e-11, 2.4409617e-11, 3.1968806e-11, + 3.844677e-11, 4.4228204e-11, 4.9516443e-11, 5.443359e-11, + 5.905944e-11, 6.344942e-11, 6.7643814e-11, 7.1672945e-11, + 7.556032e-11, 7.932458e-11, 8.298079e-11, 8.654132e-11, + 9.0016515e-11, 9.3415074e-11, 9.674443e-11, 1.0001099e-10, + 1.03220314e-10, 1.06377254e-10, 1.09486115e-10, 1.1255068e-10, + 1.1557435e-10, 1.1856015e-10, 1.2151083e-10, 1.2442886e-10, + 1.2731648e-10, 1.3017575e-10, 1.3300853e-10, 1.3581657e-10, + 1.3860142e-10, 1.4136457e-10, 1.4410738e-10, 1.4683108e-10, + 1.4953687e-10, 1.5222583e-10, 1.54899e-10, 1.5755733e-10, + 1.6020171e-10, 1.6283301e-10, 1.6545203e-10, 1.6805951e-10, + 1.7065617e-10, 1.732427e-10, 1.7581973e-10, 1.7838787e-10, + 1.8094774e-10, 1.8349985e-10, 1.8604476e-10, 1.8858298e-10, + 1.9111498e-10, 1.9364126e-10, 1.9616223e-10, 1.9867835e-10, + 2.0119004e-10, 2.0369768e-10, 2.0620168e-10, 2.087024e-10, + 2.1120022e-10, 2.136955e-10, 2.1618855e-10, 2.1867974e-10, + 2.2116936e-10, 2.2365775e-10, 2.261452e-10, 2.2863202e-10, + 2.311185e-10, 2.3360494e-10, 2.360916e-10, 2.3857874e-10, + 2.4106667e-10, 2.4355562e-10, 2.4604588e-10, 2.485377e-10, + 2.5103128e-10, 2.5352695e-10, 2.560249e-10, 2.585254e-10, + 2.6102867e-10, 2.6353494e-10, 2.6604446e-10, 2.6855745e-10, + 2.7107416e-10, 2.7359479e-10, 2.761196e-10, 2.7864877e-10, + 2.8118255e-10, 2.8372119e-10, 2.8626485e-10, 2.888138e-10, + 2.9136826e-10, 2.939284e-10, 2.9649452e-10, 2.9906677e-10, + 3.016454e-10, 3.0423064e-10, 3.0682268e-10, 3.0942177e-10, + 3.1202813e-10, 3.1464195e-10, 3.1726352e-10, 3.19893e-10, + 3.2253064e-10, 3.251767e-10, 3.2783135e-10, 3.3049485e-10, + 3.3316744e-10, 3.3584938e-10, 3.3854083e-10, 3.4124212e-10, + 3.4395342e-10, 3.46675e-10, 3.4940711e-10, 3.5215003e-10, + 3.5490397e-10, 3.5766917e-10, 3.6044595e-10, 3.6323455e-10, + 3.660352e-10, 3.6884823e-10, 3.7167386e-10, 3.745124e-10, + 3.773641e-10, 3.802293e-10, 3.8310827e-10, 3.860013e-10, + 3.8890866e-10, 3.918307e-10, 3.9476775e-10, 3.9772008e-10, + 4.0068804e-10, 4.0367196e-10, 4.0667217e-10, 4.09689e-10, + 4.1272286e-10, 4.1577405e-10, 4.1884296e-10, 4.2192994e-10, + 4.250354e-10, 4.281597e-10, 4.313033e-10, 4.3446652e-10, + 4.3764986e-10, 4.408537e-10, 4.4407847e-10, 4.4732465e-10, + 4.5059267e-10, 4.5388301e-10, 4.571962e-10, 4.6053267e-10, + 4.6389292e-10, 4.6727755e-10, 4.70687e-10, 4.741219e-10, + 4.7758275e-10, 4.810702e-10, 4.845848e-10, 4.8812715e-10, + 4.9169796e-10, 4.9529775e-10, 4.989273e-10, 5.0258725e-10, + 5.0627835e-10, 5.100013e-10, 5.1375687e-10, 5.1754584e-10, + 5.21369e-10, 5.2522725e-10, 5.2912136e-10, 5.330522e-10, + 5.370208e-10, 5.4102806e-10, 5.45075e-10, 5.491625e-10, + 5.532918e-10, 5.5746385e-10, 5.616799e-10, 5.6594107e-10, + 5.7024857e-10, 5.746037e-10, 5.7900773e-10, 5.834621e-10, + 5.8796823e-10, 5.925276e-10, 5.971417e-10, 6.018122e-10, + 6.065408e-10, 6.113292e-10, 6.1617933e-10, 6.2109295e-10, + 6.260722e-10, 6.3111916e-10, 6.3623595e-10, 6.4142497e-10, + 6.4668854e-10, 6.5202926e-10, 6.5744976e-10, 6.6295286e-10, + 6.6854156e-10, 6.742188e-10, 6.79988e-10, 6.858526e-10, + 6.9181616e-10, 6.978826e-10, 7.04056e-10, 7.103407e-10, + 7.167412e-10, 7.2326256e-10, 7.2990985e-10, 7.366886e-10, + 7.4360473e-10, 7.5066453e-10, 7.5787476e-10, 7.6524265e-10, + 7.7277595e-10, 7.80483e-10, 7.883728e-10, 7.9645507e-10, + 8.047402e-10, 8.1323964e-10, 8.219657e-10, 8.309319e-10, + 8.401528e-10, 8.496445e-10, 8.594247e-10, 8.6951274e-10, + 8.799301e-10, 8.9070046e-10, 9.018503e-10, 9.134092e-10, + 9.254101e-10, 9.378904e-10, 9.508923e-10, 9.644638e-10, + 9.786603e-10, 9.935448e-10, 1.0091913e-09, 1.025686e-09, + 1.0431306e-09, 1.0616465e-09, 1.08138e-09, 1.1025096e-09, + 1.1252564e-09, 1.1498986e-09, 1.1767932e-09, 1.206409e-09, + 1.2393786e-09, 1.276585e-09, 1.3193139e-09, 1.3695435e-09, + 1.4305498e-09, 1.508365e-09, 1.6160854e-09, 1.7921248e-09, +} +var fe = [256]float32{ + 1, 0.9381437, 0.90046996, 0.87170434, 0.8477855, 0.8269933, + 0.8084217, 0.7915276, 0.77595687, 0.7614634, 0.7478686, + 0.7350381, 0.72286767, 0.71127474, 0.70019263, 0.6895665, + 0.67935055, 0.6695063, 0.66000086, 0.65080583, 0.6418967, + 0.63325197, 0.6248527, 0.6166822, 0.60872537, 0.60096896, + 0.5934009, 0.58601034, 0.5787874, 0.57172304, 0.5648092, + 0.5580383, 0.5514034, 0.5448982, 0.5385169, 0.53225386, + 0.5261042, 0.52006316, 0.5141264, 0.50828975, 0.5025495, + 0.496902, 0.49134386, 0.485872, 0.48048335, 0.4751752, + 0.46994483, 0.46478975, 0.45970762, 0.45469615, 0.44975325, + 0.44487688, 0.44006512, 0.43531612, 0.43062815, 0.42599955, + 0.42142874, 0.4169142, 0.41245446, 0.40804818, 0.403694, + 0.3993907, 0.39513698, 0.39093173, 0.38677382, 0.38266218, + 0.37859577, 0.37457356, 0.37059465, 0.3666581, 0.362763, + 0.35890847, 0.35509375, 0.351318, 0.3475805, 0.34388044, + 0.34021714, 0.3365899, 0.33299807, 0.32944095, 0.32591796, + 0.3224285, 0.3189719, 0.31554767, 0.31215525, 0.30879408, + 0.3054636, 0.3021634, 0.29889292, 0.2956517, 0.29243928, + 0.28925523, 0.28609908, 0.28297043, 0.27986884, 0.27679393, + 0.2737453, 0.2707226, 0.2677254, 0.26475343, 0.26180625, + 0.25888354, 0.25598502, 0.2531103, 0.25025907, 0.24743107, + 0.24462597, 0.24184346, 0.23908329, 0.23634516, 0.23362878, + 0.23093392, 0.2282603, 0.22560766, 0.22297576, 0.22036438, + 0.21777324, 0.21520215, 0.21265087, 0.21011916, 0.20760682, + 0.20511365, 0.20263945, 0.20018397, 0.19774707, 0.19532852, + 0.19292815, 0.19054577, 0.1881812, 0.18583426, 0.18350479, + 0.1811926, 0.17889754, 0.17661946, 0.17435817, 0.17211354, + 0.1698854, 0.16767362, 0.16547804, 0.16329853, 0.16113494, + 0.15898713, 0.15685499, 0.15473837, 0.15263714, 0.15055119, + 0.14848037, 0.14642459, 0.14438373, 0.14235765, 0.14034624, + 0.13834943, 0.13636707, 0.13439907, 0.13244532, 0.13050574, + 0.1285802, 0.12666863, 0.12477092, 0.12288698, 0.12101672, + 0.119160056, 0.1173169, 0.115487166, 0.11367077, 0.11186763, + 0.11007768, 0.10830083, 0.10653701, 0.10478614, 0.10304816, + 0.101323, 0.09961058, 0.09791085, 0.09622374, 0.09454919, + 0.09288713, 0.091237515, 0.08960028, 0.087975375, 0.08636274, + 0.08476233, 0.083174095, 0.081597984, 0.08003395, 0.07848195, + 0.076941945, 0.07541389, 0.07389775, 0.072393484, 0.07090106, + 0.069420435, 0.06795159, 0.066494495, 0.06504912, 0.063615434, + 0.062193416, 0.060783047, 0.059384305, 0.057997175, + 0.05662164, 0.05525769, 0.053905312, 0.052564494, 0.051235236, + 0.049917534, 0.048611384, 0.047316793, 0.046033762, 0.0447623, + 0.043502413, 0.042254124, 0.041017443, 0.039792392, + 0.038578995, 0.037377283, 0.036187284, 0.035009038, + 0.033842582, 0.032687962, 0.031545233, 0.030414443, 0.02929566, + 0.02818895, 0.027094385, 0.026012046, 0.024942026, 0.023884421, + 0.022839336, 0.021806888, 0.020787204, 0.019780423, 0.0187867, + 0.0178062, 0.016839107, 0.015885621, 0.014945968, 0.014020392, + 0.013109165, 0.012212592, 0.011331013, 0.01046481, 0.009614414, + 0.008780315, 0.007963077, 0.0071633533, 0.006381906, + 0.0056196423, 0.0048776558, 0.004157295, 0.0034602648, + 0.0027887989, 0.0021459677, 0.0015362998, 0.0009672693, + 0.00045413437, +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/normal.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/normal.go new file mode 100644 index 00000000..8c74a358 --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/normal.go @@ -0,0 +1,158 @@ +// Copied from https://cs.opensource.google/go/x/exp/+/24438e51023af3bfc1db8aed43c1342817e8cfcd:rand/normal.go + +// 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 rand + +import ( + "math" +) + +/* + * Normal distribution + * + * See "The Ziggurat Method for Generating Random Variables" + * (Marsaglia & Tsang, 2000) + * http://www.jstatsoft.org/v05/i08/paper [pdf] + */ + +const ( + rn = 3.442619855899 +) + +func absInt32(i int32) uint32 { + if i < 0 { + return uint32(-i) + } + return uint32(i) +} + +// NormFloat64 returns a normally distributed float64 in the range +// [-math.MaxFloat64, +math.MaxFloat64] with +// standard normal distribution (mean = 0, stddev = 1). +// To produce a different normal distribution, callers can +// adjust the output using: +// +// sample = NormFloat64() * desiredStdDev + desiredMean +func (r *Rand) NormFloat64() float64 { + for { + j := int32(r.Uint32()) // Possibly negative + i := j & 0x7F + x := float64(j) * float64(wn[i]) + if absInt32(j) < kn[i] { + // This case should be hit better than 99% of the time. + return x + } + + if i == 0 { + // This extra work is only required for the base strip. + for { + x = -math.Log(r.Float64()) * (1.0 / rn) + y := -math.Log(r.Float64()) + if y+y >= x*x { + break + } + } + if j > 0 { + return rn + x + } + return -rn - x + } + if fn[i]+float32(r.Float64())*(fn[i-1]-fn[i]) < float32(math.Exp(-.5*x*x)) { + return x + } + } +} + +var kn = [128]uint32{ + 0x76ad2212, 0x0, 0x600f1b53, 0x6ce447a6, 0x725b46a2, + 0x7560051d, 0x774921eb, 0x789a25bd, 0x799045c3, 0x7a4bce5d, + 0x7adf629f, 0x7b5682a6, 0x7bb8a8c6, 0x7c0ae722, 0x7c50cce7, + 0x7c8cec5b, 0x7cc12cd6, 0x7ceefed2, 0x7d177e0b, 0x7d3b8883, + 0x7d5bce6c, 0x7d78dd64, 0x7d932886, 0x7dab0e57, 0x7dc0dd30, + 0x7dd4d688, 0x7de73185, 0x7df81cea, 0x7e07c0a3, 0x7e163efa, + 0x7e23b587, 0x7e303dfd, 0x7e3beec2, 0x7e46db77, 0x7e51155d, + 0x7e5aabb3, 0x7e63abf7, 0x7e6c222c, 0x7e741906, 0x7e7b9a18, + 0x7e82adfa, 0x7e895c63, 0x7e8fac4b, 0x7e95a3fb, 0x7e9b4924, + 0x7ea0a0ef, 0x7ea5b00d, 0x7eaa7ac3, 0x7eaf04f3, 0x7eb3522a, + 0x7eb765a5, 0x7ebb4259, 0x7ebeeafd, 0x7ec2620a, 0x7ec5a9c4, + 0x7ec8c441, 0x7ecbb365, 0x7ece78ed, 0x7ed11671, 0x7ed38d62, + 0x7ed5df12, 0x7ed80cb4, 0x7eda175c, 0x7edc0005, 0x7eddc78e, + 0x7edf6ebf, 0x7ee0f647, 0x7ee25ebe, 0x7ee3a8a9, 0x7ee4d473, + 0x7ee5e276, 0x7ee6d2f5, 0x7ee7a620, 0x7ee85c10, 0x7ee8f4cd, + 0x7ee97047, 0x7ee9ce59, 0x7eea0eca, 0x7eea3147, 0x7eea3568, + 0x7eea1aab, 0x7ee9e071, 0x7ee98602, 0x7ee90a88, 0x7ee86d08, + 0x7ee7ac6a, 0x7ee6c769, 0x7ee5bc9c, 0x7ee48a67, 0x7ee32efc, + 0x7ee1a857, 0x7edff42f, 0x7ede0ffa, 0x7edbf8d9, 0x7ed9ab94, + 0x7ed7248d, 0x7ed45fae, 0x7ed1585c, 0x7ece095f, 0x7eca6ccb, + 0x7ec67be2, 0x7ec22eee, 0x7ebd7d1a, 0x7eb85c35, 0x7eb2c075, + 0x7eac9c20, 0x7ea5df27, 0x7e9e769f, 0x7e964c16, 0x7e8d44ba, + 0x7e834033, 0x7e781728, 0x7e6b9933, 0x7e5d8a1a, 0x7e4d9ded, + 0x7e3b737a, 0x7e268c2f, 0x7e0e3ff5, 0x7df1aa5d, 0x7dcf8c72, + 0x7da61a1e, 0x7d72a0fb, 0x7d30e097, 0x7cd9b4ab, 0x7c600f1a, + 0x7ba90bdc, 0x7a722176, 0x77d664e5, +} +var wn = [128]float32{ + 1.7290405e-09, 1.2680929e-10, 1.6897518e-10, 1.9862688e-10, + 2.2232431e-10, 2.4244937e-10, 2.601613e-10, 2.7611988e-10, + 2.9073963e-10, 3.042997e-10, 3.1699796e-10, 3.289802e-10, + 3.4035738e-10, 3.5121603e-10, 3.616251e-10, 3.7164058e-10, + 3.8130857e-10, 3.9066758e-10, 3.9975012e-10, 4.08584e-10, + 4.1719309e-10, 4.2559822e-10, 4.338176e-10, 4.418672e-10, + 4.497613e-10, 4.5751258e-10, 4.651324e-10, 4.7263105e-10, + 4.8001775e-10, 4.87301e-10, 4.944885e-10, 5.015873e-10, + 5.0860405e-10, 5.155446e-10, 5.2241467e-10, 5.2921934e-10, + 5.359635e-10, 5.426517e-10, 5.4928817e-10, 5.5587696e-10, + 5.624219e-10, 5.6892646e-10, 5.753941e-10, 5.818282e-10, + 5.882317e-10, 5.946077e-10, 6.00959e-10, 6.072884e-10, + 6.135985e-10, 6.19892e-10, 6.2617134e-10, 6.3243905e-10, + 6.386974e-10, 6.449488e-10, 6.511956e-10, 6.5744005e-10, + 6.6368433e-10, 6.699307e-10, 6.7618144e-10, 6.824387e-10, + 6.8870465e-10, 6.949815e-10, 7.012715e-10, 7.075768e-10, + 7.1389966e-10, 7.202424e-10, 7.266073e-10, 7.329966e-10, + 7.394128e-10, 7.4585826e-10, 7.5233547e-10, 7.58847e-10, + 7.653954e-10, 7.719835e-10, 7.7861395e-10, 7.852897e-10, + 7.920138e-10, 7.987892e-10, 8.0561924e-10, 8.125073e-10, + 8.194569e-10, 8.2647167e-10, 8.3355556e-10, 8.407127e-10, + 8.479473e-10, 8.55264e-10, 8.6266755e-10, 8.7016316e-10, + 8.777562e-10, 8.8545243e-10, 8.932582e-10, 9.0117996e-10, + 9.09225e-10, 9.174008e-10, 9.2571584e-10, 9.341788e-10, + 9.427997e-10, 9.515889e-10, 9.605579e-10, 9.697193e-10, + 9.790869e-10, 9.88676e-10, 9.985036e-10, 1.0085882e-09, + 1.0189509e-09, 1.0296151e-09, 1.0406069e-09, 1.0519566e-09, + 1.063698e-09, 1.0758702e-09, 1.0885183e-09, 1.1016947e-09, + 1.1154611e-09, 1.1298902e-09, 1.1450696e-09, 1.1611052e-09, + 1.1781276e-09, 1.1962995e-09, 1.2158287e-09, 1.2369856e-09, + 1.2601323e-09, 1.2857697e-09, 1.3146202e-09, 1.347784e-09, + 1.3870636e-09, 1.4357403e-09, 1.5008659e-09, 1.6030948e-09, +} +var fn = [128]float32{ + 1, 0.9635997, 0.9362827, 0.9130436, 0.89228165, 0.87324303, + 0.8555006, 0.8387836, 0.8229072, 0.8077383, 0.793177, + 0.7791461, 0.7655842, 0.7524416, 0.73967725, 0.7272569, + 0.7151515, 0.7033361, 0.69178915, 0.68049186, 0.6694277, + 0.658582, 0.6479418, 0.63749546, 0.6272325, 0.6171434, + 0.6072195, 0.5974532, 0.58783704, 0.5783647, 0.56903, + 0.5598274, 0.5507518, 0.54179835, 0.5329627, 0.52424055, + 0.5156282, 0.50712204, 0.49871865, 0.49041483, 0.48220766, + 0.4740943, 0.46607214, 0.4581387, 0.45029163, 0.44252872, + 0.43484783, 0.427247, 0.41972435, 0.41227803, 0.40490642, + 0.39760786, 0.3903808, 0.3832238, 0.37613547, 0.36911446, + 0.3621595, 0.35526937, 0.34844297, 0.34167916, 0.33497685, + 0.3283351, 0.3217529, 0.3152294, 0.30876362, 0.30235484, + 0.29600215, 0.28970486, 0.2834622, 0.2772735, 0.27113807, + 0.2650553, 0.25902456, 0.2530453, 0.24711695, 0.241239, + 0.23541094, 0.22963232, 0.2239027, 0.21822165, 0.21258877, + 0.20700371, 0.20146611, 0.19597565, 0.19053204, 0.18513499, + 0.17978427, 0.17447963, 0.1692209, 0.16400786, 0.15884037, + 0.15371831, 0.14864157, 0.14361008, 0.13862377, 0.13368265, + 0.12878671, 0.12393598, 0.119130544, 0.11437051, 0.10965602, + 0.104987256, 0.10036444, 0.095787846, 0.0912578, 0.08677467, + 0.0823389, 0.077950984, 0.073611505, 0.06932112, 0.06508058, + 0.06089077, 0.056752663, 0.0526674, 0.048636295, 0.044660863, + 0.040742867, 0.03688439, 0.033087887, 0.029356318, + 0.025693292, 0.022103304, 0.018592102, 0.015167298, + 0.011839478, 0.008624485, 0.005548995, 0.0026696292, +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rand.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rand.go new file mode 100644 index 00000000..ffd0509b --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rand.go @@ -0,0 +1,374 @@ +// Copied from https://cs.opensource.google/go/x/exp/+/24438e51023af3bfc1db8aed43c1342817e8cfcd:rand/rand.go + +// 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 rand implements pseudo-random number generators. +// +// Random numbers are generated by a Source. Top-level functions, such as +// Float64 and Int, use a default shared Source that produces a deterministic +// sequence of values each time a program is run. Use the Seed function to +// initialize the default Source if different behavior is required for each run. +// The default Source, a LockedSource, is safe for concurrent use by multiple +// goroutines, but Sources created by NewSource are not. However, Sources are small +// and it is reasonable to have a separate Source for each goroutine, seeded +// differently, to avoid locking. +// +// For random numbers suitable for security-sensitive work, see the crypto/rand +// package. +package rand + +import "sync" + +// A Source represents a source of uniformly-distributed +// pseudo-random int64 values in the range [0, 1<<64). +type Source interface { + Uint64() uint64 + Seed(seed uint64) +} + +// NewSource returns a new pseudo-random Source seeded with the given value. +func NewSource(seed uint64) Source { + var rng PCGSource + rng.Seed(seed) + return &rng +} + +// A Rand is a source of random numbers. +type Rand struct { + src Source + + // readVal contains remainder of 64-bit integer used for bytes + // generation during most recent Read call. + // It is saved so next Read call can start where the previous + // one finished. + readVal uint64 + // readPos indicates the number of low-order bytes of readVal + // that are still valid. + readPos int8 +} + +// New returns a new Rand that uses random values from src +// to generate other random values. +func New(src Source) *Rand { + return &Rand{src: src} +} + +// Seed uses the provided seed value to initialize the generator to a deterministic state. +// Seed should not be called concurrently with any other Rand method. +func (r *Rand) Seed(seed uint64) { + if lk, ok := r.src.(*LockedSource); ok { + lk.seedPos(seed, &r.readPos) + return + } + + r.src.Seed(seed) + r.readPos = 0 +} + +// Uint64 returns a pseudo-random 64-bit integer as a uint64. +func (r *Rand) Uint64() uint64 { return r.src.Uint64() } + +// Int63 returns a non-negative pseudo-random 63-bit integer as an int64. +func (r *Rand) Int63() int64 { return int64(r.src.Uint64() &^ (1 << 63)) } + +// Uint32 returns a pseudo-random 32-bit value as a uint32. +func (r *Rand) Uint32() uint32 { return uint32(r.Uint64() >> 32) } + +// Int31 returns a non-negative pseudo-random 31-bit integer as an int32. +func (r *Rand) Int31() int32 { return int32(r.Uint64() >> 33) } + +// Int returns a non-negative pseudo-random int. +func (r *Rand) Int() int { + u := uint(r.Uint64()) + return int(u << 1 >> 1) // clear sign bit. +} + +const maxUint64 = (1 << 64) - 1 + +// Uint64n returns, as a uint64, a pseudo-random number in [0,n). +// It is guaranteed more uniform than taking a Source value mod n +// for any n that is not a power of 2. +func (r *Rand) Uint64n(n uint64) uint64 { + if n&(n-1) == 0 { // n is power of two, can mask + if n == 0 { + panic("invalid argument to Uint64n") + } + return r.Uint64() & (n - 1) + } + // If n does not divide v, to avoid bias we must not use + // a v that is within maxUint64%n of the top of the range. + v := r.Uint64() + if v > maxUint64-n { // Fast check. + ceiling := maxUint64 - maxUint64%n + for v >= ceiling { + v = r.Uint64() + } + } + + return v % n +} + +// Int63n returns, as an int64, a non-negative pseudo-random number in [0,n). +// It panics if n <= 0. +func (r *Rand) Int63n(n int64) int64 { + if n <= 0 { + panic("invalid argument to Int63n") + } + return int64(r.Uint64n(uint64(n))) +} + +// Int31n returns, as an int32, a non-negative pseudo-random number in [0,n). +// It panics if n <= 0. +func (r *Rand) Int31n(n int32) int32 { + if n <= 0 { + panic("invalid argument to Int31n") + } + // TODO: Avoid some 64-bit ops to make it more efficient on 32-bit machines. + return int32(r.Uint64n(uint64(n))) +} + +// Intn returns, as an int, a non-negative pseudo-random number in [0,n). +// It panics if n <= 0. +func (r *Rand) Intn(n int) int { + if n <= 0 { + panic("invalid argument to Intn") + } + // TODO: Avoid some 64-bit ops to make it more efficient on 32-bit machines. + return int(r.Uint64n(uint64(n))) +} + +// Float64 returns, as a float64, a pseudo-random number in [0.0,1.0). +func (r *Rand) Float64() float64 { + // There is one bug in the value stream: r.Int63() may be so close + // to 1<<63 that the division rounds up to 1.0, and we've guaranteed + // that the result is always less than 1.0. + // + // We tried to fix this by mapping 1.0 back to 0.0, but since float64 + // values near 0 are much denser than near 1, mapping 1 to 0 caused + // a theoretically significant overshoot in the probability of returning 0. + // Instead of that, if we round up to 1, just try again. + // Getting 1 only happens 1/2⁵³ of the time, so most clients + // will not observe it anyway. +again: + f := float64(r.Uint64n(1<<53)) / (1 << 53) + if f == 1.0 { + goto again // resample; this branch is taken O(never) + } + return f +} + +// Float32 returns, as a float32, a pseudo-random number in [0.0,1.0). +func (r *Rand) Float32() float32 { + // We do not want to return 1.0. + // This only happens 1/2²⁴ of the time (plus the 1/2⁵³ of the time in Float64). +again: + f := float32(r.Float64()) + if f == 1 { + goto again // resample; this branch is taken O(very rarely) + } + return f +} + +// Perm returns, as a slice of n ints, a pseudo-random permutation of the integers [0,n). +func (r *Rand) Perm(n int) []int { + m := make([]int, n) + // In the following loop, the iteration when i=0 always swaps m[0] with m[0]. + // A change to remove this useless iteration is to assign 1 to i in the init + // statement. But Perm also effects r. Making this change will affect + // the final state of r. So this change can't be made for compatibility + // reasons for Go 1. + for i := 0; i < n; i++ { + j := r.Intn(i + 1) + m[i] = m[j] + m[j] = i + } + return m +} + +// Shuffle pseudo-randomizes the order of elements. +// n is the number of elements. Shuffle panics if n < 0. +// swap swaps the elements with indexes i and j. +func (r *Rand) Shuffle(n int, swap func(i, j int)) { + if n < 0 { + panic("invalid argument to Shuffle") + } + + // Fisher-Yates shuffle: https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle + // Shuffle really ought not be called with n that doesn't fit in 32 bits. + // Not only will it take a very long time, but with 2³¹! possible permutations, + // there's no way that any PRNG can have a big enough internal state to + // generate even a minuscule percentage of the possible permutations. + // Nevertheless, the right API signature accepts an int n, so handle it as best we can. + i := n - 1 + for ; i > 1<<31-1-1; i-- { + j := int(r.Int63n(int64(i + 1))) + swap(i, j) + } + for ; i > 0; i-- { + j := int(r.Int31n(int32(i + 1))) + swap(i, j) + } +} + +// Read generates len(p) random bytes and writes them into p. It +// always returns len(p) and a nil error. +// Read should not be called concurrently with any other Rand method unless +// the underlying source is a LockedSource. +func (r *Rand) Read(p []byte) (n int, err error) { + if lk, ok := r.src.(*LockedSource); ok { + return lk.Read(p, &r.readVal, &r.readPos) + } + return read(p, r.src, &r.readVal, &r.readPos) +} + +func read(p []byte, src Source, readVal *uint64, readPos *int8) (n int, err error) { + pos := *readPos + val := *readVal + rng, _ := src.(*PCGSource) + for n = 0; n < len(p); n++ { + if pos == 0 { + if rng != nil { + val = rng.Uint64() + } else { + val = src.Uint64() + } + pos = 8 + } + p[n] = byte(val) + val >>= 8 + pos-- + } + *readPos = pos + *readVal = val + return +} + +/* + * Top-level convenience functions + */ + +var globalRand = New(&LockedSource{src: *NewSource(1).(*PCGSource)}) + +// Type assert that globalRand's source is a LockedSource whose src is a PCGSource. +var _ PCGSource = globalRand.src.(*LockedSource).src + +// Seed uses the provided seed value to initialize the default Source to a +// deterministic state. If Seed is not called, the generator behaves as +// if seeded by Seed(1). +// Seed, unlike the Rand.Seed method, is safe for concurrent use. +func Seed(seed uint64) { globalRand.Seed(seed) } + +// Int63 returns a non-negative pseudo-random 63-bit integer as an int64 +// from the default Source. +func Int63() int64 { return globalRand.Int63() } + +// Uint32 returns a pseudo-random 32-bit value as a uint32 +// from the default Source. +func Uint32() uint32 { return globalRand.Uint32() } + +// Uint64 returns a pseudo-random 64-bit value as a uint64 +// from the default Source. +func Uint64() uint64 { return globalRand.Uint64() } + +// Int31 returns a non-negative pseudo-random 31-bit integer as an int32 +// from the default Source. +func Int31() int32 { return globalRand.Int31() } + +// Int returns a non-negative pseudo-random int from the default Source. +func Int() int { return globalRand.Int() } + +// Int63n returns, as an int64, a non-negative pseudo-random number in [0,n) +// from the default Source. +// It panics if n <= 0. +func Int63n(n int64) int64 { return globalRand.Int63n(n) } + +// Int31n returns, as an int32, a non-negative pseudo-random number in [0,n) +// from the default Source. +// It panics if n <= 0. +func Int31n(n int32) int32 { return globalRand.Int31n(n) } + +// Intn returns, as an int, a non-negative pseudo-random number in [0,n) +// from the default Source. +// It panics if n <= 0. +func Intn(n int) int { return globalRand.Intn(n) } + +// Float64 returns, as a float64, a pseudo-random number in [0.0,1.0) +// from the default Source. +func Float64() float64 { return globalRand.Float64() } + +// Float32 returns, as a float32, a pseudo-random number in [0.0,1.0) +// from the default Source. +func Float32() float32 { return globalRand.Float32() } + +// Perm returns, as a slice of n ints, a pseudo-random permutation of the integers [0,n) +// from the default Source. +func Perm(n int) []int { return globalRand.Perm(n) } + +// Shuffle pseudo-randomizes the order of elements using the default Source. +// n is the number of elements. Shuffle panics if n < 0. +// swap swaps the elements with indexes i and j. +func Shuffle(n int, swap func(i, j int)) { globalRand.Shuffle(n, swap) } + +// Read generates len(p) random bytes from the default Source and +// writes them into p. It always returns len(p) and a nil error. +// Read, unlike the Rand.Read method, is safe for concurrent use. +func Read(p []byte) (n int, err error) { return globalRand.Read(p) } + +// NormFloat64 returns a normally distributed float64 in the range +// [-math.MaxFloat64, +math.MaxFloat64] with +// standard normal distribution (mean = 0, stddev = 1) +// from the default Source. +// To produce a different normal distribution, callers can +// adjust the output using: +// +// sample = NormFloat64() * desiredStdDev + desiredMean +func NormFloat64() float64 { return globalRand.NormFloat64() } + +// ExpFloat64 returns an exponentially distributed float64 in the range +// (0, +math.MaxFloat64] with an exponential distribution whose rate parameter +// (lambda) is 1 and whose mean is 1/lambda (1) from the default Source. +// To produce a distribution with a different rate parameter, +// callers can adjust the output using: +// +// sample = ExpFloat64() / desiredRateParameter +func ExpFloat64() float64 { return globalRand.ExpFloat64() } + +// LockedSource is an implementation of Source that is concurrency-safe. +// A Rand using a LockedSource is safe for concurrent use. +// +// The zero value of LockedSource is valid, but should be seeded before use. +type LockedSource struct { + lk sync.Mutex + src PCGSource +} + +func (s *LockedSource) Uint64() (n uint64) { + s.lk.Lock() + n = s.src.Uint64() + s.lk.Unlock() + return +} + +func (s *LockedSource) Seed(seed uint64) { + s.lk.Lock() + s.src.Seed(seed) + s.lk.Unlock() +} + +// seedPos implements Seed for a LockedSource without a race condiiton. +func (s *LockedSource) seedPos(seed uint64, readPos *int8) { + s.lk.Lock() + s.src.Seed(seed) + *readPos = 0 + s.lk.Unlock() +} + +// Read implements Read for a LockedSource. +func (s *LockedSource) Read(p []byte, readVal *uint64, readPos *int8) (n int, err error) { + s.lk.Lock() + n, err = read(p, &s.src, readVal, readPos) + s.lk.Unlock() + return +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rng.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rng.go new file mode 100644 index 00000000..f04f9879 --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rng.go @@ -0,0 +1,93 @@ +// Copied from https://cs.opensource.google/go/x/exp/+/24438e51023af3bfc1db8aed43c1342817e8cfcd:rand/rng.go + +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package rand + +import ( + "encoding/binary" + "io" + "math/bits" +) + +// PCGSource is an implementation of a 64-bit permuted congruential +// generator as defined in +// +// PCG: A Family of Simple Fast Space-Efficient Statistically Good +// Algorithms for Random Number Generation +// Melissa E. O’Neill, Harvey Mudd College +// http://www.pcg-random.org/pdf/toms-oneill-pcg-family-v1.02.pdf +// +// The generator here is the congruential generator PCG XSL RR 128/64 (LCG) +// as found in the software available at http://www.pcg-random.org/. +// It has period 2^128 with 128 bits of state, producing 64-bit values. +// Is state is represented by two uint64 words. +type PCGSource struct { + low uint64 + high uint64 +} + +const ( + maxUint32 = (1 << 32) - 1 + + multiplier = 47026247687942121848144207491837523525 + mulHigh = multiplier >> 64 + mulLow = multiplier & maxUint64 + + increment = 117397592171526113268558934119004209487 + incHigh = increment >> 64 + incLow = increment & maxUint64 + + // TODO: Use these? + initializer = 245720598905631564143578724636268694099 + initHigh = initializer >> 64 + initLow = initializer & maxUint64 +) + +// Seed uses the provided seed value to initialize the generator to a deterministic state. +func (pcg *PCGSource) Seed(seed uint64) { + pcg.low = seed + pcg.high = seed // TODO: What is right? +} + +// Uint64 returns a pseudo-random 64-bit unsigned integer as a uint64. +func (pcg *PCGSource) Uint64() uint64 { + pcg.multiply() + pcg.add() + // XOR high and low 64 bits together and rotate right by high 6 bits of state. + return bits.RotateLeft64(pcg.high^pcg.low, -int(pcg.high>>58)) +} + +func (pcg *PCGSource) add() { + var carry uint64 + pcg.low, carry = Add64(pcg.low, incLow, 0) + pcg.high, _ = Add64(pcg.high, incHigh, carry) +} + +func (pcg *PCGSource) multiply() { + hi, lo := Mul64(pcg.low, mulLow) + hi += pcg.high * mulLow + hi += pcg.low * mulHigh + pcg.low = lo + pcg.high = hi +} + +// MarshalBinary returns the binary representation of the current state of the generator. +func (pcg *PCGSource) MarshalBinary() ([]byte, error) { + var buf [16]byte + binary.BigEndian.PutUint64(buf[:8], pcg.high) + binary.BigEndian.PutUint64(buf[8:], pcg.low) + return buf[:], nil +} + +// UnmarshalBinary sets the state of the generator to the state represented in data. +func (pcg *PCGSource) UnmarshalBinary(data []byte) error { + if len(data) < 16 { + return io.ErrUnexpectedEOF + } + pcg.low = binary.BigEndian.Uint64(data[8:]) + pcg.high = binary.BigEndian.Uint64(data[:8]) + return nil +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/randutil.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/randutil.go index d7b753b7..96160743 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/randutil.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/randutil/randutil.go @@ -11,67 +11,29 @@ import ( crand "crypto/rand" "fmt" "io" - "math/rand" - "sync" -) - -// A LockedRand wraps a "math/rand".Rand and is safe to use from multiple goroutines. -type LockedRand struct { - mu sync.Mutex - r *rand.Rand -} - -// NewLockedRand returns a new LockedRand that uses random values from src to generate other random -// values. It is safe to use from multiple goroutines. -func NewLockedRand(src rand.Source) *LockedRand { - return &LockedRand{ - // Ignore gosec warning "Use of weak random number generator (math/rand instead of - // crypto/rand)". We intentionally use a pseudo-random number generator. - /* #nosec G404 */ - r: rand.New(src), - } -} -// Read generates len(p) random bytes and writes them into p. It always returns len(p) and a nil -// error. -func (lr *LockedRand) Read(p []byte) (int, error) { - lr.mu.Lock() - n, err := lr.r.Read(p) - lr.mu.Unlock() - return n, err -} - -// Intn returns, as an int, a non-negative pseudo-random number in the half-open interval [0,n). It -// panics if n <= 0. -func (lr *LockedRand) Intn(n int) int { - lr.mu.Lock() - x := lr.r.Intn(n) - lr.mu.Unlock() - return x -} + xrand "go.mongodb.org/mongo-driver/internal/randutil/rand" +) -// Shuffle pseudo-randomizes the order of elements. n is the number of elements. Shuffle panics if -// n < 0. swap swaps the elements with indexes i and j. -// -// Note that Shuffle locks the LockedRand, so shuffling large collections may adversely affect other -// concurrent calls. If many concurrent Shuffle and random value calls are required, consider using -// the global "math/rand".Shuffle instead because it uses much more granular locking. -func (lr *LockedRand) Shuffle(n int, swap func(i, j int)) { - lr.mu.Lock() - lr.r.Shuffle(n, swap) - lr.mu.Unlock() +// NewLockedRand returns a new "x/exp/rand" pseudo-random number generator seeded with a +// cryptographically-secure random number. +// It is safe to use from multiple goroutines. +func NewLockedRand() *xrand.Rand { + var randSrc = new(xrand.LockedSource) + randSrc.Seed(cryptoSeed()) + return xrand.New(randSrc) } -// CryptoSeed returns a random int64 read from the "crypto/rand" random number generator. It is +// cryptoSeed returns a random uint64 read from the "crypto/rand" random number generator. It is // intended to be used to seed pseudorandom number generators at package initialization. It panics // if it encounters any errors. -func CryptoSeed() int64 { +func cryptoSeed() uint64 { var b [8]byte _, err := io.ReadFull(crand.Reader, b[:]) if err != nil { panic(fmt.Errorf("failed to read 8 bytes from a \"crypto/rand\".Reader: %v", err)) } - return (int64(b[0]) << 0) | (int64(b[1]) << 8) | (int64(b[2]) << 16) | (int64(b[3]) << 24) | - (int64(b[4]) << 32) | (int64(b[5]) << 40) | (int64(b[6]) << 48) | (int64(b[7]) << 56) + return (uint64(b[0]) << 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) } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/uuid/uuid.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/uuid/uuid.go similarity index 54% rename from cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/uuid/uuid.go rename to cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/uuid/uuid.go index 09783873..78f16645 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/uuid/uuid.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/internal/uuid/uuid.go @@ -4,11 +4,10 @@ // 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 -package uuid // import "go.mongodb.org/mongo-driver/x/mongo/driver/uuid" +package uuid import ( "io" - "math/rand" "go.mongodb.org/mongo-driver/internal/randutil" ) @@ -16,47 +15,39 @@ import ( // UUID represents a UUID. type UUID [16]byte -// A source is a UUID generator that reads random values from a randutil.LockedRand. -// It is safe to use from multiple goroutines. +// A source is a UUID generator that reads random values from a io.Reader. +// It should be safe to use from multiple goroutines. type source struct { - random *randutil.LockedRand + random io.Reader } // new returns a random UUIDv4 with bytes read from the source's random number generator. func (s *source) new() (UUID, error) { - var uuid [16]byte - + var uuid UUID _, err := io.ReadFull(s.random, uuid[:]) if err != nil { - return [16]byte{}, err + return UUID{}, err } uuid[6] = (uuid[6] & 0x0f) | 0x40 // Version 4 uuid[8] = (uuid[8] & 0x3f) | 0x80 // Variant is 10 - return uuid, nil } -// newGlobalSource returns a source that uses a "math/rand" pseudo-random number generator seeded -// with a cryptographically-secure random number. It is intended to be used to initialize the -// package-global UUID generator. -func newGlobalSource() *source { +// newSource returns a source that uses a pseudo-random number generator in reandutil package. +// It is intended to be used to initialize the package-global UUID generator. +func newSource() *source { return &source{ - random: randutil.NewLockedRand(rand.NewSource(randutil.CryptoSeed())), + random: randutil.NewLockedRand(), } } // globalSource is a package-global pseudo-random UUID generator. -var globalSource = newGlobalSource() +var globalSource = newSource() -// New returns a random UUIDv4. It uses a "math/rand" pseudo-random number generator seeded with a -// cryptographically-secure random number at package initialization. +// New returns a random UUIDv4. It uses a global pseudo-random number generator in randutil +// at package initialization. // // New should not be used to generate cryptographically-secure random UUIDs. func New() (UUID, error) { return globalSource.new() } - -// Equal returns true if two UUIDs are equal. -func Equal(a, b UUID) bool { - return a == b -} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/address/addr.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/address/addr.go index 5655b346..fb6abbcd 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/address/addr.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/address/addr.go @@ -4,6 +4,7 @@ // 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 +// Package address provides structured representations of network addresses. package address // import "go.mongodb.org/mongo-driver/mongo/address" import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/batch_cursor.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/batch_cursor.go index 0b7432f4..966e43cd 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/batch_cursor.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/batch_cursor.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package mongo import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write.go index 0446e7f3..2c58f222 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write.go @@ -27,6 +27,7 @@ type bulkWriteBatch struct { // bulkWrite perfoms a bulkwrite operation type bulkWrite struct { + comment interface{} ordered *bool bypassDocumentValidation *bool models []WriteModel @@ -114,7 +115,7 @@ func (bw *bulkWrite) runBatch(ctx context.Context, batch bulkWriteBatch) (BulkWr batchErr.Labels = writeErr.Labels batchErr.WriteConcernError = convertDriverWriteConcernError(writeErr.WriteConcernError) } - batchRes.InsertedCount = int64(res.N) + batchRes.InsertedCount = res.N case *DeleteOneModel, *DeleteManyModel: res, err := bw.runDelete(ctx, batch) if err != nil { @@ -126,7 +127,7 @@ func (bw *bulkWrite) runBatch(ctx context.Context, batch bulkWriteBatch) (BulkWr batchErr.Labels = writeErr.Labels batchErr.WriteConcernError = convertDriverWriteConcernError(writeErr.WriteConcernError) } - batchRes.DeletedCount = int64(res.N) + batchRes.DeletedCount = res.N case *ReplaceOneModel, *UpdateOneModel, *UpdateManyModel: res, err := bw.runUpdate(ctx, batch) if err != nil { @@ -138,8 +139,8 @@ func (bw *bulkWrite) runBatch(ctx context.Context, batch bulkWriteBatch) (BulkWr batchErr.Labels = writeErr.Labels batchErr.WriteConcernError = convertDriverWriteConcernError(writeErr.WriteConcernError) } - batchRes.MatchedCount = int64(res.N) - batchRes.ModifiedCount = int64(res.NModified) + batchRes.MatchedCount = res.N + batchRes.ModifiedCount = res.NModified batchRes.UpsertedCount = int64(len(res.Upserted)) for _, upsert := range res.Upserted { batchRes.UpsertedIDs[int64(batch.indexes[upsert.Index])] = upsert.ID @@ -178,7 +179,14 @@ func (bw *bulkWrite) runInsert(ctx context.Context, batch bulkWriteBatch) (opera ServerSelector(bw.selector).ClusterClock(bw.collection.client.clock). Database(bw.collection.db.name).Collection(bw.collection.name). Deployment(bw.collection.client.deployment).Crypt(bw.collection.client.cryptFLE). - ServerAPI(bw.collection.client.serverAPI) + ServerAPI(bw.collection.client.serverAPI).Timeout(bw.collection.client.timeout) + if bw.comment != nil { + comment, err := transformValue(bw.collection.registry, bw.comment, true, "comment") + if err != nil { + return op.Result(), err + } + op.Comment(comment) + } if bw.bypassDocumentValidation != nil && *bw.bypassDocumentValidation { op = op.BypassDocumentValidation(*bw.bypassDocumentValidation) } @@ -228,7 +236,14 @@ func (bw *bulkWrite) runDelete(ctx context.Context, batch bulkWriteBatch) (opera ServerSelector(bw.selector).ClusterClock(bw.collection.client.clock). Database(bw.collection.db.name).Collection(bw.collection.name). Deployment(bw.collection.client.deployment).Crypt(bw.collection.client.cryptFLE).Hint(hasHint). - ServerAPI(bw.collection.client.serverAPI) + ServerAPI(bw.collection.client.serverAPI).Timeout(bw.collection.client.timeout) + if bw.comment != nil { + comment, err := transformValue(bw.collection.registry, bw.comment, true, "comment") + if err != nil { + return op.Result(), err + } + op.Comment(comment) + } if bw.let != nil { let, err := transformBsoncoreDocument(bw.collection.registry, bw.let, true, "let") if err != nil { @@ -316,7 +331,14 @@ func (bw *bulkWrite) runUpdate(ctx context.Context, batch bulkWriteBatch) (opera ServerSelector(bw.selector).ClusterClock(bw.collection.client.clock). Database(bw.collection.db.name).Collection(bw.collection.name). Deployment(bw.collection.client.deployment).Crypt(bw.collection.client.cryptFLE).Hint(hasHint). - ArrayFilters(hasArrayFilters).ServerAPI(bw.collection.client.serverAPI) + ArrayFilters(hasArrayFilters).ServerAPI(bw.collection.client.serverAPI).Timeout(bw.collection.client.timeout) + if bw.comment != nil { + comment, err := transformValue(bw.collection.registry, bw.comment, true, "comment") + if err != nil { + return op.Result(), err + } + op.Comment(comment) + } if bw.let != nil { let, err := transformBsoncoreDocument(bw.collection.registry, bw.let, true, "let") if err != nil { @@ -395,7 +417,6 @@ func createUpdateDoc( } updateDoc, _ = bsoncore.AppendDocumentEnd(updateDoc, uidx) - return updateDoc, nil } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write_models.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write_models.go index b4b8e3ef..64f45891 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write_models.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write_models.go @@ -152,7 +152,7 @@ func (rom *ReplaceOneModel) SetFilter(filter interface{}) *ReplaceOneModel { } // SetReplacement specifies a document that will be used to replace the selected document. It cannot be nil and cannot -// contain any update operators (https://docs.mongodb.com/manual/reference/operator/update/). +// contain any update operators (https://www.mongodb.com/docs/manual/reference/operator/update/). func (rom *ReplaceOneModel) SetReplacement(rep interface{}) *ReplaceOneModel { rom.Replacement = rep return rom @@ -210,7 +210,7 @@ func (uom *UpdateOneModel) SetFilter(filter interface{}) *UpdateOneModel { } // SetUpdate specifies the modifications to be made to the selected document. The value must be a document containing -// update operators (https://docs.mongodb.com/manual/reference/operator/update/). It cannot be nil or empty. +// update operators (https://www.mongodb.com/docs/manual/reference/operator/update/). It cannot be nil or empty. func (uom *UpdateOneModel) SetUpdate(update interface{}) *UpdateOneModel { uom.Update = update return uom @@ -274,7 +274,7 @@ func (umm *UpdateManyModel) SetFilter(filter interface{}) *UpdateManyModel { } // SetUpdate specifies the modifications to be made to the selected documents. The value must be a document containing -// update operators (https://docs.mongodb.com/manual/reference/operator/update/). It cannot be nil or empty. +// update operators (https://www.mongodb.com/docs/manual/reference/operator/update/). It cannot be nil or empty. func (umm *UpdateManyModel) SetUpdate(update interface{}) *UpdateManyModel { umm.Update = update return umm diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go index a76eb7c9..01da999c 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go @@ -17,6 +17,7 @@ import ( "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/bsoncodec" "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/internal" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/options" "go.mongodb.org/mongo-driver/mongo/readconcern" @@ -63,7 +64,7 @@ var ( // ChangeStream is used to iterate over a stream of events. Each event can be decoded into a Go type via the Decode // method or accessed as raw BSON via the Current field. This type is not goroutine safe and must not be used // concurrently by multiple goroutines. For more information about change streams, see -// https://docs.mongodb.com/manual/changeStreams/. +// https://www.mongodb.com/docs/manual/changeStreams/. type ChangeStream struct { // Current is the BSON bytes of the current event. This property is only valid until the next call to Next or // TryNext. If continued access is required, a copy must be made. @@ -132,11 +133,20 @@ func newChangeStream(ctx context.Context, config changeStreamConfig, pipeline in ReadPreference(config.readPreference).ReadConcern(config.readConcern). Deployment(cs.client.deployment).ClusterClock(cs.client.clock). CommandMonitor(cs.client.monitor).Session(cs.sess).ServerSelector(cs.selector).Retry(driver.RetryNone). - ServerAPI(cs.client.serverAPI).Crypt(config.crypt) + ServerAPI(cs.client.serverAPI).Crypt(config.crypt).Timeout(cs.client.timeout) if cs.options.Collation != nil { cs.aggregate.Collation(bsoncore.Document(cs.options.Collation.ToDocument())) } + if comment := cs.options.Comment; comment != nil { + cs.aggregate.Comment(*comment) + + commentVal, err := transformValue(cs.registry, comment, true, "comment") + if err != nil { + return nil, err + } + cs.cursorOptions.Comment = commentVal + } if cs.options.BatchSize != nil { cs.aggregate.BatchSize(*cs.options.BatchSize) cs.cursorOptions.BatchSize = *cs.options.BatchSize @@ -246,7 +256,10 @@ func (cs *ChangeStream) executeOperation(ctx context.Context, resuming bool) err if resuming { cs.replaceOptions(cs.wireVersion) - csOptDoc := cs.createPipelineOptionsDoc() + csOptDoc, err := cs.createPipelineOptionsDoc() + if err != nil { + return err + } pipIdx, pipDoc := bsoncore.AppendDocumentStart(nil) pipDoc = bsoncore.AppendDocumentElement(pipDoc, "$changeStream", csOptDoc) if pipDoc, cs.err = bsoncore.AppendDocumentEnd(pipDoc, pipIdx); cs.err != nil { @@ -261,6 +274,16 @@ func (cs *ChangeStream) executeOperation(ctx context.Context, resuming bool) err cs.aggregate.Pipeline(plArr) } + // If no deadline is set on the passed-in context, cs.client.timeout is set, and context is not already + // a Timeout context, honor cs.client.timeout in new Timeout context for change stream operation execution + // and potential retry. + if _, deadlineSet := ctx.Deadline(); !deadlineSet && cs.client.timeout != nil && !internal.IsTimeoutContext(ctx) { + newCtx, cancelFunc := internal.MakeTimeoutContext(ctx, *cs.client.timeout) + // Redefine ctx to be the new timeout-derived context. + ctx = newCtx + // Cancel the timeout-derived context at the end of executeOperation to avoid a context leak. + defer cancelFunc() + } if original := cs.aggregate.Execute(ctx); original != nil { retryableRead := cs.client.retryReads && cs.wireVersion != nil && cs.wireVersion.Max >= 6 if !retryableRead { @@ -363,9 +386,10 @@ func (cs *ChangeStream) buildPipelineSlice(pipeline interface{}) error { cs.pipelineSlice = make([]bsoncore.Document, 0, val.Len()+1) csIdx, csDoc := bsoncore.AppendDocumentStart(nil) - csDocTemp := cs.createPipelineOptionsDoc() - if cs.err != nil { - return cs.err + + csDocTemp, err := cs.createPipelineOptionsDoc() + if err != nil { + return err } csDoc = bsoncore.AppendDocumentElement(csDoc, "$changeStream", csDocTemp) csDoc, cs.err = bsoncore.AppendDocumentEnd(csDoc, csIdx) @@ -387,7 +411,7 @@ func (cs *ChangeStream) buildPipelineSlice(pipeline interface{}) error { return cs.err } -func (cs *ChangeStream) createPipelineOptionsDoc() bsoncore.Document { +func (cs *ChangeStream) createPipelineOptionsDoc() (bsoncore.Document, error) { plDocIdx, plDoc := bsoncore.AppendDocumentStart(nil) if cs.streamType == ClientStream { @@ -395,24 +419,37 @@ func (cs *ChangeStream) createPipelineOptionsDoc() bsoncore.Document { } if cs.options.FullDocument != nil { - plDoc = bsoncore.AppendStringElement(plDoc, "fullDocument", string(*cs.options.FullDocument)) + // Only append a default "fullDocument" field if wire version is less than 6 (3.6). Otherwise, + // the server will assume users want the default behavior, and "fullDocument" does not need to be + // specified. + if *cs.options.FullDocument != options.Default || (cs.wireVersion != nil && cs.wireVersion.Max < 6) { + plDoc = bsoncore.AppendStringElement(plDoc, "fullDocument", string(*cs.options.FullDocument)) + } + } + + if cs.options.FullDocumentBeforeChange != nil { + plDoc = bsoncore.AppendStringElement(plDoc, "fullDocumentBeforeChange", string(*cs.options.FullDocumentBeforeChange)) } if cs.options.ResumeAfter != nil { var raDoc bsoncore.Document raDoc, cs.err = transformBsoncoreDocument(cs.registry, cs.options.ResumeAfter, true, "resumeAfter") if cs.err != nil { - return nil + return nil, cs.err } plDoc = bsoncore.AppendDocumentElement(plDoc, "resumeAfter", raDoc) } + if cs.options.ShowExpandedEvents != nil { + plDoc = bsoncore.AppendBooleanElement(plDoc, "showExpandedEvents", *cs.options.ShowExpandedEvents) + } + if cs.options.StartAfter != nil { var saDoc bsoncore.Document saDoc, cs.err = transformBsoncoreDocument(cs.registry, cs.options.StartAfter, true, "startAfter") if cs.err != nil { - return nil + return nil, cs.err } plDoc = bsoncore.AppendDocumentElement(plDoc, "startAfter", saDoc) @@ -428,10 +465,10 @@ func (cs *ChangeStream) createPipelineOptionsDoc() bsoncore.Document { } if plDoc, cs.err = bsoncore.AppendDocumentEnd(plDoc, plDocIdx); cs.err != nil { - return nil + return nil, cs.err } - return plDoc + return plDoc, nil } func (cs *ChangeStream) pipelineToBSON() (bsoncore.Document, error) { diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/change_stream_deployment.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/change_stream_deployment.go index 36c6e254..9c61123c 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/change_stream_deployment.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/change_stream_deployment.go @@ -40,6 +40,10 @@ func (c *changeStreamDeployment) MinRTT() time.Duration { return c.server.MinRTT() } +func (c *changeStreamDeployment) RTT90() time.Duration { + return c.server.RTT90() +} + func (c *changeStreamDeployment) ProcessError(err error, conn driver.Connection) driver.ProcessErrorResult { ep, ok := c.server.(driver.ErrorProcessor) if !ok { diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/client.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/client.go index ddc08bd5..d409135a 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/client.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/client.go @@ -17,6 +17,7 @@ import ( "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/bsoncodec" "go.mongodb.org/mongo-driver/event" + "go.mongodb.org/mongo-driver/internal/uuid" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/options" "go.mongodb.org/mongo-driver/mongo/readconcern" @@ -25,14 +26,18 @@ import ( "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" "go.mongodb.org/mongo-driver/x/mongo/driver" "go.mongodb.org/mongo-driver/x/mongo/driver/auth" + "go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt" + mcopts "go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options" "go.mongodb.org/mongo-driver/x/mongo/driver/ocsp" "go.mongodb.org/mongo-driver/x/mongo/driver/operation" "go.mongodb.org/mongo-driver/x/mongo/driver/session" "go.mongodb.org/mongo-driver/x/mongo/driver/topology" - "go.mongodb.org/mongo-driver/x/mongo/driver/uuid" ) -const defaultLocalThreshold = 15 * time.Millisecond +const ( + defaultLocalThreshold = 15 * time.Millisecond + defaultMaxPoolSize uint64 = 100 +) var ( // keyVaultCollOpts specifies options used to communicate with the key vault collection @@ -63,14 +68,16 @@ type Client struct { serverAPI *driver.ServerAPIOptions serverMonitor *event.ServerMonitor sessionPool *session.Pool + timeout *time.Duration // client-side encryption fields - keyVaultClientFLE *Client - keyVaultCollFLE *Collection - mongocryptdFLE *mcryptClient - cryptFLE driver.Crypt - metadataClientFLE *Client - internalClientFLE *Client + keyVaultClientFLE *Client + keyVaultCollFLE *Collection + mongocryptdFLE *mongocryptdClient + cryptFLE driver.Crypt + metadataClientFLE *Client + internalClientFLE *Client + encryptedFieldsMap map[string]interface{} } // Connect creates a new Client and then initializes it using the Connect method. This is equivalent to calling @@ -271,6 +278,9 @@ func (c *Client) Ping(ctx context.Context, rp *readpref.ReadPref) error { // StartSession does not actually communicate with the server and will not error if the client is // disconnected. // +// StartSession is safe to call from multiple goroutines concurrently. However, Sessions returned by StartSession are +// not safe for concurrent use by multiple goroutines. +// // If the DefaultReadConcern, DefaultWriteConcern, or DefaultReadPreference options are not set, the client's read // concern, write concern, or read preference will be used, respectively. func (c *Client) StartSession(opts ...*options.SessionOptions) (Session, error) { @@ -348,6 +358,12 @@ func (c *Client) endSessions(ctx context.Context) { } func (c *Client) configure(opts *options.ClientOptions) error { + var defaultOptions int + // Set default options + if opts.MaxPoolSize == nil { + defaultOptions++ + opts.SetMaxPoolSize(defaultMaxPoolSize) + } if err := opts.Validate(); err != nil { return err } @@ -624,6 +640,8 @@ func (c *Client) configure(opts *options.ClientOptions) error { topology.WithWriteTimeout(func(time.Duration) time.Duration { return *opts.SocketTimeout }), ) } + // Timeout + c.timeout = opts.Timeout // TLSConfig if opts.TLSConfig != nil { connOpts = append(connOpts, topology.WithTLSConfig( @@ -681,15 +699,16 @@ func (c *Client) configure(opts *options.ClientOptions) error { topology.WithClock(func(*session.ClusterClock) *session.ClusterClock { return c.clock }), topology.WithConnectionOptions(func(...topology.ConnectionOption) []topology.ConnectionOption { return connOpts }), ) - c.topologyOptions = append(topologyOpts, topology.WithServerOptions( + topologyOpts = append(topologyOpts, topology.WithServerOptions( func(...topology.ServerOption) []topology.ServerOption { return serverOpts }, )) + c.topologyOptions = topologyOpts // Deployment if opts.Deployment != nil { - // topology options: WithSeedlist, WithURI, WithSRVServiceName and WithSRVMaxHosts - // server options: WithClock and WithConnectionOptions - if len(serverOpts) > 2 || len(topologyOpts) > 4 { + // topology options: WithSeedlist, WithURI, WithSRVServiceName, WithSRVMaxHosts, and WithServerOptions + // server options: WithClock and WithConnectionOptions + default maxPoolSize + if len(serverOpts) > 2+defaultOptions || len(topologyOpts) > 5 { return errors.New("cannot specify topology or server options with a deployment") } c.deployment = opts.Deployment @@ -699,16 +718,30 @@ func (c *Client) configure(opts *options.ClientOptions) error { } func (c *Client) configureAutoEncryption(clientOpts *options.ClientOptions) error { + c.encryptedFieldsMap = clientOpts.AutoEncryptionOptions.EncryptedFieldsMap if err := c.configureKeyVaultClientFLE(clientOpts); err != nil { return err } if err := c.configureMetadataClientFLE(clientOpts); err != nil { return err } - if err := c.configureMongocryptdClientFLE(clientOpts.AutoEncryptionOptions); err != nil { + + mc, err := c.newMongoCrypt(clientOpts.AutoEncryptionOptions) + if err != nil { return err } - return c.configureCryptFLE(clientOpts.AutoEncryptionOptions) + + // If the crypt_shared library was loaded successfully, signal to the mongocryptd client creator + // that it can bypass spawning mongocryptd. + cryptSharedLibAvailable := mc.CryptSharedLibVersionString() != "" + mongocryptdFLE, err := newMongocryptdClient(cryptSharedLibAvailable, clientOpts.AutoEncryptionOptions) + if err != nil { + return err + } + c.mongocryptdFLE = mongocryptdFLE + + c.configureCryptFLE(mc, clientOpts.AutoEncryptionOptions) + return nil } func (c *Client) getOrCreateInternalClient(clientOpts *options.ClientOptions) (*Client, error) { @@ -763,32 +796,90 @@ func (c *Client) configureMetadataClientFLE(clientOpts *options.ClientOptions) e return err } -func (c *Client) configureMongocryptdClientFLE(opts *options.AutoEncryptionOptions) error { - var err error - c.mongocryptdFLE, err = newMcryptClient(opts) - return err -} - -func (c *Client) configureCryptFLE(opts *options.AutoEncryptionOptions) error { +func (c *Client) newMongoCrypt(opts *options.AutoEncryptionOptions) (*mongocrypt.MongoCrypt, error) { // convert schemas in SchemaMap to bsoncore documents cryptSchemaMap := make(map[string]bsoncore.Document) for k, v := range opts.SchemaMap { schema, err := transformBsoncoreDocument(c.registry, v, true, "schemaMap") if err != nil { - return err + return nil, err } cryptSchemaMap[k] = schema } + + // convert schemas in EncryptedFieldsMap to bsoncore documents + cryptEncryptedFieldsMap := make(map[string]bsoncore.Document) + for k, v := range opts.EncryptedFieldsMap { + encryptedFields, err := transformBsoncoreDocument(c.registry, v, true, "encryptedFieldsMap") + if err != nil { + return nil, err + } + cryptEncryptedFieldsMap[k] = encryptedFields + } + kmsProviders, err := transformBsoncoreDocument(c.registry, opts.KmsProviders, true, "kmsProviders") if err != nil { - return fmt.Errorf("error creating KMS providers document: %v", err) + return nil, fmt.Errorf("error creating KMS providers document: %v", err) + } + + // Set the crypt_shared library override path from the "cryptSharedLibPath" extra option if one + // was set. + cryptSharedLibPath := "" + if val, ok := opts.ExtraOptions["cryptSharedLibPath"]; ok { + str, ok := val.(string) + if !ok { + return nil, fmt.Errorf( + `expected AutoEncryption extra option "cryptSharedLibPath" to be a string, but is a %T`, val) + } + cryptSharedLibPath = str + } + + // Explicitly disable loading the crypt_shared library if requested. Note that this is ONLY + // intended for use from tests; there is no supported public API for explicitly disabling + // loading the crypt_shared library. + cryptSharedLibDisabled := false + if v, ok := opts.ExtraOptions["__cryptSharedLibDisabledForTestOnly"]; ok { + cryptSharedLibDisabled = v.(bool) + } + + bypassAutoEncryption := opts.BypassAutoEncryption != nil && *opts.BypassAutoEncryption + bypassQueryAnalysis := opts.BypassQueryAnalysis != nil && *opts.BypassQueryAnalysis + + mc, err := mongocrypt.NewMongoCrypt(mcopts.MongoCrypt(). + SetKmsProviders(kmsProviders). + SetLocalSchemaMap(cryptSchemaMap). + SetBypassQueryAnalysis(bypassQueryAnalysis). + SetEncryptedFieldsMap(cryptEncryptedFieldsMap). + SetCryptSharedLibDisabled(cryptSharedLibDisabled || bypassAutoEncryption). + SetCryptSharedLibOverridePath(cryptSharedLibPath)) + if err != nil { + return nil, err + } + + var cryptSharedLibRequired bool + if val, ok := opts.ExtraOptions["cryptSharedLibRequired"]; ok { + b, ok := val.(bool) + if !ok { + return nil, fmt.Errorf( + `expected AutoEncryption extra option "cryptSharedLibRequired" to be a bool, but is a %T`, val) + } + cryptSharedLibRequired = b } - // configure options - var bypass bool - if opts.BypassAutoEncryption != nil { - bypass = *opts.BypassAutoEncryption + // If the "cryptSharedLibRequired" extra option is set to true, check the MongoCrypt version + // string to confirm that the library was successfully loaded. If the version string is empty, + // return an error indicating that we couldn't load the crypt_shared library. + if cryptSharedLibRequired && mc.CryptSharedLibVersionString() == "" { + return nil, errors.New( + `AutoEncryption extra option "cryptSharedLibRequired" is true, but we failed to load the crypt_shared library`) } + + return mc, nil +} + +//nolint:unused // the unused linter thinks that this function is unreachable because "c.newMongoCrypt" always panics without the "cse" build tag set. +func (c *Client) configureCryptFLE(mc *mongocrypt.MongoCrypt, opts *options.AutoEncryptionOptions) { + bypass := opts.BypassAutoEncryption != nil && *opts.BypassAutoEncryption kr := keyRetriever{coll: c.keyVaultCollFLE} var cir collInfoRetriever // If bypass is true, c.metadataClientFLE is nil and the collInfoRetriever @@ -798,23 +889,19 @@ func (c *Client) configureCryptFLE(opts *options.AutoEncryptionOptions) error { cir = collInfoRetriever{client: c.metadataClientFLE} } - cryptOpts := &driver.CryptOptions{ + c.cryptFLE = driver.NewCrypt(&driver.CryptOptions{ + MongoCrypt: mc, CollInfoFn: cir.cryptCollInfo, KeyFn: kr.cryptKeys, MarkFn: c.mongocryptdFLE.markCommand, - KmsProviders: kmsProviders, TLSConfig: opts.TLSConfig, BypassAutoEncryption: bypass, - SchemaMap: cryptSchemaMap, - } - - c.cryptFLE, err = driver.NewCrypt(cryptOpts) - return err + }) } // validSession returns an error if the session doesn't belong to the client func (c *Client) validSession(sess *session.Client) error { - if sess != nil && !uuid.Equal(sess.ClientID, c.id) { + if sess != nil && sess.ClientID != c.id { return ErrWrongClient } return nil @@ -845,7 +932,7 @@ func (c *Client) Database(name string, opts ...*options.DatabaseOptions) *Databa // // The opts parameter can be used to specify options for this operation (see the options.ListDatabasesOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/listDatabases/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/listDatabases/. func (c *Client) ListDatabases(ctx context.Context, filter interface{}, opts ...*options.ListDatabasesOptions) (ListDatabasesResult, error) { if ctx == nil { ctx = context.Background() @@ -885,7 +972,7 @@ func (c *Client) ListDatabases(ctx context.Context, filter interface{}, opts ... op := operation.NewListDatabases(filterDoc). Session(sess).ReadPreference(c.readPreference).CommandMonitor(c.monitor). ServerSelector(selector).ClusterClock(c.clock).Database("admin").Deployment(c.deployment).Crypt(c.cryptFLE). - ServerAPI(c.serverAPI) + ServerAPI(c.serverAPI).Timeout(c.timeout) if ldo.NameOnly != nil { op = op.NameOnly(*ldo.NameOnly) @@ -918,7 +1005,7 @@ func (c *Client) ListDatabases(ctx context.Context, filter interface{}, opts ... // The opts parameter can be used to specify options for this operation (see the options.ListDatabasesOptions // documentation.) // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/listDatabases/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/listDatabases/. func (c *Client) ListDatabaseNames(ctx context.Context, filter interface{}, opts ...*options.ListDatabasesOptions) ([]string, error) { opts = append(opts, options.ListDatabases().SetNameOnly(true)) @@ -939,6 +1026,9 @@ func (c *Client) ListDatabaseNames(ctx context.Context, filter interface{}, opts // SessionContext must be used as the Context parameter for any operations in the fn callback that should be executed // under the session. // +// WithSession is safe to call from multiple goroutines concurrently. However, the SessionContext passed to the +// WithSession callback function is not safe for concurrent use by multiple goroutines. +// // If the ctx parameter already contains a Session, that Session will be replaced with the one provided. // // Any error returned by the fn callback will be returned without any modifications. @@ -951,6 +1041,9 @@ func WithSession(ctx context.Context, sess Session, fn func(SessionContext) erro // be executed under a session. After the callback returns, the created Session is ended, meaning that any in-progress // transactions started by fn will be aborted even if fn returns an error. // +// UseSession is safe to call from multiple goroutines concurrently. However, the SessionContext passed to the +// UseSession callback function is not safe for concurrent use by multiple goroutines. +// // If the ctx parameter already contains a Session, that Session will be replaced with the newly created one. // // Any error returned by the fn callback will be returned without any modifications. @@ -959,6 +1052,9 @@ func (c *Client) UseSession(ctx context.Context, fn func(SessionContext) error) } // UseSessionWithOptions operates like UseSession but uses the given SessionOptions to create the Session. +// +// UseSessionWithOptions is safe to call from multiple goroutines concurrently. However, the SessionContext passed to +// the UseSessionWithOptions callback function is not safe for concurrent use by multiple goroutines. func (c *Client) UseSessionWithOptions(ctx context.Context, opts *options.SessionOptions, fn func(SessionContext) error) error { defaultSess, err := c.StartSession(opts) if err != nil { @@ -970,13 +1066,13 @@ func (c *Client) UseSessionWithOptions(ctx context.Context, opts *options.Sessio } // Watch returns a change stream for all changes on the deployment. See -// https://docs.mongodb.com/manual/changeStreams/ for more information about change streams. +// https://www.mongodb.com/docs/manual/changeStreams/ for more information about change streams. // // The client must be configured with read concern majority or no read concern for a change stream to be created // successfully. // // The pipeline parameter must be an array of documents, each representing a pipeline stage. The pipeline cannot be -// nil or empty. The stage documents must all be non-nil. See https://docs.mongodb.com/manual/changeStreams/ for a list +// nil or empty. The stage documents must all be non-nil. See https://www.mongodb.com/docs/manual/changeStreams/ for a list // of pipeline stages that can be used with change streams. For a pipeline of bson.D documents, the mongo.Pipeline{} // type can be used. // diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/client_encryption.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/client_encryption.go index fe4646b6..a9794d60 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/client_encryption.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/client_encryption.go @@ -17,7 +17,8 @@ import ( "go.mongodb.org/mongo-driver/mongo/options" "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" "go.mongodb.org/mongo-driver/x/mongo/driver" - cryptOpts "go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options" + "go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt" + mcopts "go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options" ) // ClientEncryption is used to create data keys and explicitly encrypt and decrypt BSON values. @@ -47,36 +48,56 @@ func NewClientEncryption(keyVaultClient *Client, opts ...*options.ClientEncrypti return nil, fmt.Errorf("error creating KMS providers map: %v", err) } + mc, err := mongocrypt.NewMongoCrypt(mcopts.MongoCrypt(). + SetKmsProviders(kmsProviders). + // Explicitly disable loading the crypt_shared library for the Crypt used for + // ClientEncryption because it's only needed for AutoEncryption and we don't expect users to + // have the crypt_shared library installed if they're using ClientEncryption. + SetCryptSharedLibDisabled(true)) + if err != nil { + return nil, err + } + // create Crypt kr := keyRetriever{coll: ce.keyVaultColl} cir := collInfoRetriever{client: ce.keyVaultClient} - ce.crypt, err = driver.NewCrypt(&driver.CryptOptions{ - KeyFn: kr.cryptKeys, - CollInfoFn: cir.cryptCollInfo, - KmsProviders: kmsProviders, - TLSConfig: ceo.TLSConfig, + ce.crypt = driver.NewCrypt(&driver.CryptOptions{ + MongoCrypt: mc, + KeyFn: kr.cryptKeys, + CollInfoFn: cir.cryptCollInfo, + TLSConfig: ceo.TLSConfig, }) - if err != nil { - return nil, err - } return ce, nil } -// CreateDataKey creates a new key document and inserts it into the key vault collection. Returns the _id of the -// created document. -func (ce *ClientEncryption) CreateDataKey(ctx context.Context, kmsProvider string, opts ...*options.DataKeyOptions) (primitive.Binary, error) { - // translate opts to cryptOpts.DataKeyOptions +// AddKeyAltName adds a keyAltName to the keyAltNames array of the key document in the key vault collection with the +// given UUID (BSON binary subtype 0x04). Returns the previous version of the key document. +func (ce *ClientEncryption) AddKeyAltName(ctx context.Context, id primitive.Binary, keyAltName string) *SingleResult { + filter := bsoncore.NewDocumentBuilder().AppendBinary("_id", id.Subtype, id.Data).Build() + keyAltNameDoc := bsoncore.NewDocumentBuilder().AppendString("keyAltNames", keyAltName).Build() + update := bsoncore.NewDocumentBuilder().AppendDocument("$addToSet", keyAltNameDoc).Build() + return ce.keyVaultColl.FindOneAndUpdate(ctx, filter, update) +} + +// CreateDataKey creates a new key document and inserts into the key vault collection. Returns the _id of the created +// document as a UUID (BSON binary subtype 0x04). +func (ce *ClientEncryption) CreateDataKey(ctx context.Context, kmsProvider string, + opts ...*options.DataKeyOptions) (primitive.Binary, error) { + + // translate opts to mcopts.DataKeyOptions dko := options.MergeDataKeyOptions(opts...) - co := cryptOpts.DataKey().SetKeyAltNames(dko.KeyAltNames) + co := mcopts.DataKey().SetKeyAltNames(dko.KeyAltNames) if dko.MasterKey != nil { keyDoc, err := transformBsoncoreDocument(ce.keyVaultClient.registry, dko.MasterKey, true, "masterKey") if err != nil { return primitive.Binary{}, err } - co.SetMasterKey(keyDoc) } + if dko.KeyMaterial != nil { + co.SetKeyMaterial(dko.KeyMaterial) + } // create data key document dataKeyDoc, err := ce.crypt.CreateDataKey(ctx, kmsProvider, co) @@ -95,9 +116,11 @@ func (ce *ClientEncryption) CreateDataKey(ctx context.Context, kmsProvider strin } // Encrypt encrypts a BSON value with the given key and algorithm. Returns an encrypted value (BSON binary of subtype 6). -func (ce *ClientEncryption) Encrypt(ctx context.Context, val bson.RawValue, opts ...*options.EncryptOptions) (primitive.Binary, error) { +func (ce *ClientEncryption) Encrypt(ctx context.Context, val bson.RawValue, + opts ...*options.EncryptOptions) (primitive.Binary, error) { + eo := options.MergeEncryptOptions(opts...) - transformed := cryptOpts.ExplicitEncryption() + transformed := mcopts.ExplicitEncryption() if eo.KeyID != nil { transformed.SetKeyID(*eo.KeyID) } @@ -105,6 +128,11 @@ func (ce *ClientEncryption) Encrypt(ctx context.Context, val bson.RawValue, opts transformed.SetKeyAltName(*eo.KeyAltName) } transformed.SetAlgorithm(eo.Algorithm) + transformed.SetQueryType(eo.QueryType) + + if eo.ContentionFactor != nil { + transformed.SetContentionFactor(*eo.ContentionFactor) + } subtype, data, err := ce.crypt.EncryptExplicit(ctx, bsoncore.Value{Type: val.Type, Data: val.Value}, transformed) if err != nil { @@ -130,6 +158,151 @@ func (ce *ClientEncryption) Close(ctx context.Context) error { return ce.keyVaultClient.Disconnect(ctx) } +// DeleteKey removes the key document with the given UUID (BSON binary subtype 0x04) from the key vault collection. +// Returns the result of the internal deleteOne() operation on the key vault collection. +func (ce *ClientEncryption) DeleteKey(ctx context.Context, id primitive.Binary) (*DeleteResult, error) { + filter := bsoncore.NewDocumentBuilder().AppendBinary("_id", id.Subtype, id.Data).Build() + return ce.keyVaultColl.DeleteOne(ctx, filter) +} + +// GetKeyByAltName returns a key document in the key vault collection with the given keyAltName. +func (ce *ClientEncryption) GetKeyByAltName(ctx context.Context, keyAltName string) *SingleResult { + filter := bsoncore.NewDocumentBuilder().AppendString("keyAltNames", keyAltName).Build() + return ce.keyVaultColl.FindOne(ctx, filter) +} + +// GetKey finds a single key document with the given UUID (BSON binary subtype 0x04). Returns the result of the +// internal find() operation on the key vault collection. +func (ce *ClientEncryption) GetKey(ctx context.Context, id primitive.Binary) *SingleResult { + filter := bsoncore.NewDocumentBuilder().AppendBinary("_id", id.Subtype, id.Data).Build() + return ce.keyVaultColl.FindOne(ctx, filter) +} + +// GetKeys finds all documents in the key vault collection. Returns the result of the internal find() operation on the +// key vault collection. +func (ce *ClientEncryption) GetKeys(ctx context.Context) (*Cursor, error) { + return ce.keyVaultColl.Find(ctx, bson.D{}) +} + +// RemoveKeyAltName removes a keyAltName from the keyAltNames array of the key document in the key vault collection with +// the given UUID (BSON binary subtype 0x04). Returns the previous version of the key document. +func (ce *ClientEncryption) RemoveKeyAltName(ctx context.Context, id primitive.Binary, keyAltName string) *SingleResult { + filter := bsoncore.NewDocumentBuilder().AppendBinary("_id", id.Subtype, id.Data).Build() + update := bson.A{bson.D{{"$set", bson.D{{"keyAltNames", bson.D{{"$cond", bson.A{bson.D{{"$eq", + bson.A{"$keyAltNames", bson.A{keyAltName}}}}, "$$REMOVE", bson.D{{"$filter", + bson.D{{"input", "$keyAltNames"}, {"cond", bson.D{{"$ne", bson.A{"$$this", keyAltName}}}}}}}}}}}}}}} + return ce.keyVaultColl.FindOneAndUpdate(ctx, filter, update) +} + +// setRewrapManyDataKeyWriteModels will prepare the WriteModel slice for a bulk updating rewrapped documents. +func setRewrapManyDataKeyWriteModels(rewrappedDocuments []bsoncore.Document, writeModels *[]WriteModel) error { + const idKey = "_id" + const keyMaterial = "keyMaterial" + const masterKey = "masterKey" + + if writeModels == nil { + return fmt.Errorf("writeModels pointer not set for location referenced") + } + + // Append a slice of WriteModel with the update document per each rewrappedDoc _id filter. + for _, rewrappedDocument := range rewrappedDocuments { + // Prepare the new master key for update. + masterKeyValue, err := rewrappedDocument.LookupErr(masterKey) + if err != nil { + return err + } + masterKeyDoc := masterKeyValue.Document() + + // Prepare the new material key for update. + keyMaterialValue, err := rewrappedDocument.LookupErr(keyMaterial) + if err != nil { + return err + } + keyMaterialSubtype, keyMaterialData := keyMaterialValue.Binary() + keyMaterialBinary := primitive.Binary{Subtype: keyMaterialSubtype, Data: keyMaterialData} + + // Prepare the _id filter for documents to update. + id, err := rewrappedDocument.LookupErr(idKey) + if err != nil { + return err + } + + idSubtype, idData, ok := id.BinaryOK() + if !ok { + return fmt.Errorf("expected to assert %q as binary, got type %T", idKey, id) + } + binaryID := primitive.Binary{Subtype: idSubtype, Data: idData} + + // Append the mutable document to the slice for bulk update. + *writeModels = append(*writeModels, NewUpdateOneModel(). + SetFilter(bson.D{{idKey, binaryID}}). + SetUpdate( + bson.D{ + {"$set", bson.D{{keyMaterial, keyMaterialBinary}, {masterKey, masterKeyDoc}}}, + {"$currentDate", bson.D{{"updateDate", true}}}, + }, + )) + } + return nil +} + +// RewrapManyDataKey decrypts and encrypts all matching data keys with a possibly new masterKey value. For all +// matching documents, this method will overwrite the "masterKey", "updateDate", and "keyMaterial". On error, some +// matching data keys may have been rewrapped. +// libmongocrypt 1.5.2 is required. An error is returned if the detected version of libmongocrypt is less than 1.5.2. +func (ce *ClientEncryption) RewrapManyDataKey(ctx context.Context, filter interface{}, + opts ...*options.RewrapManyDataKeyOptions) (*RewrapManyDataKeyResult, error) { + + // libmongocrypt versions 1.5.0 and 1.5.1 have a severe bug in RewrapManyDataKey. + // Check if the version string starts with 1.5.0 or 1.5.1. This accounts for pre-release versions, like 1.5.0-rc0. + libmongocryptVersion := mongocrypt.Version() + if strings.HasPrefix(libmongocryptVersion, "1.5.0") || strings.HasPrefix(libmongocryptVersion, "1.5.1") { + return nil, fmt.Errorf("RewrapManyDataKey requires libmongocrypt 1.5.2 or newer. Detected version: %v", libmongocryptVersion) + } + + rmdko := options.MergeRewrapManyDataKeyOptions(opts...) + if ctx == nil { + ctx = context.Background() + } + + // Transfer rmdko options to /x/ package options to publish the mongocrypt feed. + co := mcopts.RewrapManyDataKey() + if rmdko.MasterKey != nil { + keyDoc, err := transformBsoncoreDocument(ce.keyVaultClient.registry, rmdko.MasterKey, true, "masterKey") + if err != nil { + return nil, err + } + co.SetMasterKey(keyDoc) + } + if rmdko.Provider != nil { + co.SetProvider(*rmdko.Provider) + } + + // Prepare the filters and rewrap the data key using mongocrypt. + filterdoc, err := transformBsoncoreDocument(ce.keyVaultClient.registry, filter, true, "filter") + if err != nil { + return nil, err + } + + rewrappedDocuments, err := ce.crypt.RewrapDataKey(ctx, filterdoc, co) + if err != nil { + return nil, err + } + if len(rewrappedDocuments) == 0 { + // If there are no documents to rewrap, then do nothing. + return new(RewrapManyDataKeyResult), nil + } + + // Prepare the WriteModel slice for bulk updating the rewrapped data keys. + models := []WriteModel{} + if err := setRewrapManyDataKeyWriteModels(rewrappedDocuments, &models); err != nil { + return nil, err + } + + bulkWriteResults, err := ce.keyVaultColl.BulkWrite(ctx, models) + return &RewrapManyDataKeyResult{BulkWriteResult: bulkWriteResults}, err +} + // splitNamespace takes a namespace in the form "database.collection" and returns (database name, collection name) func splitNamespace(ns string) (string, string) { firstDot := strings.Index(ns, ".") diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/collection.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/collection.go index 37c66764..aa3ffbe9 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/collection.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/collection.go @@ -16,6 +16,7 @@ import ( "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/bsoncodec" "go.mongodb.org/mongo-driver/bson/bsontype" + "go.mongodb.org/mongo-driver/internal" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/options" "go.mongodb.org/mongo-driver/mongo/readconcern" @@ -166,7 +167,7 @@ func (coll *Collection) Database() *Database { return coll.db } -// BulkWrite performs a bulk write operation (https://docs.mongodb.com/manual/core/bulk-write-operations/). +// BulkWrite performs a bulk write operation (https://www.mongodb.com/docs/manual/core/bulk-write-operations/). // // The models parameter must be a slice of operations to be executed in this bulk write. It cannot be nil or empty. // All of the models must be non-nil. See the mongo.WriteModel documentation for a list of valid model types and @@ -218,6 +219,7 @@ func (coll *Collection) BulkWrite(ctx context.Context, models []WriteModel, bwo := options.MergeBulkWriteOptions(opts...) op := bulkWrite{ + comment: bwo.Comment, ordered: bwo.Ordered, bypassDocumentValidation: bwo.BypassDocumentValidation, models: models, @@ -281,11 +283,18 @@ func (coll *Collection) insert(ctx context.Context, documents []interface{}, ServerSelector(selector).ClusterClock(coll.client.clock). Database(coll.db.name).Collection(coll.name). Deployment(coll.client.deployment).Crypt(coll.client.cryptFLE).Ordered(true). - ServerAPI(coll.client.serverAPI) + ServerAPI(coll.client.serverAPI).Timeout(coll.client.timeout) imo := options.MergeInsertManyOptions(opts...) if imo.BypassDocumentValidation != nil && *imo.BypassDocumentValidation { op = op.BypassDocumentValidation(*imo.BypassDocumentValidation) } + if imo.Comment != nil { + comment, err := transformValue(coll.registry, imo.Comment, true, "comment") + if err != nil { + return nil, err + } + op = op.Comment(comment) + } if imo.Ordered != nil { op = op.Ordered(*imo.Ordered) } @@ -324,7 +333,7 @@ func (coll *Collection) insert(ctx context.Context, documents []interface{}, // // The opts parameter can be used to specify options for the operation (see the options.InsertOneOptions documentation.) // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/insert/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/insert/. func (coll *Collection) InsertOne(ctx context.Context, document interface{}, opts ...*options.InsertOneOptions) (*InsertOneResult, error) { @@ -334,6 +343,9 @@ func (coll *Collection) InsertOne(ctx context.Context, document interface{}, if ioOpts.BypassDocumentValidation != nil && *ioOpts.BypassDocumentValidation { imOpts.SetBypassDocumentValidation(*ioOpts.BypassDocumentValidation) } + if ioOpts.Comment != nil { + imOpts.SetComment(ioOpts.Comment) + } res, err := coll.insert(ctx, []interface{}{document}, imOpts) rr, err := processWriteError(err) @@ -353,7 +365,7 @@ func (coll *Collection) InsertOne(ctx context.Context, document interface{}, // // The opts parameter can be used to specify options for the operation (see the options.InsertManyOptions documentation.) // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/insert/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/insert/. func (coll *Collection) InsertMany(ctx context.Context, documents []interface{}, opts ...*options.InsertManyOptions) (*InsertManyResult, error) { @@ -451,7 +463,14 @@ func (coll *Collection) delete(ctx context.Context, filter interface{}, deleteOn ServerSelector(selector).ClusterClock(coll.client.clock). Database(coll.db.name).Collection(coll.name). Deployment(coll.client.deployment).Crypt(coll.client.cryptFLE).Ordered(true). - ServerAPI(coll.client.serverAPI) + ServerAPI(coll.client.serverAPI).Timeout(coll.client.timeout) + if do.Comment != nil { + comment, err := transformValue(coll.registry, do.Comment, true, "comment") + if err != nil { + return nil, err + } + op = op.Comment(comment) + } if do.Hint != nil { op = op.Hint(true) } @@ -473,7 +492,7 @@ func (coll *Collection) delete(ctx context.Context, filter interface{}, deleteOn if rr&expectedRr == 0 { return nil, err } - return &DeleteResult{DeletedCount: int64(op.Result().N)}, err + return &DeleteResult{DeletedCount: op.Result().N}, err } // DeleteOne executes a delete command to delete at most one document from the collection. @@ -485,7 +504,7 @@ func (coll *Collection) delete(ctx context.Context, filter interface{}, deleteOn // // The opts parameter can be used to specify options for the operation (see the options.DeleteOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/delete/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/delete/. func (coll *Collection) DeleteOne(ctx context.Context, filter interface{}, opts ...*options.DeleteOptions) (*DeleteResult, error) { @@ -501,7 +520,7 @@ func (coll *Collection) DeleteOne(ctx context.Context, filter interface{}, // // The opts parameter can be used to specify options for the operation (see the options.DeleteOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/delete/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/delete/. func (coll *Collection) DeleteMany(ctx context.Context, filter interface{}, opts ...*options.DeleteOptions) (*DeleteResult, error) { @@ -555,7 +574,8 @@ func (coll *Collection) updateOrReplace(ctx context.Context, filter bsoncore.Doc ServerSelector(selector).ClusterClock(coll.client.clock). Database(coll.db.name).Collection(coll.name). Deployment(coll.client.deployment).Crypt(coll.client.cryptFLE).Hint(uo.Hint != nil). - ArrayFilters(uo.ArrayFilters != nil).Ordered(true).ServerAPI(coll.client.serverAPI) + ArrayFilters(uo.ArrayFilters != nil).Ordered(true).ServerAPI(coll.client.serverAPI). + Timeout(coll.client.timeout) if uo.Let != nil { let, err := transformBsoncoreDocument(coll.registry, uo.Let, true, "let") if err != nil { @@ -567,6 +587,13 @@ func (coll *Collection) updateOrReplace(ctx context.Context, filter bsoncore.Doc if uo.BypassDocumentValidation != nil && *uo.BypassDocumentValidation { op = op.BypassDocumentValidation(*uo.BypassDocumentValidation) } + if uo.Comment != nil { + comment, err := transformValue(coll.registry, uo.Comment, true, "comment") + if err != nil { + return nil, err + } + op = op.Comment(comment) + } retry := driver.RetryNone // retryable writes are only enabled updateOne/replaceOne operations if !multi && coll.client.retryWrites { @@ -582,8 +609,8 @@ func (coll *Collection) updateOrReplace(ctx context.Context, filter bsoncore.Doc opRes := op.Result() res := &UpdateResult{ - MatchedCount: int64(opRes.N), - ModifiedCount: int64(opRes.NModified), + MatchedCount: opRes.N, + ModifiedCount: opRes.NModified, UpsertedCount: int64(len(opRes.Upserted)), } if len(opRes.Upserted) > 0 { @@ -601,12 +628,12 @@ func (coll *Collection) updateOrReplace(ctx context.Context, filter bsoncore.Doc // the operation will succeed and an UpdateResult with a MatchedCount of 0 will be returned. // // The update parameter must be a document containing update operators -// (https://docs.mongodb.com/manual/reference/operator/update/) and can be used to specify the modifications to be +// (https://www.mongodb.com/docs/manual/reference/operator/update/) and can be used to specify the modifications to be // made to the selected document. It cannot be nil or empty. // // The opts parameter can be used to specify options for the operation (see the options.UpdateOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/update/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/update/. func (coll *Collection) UpdateByID(ctx context.Context, id interface{}, update interface{}, opts ...*options.UpdateOptions) (*UpdateResult, error) { if id == nil { @@ -623,12 +650,12 @@ func (coll *Collection) UpdateByID(ctx context.Context, id interface{}, update i // matched set and MatchedCount will equal 1. // // The update parameter must be a document containing update operators -// (https://docs.mongodb.com/manual/reference/operator/update/) and can be used to specify the modifications to be +// (https://www.mongodb.com/docs/manual/reference/operator/update/) and can be used to specify the modifications to be // made to the selected document. It cannot be nil or empty. // // The opts parameter can be used to specify options for the operation (see the options.UpdateOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/update/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/update/. func (coll *Collection) UpdateOne(ctx context.Context, filter interface{}, update interface{}, opts ...*options.UpdateOptions) (*UpdateResult, error) { @@ -651,12 +678,12 @@ func (coll *Collection) UpdateOne(ctx context.Context, filter interface{}, updat // with a MatchedCount of 0 will be returned. // // The update parameter must be a document containing update operators -// (https://docs.mongodb.com/manual/reference/operator/update/) and can be used to specify the modifications to be made +// (https://www.mongodb.com/docs/manual/reference/operator/update/) and can be used to specify the modifications to be made // to the selected documents. It cannot be nil or empty. // // The opts parameter can be used to specify options for the operation (see the options.UpdateOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/update/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/update/. func (coll *Collection) UpdateMany(ctx context.Context, filter interface{}, update interface{}, opts ...*options.UpdateOptions) (*UpdateResult, error) { @@ -680,11 +707,11 @@ func (coll *Collection) UpdateMany(ctx context.Context, filter interface{}, upda // selected from the matched set and MatchedCount will equal 1. // // The replacement parameter must be a document that will be used to replace the selected document. It cannot be nil -// and cannot contain any update operators (https://docs.mongodb.com/manual/reference/operator/update/). +// and cannot contain any update operators (https://www.mongodb.com/docs/manual/reference/operator/update/). // // The opts parameter can be used to specify options for the operation (see the options.ReplaceOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/update/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/update/. func (coll *Collection) ReplaceOne(ctx context.Context, filter interface{}, replacement interface{}, opts ...*options.ReplaceOptions) (*UpdateResult, error) { @@ -717,6 +744,7 @@ func (coll *Collection) ReplaceOne(ctx context.Context, filter interface{}, uOpts.Upsert = opt.Upsert uOpts.Hint = opt.Hint uOpts.Let = opt.Let + uOpts.Comment = opt.Comment updateOptions = append(updateOptions, uOpts) } @@ -728,12 +756,12 @@ func (coll *Collection) ReplaceOne(ctx context.Context, filter interface{}, // The pipeline parameter must be an array of documents, each representing an aggregation stage. The pipeline cannot // be nil but can be empty. The stage documents must all be non-nil. For a pipeline of bson.D documents, the // mongo.Pipeline type can be used. See -// https://docs.mongodb.com/manual/reference/operator/aggregation-pipeline/#db-collection-aggregate-stages for a list of +// https://www.mongodb.com/docs/manual/reference/operator/aggregation-pipeline/#db-collection-aggregate-stages for a list of // valid stages in aggregations. // // The opts parameter can be used to specify options for the operation (see the options.AggregateOptions documentation.) // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/aggregate/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/aggregate/. func (coll *Collection) Aggregate(ctx context.Context, pipeline interface{}, opts ...*options.AggregateOptions) (*Cursor, error) { a := aggregateParams{ @@ -754,7 +782,7 @@ func (coll *Collection) Aggregate(ctx context.Context, pipeline interface{}, return aggregate(a) } -// aggreate is the helper method for Aggregate +// aggregate is the helper method for Aggregate func aggregate(a aggregateParams) (cur *Cursor, err error) { if a.ctx == nil { a.ctx = context.Background() @@ -817,7 +845,8 @@ func aggregate(a aggregateParams) (cur *Cursor, err error) { Deployment(a.client.deployment). Crypt(a.client.cryptFLE). ServerAPI(a.client.serverAPI). - HasOutputStage(hasOutputStage) + HasOutputStage(hasOutputStage). + Timeout(a.client.timeout) if ao.AllowDiskUse != nil { op.AllowDiskUse(*ao.AllowDiskUse) @@ -841,6 +870,12 @@ func aggregate(a aggregateParams) (cur *Cursor, err error) { } if ao.Comment != nil { op.Comment(*ao.Comment) + + commentVal, err := transformValue(a.registry, ao.Comment, true, "comment") + if err != nil { + return nil, err + } + cursorOpts.Comment = commentVal } if ao.Hint != nil { hintVal, err := transformValue(a.registry, ao.Hint, false, "hint") @@ -935,10 +970,14 @@ func (coll *Collection) CountDocuments(ctx context.Context, filter interface{}, selector := makeReadPrefSelector(sess, coll.readSelector, coll.client.localThreshold) op := operation.NewAggregate(pipelineArr).Session(sess).ReadConcern(rc).ReadPreference(coll.readPreference). CommandMonitor(coll.client.monitor).ServerSelector(selector).ClusterClock(coll.client.clock).Database(coll.db.name). - Collection(coll.name).Deployment(coll.client.deployment).Crypt(coll.client.cryptFLE).ServerAPI(coll.client.serverAPI) + Collection(coll.name).Deployment(coll.client.deployment).Crypt(coll.client.cryptFLE).ServerAPI(coll.client.serverAPI). + Timeout(coll.client.timeout) if countOpts.Collation != nil { op.Collation(bsoncore.Document(countOpts.Collation.ToDocument())) } + if countOpts.Comment != nil { + op.Comment(*countOpts.Comment) + } if countOpts.MaxTime != nil { op.MaxTimeMS(int64(*countOpts.MaxTime / time.Millisecond)) } @@ -984,7 +1023,7 @@ func (coll *Collection) CountDocuments(ctx context.Context, filter interface{}, // The opts parameter can be used to specify options for the operation (see the options.EstimatedDocumentCountOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/count/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/count/. func (coll *Collection) EstimatedDocumentCount(ctx context.Context, opts ...*options.EstimatedDocumentCountOptions) (int64, error) { @@ -1017,9 +1056,17 @@ func (coll *Collection) EstimatedDocumentCount(ctx context.Context, op := operation.NewCount().Session(sess).ClusterClock(coll.client.clock). Database(coll.db.name).Collection(coll.name).CommandMonitor(coll.client.monitor). Deployment(coll.client.deployment).ReadConcern(rc).ReadPreference(coll.readPreference). - ServerSelector(selector).Crypt(coll.client.cryptFLE).ServerAPI(coll.client.serverAPI) + ServerSelector(selector).Crypt(coll.client.cryptFLE).ServerAPI(coll.client.serverAPI). + Timeout(coll.client.timeout) co := options.MergeEstimatedDocumentCountOptions(opts...) + if co.Comment != nil { + comment, err := transformValue(coll.registry, co.Comment, false, "comment") + if err != nil { + return 0, err + } + op = op.Comment(comment) + } if co.MaxTime != nil { op = op.MaxTimeMS(int64(*co.MaxTime / time.Millisecond)) } @@ -1043,7 +1090,7 @@ func (coll *Collection) EstimatedDocumentCount(ctx context.Context, // // The opts parameter can be used to specify options for the operation (see the options.DistinctOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/distinct/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/distinct/. func (coll *Collection) Distinct(ctx context.Context, fieldName string, filter interface{}, opts ...*options.DistinctOptions) ([]interface{}, error) { @@ -1083,11 +1130,19 @@ func (coll *Collection) Distinct(ctx context.Context, fieldName string, filter i Session(sess).ClusterClock(coll.client.clock). Database(coll.db.name).Collection(coll.name).CommandMonitor(coll.client.monitor). Deployment(coll.client.deployment).ReadConcern(rc).ReadPreference(coll.readPreference). - ServerSelector(selector).Crypt(coll.client.cryptFLE).ServerAPI(coll.client.serverAPI) + ServerSelector(selector).Crypt(coll.client.cryptFLE).ServerAPI(coll.client.serverAPI). + Timeout(coll.client.timeout) if option.Collation != nil { op.Collation(bsoncore.Document(option.Collation.ToDocument())) } + if option.Comment != nil { + comment, err := transformValue(coll.registry, option.Comment, true, "comment") + if err != nil { + return nil, err + } + op.Comment(comment) + } if option.MaxTime != nil { op.MaxTimeMS(int64(*option.MaxTime / time.Millisecond)) } @@ -1132,7 +1187,7 @@ func (coll *Collection) Distinct(ctx context.Context, fieldName string, filter i // // The opts parameter can be used to specify options for the operation (see the options.FindOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/find/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/find/. func (coll *Collection) Find(ctx context.Context, filter interface{}, opts ...*options.FindOptions) (cur *Cursor, err error) { @@ -1175,7 +1230,8 @@ func (coll *Collection) Find(ctx context.Context, filter interface{}, Session(sess).ReadConcern(rc).ReadPreference(coll.readPreference). CommandMonitor(coll.client.monitor).ServerSelector(selector). ClusterClock(coll.client.clock).Database(coll.db.name).Collection(coll.name). - Deployment(coll.client.deployment).Crypt(coll.client.cryptFLE).ServerAPI(coll.client.serverAPI) + Deployment(coll.client.deployment).Crypt(coll.client.cryptFLE).ServerAPI(coll.client.serverAPI). + Timeout(coll.client.timeout) fo := options.MergeFindOptions(opts...) cursorOpts := coll.client.createBaseCursorOptions() @@ -1195,6 +1251,12 @@ func (coll *Collection) Find(ctx context.Context, filter interface{}, } if fo.Comment != nil { op.Comment(*fo.Comment) + + commentVal, err := transformValue(coll.registry, fo.Comment, true, "comment") + if err != nil { + return nil, err + } + cursorOpts.Comment = commentVal } if fo.CursorType != nil { switch *fo.CursorType { @@ -1305,7 +1367,7 @@ func (coll *Collection) Find(ctx context.Context, filter interface{}, // // The opts parameter can be used to specify options for this operation (see the options.FindOneOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/find/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/find/. func (coll *Collection) FindOne(ctx context.Context, filter interface{}, opts ...*options.FindOneOptions) *SingleResult { @@ -1411,7 +1473,7 @@ func (coll *Collection) findAndModify(ctx context.Context, op *operation.FindAnd // The opts parameter can be used to specify options for the operation (see the options.FindOneAndDeleteOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/findAndModify/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/findAndModify/. func (coll *Collection) FindOneAndDelete(ctx context.Context, filter interface{}, opts ...*options.FindOneAndDeleteOptions) *SingleResult { @@ -1420,10 +1482,17 @@ func (coll *Collection) FindOneAndDelete(ctx context.Context, filter interface{} return &SingleResult{err: err} } fod := options.MergeFindOneAndDeleteOptions(opts...) - op := operation.NewFindAndModify(f).Remove(true).ServerAPI(coll.client.serverAPI) + op := operation.NewFindAndModify(f).Remove(true).ServerAPI(coll.client.serverAPI).Timeout(coll.client.timeout) if fod.Collation != nil { op = op.Collation(bsoncore.Document(fod.Collation.ToDocument())) } + if fod.Comment != nil { + comment, err := transformValue(coll.registry, fod.Comment, true, "comment") + if err != nil { + return &SingleResult{err: err} + } + op = op.Comment(comment) + } if fod.MaxTime != nil { op = op.MaxTimeMS(int64(*fod.MaxTime / time.Millisecond)) } @@ -1467,12 +1536,12 @@ func (coll *Collection) FindOneAndDelete(ctx context.Context, filter interface{} // ErrNoDocuments wil be returned. If the filter matches multiple documents, one will be selected from the matched set. // // The replacement parameter must be a document that will be used to replace the selected document. It cannot be nil -// and cannot contain any update operators (https://docs.mongodb.com/manual/reference/operator/update/). +// and cannot contain any update operators (https://www.mongodb.com/docs/manual/reference/operator/update/). // // The opts parameter can be used to specify options for the operation (see the options.FindOneAndReplaceOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/findAndModify/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/findAndModify/. func (coll *Collection) FindOneAndReplace(ctx context.Context, filter interface{}, replacement interface{}, opts ...*options.FindOneAndReplaceOptions) *SingleResult { @@ -1490,13 +1559,20 @@ func (coll *Collection) FindOneAndReplace(ctx context.Context, filter interface{ fo := options.MergeFindOneAndReplaceOptions(opts...) op := operation.NewFindAndModify(f).Update(bsoncore.Value{Type: bsontype.EmbeddedDocument, Data: r}). - ServerAPI(coll.client.serverAPI) + ServerAPI(coll.client.serverAPI).Timeout(coll.client.timeout) if fo.BypassDocumentValidation != nil && *fo.BypassDocumentValidation { op = op.BypassDocumentValidation(*fo.BypassDocumentValidation) } if fo.Collation != nil { op = op.Collation(bsoncore.Document(fo.Collation.ToDocument())) } + if fo.Comment != nil { + comment, err := transformValue(coll.registry, fo.Comment, true, "comment") + if err != nil { + return &SingleResult{err: err} + } + op = op.Comment(comment) + } if fo.MaxTime != nil { op = op.MaxTimeMS(int64(*fo.MaxTime / time.Millisecond)) } @@ -1546,13 +1622,13 @@ func (coll *Collection) FindOneAndReplace(ctx context.Context, filter interface{ // ErrNoDocuments wil be returned. If the filter matches multiple documents, one will be selected from the matched set. // // The update parameter must be a document containing update operators -// (https://docs.mongodb.com/manual/reference/operator/update/) and can be used to specify the modifications to be made +// (https://www.mongodb.com/docs/manual/reference/operator/update/) and can be used to specify the modifications to be made // to the selected document. It cannot be nil or empty. // // The opts parameter can be used to specify options for the operation (see the options.FindOneAndUpdateOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/findAndModify/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/findAndModify/. func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{}, update interface{}, opts ...*options.FindOneAndUpdateOptions) *SingleResult { @@ -1566,7 +1642,7 @@ func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{} } fo := options.MergeFindOneAndUpdateOptions(opts...) - op := operation.NewFindAndModify(f).ServerAPI(coll.client.serverAPI) + op := operation.NewFindAndModify(f).ServerAPI(coll.client.serverAPI).Timeout(coll.client.timeout) u, err := transformUpdateValue(coll.registry, update, true) if err != nil { @@ -1587,6 +1663,13 @@ func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{} if fo.Collation != nil { op = op.Collation(bsoncore.Document(fo.Collation.ToDocument())) } + if fo.Comment != nil { + comment, err := transformValue(coll.registry, fo.Comment, true, "comment") + if err != nil { + return &SingleResult{err: err} + } + op = op.Comment(comment) + } if fo.MaxTime != nil { op = op.MaxTimeMS(int64(*fo.MaxTime / time.Millisecond)) } @@ -1629,13 +1712,13 @@ func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{} } // Watch returns a change stream for all changes on the corresponding collection. See -// https://docs.mongodb.com/manual/changeStreams/ for more information about change streams. +// https://www.mongodb.com/docs/manual/changeStreams/ for more information about change streams. // // The Collection must be configured with read concern majority or no read concern for a change stream to be created // successfully. // // The pipeline parameter must be an array of documents, each representing a pipeline stage. The pipeline cannot be -// nil but can be empty. The stage documents must all be non-nil. See https://docs.mongodb.com/manual/changeStreams/ for +// nil but can be empty. The stage documents must all be non-nil. See https://www.mongodb.com/docs/manual/changeStreams/ for // a list of pipeline stages that can be used with change streams. For a pipeline of bson.D documents, the // mongo.Pipeline{} type can be used. // @@ -1665,6 +1748,69 @@ func (coll *Collection) Indexes() IndexView { // Drop drops the collection on the server. This method ignores "namespace not found" errors so it is safe to drop // a collection that does not exist on the server. func (coll *Collection) Drop(ctx context.Context) error { + // Follow Client-Side Encryption specification to check for encryptedFields. + // Drop does not have an encryptedFields option. See: GODRIVER-2413. + // Check for encryptedFields from the client EncryptedFieldsMap. + // Check for encryptedFields from the server if EncryptedFieldsMap is set. + ef := coll.db.getEncryptedFieldsFromMap(coll.name) + if ef == nil && coll.db.client.encryptedFieldsMap != nil { + var err error + if ef, err = coll.db.getEncryptedFieldsFromServer(ctx, coll.name); err != nil { + return err + } + } + + if ef != nil { + return coll.dropEncryptedCollection(ctx, ef) + } + + return coll.drop(ctx) +} + +// dropEncryptedCollection drops a collection with EncryptedFields. +func (coll *Collection) dropEncryptedCollection(ctx context.Context, ef interface{}) error { + efBSON, err := transformBsoncoreDocument(coll.registry, ef, true /* mapAllowed */, "encryptedFields") + if err != nil { + return fmt.Errorf("error transforming document: %v", err) + } + + // Drop the three encryption-related, associated collections: `escCollection`, `eccCollection` and `ecocCollection`. + // Drop ESCCollection. + escCollection, err := internal.GetEncryptedStateCollectionName(efBSON, coll.name, internal.EncryptedStateCollection) + if err != nil { + return err + } + if err := coll.db.Collection(escCollection).drop(ctx); err != nil { + return err + } + + // Drop ECCCollection. + eccCollection, err := internal.GetEncryptedStateCollectionName(efBSON, coll.name, internal.EncryptedCacheCollection) + if err != nil { + return err + } + if err := coll.db.Collection(eccCollection).drop(ctx); err != nil { + return err + } + + // Drop ECOCCollection. + ecocCollection, err := internal.GetEncryptedStateCollectionName(efBSON, coll.name, internal.EncryptedCompactionCollection) + if err != nil { + return err + } + if err := coll.db.Collection(ecocCollection).drop(ctx); err != nil { + return err + } + + // Drop the data collection. + if err := coll.drop(ctx); err != nil { + return err + } + return nil +} + +// drop drops a collection without EncryptedFields. +func (coll *Collection) drop(ctx context.Context) error { if ctx == nil { ctx = context.Background() } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go index 533cfce0..d21005fe 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go @@ -125,7 +125,7 @@ func (c *Cursor) Next(ctx context.Context) bool { // TryNext attempts to get the next document for this cursor. It returns true if there were no errors and the next // document is available. This is only recommended for use with tailable cursors as a non-blocking alternative to -// Next. See https://docs.mongodb.com/manual/core/tailable-cursors/ for more information about tailable cursors. +// Next. See https://www.mongodb.com/docs/manual/core/tailable-cursors/ for more information about tailable cursors. // // TryNext returns false if the cursor is exhausted, an error occurs when getting results from the server, the next // document is not yet available, or ctx expires. If ctx expires, the error will be set to ctx.Err(). diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/database.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/database.go index b0066f04..57b5417f 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/database.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/database.go @@ -13,12 +13,12 @@ import ( "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/bsoncodec" + "go.mongodb.org/mongo-driver/internal" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/options" "go.mongodb.org/mongo-driver/mongo/readconcern" "go.mongodb.org/mongo-driver/mongo/readpref" "go.mongodb.org/mongo-driver/mongo/writeconcern" - "go.mongodb.org/mongo-driver/x/bsonx" "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" "go.mongodb.org/mongo-driver/x/mongo/driver" "go.mongodb.org/mongo-driver/x/mongo/driver/operation" @@ -107,12 +107,12 @@ func (db *Database) Collection(name string, opts ...*options.CollectionOptions) // The pipeline parameter must be a slice of documents, each representing an aggregation stage. The pipeline // cannot be nil but can be empty. The stage documents must all be non-nil. For a pipeline of bson.D documents, the // mongo.Pipeline type can be used. See -// https://docs.mongodb.com/manual/reference/operator/aggregation-pipeline/#db-aggregate-stages for a list of valid +// https://www.mongodb.com/docs/manual/reference/operator/aggregation-pipeline/#db-aggregate-stages for a list of valid // stages in database-level aggregations. // // The opts parameter can be used to specify options for this operation (see the options.AggregateOptions documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/aggregate/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/aggregate/. func (db *Database) Aggregate(ctx context.Context, pipeline interface{}, opts ...*options.AggregateOptions) (*Cursor, error) { a := aggregateParams{ @@ -176,7 +176,8 @@ func (db *Database) processRunCommand(ctx context.Context, cmd interface{}, return op.Session(sess).CommandMonitor(db.client.monitor). ServerSelector(readSelect).ClusterClock(db.client.clock). Database(db.name).Deployment(db.client.deployment).ReadConcern(db.readConcern). - Crypt(db.client.cryptFLE).ReadPreference(ro.ReadPreference).ServerAPI(db.client.serverAPI), sess, nil + Crypt(db.client.cryptFLE).ReadPreference(ro.ReadPreference).ServerAPI(db.client.serverAPI). + Timeout(db.client.timeout), sess, nil } // RunCommand executes the given command against the database. This function does not obey the Database's read @@ -184,11 +185,13 @@ func (db *Database) processRunCommand(ctx context.Context, cmd interface{}, // // The runCommand parameter must be a document for the command to be executed. It cannot be nil. // This must be an order-preserving type such as bson.D. Map types such as bson.M are not valid. -// If the command document contains a session ID or any transaction-specific fields, the behavior is undefined. -// Specifying API versioning options in the command document and declaring an API version on the client is not supported. -// The behavior of RunCommand is undefined in this case. // // The opts parameter can be used to specify options for this operation (see the options.RunCmdOptions documentation). +// +// The behavior of RunCommand is undefined if the command document contains any of the following: +// - A session ID or any transaction-specific fields +// - API versioning options when an API version is already declared on the Client +// - maxTimeMS when Timeout is set on the Client func (db *Database) RunCommand(ctx context.Context, runCommand interface{}, opts ...*options.RunCmdOptions) *SingleResult { if ctx == nil { ctx = context.Background() @@ -217,9 +220,13 @@ func (db *Database) RunCommand(ctx context.Context, runCommand interface{}, opts // // The runCommand parameter must be a document for the command to be executed. It cannot be nil. // This must be an order-preserving type such as bson.D. Map types such as bson.M are not valid. -// If the command document contains a session ID or any transaction-specific fields, the behavior is undefined. // // The opts parameter can be used to specify options for this operation (see the options.RunCmdOptions documentation). +// +// The behavior of RunCommandCursor is undefined if the command document contains any of the following: +// - A session ID or any transaction-specific fields +// - API versioning options when an API version is already declared on the Client +// - maxTimeMS when Timeout is set on the Client func (db *Database) RunCommandCursor(ctx context.Context, runCommand interface{}, opts ...*options.RunCmdOptions) (*Cursor, error) { if ctx == nil { ctx = context.Background() @@ -302,7 +309,7 @@ func (db *Database) Drop(ctx context.Context) error { // The opts parameter can be used to specify options for the operation (see the options.ListCollectionsOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/listCollections/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/listCollections/. // // BUG(benjirewis): ListCollectionSpecifications prevents listing more than 100 collections per database when running // against MongoDB version 2.6. @@ -339,7 +346,7 @@ func (db *Database) ListCollectionSpecifications(ctx context.Context, filter int // The opts parameter can be used to specify options for the operation (see the options.ListCollectionsOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/listCollections/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/listCollections/. // // BUG(benjirewis): ListCollections prevents listing more than 100 collections per database when running against // MongoDB version 2.6. @@ -378,7 +385,7 @@ func (db *Database) ListCollections(ctx context.Context, filter interface{}, opt Session(sess).ReadPreference(db.readPreference).CommandMonitor(db.client.monitor). ServerSelector(selector).ClusterClock(db.client.clock). Database(db.name).Deployment(db.client.deployment).Crypt(db.client.cryptFLE). - ServerAPI(db.client.serverAPI) + ServerAPI(db.client.serverAPI).Timeout(db.client.timeout) cursorOpts := db.client.createBaseCursorOptions() if lco.NameOnly != nil { @@ -423,7 +430,7 @@ func (db *Database) ListCollections(ctx context.Context, filter interface{}, opt // The opts parameter can be used to specify options for the operation (see the options.ListCollectionsOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/listCollections/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/listCollections/. // // BUG(benjirewis): ListCollectionNames prevents listing more than 100 collections per database when running against // MongoDB version 2.6. @@ -439,19 +446,13 @@ func (db *Database) ListCollectionNames(ctx context.Context, filter interface{}, names := make([]string, 0) for res.Next(ctx) { - next := &bsonx.Doc{} - err = res.Decode(next) - if err != nil { - return nil, err - } - - elem, err := next.LookupErr("name") + elem, err := res.Current.LookupErr("name") if err != nil { return nil, err } - if elem.Type() != bson.TypeString { - return nil, fmt.Errorf("incorrect type for 'name'. got %v. want %v", elem.Type(), bson.TypeString) + if elem.Type != bson.TypeString { + return nil, fmt.Errorf("incorrect type for 'name'. got %v. want %v", elem.Type, bson.TypeString) } elemName := elem.StringValue() @@ -478,13 +479,13 @@ func (db *Database) WriteConcern() *writeconcern.WriteConcern { } // Watch returns a change stream for all changes to the corresponding database. See -// https://docs.mongodb.com/manual/changeStreams/ for more information about change streams. +// https://www.mongodb.com/docs/manual/changeStreams/ for more information about change streams. // // The Database must be configured with read concern majority or no read concern for a change stream to be created // successfully. // // The pipeline parameter must be a slice of documents, each representing a pipeline stage. The pipeline cannot be -// nil but can be empty. The stage documents must all be non-nil. See https://docs.mongodb.com/manual/changeStreams/ for +// nil but can be empty. The stage documents must all be non-nil. See https://www.mongodb.com/docs/manual/changeStreams/ for // a list of pipeline stages that can be used with change streams. For a pipeline of bson.D documents, the // mongo.Pipeline{} type can be used. // @@ -512,8 +513,141 @@ func (db *Database) Watch(ctx context.Context, pipeline interface{}, // The opts parameter can be used to specify options for the operation (see the options.CreateCollectionOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/create/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/create/. func (db *Database) CreateCollection(ctx context.Context, name string, opts ...*options.CreateCollectionOptions) error { + cco := options.MergeCreateCollectionOptions(opts...) + // Follow Client-Side Encryption specification to check for encryptedFields. + // Check for encryptedFields from create options. + ef := cco.EncryptedFields + // Check for encryptedFields from the client EncryptedFieldsMap. + if ef == nil { + ef = db.getEncryptedFieldsFromMap(name) + } + if ef != nil { + return db.createCollectionWithEncryptedFields(ctx, name, ef, opts...) + } + + return db.createCollection(ctx, name, opts...) +} + +// getEncryptedFieldsFromServer tries to get an "encryptedFields" document associated with collectionName by running the "listCollections" command. +// Returns nil and no error if the listCollections command succeeds, but "encryptedFields" is not present. +func (db *Database) getEncryptedFieldsFromServer(ctx context.Context, collectionName string) (interface{}, error) { + // Check if collection has an EncryptedFields configured server-side. + collSpecs, err := db.ListCollectionSpecifications(ctx, bson.D{{"name", collectionName}}) + if err != nil { + return nil, err + } + if len(collSpecs) == 0 { + return nil, nil + } + if len(collSpecs) > 1 { + return nil, fmt.Errorf("expected 1 or 0 results from listCollections, got %v", len(collSpecs)) + } + collSpec := collSpecs[0] + rawValue, err := collSpec.Options.LookupErr("encryptedFields") + if err == bsoncore.ErrElementNotFound { + return nil, nil + } else if err != nil { + return nil, err + } + + encryptedFields, ok := rawValue.DocumentOK() + if !ok { + return nil, fmt.Errorf("expected encryptedFields of %v to be document, got %v", collectionName, rawValue.Type) + } + + return encryptedFields, nil +} + +// getEncryptedFieldsFromServer tries to get an "encryptedFields" document associated with collectionName by checking the client EncryptedFieldsMap. +// Returns nil and no error if an EncryptedFieldsMap is not configured, or does not contain an entry for collectionName. +func (db *Database) getEncryptedFieldsFromMap(collectionName string) interface{} { + // Check the EncryptedFieldsMap + efMap := db.client.encryptedFieldsMap + if efMap == nil { + return nil + } + + namespace := db.name + "." + collectionName + + ef, ok := efMap[namespace] + if ok { + return ef + } + return nil +} + +// createCollectionWithEncryptedFields creates a collection with an EncryptedFields. +func (db *Database) createCollectionWithEncryptedFields(ctx context.Context, name string, ef interface{}, opts ...*options.CreateCollectionOptions) error { + efBSON, err := transformBsoncoreDocument(db.registry, ef, true /* mapAllowed */, "encryptedFields") + if err != nil { + return fmt.Errorf("error transforming document: %v", err) + } + + // Create the three encryption-related, associated collections: `escCollection`, `eccCollection` and `ecocCollection`. + + stateCollectionOpts := options.CreateCollection(). + SetClusteredIndex(bson.D{{"key", bson.D{{"_id", 1}}}, {"unique", true}}) + // Create ESCCollection. + escCollection, err := internal.GetEncryptedStateCollectionName(efBSON, name, internal.EncryptedStateCollection) + if err != nil { + return err + } + + if err := db.createCollection(ctx, escCollection, stateCollectionOpts); err != nil { + return err + } + + // Create ECCCollection. + eccCollection, err := internal.GetEncryptedStateCollectionName(efBSON, name, internal.EncryptedCacheCollection) + if err != nil { + return err + } + + if err := db.createCollection(ctx, eccCollection, stateCollectionOpts); err != nil { + return err + } + + // Create ECOCCollection. + ecocCollection, err := internal.GetEncryptedStateCollectionName(efBSON, name, internal.EncryptedCompactionCollection) + if err != nil { + return err + } + + if err := db.createCollection(ctx, ecocCollection, stateCollectionOpts); err != nil { + return err + } + + // Create a data collection with the 'encryptedFields' option. + op, err := db.createCollectionOperation(name, opts...) + if err != nil { + return err + } + + op.EncryptedFields(efBSON) + if err := db.executeCreateOperation(ctx, op); err != nil { + return err + } + + // Create an index on the __safeContent__ field in the collection @collectionName. + if _, err := db.Collection(name).Indexes().CreateOne(ctx, IndexModel{Keys: bson.D{{"__safeContent__", 1}}}); err != nil { + return fmt.Errorf("error creating safeContent index: %v", err) + } + + return nil +} + +// createCollection creates a collection without EncryptedFields. +func (db *Database) createCollection(ctx context.Context, name string, opts ...*options.CreateCollectionOptions) error { + op, err := db.createCollectionOperation(name, opts...) + if err != nil { + return err + } + return db.executeCreateOperation(ctx, op) +} + +func (db *Database) createCollectionOperation(name string, opts ...*options.CreateCollectionOptions) (*operation.Create, error) { cco := options.MergeCreateCollectionOptions(opts...) op := operation.NewCreate(name).ServerAPI(db.client.serverAPI) @@ -523,19 +657,26 @@ func (db *Database) CreateCollection(ctx context.Context, name string, opts ...* if cco.Collation != nil { op.Collation(bsoncore.Document(cco.Collation.ToDocument())) } + if cco.ChangeStreamPreAndPostImages != nil { + csppi, err := transformBsoncoreDocument(db.registry, cco.ChangeStreamPreAndPostImages, true, "changeStreamPreAndPostImages") + if err != nil { + return nil, err + } + op.ChangeStreamPreAndPostImages(csppi) + } if cco.DefaultIndexOptions != nil { idx, doc := bsoncore.AppendDocumentStart(nil) if cco.DefaultIndexOptions.StorageEngine != nil { storageEngine, err := transformBsoncoreDocument(db.registry, cco.DefaultIndexOptions.StorageEngine, true, "storageEngine") if err != nil { - return err + return nil, err } doc = bsoncore.AppendDocumentElement(doc, "storageEngine", storageEngine) } doc, err := bsoncore.AppendDocumentEnd(doc, idx) if err != nil { - return err + return nil, err } op.IndexOptionDefaults(doc) @@ -549,7 +690,7 @@ func (db *Database) CreateCollection(ctx context.Context, name string, opts ...* if cco.StorageEngine != nil { storageEngine, err := transformBsoncoreDocument(db.registry, cco.StorageEngine, true, "storageEngine") if err != nil { - return err + return nil, err } op.StorageEngine(storageEngine) } @@ -562,7 +703,7 @@ func (db *Database) CreateCollection(ctx context.Context, name string, opts ...* if cco.Validator != nil { validator, err := transformBsoncoreDocument(db.registry, cco.Validator, true, "validator") if err != nil { - return err + return nil, err } op.Validator(validator) } @@ -582,17 +723,24 @@ func (db *Database) CreateCollection(ctx context.Context, name string, opts ...* doc, err := bsoncore.AppendDocumentEnd(doc, idx) if err != nil { - return err + return nil, err } op.TimeSeries(doc) } + if cco.ClusteredIndex != nil { + clusteredIndex, err := transformBsoncoreDocument(db.registry, cco.ClusteredIndex, true, "clusteredIndex") + if err != nil { + return nil, err + } + op.ClusteredIndex(clusteredIndex) + } - return db.executeCreateOperation(ctx, op) + return op, nil } // CreateView executes a create command to explicitly create a view on the server. See -// https://docs.mongodb.com/manual/core/views/ for more information about views. This method requires driver version >= +// https://www.mongodb.com/docs/manual/core/views/ for more information about views. This method requires driver version >= // 1.4.0 and MongoDB version >= 3.4. // // The viewName parameter specifies the name of the view to create. diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/description/description.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/description/description.go index 40b1af13..e750e33b 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/description/description.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/description/description.go @@ -4,6 +4,7 @@ // 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 +// Package description contains types and functions for describing the state of MongoDB clusters. package description // import "go.mongodb.org/mongo-driver/mongo/description" // Unknown is an unknown server or topology kind. diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/doc.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/doc.go index 669aa14c..e6e4d9e5 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/doc.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/doc.go @@ -105,8 +105,21 @@ // // Note: Auto encryption is an enterprise-only feature. // -// The libmongocrypt C library is required when using client-side encryption. libmongocrypt version 1.3.0 or higher is -// required when using driver version 1.8.0 or higher. To install libmongocrypt, follow the instructions for your +// The libmongocrypt C library is required when using client-side encryption. Specific versions of libmongocrypt +// are required for different versions of the Go Driver: +// +// - Go Driver v1.2.0 requires libmongocrypt v1.0.0 or higher +// +// - Go Driver v1.5.0 requires libmongocrypt v1.1.0 or higher +// +// - Go Driver v1.8.0 requires libmongocrypt v1.3.0 or higher +// +// - Go Driver v1.10.0 requires libmongocrypt v1.5.0 or higher. +// There is a severe bug when calling RewrapManyDataKey with libmongocrypt versions less than 1.5.2. +// This bug may result in data corruption. +// Please use libmongocrypt 1.5.2 or higher when calling RewrapManyDataKey. +// +// To install libmongocrypt, follow the instructions for your // operating system: // // 1. Linux: follow the instructions listed at @@ -117,6 +130,7 @@ // to install packages via brew and compile the libmongocrypt source code. // // 3. Windows: +// // mkdir -p c:/libmongocrypt/bin // mkdir -p c:/libmongocrypt/include // @@ -128,18 +142,8 @@ // cp ./include/mongocrypt/*.h c:/libmongocrypt/include // export PATH=$PATH:/cygdrive/c/libmongocrypt/bin // -// libmongocrypt communicates with the mongocryptd process for automatic encryption. This process can be started manually -// or auto-spawned by the driver itself. To enable auto-spawning, ensure the process binary is on the PATH. To start it -// manually, use AutoEncryptionOptions: -// -// aeo := options.AutoEncryption() -// mongocryptdOpts := map[string]interface{}{ -// "mongocryptdBypassSpawn": true, -// } -// aeo.SetExtraOptions(mongocryptdOpts) -// To specify a process URI for mongocryptd, the "mongocryptdURI" option can be passed in the ExtraOptions map as well. -// See the ClientSideEncryption and ClientSideEncryptionCreateKey examples below for code samples about using this -// feature. +// libmongocrypt communicates with the mongocryptd process or mongo_crypt shared library for automatic encryption. +// See AutoEncryptionOpts.SetExtraOptions for options to configure use of mongocryptd or mongo_crypt. // -// [1] See https://docs.mongodb.com/manual/reference/connection-string/#dns-seedlist-connection-format +// [1] See https://www.mongodb.com/docs/manual/reference/connection-string/#dns-seedlist-connection-format package mongo diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/errors.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/errors.go index a16efab0..33e23573 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/errors.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/errors.go @@ -104,6 +104,9 @@ func IsTimeout(err error) bool { if err == context.DeadlineExceeded { return true } + if err == driver.ErrDeadlineWouldBeExceeded { + return true + } if ne, ok := err.(net.Error); ok { return ne.Timeout() } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/index_view.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/index_view.go index e8e260f1..a393c7e7 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/index_view.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/index_view.go @@ -45,7 +45,7 @@ type IndexView struct { // IndexModel represents a new index to be created. type IndexModel struct { // A document describing which keys should be used for the index. It cannot be nil. This must be an order-preserving - // type such as bson.D. Map types such as bson.M are not valid. See https://docs.mongodb.com/manual/indexes/#indexes + // type such as bson.D. Map types such as bson.M are not valid. See https://www.mongodb.com/docs/manual/indexes/#indexes // for examples of valid documents. Keys interface{} @@ -65,7 +65,7 @@ func isNamespaceNotFoundError(err error) bool { // The opts parameter can be used to specify options for this operation (see the options.ListIndexesOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/listIndexes/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/listIndexes/. func (iv IndexView) List(ctx context.Context, opts ...*options.ListIndexesOptions) (*Cursor, error) { if ctx == nil { ctx = context.Background() @@ -95,7 +95,8 @@ func (iv IndexView) List(ctx context.Context, opts ...*options.ListIndexesOption Session(sess).CommandMonitor(iv.coll.client.monitor). ServerSelector(selector).ClusterClock(iv.coll.client.clock). Database(iv.coll.db.name).Collection(iv.coll.name). - Deployment(iv.coll.client.deployment).ServerAPI(iv.coll.client.serverAPI) + Deployment(iv.coll.client.deployment).ServerAPI(iv.coll.client.serverAPI). + Timeout(iv.coll.client.timeout) cursorOpts := iv.coll.client.createBaseCursorOptions() lio := options.MergeListIndexesOptions(opts...) @@ -175,7 +176,7 @@ func (iv IndexView) CreateOne(ctx context.Context, model IndexModel, opts ...*op // The opts parameter can be used to specify options for this operation (see the options.CreateIndexesOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/createIndexes/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/createIndexes/. func (iv IndexView) CreateMany(ctx context.Context, models []IndexModel, opts ...*options.CreateIndexesOptions) ([]string, error) { names := make([]string, 0, len(models)) @@ -256,7 +257,8 @@ func (iv IndexView) CreateMany(ctx context.Context, models []IndexModel, opts .. op := operation.NewCreateIndexes(indexes). Session(sess).WriteConcern(wc).ClusterClock(iv.coll.client.clock). Database(iv.coll.db.name).Collection(iv.coll.name).CommandMonitor(iv.coll.client.monitor). - Deployment(iv.coll.client.deployment).ServerSelector(selector).ServerAPI(iv.coll.client.serverAPI) + Deployment(iv.coll.client.deployment).ServerSelector(selector).ServerAPI(iv.coll.client.serverAPI). + Timeout(iv.coll.client.timeout) if option.MaxTime != nil { op.MaxTimeMS(int64(*option.MaxTime / time.Millisecond)) @@ -400,7 +402,8 @@ func (iv IndexView) drop(ctx context.Context, name string, opts ...*options.Drop Session(sess).WriteConcern(wc).CommandMonitor(iv.coll.client.monitor). ServerSelector(selector).ClusterClock(iv.coll.client.clock). Database(iv.coll.db.name).Collection(iv.coll.name). - Deployment(iv.coll.client.deployment).ServerAPI(iv.coll.client.serverAPI) + Deployment(iv.coll.client.deployment).ServerAPI(iv.coll.client.serverAPI). + Timeout(iv.coll.client.timeout) if dio.MaxTime != nil { op.MaxTimeMS(int64(*dio.MaxTime / time.Millisecond)) } @@ -427,7 +430,7 @@ func (iv IndexView) drop(ctx context.Context, name string, opts ...*options.Drop // The opts parameter can be used to specify options for this operation (see the options.DropIndexesOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/dropIndexes/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/dropIndexes/. func (iv IndexView) DropOne(ctx context.Context, name string, opts ...*options.DropIndexesOptions) (bson.Raw, error) { if name == "*" { return nil, ErrMultipleIndexDrop @@ -443,7 +446,7 @@ func (iv IndexView) DropOne(ctx context.Context, name string, opts ...*options.D // The opts parameter can be used to specify options for this operation (see the options.DropIndexesOptions // documentation). // -// For more information about the command, see https://docs.mongodb.com/manual/reference/command/dropIndexes/. +// For more information about the command, see https://www.mongodb.com/docs/manual/reference/command/dropIndexes/. func (iv IndexView) DropAll(ctx context.Context, opts ...*options.DropIndexesOptions) (bson.Raw, error) { return iv.drop(ctx, "*", opts...) } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/mongo.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/mongo.go index da29175c..80282527 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/mongo.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/mongo.go @@ -123,17 +123,6 @@ func transformAndEnsureID(registry *bsoncodec.Registry, val interface{}) (bsonco return doc, id, nil } -func transformDocument(registry *bsoncodec.Registry, val interface{}) (bsonx.Doc, error) { - if doc, ok := val.(bsonx.Doc); ok { - return doc.Copy(), nil - } - b, err := transformBsoncoreDocument(registry, val, true, "document") - if err != nil { - return nil, err - } - return bsonx.ReadDoc(b) -} - func transformBsoncoreDocument(registry *bsoncodec.Registry, val interface{}, mapAllowed bool, paramName string) (bsoncore.Document, error) { if registry == nil { registry = bson.DefaultRegistry diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/mongocryptd.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/mongocryptd.go index c36b1d31..016ccef6 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/mongocryptd.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/mongocryptd.go @@ -28,17 +28,18 @@ const ( var defaultTimeoutArgs = []string{"--idleShutdownTimeoutSecs=60"} var databaseOpts = options.Database().SetReadConcern(readconcern.New()).SetReadPreference(readpref.Primary()) -type mcryptClient struct { +type mongocryptdClient struct { bypassSpawn bool client *Client path string spawnArgs []string } -func newMcryptClient(opts *options.AutoEncryptionOptions) (*mcryptClient, error) { +func newMongocryptdClient(cryptSharedLibAvailable bool, opts *options.AutoEncryptionOptions) (*mongocryptdClient, error) { // create mcryptClient instance and spawn process if necessary var bypassSpawn bool var bypassAutoEncryption bool + if bypass, ok := opts.ExtraOptions["mongocryptdBypassSpawn"]; ok { bypassSpawn = bypass.(bool) } @@ -46,10 +47,15 @@ func newMcryptClient(opts *options.AutoEncryptionOptions) (*mcryptClient, error) bypassAutoEncryption = *opts.BypassAutoEncryption } - mc := &mcryptClient{ - // mongocryptd should not be spawned if mongocryptdBypassSpawn is passed or if bypassAutoEncryption is - // specified because it is not used during decryption - bypassSpawn: bypassSpawn || bypassAutoEncryption, + bypassQueryAnalysis := opts.BypassQueryAnalysis != nil && *opts.BypassQueryAnalysis + + mc := &mongocryptdClient{ + // mongocryptd should not be spawned if any of these conditions are true: + // - mongocryptdBypassSpawn is passed + // - bypassAutoEncryption is true because mongocryptd is not used during decryption + // - bypassQueryAnalysis is true because mongocryptd is not used during decryption + // - the crypt_shared library is available because it replaces all mongocryptd functionality. + bypassSpawn: bypassSpawn || bypassAutoEncryption || bypassQueryAnalysis || cryptSharedLibAvailable, } if !mc.bypassSpawn { @@ -76,7 +82,7 @@ func newMcryptClient(opts *options.AutoEncryptionOptions) (*mcryptClient, error) } // markCommand executes the given command on mongocryptd. -func (mc *mcryptClient) markCommand(ctx context.Context, dbName string, cmd bsoncore.Document) (bsoncore.Document, error) { +func (mc *mongocryptdClient) markCommand(ctx context.Context, dbName string, cmd bsoncore.Document) (bsoncore.Document, error) { // Remove the explicit session from the context if one is set. // The explicit session will be from a different client. // If an explicit session is set, it is applied after automatic encryption. @@ -105,16 +111,16 @@ func (mc *mcryptClient) markCommand(ctx context.Context, dbName string, cmd bson } // connect connects the underlying Client instance. This must be called before performing any mark operations. -func (mc *mcryptClient) connect(ctx context.Context) error { +func (mc *mongocryptdClient) connect(ctx context.Context) error { return mc.client.Connect(ctx) } // disconnect disconnects the underlying Client instance. This should be called after all operations have completed. -func (mc *mcryptClient) disconnect(ctx context.Context) error { +func (mc *mongocryptdClient) disconnect(ctx context.Context) error { return mc.client.Disconnect(ctx) } -func (mc *mcryptClient) spawnProcess() error { +func (mc *mongocryptdClient) spawnProcess() error { // Ignore gosec warning about subprocess launched with externally-provided path variable. /* #nosec G204 */ cmd := exec.Command(mc.path, mc.spawnArgs...) diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/aggregateoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/aggregateoptions.go index cf0da5fc..38ed2490 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/aggregateoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/aggregateoptions.go @@ -23,7 +23,7 @@ type AggregateOptions struct { // If true, writes executed as part of the operation will opt out of document-level validation on the server. This // option is valid for MongoDB versions >= 3.2 and is ignored for previous server versions. The default value is - // false. See https://docs.mongodb.com/manual/core/schema-validation/ for more information about document + // false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document // validation. BypassDocumentValidation *bool @@ -34,6 +34,10 @@ type AggregateOptions struct { // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime + // is ignored if Timeout is set on the client. MaxTime *time.Duration // The maximum amount of time that the server should wait for new documents to satisfy a tailable cursor query. @@ -41,7 +45,7 @@ type AggregateOptions struct { MaxAwaitTime *time.Duration // A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation. - // The default is the empty string, which means that no comment will be included in the logs. + // The default is nil, which means that no comment will be included in the logs. Comment *string // The index to use for the aggregation. This should either be the index name as a string or the index specification @@ -91,6 +95,10 @@ func (ao *AggregateOptions) SetCollation(c *Collation) *AggregateOptions { } // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (ao *AggregateOptions) SetMaxTime(d time.Duration) *AggregateOptions { ao.MaxTime = &d return ao diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/autoencryptionoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/autoencryptionoptions.go index 89c3c05f..375d8999 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/autoencryptionoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/autoencryptionoptions.go @@ -32,6 +32,8 @@ type AutoEncryptionOptions struct { BypassAutoEncryption *bool ExtraOptions map[string]interface{} TLSConfig map[string]*tls.Config + EncryptedFieldsMap map[string]interface{} + BypassQueryAnalysis *bool } // AutoEncryption creates a new AutoEncryptionOptions configured with default values. @@ -90,7 +92,35 @@ func (a *AutoEncryptionOptions) SetBypassAutoEncryption(bypass bool) *AutoEncryp return a } -// SetExtraOptions specifies a map of options to configure the mongocryptd process. +// SetExtraOptions specifies a map of options to configure the mongocryptd process or mongo_crypt shared library. +// +// Supported Extra Options +// +// "mongocryptdURI" - The mongocryptd URI. Allows setting a custom URI used to communicate with the +// mongocryptd process. The default is "mongodb://localhost:27020", which works with the default +// mongocryptd process spawned by the Client. Must be a string. +// +// "mongocryptdBypassSpawn" - If set to true, the Client will not attempt to spawn a mongocryptd +// process. Must be a bool. +// +// "mongocryptdSpawnPath" - The path used when spawning mongocryptd. +// Defaults to empty string and spawns mongocryptd from system path. Must be a string. +// +// "mongocryptdSpawnArgs" - Command line arguments passed when spawning mongocryptd. +// Defaults to ["--idleShutdownTimeoutSecs=60"]. Must be an array of strings. +// +// "cryptSharedLibRequired" - If set to true, Client creation will return an error if the +// crypt_shared library is not loaded. If unset or set to false, Client creation will not return an +// error if the crypt_shared library is not loaded. The default is unset. Must be a bool. +// +// "cryptSharedLibPath" - The crypt_shared library override path. This must be the path to the +// crypt_shared dynamic library file (for example, a .so, .dll, or .dylib file), not the directory +// that contains it. If the override path is a relative path, it will be resolved relative to the +// working directory of the process. If the override path is a relative path and the first path +// component is the literal string "$ORIGIN", the "$ORIGIN" component will be replaced by the +// absolute path to the directory containing the linked libmongocrypt library. Setting an override +// path disables the default system library search path. If an override path is specified but the +// crypt_shared library cannot be loaded, Client creation will return an error. Must be a string. func (a *AutoEncryptionOptions) SetExtraOptions(extraOpts map[string]interface{}) *AutoEncryptionOptions { a.ExtraOptions = extraOpts return a @@ -113,6 +143,22 @@ func (a *AutoEncryptionOptions) SetTLSConfig(tlsOpts map[string]*tls.Config) *Au return a } +// SetEncryptedFieldsMap specifies a map from namespace to local EncryptedFieldsMap document. +// EncryptedFieldsMap is used for Queryable Encryption. +// Queryable Encryption is in Public Technical Preview. Queryable Encryption should not be used in production and is subject to backwards breaking changes. +func (a *AutoEncryptionOptions) SetEncryptedFieldsMap(ef map[string]interface{}) *AutoEncryptionOptions { + a.EncryptedFieldsMap = ef + return a +} + +// SetBypassQueryAnalysis specifies whether or not query analysis should be used for automatic encryption. +// Use this option when using explicit encryption with Queryable Encryption. +// Queryable Encryption is in Public Technical Preview. Queryable Encryption should not be used in production and is subject to backwards breaking changes. +func (a *AutoEncryptionOptions) SetBypassQueryAnalysis(bypass bool) *AutoEncryptionOptions { + a.BypassQueryAnalysis = &bypass + return a +} + // MergeAutoEncryptionOptions combines the argued AutoEncryptionOptions in a last-one wins fashion. func MergeAutoEncryptionOptions(opts ...*AutoEncryptionOptions) *AutoEncryptionOptions { aeo := AutoEncryption() @@ -142,6 +188,12 @@ func MergeAutoEncryptionOptions(opts ...*AutoEncryptionOptions) *AutoEncryptionO if opt.TLSConfig != nil { aeo.TLSConfig = opt.TLSConfig } + if opt.EncryptedFieldsMap != nil { + aeo.EncryptedFieldsMap = opt.EncryptedFieldsMap + } + if opt.BypassQueryAnalysis != nil { + aeo.BypassQueryAnalysis = opt.BypassQueryAnalysis + } } return aeo diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/bulkwriteoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/bulkwriteoptions.go index 2786ab2c..0c36d0b7 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/bulkwriteoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/bulkwriteoptions.go @@ -13,10 +13,14 @@ var DefaultOrdered = true type BulkWriteOptions struct { // If true, writes executed as part of the operation will opt out of document-level validation on the server. This // option is valid for MongoDB versions >= 3.2 and is ignored for previous server versions. The default value is - // false. See https://docs.mongodb.com/manual/core/schema-validation/ for more information about document + // false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document // validation. BypassDocumentValidation *bool + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} + // If true, no writes will be executed after one fails. The default value is true. Ordered *bool @@ -34,6 +38,12 @@ func BulkWrite() *BulkWriteOptions { } } +// SetComment sets the value for the Comment field. +func (b *BulkWriteOptions) SetComment(comment interface{}) *BulkWriteOptions { + b.Comment = comment + return b +} + // SetOrdered sets the value for the Ordered field. func (b *BulkWriteOptions) SetOrdered(ordered bool) *BulkWriteOptions { b.Ordered = &ordered @@ -63,6 +73,9 @@ func MergeBulkWriteOptions(opts ...*BulkWriteOptions) *BulkWriteOptions { if opt == nil { continue } + if opt.Comment != nil { + b.Comment = opt.Comment + } if opt.Ordered != nil { b.Ordered = opt.Ordered } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/changestreamoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/changestreamoptions.go index eb9b0643..862abcd3 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/changestreamoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/changestreamoptions.go @@ -23,11 +23,18 @@ type ChangeStreamOptions struct { // default value is nil, which means the default collation of the collection will be used. Collation *Collation - // Specifies whether the updated document should be returned in change notifications for update operations along - // with the deltas describing the changes made to the document. The default is options.Default, which means that - // the updated document will not be included in the change notification. + // A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation. + // The default is nil, which means that no comment will be included in the logs. + Comment *string + + // Specifies how the updated document should be returned in change notifications for update operations. The default + // is options.Default, which means that only partial update deltas will be included in the change notification. FullDocument *FullDocument + // Specifies how the pre-update document should be returned in change notifications for update operations. The default + // is options.Off, which means that the pre-update document will not be included in the change notification. + FullDocumentBeforeChange *FullDocument + // The maximum amount of time that the server should wait for new documents to satisfy a tailable cursor query. MaxAwaitTime *time.Duration @@ -36,6 +43,11 @@ type ChangeStreamOptions struct { // StartAfter must not be set. ResumeAfter interface{} + // ShowExpandedEvents specifies whether the server will return an expanded list of change stream events. Additional + // events include: createIndexes, dropIndexes, modify, create, shardCollection, reshardCollection and + // refineCollectionShardKey. This option is only valid for MongoDB versions >= 6.0. + ShowExpandedEvents *bool + // If specified, the change stream will only return changes that occurred at or after the given timestamp. This // option is only valid for MongoDB versions >= 4.0. If this is specified, ResumeAfter and StartAfter must not be // set. @@ -78,12 +90,24 @@ func (cso *ChangeStreamOptions) SetCollation(c Collation) *ChangeStreamOptions { return cso } +// SetComment sets the value for the Comment field. +func (cso *ChangeStreamOptions) SetComment(comment string) *ChangeStreamOptions { + cso.Comment = &comment + return cso +} + // SetFullDocument sets the value for the FullDocument field. func (cso *ChangeStreamOptions) SetFullDocument(fd FullDocument) *ChangeStreamOptions { cso.FullDocument = &fd return cso } +// SetFullDocumentBeforeChange sets the value for the FullDocumentBeforeChange field. +func (cso *ChangeStreamOptions) SetFullDocumentBeforeChange(fdbc FullDocument) *ChangeStreamOptions { + cso.FullDocumentBeforeChange = &fdbc + return cso +} + // SetMaxAwaitTime sets the value for the MaxAwaitTime field. func (cso *ChangeStreamOptions) SetMaxAwaitTime(d time.Duration) *ChangeStreamOptions { cso.MaxAwaitTime = &d @@ -96,6 +120,12 @@ func (cso *ChangeStreamOptions) SetResumeAfter(rt interface{}) *ChangeStreamOpti return cso } +// SetShowExpandedEvents sets the value for the ShowExpandedEvents field. +func (cso *ChangeStreamOptions) SetShowExpandedEvents(see bool) *ChangeStreamOptions { + cso.ShowExpandedEvents = &see + return cso +} + // SetStartAtOperationTime sets the value for the StartAtOperationTime field. func (cso *ChangeStreamOptions) SetStartAtOperationTime(t *primitive.Timestamp) *ChangeStreamOptions { cso.StartAtOperationTime = t @@ -139,15 +169,24 @@ func MergeChangeStreamOptions(opts ...*ChangeStreamOptions) *ChangeStreamOptions if cso.Collation != nil { csOpts.Collation = cso.Collation } + if cso.Comment != nil { + csOpts.Comment = cso.Comment + } if cso.FullDocument != nil { csOpts.FullDocument = cso.FullDocument } + if cso.FullDocumentBeforeChange != nil { + csOpts.FullDocumentBeforeChange = cso.FullDocumentBeforeChange + } if cso.MaxAwaitTime != nil { csOpts.MaxAwaitTime = cso.MaxAwaitTime } if cso.ResumeAfter != nil { csOpts.ResumeAfter = cso.ResumeAfter } + if cso.ShowExpandedEvents != nil { + csOpts.ShowExpandedEvents = cso.ShowExpandedEvents + } if cso.StartAtOperationTime != nil { csOpts.StartAtOperationTime = cso.StartAtOperationTime } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/clientoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/clientoptions.go index 115cc642..742a4da9 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/clientoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/clientoptions.go @@ -45,7 +45,7 @@ type ContextDialer interface { // AuthMechanism: the mechanism to use for authentication. Supported values include "SCRAM-SHA-256", "SCRAM-SHA-1", // "MONGODB-CR", "PLAIN", "GSSAPI", "MONGODB-X509", and "MONGODB-AWS". This can also be set through the "authMechanism" // URI option. (e.g. "authMechanism=PLAIN"). For more information, see -// https://docs.mongodb.com/manual/core/authentication-mechanisms/. +// https://www.mongodb.com/docs/manual/core/authentication-mechanisms/. // // AuthMechanismProperties can be used to specify additional configuration options for certain mechanisms. They can also // be set through the "authMechanismProperites" URI option @@ -121,9 +121,9 @@ type ClientOptions struct { RetryWrites *bool ServerAPIOptions *ServerAPIOptions ServerSelectionTimeout *time.Duration - SocketTimeout *time.Duration SRVMaxHosts *int SRVServiceName *string + Timeout *time.Duration TLSConfig *tls.Config WriteConcern *writeconcern.WriteConcern ZlibLevel *int @@ -151,6 +151,13 @@ type ClientOptions struct { // Deprecated: This option is for internal use only and should not be set. It may be changed or removed in any // release. Deployment driver.Deployment + + // SocketTimeout specifies the timeout to be used for the Client's socket reads and writes. + // + // NOTE(benjirewis): SocketTimeout will be deprecated in a future release. The more general Timeout option + // may be used in its place to control the amount of time that a single operation can run before returning + // an error. Setting SocketTimeout and Timeout on a single client will result in undefined behavior. + SocketTimeout *time.Duration } // Client creates a new ClientOptions instance. @@ -160,57 +167,58 @@ func Client() *ClientOptions { // Validate validates the client options. This method will return the first error found. func (c *ClientOptions) Validate() error { - c.validateAndSetError() - return c.err -} - -func (c *ClientOptions) validateAndSetError() { if c.err != nil { - return + return c.err } + c.err = c.validate() + return c.err +} +func (c *ClientOptions) validate() error { // Direct connections cannot be made if multiple hosts are specified or an SRV URI is used. if c.Direct != nil && *c.Direct { if len(c.Hosts) > 1 { - c.err = errors.New("a direct connection cannot be made if multiple hosts are specified") - return + return errors.New("a direct connection cannot be made if multiple hosts are specified") } if c.cs != nil && c.cs.Scheme == connstring.SchemeMongoDBSRV { - c.err = errors.New("a direct connection cannot be made if an SRV URI is used") - return + return errors.New("a direct connection cannot be made if an SRV URI is used") } } + if c.MaxPoolSize != nil && c.MinPoolSize != nil && *c.MaxPoolSize != 0 && *c.MinPoolSize > *c.MaxPoolSize { + return fmt.Errorf("minPoolSize must be less than or equal to maxPoolSize, got minPoolSize=%d maxPoolSize=%d", *c.MinPoolSize, *c.MaxPoolSize) + } + // verify server API version if ServerAPIOptions are passed in. if c.ServerAPIOptions != nil { - c.err = c.ServerAPIOptions.ServerAPIVersion.Validate() + if err := c.ServerAPIOptions.ServerAPIVersion.Validate(); err != nil { + return err + } } // Validation for load-balanced mode. if c.LoadBalanced != nil && *c.LoadBalanced { if len(c.Hosts) > 1 { - c.err = internal.ErrLoadBalancedWithMultipleHosts - return + return internal.ErrLoadBalancedWithMultipleHosts } if c.ReplicaSet != nil { - c.err = internal.ErrLoadBalancedWithReplicaSet - return + return internal.ErrLoadBalancedWithReplicaSet } if c.Direct != nil { - c.err = internal.ErrLoadBalancedWithDirectConnection - return + return internal.ErrLoadBalancedWithDirectConnection } } // Validation for srvMaxHosts. if c.SRVMaxHosts != nil && *c.SRVMaxHosts > 0 { if c.ReplicaSet != nil { - c.err = internal.ErrSRVMaxHostsWithReplicaSet + return internal.ErrSRVMaxHostsWithReplicaSet } if c.LoadBalanced != nil && *c.LoadBalanced { - c.err = internal.ErrSRVMaxHostsWithLoadBalanced + return internal.ErrSRVMaxHostsWithLoadBalanced } } + return nil } // GetURI returns the original URI used to configure the ClientOptions instance. If ApplyURI was not called during @@ -231,7 +239,7 @@ func (c *ClientOptions) GetURI() string { // If the URI format is incorrect or there are conflicting options specified in the URI an error will be recorded and // can be retrieved by calling Validate. // -// For more information about the URI format, see https://docs.mongodb.com/manual/reference/connection-string/. See +// For more information about the URI format, see https://www.mongodb.com/docs/manual/reference/connection-string/. See // mongo.Connect documentation for examples of using URIs for different Client configurations. func (c *ClientOptions) ApplyURI(uri string) *ClientOptions { if c.err != nil { @@ -445,6 +453,10 @@ func (c *ClientOptions) ApplyURI(uri string) *ClientOptions { c.DisableOCSPEndpointCheck = &cs.SSLDisableOCSPEndpointCheck } + if cs.TimeoutSet { + c.Timeout = &cs.Timeout + } + return c } @@ -470,12 +482,12 @@ func (c *ClientOptions) SetAuth(auth Credential) *ClientOptions { // // 2. "zlib" - requires server version >= 3.6 // -// 3. "zstd" - requires server version >= 4.2, and driver version >= 1.2.0 with cgo support enabled or driver version >= 1.3.0 -// without cgo +// 3. "zstd" - requires server version >= 4.2, and driver version >= 1.2.0 with cgo support enabled or driver +// version >= 1.3.0 without cgo. // // If this option is specified, the driver will perform a negotiation with the server to determine a common list of of // compressors and will use the first one in that list when performing operations. See -// https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-networkmessagecompressors for more +// https://www.mongodb.com/docs/manual/reference/program/mongod/#cmdoption-mongod-networkmessagecompressors for more // information about configuring compression on the server and the server-side defaults. // // This can also be set through the "compressors" URI option (e.g. "compressors=zstd,zlib,snappy"). The default is @@ -636,7 +648,7 @@ func (c *ClientOptions) SetReadConcern(rc *readconcern.ReadConcern) *ClientOptio // 3. "maxStalenessSeconds" (or "maxStaleness"): Specify a maximum replication lag for reads from secondaries in a // replica set (e.g. "maxStalenessSeconds=10"). // -// The default is readpref.Primary(). See https://docs.mongodb.com/manual/core/read-preference/#read-preference for +// The default is readpref.Primary(). See https://www.mongodb.com/docs/manual/core/read-preference/#read-preference for // more information about read preferences. func (c *ClientOptions) SetReadPreference(rp *readpref.ReadPref) *ClientOptions { c.ReadPreference = rp @@ -702,11 +714,31 @@ func (c *ClientOptions) SetServerSelectionTimeout(d time.Duration) *ClientOption // SetSocketTimeout specifies how long the driver will wait for a socket read or write to return before returning a // network error. This can also be set through the "socketTimeoutMS" URI option (e.g. "socketTimeoutMS=1000"). The // default value is 0, meaning no timeout is used and socket operations can block indefinitely. +// +// NOTE(benjirewis): SocketTimeout will be deprecated in a future release. The more general Timeout option may be used +// in its place to control the amount of time that a single operation can run before returning an error. Setting +// SocketTimeout and Timeout on a single client will result in undefined behavior. func (c *ClientOptions) SetSocketTimeout(d time.Duration) *ClientOptions { c.SocketTimeout = &d return c } +// SetTimeout specifies the amount of time that a single operation run on this Client can execute before returning an error. +// The deadline of any operation run through the Client will be honored above any Timeout set on the Client; Timeout will only +// be honored if there is no deadline on the operation Context. Timeout can also be set through the "timeoutMS" URI option +// (e.g. "timeoutMS=1000"). The default value is nil, meaning operations do not inherit a timeout from the Client. +// +// If any Timeout is set (even 0) on the Client, the values of MaxTime on operations, TransactionOptions.MaxCommitTime and +// SessionOptions.DefaultMaxCommitTime will be ignored. Setting Timeout and ClientOptions.SocketTimeout or WriteConcern.wTimeout +// will result in undefined behavior. +// +// NOTE(benjirewis): SetTimeout represents unstable, provisional API. The behavior of the driver when a Timeout is specified is +// subject to change. +func (c *ClientOptions) SetTimeout(d time.Duration) *ClientOptions { + c.Timeout = &d + return c +} + // SetTLSConfig specifies a tls.Config instance to use use to configure TLS on all connections created to the cluster. // This can also be set through the following URI options: // @@ -920,6 +952,9 @@ func MergeClientOptions(opts ...*ClientOptions) *ClientOptions { if opt.SRVServiceName != nil { c.SRVServiceName = opt.SRVServiceName } + if opt.Timeout != nil { + c.Timeout = opt.Timeout + } if opt.TLSConfig != nil { c.TLSConfig = opt.TLSConfig } @@ -983,7 +1018,9 @@ func addClientCertFromSeparateFiles(cfg *tls.Config, keyFile, certFile, keyPassw return "", err } - data := append(keyData, '\n') + data := make([]byte, 0, len(keyData)+len(certData)+1) + data = append(data, keyData...) + data = append(data, '\n') data = append(data, certData...) return addClientCertFromBytes(cfg, data, keyPassword) } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/collectionoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/collectionoptions.go index 5c811147..e8b68a27 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/collectionoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/collectionoptions.go @@ -15,20 +15,20 @@ import ( // CollectionOptions represents options that can be used to configure a Collection. type CollectionOptions struct { - // The read concern to use for operations executed on the Collection. The default value is nil, which means that - // the read concern of the database used to configure the Collection will be used. + // ReadConcern is the read concern to use for operations executed on the Collection. The default value is nil, which means that + // the read concern of the Database used to configure the Collection will be used. ReadConcern *readconcern.ReadConcern - // The write concern to use for operations executed on the Collection. The default value is nil, which means that - // the write concern of the database used to configure the Collection will be used. + // WriteConcern is the write concern to use for operations executed on the Collection. The default value is nil, which means that + // the write concern of the Database used to configure the Collection will be used. WriteConcern *writeconcern.WriteConcern - // The read preference to use for operations executed on the Collection. The default value is nil, which means that - // the read preference of the database used to configure the Collection will be used. + // ReadPreference is the read preference to use for operations executed on the Collection. The default value is nil, which means that + // the read preference of the Database used to configure the Collection will be used. ReadPreference *readpref.ReadPref - // The BSON registry to marshal and unmarshal documents for operations executed on the Collection. The default value - // is nil, which means that the registry of the database used to configure the Collection will be used. + // Registry is the BSON registry to marshal and unmarshal documents for operations executed on the Collection. The default value + // is nil, which means that the registry of the Database used to configure the Collection will be used. Registry *bsoncodec.Registry } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/countoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/countoptions.go index 094524c1..f772ec4a 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/countoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/countoptions.go @@ -15,6 +15,13 @@ type CountOptions struct { // default value is nil, which means the default collation of the collection will be used. Collation *Collation + // TODO(GODRIVER-2386): CountOptions executor uses aggregation under the hood, which means this type has to be + // TODO a string for now. This can be replaced with `Comment interface{}` once 2386 is implemented. + + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default is nil, which means that no comment will be included in the logs. + Comment *string + // The index to use for the aggregation. This should either be the index name as a string or the index specification // as a document. The driver will return an error if the hint parameter is a multi-key map. The default value is nil, // which means that no hint will be sent. @@ -26,6 +33,10 @@ type CountOptions struct { // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there is // no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used in + // its place to control the amount of time that a single operation can run before returning an error. MaxTime is + // ignored if Timeout is set on the client. MaxTime *time.Duration // The number of documents to skip before counting. The default value is 0. @@ -43,6 +54,12 @@ func (co *CountOptions) SetCollation(c *Collation) *CountOptions { return co } +// SetComment sets the value for the Comment field. +func (co *CountOptions) SetComment(c string) *CountOptions { + co.Comment = &c + return co +} + // SetHint sets the value for the Hint field. func (co *CountOptions) SetHint(h interface{}) *CountOptions { co.Hint = h @@ -56,6 +73,10 @@ func (co *CountOptions) SetLimit(i int64) *CountOptions { } // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (co *CountOptions) SetMaxTime(d time.Duration) *CountOptions { co.MaxTime = &d return co @@ -77,6 +98,9 @@ func MergeCountOptions(opts ...*CountOptions) *CountOptions { if co.Collation != nil { countOpts.Collation = co.Collation } + if co.Comment != nil { + countOpts.Comment = co.Comment + } if co.Hint != nil { countOpts.Hint = co.Hint } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/createcollectionoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/createcollectionoptions.go index 130c8e75..6fc7d066 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/createcollectionoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/createcollectionoptions.go @@ -67,7 +67,7 @@ func (tso *TimeSeriesOptions) SetGranularity(granularity string) *TimeSeriesOpti // CreateCollectionOptions represents options that can be used to configure a CreateCollection operation. type CreateCollectionOptions struct { - // Specifies if the collection is capped (see https://docs.mongodb.com/manual/core/capped-collections/). If true, + // Specifies if the collection is capped (see https://www.mongodb.com/docs/manual/core/capped-collections/). If true, // the SizeInBytes option must also be specified. The default value is false. Capped *bool @@ -75,6 +75,12 @@ type CreateCollectionOptions struct { // For previous server versions, the driver will return an error if this option is used. The default value is nil. Collation *Collation + // Specifies how change streams opened against the collection can return pre- and post-images of updated + // documents. The value must be a document in the form {<option name>: <options>}. This option is only valid for + // MongoDB versions >= 6.0. The default value is nil, which means that change streams opened against the collection + // will not return pre- and post-images of updated documents in any way. + ChangeStreamPreAndPostImages interface{} + // Specifies a default configuration for indexes on the collection. This option is only valid for MongoDB versions // >= 3.4. The default value is nil, meaning indexes will be configured using server defaults. DefaultIndexOptions *DefaultIndexOptions @@ -94,37 +100,47 @@ type CreateCollectionOptions struct { StorageEngine interface{} // Specifies what should happen if a document being inserted does not pass validation. Valid values are "error" and - // "warn". See https://docs.mongodb.com/manual/core/schema-validation/#accept-or-reject-invalid-documents for more + // "warn". See https://www.mongodb.com/docs/manual/core/schema-validation/#accept-or-reject-invalid-documents for more // information. This option is only valid for MongoDB versions >= 3.2. The default value is "error". ValidationAction *string // Specifies how strictly the server applies validation rules to existing documents in the collection during update // operations. Valid values are "off", "strict", and "moderate". See - // https://docs.mongodb.com/manual/core/schema-validation/#existing-documents for more information. This option is + // https://www.mongodb.com/docs/manual/core/schema-validation/#existing-documents for more information. This option is // only valid for MongoDB versions >= 3.2. The default value is "strict". ValidationLevel *string // A document specifying validation rules for the collection. See - // https://docs.mongodb.com/manual/core/schema-validation/ for more information about schema validation. This option + // https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about schema validation. This option // is only valid for MongoDB versions >= 3.2. The default value is nil, meaning no validator will be used for the // collection. Validator interface{} // Value indicating after how many seconds old time-series data should be deleted. See - // https://docs.mongodb.com/manual/reference/command/create/ for supported options, and - // https://docs.mongodb.com/manual/core/timeseries-collections/ for more information on time-series + // https://www.mongodb.com/docs/manual/reference/command/create/ for supported options, and + // https://www.mongodb.com/docs/manual/core/timeseries-collections/ for more information on time-series // collections. // // This option is only valid for MongoDB versions >= 5.0 ExpireAfterSeconds *int64 // Options for specifying a time-series collection. See - // https://docs.mongodb.com/manual/reference/command/create/ for supported options, and - // https://docs.mongodb.com/manual/core/timeseries-collections/ for more information on time-series + // https://www.mongodb.com/docs/manual/reference/command/create/ for supported options, and + // https://www.mongodb.com/docs/manual/core/timeseries-collections/ for more information on time-series // collections. // // This option is only valid for MongoDB versions >= 5.0 TimeSeriesOptions *TimeSeriesOptions + + // EncryptedFields configures encrypted fields. + // + // This option is only valid for MongoDB versions >= 6.0 + EncryptedFields interface{} + + // ClusteredIndex is used to create a collection with a clustered index. + // + // This option is only valid for MongoDB versions >= 5.3 + ClusteredIndex interface{} } // CreateCollection creates a new CreateCollectionOptions instance. @@ -144,6 +160,12 @@ func (c *CreateCollectionOptions) SetCollation(collation *Collation) *CreateColl return c } +// SetChangeStreamPreAndPostImages sets the value for the ChangeStreamPreAndPostImages field. +func (c *CreateCollectionOptions) SetChangeStreamPreAndPostImages(csppi interface{}) *CreateCollectionOptions { + c.ChangeStreamPreAndPostImages = &csppi + return c +} + // SetDefaultIndexOptions sets the value for the DefaultIndexOptions field. func (c *CreateCollectionOptions) SetDefaultIndexOptions(opts *DefaultIndexOptions) *CreateCollectionOptions { c.DefaultIndexOptions = opts @@ -198,6 +220,18 @@ func (c *CreateCollectionOptions) SetTimeSeriesOptions(timeSeriesOpts *TimeSerie return c } +// SetEncryptedFields sets the encrypted fields for encrypted collections. +func (c *CreateCollectionOptions) SetEncryptedFields(encryptedFields interface{}) *CreateCollectionOptions { + c.EncryptedFields = encryptedFields + return c +} + +// SetClusteredIndex sets the value for the ClusteredIndex field. +func (c *CreateCollectionOptions) SetClusteredIndex(clusteredIndex interface{}) *CreateCollectionOptions { + c.ClusteredIndex = clusteredIndex + return c +} + // MergeCreateCollectionOptions combines the given CreateCollectionOptions instances into a single // CreateCollectionOptions in a last-one-wins fashion. func MergeCreateCollectionOptions(opts ...*CreateCollectionOptions) *CreateCollectionOptions { @@ -214,6 +248,9 @@ func MergeCreateCollectionOptions(opts ...*CreateCollectionOptions) *CreateColle if opt.Collation != nil { cc.Collation = opt.Collation } + if opt.ChangeStreamPreAndPostImages != nil { + cc.ChangeStreamPreAndPostImages = opt.ChangeStreamPreAndPostImages + } if opt.DefaultIndexOptions != nil { cc.DefaultIndexOptions = opt.DefaultIndexOptions } @@ -241,6 +278,12 @@ func MergeCreateCollectionOptions(opts ...*CreateCollectionOptions) *CreateColle if opt.TimeSeriesOptions != nil { cc.TimeSeriesOptions = opt.TimeSeriesOptions } + if opt.EncryptedFields != nil { + cc.EncryptedFields = opt.EncryptedFields + } + if opt.ClusteredIndex != nil { + cc.ClusteredIndex = opt.ClusteredIndex + } } return cc diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/datakeyoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/datakeyoptions.go index c6a17f9e..648d9714 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/datakeyoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/datakeyoptions.go @@ -10,6 +10,10 @@ package options type DataKeyOptions struct { MasterKey interface{} KeyAltNames []string + + // KeyMaterial is used to encrypt data. If omitted, keyMaterial is generated form a cryptographically secure random + // source. "Key Material" is used interchangeably with "dataKey" and "Data Encryption Key" (DEK). + KeyMaterial []byte } // DataKey creates a new DataKeyOptions instance. @@ -62,6 +66,12 @@ func (dk *DataKeyOptions) SetKeyAltNames(keyAltNames []string) *DataKeyOptions { return dk } +// SetKeyMaterial will set a custom keyMaterial to DataKeyOptions which can be used to encrypt data. +func (dk *DataKeyOptions) SetKeyMaterial(keyMaterial []byte) *DataKeyOptions { + dk.KeyMaterial = keyMaterial + return dk +} + // MergeDataKeyOptions combines the argued DataKeyOptions in a last-one wins fashion. func MergeDataKeyOptions(opts ...*DataKeyOptions) *DataKeyOptions { dko := DataKey() @@ -76,6 +86,9 @@ func MergeDataKeyOptions(opts ...*DataKeyOptions) *DataKeyOptions { if opt.KeyAltNames != nil { dko.KeyAltNames = opt.KeyAltNames } + if opt.KeyMaterial != nil { + dko.KeyMaterial = opt.KeyMaterial + } } return dko diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/dboptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/dboptions.go index 900da51c..86e5cc80 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/dboptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/dboptions.go @@ -15,20 +15,20 @@ import ( // DatabaseOptions represents options that can be used to configure a Database. type DatabaseOptions struct { - // The read concern to use for operations executed on the Database. The default value is nil, which means that - // the read concern of the client used to configure the Database will be used. + // ReadConcern is the read concern to use for operations executed on the Database. The default value is nil, which means that + // the read concern of the Client used to configure the Database will be used. ReadConcern *readconcern.ReadConcern - // The write concern to use for operations executed on the Database. The default value is nil, which means that the - // write concern of the client used to configure the Database will be used. + // WriteConcern is the write concern to use for operations executed on the Database. The default value is nil, which means that the + // write concern of the Client used to configure the Database will be used. WriteConcern *writeconcern.WriteConcern - // The read preference to use for operations executed on the Database. The default value is nil, which means that - // the read preference of the client used to configure the Database will be used. + // ReadPreference is the read preference to use for operations executed on the Database. The default value is nil, which means that + // the read preference of the Client used to configure the Database will be used. ReadPreference *readpref.ReadPref - // The BSON registry to marshal and unmarshal documents for operations executed on the Database. The default value - // is nil, which means that the registry of the client used to configure the Database will be used. + // Registry is the BSON registry to marshal and unmarshal documents for operations executed on the Database. The default value + // is nil, which means that the registry of the Client used to configure the Database will be used. Registry *bsoncodec.Registry } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/deleteoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/deleteoptions.go index 0473d81f..77e5d45c 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/deleteoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/deleteoptions.go @@ -13,6 +13,10 @@ type DeleteOptions struct { // default value is nil, which means the default collation of the collection will be used. Collation *Collation + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} + // The index to use for the operation. This should either be the index name as a string or the index specification // as a document. This option is only valid for MongoDB versions >= 4.4. Server versions >= 3.4 will return an error // if this option is specified. For server versions < 3.4, the driver will return a client-side error if this option @@ -39,6 +43,12 @@ func (do *DeleteOptions) SetCollation(c *Collation) *DeleteOptions { return do } +// SetComment sets the value for the Comment field. +func (do *DeleteOptions) SetComment(comment interface{}) *DeleteOptions { + do.Comment = comment + return do +} + // SetHint sets the value for the Hint field. func (do *DeleteOptions) SetHint(hint interface{}) *DeleteOptions { do.Hint = hint @@ -61,6 +71,9 @@ func MergeDeleteOptions(opts ...*DeleteOptions) *DeleteOptions { if do.Collation != nil { dOpts.Collation = do.Collation } + if do.Comment != nil { + dOpts.Comment = do.Comment + } if do.Hint != nil { dOpts.Hint = do.Hint } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/distinctoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/distinctoptions.go index 40c19c46..fdd005c1 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/distinctoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/distinctoptions.go @@ -15,8 +15,16 @@ type DistinctOptions struct { // default value is nil, which means the default collation of the collection will be used. Collation *Collation + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} + // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be + // used in its place to control the amount of time that a single operation can run before returning an error. + // MaxTime is ignored if Timeout is set on the client. MaxTime *time.Duration } @@ -31,7 +39,17 @@ func (do *DistinctOptions) SetCollation(c *Collation) *DistinctOptions { return do } +// SetComment sets the value for the Comment field. +func (do *DistinctOptions) SetComment(comment interface{}) *DistinctOptions { + do.Comment = comment + return do +} + // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (do *DistinctOptions) SetMaxTime(d time.Duration) *DistinctOptions { do.MaxTime = &d return do @@ -48,6 +66,9 @@ func MergeDistinctOptions(opts ...*DistinctOptions) *DistinctOptions { if do.Collation != nil { distinctOpts.Collation = do.Collation } + if do.Comment != nil { + distinctOpts.Comment = do.Comment + } if do.MaxTime != nil { distinctOpts.MaxTime = do.MaxTime } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/doc.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/doc.go new file mode 100644 index 00000000..23ef4c30 --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/doc.go @@ -0,0 +1,8 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + +// Package options defines the optional configurations for the MongoDB Go Driver. +package options diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/encryptoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/encryptoptions.go index 8a7d797b..31528b38 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/encryptoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/encryptoptions.go @@ -10,11 +10,20 @@ import ( "go.mongodb.org/mongo-driver/bson/primitive" ) +// These constants specify valid values for QueryType +// QueryType is used for Queryable Encryption. +// Queryable Encryption is in Public Technical Preview. Queryable Encryption should not be used in production and is subject to backwards breaking changes. +const ( + QueryTypeEquality string = "equality" +) + // EncryptOptions represents options to explicitly encrypt a value. type EncryptOptions struct { - KeyID *primitive.Binary - KeyAltName *string - Algorithm string + KeyID *primitive.Binary + KeyAltName *string + Algorithm string + QueryType string + ContentionFactor *int64 } // Encrypt creates a new EncryptOptions instance. @@ -34,13 +43,37 @@ func (e *EncryptOptions) SetKeyAltName(keyAltName string) *EncryptOptions { return e } -// SetAlgorithm specifies an algorithm to use for encryption. This should be AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic -// or AEAD_AES_256_CBC_HMAC_SHA_512-Random. This is required. +// SetAlgorithm specifies an algorithm to use for encryption. This should be one of the following: +// - AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic +// - AEAD_AES_256_CBC_HMAC_SHA_512-Random +// - Indexed +// - Unindexed +// This is required. +// Indexed and Unindexed are used for Queryable Encryption. +// Queryable Encryption is in Public Technical Preview. Queryable Encryption should not be used in production and is subject to backwards breaking changes. func (e *EncryptOptions) SetAlgorithm(algorithm string) *EncryptOptions { e.Algorithm = algorithm return e } +// SetQueryType specifies the intended query type. It is only valid to set if algorithm is "Indexed". +// This should be one of the following: +// - equality +// QueryType is used for Queryable Encryption. +// Queryable Encryption is in Public Technical Preview. Queryable Encryption should not be used in production and is subject to backwards breaking changes. +func (e *EncryptOptions) SetQueryType(queryType string) *EncryptOptions { + e.QueryType = queryType + return e +} + +// SetContentionFactor specifies the contention factor. It is only valid to set if algorithm is "Indexed". +// ContentionFactor is used for Queryable Encryption. +// Queryable Encryption is in Public Technical Preview. Queryable Encryption should not be used in production and is subject to backwards breaking changes. +func (e *EncryptOptions) SetContentionFactor(contentionFactor int64) *EncryptOptions { + e.ContentionFactor = &contentionFactor + return e +} + // MergeEncryptOptions combines the argued EncryptOptions in a last-one wins fashion. func MergeEncryptOptions(opts ...*EncryptOptions) *EncryptOptions { eo := Encrypt() @@ -58,6 +91,12 @@ func MergeEncryptOptions(opts ...*EncryptOptions) *EncryptOptions { if opt.Algorithm != "" { eo.Algorithm = opt.Algorithm } + if opt.QueryType != "" { + eo.QueryType = opt.QueryType + } + if opt.ContentionFactor != nil { + eo.ContentionFactor = opt.ContentionFactor + } } return eo diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/estimatedcountoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/estimatedcountoptions.go index 2b997f46..6ac53809 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/estimatedcountoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/estimatedcountoptions.go @@ -10,8 +10,16 @@ import "time" // EstimatedDocumentCountOptions represents options that can be used to configure an EstimatedDocumentCount operation. type EstimatedDocumentCountOptions struct { + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default is nil, which means that no comment will be included in the logs. + Comment interface{} + // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime + // is ignored if Timeout is set on the client. MaxTime *time.Duration } @@ -20,7 +28,17 @@ func EstimatedDocumentCount() *EstimatedDocumentCountOptions { return &EstimatedDocumentCountOptions{} } +// SetComment sets the value for the Comment field. +func (eco *EstimatedDocumentCountOptions) SetComment(comment interface{}) *EstimatedDocumentCountOptions { + eco.Comment = comment + return eco +} + // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option +// may be used in its place to control the amount of time that a single operation can run before +// returning an error. MaxTime is ignored if Timeout is set on the client. func (eco *EstimatedDocumentCountOptions) SetMaxTime(d time.Duration) *EstimatedDocumentCountOptions { eco.MaxTime = &d return eco @@ -34,7 +52,9 @@ func MergeEstimatedDocumentCountOptions(opts ...*EstimatedDocumentCountOptions) if opt == nil { continue } - + if opt.Comment != nil { + e.Comment = opt.Comment + } if opt.MaxTime != nil { e.MaxTime = opt.MaxTime } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/findoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/findoptions.go index 0dd09f51..219a9594 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/findoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/findoptions.go @@ -12,95 +12,99 @@ import ( // FindOptions represents options that can be used to configure a Find operation. type FindOptions struct { - // If true, the server can write temporary data to disk while executing the find operation. This option is only - // valid for MongoDB versions >= 4.4. Server versions >= 3.2 will report an error if this option is specified. For - // server versions < 3.2, the driver will return a client-side error if this option is specified. The default value - // is false. + // AllowDiskUse specifies whether the server can write temporary data to disk while executing the Find operation. + // This option is only valid for MongoDB versions >= 4.4. Server versions >= 3.2 will report an error if this option + // is specified. For server versions < 3.2, the driver will return a client-side error if this option is specified. + // The default value is false. AllowDiskUse *bool - // If true, an operation on a sharded cluster can return partial results if some shards are down rather than - // returning an error. The default value is false. + // AllowPartial results specifies whether the Find operation on a sharded cluster can return partial results if some + // shards are down rather than returning an error. The default value is false. AllowPartialResults *bool - // The maximum number of documents to be included in each batch returned by the server. + // BatchSize is the maximum number of documents to be included in each batch returned by the server. BatchSize *int32 - // Specifies a collation to use for string comparisons during the operation. This option is only valid for MongoDB - // versions >= 3.4. For previous server versions, the driver will return an error if this option is used. The + // Collation specifies a collation to use for string comparisons during the operation. This option is only valid for + // MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is used. The // default value is nil, which means the default collation of the collection will be used. Collation *Collation // A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation. - // The default is the empty string, which means that no comment will be included in the logs. + // The default is nil, which means that no comment will be included in the logs. Comment *string - // Specifies the type of cursor that should be created for the operation. The default is NonTailable, which means - // that the cursor will be closed by the server when the last batch of documents is retrieved. + // CursorType specifies the type of cursor that should be created for the operation. The default is NonTailable, which + // means that the cursor will be closed by the server when the last batch of documents is retrieved. CursorType *CursorType - // The index to use for the operation. This should either be the index name as a string or the index specification - // as a document. The driver will return an error if the hint parameter is a multi-key map. The default value is nil, - // which means that no hint will be sent. + // Hint is the index to use for the Find operation. This should either be the index name as a string or the index + // specification as a document. The driver will return an error if the hint parameter is a multi-key map. The default + // value is nil, which means that no hint will be sent. Hint interface{} - // The maximum number of documents to return. The default value is 0, which means that all documents matching the + // Limit is the maximum number of documents to return. The default value is 0, which means that all documents matching the // filter will be returned. A negative limit specifies that the resulting documents should be returned in a single // batch. The default value is 0. Limit *int64 - // A document specifying the exclusive upper bound for a specific index. The default value is nil, which means that + // Max is a document specifying the exclusive upper bound for a specific index. The default value is nil, which means that // there is no maximum value. Max interface{} - // The maximum amount of time that the server should wait for new documents to satisfy a tailable cursor query. - // This option is only valid for tailable await cursors (see the CursorType option for more information) and + // MaxAwaitTime is the maximum amount of time that the server should wait for new documents to satisfy a tailable cursor + // query. This option is only valid for tailable await cursors (see the CursorType option for more information) and // MongoDB versions >= 3.2. For other cursor types or previous server versions, this option is ignored. MaxAwaitTime *time.Duration - // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there + // MaxTime is the maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used in its + // place to control the amount of time that a single operation can run before returning an error. MaxTime is ignored if + // Timeout is set on the client. MaxTime *time.Duration - // A document specifying the inclusive lower bound for a specific index. The default value is 0, which means that + // Min is a document specifying the inclusive lower bound for a specific index. The default value is 0, which means that // there is no minimum value. Min interface{} - // If true, the cursor created by the operation will not timeout after a period of inactivity. The default value - // is false. + // NoCursorTimeout specifies whether the cursor created by the operation will not timeout after a period of inactivity. + // The default value is false. NoCursorTimeout *bool - // This option is for internal replication use only and should not be set. + // OplogReplay is for internal replication use only and should not be set. // // Deprecated: This option has been deprecated in MongoDB version 4.4 and will be ignored by the server if it is // set. OplogReplay *bool - // A document describing which fields will be included in the documents returned by the operation. The default value - // is nil, which means all fields will be included. + // Project is a document describing which fields will be included in the documents returned by the Find operation. The + // default value is nil, which means all fields will be included. Projection interface{} - // If true, the documents returned by the operation will only contain fields corresponding to the index used. The - // default value is false. + // ReturnKey specifies whether the documents returned by the Find operation will only contain fields corresponding to the + // index used. The default value is false. ReturnKey *bool - // If true, a $recordId field with a record identifier will be included in the documents returned by the operation. - // The default value is false. + // ShowRecordID specifies whether a $recordId field with a record identifier will be included in the documents returned by + // the Find operation. The default value is false. ShowRecordID *bool - // The number of documents to skip before adding documents to the result. The default value is 0. + // Skip is the number of documents to skip before adding documents to the result. The default value is 0. Skip *int64 - // If true, the cursor will not return a document more than once because of an intervening write operation. The - // default value is false. + // Snapshot specifies whether the cursor will not return a document more than once because of an intervening write operation. + // The default value is false. // // Deprecated: This option has been deprecated in MongoDB version 3.6 and removed in MongoDB version 4.0. Snapshot *bool - // A document specifying the order in which documents should be returned. The driver will return an error if the + // Sort is a document specifying the order in which documents should be returned. The driver will return an error if the // sort parameter is a multi-key map. Sort interface{} - // Specifies parameters for the find expression. This option is only valid for MongoDB versions >= 5.0. Older + // Let specifies parameters for the find expression. This option is only valid for MongoDB versions >= 5.0. Older // servers will report an error for using this option. This must be a document mapping parameter names to values. // Values must be constant or closed expressions that do not reference document fields. Parameters can then be // accessed as variables in an aggregate expression context (e.g. "$$var"). @@ -179,6 +183,10 @@ func (f *FindOptions) SetMaxAwaitTime(d time.Duration) *FindOptions { } // SetMaxTime specifies the max time to allow the query to run. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used used in its place to control the amount of time that a single operation +// can run before returning an error. MaxTime is ignored if Timeout is set on the client. func (f *FindOptions) SetMaxTime(d time.Duration) *FindOptions { f.MaxTime = &d return f @@ -334,7 +342,7 @@ type FindOneOptions struct { Collation *Collation // A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation. - // The default is the empty string, which means that no comment will be included in the logs. + // The default is nil, which means that no comment will be included in the logs. Comment *string // Specifies the type of cursor that should be created for the operation. The default is NonTailable, which means @@ -361,6 +369,10 @@ type FindOneOptions struct { // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime + // is ignored if Timeout is set on the client. MaxTime *time.Duration // A document specifying the inclusive lower bound for a specific index. The default value is 0, which means that @@ -465,6 +477,10 @@ func (f *FindOneOptions) SetMaxAwaitTime(d time.Duration) *FindOneOptions { } // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (f *FindOneOptions) SetMaxTime(d time.Duration) *FindOneOptions { f.MaxTime = &d return f @@ -602,7 +618,7 @@ func MergeFindOneOptions(opts ...*FindOneOptions) *FindOneOptions { type FindOneAndReplaceOptions struct { // If true, writes executed as part of the operation will opt out of document-level validation on the server. This // option is valid for MongoDB versions >= 3.2 and is ignored for previous server versions. The default value is - // false. See https://docs.mongodb.com/manual/core/schema-validation/ for more information about document + // false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document // validation. BypassDocumentValidation *bool @@ -611,8 +627,16 @@ type FindOneAndReplaceOptions struct { // default value is nil, which means the default collation of the collection will be used. Collation *Collation + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} + // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime + // is ignored if Timeout is set on the client. MaxTime *time.Duration // A document describing which fields will be included in the document returned by the operation. The default value @@ -664,7 +688,17 @@ func (f *FindOneAndReplaceOptions) SetCollation(collation *Collation) *FindOneAn return f } +// SetComment sets the value for the Comment field. +func (f *FindOneAndReplaceOptions) SetComment(comment interface{}) *FindOneAndReplaceOptions { + f.Comment = comment + return f +} + // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (f *FindOneAndReplaceOptions) SetMaxTime(d time.Duration) *FindOneAndReplaceOptions { f.MaxTime = &d return f @@ -720,6 +754,9 @@ func MergeFindOneAndReplaceOptions(opts ...*FindOneAndReplaceOptions) *FindOneAn if opt.Collation != nil { fo.Collation = opt.Collation } + if opt.Comment != nil { + fo.Comment = opt.Comment + } if opt.MaxTime != nil { fo.MaxTime = opt.MaxTime } @@ -755,7 +792,7 @@ type FindOneAndUpdateOptions struct { // If true, writes executed as part of the operation will opt out of document-level validation on the server. This // option is valid for MongoDB versions >= 3.2 and is ignored for previous server versions. The default value is - // false. See https://docs.mongodb.com/manual/core/schema-validation/ for more information about document + // false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document // validation. BypassDocumentValidation *bool @@ -764,8 +801,16 @@ type FindOneAndUpdateOptions struct { // default value is nil, which means the default collation of the collection will be used. Collation *Collation + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} + // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime is + // ignored if Timeout is set on the client. MaxTime *time.Duration // A document describing which fields will be included in the document returned by the operation. The default value @@ -823,7 +868,17 @@ func (f *FindOneAndUpdateOptions) SetCollation(collation *Collation) *FindOneAnd return f } +// SetComment sets the value for the Comment field. +func (f *FindOneAndUpdateOptions) SetComment(comment interface{}) *FindOneAndUpdateOptions { + f.Comment = comment + return f +} + // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (f *FindOneAndUpdateOptions) SetMaxTime(d time.Duration) *FindOneAndUpdateOptions { f.MaxTime = &d return f @@ -882,6 +937,9 @@ func MergeFindOneAndUpdateOptions(opts ...*FindOneAndUpdateOptions) *FindOneAndU if opt.Collation != nil { fo.Collation = opt.Collation } + if opt.Comment != nil { + fo.Comment = opt.Comment + } if opt.MaxTime != nil { fo.MaxTime = opt.MaxTime } @@ -915,8 +973,16 @@ type FindOneAndDeleteOptions struct { // default value is nil, which means the default collation of the collection will be used. Collation *Collation + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} + // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime + // is ignored if Timeout is set on the client. MaxTime *time.Duration // A document describing which fields will be included in the document returned by the operation. The default value @@ -954,7 +1020,17 @@ func (f *FindOneAndDeleteOptions) SetCollation(collation *Collation) *FindOneAnd return f } +// SetComment sets the value for the Comment field. +func (f *FindOneAndDeleteOptions) SetComment(comment interface{}) *FindOneAndDeleteOptions { + f.Comment = comment + return f +} + // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (f *FindOneAndDeleteOptions) SetMaxTime(d time.Duration) *FindOneAndDeleteOptions { f.MaxTime = &d return f @@ -995,6 +1071,9 @@ func MergeFindOneAndDeleteOptions(opts ...*FindOneAndDeleteOptions) *FindOneAndD if opt.Collation != nil { fo.Collation = opt.Collation } + if opt.Comment != nil { + fo.Comment = opt.Comment + } if opt.MaxTime != nil { fo.MaxTime = opt.MaxTime } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/gridfsoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/gridfsoptions.go index 493fe983..9221585b 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/gridfsoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/gridfsoptions.go @@ -225,6 +225,10 @@ type GridFSFindOptions struct { // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime + // is ignored if Timeout is set on the client. MaxTime *time.Duration // If true, the cursor created by the operation will not timeout after a period of inactivity. The default value @@ -263,6 +267,10 @@ func (f *GridFSFindOptions) SetLimit(i int32) *GridFSFindOptions { } // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (f *GridFSFindOptions) SetMaxTime(d time.Duration) *GridFSFindOptions { f.MaxTime = &d return f diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go index ed71fb41..4c2d6920 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go @@ -29,6 +29,10 @@ type CreateIndexesOptions struct { // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime + // is ignored if Timeout is set on the client. MaxTime *time.Duration } @@ -38,6 +42,10 @@ func CreateIndexes() *CreateIndexesOptions { } // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (c *CreateIndexesOptions) SetMaxTime(d time.Duration) *CreateIndexesOptions { c.MaxTime = &d return c @@ -91,6 +99,10 @@ func MergeCreateIndexesOptions(opts ...*CreateIndexesOptions) *CreateIndexesOpti type DropIndexesOptions struct { // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime + // is ignored if Timeout is set on the client. MaxTime *time.Duration } @@ -100,6 +112,10 @@ func DropIndexes() *DropIndexesOptions { } // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (d *DropIndexesOptions) SetMaxTime(duration time.Duration) *DropIndexesOptions { d.MaxTime = &duration return d @@ -128,6 +144,10 @@ type ListIndexesOptions struct { // The maximum amount of time that the query can run on the server. The default value is nil, meaning that there // is no time limit for query execution. + // + // NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout option may be used + // in its place to control the amount of time that a single operation can run before returning an error. MaxTime + // is ignored if Timeout is set on the client. MaxTime *time.Duration } @@ -143,6 +163,10 @@ func (l *ListIndexesOptions) SetBatchSize(i int32) *ListIndexesOptions { } // SetMaxTime sets the value for the MaxTime field. +// +// NOTE(benjirewis): MaxTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can +// run before returning an error. MaxTime is ignored if Timeout is set on the client. func (l *ListIndexesOptions) SetMaxTime(d time.Duration) *ListIndexesOptions { l.MaxTime = &d return l @@ -210,7 +234,7 @@ type IndexOptions struct { // of the DefaultLanguage option. LanguageOverride *string - // The index version number for a text index. See https://docs.mongodb.com/manual/core/index-text/#text-versions for + // The index version number for a text index. See https://www.mongodb.com/docs/manual/core/index-text/#text-versions for // information about different version numbers. TextVersion *int32 @@ -220,7 +244,7 @@ type IndexOptions struct { // that every field will have a weight of 1. Weights interface{} - // The index version number for a 2D sphere index. See https://docs.mongodb.com/manual/core/2dsphere/#dsphere-v2 for + // The index version number for a 2D sphere index. See https://www.mongodb.com/docs/manual/core/2dsphere/#dsphere-v2 for // information about different version numbers. SphereVersion *int32 diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/insertoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/insertoptions.go index aa0e9716..08c46b28 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/insertoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/insertoptions.go @@ -10,9 +10,13 @@ package options type InsertOneOptions struct { // If true, writes executed as part of the operation will opt out of document-level validation on the server. This // option is valid for MongoDB versions >= 3.2 and is ignored for previous server versions. The default value is - // false. See https://docs.mongodb.com/manual/core/schema-validation/ for more information about document + // false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document // validation. BypassDocumentValidation *bool + + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} } // InsertOne creates a new InsertOneOptions instance. @@ -26,6 +30,12 @@ func (ioo *InsertOneOptions) SetBypassDocumentValidation(b bool) *InsertOneOptio return ioo } +// SetComment sets the value for the Comment field. +func (ioo *InsertOneOptions) SetComment(comment interface{}) *InsertOneOptions { + ioo.Comment = comment + return ioo +} + // MergeInsertOneOptions combines the given InsertOneOptions instances into a single InsertOneOptions in a last-one-wins // fashion. func MergeInsertOneOptions(opts ...*InsertOneOptions) *InsertOneOptions { @@ -37,6 +47,9 @@ func MergeInsertOneOptions(opts ...*InsertOneOptions) *InsertOneOptions { if ioo.BypassDocumentValidation != nil { ioOpts.BypassDocumentValidation = ioo.BypassDocumentValidation } + if ioo.Comment != nil { + ioOpts.Comment = ioo.Comment + } } return ioOpts @@ -46,10 +59,14 @@ func MergeInsertOneOptions(opts ...*InsertOneOptions) *InsertOneOptions { type InsertManyOptions struct { // If true, writes executed as part of the operation will opt out of document-level validation on the server. This // option is valid for MongoDB versions >= 3.2 and is ignored for previous server versions. The default value is - // false. See https://docs.mongodb.com/manual/core/schema-validation/ for more information about document + // false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document // validation. BypassDocumentValidation *bool + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} + // If true, no writes will be executed after one fails. The default value is true. Ordered *bool } @@ -67,6 +84,12 @@ func (imo *InsertManyOptions) SetBypassDocumentValidation(b bool) *InsertManyOpt return imo } +// SetComment sets the value for the Comment field. +func (imo *InsertManyOptions) SetComment(comment interface{}) *InsertManyOptions { + imo.Comment = comment + return imo +} + // SetOrdered sets the value for the Ordered field. func (imo *InsertManyOptions) SetOrdered(b bool) *InsertManyOptions { imo.Ordered = &b @@ -84,6 +107,9 @@ func MergeInsertManyOptions(opts ...*InsertManyOptions) *InsertManyOptions { if imo.BypassDocumentValidation != nil { imOpts.BypassDocumentValidation = imo.BypassDocumentValidation } + if imo.Comment != nil { + imOpts.Comment = imo.Comment + } if imo.Ordered != nil { imOpts.Ordered = imo.Ordered } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/listdatabasesoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/listdatabasesoptions.go index f19d89c6..49676366 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/listdatabasesoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/listdatabasesoptions.go @@ -13,7 +13,7 @@ type ListDatabasesOptions struct { NameOnly *bool // If true, only the databases which the user is authorized to see will be returned. For more information about - // the behavior of this option, see https://docs.mongodb.com/manual/reference/privilege-actions/#find. The default + // the behavior of this option, see https://www.mongodb.com/docs/manual/reference/privilege-actions/#find. The default // value is true. AuthorizedDatabases *bool } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/mongooptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/mongooptions.go index 179b7356..25689f52 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/mongooptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/mongooptions.go @@ -89,16 +89,22 @@ const ( After ) -// FullDocument specifies whether a change stream should include a copy of the entire document that was changed from -// some time after the change occurred. +// FullDocument specifies how a change stream should return the modified document. type FullDocument string const ( - // Default does not include a document copy + // Default does not include a document copy. Default FullDocument = "default" + // Off is the same as sending no value for fullDocumentBeforeChange. + Off FullDocument = "off" + // Required is the same as WhenAvailable but raises a server-side error if the post-image is not available. + Required FullDocument = "required" // UpdateLookup includes a delta describing the changes to the document and a copy of the entire document that - // was changed + // was changed. UpdateLookup FullDocument = "updateLookup" + // WhenAvailable includes a post-image of the the modified document for replace and update change events + // if the post-image for this event is available. + WhenAvailable FullDocument = "whenAvailable" ) // ArrayFilters is used to hold filters for the array filters CRUD option. If a registry is nil, bson.DefaultRegistry diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/replaceoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/replaceoptions.go index 9cb9ab87..f5bc6b98 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/replaceoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/replaceoptions.go @@ -10,7 +10,7 @@ package options type ReplaceOptions struct { // If true, writes executed as part of the operation will opt out of document-level validation on the server. This // option is valid for MongoDB versions >= 3.2 and is ignored for previous server versions. The default value is - // false. See https://docs.mongodb.com/manual/core/schema-validation/ for more information about document + // false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document // validation. BypassDocumentValidation *bool @@ -19,6 +19,10 @@ type ReplaceOptions struct { // default value is nil, which means the default collation of the collection will be used. Collation *Collation + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} + // The index to use for the operation. This should either be the index name as a string or the index specification // as a document. This option is only valid for MongoDB versions >= 4.2. Server versions >= 3.4 will return an error // if this option is specified. For server versions < 3.4, the driver will return a client-side error if this option @@ -55,6 +59,12 @@ func (ro *ReplaceOptions) SetCollation(c *Collation) *ReplaceOptions { return ro } +// SetComment sets the value for the Comment field. +func (ro *ReplaceOptions) SetComment(comment interface{}) *ReplaceOptions { + ro.Comment = comment + return ro +} + // SetHint sets the value for the Hint field. func (ro *ReplaceOptions) SetHint(h interface{}) *ReplaceOptions { ro.Hint = h @@ -87,6 +97,9 @@ func MergeReplaceOptions(opts ...*ReplaceOptions) *ReplaceOptions { if ro.Collation != nil { rOpts.Collation = ro.Collation } + if ro.Comment != nil { + rOpts.Comment = ro.Comment + } if ro.Hint != nil { rOpts.Hint = ro.Hint } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/rewrapdatakeyoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/rewrapdatakeyoptions.go new file mode 100644 index 00000000..2ab1b3c5 --- /dev/null +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/rewrapdatakeyoptions.go @@ -0,0 +1,52 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + +package options + +// RewrapManyDataKeyOptions represents all possible options used to decrypt and encrypt all matching data keys with a +// possibly new masterKey. +type RewrapManyDataKeyOptions struct { + // Provider identifies the new KMS provider. If omitted, encrypting uses the current KMS provider. + Provider *string + + // MasterKey identifies the new masterKey. If omitted, rewraps with the current masterKey. + MasterKey interface{} +} + +// RewrapManyDataKey creates a new RewrapManyDataKeyOptions instance. +func RewrapManyDataKey() *RewrapManyDataKeyOptions { + return new(RewrapManyDataKeyOptions) +} + +// SetProvider sets the value for the Provider field. +func (rmdko *RewrapManyDataKeyOptions) SetProvider(provider string) *RewrapManyDataKeyOptions { + rmdko.Provider = &provider + return rmdko +} + +// SetMasterKey sets the value for the MasterKey field. +func (rmdko *RewrapManyDataKeyOptions) SetMasterKey(masterKey interface{}) *RewrapManyDataKeyOptions { + rmdko.MasterKey = masterKey + return rmdko +} + +// MergeRewrapManyDataKeyOptions combines the given RewrapManyDataKeyOptions instances into a single +// RewrapManyDataKeyOptions in a last one wins fashion. +func MergeRewrapManyDataKeyOptions(opts ...*RewrapManyDataKeyOptions) *RewrapManyDataKeyOptions { + rmdkOpts := RewrapManyDataKey() + for _, rmdko := range opts { + if rmdko == nil { + continue + } + if provider := rmdko.Provider; provider != nil { + rmdkOpts.Provider = provider + } + if masterKey := rmdko.MasterKey; masterKey != nil { + rmdkOpts.MasterKey = masterKey + } + } + return rmdkOpts +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/sessionoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/sessionoptions.go index 32bc20d5..ab5ecb5a 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/sessionoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/sessionoptions.go @@ -21,7 +21,7 @@ var DefaultCausalConsistency = true type SessionOptions struct { // If true, causal consistency will be enabled for the session. This option cannot be set to true if Snapshot is // set to true. The default value is true unless Snapshot is set to true. See - // https://docs.mongodb.com/manual/core/read-isolation-consistency-recency/#sessions for more information. + // https://www.mongodb.com/docs/manual/core/read-isolation-consistency-recency/#sessions for more information. CausalConsistency *bool // The default read concern for transactions started in the session. The default value is nil, which means that @@ -38,6 +38,10 @@ type SessionOptions struct { // The default maximum amount of time that a CommitTransaction operation executed in the session can run on the // server. The default value is nil, which means that that there is no time limit for execution. + // + // NOTE(benjirewis): DefaultMaxCommitTime will be deprecated in a future release. The more general Timeout option + // may be used in its place to control the amount of time that a single operation can run before returning an + // error. DefaultMaxCommitTime is ignored if Timeout is set on the client. DefaultMaxCommitTime *time.Duration // If true, all read operations performed with this session will be read from the same snapshot. This option cannot @@ -76,6 +80,11 @@ func (s *SessionOptions) SetDefaultWriteConcern(wc *writeconcern.WriteConcern) * } // SetDefaultMaxCommitTime sets the value for the DefaultMaxCommitTime field. +// +// NOTE(benjirewis): DefaultMaxCommitTime will be deprecated in a future release. The more +// general Timeout option may be used in its place to control the amount of time that a +// single operation can run before returning an error. DefaultMaxCommitTime is ignored if +// Timeout is set on the client. func (s *SessionOptions) SetDefaultMaxCommitTime(mct *time.Duration) *SessionOptions { s.DefaultMaxCommitTime = mct return s diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/transactionoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/transactionoptions.go index a42ddfbb..0b9d1081 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/transactionoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/transactionoptions.go @@ -34,6 +34,10 @@ type TransactionOptions struct { // The maximum amount of time that a CommitTransaction operation can executed in the transaction can run on the // server. The default value is nil, which means that the default maximum commit time of the session used to // start the transaction will be used. + // + // NOTE(benjirewis): MaxCommitTime will be deprecated in a future release. The more general Timeout option may + // be used in its place to control the amount of time that a single operation can run before returning an error. + // MaxCommitTime is ignored if Timeout is set on the client. MaxCommitTime *time.Duration } @@ -61,6 +65,10 @@ func (t *TransactionOptions) SetWriteConcern(wc *writeconcern.WriteConcern) *Tra } // SetMaxCommitTime sets the value for the MaxCommitTime field. +// +// NOTE(benjirewis): MaxCommitTime will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can run before +// returning an error. MaxCommitTime is ignored if Timeout is set on the client. func (t *TransactionOptions) SetMaxCommitTime(mct *time.Duration) *TransactionOptions { t.MaxCommitTime = mct return t diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/updateoptions.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/updateoptions.go index fd0631de..768d243c 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/updateoptions.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/options/updateoptions.go @@ -15,7 +15,7 @@ type UpdateOptions struct { // If true, writes executed as part of the operation will opt out of document-level validation on the server. This // option is valid for MongoDB versions >= 3.2 and is ignored for previous server versions. The default value is - // false. See https://docs.mongodb.com/manual/core/schema-validation/ for more information about document + // false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document // validation. BypassDocumentValidation *bool @@ -24,6 +24,10 @@ type UpdateOptions struct { // default value is nil, which means the default collation of the collection will be used. Collation *Collation + // A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace + // the operation. The default value is nil, which means that no comment will be included in the logs. + Comment interface{} + // The index to use for the operation. This should either be the index name as a string or the index specification // as a document. This option is only valid for MongoDB versions >= 4.2. Server versions >= 3.4 will return an error // if this option is specified. For server versions < 3.4, the driver will return a client-side error if this option @@ -66,6 +70,12 @@ func (uo *UpdateOptions) SetCollation(c *Collation) *UpdateOptions { return uo } +// SetComment sets the value for the Comment field. +func (uo *UpdateOptions) SetComment(comment interface{}) *UpdateOptions { + uo.Comment = comment + return uo +} + // SetHint sets the value for the Hint field. func (uo *UpdateOptions) SetHint(h interface{}) *UpdateOptions { uo.Hint = h @@ -100,6 +110,9 @@ func MergeUpdateOptions(opts ...*UpdateOptions) *UpdateOptions { if uo.Collation != nil { uOpts.Collation = uo.Collation } + if uo.Comment != nil { + uOpts.Comment = uo.Comment + } if uo.Hint != nil { uOpts.Hint = uo.Hint } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readconcern/readconcern.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readconcern/readconcern.go index ce235ba8..92429007 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readconcern/readconcern.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readconcern/readconcern.go @@ -4,6 +4,7 @@ // 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 +// Package readconcern defines read concerns for MongoDB operations. package readconcern // import "go.mongodb.org/mongo-driver/mongo/readconcern" import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readpref/options.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readpref/options.go index 68286d10..81541984 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readpref/options.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readpref/options.go @@ -61,7 +61,7 @@ func WithTagSets(tagSets ...tag.Set) Option { // WithHedgeEnabled specifies whether or not hedged reads should be enabled in the server. This feature requires MongoDB // server version 4.4 or higher. For more information about hedged reads, see -// https://docs.mongodb.com/manual/core/sharded-cluster-query-router/#mongos-hedged-reads. If not specified, the default +// https://www.mongodb.com/docs/manual/core/sharded-cluster-query-router/#mongos-hedged-reads. If not specified, the default // is to not send a value to the server, which will result in the server defaults being used. func WithHedgeEnabled(hedgeEnabled bool) Option { return func(rp *ReadPref) error { diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readpref/readpref.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readpref/readpref.go index a3ac0edf..a07e2f8b 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readpref/readpref.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/readpref/readpref.go @@ -4,6 +4,7 @@ // 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 +// Package readpref defines read preferences for MongoDB queries. package readpref // import "go.mongodb.org/mongo-driver/mongo/readpref" import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/results.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/results.go index 6951bea6..02582381 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/results.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/results.go @@ -47,11 +47,19 @@ type InsertManyResult struct { InsertedIDs []interface{} } +// TODO(GODRIVER-2367): Remove the BSON struct tags on DeleteResult. + // DeleteResult is the result type returned by DeleteOne and DeleteMany operations. type DeleteResult struct { DeletedCount int64 `bson:"n"` // The number of documents deleted. } +// RewrapManyDataKeyResult is the result of the bulk write operation used to update the key vault collection with +// rewrapped data keys. +type RewrapManyDataKeyResult struct { + *BulkWriteResult +} + // ListDatabasesResult is a result of a ListDatabases operation. type ListDatabasesResult struct { // A slice containing one DatabaseSpecification for each database matched by the operation's filter. @@ -91,7 +99,11 @@ type UpdateResult struct { } // UnmarshalBSON implements the bson.Unmarshaler interface. +// +// Deprecated: Unmarshalling an UpdateResult directly from BSON is not supported and may produce +// different results compared to running Update* operations directly. func (result *UpdateResult) UnmarshalBSON(b []byte) error { + // TODO(GODRIVER-2367): Remove the ability to unmarshal BSON directly to an UpdateResult. elems, err := bson.Raw(b).Elements() if err != nil { return err @@ -170,6 +182,9 @@ type IndexSpecification struct { // If true, the collection will not accept insertion or update of documents where the index key value matches an // existing value in the index. The default is false. Unique *bool + + // The clustered index. + Clustered *bool } var _ bson.Unmarshaler = (*IndexSpecification)(nil) @@ -182,6 +197,7 @@ type unmarshalIndexSpecification struct { ExpireAfterSeconds *int32 `bson:"expireAfterSeconds"` Sparse *bool `bson:"sparse"` Unique *bool `bson:"unique"` + Clustered *bool `bson:"clustered"` } // UnmarshalBSON implements the bson.Unmarshaler interface. @@ -198,6 +214,7 @@ func (i *IndexSpecification) UnmarshalBSON(data []byte) error { i.ExpireAfterSeconds = temp.ExpireAfterSeconds i.Sparse = temp.Sparse i.Unique = temp.Unique + i.Clustered = temp.Clustered return nil } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/session.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/session.go index 93bc5cb4..1c8b535c 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/session.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/session.go @@ -29,8 +29,9 @@ var ErrWrongClient = errors.New("session was not created by this client") var withTransactionTimeout = 120 * time.Second // SessionContext combines the context.Context and mongo.Session interfaces. It should be used as the Context arguments -// to operations that should be executed in a session. This type is not goroutine safe and must not be used concurrently -// by multiple goroutines. +// to operations that should be executed in a session. +// +// Implementations of SessionContext are not safe for concurrent use by multiple goroutines. // // There are two ways to create a SessionContext and use it in a session/transaction. The first is to use one of the // callback-based functions such as WithSession and UseSession. These functions create a SessionContext and pass it to @@ -77,9 +78,12 @@ func SessionFromContext(ctx context.Context) Session { // for a group of operations or to execute operations in an ACID transaction. A new Session can be created from a Client // instance. A Session created from a Client must only be used to execute operations using that Client or a Database or // Collection created from that Client. Custom implementations of this interface should not be used in production. For -// more information about sessions, and their use cases, see https://docs.mongodb.com/manual/reference/server-sessions/, -// https://docs.mongodb.com/manual/core/read-isolation-consistency-recency/#causal-consistency, and -// https://docs.mongodb.com/manual/core/transactions/. +// more information about sessions, and their use cases, see +// https://www.mongodb.com/docs/manual/reference/server-sessions/, +// https://www.mongodb.com/docs/manual/core/read-isolation-consistency-recency/#causal-consistency, and +// https://www.mongodb.com/docs/manual/core/transactions/. +// +// Implementations of Session are not safe for concurrent use by multiple goroutines. // // StartTransaction starts a new transaction, configured with the given options, on this session. This method will // return an error if there is already a transaction in-progress for this session. @@ -196,10 +200,6 @@ func (s *sessionImpl) WithTransaction(ctx context.Context, fn func(sessCtx Sessi default: } - // End if context has timed out or been canceled, as retrying has no chance of success. - if ctx.Err() != nil { - return res, err - } if errorHasLabel(err, driver.TransientTransactionError) { continue } @@ -214,10 +214,9 @@ func (s *sessionImpl) WithTransaction(ctx context.Context, fn func(sessCtx Sessi CommitLoop: for { err = s.CommitTransaction(ctx) - // End when error is nil (transaction has been committed), or when context has timed out or been - // canceled, as retrying has no chance of success. - if err == nil || ctx.Err() != nil { - return res, err + // End when error is nil, as transaction has been committed. + if err == nil { + return res, nil } select { diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/writeconcern/writeconcern.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/writeconcern/writeconcern.go index b9145c9e..29c667e3 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/writeconcern/writeconcern.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/mongo/writeconcern/writeconcern.go @@ -4,6 +4,7 @@ // 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 +// Package writeconcern defines write concerns for MongoDB operations. package writeconcern // import "go.mongodb.org/mongo-driver/mongo/writeconcern" import ( @@ -30,8 +31,13 @@ var ErrNegativeWTimeout = errors.New("write concern `wtimeout` field cannot be n // WriteConcern describes the level of acknowledgement requested from MongoDB for write operations // to a standalone mongod or to replica sets or to sharded clusters. type WriteConcern struct { - w interface{} - j bool + w interface{} + j bool + + // NOTE(benjirewis): wTimeout will be deprecated in a future release. The more general Timeout + // option may be used in its place to control the amount of time that a single operation can run + // before returning an error. Using wTimeout and setting Timeout on the client will result in + // undefined behavior. wTimeout time.Duration } @@ -82,6 +88,11 @@ func J(j bool) Option { } // WTimeout specifies specifies a time limit for the write concern. +// +// NOTE(benjirewis): wTimeout will be deprecated in a future release. The more general Timeout +// option may be used in its place to control the amount of time that a single operation can run +// before returning an error. Using wTimeout and setting Timeout on the client will result in +// undefined behavior. func WTimeout(d time.Duration) Option { return func(concern *WriteConcern) { concern.wTimeout = d diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/tag/tag.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/tag/tag.go index 55cf7e31..dc45f1e4 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/tag/tag.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/tag/tag.go @@ -4,6 +4,7 @@ // 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 +// Package tag provides a way to define filters for tagged servers. package tag // import "go.mongodb.org/mongo-driver/tag" import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/version/version.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/version/version.go index 44a79544..0ca08359 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/version/version.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/version/version.go @@ -4,7 +4,8 @@ // 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 +// Package version defines the Go Driver version. package version // import "go.mongodb.org/mongo-driver/version" // Driver is the current version of the driver. -var Driver = "v1.9.0" +var Driver = "v1.10.2" diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go index 5b0c3a04..17aad6d7 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go @@ -65,8 +65,7 @@ func AppendHeader(dst []byte, t bsontype.Type, key string) []byte { // return append(AppendType(dst, t), key+string(0x00)...) } -// TODO(skriptble): All of the Read* functions should return src resliced to start just after what -// was read. +// TODO(skriptble): All of the Read* functions should return src resliced to start just after what was read. // ReadType will return the first byte of the provided []byte as a type. If // there is no available byte, false is returned. @@ -197,12 +196,13 @@ func ReadString(src []byte) (string, []byte, bool) { // AppendDocumentStart reserves a document's length and returns the index where the length begins. // This index can later be used to write the length of the document. -// -// TODO(skriptble): We really need AppendDocumentStart and AppendDocumentEnd. -// AppendDocumentStart would handle calling ReserveLength and providing the index of the start of -// the document. AppendDocumentEnd would handle taking that start index, adding the null byte, -// calculating the length, and filling in the length at the start of the document. -func AppendDocumentStart(dst []byte) (index int32, b []byte) { return ReserveLength(dst) } +func AppendDocumentStart(dst []byte) (index int32, b []byte) { + // TODO(skriptble): We really need AppendDocumentStart and AppendDocumentEnd. AppendDocumentStart would handle calling + // TODO ReserveLength and providing the index of the start of the document. AppendDocumentEnd would handle taking that + // TODO start index, adding the null byte, calculating the length, and filling in the length at the start of the + // TODO document. + return ReserveLength(dst) +} // AppendDocumentStartInline functions the same as AppendDocumentStart but takes a pointer to the // index int32 which allows this function to be used inline. diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go index b687b5a8..d6e4bb06 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go @@ -13,7 +13,6 @@ import ( "io" "strconv" - "github.com/go-stack/stack" "go.mongodb.org/mongo-driver/bson/bsontype" ) @@ -37,13 +36,12 @@ func lengthError(bufferType string, length, rem int) error { type InsufficientBytesError struct { Source []byte Remaining []byte - Stack stack.CallStack } -// NewInsufficientBytesError creates a new InsufficientBytesError with the given Document, remaining -// bytes, and the current stack. +// NewInsufficientBytesError creates a new InsufficientBytesError with the given Document and +// remaining bytes. func NewInsufficientBytesError(src, rem []byte) InsufficientBytesError { - return InsufficientBytesError{Source: src, Remaining: rem, Stack: stack.Trace().TrimRuntime()} + return InsufficientBytesError{Source: src, Remaining: rem} } // Error implements the error interface. @@ -51,28 +49,6 @@ func (ibe InsufficientBytesError) Error() string { return "too few bytes to read next component" } -// ErrorStack returns a string representing the stack at the point where the error occurred. -func (ibe InsufficientBytesError) ErrorStack() string { - s := bytes.NewBufferString("too few bytes to read next component: [") - - for i, call := range ibe.Stack { - if i != 0 { - s.WriteString(", ") - } - - // go vet doesn't like %k even though it's part of stack's API, so we move the format - // string so it doesn't complain. (We also can't make it a constant, or go vet still - // complains.) - callFormat := "%k.%n %v" - - s.WriteString(fmt.Sprintf(callFormat, call, call, call)) - } - - s.WriteRune(']') - - return s.String() -} - // Equal checks that err2 also is an ErrTooSmall. func (ibe InsufficientBytesError) Equal(err2 error) bool { switch err2.(type) { diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go index 04d162fa..6c858a01 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package bsoncore import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/registry.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/registry.go index 7518bc04..3ca1c326 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/registry.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/bsonx/registry.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package bsonx import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.c b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.c index 0ca591f8..ec49d961 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.c +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.c @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + //+build gssapi //+build linux darwin diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.h b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.h index ca7b907f..1cb9cd3c 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.h +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.h @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + //+build gssapi //+build linux darwin #ifndef GSS_WRAPPER_H diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.c b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.c index f03d8463..f6556547 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.c +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.c @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + //+build gssapi,windows #include "sspi_wrapper.h" diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.h b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.h index ee6e9a72..2d08e939 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.h +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.h @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + //+build gssapi,windows #ifndef SSPI_WRAPPER_H diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go index a25e35d3..fda3e313 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package driver import ( @@ -19,11 +25,13 @@ import ( type BatchCursor struct { clientSession *session.Client clock *session.ClusterClock + comment bsoncore.Value database string collection string id int64 err error server Server + serverDescription description.Server errorProcessor ErrorProcessor // This will only be set when pinning to a connection. connection PinnedConnection batchSize int32 @@ -36,7 +44,6 @@ type BatchCursor struct { serverAPI *ServerAPIOptions // legacy server (< 3.2) fields - legacy bool // This field is provided for ListCollectionsBatchCursor. limit int32 numReturned int32 // number of docs returned by server } @@ -127,6 +134,7 @@ func NewCursorResponse(info ResponseInfo) (CursorResponse, error) { // CursorOptions are extra options that are required to construct a BatchCursor. type CursorOptions struct { BatchSize int32 + Comment bsoncore.Value MaxTimeMS int64 Limit int32 CommandMonitor *event.CommandMonitor @@ -140,6 +148,7 @@ func NewBatchCursor(cr CursorResponse, clientSession *session.Client, clock *ses bc := &BatchCursor{ clientSession: clientSession, clock: clock, + comment: opts.Comment, database: cr.Database, collection: cr.Collection, id: cr.ID, @@ -153,13 +162,13 @@ func NewBatchCursor(cr CursorResponse, clientSession *session.Client, clock *ses postBatchResumeToken: cr.postBatchResumeToken, crypt: opts.Crypt, serverAPI: opts.ServerAPI, + serverDescription: cr.Desc, } if ds != nil { bc.numReturned = int32(ds.DocumentCount()) } if cr.Desc.WireVersion == nil || cr.Desc.WireVersion.Max < 4 { - bc.legacy = true bc.limit = opts.Limit // Take as many documents from the batch as needed. @@ -328,6 +337,10 @@ func (bc *BatchCursor) getMore(ctx context.Context) { if bc.maxTimeMS > 0 { dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", bc.maxTimeMS) } + // The getMore command does not support commenting pre-4.4. + if bc.comment.Type != bsontype.Type(0) && bc.serverDescription.WireVersion.Max >= 9 { + dst = bsoncore.AppendValueElement(dst, "comment", bc.comment) + } return dst, nil }, Database: bc.database, @@ -447,6 +460,11 @@ func (lbcd *loadBalancedCursorDeployment) MinRTT() time.Duration { return 0 } +// RTT90 always returns 0. It implements the driver.Server interface. +func (lbcd *loadBalancedCursorDeployment) RTT90() time.Duration { + return 0 +} + func (lbcd *loadBalancedCursorDeployment) ProcessError(err error, conn Connection) ProcessErrorResult { return lbcd.errorProcessor.ProcessError(err, conn) } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batches.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batches.go index 4c25abd6..3e7dca9a 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batches.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batches.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package driver import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/compression.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/compression.go index 39d490a9..fa0dec7d 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/compression.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/compression.go @@ -11,6 +11,7 @@ import ( "compress/zlib" "fmt" "io" + "sync" "github.com/golang/snappy" "github.com/klauspost/compress/zstd" @@ -25,6 +26,21 @@ type CompressionOpts struct { UncompressedSize int32 } +var zstdEncoders = &sync.Map{} + +func getZstdEncoder(l zstd.EncoderLevel) (*zstd.Encoder, error) { + v, ok := zstdEncoders.Load(l) + if ok { + return v.(*zstd.Encoder), nil + } + encoder, err := zstd.NewWriter(nil, zstd.WithEncoderLevel(l)) + if err != nil { + return nil, err + } + zstdEncoders.Store(l, encoder) + return encoder, nil +} + // CompressPayload takes a byte slice and compresses it according to the options passed func CompressPayload(in []byte, opts CompressionOpts) ([]byte, error) { switch opts.Compressor { @@ -48,21 +64,11 @@ func CompressPayload(in []byte, opts CompressionOpts) ([]byte, error) { } return b.Bytes(), nil case wiremessage.CompressorZstd: - var b bytes.Buffer - w, err := zstd.NewWriter(&b, zstd.WithEncoderLevel(zstd.EncoderLevelFromZstd(opts.ZstdLevel))) - if err != nil { - return nil, err - } - _, err = io.Copy(w, bytes.NewBuffer(in)) + encoder, err := getZstdEncoder(zstd.EncoderLevelFromZstd(opts.ZstdLevel)) if err != nil { - _ = w.Close() return nil, err } - err = w.Close() - if err != nil { - return nil, err - } - return b.Bytes(), nil + return encoder.EncodeAll(in, nil), nil default: return nil, fmt.Errorf("unknown compressor ID %v", opts.Compressor) } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go index 57ce349b..ac6a33c8 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go @@ -9,7 +9,6 @@ package connstring // import "go.mongodb.org/mongo-driver/x/mongo/driver/connstr import ( "errors" "fmt" - "math/rand" "net" "net/url" "strconv" @@ -24,7 +23,7 @@ import ( ) // random is a package-global pseudo-random number generator. -var random = randutil.NewLockedRand(rand.NewSource(randutil.CryptoSeed())) +var random = randutil.NewLockedRand() // ParseAndValidate parses the provided URI into a ConnString object. // It check that all values are valid. @@ -122,6 +121,8 @@ type ConnString struct { SSLCaFileSet bool SSLDisableOCSPEndpointCheck bool SSLDisableOCSPEndpointCheckSet bool + Timeout time.Duration + TimeoutSet bool WString string WNumber int WNumberSet bool @@ -232,7 +233,7 @@ func (p *parser) parse(original string) error { if strings.Contains(username, "/") { return fmt.Errorf("unescaped slash in username") } - p.Username, err = url.QueryUnescape(username) + p.Username, err = url.PathUnescape(username) if err != nil { return internal.WrapErrorf(err, "invalid username") } @@ -245,7 +246,7 @@ func (p *parser) parse(original string) error { if strings.Contains(password, "/") { return fmt.Errorf("unescaped slash in password") } - p.Password, err = url.QueryUnescape(password) + p.Password, err = url.PathUnescape(password) if err != nil { return internal.WrapErrorf(err, "invalid password") } @@ -293,7 +294,10 @@ func (p *parser) parse(original string) error { } // add connection arguments from URI and TXT records to connstring - connectionArgPairs := append(connectionArgsFromTXT, connectionArgsFromQueryString...) + connectionArgPairs := make([]string, 0, len(connectionArgsFromTXT)+len(connectionArgsFromQueryString)) + connectionArgPairs = append(connectionArgPairs, connectionArgsFromTXT...) + connectionArgPairs = append(connectionArgPairs, connectionArgsFromQueryString...) + for _, pair := range connectionArgPairs { err := p.addOption(pair) if err != nil { @@ -321,7 +325,7 @@ func (p *parser) parse(original string) error { for _, host := range parsedHosts { err = p.addHost(host) if err != nil { - return internal.WrapErrorf(err, "invalid host \"%s\"", host) + return internal.WrapErrorf(err, "invalid host %q", host) } } if len(p.Hosts) == 0 { @@ -566,7 +570,7 @@ func (p *parser) addHost(host string) error { } host, err := url.QueryUnescape(host) if err != nil { - return internal.WrapErrorf(err, "invalid host \"%s\"", host) + return internal.WrapErrorf(err, "invalid host %q", host) } _, port, err := net.SplitHostPort(host) @@ -599,12 +603,12 @@ func (p *parser) addOption(pair string) error { key, err := url.QueryUnescape(kv[0]) if err != nil { - return internal.WrapErrorf(err, "invalid option key \"%s\"", kv[0]) + return internal.WrapErrorf(err, "invalid option key %q", kv[0]) } value, err := url.QueryUnescape(kv[1]) if err != nil { - return internal.WrapErrorf(err, "invalid option value \"%s\"", kv[1]) + return internal.WrapErrorf(err, "invalid option value %q", kv[1]) } lowerKey := strings.ToLower(key) @@ -639,12 +643,12 @@ func (p *parser) addOption(pair string) error { case "direct": p.Connect = SingleConnect default: - return fmt.Errorf("invalid 'connect' value: %s", value) + return fmt.Errorf("invalid 'connect' value: %q", value) } if p.DirectConnectionSet { expectedValue := p.Connect == SingleConnect // directConnection should be true if connect=direct if p.DirectConnection != expectedValue { - return fmt.Errorf("options connect=%s and directConnection=%v conflict", value, p.DirectConnection) + return fmt.Errorf("options connect=%q and directConnection=%v conflict", value, p.DirectConnection) } } @@ -655,7 +659,7 @@ func (p *parser) addOption(pair string) error { p.DirectConnection = true case "false": default: - return fmt.Errorf("invalid 'directConnection' value: %s", value) + return fmt.Errorf("invalid 'directConnection' value: %q", value) } if p.ConnectSet { @@ -665,21 +669,21 @@ func (p *parser) addOption(pair string) error { } if p.Connect != expectedValue { - return fmt.Errorf("options connect=%s and directConnection=%s conflict", p.Connect, value) + return fmt.Errorf("options connect=%q and directConnection=%q conflict", p.Connect, value) } } p.DirectConnectionSet = true case "connecttimeoutms": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.ConnectTimeout = time.Duration(n) * time.Millisecond p.ConnectTimeoutSet = true case "heartbeatintervalms", "heartbeatfrequencyms": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.HeartbeatInterval = time.Duration(n) * time.Millisecond p.HeartbeatIntervalSet = true @@ -690,7 +694,7 @@ func (p *parser) addOption(pair string) error { case "false": p.J = false default: - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.JSet = true @@ -701,42 +705,42 @@ func (p *parser) addOption(pair string) error { case "false": p.LoadBalanced = false default: - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.LoadBalancedSet = true case "localthresholdms": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.LocalThreshold = time.Duration(n) * time.Millisecond p.LocalThresholdSet = true case "maxidletimems": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.MaxConnIdleTime = time.Duration(n) * time.Millisecond p.MaxConnIdleTimeSet = true case "maxpoolsize": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.MaxPoolSize = uint64(n) p.MaxPoolSizeSet = true case "minpoolsize": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.MinPoolSize = uint64(n) p.MinPoolSizeSet = true case "maxconnecting": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.MaxConnecting = uint64(n) p.MaxConnectingSet = true @@ -757,7 +761,7 @@ func (p *parser) addOption(pair string) error { for _, item := range items { parts := strings.Split(item, ":") if len(parts) != 2 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } tags[parts[0]] = parts[1] } @@ -765,7 +769,7 @@ func (p *parser) addOption(pair string) error { case "maxstaleness", "maxstalenessseconds": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.MaxStaleness = time.Duration(n) * time.Second p.MaxStalenessSet = true @@ -778,7 +782,7 @@ func (p *parser) addOption(pair string) error { case "false": p.RetryWrites = false default: - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.RetryWritesSet = true @@ -789,21 +793,21 @@ func (p *parser) addOption(pair string) error { case "false": p.RetryReads = false default: - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.RetryReadsSet = true case "serverselectiontimeoutms": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.ServerSelectionTimeout = time.Duration(n) * time.Millisecond p.ServerSelectionTimeoutSet = true case "sockettimeoutms": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.SocketTimeout = time.Duration(n) * time.Millisecond p.SocketTimeoutSet = true @@ -815,7 +819,7 @@ func (p *parser) addOption(pair string) error { n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.SRVMaxHosts = n case "srvservicename": @@ -839,7 +843,7 @@ func (p *parser) addOption(pair string) error { case "false": p.SSL = false default: - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } if p.tlsssl != nil && *p.tlsssl != p.SSL { return errors.New("tls and ssl options, when both specified, must be equivalent") @@ -874,7 +878,7 @@ func (p *parser) addOption(pair string) error { case "false": p.SSLInsecure = false default: - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.SSLInsecureSet = true @@ -883,6 +887,13 @@ func (p *parser) addOption(pair string) error { p.SSLSet = true p.SSLCaFile = value p.SSLCaFileSet = true + case "timeoutms": + n, err := strconv.Atoi(value) + if err != nil || n < 0 { + return fmt.Errorf("invalid value for %q: %q", key, value) + } + p.Timeout = time.Duration(n) * time.Millisecond + p.TimeoutSet = true case "tlsdisableocspendpointcheck": p.SSL = true p.SSLSet = true @@ -893,13 +904,13 @@ func (p *parser) addOption(pair string) error { case "false": p.SSLDisableOCSPEndpointCheck = false default: - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.SSLDisableOCSPEndpointCheckSet = true case "w": if w, err := strconv.Atoi(value); err == nil { if w < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.WNumber = w @@ -914,7 +925,7 @@ func (p *parser) addOption(pair string) error { case "wtimeoutms": n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.WTimeout = time.Duration(n) * time.Millisecond p.WTimeoutSet = true @@ -925,13 +936,13 @@ func (p *parser) addOption(pair string) error { } n, err := strconv.Atoi(value) if err != nil || n < 0 { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } p.WTimeout = time.Duration(n) * time.Millisecond case "zlibcompressionlevel": level, err := strconv.Atoi(value) if err != nil || (level < -1 || level > 9) { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } if level == -1 { @@ -943,7 +954,7 @@ func (p *parser) addOption(pair string) error { const maxZstdLevel = 22 // https://github.com/facebook/zstd/blob/a880ca239b447968493dd2fed3850e766d6305cc/contrib/linux-kernel/lib/zstd/compress.c#L3291 level, err := strconv.Atoi(value) if err != nil || (level < -1 || level > maxZstdLevel) { - return fmt.Errorf("invalid value for %s: %s", key, value) + return fmt.Errorf("invalid value for %q: %q", key, value) } if level == -1 { @@ -1013,7 +1024,7 @@ func extractDatabaseFromURI(uri string) (extractedDatabase, error) { escapedDatabase, err := url.QueryUnescape(database) if err != nil { - return extractedDatabase{}, internal.WrapErrorf(err, "invalid database \"%s\"", database) + return extractedDatabase{}, internal.WrapErrorf(err, "invalid database %q", database) } uri = uri[len(database):] diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/crypt.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/crypt.go index b06e0581..a203ed29 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/crypt.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/crypt.go @@ -14,6 +14,7 @@ import ( "strings" "time" + "go.mongodb.org/mongo-driver/bson/bsontype" "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" "go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt" "go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options" @@ -35,13 +36,13 @@ type MarkCommandFn func(ctx context.Context, db string, cmd bsoncore.Document) ( // CryptOptions specifies options to configure a Crypt instance. type CryptOptions struct { + MongoCrypt *mongocrypt.MongoCrypt CollInfoFn CollectionInfoFn KeyFn KeyRetrieverFn MarkFn MarkCommandFn - KmsProviders bsoncore.Document - SchemaMap map[string]bsoncore.Document TLSConfig map[string]*tls.Config BypassAutoEncryption bool + BypassQueryAnalysis bool } // Crypt is an interface implemented by types that can encrypt and decrypt instances of @@ -64,6 +65,9 @@ type Crypt interface { Close() // BypassAutoEncryption returns true if auto-encryption should be bypassed. BypassAutoEncryption() bool + // RewrapDataKey attempts to rewrap the document data keys matching the filter, preparing the re-wrapped documents + // to be returned as a slice of bsoncore.Document. + RewrapDataKey(ctx context.Context, filter []byte, opts *options.RewrapManyDataKeyOptions) ([]bsoncore.Document, error) } // crypt consumes the libmongocrypt.MongoCrypt type to iterate the mongocrypt state machine and perform encryption @@ -79,23 +83,15 @@ type crypt struct { } // NewCrypt creates a new Crypt instance configured with the given AutoEncryptionOptions. -func NewCrypt(opts *CryptOptions) (Crypt, error) { - c := &crypt{ +func NewCrypt(opts *CryptOptions) Crypt { + return &crypt{ + mongoCrypt: opts.MongoCrypt, collInfoFn: opts.CollInfoFn, keyFn: opts.KeyFn, markFn: opts.MarkFn, tlsConfig: opts.TLSConfig, bypassAutoEncryption: opts.BypassAutoEncryption, } - - mongocryptOpts := options.MongoCrypt().SetKmsProviders(opts.KmsProviders).SetLocalSchemaMap(opts.SchemaMap) - mc, err := mongocrypt.NewMongoCrypt(mongocryptOpts) - if err != nil { - return nil, err - } - - c.mongoCrypt = mc - return c, nil } // Encrypt encrypts the given command. @@ -135,6 +131,57 @@ func (c *crypt) CreateDataKey(ctx context.Context, kmsProvider string, opts *opt return c.executeStateMachine(ctx, cryptCtx, "") } +// RewrapDataKey attempts to rewrap the document data keys matching the filter, preparing the re-wrapped documents to +// be returned as a slice of bsoncore.Document. +func (c *crypt) RewrapDataKey(ctx context.Context, filter []byte, + opts *options.RewrapManyDataKeyOptions) ([]bsoncore.Document, error) { + + cryptCtx, err := c.mongoCrypt.RewrapDataKeyContext(filter, opts) + if err != nil { + return nil, err + } + defer cryptCtx.Close() + + rewrappedBSON, err := c.executeStateMachine(ctx, cryptCtx, "") + if err != nil { + return nil, err + } + if rewrappedBSON == nil { + return nil, nil + } + + // mongocrypt_ctx_rewrap_many_datakey_init wraps the documents in a BSON of the form { "v": [(BSON document), ...] } + // where each BSON document in the slice is a document containing a rewrapped datakey. + rewrappedDocumentBytes, err := rewrappedBSON.LookupErr("v") + if err != nil { + return nil, err + } + + // Parse the resulting BSON as individual documents. + rewrappedDocsArray, ok := rewrappedDocumentBytes.ArrayOK() + if !ok { + return nil, fmt.Errorf("expected results from mongocrypt_ctx_rewrap_many_datakey_init to be an array") + } + + rewrappedDocumentValues, err := rewrappedDocsArray.Values() + if err != nil { + return nil, err + } + + rewrappedDocuments := []bsoncore.Document{} + for _, rewrappedDocumentValue := range rewrappedDocumentValues { + if rewrappedDocumentValue.Type != bsontype.EmbeddedDocument { + // If a value in the document's array returned by mongocrypt is anything other than an embedded document, + // then something is wrong and we should terminate the routine. + return nil, fmt.Errorf("expected value of type %q, got: %q", + bsontype.EmbeddedDocument.String(), + rewrappedDocumentValue.Type.String()) + } + rewrappedDocuments = append(rewrappedDocuments, rewrappedDocumentValue.Document()) + } + return rewrappedDocuments, nil +} + // EncryptExplicit encrypts the given value with the given options. func (c *crypt) EncryptExplicit(ctx context.Context, val bsoncore.Value, opts *options.ExplicitEncryptionOptions) (byte, []byte, error) { idx, doc := bsoncore.AppendDocumentStart(nil) @@ -200,6 +247,8 @@ func (c *crypt) executeStateMachine(ctx context.Context, cryptCtx *mongocrypt.Co err = c.decryptKeys(cryptCtx) case mongocrypt.Ready: return cryptCtx.Finish() + case mongocrypt.Done: + return nil, nil default: return nil, fmt.Errorf("invalid Crypt state: %v", state) } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/driver.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/driver.go index 9a2ccda7..db5788aa 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/driver.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/driver.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package driver // import "go.mongodb.org/mongo-driver/x/mongo/driver" import ( @@ -47,6 +53,9 @@ type Server interface { // MinRTT returns the minimum round-trip time to the server observed over the window period. MinRTT() time.Duration + + // RTT90 returns the 90th percentile round-trip time to the server observed over the window period. + RTT90() time.Duration } // Connection represents a connection to a MongoDB server. @@ -208,11 +217,16 @@ func (ssd SingleConnectionDeployment) MinRTT() time.Duration { return 0 } -// TODO(GODRIVER-617): We can likely use 1 type for both the Type and the RetryMode by using -// 2 bits for the mode and 1 bit for the type. Although in the practical sense, we might not want to -// do that since the type of retryability is tied to the operation itself and isn't going change, -// e.g. and insert operation will always be a write, however some operations are both reads and -// writes, for instance aggregate is a read but with a $out parameter it's a write. +// RTT90 always returns 0. It implements the driver.Server interface. +func (ssd SingleConnectionDeployment) RTT90() time.Duration { + return 0 +} + +// TODO(GODRIVER-617): We can likely use 1 type for both the Type and the RetryMode by using 2 bits for the mode and 1 +// TODO bit for the type. Although in the practical sense, we might not want to do that since the type of retryability +// TODO is tied to the operation itself and isn't going change, e.g. and insert operation will always be a write, +// TODO however some operations are both reads and writes, for instance aggregate is a read but with a $out parameter +// TODO it's a write. // Type specifies whether an operation is a read, write, or unknown. type Type uint diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/errors.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/errors.go index fd1e2ad1..20a7de55 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/errors.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/errors.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package driver import ( @@ -39,6 +45,9 @@ var ( // ErrUnsupportedStorageEngine is returned when a retryable write is attempted against a server // that uses a storage engine that does not support retryable writes ErrUnsupportedStorageEngine = errors.New("this MongoDB deployment does not support retryable writes. Please add retryWrites=false to your connection string") + // ErrDeadlineWouldBeExceeded is returned when a Timeout set on an operation would be exceeded + // if the operation were sent to the server. + ErrDeadlineWouldBeExceeded = errors.New("operation not sent to server, as Timeout would be exceeded") ) // QueryFailureError is an error representing a command failure as a document. diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/legacy.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/legacy.go index a6df77f4..9f3b8a39 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/legacy.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/legacy.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package driver // LegacyOperationKind indicates if an operation is a legacy find, getMore, or killCursors. This is used diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt.go index ba547ad4..214d7c47 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt.go @@ -17,8 +17,10 @@ package mongocrypt import "C" import ( "errors" + "fmt" "unsafe" + "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" "go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options" ) @@ -27,6 +29,13 @@ type MongoCrypt struct { wrapped *C.mongocrypt_t } +// Version returns the version string for the loaded libmongocrypt, or an empty string +// if libmongocrypt was not loaded. +func Version() string { + str := C.GoString(C.mongocrypt_version(nil)) + return str +} + // NewMongoCrypt constructs a new MongoCrypt instance configured using the provided MongoCryptOptions. func NewMongoCrypt(opts *options.MongoCryptOptions) (*MongoCrypt, error) { // create mongocrypt_t handle @@ -45,11 +54,33 @@ func NewMongoCrypt(opts *options.MongoCryptOptions) (*MongoCrypt, error) { if err := crypt.setLocalSchemaMap(opts.LocalSchemaMap); err != nil { return nil, err } + if err := crypt.setEncryptedFieldsMap(opts.EncryptedFieldsMap); err != nil { + return nil, err + } + + if opts.BypassQueryAnalysis { + C.mongocrypt_setopt_bypass_query_analysis(wrapped) + } + + // If loading the crypt_shared library isn't disabled, set the default library search path "$SYSTEM" + // and set a library override path if one was provided. + if !opts.CryptSharedLibDisabled { + systemStr := C.CString("$SYSTEM") + defer C.free(unsafe.Pointer(systemStr)) + C.mongocrypt_setopt_append_crypt_shared_lib_search_path(crypt.wrapped, systemStr) + + if opts.CryptSharedLibOverridePath != "" { + cryptSharedLibOverridePathStr := C.CString(opts.CryptSharedLibOverridePath) + defer C.free(unsafe.Pointer(cryptSharedLibOverridePathStr)) + C.mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt.wrapped, cryptSharedLibOverridePathStr) + } + } // initialize handle if !C.mongocrypt_init(crypt.wrapped) { return nil, crypt.createErrorFromStatus() } + return crypt, nil } @@ -109,6 +140,34 @@ func setAltName(ctx *Context, altName string) error { return nil } +func setKeyMaterial(ctx *Context, keyMaterial []byte) error { + // Create document {"keyMaterial": keyMaterial} using the generic binary sybtype 0x00. + idx, doc := bsoncore.AppendDocumentStart(nil) + doc = bsoncore.AppendBinaryElement(doc, "keyMaterial", 0x00, keyMaterial) + doc, err := bsoncore.AppendDocumentEnd(doc, idx) + if err != nil { + return err + } + + keyMaterialBinary := newBinaryFromBytes(doc) + defer keyMaterialBinary.close() + + if ok := C.mongocrypt_ctx_setopt_key_material(ctx.wrapped, keyMaterialBinary.wrapped); !ok { + return ctx.createErrorFromStatus() + } + return nil +} + +func rewrapDataKey(ctx *Context, filter []byte) error { + filterBinary := newBinaryFromBytes(filter) + defer filterBinary.close() + + if ok := C.mongocrypt_ctx_rewrap_many_datakey_init(ctx.wrapped, filterBinary.wrapped); !ok { + return ctx.createErrorFromStatus() + } + return nil +} + // CreateDataKeyContext creates a Context to use for creating a data key. func (m *MongoCrypt) CreateDataKeyContext(kmsProvider string, opts *options.DataKeyOptions) (*Context, error) { ctx := newContext(C.mongocrypt_ctx_new(m.wrapped)) @@ -142,12 +201,23 @@ func (m *MongoCrypt) CreateDataKeyContext(kmsProvider string, opts *options.Data } } + if opts.KeyMaterial != nil { + if err := setKeyMaterial(ctx, opts.KeyMaterial); err != nil { + return nil, err + } + } + if ok := C.mongocrypt_ctx_datakey_init(ctx.wrapped); !ok { return nil, ctx.createErrorFromStatus() } return ctx, nil } +const ( + IndexTypeUnindexed = 1 + IndexTypeIndexed = 2 +) + // CreateExplicitEncryptionContext creates a Context to use for explicit encryption. func (m *MongoCrypt) CreateExplicitEncryptionContext(doc bsoncore.Document, opts *options.ExplicitEncryptionOptions) (*Context, error) { @@ -172,10 +242,25 @@ func (m *MongoCrypt) CreateExplicitEncryptionContext(doc bsoncore.Document, opts algoStr := C.CString(opts.Algorithm) defer C.free(unsafe.Pointer(algoStr)) + if ok := C.mongocrypt_ctx_setopt_algorithm(ctx.wrapped, algoStr, -1); !ok { return nil, ctx.createErrorFromStatus() } + if opts.QueryType != "" { + queryStr := C.CString(opts.QueryType) + defer C.free(unsafe.Pointer(queryStr)) + if ok := C.mongocrypt_ctx_setopt_query_type(ctx.wrapped, queryStr, -1); !ok { + return nil, ctx.createErrorFromStatus() + } + } + + if opts.ContentionFactor != nil { + if ok := C.mongocrypt_ctx_setopt_contention_factor(ctx.wrapped, C.int64_t(*opts.ContentionFactor)); !ok { + return nil, ctx.createErrorFromStatus() + } + } + docBinary := newBinaryFromBytes(doc) defer docBinary.close() if ok := C.mongocrypt_ctx_explicit_encrypt_init(ctx.wrapped, docBinary.wrapped); !ok { @@ -201,11 +286,66 @@ func (m *MongoCrypt) CreateExplicitDecryptionContext(doc bsoncore.Document) (*Co return ctx, nil } +// CryptSharedLibVersion returns the version number for the loaded crypt_shared library, or 0 if the +// crypt_shared library was not loaded. +func (m *MongoCrypt) CryptSharedLibVersion() uint64 { + return uint64(C.mongocrypt_crypt_shared_lib_version(m.wrapped)) +} + +// CryptSharedLibVersionString returns the version string for the loaded crypt_shared library, or an +// empty string if the crypt_shared library was not loaded. +func (m *MongoCrypt) CryptSharedLibVersionString() string { + // Pass in a pointer for "len", but ignore the value because C.GoString can determine the string + // length without it. + len := C.uint(0) + str := C.GoString(C.mongocrypt_crypt_shared_lib_version_string(m.wrapped, &len)) + return str +} + // Close cleans up any resources associated with the given MongoCrypt instance. func (m *MongoCrypt) Close() { C.mongocrypt_destroy(m.wrapped) } +// RewrapDataKeyContext create a Context to use for rewrapping a data key. +func (m *MongoCrypt) RewrapDataKeyContext(filter []byte, opts *options.RewrapManyDataKeyOptions) (*Context, error) { + const masterKey = "masterKey" + const providerKey = "provider" + + ctx := newContext(C.mongocrypt_ctx_new(m.wrapped)) + if ctx.wrapped == nil { + return nil, m.createErrorFromStatus() + } + + if opts.Provider != nil { + // If a provider has been specified, create an encryption key document for creating a data key or for rewrapping + // datakeys. If a new provider is not specified, then the filter portion of this logic returns the data as it + // exists in the collection. + idx, mongocryptDoc := bsoncore.AppendDocumentStart(nil) + mongocryptDoc = bsoncore.AppendStringElement(mongocryptDoc, providerKey, *opts.Provider) + + if opts.MasterKey != nil { + mongocryptDoc = opts.MasterKey[:len(opts.MasterKey)-1] + mongocryptDoc = bsoncore.AppendStringElement(mongocryptDoc, providerKey, *opts.Provider) + } + + mongocryptDoc, err := bsoncore.AppendDocumentEnd(mongocryptDoc, idx) + if err != nil { + return nil, err + } + + mongocryptBinary := newBinaryFromBytes(mongocryptDoc) + defer mongocryptBinary.close() + + // Add new masterKey to the mongocrypt context. + if ok := C.mongocrypt_ctx_setopt_key_encryption_key(ctx.wrapped, mongocryptBinary.wrapped); !ok { + return nil, ctx.createErrorFromStatus() + } + } + + return ctx, rewrapDataKey(ctx, filter) +} + func (m *MongoCrypt) setProviderOptions(kmsProviders bsoncore.Document) error { providersBinary := newBinaryFromBytes(kmsProviders) defer providersBinary.close() @@ -223,13 +363,12 @@ func (m *MongoCrypt) setLocalSchemaMap(schemaMap map[string]bsoncore.Document) e } // convert schema map to BSON document - midx, mdoc := bsoncore.AppendDocumentStart(nil) - for key, doc := range schemaMap { - mdoc = bsoncore.AppendDocumentElement(mdoc, key, doc) + schemaMapBSON, err := bson.Marshal(schemaMap) + if err != nil { + return fmt.Errorf("error marshalling SchemaMap: %v", err) } - mdoc, _ = bsoncore.AppendDocumentEnd(mdoc, midx) - schemaMapBinary := newBinaryFromBytes(mdoc) + schemaMapBinary := newBinaryFromBytes(schemaMapBSON) defer schemaMapBinary.close() if ok := C.mongocrypt_setopt_schema_map(m.wrapped, schemaMapBinary.wrapped); !ok { @@ -238,6 +377,27 @@ func (m *MongoCrypt) setLocalSchemaMap(schemaMap map[string]bsoncore.Document) e return nil } +// setEncryptedFieldsMap sets the encryptedfields map in mongocrypt. +func (m *MongoCrypt) setEncryptedFieldsMap(encryptedfieldsMap map[string]bsoncore.Document) error { + if len(encryptedfieldsMap) == 0 { + return nil + } + + // convert encryptedfields map to BSON document + encryptedfieldsMapBSON, err := bson.Marshal(encryptedfieldsMap) + if err != nil { + return fmt.Errorf("error marshalling EncryptedFieldsMap: %v", err) + } + + encryptedfieldsMapBinary := newBinaryFromBytes(encryptedfieldsMapBSON) + defer encryptedfieldsMapBinary.close() + + if ok := C.mongocrypt_setopt_encrypted_field_config_map(m.wrapped, encryptedfieldsMapBinary.wrapped); !ok { + return m.createErrorFromStatus() + } + return nil +} + // createErrorFromStatus creates a new Error based on the status of the MongoCrypt instance. func (m *MongoCrypt) createErrorFromStatus() error { status := C.mongocrypt_status_new() diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_not_enabled.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_not_enabled.go index 92f49976..45e16988 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_not_enabled.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_not_enabled.go @@ -19,6 +19,12 @@ const cseNotSupportedMsg = "client-side encryption not enabled. add the cse buil // MongoCrypt represents a mongocrypt_t handle. type MongoCrypt struct{} +// Version returns the version string for the loaded libmongocrypt, or an empty string +// if libmongocrypt was not loaded. +func Version() string { + return "" +} + // NewMongoCrypt constructs a new MongoCrypt instance configured using the provided MongoCryptOptions. func NewMongoCrypt(opts *options.MongoCryptOptions) (*MongoCrypt, error) { panic(cseNotSupportedMsg) @@ -44,11 +50,28 @@ func (m *MongoCrypt) CreateExplicitEncryptionContext(doc bsoncore.Document, opts panic(cseNotSupportedMsg) } +// RewrapDataKeyContext creates a Context to use for rewrapping a data key. +func (m *MongoCrypt) RewrapDataKeyContext(filter []byte, opts *options.RewrapManyDataKeyOptions) (*Context, error) { + panic(cseNotSupportedMsg) +} + // CreateExplicitDecryptionContext creates a Context to use for explicit decryption. func (m *MongoCrypt) CreateExplicitDecryptionContext(doc bsoncore.Document) (*Context, error) { panic(cseNotSupportedMsg) } +// CryptSharedLibVersion returns the version number for the loaded crypt_shared library, or 0 if the +// crypt_shared library was not loaded. +func (m *MongoCrypt) CryptSharedLibVersion() uint64 { + panic(cseNotSupportedMsg) +} + +// CryptSharedLibVersionString returns the version string for the loaded crypt_shared library, or an +// empty string if the crypt_shared library was not loaded. +func (m *MongoCrypt) CryptSharedLibVersionString() string { + panic(cseNotSupportedMsg) +} + // Close cleans up any resources associated with the given MongoCrypt instance. func (m *MongoCrypt) Close() { panic(cseNotSupportedMsg) diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_context_options.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_context_options.go index 0f7f43b9..fdf704ff 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_context_options.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_context_options.go @@ -14,6 +14,7 @@ import ( // DataKeyOptions specifies options for creating a new data key. type DataKeyOptions struct { KeyAltNames []string + KeyMaterial []byte MasterKey bsoncore.Document } @@ -34,11 +35,27 @@ func (dko *DataKeyOptions) SetMasterKey(key bsoncore.Document) *DataKeyOptions { return dko } +// SetKeyMaterial specifies the key material. +func (dko *DataKeyOptions) SetKeyMaterial(keyMaterial []byte) *DataKeyOptions { + dko.KeyMaterial = keyMaterial + return dko +} + +// QueryType describes the type of query the result of Encrypt is used for. +type QueryType int + +// These constants specify valid values for QueryType +const ( + QueryTypeEquality QueryType = 1 +) + // ExplicitEncryptionOptions specifies options for configuring an explicit encryption context. type ExplicitEncryptionOptions struct { - KeyID *primitive.Binary - KeyAltName *string - Algorithm string + KeyID *primitive.Binary + KeyAltName *string + Algorithm string + QueryType string + ContentionFactor *int64 } // ExplicitEncryption creates a new ExplicitEncryptionOptions instance. @@ -63,3 +80,60 @@ func (eeo *ExplicitEncryptionOptions) SetAlgorithm(algorithm string) *ExplicitEn eeo.Algorithm = algorithm return eeo } + +// SetQueryType specifies the query type. +func (eeo *ExplicitEncryptionOptions) SetQueryType(queryType string) *ExplicitEncryptionOptions { + eeo.QueryType = queryType + return eeo +} + +// SetContentionFactor specifies the contention factor. +func (eeo *ExplicitEncryptionOptions) SetContentionFactor(contentionFactor int64) *ExplicitEncryptionOptions { + eeo.ContentionFactor = &contentionFactor + return eeo +} + +// RewrapManyDataKeyOptions represents all possible options used to decrypt and encrypt all matching data keys with a +// possibly new masterKey. +type RewrapManyDataKeyOptions struct { + // Provider identifies the new KMS provider. If omitted, encrypting uses the current KMS provider. + Provider *string + + // MasterKey identifies the new masterKey. If omitted, rewraps with the current masterKey. + MasterKey bsoncore.Document +} + +// RewrapManyDataKey creates a new RewrapManyDataKeyOptions instance. +func RewrapManyDataKey() *RewrapManyDataKeyOptions { + return new(RewrapManyDataKeyOptions) +} + +// SetProvider sets the value for the Provider field. +func (rmdko *RewrapManyDataKeyOptions) SetProvider(provider string) *RewrapManyDataKeyOptions { + rmdko.Provider = &provider + return rmdko +} + +// SetMasterKey sets the value for the MasterKey field. +func (rmdko *RewrapManyDataKeyOptions) SetMasterKey(masterKey bsoncore.Document) *RewrapManyDataKeyOptions { + rmdko.MasterKey = masterKey + return rmdko +} + +// MergeRewrapManyDataKeyOptions combines the given RewrapManyDataKeyOptions instances into a single +// RewrapManyDataKeyOptions in a last one wins fashion. +func MergeRewrapManyDataKeyOptions(opts ...*RewrapManyDataKeyOptions) *RewrapManyDataKeyOptions { + rmdkOpts := RewrapManyDataKey() + for _, rmdko := range opts { + if rmdko == nil { + continue + } + if provider := rmdko.Provider; provider != nil { + rmdkOpts.Provider = provider + } + if masterKey := rmdko.MasterKey; masterKey != nil { + rmdkOpts.MasterKey = masterKey + } + } + return rmdkOpts +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_options.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_options.go index abaf260d..7e90a0ec 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_options.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_options.go @@ -12,8 +12,12 @@ import ( // MongoCryptOptions specifies options to configure a MongoCrypt instance. type MongoCryptOptions struct { - KmsProviders bsoncore.Document - LocalSchemaMap map[string]bsoncore.Document + KmsProviders bsoncore.Document + LocalSchemaMap map[string]bsoncore.Document + BypassQueryAnalysis bool + EncryptedFieldsMap map[string]bsoncore.Document + CryptSharedLibDisabled bool + CryptSharedLibOverridePath string } // MongoCrypt creates a new MongoCryptOptions instance. @@ -32,3 +36,28 @@ func (mo *MongoCryptOptions) SetLocalSchemaMap(localSchemaMap map[string]bsoncor mo.LocalSchemaMap = localSchemaMap return mo } + +// SetBypassQueryAnalysis skips the NeedMongoMarkings state. +func (mo *MongoCryptOptions) SetBypassQueryAnalysis(bypassQueryAnalysis bool) *MongoCryptOptions { + mo.BypassQueryAnalysis = bypassQueryAnalysis + return mo +} + +// SetEncryptedFieldsMap specifies the encrypted fields map. +func (mo *MongoCryptOptions) SetEncryptedFieldsMap(efcMap map[string]bsoncore.Document) *MongoCryptOptions { + mo.EncryptedFieldsMap = efcMap + return mo +} + +// SetCryptSharedLibDisabled explicitly disables loading the crypt_shared library if set to true. +func (mo *MongoCryptOptions) SetCryptSharedLibDisabled(disabled bool) *MongoCryptOptions { + mo.CryptSharedLibDisabled = disabled + return mo +} + +// SetCryptSharedLibOverridePath sets the override path to the crypt_shared library file. Setting +// an override path disables the default operating system dynamic library search path. +func (mo *MongoCryptOptions) SetCryptSharedLibOverridePath(path string) *MongoCryptOptions { + mo.CryptSharedLibOverridePath = path + return mo +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/ocsp.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/ocsp.go index 72b89b99..ed625706 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/ocsp.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/ocsp.go @@ -18,7 +18,6 @@ import ( "io/ioutil" "math/big" "net/http" - "net/url" "time" "golang.org/x/crypto/ocsp" @@ -28,9 +27,6 @@ import ( var ( tlsFeatureExtensionOID = asn1.ObjectIdentifier{1, 3, 6, 1, 5, 5, 7, 1, 24} mustStapleFeatureValue = big.NewInt(5) - - defaultRequestTimeout = 5 * time.Second - errGotOCSPResponse = errors.New("done") ) // Error represents an OCSP verification error @@ -126,10 +122,7 @@ func getParsedResponse(ctx context.Context, cfg config, connState tls.Connection if cfg.disableEndpointChecking { return nil, nil } - externalResponse, err := contactResponders(ctx, cfg) - if err != nil { - return nil, err - } + externalResponse := contactResponders(ctx, cfg) if externalResponse == nil { // None of the responders were available. return nil, nil @@ -210,33 +203,21 @@ func isMustStapleCertificate(cert *x509.Certificate) (bool, error) { return false, nil } -// contactResponders will send a request to the OCSP responders reported by cfg.serverCert. The first response that -// conclusively identifies cfg.serverCert as good or revoked will be returned. If all responders are unavailable or no -// responder returns a conclusive status, (nil, nil) will be returned. -func contactResponders(ctx context.Context, cfg config) (*ResponseDetails, error) { +// contactResponders will send a request to all OCSP responders reported by cfg.serverCert. The +// first response that conclusively identifies cfg.serverCert as good or revoked will be returned. +// If all responders are unavailable or no responder returns a conclusive status, it returns nil. +// contactResponders will wait for up to 5 seconds to get a certificate status response. +func contactResponders(ctx context.Context, cfg config) *ResponseDetails { if len(cfg.serverCert.OCSPServer) == 0 { - return nil, nil + return nil } - requestCtx := ctx // Either ctx or a new context derived from ctx with a five second timeout. - userContextUsed := true - var cancelFn context.CancelFunc - - // Use a context with defaultRequestTimeout if ctx does not have a deadline set or the current deadline is further - // out than defaultRequestTimeout. If the current deadline is less than less than defaultRequestTimeout out, respect - // it. Calling context.WithTimeout would do this for us, but we need to know which context we're using. - wantDeadline := time.Now().Add(defaultRequestTimeout) - if deadline, ok := ctx.Deadline(); !ok || deadline.After(wantDeadline) { - userContextUsed = false - requestCtx, cancelFn = context.WithDeadline(ctx, wantDeadline) - } - defer func() { - if cancelFn != nil { - cancelFn() - } - }() + // Limit all OCSP responder calls to a maximum of 5 seconds or when the passed-in context expires, + // whichever happens first. + ctx, cancel := context.WithTimeout(ctx, 5*time.Second) + defer cancel() - group, groupCtx := errgroup.WithContext(requestCtx) + group, ctx := errgroup.WithContext(ctx) ocspResponses := make(chan *ocsp.Response, len(cfg.serverCert.OCSPServer)) defer close(ocspResponses) @@ -244,6 +225,11 @@ func contactResponders(ctx context.Context, cfg config) (*ResponseDetails, error // Re-assign endpoint so it gets re-scoped rather than using the iteration variable in the goroutine. See // https://golang.org/doc/faq#closures_and_goroutines. endpoint := endpoint + + // Start a group of goroutines that each attempt to request the certificate status from one + // of the OCSP endpoints listed in the server certificate. We want to "soft fail" on all + // errors, so this function never returns actual errors. Only a "done" error is returned + // when a response is received so the errgroup cancels any other in-progress requests. group.Go(func() error { // Use bytes.NewReader instead of bytes.NewBuffer because a bytes.Buffer is an owning representation and the // docs recommend not using the underlying []byte after creating the buffer, so a new copy of the request @@ -252,35 +238,16 @@ func contactResponders(ctx context.Context, cfg config) (*ResponseDetails, error if err != nil { return nil } - request = request.WithContext(groupCtx) - - // Execute the request and handle errors as follows: - // - // 1. If the original context expired or was cancelled, propagate the error up so the caller will abort the - // verification and return control to the user. - // - // 2. If any other errors occurred, including the defaultRequestTimeout expiring, or the response has a - // non-200 status code, suppress the error because we want to ignore this responder and wait for a different - // one to respond. + request = request.WithContext(ctx) + httpResponse, err := http.DefaultClient.Do(request) if err != nil { - urlErr, ok := err.(*url.Error) - if !ok { - return nil - } - - timeout := urlErr.Timeout() - cancelled := urlErr.Err == context.Canceled // Timeout() does not return true for context.Cancelled. - if cancelled || (userContextUsed && timeout) { - // Handle the original context expiring or being cancelled. The url.Error type supports Unwrap, so - // users can use errors.Is to check for context errors. - return err - } - return nil // Ignore all other errors. + return nil } defer func() { _ = httpResponse.Body.Close() }() + if httpResponse.StatusCode != 200 { return nil } @@ -292,26 +259,27 @@ func contactResponders(ctx context.Context, cfg config) (*ResponseDetails, error ocspResponse, err := ocsp.ParseResponseForCert(httpBytes, cfg.serverCert, cfg.issuer) if err != nil || verifyResponse(cfg, ocspResponse) != nil || ocspResponse.Status == ocsp.Unknown { - // If there was an error parsing/validating the response or the response was inconclusive, suppress - // the error because we want to ignore this responder. + // If there was an error parsing/validating the response or the response was + // inconclusive, suppress the error because we want to ignore this responder. return nil } - // Store the response and return a sentinel error so the error group will exit and any in-flight requests - // will be cancelled. + // Send the conclusive response on the response channel and return a "done" error that + // will cause the errgroup to cancel all other in-progress requests. ocspResponses <- ocspResponse - return errGotOCSPResponse + return errors.New("done") }) } - if err := group.Wait(); err != nil && err != errGotOCSPResponse { - return nil, err - } - if len(ocspResponses) == 0 { - // None of the responders gave a conclusive response. - return nil, nil + _ = group.Wait() + select { + case res := <-ocspResponses: + return extractResponseDetails(res) + default: + // If there is no OCSP response on the response channel, all OCSP calls either failed or + // were inconclusive. Return nil. + return nil } - return extractResponseDetails(<-ocspResponses), nil } // verifyResponse checks that the provided OCSP response is valid. diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation.go index f1647bef..4ea80e75 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package driver import ( @@ -211,6 +217,10 @@ type Operation struct { // read preference will not be added to the command on wire versions < 13. IsOutputAggregate bool + // Timeout is the amount of time that this operation can execute before returning an error. The default value + // nil, which means that the timeout of the operation's caller will be used. + Timeout *time.Duration + // cmdName is only set when serializing OP_MSG and is used internally in readWireMessage. cmdName string } @@ -304,6 +314,16 @@ func (op Operation) Execute(ctx context.Context, scratch []byte) error { return err } + // If no deadline is set on the passed-in context, op.Timeout is set, and context is not already + // a Timeout context, honor op.Timeout in new Timeout context for operation execution. + if _, deadlineSet := ctx.Deadline(); !deadlineSet && op.Timeout != nil && !internal.IsTimeoutContext(ctx) { + newCtx, cancelFunc := internal.MakeTimeoutContext(ctx, *op.Timeout) + // Redefine ctx to be the new timeout-derived context. + ctx = newCtx + // Cancel the timeout-derived context at the end of Execute to avoid a context leak. + defer cancelFunc() + } + if op.Client != nil { if err := op.Client.StartCommand(); err != nil { return err @@ -451,11 +471,30 @@ func (op Operation) Execute(ctx context.Context, scratch []byte) error { } } + // Calculate value of 'maxTimeMS' field to potentially append to the wire message based on the current + // context's deadline and the 90th percentile RTT if the ctx is a Timeout Context. + var maxTimeMS uint64 + if internal.IsTimeoutContext(ctx) { + if deadline, ok := ctx.Deadline(); ok { + remainingTimeout := time.Until(deadline) + + maxTimeMSVal := int64(remainingTimeout/time.Millisecond) - + int64(srvr.RTT90()/time.Millisecond) + + // A maxTimeMS value <= 0 indicates that we are already at or past the Context's deadline. + if maxTimeMSVal <= 0 { + return internal.WrapErrorf(ErrDeadlineWouldBeExceeded, + "Context deadline has already been surpassed by %v", remainingTimeout) + } + maxTimeMS = uint64(maxTimeMSVal) + } + } + // convert to wire message if len(scratch) > 0 { scratch = scratch[:0] } - wm, startedInfo, err := op.createWireMessage(ctx, scratch, desc, conn) + wm, startedInfo, err := op.createWireMessage(ctx, scratch, desc, maxTimeMS, conn) if err != nil { return err } @@ -490,12 +529,21 @@ func (op Operation) Execute(ctx context.Context, scratch []byte) error { serviceID: startedInfo.serviceID, } - // Check if there's enough time to perform a best-case network round trip before the Context - // deadline. If not, create a network error that wraps a context.DeadlineExceeded error and - // skip the actual round trip. - if deadline, ok := ctx.Deadline(); ok && time.Now().Add(srvr.MinRTT()).After(deadline) { - err = op.networkError(context.DeadlineExceeded) - } else { + // Check for possible context error. If no context error, check if there's enough time to perform a + // round trip before the Context deadline. If ctx is a Timeout Context, use the 90th percentile RTT + // as a threshold. Otherwise, use the minimum observed RTT. + if ctx.Err() != nil { + err = ctx.Err() + } else if deadline, ok := ctx.Deadline(); ok { + if internal.IsTimeoutContext(ctx) && time.Now().Add(srvr.RTT90()).After(deadline) { + err = internal.WrapErrorf(ErrDeadlineWouldBeExceeded, + "Remaining timeout %v applied from Timeout is less than 90th percentile RTT", time.Until(deadline)) + } else if time.Now().Add(srvr.MinRTT()).After(deadline) { + err = context.DeadlineExceeded + } + } + + if err == nil { // roundtrip using either the full roundTripper or a special one for when the moreToCome // flag is set var roundTrip = op.roundTrip @@ -864,15 +912,20 @@ func (Operation) decompressWireMessage(wm []byte) ([]byte, error) { return append(header, uncompressed...), nil } -func (op Operation) createWireMessage(ctx context.Context, dst []byte, - desc description.SelectedServer, conn Connection) ([]byte, startedInformation, error) { +func (op Operation) createWireMessage( + ctx context.Context, + dst []byte, + desc description.SelectedServer, + maxTimeMS uint64, + conn Connection) ([]byte, startedInformation, error) { + // If topology is not LoadBalanced, API version is not declared, and wire version is unknown // or less than 6, use OP_QUERY. Otherwise, use OP_MSG. if desc.Kind != description.LoadBalanced && op.ServerAPI == nil && (desc.WireVersion == nil || desc.WireVersion.Max < wiremessage.OpmsgWireVersion) { - return op.createQueryWireMessage(dst, desc) + return op.createQueryWireMessage(maxTimeMS, dst, desc) } - return op.createMsgWireMessage(ctx, dst, desc, conn) + return op.createMsgWireMessage(ctx, maxTimeMS, dst, desc, conn) } func (op Operation) addBatchArray(dst []byte) []byte { @@ -884,7 +937,7 @@ func (op Operation) addBatchArray(dst []byte) []byte { return dst } -func (op Operation) createQueryWireMessage(dst []byte, desc description.SelectedServer) ([]byte, startedInformation, error) { +func (op Operation) createQueryWireMessage(maxTimeMS uint64, dst []byte, desc description.SelectedServer) ([]byte, startedInformation, error) { var info startedInformation flags := op.secondaryOK(desc) var wmindex int32 @@ -934,6 +987,11 @@ func (op Operation) createQueryWireMessage(dst []byte, desc description.Selected dst = op.addClusterTime(dst, desc) dst = op.addServerAPI(dst) + // If maxTimeMS is greater than 0 append it to wire message. A maxTimeMS value of 0 only explicitly + // specifies the default behavior of no timeout server-side. + if maxTimeMS > 0 { + dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", int64(maxTimeMS)) + } dst, _ = bsoncore.AppendDocumentEnd(dst, idx) // Command monitoring only reports the document inside $query @@ -951,7 +1009,7 @@ func (op Operation) createQueryWireMessage(dst []byte, desc description.Selected return bsoncore.UpdateLength(dst, wmindex, int32(len(dst[wmindex:]))), info, nil } -func (op Operation) createMsgWireMessage(ctx context.Context, dst []byte, desc description.SelectedServer, +func (op Operation) createMsgWireMessage(ctx context.Context, maxTimeMS uint64, dst []byte, desc description.SelectedServer, conn Connection) ([]byte, startedInformation, error) { var info startedInformation @@ -995,6 +1053,11 @@ func (op Operation) createMsgWireMessage(ctx context.Context, dst []byte, desc d dst = op.addClusterTime(dst, desc) dst = op.addServerAPI(dst) + // If maxTimeMS is greater than 0 append it to wire message. A maxTimeMS value of 0 only explicitly + // specifies the default behavior of no timeout server-side. + if maxTimeMS > 0 { + dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", int64(maxTimeMS)) + } dst = bsoncore.AppendStringElement(dst, "$db", op.Database) rp, err := op.createReadPref(desc, false) @@ -1259,8 +1322,8 @@ func (op Operation) getReadPrefBasedOnTransaction() (*readpref.ReadPref, error) } func (op Operation) createReadPref(desc description.SelectedServer, isOpQuery bool) (bsoncore.Document, error) { - // TODO(GODRIVER-2231): Instead of checking if isOutputAggregate and desc.Server.WireVersion.Max < 13, - // somehow check if supplied readPreference was "overwritten" with primary in description.selectForReplicaSet. + // TODO(GODRIVER-2231): Instead of checking if isOutputAggregate and desc.Server.WireVersion.Max < 13, somehow check + // TODO if supplied readPreference was "overwritten" with primary in description.selectForReplicaSet. if desc.Server.Kind == description.Standalone || (isOpQuery && desc.Server.Kind != description.Mongos) || op.Type == Write || (op.IsOutputAggregate && desc.Server.WireVersion.Max < 13) { // Don't send read preference for: diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/aggregate.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/aggregate.go index e3554e33..be311780 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/aggregate.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/aggregate.go @@ -9,6 +9,7 @@ package operation import ( "context" "errors" + "time" "go.mongodb.org/mongo-driver/bson/bsontype" "go.mongodb.org/mongo-driver/event" @@ -47,6 +48,7 @@ type Aggregate struct { let bsoncore.Document hasOutputStage bool customOptions map[string]bsoncore.Value + timeout *time.Duration result driver.CursorResponse } @@ -107,6 +109,7 @@ func (a *Aggregate) Execute(ctx context.Context) error { MinimumWriteConcernWireVersion: 5, ServerAPI: a.serverAPI, IsOutputAggregate: a.hasOutputStage, + Timeout: a.timeout, }.Execute(ctx, nil) } @@ -145,7 +148,9 @@ func (a *Aggregate) command(dst []byte, desc description.SelectedServer) ([]byte dst = bsoncore.AppendValueElement(dst, "hint", a.hint) } - if a.maxTimeMS != nil { + + // Only append specified maxTimeMS if timeout is not also specified. + if a.maxTimeMS != nil && a.timeout == nil { dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", *a.maxTimeMS) } @@ -315,7 +320,7 @@ func (a *Aggregate) ReadConcern(readConcern *readconcern.ReadConcern) *Aggregate return a } -// ReadPreference set the read prefernce used with this operation. +// ReadPreference set the read preference used with this operation. func (a *Aggregate) ReadPreference(readPreference *readpref.ReadPref) *Aggregate { if a == nil { a = new(Aggregate) @@ -407,3 +412,13 @@ func (a *Aggregate) CustomOptions(co map[string]bsoncore.Value) *Aggregate { a.customOptions = co return a } + +// Timeout sets the timeout for this operation. +func (a *Aggregate) Timeout(timeout *time.Duration) *Aggregate { + if a == nil { + a = new(Aggregate) + } + + a.timeout = timeout + return a +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/command.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/command.go index 07b21c56..51761392 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/command.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/command.go @@ -9,6 +9,7 @@ package operation import ( "context" "errors" + "time" "go.mongodb.org/mongo-driver/event" "go.mongodb.org/mongo-driver/mongo/description" @@ -36,6 +37,7 @@ type Command struct { serverAPI *driver.ServerAPIOptions createCursor bool cursorOpts driver.CursorOptions + timeout *time.Duration } // NewCommand constructs and returns a new Command. Once the operation is executed, the result may only be accessed via @@ -103,6 +105,7 @@ func (c *Command) Execute(ctx context.Context) error { Selector: c.selector, Crypt: c.crypt, ServerAPI: c.serverAPI, + Timeout: c.timeout, }.Execute(ctx, nil) } @@ -166,7 +169,7 @@ func (c *Command) ReadConcern(readConcern *readconcern.ReadConcern) *Command { return c } -// ReadPreference set the read prefernce used with this operation. +// ReadPreference set the read preference used with this operation. func (c *Command) ReadPreference(readPreference *readpref.ReadPref) *Command { if c == nil { c = new(Command) @@ -205,3 +208,13 @@ func (c *Command) ServerAPI(serverAPI *driver.ServerAPIOptions) *Command { c.serverAPI = serverAPI return c } + +// Timeout sets the timeout for this operation. +func (c *Command) Timeout(timeout *time.Duration) *Command { + if c == nil { + c = new(Command) + } + + c.timeout = timeout + return c +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/count.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/count.go index 8404f364..756bb5f6 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/count.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/count.go @@ -10,7 +10,9 @@ import ( "context" "errors" "fmt" + "time" + "go.mongodb.org/mongo-driver/bson/bsontype" "go.mongodb.org/mongo-driver/event" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/readconcern" @@ -27,6 +29,7 @@ type Count struct { session *session.Client clock *session.ClusterClock collection string + comment bsoncore.Value monitor *event.CommandMonitor crypt driver.Crypt database string @@ -37,6 +40,7 @@ type Count struct { retry *driver.RetryMode result CountResult serverAPI *driver.ServerAPIOptions + timeout *time.Duration } // CountResult represents a count result returned by the server. @@ -120,6 +124,7 @@ func (c *Count) Execute(ctx context.Context) error { ReadPreference: c.readPreference, Selector: c.selector, ServerAPI: c.serverAPI, + Timeout: c.timeout, }.Execute(ctx, nil) // Swallow error if NamespaceNotFound(26) is returned from aggregate on non-existent namespace @@ -133,43 +138,18 @@ func (c *Count) Execute(ctx context.Context) error { } func (c *Count) command(dst []byte, desc description.SelectedServer) ([]byte, error) { - switch { - case desc.WireVersion.Max < 12: // If wire version < 12 (4.9.0), use count command - dst = bsoncore.AppendStringElement(dst, "count", c.collection) - if c.query != nil { - dst = bsoncore.AppendDocumentElement(dst, "query", c.query) - } - default: // If wire version >= 12 (4.9.0), use aggregate with $collStats - dst = bsoncore.AppendStringElement(dst, "aggregate", c.collection) - var idx int32 - idx, dst = bsoncore.AppendDocumentElementStart(dst, "cursor") - dst, _ = bsoncore.AppendDocumentEnd(dst, idx) - if c.query != nil { - return nil, fmt.Errorf("'query' cannot be set on Count against servers at or above 4.9.0") - } - - collStatsStage := bsoncore.NewDocumentBuilder(). - AppendDocument("$collStats", bsoncore.NewDocumentBuilder(). - AppendDocument("count", bsoncore.NewDocumentBuilder().Build()). - Build()). - Build() - groupStage := bsoncore.NewDocumentBuilder(). - AppendDocument("$group", bsoncore.NewDocumentBuilder(). - AppendInt64("_id", 1). - AppendDocument("n", bsoncore.NewDocumentBuilder(). - AppendString("$sum", "$count").Build()). - Build()). - Build() - countPipeline := bsoncore.NewArrayBuilder(). - AppendDocument(collStatsStage). - AppendDocument(groupStage). - Build() - dst = bsoncore.AppendArrayElement(dst, "pipeline", countPipeline) + dst = bsoncore.AppendStringElement(dst, "count", c.collection) + if c.query != nil { + dst = bsoncore.AppendDocumentElement(dst, "query", c.query) } - if c.maxTimeMS != nil { + // Only append specified maxTimeMS if timeout is not also specified. + if c.maxTimeMS != nil && c.timeout == nil { dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", *c.maxTimeMS) } + if c.comment.Type != bsontype.Type(0) { + dst = bsoncore.AppendValueElement(dst, "comment", c.comment) + } return dst, nil } @@ -223,6 +203,16 @@ func (c *Count) Collection(collection string) *Count { return c } +// Comment sets a value to help trace an operation. +func (c *Count) Comment(comment bsoncore.Value) *Count { + if c == nil { + c = new(Count) + } + + c.comment = comment + return c +} + // CommandMonitor sets the monitor to use for APM events. func (c *Count) CommandMonitor(monitor *event.CommandMonitor) *Count { if c == nil { @@ -273,7 +263,7 @@ func (c *Count) ReadConcern(readConcern *readconcern.ReadConcern) *Count { return c } -// ReadPreference set the read prefernce used with this operation. +// ReadPreference set the read preference used with this operation. func (c *Count) ReadPreference(readPreference *readpref.ReadPref) *Count { if c == nil { c = new(Count) @@ -313,3 +303,13 @@ func (c *Count) ServerAPI(serverAPI *driver.ServerAPIOptions) *Count { c.serverAPI = serverAPI return c } + +// Timeout sets the timeout for this operation. +func (c *Count) Timeout(timeout *time.Duration) *Count { + if c == nil { + c = new(Count) + } + + c.timeout = timeout + return c +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/create.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/create.go index 48fee42b..445b38e0 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/create.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/create.go @@ -20,29 +20,32 @@ import ( // Create represents a create operation. type Create struct { - capped *bool - collation bsoncore.Document - collectionName *string - indexOptionDefaults bsoncore.Document - max *int64 - pipeline bsoncore.Document - size *int64 - storageEngine bsoncore.Document - validationAction *string - validationLevel *string - validator bsoncore.Document - viewOn *string - session *session.Client - clock *session.ClusterClock - monitor *event.CommandMonitor - crypt driver.Crypt - database string - deployment driver.Deployment - selector description.ServerSelector - writeConcern *writeconcern.WriteConcern - serverAPI *driver.ServerAPIOptions - expireAfterSeconds *int64 - timeSeries bsoncore.Document + capped *bool + collation bsoncore.Document + changeStreamPreAndPostImages bsoncore.Document + collectionName *string + indexOptionDefaults bsoncore.Document + max *int64 + pipeline bsoncore.Document + size *int64 + storageEngine bsoncore.Document + validationAction *string + validationLevel *string + validator bsoncore.Document + viewOn *string + session *session.Client + clock *session.ClusterClock + monitor *event.CommandMonitor + crypt driver.Crypt + database string + deployment driver.Deployment + selector description.ServerSelector + writeConcern *writeconcern.WriteConcern + serverAPI *driver.ServerAPIOptions + expireAfterSeconds *int64 + timeSeries bsoncore.Document + encryptedFields bsoncore.Document + clusteredIndex bsoncore.Document } // NewCreate constructs and returns a new Create. @@ -85,6 +88,9 @@ func (c *Create) command(dst []byte, desc description.SelectedServer) ([]byte, e if c.capped != nil { dst = bsoncore.AppendBooleanElement(dst, "capped", *c.capped) } + if c.changeStreamPreAndPostImages != nil { + dst = bsoncore.AppendDocumentElement(dst, "changeStreamPreAndPostImages", c.changeStreamPreAndPostImages) + } if c.collation != nil { if desc.WireVersion == nil || !desc.WireVersion.Includes(5) { return nil, errors.New("the 'collation' command parameter requires a minimum server wire version of 5") @@ -124,6 +130,12 @@ func (c *Create) command(dst []byte, desc description.SelectedServer) ([]byte, e if c.timeSeries != nil { dst = bsoncore.AppendDocumentElement(dst, "timeseries", c.timeSeries) } + if c.encryptedFields != nil { + dst = bsoncore.AppendDocumentElement(dst, "encryptedFields", c.encryptedFields) + } + if c.clusteredIndex != nil { + dst = bsoncore.AppendDocumentElement(dst, "clusteredIndex", c.clusteredIndex) + } return dst, nil } @@ -147,6 +159,17 @@ func (c *Create) Collation(collation bsoncore.Document) *Create { return c } +// ChangeStreamPreAndPostImages specifies how change streams opened against the collection can return pre- +// and post-images of updated documents. This option is only valid for server versions 6.0 and above. +func (c *Create) ChangeStreamPreAndPostImages(csppi bsoncore.Document) *Create { + if c == nil { + c = new(Create) + } + + c.changeStreamPreAndPostImages = csppi + return c +} + // CollectionName specifies the name of the collection to create. func (c *Create) CollectionName(collectionName string) *Create { if c == nil { @@ -357,3 +380,23 @@ func (c *Create) TimeSeries(timeSeries bsoncore.Document) *Create { c.timeSeries = timeSeries return c } + +// EncryptedFields sets the EncryptedFields for this operation. +func (c *Create) EncryptedFields(ef bsoncore.Document) *Create { + if c == nil { + c = new(Create) + } + + c.encryptedFields = ef + return c +} + +// ClusteredIndex sets the ClusteredIndex option for this operation. +func (c *Create) ClusteredIndex(ci bsoncore.Document) *Create { + if c == nil { + c = new(Create) + } + + c.clusteredIndex = ci + return c +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/createIndexes.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/createIndexes.go index 6bf98dee..b828bc18 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/createIndexes.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/createIndexes.go @@ -10,6 +10,7 @@ import ( "context" "errors" "fmt" + "time" "go.mongodb.org/mongo-driver/bson/bsontype" "go.mongodb.org/mongo-driver/event" @@ -36,6 +37,7 @@ type CreateIndexes struct { writeConcern *writeconcern.WriteConcern result CreateIndexesResult serverAPI *driver.ServerAPIOptions + timeout *time.Duration } // CreateIndexesResult represents a createIndexes result returned by the server. @@ -113,6 +115,7 @@ func (ci *CreateIndexes) Execute(ctx context.Context) error { Selector: ci.selector, WriteConcern: ci.writeConcern, ServerAPI: ci.serverAPI, + Timeout: ci.timeout, }.Execute(ctx, nil) } @@ -128,7 +131,8 @@ func (ci *CreateIndexes) command(dst []byte, desc description.SelectedServer) ([ if ci.indexes != nil { dst = bsoncore.AppendArrayElement(dst, "indexes", ci.indexes) } - if ci.maxTimeMS != nil { + // Only append specified maxTimeMS if timeout is not also specified. + if ci.maxTimeMS != nil && ci.timeout == nil { dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", *ci.maxTimeMS) } return dst, nil @@ -265,3 +269,13 @@ func (ci *CreateIndexes) ServerAPI(serverAPI *driver.ServerAPIOptions) *CreateIn ci.serverAPI = serverAPI return ci } + +// Timeout sets the timeout for this operation. +func (ci *CreateIndexes) Timeout(timeout *time.Duration) *CreateIndexes { + if ci == nil { + ci = new(CreateIndexes) + } + + ci.timeout = timeout + return ci +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/delete.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/delete.go index e4851154..79f7f173 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/delete.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/delete.go @@ -10,7 +10,9 @@ import ( "context" "errors" "fmt" + "time" + "go.mongodb.org/mongo-driver/bson/bsontype" "go.mongodb.org/mongo-driver/event" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/writeconcern" @@ -21,6 +23,7 @@ import ( // Delete performs a delete operation type Delete struct { + comment bsoncore.Value deletes []bsoncore.Document ordered *bool session *session.Client @@ -37,12 +40,13 @@ type Delete struct { result DeleteResult serverAPI *driver.ServerAPIOptions let bsoncore.Document + timeout *time.Duration } // DeleteResult represents a delete result returned by the server. type DeleteResult struct { // Number of documents successfully deleted. - N int32 + N int64 } func buildDeleteResult(response bsoncore.Document) (DeleteResult, error) { @@ -55,9 +59,9 @@ func buildDeleteResult(response bsoncore.Document) (DeleteResult, error) { switch element.Key() { case "n": var ok bool - dr.N, ok = element.Value().AsInt32OK() + dr.N, ok = element.Value().AsInt64OK() if !ok { - return dr, fmt.Errorf("response field 'n' is type int32, but received BSON type %s", element.Value().Type) + return dr, fmt.Errorf("response field 'n' is type int32 or int64, but received BSON type %s", element.Value().Type) } } } @@ -106,12 +110,16 @@ func (d *Delete) Execute(ctx context.Context) error { Selector: d.selector, WriteConcern: d.writeConcern, ServerAPI: d.serverAPI, + Timeout: d.timeout, }.Execute(ctx, nil) } func (d *Delete) command(dst []byte, desc description.SelectedServer) ([]byte, error) { dst = bsoncore.AppendStringElement(dst, "delete", d.collection) + if d.comment.Type != bsontype.Type(0) { + dst = bsoncore.AppendValueElement(dst, "comment", d.comment) + } if d.ordered != nil { dst = bsoncore.AppendBooleanElement(dst, "ordered", *d.ordered) } @@ -182,6 +190,16 @@ func (d *Delete) Collection(collection string) *Delete { return d } +// Comment sets a value to help trace an operation. +func (d *Delete) Comment(comment bsoncore.Value) *Delete { + if d == nil { + d = new(Delete) + } + + d.comment = comment + return d +} + // CommandMonitor sets the monitor to use for APM events. func (d *Delete) CommandMonitor(monitor *event.CommandMonitor) *Delete { if d == nil { @@ -284,3 +302,13 @@ func (d *Delete) Let(let bsoncore.Document) *Delete { d.let = let return d } + +// Timeout sets the timeout for this operation. +func (d *Delete) Timeout(timeout *time.Duration) *Delete { + if d == nil { + d = new(Delete) + } + + d.timeout = timeout + return d +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/distinct.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/distinct.go index 4591c1ad..c4b16cd7 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/distinct.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/distinct.go @@ -9,7 +9,9 @@ package operation import ( "context" "errors" + "time" + "go.mongodb.org/mongo-driver/bson/bsontype" "go.mongodb.org/mongo-driver/event" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/readconcern" @@ -28,6 +30,7 @@ type Distinct struct { session *session.Client clock *session.ClusterClock collection string + comment bsoncore.Value monitor *event.CommandMonitor crypt driver.Crypt database string @@ -38,6 +41,7 @@ type Distinct struct { retry *driver.RetryMode result DistinctResult serverAPI *driver.ServerAPIOptions + timeout *time.Duration } // DistinctResult represents a distinct result returned by the server. @@ -99,6 +103,7 @@ func (d *Distinct) Execute(ctx context.Context) error { ReadPreference: d.readPreference, Selector: d.selector, ServerAPI: d.serverAPI, + Timeout: d.timeout, }.Execute(ctx, nil) } @@ -111,6 +116,9 @@ func (d *Distinct) command(dst []byte, desc description.SelectedServer) ([]byte, } dst = bsoncore.AppendDocumentElement(dst, "collation", d.collation) } + if d.comment.Type != bsontype.Type(0) { + dst = bsoncore.AppendValueElement(dst, "comment", d.comment) + } if d.key != nil { dst = bsoncore.AppendStringElement(dst, "key", *d.key) } @@ -193,6 +201,16 @@ func (d *Distinct) Collection(collection string) *Distinct { return d } +// Comment sets a value to help trace an operation. +func (d *Distinct) Comment(comment bsoncore.Value) *Distinct { + if d == nil { + d = new(Distinct) + } + + d.comment = comment + return d +} + // CommandMonitor sets the monitor to use for APM events. func (d *Distinct) CommandMonitor(monitor *event.CommandMonitor) *Distinct { if d == nil { @@ -243,7 +261,7 @@ func (d *Distinct) ReadConcern(readConcern *readconcern.ReadConcern) *Distinct { return d } -// ReadPreference set the read prefernce used with this operation. +// ReadPreference set the read preference used with this operation. func (d *Distinct) ReadPreference(readPreference *readpref.ReadPref) *Distinct { if d == nil { d = new(Distinct) @@ -283,3 +301,13 @@ func (d *Distinct) ServerAPI(serverAPI *driver.ServerAPIOptions) *Distinct { d.serverAPI = serverAPI return d } + +// Timeout sets the timeout for this operation. +func (d *Distinct) Timeout(timeout *time.Duration) *Distinct { + if d == nil { + d = new(Distinct) + } + + d.timeout = timeout + return d +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_indexes.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_indexes.go index 127f3951..20ca3668 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_indexes.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_indexes.go @@ -10,6 +10,7 @@ import ( "context" "errors" "fmt" + "time" "go.mongodb.org/mongo-driver/event" "go.mongodb.org/mongo-driver/mongo/description" @@ -34,6 +35,7 @@ type DropIndexes struct { writeConcern *writeconcern.WriteConcern result DropIndexesResult serverAPI *driver.ServerAPIOptions + timeout *time.Duration } // DropIndexesResult represents a dropIndexes result returned by the server. @@ -95,6 +97,7 @@ func (di *DropIndexes) Execute(ctx context.Context) error { Selector: di.selector, WriteConcern: di.writeConcern, ServerAPI: di.serverAPI, + Timeout: di.timeout, }.Execute(ctx, nil) } @@ -104,7 +107,8 @@ func (di *DropIndexes) command(dst []byte, desc description.SelectedServer) ([]b if di.index != nil { dst = bsoncore.AppendStringElement(dst, "index", *di.index) } - if di.maxTimeMS != nil { + // Only append specified maxTimeMS if timeout is not also specified. + if di.maxTimeMS != nil && di.timeout == nil { dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", *di.maxTimeMS) } return dst, nil @@ -230,3 +234,13 @@ func (di *DropIndexes) ServerAPI(serverAPI *driver.ServerAPIOptions) *DropIndexe di.serverAPI = serverAPI return di } + +// Timeout sets the timeout for this operation. +func (di *DropIndexes) Timeout(timeout *time.Duration) *DropIndexes { + if di == nil { + di = new(DropIndexes) + } + + di.timeout = timeout + return di +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find.go index 3689a34b..5ccbf9f9 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find.go @@ -9,6 +9,7 @@ package operation import ( "context" "errors" + "time" "go.mongodb.org/mongo-driver/bson/bsontype" "go.mongodb.org/mongo-driver/event" @@ -58,6 +59,7 @@ type Find struct { retry *driver.RetryMode result driver.CursorResponse serverAPI *driver.ServerAPIOptions + timeout *time.Duration } // NewFind constructs and returns a new Find. @@ -101,6 +103,7 @@ func (f *Find) Execute(ctx context.Context) error { Selector: f.selector, Legacy: driver.LegacyFind, ServerAPI: f.serverAPI, + Timeout: f.timeout, }.Execute(ctx, nil) } @@ -146,7 +149,8 @@ func (f *Find) command(dst []byte, desc description.SelectedServer) ([]byte, err if f.max != nil { dst = bsoncore.AppendDocumentElement(dst, "max", f.max) } - if f.maxTimeMS != nil { + // Only append specified maxTimeMS if timeout is not also specified. + if f.maxTimeMS != nil && f.timeout == nil { dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", *f.maxTimeMS) } if f.min != nil { @@ -495,7 +499,7 @@ func (f *Find) ReadConcern(readConcern *readconcern.ReadConcern) *Find { return f } -// ReadPreference set the read prefernce used with this operation. +// ReadPreference set the read preference used with this operation. func (f *Find) ReadPreference(readPreference *readpref.ReadPref) *Find { if f == nil { f = new(Find) @@ -535,3 +539,13 @@ func (f *Find) ServerAPI(serverAPI *driver.ServerAPIOptions) *Find { f.serverAPI = serverAPI return f } + +// Timeout sets the timeout for this operation. +func (f *Find) Timeout(timeout *time.Duration) *Find { + if f == nil { + f = new(Find) + } + + f.timeout = timeout + return f +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find_and_modify.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find_and_modify.go index 3e09ca44..deaabea3 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find_and_modify.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find_and_modify.go @@ -10,6 +10,7 @@ import ( "context" "errors" "fmt" + "time" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/bsontype" @@ -26,6 +27,7 @@ type FindAndModify struct { arrayFilters bsoncore.Document bypassDocumentValidation *bool collation bsoncore.Document + comment bsoncore.Value fields bsoncore.Document maxTimeMS *int64 newDocument *bool @@ -47,6 +49,7 @@ type FindAndModify struct { hint bsoncore.Value serverAPI *driver.ServerAPIOptions let bsoncore.Document + timeout *time.Duration result FindAndModifyResult } @@ -138,6 +141,7 @@ func (fam *FindAndModify) Execute(ctx context.Context) error { WriteConcern: fam.writeConcern, Crypt: fam.crypt, ServerAPI: fam.serverAPI, + Timeout: fam.timeout, }.Execute(ctx, nil) } @@ -162,11 +166,16 @@ func (fam *FindAndModify) command(dst []byte, desc description.SelectedServer) ( } dst = bsoncore.AppendDocumentElement(dst, "collation", fam.collation) } + if fam.comment.Type != bsontype.Type(0) { + dst = bsoncore.AppendValueElement(dst, "comment", fam.comment) + } if fam.fields != nil { dst = bsoncore.AppendDocumentElement(dst, "fields", fam.fields) } - if fam.maxTimeMS != nil { + + // Only append specified maxTimeMS if timeout is not also specified. + if fam.maxTimeMS != nil && fam.timeout == nil { dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", *fam.maxTimeMS) } @@ -240,6 +249,16 @@ func (fam *FindAndModify) Collation(collation bsoncore.Document) *FindAndModify return fam } +// Comment sets a value to help trace an operation. +func (fam *FindAndModify) Comment(comment bsoncore.Value) *FindAndModify { + if fam == nil { + fam = new(FindAndModify) + } + + fam.comment = comment + return fam +} + // Fields specifies a subset of fields to return. func (fam *FindAndModify) Fields(fields bsoncore.Document) *FindAndModify { if fam == nil { @@ -452,3 +471,13 @@ func (fam *FindAndModify) Let(let bsoncore.Document) *FindAndModify { fam.let = let return fam } + +// Timeout sets the timeout for this operation. +func (fam *FindAndModify) Timeout(timeout *time.Duration) *FindAndModify { + if fam == nil { + fam = new(FindAndModify) + } + + fam.timeout = timeout + return fam +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/insert.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/insert.go index f66cfbee..9f62cba3 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/insert.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/insert.go @@ -10,7 +10,9 @@ import ( "context" "errors" "fmt" + "time" + "go.mongodb.org/mongo-driver/bson/bsontype" "go.mongodb.org/mongo-driver/event" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/writeconcern" @@ -22,6 +24,7 @@ import ( // Insert performs an insert operation. type Insert struct { bypassDocumentValidation *bool + comment bsoncore.Value documents []bsoncore.Document ordered *bool session *session.Client @@ -36,12 +39,13 @@ type Insert struct { retry *driver.RetryMode result InsertResult serverAPI *driver.ServerAPIOptions + timeout *time.Duration } // InsertResult represents an insert result returned by the server. type InsertResult struct { // Number of documents successfully inserted. - N int32 + N int64 } func buildInsertResult(response bsoncore.Document) (InsertResult, error) { @@ -54,9 +58,9 @@ func buildInsertResult(response bsoncore.Document) (InsertResult, error) { switch element.Key() { case "n": var ok bool - ir.N, ok = element.Value().AsInt32OK() + ir.N, ok = element.Value().AsInt64OK() if !ok { - return ir, fmt.Errorf("response field 'n' is type int32, but received BSON type %s", element.Value().Type) + return ir, fmt.Errorf("response field 'n' is type int32 or int64, but received BSON type %s", element.Value().Type) } } } @@ -105,6 +109,7 @@ func (i *Insert) Execute(ctx context.Context) error { Selector: i.selector, WriteConcern: i.writeConcern, ServerAPI: i.serverAPI, + Timeout: i.timeout, }.Execute(ctx, nil) } @@ -114,6 +119,9 @@ func (i *Insert) command(dst []byte, desc description.SelectedServer) ([]byte, e if i.bypassDocumentValidation != nil && (desc.WireVersion != nil && desc.WireVersion.Includes(4)) { dst = bsoncore.AppendBooleanElement(dst, "bypassDocumentValidation", *i.bypassDocumentValidation) } + if i.comment.Type != bsontype.Type(0) { + dst = bsoncore.AppendValueElement(dst, "comment", i.comment) + } if i.ordered != nil { dst = bsoncore.AppendBooleanElement(dst, "ordered", *i.ordered) } @@ -131,6 +139,16 @@ func (i *Insert) BypassDocumentValidation(bypassDocumentValidation bool) *Insert return i } +// Comment sets a value to help trace an operation. +func (i *Insert) Comment(comment bsoncore.Value) *Insert { + if i == nil { + i = new(Insert) + } + + i.comment = comment + return i +} + // Documents adds documents to this operation that will be inserted when this operation is // executed. func (i *Insert) Documents(documents ...bsoncore.Document) *Insert { @@ -263,3 +281,13 @@ func (i *Insert) ServerAPI(serverAPI *driver.ServerAPIOptions) *Insert { i.serverAPI = serverAPI return i } + +// Timeout sets the timeout for this operation. +func (i *Insert) Timeout(timeout *time.Duration) *Insert { + if i == nil { + i = new(Insert) + } + + i.timeout = timeout + return i +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/listDatabases.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/listDatabases.go index 6b469b6f..f1b4aa05 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/listDatabases.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/listDatabases.go @@ -10,6 +10,7 @@ import ( "context" "errors" "fmt" + "time" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/event" @@ -35,6 +36,7 @@ type ListDatabases struct { selector description.ServerSelector crypt driver.Crypt serverAPI *driver.ServerAPIOptions + timeout *time.Duration result ListDatabasesResult } @@ -160,6 +162,7 @@ func (ld *ListDatabases) Execute(ctx context.Context) error { Selector: ld.selector, Crypt: ld.crypt, ServerAPI: ld.serverAPI, + Timeout: ld.timeout, }.Execute(ctx, nil) } @@ -262,7 +265,7 @@ func (ld *ListDatabases) Deployment(deployment driver.Deployment) *ListDatabases return ld } -// ReadPreference set the read prefernce used with this operation. +// ReadPreference set the read preference used with this operation. func (ld *ListDatabases) ReadPreference(readPreference *readpref.ReadPref) *ListDatabases { if ld == nil { ld = new(ListDatabases) @@ -312,3 +315,13 @@ func (ld *ListDatabases) ServerAPI(serverAPI *driver.ServerAPIOptions) *ListData ld.serverAPI = serverAPI return ld } + +// Timeout sets the timeout for this operation. +func (ld *ListDatabases) Timeout(timeout *time.Duration) *ListDatabases { + if ld == nil { + ld = new(ListDatabases) + } + + ld.timeout = timeout + return ld +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_collections.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_collections.go index de30afd3..594a27f6 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_collections.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_collections.go @@ -9,6 +9,7 @@ package operation import ( "context" "errors" + "time" "go.mongodb.org/mongo-driver/event" "go.mongodb.org/mongo-driver/mongo/description" @@ -35,6 +36,7 @@ type ListCollections struct { result driver.CursorResponse batchSize *int32 serverAPI *driver.ServerAPIOptions + timeout *time.Duration } // NewListCollections constructs and returns a new ListCollections. @@ -85,6 +87,7 @@ func (lc *ListCollections) Execute(ctx context.Context) error { Selector: lc.selector, Legacy: driver.LegacyListCollections, ServerAPI: lc.serverAPI, + Timeout: lc.timeout, }.Execute(ctx, nil) } @@ -201,7 +204,7 @@ func (lc *ListCollections) Deployment(deployment driver.Deployment) *ListCollect return lc } -// ReadPreference set the read prefernce used with this operation. +// ReadPreference set the read preference used with this operation. func (lc *ListCollections) ReadPreference(readPreference *readpref.ReadPref) *ListCollections { if lc == nil { lc = new(ListCollections) @@ -251,3 +254,13 @@ func (lc *ListCollections) ServerAPI(serverAPI *driver.ServerAPIOptions) *ListCo lc.serverAPI = serverAPI return lc } + +// Timeout sets the timeout for this operation. +func (lc *ListCollections) Timeout(timeout *time.Duration) *ListCollections { + if lc == nil { + lc = new(ListCollections) + } + + lc.timeout = timeout + return lc +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_indexes.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_indexes.go index 171e2b5a..39e6f25c 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_indexes.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_indexes.go @@ -9,6 +9,7 @@ package operation import ( "context" "errors" + "time" "go.mongodb.org/mongo-driver/event" "go.mongodb.org/mongo-driver/mongo/description" @@ -31,6 +32,7 @@ type ListIndexes struct { retry *driver.RetryMode crypt driver.Crypt serverAPI *driver.ServerAPIOptions + timeout *time.Duration result driver.CursorResponse } @@ -79,6 +81,7 @@ func (li *ListIndexes) Execute(ctx context.Context) error { RetryMode: li.retry, Type: driver.Read, ServerAPI: li.serverAPI, + Timeout: li.timeout, }.Execute(ctx, nil) } @@ -91,7 +94,9 @@ func (li *ListIndexes) command(dst []byte, desc description.SelectedServer) ([]b cursorDoc = bsoncore.AppendInt32Element(cursorDoc, "batchSize", *li.batchSize) } - if li.maxTimeMS != nil { + + // Only append specified maxTimeMS if timeout is not also specified. + if li.maxTimeMS != nil && li.timeout == nil { dst = bsoncore.AppendInt64Element(dst, "maxTimeMS", *li.maxTimeMS) } @@ -221,3 +226,13 @@ func (li *ListIndexes) ServerAPI(serverAPI *driver.ServerAPIOptions) *ListIndexe li.serverAPI = serverAPI return li } + +// Timeout sets the timeout for this operation. +func (li *ListIndexes) Timeout(timeout *time.Duration) *ListIndexes { + if li == nil { + li = new(ListIndexes) + } + + li.timeout = timeout + return li +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/update.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/update.go index 5a27fa95..8ea133e2 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/update.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/update.go @@ -10,8 +10,10 @@ import ( "context" "errors" "fmt" + "time" "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/bson/bsontype" "go.mongodb.org/mongo-driver/event" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/writeconcern" @@ -23,6 +25,7 @@ import ( // Update performs an update operation. type Update struct { bypassDocumentValidation *bool + comment bsoncore.Value ordered *bool updates []bsoncore.Document session *session.Client @@ -40,6 +43,7 @@ type Update struct { crypt driver.Crypt serverAPI *driver.ServerAPIOptions let bsoncore.Document + timeout *time.Duration } // Upsert contains the information for an upsert in an Update operation. @@ -51,9 +55,9 @@ type Upsert struct { // UpdateResult contains information for the result of an Update operation. type UpdateResult struct { // Number of documents matched. - N int32 + N int64 // Number of documents modified. - NModified int32 + NModified int64 // Information about upserted documents. Upserted []Upsert } @@ -68,15 +72,15 @@ func buildUpdateResult(response bsoncore.Document) (UpdateResult, error) { switch element.Key() { case "nModified": var ok bool - ur.NModified, ok = element.Value().Int32OK() + ur.NModified, ok = element.Value().AsInt64OK() if !ok { - return ur, fmt.Errorf("response field 'nModified' is type int32, but received BSON type %s", element.Value().Type) + return ur, fmt.Errorf("response field 'nModified' is type int32 or int64, but received BSON type %s", element.Value().Type) } case "n": var ok bool - ur.N, ok = element.Value().Int32OK() + ur.N, ok = element.Value().AsInt64OK() if !ok { - return ur, fmt.Errorf("response field 'n' is type int32, but received BSON type %s", element.Value().Type) + return ur, fmt.Errorf("response field 'n' is type int32 or int64, but received BSON type %s", element.Value().Type) } case "upserted": arr, ok := element.Value().ArrayOK() @@ -157,6 +161,7 @@ func (u *Update) Execute(ctx context.Context) error { WriteConcern: u.writeConcern, Crypt: u.crypt, ServerAPI: u.serverAPI, + Timeout: u.timeout, }.Execute(ctx, nil) } @@ -168,6 +173,9 @@ func (u *Update) command(dst []byte, desc description.SelectedServer) ([]byte, e dst = bsoncore.AppendBooleanElement(dst, "bypassDocumentValidation", *u.bypassDocumentValidation) } + if u.comment.Type != bsontype.Type(0) { + dst = bsoncore.AppendValueElement(dst, "comment", u.comment) + } if u.ordered != nil { dst = bsoncore.AppendBooleanElement(dst, "ordered", *u.ordered) @@ -290,6 +298,16 @@ func (u *Update) CommandMonitor(monitor *event.CommandMonitor) *Update { return u } +// Comment sets a value to help trace an operation. +func (u *Update) Comment(comment bsoncore.Value) *Update { + if u == nil { + u = new(Update) + } + + u.comment = comment + return u +} + // Database sets the database to run this operation against. func (u *Update) Database(database string) *Update { if u == nil { @@ -371,3 +389,13 @@ func (u *Update) Let(let bsoncore.Document) *Update { u.let = let return u } + +// Timeout sets the timeout for this operation. +func (u *Update) Timeout(timeout *time.Duration) *Update { + if u == nil { + u = new(Update) + } + + u.timeout = timeout + return u +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go index 9e01f9fe..da85ac01 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go @@ -13,13 +13,13 @@ import ( "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/internal/uuid" "go.mongodb.org/mongo-driver/mongo/address" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/mongo/readconcern" "go.mongodb.org/mongo-driver/mongo/readpref" "go.mongodb.org/mongo-driver/mongo/writeconcern" "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" - "go.mongodb.org/mongo-driver/x/mongo/driver/uuid" ) // ErrSessionEnded is returned when a client session is used after a call to endSession(). diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/server_session.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/server_session.go index 54152ea0..044cbd49 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/server_session.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/server_session.go @@ -9,9 +9,9 @@ package session import ( "time" + "go.mongodb.org/mongo-driver/internal/uuid" "go.mongodb.org/mongo-driver/mongo/description" "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" - "go.mongodb.org/mongo-driver/x/mongo/driver/uuid" ) // Server is an open session with the server. diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection.go index c91a1b5e..34cb6c95 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection.go @@ -331,11 +331,6 @@ func (c *connection) writeWireMessage(ctx context.Context, wm []byte) error { if atomic.LoadInt64(&c.state) != connConnected { return ConnectionError{ConnectionID: c.id, message: "connection is closed"} } - select { - case <-ctx.Done(): - return ConnectionError{ConnectionID: c.id, Wrapped: ctx.Err(), message: "failed to write"} - default: - } var deadline time.Time if c.writeTimeout != 0 { @@ -388,14 +383,6 @@ func (c *connection) readWireMessage(ctx context.Context, dst []byte) ([]byte, e return dst, ConnectionError{ConnectionID: c.id, message: "connection is closed"} } - select { - case <-ctx.Done(): - // We closeConnection the connection because we don't know if there is an unread message on the wire. - c.close() - return nil, ConnectionError{ConnectionID: c.id, Wrapped: ctx.Err(), message: "failed to read"} - default: - } - var deadline time.Time if c.readTimeout != 0 { deadline = time.Now().Add(c.readTimeout) @@ -638,6 +625,9 @@ func (c *Connection) CompressWireMessage(src, dst []byte) ([]byte, error) { return dst, ErrConnectionClosed } if c.connection.compressor == wiremessage.CompressorNoOp { + if len(dst) == 0 { + return src, nil + } return append(dst, src...), nil } _, reqid, respto, origcode, rem, ok := wiremessage.ReadHeader(src) diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_legacy.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_legacy.go index 18f8a87c..e602faf2 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_legacy.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_legacy.go @@ -1 +1,7 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package topology diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_options.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_options.go index 24507aa1..1d4793e4 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_options.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_options.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package topology import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/errors.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/errors.go index d3192cbb..4aa99857 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/errors.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/errors.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package topology import ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/fsm.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/fsm.go index 46bcd19a..b1bf0c4a 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/fsm.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/fsm.go @@ -18,7 +18,7 @@ import ( var ( // SupportedWireVersions is the range of wire versions supported by the driver. - SupportedWireVersions = description.NewVersionRange(2, 15) + SupportedWireVersions = description.NewVersionRange(2, 17) ) const ( diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/hanging_tls_conn_1_16.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/hanging_tls_conn_1_16.go deleted file mode 100644 index b4a690c4..00000000 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/hanging_tls_conn_1_16.go +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (C) MongoDB, Inc. 2022-present. -// -// 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 - -//go:build !go1.17 -// +build !go1.17 - -package topology - -import ( - "crypto/tls" - "time" -) - -// hangingTLSConn is an implementation of tlsConn that wraps the tls.Conn type and overrides the Handshake function to -// sleep for a fixed amount of time. -type hangingTLSConn struct { - *tls.Conn - sleepTime time.Duration -} - -var _ tlsConn = (*hangingTLSConn)(nil) - -func newHangingTLSConn(conn *tls.Conn, sleepTime time.Duration) *hangingTLSConn { - return &hangingTLSConn{ - Conn: conn, - sleepTime: sleepTime, - } -} - -// Handshake implements the tlsConn interface on Go 1.16 and less. -func (h *hangingTLSConn) Handshake() error { - time.Sleep(h.sleepTime) - return h.Conn.Handshake() -} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/hanging_tls_conn_1_17.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/hanging_tls_conn_1_17.go deleted file mode 100644 index 1058b86c..00000000 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/hanging_tls_conn_1_17.go +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (C) MongoDB, Inc. 2022-present. -// -// 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 - -//go:build go1.17 -// +build go1.17 - -package topology - -import ( - "context" - "crypto/tls" - "time" -) - -// hangingTLSConn is an implementation of tlsConn that wraps the tls.Conn type and overrides the HandshakeContext function to -// sleep for a fixed amount of time. -type hangingTLSConn struct { - *tls.Conn - sleepTime time.Duration -} - -var _ tlsConn = (*hangingTLSConn)(nil) - -func newHangingTLSConn(conn *tls.Conn, sleepTime time.Duration) *hangingTLSConn { - return &hangingTLSConn{ - Conn: conn, - sleepTime: sleepTime, - } -} - -// HandshakeContext implements the tlsConn interface on Go 1.17 and higher. -func (h *hangingTLSConn) HandshakeContext(ctx context.Context) error { - timer := time.NewTimer(h.sleepTime) - defer timer.Stop() - select { - case <-timer.C: - case <-ctx.Done(): - } - - return h.Conn.HandshakeContext(ctx) -} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool.go index f63ed796..efbea595 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool.go @@ -176,6 +176,10 @@ func newPool(config poolConfig, connOpts ...ConnectionOption) *pool { conns: make(map[uint64]*connection, config.MaxPoolSize), idleConns: make([]*connection, 0, config.MaxPoolSize), } + // minSize must not exceed maxSize if maxSize is not 0 + if pool.maxSize != 0 && pool.minSize > pool.maxSize { + pool.minSize = pool.maxSize + } pool.connOpts = append(pool.connOpts, withGenerationNumberFn(func(_ generationNumberFn) generationNumberFn { return pool.getGenerationForNewConnection })) pool.generation.connect() @@ -373,6 +377,8 @@ func (p *pool) unpinConnectionFromTransaction() { // ready, checkOut returns an error. // Based partially on https://cs.opensource.google/go/go/+/refs/tags/go1.16.6:src/net/http/transport.go;l=1324 func (p *pool) checkOut(ctx context.Context) (conn *connection, err error) { + // TODO(CSOT): If a Timeout was specified at any level, respect the Timeout is server selection, connection + // TODO checkout. if p.monitor != nil { p.monitor.Event(&event.PoolEvent{ Type: event.GetStarted, diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/rtt_monitor.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/rtt_monitor.go index d91290e9..723f0fa8 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/rtt_monitor.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/rtt_monitor.go @@ -8,23 +8,32 @@ package topology import ( "context" + "fmt" "math" "sync" "time" + "github.com/montanaflynn/stats" "go.mongodb.org/mongo-driver/x/mongo/driver" "go.mongodb.org/mongo-driver/x/mongo/driver/operation" ) const ( rttAlphaValue = 0.2 - minSamples = 5 + minSamples = 10 maxSamples = 500 ) type rttConfig struct { - interval time.Duration - minRTTWindow time.Duration // Window size to calculate minimum RTT over. + // The minimum interval between RTT measurements. The actual interval may be greater if running + // the operation takes longer than the interval. + interval time.Duration + + // The timeout applied to running the "hello" operation. If the timeout is reached while running + // the operation, the RTT sample is discarded. The default is 1 minute. + timeout time.Duration + + minRTTWindow time.Duration createConnectionFn func() *connection createOperationFn func(driver.Connection) *operation.Hello } @@ -34,6 +43,7 @@ type rttMonitor struct { samples []time.Duration offset int minRTT time.Duration + RTT90 time.Duration averageRTT time.Duration averageRTTSet bool @@ -50,7 +60,7 @@ func newRTTMonitor(cfg *rttConfig) *rttMonitor { ctx, cancel := context.WithCancel(context.Background()) // Determine the number of samples we need to keep to store the minWindow of RTT durations. The - // number of samples must be between [5, 500]. + // number of samples must be between [10, 500]. numSamples := int(math.Max(minSamples, math.Min(maxSamples, float64((cfg.minRTTWindow)/cfg.interval)))) return &rttMonitor{ @@ -74,8 +84,6 @@ func (r *rttMonitor) disconnect() { func (r *rttMonitor) start() { defer r.closeWg.Done() - ticker := time.NewTicker(r.cfg.interval) - defer ticker.Stop() var conn *connection defer func() { @@ -90,9 +98,27 @@ func (r *rttMonitor) start() { } }() + ticker := time.NewTicker(r.cfg.interval) + defer ticker.Stop() + for { - conn = r.runHello(conn) + conn := r.cfg.createConnectionFn() + err := conn.connect(r.ctx) + // Add an RTT sample from the new connection handshake and start a runHellos() loop if we + // successfully established the new connection. Otherwise, close the connection and try to + // create another new connection. + if err == nil { + r.addSample(conn.helloRTT) + r.runHellos(conn) + } + + // Close any connection here because we're either about to try to create another new + // connection or we're about to exit the loop. + _ = conn.close() + + // If a connection error happens quickly, always wait for the monitoring interval to try + // to create a new connection to prevent creating connections too quickly. select { case <-ticker.C: case <-r.ctx.Done(): @@ -101,37 +127,45 @@ func (r *rttMonitor) start() { } } -// runHello runs a "hello" operation using the provided connection, measures the duration, and adds -// the duration as an RTT sample and returns the connection used. If the provided connection is nil -// or closed, runHello tries to establish a new connection. If the "hello" operation returns an -// error, runHello closes the connection. -func (r *rttMonitor) runHello(conn *connection) *connection { - if conn == nil || conn.closed() { - conn := r.cfg.createConnectionFn() +// runHellos runs "hello" operations in a loop using the provided connection, measuring and +// recording the operation durations as RTT samples. If it encounters any errors, it returns. +func (r *rttMonitor) runHellos(conn *connection) { + ticker := time.NewTicker(r.cfg.interval) + defer ticker.Stop() - err := conn.connect(r.ctx) - if err != nil { - return nil + for { + // Assume that the connection establishment recorded the first RTT sample, so wait for the + // first tick before trying to record another RTT sample. + select { + case <-ticker.C: + case <-r.ctx.Done(): + return } - // If we just created a new connection, record the "hello" RTT from the new connection and - // return the new connection. Don't run another "hello" command this interval because it's - // now unnecessary. - r.addSample(conn.helloRTT) - return conn - } + // Create a Context with the operation timeout specified in the RTT monitor config. If a + // timeout is not set in the RTT monitor config, default to the connection's + // "connectTimeoutMS". The purpose of the timeout is to allow the RTT monitor to continue + // monitoring server RTTs after an operation gets stuck. An operation can get stuck if the + // server or a proxy stops responding to requests on the RTT connection but does not close + // the TCP socket, effectively creating an operation that will never complete. We expect + // that "connectTimeoutMS" provides at least enough time for a single round trip. + timeout := r.cfg.timeout + if timeout <= 0 { + timeout = conn.config.connectTimeout + } + ctx, cancel := context.WithTimeout(r.ctx, timeout) - start := time.Now() - err := r.cfg.createOperationFn(initConnection{conn}).Execute(r.ctx) - if err != nil { - // Errors from the RTT monitor do not reset the RTTs or update the topology, so we close the - // existing connection and recreate it on the next check. - _ = conn.close() - return nil + start := time.Now() + err := r.cfg.createOperationFn(initConnection{conn}).Execute(ctx) + cancel() + if err != nil { + return + } + // Only record a sample if the "hello" operation was successful. If it was not successful, + // the operation may not have actually performed a complete round trip, so the duration may + // be artificially short. + r.addSample(time.Since(start)) } - r.addSample(time.Since(start)) - - return conn } // reset sets the average and min RTT to 0. This should only be called from the server monitor when an error @@ -145,6 +179,7 @@ func (r *rttMonitor) reset() { } r.offset = 0 r.minRTT = 0 + r.RTT90 = 0 r.averageRTT = 0 r.averageRTTSet = false } @@ -157,9 +192,11 @@ func (r *rttMonitor) addSample(rtt time.Duration) { r.samples[r.offset] = rtt r.offset = (r.offset + 1) % len(r.samples) - // Set the minRTT as the minimum of all collected samples. Require at least 5 samples before - // setting minRTT to prevent noisy samples on startup from artificially increasing minRTT. + // Set the minRTT and 90th percentile RTT of all collected samples. Require at least 10 samples before + // setting these to prevent noisy samples on startup from artificially increasing RTT and to allow the + // calculation of a 90th percentile. r.minRTT = min(r.samples, minSamples) + r.RTT90 = percentile(90.0, r.samples, minSamples) if !r.averageRTTSet { r.averageRTT = rtt @@ -190,6 +227,28 @@ func min(samples []time.Duration, minSamples int) time.Duration { return min } +// percentile returns the specified percentile value of the slice of duration samples. Zero values +// are not considered samples and are ignored. If no samples or fewer than minSamples are found +// in the slice, percentile returns 0. +func percentile(perc float64, samples []time.Duration, minSamples int) time.Duration { + // Convert Durations to float64s. + floatSamples := make([]float64, 0, len(samples)) + for _, sample := range samples { + if sample > 0 { + floatSamples = append(floatSamples, float64(sample)) + } + } + if len(floatSamples) == 0 || len(floatSamples) < minSamples { + return 0 + } + + p, err := stats.Percentile(floatSamples, perc) + if err != nil { + panic(fmt.Errorf("x/mongo/driver/topology: error calculating %f percentile RTT: %v for samples:\n%v", perc, err, floatSamples)) + } + return time.Duration(p) +} + // getRTT returns the exponentially weighted moving average observed round-trip time. func (r *rttMonitor) getRTT() time.Duration { r.mu.RLock() @@ -205,3 +264,11 @@ func (r *rttMonitor) getMinRTT() time.Duration { return r.minRTT } + +// getRTT90 returns the 90th percentile observed round-trip time over the window period. +func (r *rttMonitor) getRTT90() time.Duration { + r.mu.RLock() + defer r.mu.RUnlock() + + return r.RTT90 +} diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.go index 3f8620d0..6915ef03 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.go @@ -777,7 +777,7 @@ func (s *Server) check() (description.Server, error) { } if descPtr != nil { - // The check was successful. Set the average RTT and return. + // The check was successful. Set the average RTT and the 90th percentile RTT and return. desc := *descPtr desc = desc.SetAverageRTT(s.rttMonitor.getRTT()) desc.HeartbeatInterval = s.cfg.heartbeatInterval @@ -819,6 +819,11 @@ func (s *Server) MinRTT() time.Duration { return s.rttMonitor.getMinRTT() } +// RTT90 returns the 90th percentile round-trip time to the server observed over the last 5 minutes. +func (s *Server) RTT90() time.Duration { + return s.rttMonitor.getRTT90() +} + // OperationCount returns the current number of in-progress operations for this server. func (s *Server) OperationCount() int64 { return atomic.LoadInt64(&s.operationCount) diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server_options.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server_options.go index a4b7dcc2..53215697 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server_options.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server_options.go @@ -44,7 +44,6 @@ func newServerConfig(opts ...ServerOption) *serverConfig { cfg := &serverConfig{ heartbeatInterval: 10 * time.Second, heartbeatTimeout: 10 * time.Second, - maxConns: 100, registry: defaultRegistry, } diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology.go index 97ec5e52..f02e5dea 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology.go @@ -14,7 +14,6 @@ import ( "context" "errors" "fmt" - "math/rand" "strings" "sync" "sync/atomic" @@ -57,7 +56,7 @@ var ErrServerSelectionTimeout = errors.New("server selection timeout") type MonitorMode uint8 // random is a package-global pseudo-random number generator. -var random = randutil.NewLockedRand(rand.NewSource(randutil.CryptoSeed())) +var random = randutil.NewLockedRand() // These constants are the available monitoring modes. const ( @@ -357,7 +356,7 @@ func (t *Topology) RequestImmediateCheck() { } // SelectServer selects a server with given a selector. SelectServer complies with the -// server selection spec, and will time out after severSelectionTimeout or when the +// server selection spec, and will time out after serverSelectionTimeout or when the // parent context is done. func (t *Topology) SelectServer(ctx context.Context, ss description.ServerSelector) (driver.Server, error) { if atomic.LoadInt64(&t.state) != topologyConnected { diff --git a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage/wiremessage.go b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage/wiremessage.go index 47f086e8..e3aa0967 100644 --- a/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage/wiremessage.go +++ b/cmd/sync/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage/wiremessage.go @@ -1,3 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// 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 + package wiremessage import ( @@ -182,6 +188,22 @@ const ( CompressorZstd ) +// String implements the fmt.Stringer interface. +func (id CompressorID) String() string { + switch id { + case CompressorNoOp: + return "CompressorNoOp" + case CompressorSnappy: + return "CompressorSnappy" + case CompressorZLib: + return "CompressorZLib" + case CompressorZstd: + return "CompressorZstd" + default: + return "CompressorInvalid" + } +} + const ( // DefaultZlibLevel is the default level for zlib compression DefaultZlibLevel = 6 diff --git a/cmd/sync/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go b/cmd/sync/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go index c5898db4..4652247b 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go +++ b/cmd/sync/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go @@ -15,6 +15,7 @@ const bufSize = 256 // xorKeyStreamVX is an assembly implementation of XORKeyStream. It must only // be called when the vector facility is available. Implementation in asm_s390x.s. +// //go:noescape func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32) diff --git a/cmd/sync/vendor/golang.org/x/crypto/curve25519/curve25519.go b/cmd/sync/vendor/golang.org/x/crypto/curve25519/curve25519.go index cda3fdd3..bc62161d 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/curve25519/curve25519.go +++ b/cmd/sync/vendor/golang.org/x/crypto/curve25519/curve25519.go @@ -9,7 +9,8 @@ package curve25519 // import "golang.org/x/crypto/curve25519" import ( "crypto/subtle" - "fmt" + "errors" + "strconv" "golang.org/x/crypto/curve25519/internal/field" ) @@ -124,10 +125,10 @@ func X25519(scalar, point []byte) ([]byte, error) { func x25519(dst *[32]byte, scalar, point []byte) ([]byte, error) { var in [32]byte if l := len(scalar); l != 32 { - return nil, fmt.Errorf("bad scalar length: %d, expected %d", l, 32) + return nil, errors.New("bad scalar length: " + strconv.Itoa(l) + ", expected 32") } if l := len(point); l != 32 { - return nil, fmt.Errorf("bad point length: %d, expected %d", l, 32) + return nil, errors.New("bad point length: " + strconv.Itoa(l) + ", expected 32") } copy(in[:], scalar) if &point[0] == &Basepoint[0] { @@ -138,7 +139,7 @@ func x25519(dst *[32]byte, scalar, point []byte) ([]byte, error) { copy(base[:], point) ScalarMult(dst, &in, &base) if subtle.ConstantTimeCompare(dst[:], zero[:]) == 1 { - return nil, fmt.Errorf("bad input point: low order point") + return nil, errors.New("bad input point: low order point") } } return dst[:], nil diff --git a/cmd/sync/vendor/golang.org/x/crypto/curve25519/internal/field/fe_amd64.go b/cmd/sync/vendor/golang.org/x/crypto/curve25519/internal/field/fe_amd64.go index 44dc8e8c..edcf163c 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/curve25519/internal/field/fe_amd64.go +++ b/cmd/sync/vendor/golang.org/x/crypto/curve25519/internal/field/fe_amd64.go @@ -1,13 +1,16 @@ // Code generated by command: go run fe_amd64_asm.go -out ../fe_amd64.s -stubs ../fe_amd64.go -pkg field. DO NOT EDIT. +//go:build amd64 && gc && !purego // +build amd64,gc,!purego package field // feMul sets out = a * b. It works like feMulGeneric. +// //go:noescape func feMul(out *Element, a *Element, b *Element) // feSquare sets out = a * a. It works like feSquareGeneric. +// //go:noescape func feSquare(out *Element, a *Element) diff --git a/cmd/sync/vendor/golang.org/x/crypto/ed25519/ed25519.go b/cmd/sync/vendor/golang.org/x/crypto/ed25519/ed25519.go index 71ad917d..a7828345 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ed25519/ed25519.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ed25519/ed25519.go @@ -1,13 +1,7 @@ -// Copyright 2016 The Go Authors. All rights reserved. +// 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. -// 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. -// -//go:build !go1.13 -// +build !go1.13 - // Package ed25519 implements the Ed25519 signature algorithm. See // https://ed25519.cr.yp.to/. // @@ -16,21 +10,15 @@ // 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 -// This code is a port of the public domain, “ref10” implementation of ed25519 -// from SUPERCOP. - import ( - "bytes" - "crypto" - cryptorand "crypto/rand" - "crypto/sha512" - "errors" + "crypto/ed25519" "io" - "strconv" - - "golang.org/x/crypto/ed25519/internal/edwards25519" ) const ( @@ -45,57 +33,21 @@ const ( ) // PublicKey is the type of Ed25519 public keys. -type PublicKey []byte +// +// 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. -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 -} +// +// 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) { - 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 + return ed25519.GenerateKey(rand) } // NewKeyFromSeed calculates a private key from a seed. It will panic if @@ -103,121 +55,17 @@ func GenerateKey(rand io.Reader) (PublicKey, PrivateKey, error) { // 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 + 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 { - 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 + 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 { - 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[:]) + return ed25519.Verify(publicKey, message, sig) } diff --git a/cmd/sync/vendor/golang.org/x/crypto/ed25519/ed25519_go113.go b/cmd/sync/vendor/golang.org/x/crypto/ed25519/ed25519_go113.go deleted file mode 100644 index b5974dc8..00000000 --- a/cmd/sync/vendor/golang.org/x/crypto/ed25519/ed25519_go113.go +++ /dev/null @@ -1,74 +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. - -//go:build go1.13 -// +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/cmd/sync/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/const.go b/cmd/sync/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/const.go deleted file mode 100644 index e39f086c..00000000 --- a/cmd/sync/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/const.go +++ /dev/null @@ -1,1422 +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. - -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/cmd/sync/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/edwards25519.go b/cmd/sync/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/edwards25519.go deleted file mode 100644 index fd03c252..00000000 --- a/cmd/sync/vendor/golang.org/x/crypto/ed25519/internal/edwards25519/edwards25519.go +++ /dev/null @@ -1,1793 +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. - -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<y<1. -// -// Write r=h-pq. -// Have 0<=r<=p-1=2^255-20. -// Thus 0<=r+19(2^-255)r<r+19(2^-255)2^255<=2^255-1. -// -// Write x=r+19(2^-255)r+y. -// Then 0<x<2^255 so floor(2^(-255)x) = 0 so floor(q+2^(-255)x) = q. -// -// Have q+2^(-255)x = 2^(-255)(h + 19 2^(-25) h9 + 2^(-1)) -// so floor(2^(-255)(h + 19 2^(-25) h9 + 2^(-1))) = q. -func FeToBytes(s *[32]byte, h *FieldElement) { - var carry [10]int32 - - q := (19*h[9] + (1 << 24)) >> 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]<<uint(b)) <= 15 { - r[i] += r[i+b] << uint(b) - r[i+b] = 0 - } else if r[i]-(r[i+b]<<uint(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/cmd/sync/vendor/golang.org/x/crypto/internal/poly1305/sum_generic.go b/cmd/sync/vendor/golang.org/x/crypto/internal/poly1305/sum_generic.go index c942a659..e041da5e 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/internal/poly1305/sum_generic.go +++ b/cmd/sync/vendor/golang.org/x/crypto/internal/poly1305/sum_generic.go @@ -136,7 +136,7 @@ func shiftRightBy2(a uint128) uint128 { // updateGeneric absorbs msg into the state.h accumulator. For each chunk m of // 128 bits of message, it computes // -// h₊ = (h + m) * r mod 2¹³⁰ - 5 +// h₊ = (h + m) * r mod 2¹³⁰ - 5 // // If the msg length is not a multiple of TagSize, it assumes the last // incomplete chunk is the final one. @@ -278,8 +278,7 @@ const ( // finalize completes the modular reduction of h and computes // -// out = h + s mod 2¹²⁸ -// +// out = h + s mod 2¹²⁸ func finalize(out *[TagSize]byte, h *[3]uint64, s *[2]uint64) { h0, h1, h2 := h[0], h[1], h[2] diff --git a/cmd/sync/vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.go b/cmd/sync/vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.go index 62cc9f84..ec959668 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.go +++ b/cmd/sync/vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.go @@ -14,6 +14,7 @@ import ( // updateVX is an assembly implementation of Poly1305 that uses vector // instructions. It must only be called if the vector facility (vx) is // available. +// //go:noescape func updateVX(state *macState, msg []byte) diff --git a/cmd/sync/vendor/golang.org/x/crypto/ocsp/ocsp.go b/cmd/sync/vendor/golang.org/x/crypto/ocsp/ocsp.go index 9d3fffa8..4269ed11 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ocsp/ocsp.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ocsp/ocsp.go @@ -345,6 +345,8 @@ func (req *Request) Marshal() ([]byte, error) { // Response represents an OCSP response containing a single SingleResponse. See // RFC 6960. type Response struct { + Raw []byte + // Status is one of {Good, Revoked, Unknown} Status int SerialNumber *big.Int @@ -518,6 +520,7 @@ func ParseResponseForCert(bytes []byte, cert, issuer *x509.Certificate) (*Respon } ret := &Response{ + Raw: bytes, TBSResponseData: basicResp.TBSResponseData.Raw, Signature: basicResp.Signature.RightAlign(), SignatureAlgorithm: getSignatureAlgorithmFromOID(basicResp.SignatureAlgorithm.Algorithm), @@ -668,7 +671,7 @@ func CreateRequest(cert, issuer *x509.Certificate, opts *RequestOptions) ([]byte // The responder cert is used to populate the responder's name field, and the // certificate itself is provided alongside the OCSP response signature. // -// The issuer cert is used to puplate the IssuerNameHash and IssuerKeyHash fields. +// The issuer cert is used to populate the IssuerNameHash and IssuerKeyHash fields. // // The template is used to populate the SerialNumber, Status, RevokedAt, // RevocationReason, ThisUpdate, and NextUpdate fields. diff --git a/cmd/sync/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go b/cmd/sync/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go index 593f6530..904b57e0 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go +++ b/cmd/sync/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go @@ -32,7 +32,7 @@ import ( // 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) +// 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. diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/agent/client.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/agent/client.go index b909471c..3c4d18a1 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/agent/client.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/agent/client.go @@ -8,7 +8,8 @@ // ssh-agent process using the sample server. // // References: -// [PROTOCOL.agent]: https://tools.ietf.org/html/draft-miller-ssh-agent-00 +// +// [PROTOCOL.agent]: https://tools.ietf.org/html/draft-miller-ssh-agent-00 package agent // import "golang.org/x/crypto/ssh/agent" import ( @@ -25,7 +26,6 @@ import ( "math/big" "sync" - "crypto" "golang.org/x/crypto/ed25519" "golang.org/x/crypto/ssh" ) @@ -771,19 +771,53 @@ func (s *agentKeyringSigner) Sign(rand io.Reader, data []byte) (*ssh.Signature, return s.agent.Sign(s.pub, data) } -func (s *agentKeyringSigner) SignWithOpts(rand io.Reader, data []byte, opts crypto.SignerOpts) (*ssh.Signature, error) { +func (s *agentKeyringSigner) SignWithAlgorithm(rand io.Reader, data []byte, algorithm string) (*ssh.Signature, error) { + if algorithm == "" || algorithm == underlyingAlgo(s.pub.Type()) { + return s.Sign(rand, data) + } + var flags SignatureFlags - if opts != nil { - switch opts.HashFunc() { - case crypto.SHA256: - flags = SignatureFlagRsaSha256 - case crypto.SHA512: - flags = SignatureFlagRsaSha512 - } + switch algorithm { + case ssh.KeyAlgoRSASHA256: + flags = SignatureFlagRsaSha256 + case ssh.KeyAlgoRSASHA512: + flags = SignatureFlagRsaSha512 + default: + return nil, fmt.Errorf("agent: unsupported algorithm %q", algorithm) } + return s.agent.SignWithFlags(s.pub, data, flags) } +var _ ssh.AlgorithmSigner = &agentKeyringSigner{} + +// certKeyAlgoNames is a mapping from known certificate algorithm names to the +// corresponding public key signature algorithm. +// +// This map must be kept in sync with the one in certs.go. +var certKeyAlgoNames = map[string]string{ + ssh.CertAlgoRSAv01: ssh.KeyAlgoRSA, + ssh.CertAlgoRSASHA256v01: ssh.KeyAlgoRSASHA256, + ssh.CertAlgoRSASHA512v01: ssh.KeyAlgoRSASHA512, + ssh.CertAlgoDSAv01: ssh.KeyAlgoDSA, + ssh.CertAlgoECDSA256v01: ssh.KeyAlgoECDSA256, + ssh.CertAlgoECDSA384v01: ssh.KeyAlgoECDSA384, + ssh.CertAlgoECDSA521v01: ssh.KeyAlgoECDSA521, + ssh.CertAlgoSKECDSA256v01: ssh.KeyAlgoSKECDSA256, + ssh.CertAlgoED25519v01: ssh.KeyAlgoED25519, + ssh.CertAlgoSKED25519v01: ssh.KeyAlgoSKED25519, +} + +// underlyingAlgo returns the signature algorithm associated with algo (which is +// an advertised or negotiated public key or host key algorithm). These are +// usually the same, except for certificate algorithms. +func underlyingAlgo(algo string) string { + if a, ok := certKeyAlgoNames[algo]; ok { + return a + } + return algo +} + // Calls an extension method. It is up to the agent implementation as to whether or not // any particular extension is supported and may always return an error. Because the // type of the response is up to the implementation, this returns the bytes of the diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/agent/keyring.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/agent/keyring.go index c9d97943..21bfa870 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/agent/keyring.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/agent/keyring.go @@ -113,7 +113,7 @@ func (r *keyring) Unlock(passphrase []byte) error { // expireKeysLocked removes expired keys from the keyring. If a key was added // with a lifetimesecs contraint and seconds >= lifetimesecs seconds have -// ellapsed, it is removed. The caller *must* be holding the keyring mutex. +// elapsed, it is removed. The caller *must* be holding the keyring mutex. func (r *keyring) expireKeysLocked() { for _, k := range r.keys { if k.expire != nil && time.Now().After(*k.expire) { @@ -205,9 +205,9 @@ func (r *keyring) SignWithFlags(key ssh.PublicKey, data []byte, flags SignatureF var algorithm string switch flags { case SignatureFlagRsaSha256: - algorithm = ssh.SigAlgoRSASHA2256 + algorithm = ssh.KeyAlgoRSASHA256 case SignatureFlagRsaSha512: - algorithm = ssh.SigAlgoRSASHA2512 + algorithm = ssh.KeyAlgoRSASHA512 default: return nil, fmt.Errorf("agent: unsupported signature flags: %d", flags) } diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/certs.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/certs.go index 916c840b..4600c207 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/certs.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/certs.go @@ -14,8 +14,10 @@ import ( "time" ) -// These constants from [PROTOCOL.certkeys] represent the algorithm names -// for certificate types supported by this package. +// Certificate algorithm names from [PROTOCOL.certkeys]. These values can appear +// in Certificate.Type, PublicKey.Type, and ClientConfig.HostKeyAlgorithms. +// Unlike key algorithm names, these are not passed to AlgorithmSigner and don't +// appear in the Signature.Format field. const ( CertAlgoRSAv01 = "ssh-rsa-cert-v01@openssh.com" CertAlgoDSAv01 = "ssh-dss-cert-v01@openssh.com" @@ -25,6 +27,21 @@ const ( CertAlgoSKECDSA256v01 = "sk-ecdsa-sha2-nistp256-cert-v01@openssh.com" CertAlgoED25519v01 = "ssh-ed25519-cert-v01@openssh.com" CertAlgoSKED25519v01 = "sk-ssh-ed25519-cert-v01@openssh.com" + + // CertAlgoRSASHA256v01 and CertAlgoRSASHA512v01 can't appear as a + // Certificate.Type (or PublicKey.Type), but only in + // ClientConfig.HostKeyAlgorithms. + CertAlgoRSASHA256v01 = "rsa-sha2-256-cert-v01@openssh.com" + CertAlgoRSASHA512v01 = "rsa-sha2-512-cert-v01@openssh.com" +) + +const ( + // Deprecated: use CertAlgoRSAv01. + CertSigAlgoRSAv01 = CertAlgoRSAv01 + // Deprecated: use CertAlgoRSASHA256v01. + CertSigAlgoRSASHA2256v01 = CertAlgoRSASHA256v01 + // Deprecated: use CertAlgoRSASHA512v01. + CertSigAlgoRSASHA2512v01 = CertAlgoRSASHA512v01 ) // Certificate types distinguish between host and user @@ -423,6 +440,16 @@ func (c *Certificate) SignCert(rand io.Reader, authority Signer) error { } c.SignatureKey = authority.PublicKey() + // Default to KeyAlgoRSASHA512 for ssh-rsa signers. + if v, ok := authority.(AlgorithmSigner); ok && v.PublicKey().Type() == KeyAlgoRSA { + sig, err := v.SignWithAlgorithm(rand, c.bytesForSigning(), KeyAlgoRSASHA512) + if err != nil { + return err + } + c.Signature = sig + return nil + } + sig, err := authority.Sign(rand, c.bytesForSigning()) if err != nil { return err @@ -431,26 +458,42 @@ func (c *Certificate) SignCert(rand io.Reader, authority Signer) error { return nil } -var certAlgoNames = map[string]string{ - KeyAlgoRSA: CertAlgoRSAv01, - KeyAlgoDSA: CertAlgoDSAv01, - KeyAlgoECDSA256: CertAlgoECDSA256v01, - KeyAlgoECDSA384: CertAlgoECDSA384v01, - KeyAlgoECDSA521: CertAlgoECDSA521v01, - KeyAlgoSKECDSA256: CertAlgoSKECDSA256v01, - KeyAlgoED25519: CertAlgoED25519v01, - KeyAlgoSKED25519: CertAlgoSKED25519v01, +// certKeyAlgoNames is a mapping from known certificate algorithm names to the +// corresponding public key signature algorithm. +// +// This map must be kept in sync with the one in agent/client.go. +var certKeyAlgoNames = map[string]string{ + CertAlgoRSAv01: KeyAlgoRSA, + CertAlgoRSASHA256v01: KeyAlgoRSASHA256, + CertAlgoRSASHA512v01: KeyAlgoRSASHA512, + CertAlgoDSAv01: KeyAlgoDSA, + CertAlgoECDSA256v01: KeyAlgoECDSA256, + CertAlgoECDSA384v01: KeyAlgoECDSA384, + CertAlgoECDSA521v01: KeyAlgoECDSA521, + CertAlgoSKECDSA256v01: KeyAlgoSKECDSA256, + CertAlgoED25519v01: KeyAlgoED25519, + CertAlgoSKED25519v01: KeyAlgoSKED25519, +} + +// underlyingAlgo returns the signature algorithm associated with algo (which is +// an advertised or negotiated public key or host key algorithm). These are +// usually the same, except for certificate algorithms. +func underlyingAlgo(algo string) string { + if a, ok := certKeyAlgoNames[algo]; ok { + return a + } + return algo } -// certToPrivAlgo returns the underlying algorithm for a certificate algorithm. -// Panics if a non-certificate algorithm is passed. -func certToPrivAlgo(algo string) string { - for privAlgo, pubAlgo := range certAlgoNames { - if pubAlgo == algo { - return privAlgo +// certificateAlgo returns the certificate algorithms that uses the provided +// underlying signature algorithm. +func certificateAlgo(algo string) (certAlgo string, ok bool) { + for certName, algoName := range certKeyAlgoNames { + if algoName == algo { + return certName, true } } - panic("unknown cert algorithm") + return "", false } func (cert *Certificate) bytesForSigning() []byte { @@ -494,13 +537,13 @@ func (c *Certificate) Marshal() []byte { return result } -// Type returns the key name. It is part of the PublicKey interface. +// Type returns the certificate algorithm name. It is part of the PublicKey interface. func (c *Certificate) Type() string { - algo, ok := certAlgoNames[c.Key.Type()] + certName, ok := certificateAlgo(c.Key.Type()) if !ok { - panic("unknown cert key type " + c.Key.Type()) + panic("unknown certificate type for key type " + c.Key.Type()) } - return algo + return certName } // Verify verifies a signature against the certificate's public diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/cipher.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/cipher.go index bddbde5d..770e8a66 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/cipher.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/cipher.go @@ -394,6 +394,10 @@ func (c *gcmCipher) readCipherPacket(seqNum uint32, r io.Reader) ([]byte, error) } c.incIV() + if len(plain) == 0 { + return nil, errors.New("ssh: empty packet") + } + padding := plain[0] if padding < 4 { // padding is a byte, so it automatically satisfies @@ -636,7 +640,7 @@ const chacha20Poly1305ID = "chacha20-poly1305@openssh.com" // chacha20Poly1305Cipher implements the chacha20-poly1305@openssh.com // AEAD, which is described here: // -// https://tools.ietf.org/html/draft-josefsson-ssh-chacha20-poly1305-openssh-00 +// https://tools.ietf.org/html/draft-josefsson-ssh-chacha20-poly1305-openssh-00 // // the methods here also implement padding, which RFC4253 Section 6 // also requires of stream ciphers. @@ -710,6 +714,10 @@ func (c *chacha20Poly1305Cipher) readCipherPacket(seqNum uint32, r io.Reader) ([ plain := c.buf[4:contentEnd] s.XORKeyStream(plain, plain) + if len(plain) == 0 { + return nil, errors.New("ssh: empty packet") + } + padding := plain[0] if padding < 4 { // padding is a byte, so it automatically satisfies diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/client.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/client.go index 99f68bd3..bdc356cb 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/client.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/client.go @@ -113,14 +113,18 @@ func (c *connection) clientHandshake(dialAddress string, config *ClientConfig) e return c.clientAuthenticate(config) } -// verifyHostKeySignature verifies the host key obtained in the key -// exchange. -func verifyHostKeySignature(hostKey PublicKey, result *kexResult) error { +// verifyHostKeySignature verifies the host key obtained in the key exchange. +// algo is the negotiated algorithm, and may be a certificate type. +func verifyHostKeySignature(hostKey PublicKey, algo string, result *kexResult) error { sig, rest, ok := parseSignatureBody(result.Signature) if len(rest) > 0 || !ok { return errors.New("ssh: signature parse error") } + if a := underlyingAlgo(algo); sig.Format != a { + return fmt.Errorf("ssh: invalid signature algorithm %q, expected %q", sig.Format, a) + } + return hostKey.Verify(result.H, sig) } @@ -224,11 +228,11 @@ type ClientConfig struct { // be used for the connection. If empty, a reasonable default is used. ClientVersion string - // HostKeyAlgorithms lists the key types that the client will - // accept from the server as host key, in order of + // HostKeyAlgorithms lists the public key algorithms that the client will + // accept from the server for host key authentication, in order of // preference. If empty, a reasonable default is used. Any - // string returned from PublicKey.Type method may be used, or - // any of the CertAlgoXxxx and KeyAlgoXxxx constants. + // string returned from a PublicKey.Type method may be used, or + // any of the CertAlgo and KeyAlgo constants. HostKeyAlgorithms []string // Timeout is the maximum amount of time for the TCP connection to establish. diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/client_auth.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/client_auth.go index c611aeb6..409b5ea1 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/client_auth.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/client_auth.go @@ -9,6 +9,7 @@ import ( "errors" "fmt" "io" + "strings" ) type authResult int @@ -29,6 +30,33 @@ func (c *connection) clientAuthenticate(config *ClientConfig) error { if err != nil { return err } + // The server may choose to send a SSH_MSG_EXT_INFO at this point (if we + // advertised willingness to receive one, which we always do) or not. See + // RFC 8308, Section 2.4. + extensions := make(map[string][]byte) + if len(packet) > 0 && packet[0] == msgExtInfo { + var extInfo extInfoMsg + if err := Unmarshal(packet, &extInfo); err != nil { + return err + } + payload := extInfo.Payload + for i := uint32(0); i < extInfo.NumExtensions; i++ { + name, rest, ok := parseString(payload) + if !ok { + return parseError(msgExtInfo) + } + value, rest, ok := parseString(rest) + if !ok { + return parseError(msgExtInfo) + } + extensions[string(name)] = value + payload = rest + } + packet, err = c.transport.readPacket() + if err != nil { + return err + } + } var serviceAccept serviceAcceptMsg if err := Unmarshal(packet, &serviceAccept); err != nil { return err @@ -41,7 +69,7 @@ func (c *connection) clientAuthenticate(config *ClientConfig) error { sessionID := c.transport.getSessionID() for auth := AuthMethod(new(noneAuth)); auth != nil; { - ok, methods, err := auth.auth(sessionID, config.User, c.transport, config.Rand) + ok, methods, err := auth.auth(sessionID, config.User, c.transport, config.Rand, extensions) if err != nil { return err } @@ -93,7 +121,7 @@ type AuthMethod interface { // If authentication is not successful, a []string of alternative // method names is returned. If the slice is nil, it will be ignored // and the previous set of possible methods will be reused. - auth(session []byte, user string, p packetConn, rand io.Reader) (authResult, []string, error) + auth(session []byte, user string, p packetConn, rand io.Reader, extensions map[string][]byte) (authResult, []string, error) // method returns the RFC 4252 method name. method() string @@ -102,7 +130,7 @@ type AuthMethod interface { // "none" authentication, RFC 4252 section 5.2. type noneAuth int -func (n *noneAuth) auth(session []byte, user string, c packetConn, rand io.Reader) (authResult, []string, error) { +func (n *noneAuth) auth(session []byte, user string, c packetConn, rand io.Reader, _ map[string][]byte) (authResult, []string, error) { if err := c.writePacket(Marshal(&userAuthRequestMsg{ User: user, Service: serviceSSH, @@ -122,7 +150,7 @@ func (n *noneAuth) method() string { // a function call, e.g. by prompting the user. type passwordCallback func() (password string, err error) -func (cb passwordCallback) auth(session []byte, user string, c packetConn, rand io.Reader) (authResult, []string, error) { +func (cb passwordCallback) auth(session []byte, user string, c packetConn, rand io.Reader, _ map[string][]byte) (authResult, []string, error) { type passwordAuthMsg struct { User string `sshtype:"50"` Service string @@ -189,7 +217,46 @@ func (cb publicKeyCallback) method() string { return "publickey" } -func (cb publicKeyCallback) auth(session []byte, user string, c packetConn, rand io.Reader) (authResult, []string, error) { +func pickSignatureAlgorithm(signer Signer, extensions map[string][]byte) (as AlgorithmSigner, algo string) { + keyFormat := signer.PublicKey().Type() + + // Like in sendKexInit, if the public key implements AlgorithmSigner we + // assume it supports all algorithms, otherwise only the key format one. + as, ok := signer.(AlgorithmSigner) + if !ok { + return algorithmSignerWrapper{signer}, keyFormat + } + + extPayload, ok := extensions["server-sig-algs"] + if !ok { + // If there is no "server-sig-algs" extension, fall back to the key + // format algorithm. + return as, keyFormat + } + + // The server-sig-algs extension only carries underlying signature + // algorithm, but we are trying to select a protocol-level public key + // algorithm, which might be a certificate type. Extend the list of server + // supported algorithms to include the corresponding certificate algorithms. + serverAlgos := strings.Split(string(extPayload), ",") + for _, algo := range serverAlgos { + if certAlgo, ok := certificateAlgo(algo); ok { + serverAlgos = append(serverAlgos, certAlgo) + } + } + + keyAlgos := algorithmsForKeyFormat(keyFormat) + algo, err := findCommon("public key signature algorithm", keyAlgos, serverAlgos) + if err != nil { + // If there is no overlap, try the key anyway with the key format + // algorithm, to support servers that fail to list all supported + // algorithms. + return as, keyFormat + } + return as, algo +} + +func (cb publicKeyCallback) auth(session []byte, user string, c packetConn, rand io.Reader, extensions map[string][]byte) (authResult, []string, error) { // Authentication is performed by sending an enquiry to test if a key is // acceptable to the remote. If the key is acceptable, the client will // attempt to authenticate with the valid key. If not the client will repeat @@ -201,7 +268,10 @@ func (cb publicKeyCallback) auth(session []byte, user string, c packetConn, rand } var methods []string for _, signer := range signers { - ok, err := validateKey(signer.PublicKey(), user, c) + pub := signer.PublicKey() + as, algo := pickSignatureAlgorithm(signer, extensions) + + ok, err := validateKey(pub, algo, user, c) if err != nil { return authFailure, nil, err } @@ -209,13 +279,13 @@ func (cb publicKeyCallback) auth(session []byte, user string, c packetConn, rand continue } - pub := signer.PublicKey() pubKey := pub.Marshal() - sign, err := signer.Sign(rand, buildDataSignedForAuth(session, userAuthRequestMsg{ + data := buildDataSignedForAuth(session, userAuthRequestMsg{ User: user, Service: serviceSSH, Method: cb.method(), - }, []byte(pub.Type()), pubKey)) + }, algo, pubKey) + sign, err := as.SignWithAlgorithm(rand, data, underlyingAlgo(algo)) if err != nil { return authFailure, nil, err } @@ -229,7 +299,7 @@ func (cb publicKeyCallback) auth(session []byte, user string, c packetConn, rand Service: serviceSSH, Method: cb.method(), HasSig: true, - Algoname: pub.Type(), + Algoname: algo, PubKey: pubKey, Sig: sig, } @@ -266,26 +336,25 @@ func containsMethod(methods []string, method string) bool { } // validateKey validates the key provided is acceptable to the server. -func validateKey(key PublicKey, user string, c packetConn) (bool, error) { +func validateKey(key PublicKey, algo string, user string, c packetConn) (bool, error) { pubKey := key.Marshal() msg := publickeyAuthMsg{ User: user, Service: serviceSSH, Method: "publickey", HasSig: false, - Algoname: key.Type(), + Algoname: algo, PubKey: pubKey, } if err := c.writePacket(Marshal(&msg)); err != nil { return false, err } - return confirmKeyAck(key, c) + return confirmKeyAck(key, algo, c) } -func confirmKeyAck(key PublicKey, c packetConn) (bool, error) { +func confirmKeyAck(key PublicKey, algo string, c packetConn) (bool, error) { pubKey := key.Marshal() - algoname := key.Type() for { packet, err := c.readPacket() @@ -302,14 +371,14 @@ func confirmKeyAck(key PublicKey, c packetConn) (bool, error) { if err := Unmarshal(packet, &msg); err != nil { return false, err } - if msg.Algo != algoname || !bytes.Equal(msg.PubKey, pubKey) { + if msg.Algo != algo || !bytes.Equal(msg.PubKey, pubKey) { return false, nil } return true, nil case msgUserAuthFailure: return false, nil default: - return false, unexpectedMessageError(msgUserAuthSuccess, packet[0]) + return false, unexpectedMessageError(msgUserAuthPubKeyOk, packet[0]) } } } @@ -330,6 +399,7 @@ func PublicKeysCallback(getSigners func() (signers []Signer, err error)) AuthMet // along with a list of remaining authentication methods to try next and // an error if an unexpected response was received. func handleAuthResponse(c packetConn) (authResult, []string, error) { + gotMsgExtInfo := false for { packet, err := c.readPacket() if err != nil { @@ -341,6 +411,12 @@ func handleAuthResponse(c packetConn) (authResult, []string, error) { if err := handleBannerResponse(c, packet); err != nil { return authFailure, nil, err } + case msgExtInfo: + // Ignore post-authentication RFC 8308 extensions, once. + if gotMsgExtInfo { + return authFailure, nil, unexpectedMessageError(msgUserAuthSuccess, packet[0]) + } + gotMsgExtInfo = true case msgUserAuthFailure: var msg userAuthFailureMsg if err := Unmarshal(packet, &msg); err != nil { @@ -380,10 +456,10 @@ func handleBannerResponse(c packetConn, packet []byte) error { // disabling echoing (e.g. for passwords), and return all the answers. // Challenge may be called multiple times in a single session. After // successful authentication, the server may send a challenge with no -// questions, for which the user and instruction messages should be +// questions, for which the name and instruction messages should be // printed. RFC 4256 section 3.3 details how the UI should behave for // both CLI and GUI environments. -type KeyboardInteractiveChallenge func(user, instruction string, questions []string, echos []bool) (answers []string, err error) +type KeyboardInteractiveChallenge func(name, instruction string, questions []string, echos []bool) (answers []string, err error) // KeyboardInteractive returns an AuthMethod using a prompt/response // sequence controlled by the server. @@ -395,7 +471,7 @@ func (cb KeyboardInteractiveChallenge) method() string { return "keyboard-interactive" } -func (cb KeyboardInteractiveChallenge) auth(session []byte, user string, c packetConn, rand io.Reader) (authResult, []string, error) { +func (cb KeyboardInteractiveChallenge) auth(session []byte, user string, c packetConn, rand io.Reader, _ map[string][]byte) (authResult, []string, error) { type initiateMsg struct { User string `sshtype:"50"` Service string @@ -412,6 +488,7 @@ func (cb KeyboardInteractiveChallenge) auth(session []byte, user string, c packe return authFailure, nil, err } + gotMsgExtInfo := false for { packet, err := c.readPacket() if err != nil { @@ -425,6 +502,13 @@ func (cb KeyboardInteractiveChallenge) auth(session []byte, user string, c packe return authFailure, nil, err } continue + case msgExtInfo: + // Ignore post-authentication RFC 8308 extensions, once. + if gotMsgExtInfo { + return authFailure, nil, unexpectedMessageError(msgUserAuthInfoRequest, packet[0]) + } + gotMsgExtInfo = true + continue case msgUserAuthInfoRequest: // OK case msgUserAuthFailure: @@ -465,7 +549,7 @@ func (cb KeyboardInteractiveChallenge) auth(session []byte, user string, c packe return authFailure, nil, errors.New("ssh: extra data following keyboard-interactive pairs") } - answers, err := cb(msg.User, msg.Instruction, prompts, echos) + answers, err := cb(msg.Name, msg.Instruction, prompts, echos) if err != nil { return authFailure, nil, err } @@ -497,9 +581,9 @@ type retryableAuthMethod struct { maxTries int } -func (r *retryableAuthMethod) auth(session []byte, user string, c packetConn, rand io.Reader) (ok authResult, methods []string, err error) { +func (r *retryableAuthMethod) auth(session []byte, user string, c packetConn, rand io.Reader, extensions map[string][]byte) (ok authResult, methods []string, err error) { for i := 0; r.maxTries <= 0 || i < r.maxTries; i++ { - ok, methods, err = r.authMethod.auth(session, user, c, rand) + ok, methods, err = r.authMethod.auth(session, user, c, rand, extensions) if ok != authFailure || err != nil { // either success, partial success or error terminate return ok, methods, err } @@ -542,7 +626,7 @@ type gssAPIWithMICCallback struct { target string } -func (g *gssAPIWithMICCallback) auth(session []byte, user string, c packetConn, rand io.Reader) (authResult, []string, error) { +func (g *gssAPIWithMICCallback) auth(session []byte, user string, c packetConn, rand io.Reader, _ map[string][]byte) (authResult, []string, error) { m := &userAuthRequestMsg{ User: user, Service: serviceSSH, diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/common.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/common.go index 290382d0..2a47a61d 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/common.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/common.go @@ -44,11 +44,11 @@ var preferredCiphers = []string{ // supportedKexAlgos specifies the supported key-exchange algorithms in // preference order. var supportedKexAlgos = []string{ - kexAlgoCurve25519SHA256, + kexAlgoCurve25519SHA256, kexAlgoCurve25519SHA256LibSSH, // P384 and P521 are not constant-time yet, but since we don't // reuse ephemeral keys, using them for ECDH should be OK. kexAlgoECDH256, kexAlgoECDH384, kexAlgoECDH521, - kexAlgoDH14SHA1, kexAlgoDH1SHA1, + kexAlgoDH14SHA256, kexAlgoDH14SHA1, kexAlgoDH1SHA1, } // serverForbiddenKexAlgos contains key exchange algorithms, that are forbidden @@ -61,18 +61,20 @@ var serverForbiddenKexAlgos = map[string]struct{}{ // preferredKexAlgos specifies the default preference for key-exchange algorithms // in preference order. var preferredKexAlgos = []string{ - kexAlgoCurve25519SHA256, + kexAlgoCurve25519SHA256, kexAlgoCurve25519SHA256LibSSH, kexAlgoECDH256, kexAlgoECDH384, kexAlgoECDH521, - kexAlgoDH14SHA1, + kexAlgoDH14SHA256, kexAlgoDH14SHA1, } // supportedHostKeyAlgos specifies the supported host-key algorithms (i.e. methods // of authenticating servers) in preference order. var supportedHostKeyAlgos = []string{ + CertAlgoRSASHA512v01, CertAlgoRSASHA256v01, CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoED25519v01, KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521, + KeyAlgoRSASHA512, KeyAlgoRSASHA256, KeyAlgoRSA, KeyAlgoDSA, KeyAlgoED25519, @@ -87,19 +89,33 @@ var supportedMACs = []string{ var supportedCompressions = []string{compressionNone} -// hashFuncs keeps the mapping of supported algorithms to their respective -// hashes needed for signature verification. +// hashFuncs keeps the mapping of supported signature algorithms to their +// respective hashes needed for signing and verification. var hashFuncs = map[string]crypto.Hash{ - KeyAlgoRSA: crypto.SHA1, - KeyAlgoDSA: crypto.SHA1, - KeyAlgoECDSA256: crypto.SHA256, - KeyAlgoECDSA384: crypto.SHA384, - KeyAlgoECDSA521: crypto.SHA512, - CertAlgoRSAv01: crypto.SHA1, - CertAlgoDSAv01: crypto.SHA1, - CertAlgoECDSA256v01: crypto.SHA256, - CertAlgoECDSA384v01: crypto.SHA384, - CertAlgoECDSA521v01: crypto.SHA512, + KeyAlgoRSA: crypto.SHA1, + KeyAlgoRSASHA256: crypto.SHA256, + KeyAlgoRSASHA512: crypto.SHA512, + KeyAlgoDSA: crypto.SHA1, + KeyAlgoECDSA256: crypto.SHA256, + KeyAlgoECDSA384: crypto.SHA384, + KeyAlgoECDSA521: crypto.SHA512, + // KeyAlgoED25519 doesn't pre-hash. + KeyAlgoSKECDSA256: crypto.SHA256, + KeyAlgoSKED25519: crypto.SHA256, +} + +// algorithmsForKeyFormat returns the supported signature algorithms for a given +// public key format (PublicKey.Type), in order of preference. See RFC 8332, +// Section 2. See also the note in sendKexInit on backwards compatibility. +func algorithmsForKeyFormat(keyFormat string) []string { + switch keyFormat { + case KeyAlgoRSA: + return []string{KeyAlgoRSASHA256, KeyAlgoRSASHA512, KeyAlgoRSA} + case CertAlgoRSAv01: + return []string{CertAlgoRSASHA256v01, CertAlgoRSASHA512v01, CertAlgoRSAv01} + default: + return []string{keyFormat} + } } // unexpectedMessageError results when the SSH message that we received didn't @@ -146,6 +162,11 @@ func (a *directionAlgorithms) rekeyBytes() int64 { return 1 << 30 } +var aeadCiphers = map[string]bool{ + gcmCipherID: true, + chacha20Poly1305ID: true, +} + type algorithms struct { kex string hostKey string @@ -181,14 +202,18 @@ func findAgreedAlgorithms(isClient bool, clientKexInit, serverKexInit *kexInitMs return } - ctos.MAC, err = findCommon("client to server MAC", clientKexInit.MACsClientServer, serverKexInit.MACsClientServer) - if err != nil { - return + if !aeadCiphers[ctos.Cipher] { + ctos.MAC, err = findCommon("client to server MAC", clientKexInit.MACsClientServer, serverKexInit.MACsClientServer) + if err != nil { + return + } } - stoc.MAC, err = findCommon("server to client MAC", clientKexInit.MACsServerClient, serverKexInit.MACsServerClient) - if err != nil { - return + if !aeadCiphers[stoc.Cipher] { + stoc.MAC, err = findCommon("server to client MAC", clientKexInit.MACsServerClient, serverKexInit.MACsServerClient) + if err != nil { + return + } } ctos.Compression, err = findCommon("client to server compression", clientKexInit.CompressionClientServer, serverKexInit.CompressionClientServer) @@ -272,8 +297,9 @@ func (c *Config) SetDefaults() { } // buildDataSignedForAuth returns the data that is signed in order to prove -// possession of a private key. See RFC 4252, section 7. -func buildDataSignedForAuth(sessionID []byte, req userAuthRequestMsg, algo, pubKey []byte) []byte { +// possession of a private key. See RFC 4252, section 7. algo is the advertised +// algorithm, and may be a certificate type. +func buildDataSignedForAuth(sessionID []byte, req userAuthRequestMsg, algo string, pubKey []byte) []byte { data := struct { Session []byte Type byte @@ -281,7 +307,7 @@ func buildDataSignedForAuth(sessionID []byte, req userAuthRequestMsg, algo, pubK Service string Method string Sign bool - Algo []byte + Algo string PubKey []byte }{ sessionID, diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/doc.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/doc.go index 67b7322c..f6bff60d 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/doc.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/doc.go @@ -12,8 +12,9 @@ the multiplexed nature of SSH is exposed to users that wish to support others. References: - [PROTOCOL.certkeys]: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL.certkeys?rev=HEAD - [SSH-PARAMETERS]: http://www.iana.org/assignments/ssh-parameters/ssh-parameters.xml#ssh-parameters-1 + + [PROTOCOL.certkeys]: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL.certkeys?rev=HEAD + [SSH-PARAMETERS]: http://www.iana.org/assignments/ssh-parameters/ssh-parameters.xml#ssh-parameters-1 This package does not fall under the stability promise of the Go language itself, so its API may be changed when pressing needs arise. diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/handshake.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/handshake.go index 2b10b05a..653dc4d2 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/handshake.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/handshake.go @@ -455,14 +455,38 @@ func (t *handshakeTransport) sendKexInit() error { } io.ReadFull(rand.Reader, msg.Cookie[:]) - if len(t.hostKeys) > 0 { + isServer := len(t.hostKeys) > 0 + if isServer { for _, k := range t.hostKeys { - msg.ServerHostKeyAlgos = append( - msg.ServerHostKeyAlgos, k.PublicKey().Type()) + // If k is an AlgorithmSigner, presume it supports all signature algorithms + // associated with the key format. (Ideally AlgorithmSigner would have a + // method to advertise supported algorithms, but it doesn't. This means that + // adding support for a new algorithm is a breaking change, as we will + // immediately negotiate it even if existing implementations don't support + // it. If that ever happens, we'll have to figure something out.) + // If k is not an AlgorithmSigner, we can only assume it only supports the + // algorithms that matches the key format. (This means that Sign can't pick + // a different default.) + keyFormat := k.PublicKey().Type() + if _, ok := k.(AlgorithmSigner); ok { + msg.ServerHostKeyAlgos = append(msg.ServerHostKeyAlgos, algorithmsForKeyFormat(keyFormat)...) + } else { + msg.ServerHostKeyAlgos = append(msg.ServerHostKeyAlgos, keyFormat) + } } } else { msg.ServerHostKeyAlgos = t.hostKeyAlgorithms + + // As a client we opt in to receiving SSH_MSG_EXT_INFO so we know what + // algorithms the server supports for public key authentication. See RFC + // 8308, Section 2.1. + if firstKeyExchange := t.sessionID == nil; firstKeyExchange { + msg.KexAlgos = make([]string, 0, len(t.config.KeyExchanges)+1) + msg.KexAlgos = append(msg.KexAlgos, t.config.KeyExchanges...) + msg.KexAlgos = append(msg.KexAlgos, "ext-info-c") + } } + packet := Marshal(msg) // writePacket destroys the contents, so save a copy. @@ -582,9 +606,9 @@ func (t *handshakeTransport) enterKeyExchange(otherInitPacket []byte) error { var result *kexResult if len(t.hostKeys) > 0 { - result, err = t.server(kex, t.algorithms, &magics) + result, err = t.server(kex, &magics) } else { - result, err = t.client(kex, t.algorithms, &magics) + result, err = t.client(kex, &magics) } if err != nil { @@ -611,19 +635,52 @@ func (t *handshakeTransport) enterKeyExchange(otherInitPacket []byte) error { return nil } -func (t *handshakeTransport) server(kex kexAlgorithm, algs *algorithms, magics *handshakeMagics) (*kexResult, error) { - var hostKey Signer - for _, k := range t.hostKeys { - if algs.hostKey == k.PublicKey().Type() { - hostKey = k +// algorithmSignerWrapper is an AlgorithmSigner that only supports the default +// key format algorithm. +// +// This is technically a violation of the AlgorithmSigner interface, but it +// should be unreachable given where we use this. Anyway, at least it returns an +// error instead of panicing or producing an incorrect signature. +type algorithmSignerWrapper struct { + Signer +} + +func (a algorithmSignerWrapper) SignWithAlgorithm(rand io.Reader, data []byte, algorithm string) (*Signature, error) { + if algorithm != underlyingAlgo(a.PublicKey().Type()) { + return nil, errors.New("ssh: internal error: algorithmSignerWrapper invoked with non-default algorithm") + } + return a.Sign(rand, data) +} + +func pickHostKey(hostKeys []Signer, algo string) AlgorithmSigner { + for _, k := range hostKeys { + if algo == k.PublicKey().Type() { + return algorithmSignerWrapper{k} + } + k, ok := k.(AlgorithmSigner) + if !ok { + continue + } + for _, a := range algorithmsForKeyFormat(k.PublicKey().Type()) { + if algo == a { + return k + } } } + return nil +} + +func (t *handshakeTransport) server(kex kexAlgorithm, magics *handshakeMagics) (*kexResult, error) { + hostKey := pickHostKey(t.hostKeys, t.algorithms.hostKey) + if hostKey == nil { + return nil, errors.New("ssh: internal error: negotiated unsupported signature type") + } - r, err := kex.Server(t.conn, t.config.Rand, magics, hostKey) + r, err := kex.Server(t.conn, t.config.Rand, magics, hostKey, t.algorithms.hostKey) return r, err } -func (t *handshakeTransport) client(kex kexAlgorithm, algs *algorithms, magics *handshakeMagics) (*kexResult, error) { +func (t *handshakeTransport) client(kex kexAlgorithm, magics *handshakeMagics) (*kexResult, error) { result, err := kex.Client(t.conn, t.config.Rand, magics) if err != nil { return nil, err @@ -634,7 +691,7 @@ func (t *handshakeTransport) client(kex kexAlgorithm, algs *algorithms, magics * return nil, err } - if err := verifyHostKeySignature(hostKey, result); err != nil { + if err := verifyHostKeySignature(hostKey, t.algorithms.hostKey, result); err != nil { return nil, err } diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/kex.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/kex.go index 766e9293..927a90cd 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/kex.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/kex.go @@ -20,12 +20,14 @@ import ( ) const ( - kexAlgoDH1SHA1 = "diffie-hellman-group1-sha1" - kexAlgoDH14SHA1 = "diffie-hellman-group14-sha1" - kexAlgoECDH256 = "ecdh-sha2-nistp256" - kexAlgoECDH384 = "ecdh-sha2-nistp384" - kexAlgoECDH521 = "ecdh-sha2-nistp521" - kexAlgoCurve25519SHA256 = "curve25519-sha256@libssh.org" + kexAlgoDH1SHA1 = "diffie-hellman-group1-sha1" + kexAlgoDH14SHA1 = "diffie-hellman-group14-sha1" + kexAlgoDH14SHA256 = "diffie-hellman-group14-sha256" + kexAlgoECDH256 = "ecdh-sha2-nistp256" + kexAlgoECDH384 = "ecdh-sha2-nistp384" + kexAlgoECDH521 = "ecdh-sha2-nistp521" + kexAlgoCurve25519SHA256LibSSH = "curve25519-sha256@libssh.org" + kexAlgoCurve25519SHA256 = "curve25519-sha256" // For the following kex only the client half contains a production // ready implementation. The server half only consists of a minimal @@ -75,8 +77,9 @@ func (m *handshakeMagics) write(w io.Writer) { // kexAlgorithm abstracts different key exchange algorithms. type kexAlgorithm interface { // Server runs server-side key agreement, signing the result - // with a hostkey. - Server(p packetConn, rand io.Reader, magics *handshakeMagics, s Signer) (*kexResult, error) + // with a hostkey. algo is the negotiated algorithm, and may + // be a certificate type. + Server(p packetConn, rand io.Reader, magics *handshakeMagics, s AlgorithmSigner, algo string) (*kexResult, error) // Client runs the client-side key agreement. Caller is // responsible for verifying the host key signature. @@ -86,6 +89,7 @@ type kexAlgorithm interface { // dhGroup is a multiplicative group suitable for implementing Diffie-Hellman key agreement. type dhGroup struct { g, p, pMinus1 *big.Int + hashFunc crypto.Hash } func (group *dhGroup) diffieHellman(theirPublic, myPrivate *big.Int) (*big.Int, error) { @@ -96,8 +100,6 @@ func (group *dhGroup) diffieHellman(theirPublic, myPrivate *big.Int) (*big.Int, } func (group *dhGroup) Client(c packetConn, randSource io.Reader, magics *handshakeMagics) (*kexResult, error) { - hashFunc := crypto.SHA1 - var x *big.Int for { var err error @@ -132,7 +134,7 @@ func (group *dhGroup) Client(c packetConn, randSource io.Reader, magics *handsha return nil, err } - h := hashFunc.New() + h := group.hashFunc.New() magics.write(h) writeString(h, kexDHReply.HostKey) writeInt(h, X) @@ -146,12 +148,11 @@ func (group *dhGroup) Client(c packetConn, randSource io.Reader, magics *handsha K: K, HostKey: kexDHReply.HostKey, Signature: kexDHReply.Signature, - Hash: crypto.SHA1, + Hash: group.hashFunc, }, nil } -func (group *dhGroup) Server(c packetConn, randSource io.Reader, magics *handshakeMagics, priv Signer) (result *kexResult, err error) { - hashFunc := crypto.SHA1 +func (group *dhGroup) Server(c packetConn, randSource io.Reader, magics *handshakeMagics, priv AlgorithmSigner, algo string) (result *kexResult, err error) { packet, err := c.readPacket() if err != nil { return @@ -179,7 +180,7 @@ func (group *dhGroup) Server(c packetConn, randSource io.Reader, magics *handsha hostKeyBytes := priv.PublicKey().Marshal() - h := hashFunc.New() + h := group.hashFunc.New() magics.write(h) writeString(h, hostKeyBytes) writeInt(h, kexDHInit.X) @@ -193,7 +194,7 @@ func (group *dhGroup) Server(c packetConn, randSource io.Reader, magics *handsha // H is already a hash, but the hostkey signing will apply its // own key-specific hash algorithm. - sig, err := signAndMarshal(priv, randSource, H) + sig, err := signAndMarshal(priv, randSource, H, algo) if err != nil { return nil, err } @@ -211,7 +212,7 @@ func (group *dhGroup) Server(c packetConn, randSource io.Reader, magics *handsha K: K, HostKey: hostKeyBytes, Signature: sig, - Hash: crypto.SHA1, + Hash: group.hashFunc, }, err } @@ -314,7 +315,7 @@ func validateECPublicKey(curve elliptic.Curve, x, y *big.Int) bool { return true } -func (kex *ecdh) Server(c packetConn, rand io.Reader, magics *handshakeMagics, priv Signer) (result *kexResult, err error) { +func (kex *ecdh) Server(c packetConn, rand io.Reader, magics *handshakeMagics, priv AlgorithmSigner, algo string) (result *kexResult, err error) { packet, err := c.readPacket() if err != nil { return nil, err @@ -359,7 +360,7 @@ func (kex *ecdh) Server(c packetConn, rand io.Reader, magics *handshakeMagics, p // H is already a hash, but the hostkey signing will apply its // own key-specific hash algorithm. - sig, err := signAndMarshal(priv, rand, H) + sig, err := signAndMarshal(priv, rand, H, algo) if err != nil { return nil, err } @@ -384,39 +385,62 @@ func (kex *ecdh) Server(c packetConn, rand io.Reader, magics *handshakeMagics, p }, nil } +// ecHash returns the hash to match the given elliptic curve, see RFC +// 5656, section 6.2.1 +func ecHash(curve elliptic.Curve) crypto.Hash { + bitSize := curve.Params().BitSize + switch { + case bitSize <= 256: + return crypto.SHA256 + case bitSize <= 384: + return crypto.SHA384 + } + return crypto.SHA512 +} + var kexAlgoMap = map[string]kexAlgorithm{} func init() { - // This is the group called diffie-hellman-group1-sha1 in RFC - // 4253 and Oakley Group 2 in RFC 2409. + // This is the group called diffie-hellman-group1-sha1 in + // RFC 4253 and Oakley Group 2 in RFC 2409. p, _ := new(big.Int).SetString("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF", 16) kexAlgoMap[kexAlgoDH1SHA1] = &dhGroup{ - g: new(big.Int).SetInt64(2), - p: p, - pMinus1: new(big.Int).Sub(p, bigOne), + g: new(big.Int).SetInt64(2), + p: p, + pMinus1: new(big.Int).Sub(p, bigOne), + hashFunc: crypto.SHA1, } - // This is the group called diffie-hellman-group14-sha1 in RFC - // 4253 and Oakley Group 14 in RFC 3526. + // This are the groups called diffie-hellman-group14-sha1 and + // diffie-hellman-group14-sha256 in RFC 4253 and RFC 8268, + // and Oakley Group 14 in RFC 3526. p, _ = new(big.Int).SetString("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF", 16) - - kexAlgoMap[kexAlgoDH14SHA1] = &dhGroup{ + group14 := &dhGroup{ g: new(big.Int).SetInt64(2), p: p, pMinus1: new(big.Int).Sub(p, bigOne), } + kexAlgoMap[kexAlgoDH14SHA1] = &dhGroup{ + g: group14.g, p: group14.p, pMinus1: group14.pMinus1, + hashFunc: crypto.SHA1, + } + kexAlgoMap[kexAlgoDH14SHA256] = &dhGroup{ + g: group14.g, p: group14.p, pMinus1: group14.pMinus1, + hashFunc: crypto.SHA256, + } + kexAlgoMap[kexAlgoECDH521] = &ecdh{elliptic.P521()} kexAlgoMap[kexAlgoECDH384] = &ecdh{elliptic.P384()} kexAlgoMap[kexAlgoECDH256] = &ecdh{elliptic.P256()} kexAlgoMap[kexAlgoCurve25519SHA256] = &curve25519sha256{} + kexAlgoMap[kexAlgoCurve25519SHA256LibSSH] = &curve25519sha256{} kexAlgoMap[kexAlgoDHGEXSHA1] = &dhGEXSHA{hashFunc: crypto.SHA1} kexAlgoMap[kexAlgoDHGEXSHA256] = &dhGEXSHA{hashFunc: crypto.SHA256} } -// curve25519sha256 implements the curve25519-sha256@libssh.org key -// agreement protocol, as described in -// https://git.libssh.org/projects/libssh.git/tree/doc/curve25519-sha256@libssh.org.txt +// curve25519sha256 implements the curve25519-sha256 (formerly known as +// curve25519-sha256@libssh.org) key exchange method, as described in RFC 8731. type curve25519sha256 struct{} type curve25519KeyPair struct { @@ -486,7 +510,7 @@ func (kex *curve25519sha256) Client(c packetConn, rand io.Reader, magics *handsh }, nil } -func (kex *curve25519sha256) Server(c packetConn, rand io.Reader, magics *handshakeMagics, priv Signer) (result *kexResult, err error) { +func (kex *curve25519sha256) Server(c packetConn, rand io.Reader, magics *handshakeMagics, priv AlgorithmSigner, algo string) (result *kexResult, err error) { packet, err := c.readPacket() if err != nil { return @@ -527,7 +551,7 @@ func (kex *curve25519sha256) Server(c packetConn, rand io.Reader, magics *handsh H := h.Sum(nil) - sig, err := signAndMarshal(priv, rand, H) + sig, err := signAndMarshal(priv, rand, H, algo) if err != nil { return nil, err } @@ -553,7 +577,6 @@ func (kex *curve25519sha256) Server(c packetConn, rand io.Reader, magics *handsh // diffie-hellman-group-exchange-sha256 key agreement protocols, // as described in RFC 4419 type dhGEXSHA struct { - g, p *big.Int hashFunc crypto.Hash } @@ -563,14 +586,7 @@ const ( dhGroupExchangeMaximumBits = 8192 ) -func (gex *dhGEXSHA) diffieHellman(theirPublic, myPrivate *big.Int) (*big.Int, error) { - if theirPublic.Sign() <= 0 || theirPublic.Cmp(gex.p) >= 0 { - return nil, fmt.Errorf("ssh: DH parameter out of bounds") - } - return new(big.Int).Exp(theirPublic, myPrivate, gex.p), nil -} - -func (gex dhGEXSHA) Client(c packetConn, randSource io.Reader, magics *handshakeMagics) (*kexResult, error) { +func (gex *dhGEXSHA) Client(c packetConn, randSource io.Reader, magics *handshakeMagics) (*kexResult, error) { // Send GexRequest kexDHGexRequest := kexDHGexRequestMsg{ MinBits: dhGroupExchangeMinimumBits, @@ -587,35 +603,29 @@ func (gex dhGEXSHA) Client(c packetConn, randSource io.Reader, magics *handshake return nil, err } - var kexDHGexGroup kexDHGexGroupMsg - if err = Unmarshal(packet, &kexDHGexGroup); err != nil { + var msg kexDHGexGroupMsg + if err = Unmarshal(packet, &msg); err != nil { return nil, err } // reject if p's bit length < dhGroupExchangeMinimumBits or > dhGroupExchangeMaximumBits - if kexDHGexGroup.P.BitLen() < dhGroupExchangeMinimumBits || kexDHGexGroup.P.BitLen() > dhGroupExchangeMaximumBits { - return nil, fmt.Errorf("ssh: server-generated gex p is out of range (%d bits)", kexDHGexGroup.P.BitLen()) + if msg.P.BitLen() < dhGroupExchangeMinimumBits || msg.P.BitLen() > dhGroupExchangeMaximumBits { + return nil, fmt.Errorf("ssh: server-generated gex p is out of range (%d bits)", msg.P.BitLen()) } - gex.p = kexDHGexGroup.P - gex.g = kexDHGexGroup.G - - // Check if g is safe by verifing that g > 1 and g < p - 1 - one := big.NewInt(1) - var pMinusOne = &big.Int{} - pMinusOne.Sub(gex.p, one) - if gex.g.Cmp(one) != 1 && gex.g.Cmp(pMinusOne) != -1 { + // Check if g is safe by verifying that 1 < g < p-1 + pMinusOne := new(big.Int).Sub(msg.P, bigOne) + if msg.G.Cmp(bigOne) <= 0 || msg.G.Cmp(pMinusOne) >= 0 { return nil, fmt.Errorf("ssh: server provided gex g is not safe") } // Send GexInit - var pHalf = &big.Int{} - pHalf.Rsh(gex.p, 1) + pHalf := new(big.Int).Rsh(msg.P, 1) x, err := rand.Int(randSource, pHalf) if err != nil { return nil, err } - X := new(big.Int).Exp(gex.g, x, gex.p) + X := new(big.Int).Exp(msg.G, x, msg.P) kexDHGexInit := kexDHGexInitMsg{ X: X, } @@ -634,13 +644,13 @@ func (gex dhGEXSHA) Client(c packetConn, randSource io.Reader, magics *handshake return nil, err } - kInt, err := gex.diffieHellman(kexDHGexReply.Y, x) - if err != nil { - return nil, err + if kexDHGexReply.Y.Cmp(bigOne) <= 0 || kexDHGexReply.Y.Cmp(pMinusOne) >= 0 { + return nil, errors.New("ssh: DH parameter out of bounds") } + kInt := new(big.Int).Exp(kexDHGexReply.Y, x, msg.P) - // Check if k is safe by verifing that k > 1 and k < p - 1 - if kInt.Cmp(one) != 1 && kInt.Cmp(pMinusOne) != -1 { + // Check if k is safe by verifying that k > 1 and k < p - 1 + if kInt.Cmp(bigOne) <= 0 || kInt.Cmp(pMinusOne) >= 0 { return nil, fmt.Errorf("ssh: derived k is not safe") } @@ -650,8 +660,8 @@ func (gex dhGEXSHA) Client(c packetConn, randSource io.Reader, magics *handshake binary.Write(h, binary.BigEndian, uint32(dhGroupExchangeMinimumBits)) binary.Write(h, binary.BigEndian, uint32(dhGroupExchangePreferredBits)) binary.Write(h, binary.BigEndian, uint32(dhGroupExchangeMaximumBits)) - writeInt(h, gex.p) - writeInt(h, gex.g) + writeInt(h, msg.P) + writeInt(h, msg.G) writeInt(h, X) writeInt(h, kexDHGexReply.Y) K := make([]byte, intLength(kInt)) @@ -670,7 +680,7 @@ func (gex dhGEXSHA) Client(c packetConn, randSource io.Reader, magics *handshake // Server half implementation of the Diffie Hellman Key Exchange with SHA1 and SHA256. // // This is a minimal implementation to satisfy the automated tests. -func (gex dhGEXSHA) Server(c packetConn, randSource io.Reader, magics *handshakeMagics, priv Signer) (result *kexResult, err error) { +func (gex dhGEXSHA) Server(c packetConn, randSource io.Reader, magics *handshakeMagics, priv AlgorithmSigner, algo string) (result *kexResult, err error) { // Receive GexRequest packet, err := c.readPacket() if err != nil { @@ -681,35 +691,17 @@ func (gex dhGEXSHA) Server(c packetConn, randSource io.Reader, magics *handshake return } - // smoosh the user's preferred size into our own limits - if kexDHGexRequest.PreferedBits > dhGroupExchangeMaximumBits { - kexDHGexRequest.PreferedBits = dhGroupExchangeMaximumBits - } - if kexDHGexRequest.PreferedBits < dhGroupExchangeMinimumBits { - kexDHGexRequest.PreferedBits = dhGroupExchangeMinimumBits - } - // fix min/max if they're inconsistent. technically, we could just pout - // and hang up, but there's no harm in giving them the benefit of the - // doubt and just picking a bitsize for them. - if kexDHGexRequest.MinBits > kexDHGexRequest.PreferedBits { - kexDHGexRequest.MinBits = kexDHGexRequest.PreferedBits - } - if kexDHGexRequest.MaxBits < kexDHGexRequest.PreferedBits { - kexDHGexRequest.MaxBits = kexDHGexRequest.PreferedBits - } - // Send GexGroup // This is the group called diffie-hellman-group14-sha1 in RFC // 4253 and Oakley Group 14 in RFC 3526. p, _ := new(big.Int).SetString("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF", 16) - gex.p = p - gex.g = big.NewInt(2) + g := big.NewInt(2) - kexDHGexGroup := kexDHGexGroupMsg{ - P: gex.p, - G: gex.g, + msg := &kexDHGexGroupMsg{ + P: p, + G: g, } - if err := c.writePacket(Marshal(&kexDHGexGroup)); err != nil { + if err := c.writePacket(Marshal(msg)); err != nil { return nil, err } @@ -723,19 +715,19 @@ func (gex dhGEXSHA) Server(c packetConn, randSource io.Reader, magics *handshake return } - var pHalf = &big.Int{} - pHalf.Rsh(gex.p, 1) + pHalf := new(big.Int).Rsh(p, 1) y, err := rand.Int(randSource, pHalf) if err != nil { return } + Y := new(big.Int).Exp(g, y, p) - Y := new(big.Int).Exp(gex.g, y, gex.p) - kInt, err := gex.diffieHellman(kexDHGexInit.X, y) - if err != nil { - return nil, err + pMinusOne := new(big.Int).Sub(p, bigOne) + if kexDHGexInit.X.Cmp(bigOne) <= 0 || kexDHGexInit.X.Cmp(pMinusOne) >= 0 { + return nil, errors.New("ssh: DH parameter out of bounds") } + kInt := new(big.Int).Exp(kexDHGexInit.X, y, p) hostKeyBytes := priv.PublicKey().Marshal() @@ -745,8 +737,8 @@ func (gex dhGEXSHA) Server(c packetConn, randSource io.Reader, magics *handshake binary.Write(h, binary.BigEndian, uint32(dhGroupExchangeMinimumBits)) binary.Write(h, binary.BigEndian, uint32(dhGroupExchangePreferredBits)) binary.Write(h, binary.BigEndian, uint32(dhGroupExchangeMaximumBits)) - writeInt(h, gex.p) - writeInt(h, gex.g) + writeInt(h, p) + writeInt(h, g) writeInt(h, kexDHGexInit.X) writeInt(h, Y) @@ -758,7 +750,7 @@ func (gex dhGEXSHA) Server(c packetConn, randSource io.Reader, magics *handshake // H is already a hash, but the hostkey signing will apply its // own key-specific hash algorithm. - sig, err := signAndMarshal(priv, randSource, H) + sig, err := signAndMarshal(priv, randSource, H, algo) if err != nil { return nil, err } diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/keys.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/keys.go index 31f26349..1c7de1a6 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/keys.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/keys.go @@ -30,8 +30,9 @@ import ( "golang.org/x/crypto/ssh/internal/bcrypt_pbkdf" ) -// These constants represent the algorithm names for key types supported by this -// package. +// Public key algorithms names. These values can appear in PublicKey.Type, +// ClientConfig.HostKeyAlgorithms, Signature.Format, or as AlgorithmSigner +// arguments. const ( KeyAlgoRSA = "ssh-rsa" KeyAlgoDSA = "ssh-dss" @@ -41,16 +42,21 @@ const ( KeyAlgoECDSA521 = "ecdsa-sha2-nistp521" KeyAlgoED25519 = "ssh-ed25519" KeyAlgoSKED25519 = "sk-ssh-ed25519@openssh.com" + + // KeyAlgoRSASHA256 and KeyAlgoRSASHA512 are only public key algorithms, not + // public key formats, so they can't appear as a PublicKey.Type. The + // corresponding PublicKey.Type is KeyAlgoRSA. See RFC 8332, Section 2. + KeyAlgoRSASHA256 = "rsa-sha2-256" + KeyAlgoRSASHA512 = "rsa-sha2-512" ) -// These constants represent non-default signature algorithms that are supported -// as algorithm parameters to AlgorithmSigner.SignWithAlgorithm methods. See -// [PROTOCOL.agent] section 4.5.1 and -// https://tools.ietf.org/html/draft-ietf-curdle-rsa-sha2-10 const ( - SigAlgoRSA = "ssh-rsa" - SigAlgoRSASHA2256 = "rsa-sha2-256" - SigAlgoRSASHA2512 = "rsa-sha2-512" + // Deprecated: use KeyAlgoRSA. + SigAlgoRSA = KeyAlgoRSA + // Deprecated: use KeyAlgoRSASHA256. + SigAlgoRSASHA2256 = KeyAlgoRSASHA256 + // Deprecated: use KeyAlgoRSASHA512. + SigAlgoRSASHA2512 = KeyAlgoRSASHA512 ) // parsePubKey parses a public key of the given algorithm. @@ -70,7 +76,7 @@ func parsePubKey(in []byte, algo string) (pubKey PublicKey, rest []byte, err err case KeyAlgoSKED25519: return parseSKEd25519(in) case CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoSKECDSA256v01, CertAlgoED25519v01, CertAlgoSKED25519v01: - cert, err := parseCert(in, certToPrivAlgo(algo)) + cert, err := parseCert(in, certKeyAlgoNames[algo]) if err != nil { return nil, nil, err } @@ -289,18 +295,21 @@ func MarshalAuthorizedKey(key PublicKey) []byte { return b.Bytes() } -// PublicKey is an abstraction of different types of public keys. +// PublicKey represents a public key using an unspecified algorithm. +// +// Some PublicKeys provided by this package also implement CryptoPublicKey. type PublicKey interface { - // Type returns the key's type, e.g. "ssh-rsa". + // Type returns the key format name, e.g. "ssh-rsa". Type() string - // Marshal returns the serialized key data in SSH wire format, - // with the name prefix. To unmarshal the returned data, use - // the ParsePublicKey function. + // Marshal returns the serialized key data in SSH wire format, with the name + // prefix. To unmarshal the returned data, use the ParsePublicKey function. Marshal() []byte - // Verify that sig is a signature on the given data using this - // key. This function will hash the data appropriately first. + // Verify that sig is a signature on the given data using this key. This + // method will hash the data appropriately first. sig.Format is allowed to + // be any signature algorithm compatible with the key type, the caller + // should check if it has more stringent requirements. Verify(data []byte, sig *Signature) error } @@ -311,25 +320,32 @@ type CryptoPublicKey interface { } // A Signer can create signatures that verify against a public key. +// +// Some Signers provided by this package also implement AlgorithmSigner. type Signer interface { - // PublicKey returns an associated PublicKey instance. + // PublicKey returns the associated PublicKey. PublicKey() PublicKey - // Sign returns raw signature for the given data. This method - // will apply the hash specified for the keytype to the data. + // Sign returns a signature for the given data. This method will hash the + // data appropriately first. The signature algorithm is expected to match + // the key format returned by the PublicKey.Type method (and not to be any + // alternative algorithm supported by the key format). Sign(rand io.Reader, data []byte) (*Signature, error) } -// A AlgorithmSigner is a Signer that also supports specifying a specific -// algorithm to use for signing. +// An AlgorithmSigner is a Signer that also supports specifying an algorithm to +// use for signing. +// +// An AlgorithmSigner can't advertise the algorithms it supports, so it should +// be prepared to be invoked with every algorithm supported by the public key +// format. type AlgorithmSigner interface { Signer - // SignWithAlgorithm is like Signer.Sign, but allows specification of a - // non-default signing algorithm. See the SigAlgo* constants in this - // package for signature algorithms supported by this package. Callers may - // pass an empty string for the algorithm in which case the AlgorithmSigner - // will use its default algorithm. + // SignWithAlgorithm is like Signer.Sign, but allows specifying a desired + // signing algorithm. Callers may pass an empty string for the algorithm in + // which case the AlgorithmSigner will use a default algorithm. This default + // doesn't currently control any behavior in this package. SignWithAlgorithm(rand io.Reader, data []byte, algorithm string) (*Signature, error) } @@ -381,17 +397,11 @@ func (r *rsaPublicKey) Marshal() []byte { } func (r *rsaPublicKey) Verify(data []byte, sig *Signature) error { - var hash crypto.Hash - switch sig.Format { - case SigAlgoRSA: - hash = crypto.SHA1 - case SigAlgoRSASHA2256: - hash = crypto.SHA256 - case SigAlgoRSASHA2512: - hash = crypto.SHA512 - default: + supportedAlgos := algorithmsForKeyFormat(r.Type()) + if !contains(supportedAlgos, sig.Format) { return fmt.Errorf("ssh: signature type %s for key type %s", sig.Format, r.Type()) } + hash := hashFuncs[sig.Format] h := hash.New() h.Write(data) digest := h.Sum(nil) @@ -466,7 +476,7 @@ func (k *dsaPublicKey) Verify(data []byte, sig *Signature) error { if sig.Format != k.Type() { return fmt.Errorf("ssh: signature type %s for key type %s", sig.Format, k.Type()) } - h := crypto.SHA1.New() + h := hashFuncs[sig.Format].New() h.Write(data) digest := h.Sum(nil) @@ -499,7 +509,7 @@ func (k *dsaPrivateKey) PublicKey() PublicKey { } func (k *dsaPrivateKey) Sign(rand io.Reader, data []byte) (*Signature, error) { - return k.SignWithAlgorithm(rand, data, "") + return k.SignWithAlgorithm(rand, data, k.PublicKey().Type()) } func (k *dsaPrivateKey) SignWithAlgorithm(rand io.Reader, data []byte, algorithm string) (*Signature, error) { @@ -507,7 +517,7 @@ func (k *dsaPrivateKey) SignWithAlgorithm(rand io.Reader, data []byte, algorithm return nil, fmt.Errorf("ssh: unsupported signature algorithm %s", algorithm) } - h := crypto.SHA1.New() + h := hashFuncs[k.PublicKey().Type()].New() h.Write(data) digest := h.Sum(nil) r, s, err := dsa.Sign(rand, k.PrivateKey, digest) @@ -603,19 +613,6 @@ func supportedEllipticCurve(curve elliptic.Curve) bool { return curve == elliptic.P256() || curve == elliptic.P384() || curve == elliptic.P521() } -// ecHash returns the hash to match the given elliptic curve, see RFC -// 5656, section 6.2.1 -func ecHash(curve elliptic.Curve) crypto.Hash { - bitSize := curve.Params().BitSize - switch { - case bitSize <= 256: - return crypto.SHA256 - case bitSize <= 384: - return crypto.SHA384 - } - return crypto.SHA512 -} - // parseECDSA parses an ECDSA key according to RFC 5656, section 3.1. func parseECDSA(in []byte) (out PublicKey, rest []byte, err error) { var w struct { @@ -671,7 +668,7 @@ func (k *ecdsaPublicKey) Verify(data []byte, sig *Signature) error { return fmt.Errorf("ssh: signature type %s for key type %s", sig.Format, k.Type()) } - h := ecHash(k.Curve).New() + h := hashFuncs[sig.Format].New() h.Write(data) digest := h.Sum(nil) @@ -775,7 +772,7 @@ func (k *skECDSAPublicKey) Verify(data []byte, sig *Signature) error { return fmt.Errorf("ssh: signature type %s for key type %s", sig.Format, k.Type()) } - h := ecHash(k.Curve).New() + h := hashFuncs[sig.Format].New() h.Write([]byte(k.application)) appDigest := h.Sum(nil) @@ -874,7 +871,7 @@ func (k *skEd25519PublicKey) Verify(data []byte, sig *Signature) error { return fmt.Errorf("invalid size %d for Ed25519 public key", l) } - h := sha256.New() + h := hashFuncs[sig.Format].New() h.Write([]byte(k.application)) appDigest := h.Sum(nil) @@ -961,44 +958,20 @@ func (s *wrappedSigner) PublicKey() PublicKey { } func (s *wrappedSigner) Sign(rand io.Reader, data []byte) (*Signature, error) { - return s.SignWithAlgorithm(rand, data, "") + return s.SignWithAlgorithm(rand, data, s.pubKey.Type()) } func (s *wrappedSigner) SignWithAlgorithm(rand io.Reader, data []byte, algorithm string) (*Signature, error) { - var hashFunc crypto.Hash - - if _, ok := s.pubKey.(*rsaPublicKey); ok { - // RSA keys support a few hash functions determined by the requested signature algorithm - switch algorithm { - case "", SigAlgoRSA: - algorithm = SigAlgoRSA - hashFunc = crypto.SHA1 - case SigAlgoRSASHA2256: - hashFunc = crypto.SHA256 - case SigAlgoRSASHA2512: - hashFunc = crypto.SHA512 - default: - return nil, fmt.Errorf("ssh: unsupported signature algorithm %s", algorithm) - } - } else { - // The only supported algorithm for all other key types is the same as the type of the key - if algorithm == "" { - algorithm = s.pubKey.Type() - } else if algorithm != s.pubKey.Type() { - return nil, fmt.Errorf("ssh: unsupported signature algorithm %s", algorithm) - } + if algorithm == "" { + algorithm = s.pubKey.Type() + } - switch key := s.pubKey.(type) { - case *dsaPublicKey: - hashFunc = crypto.SHA1 - case *ecdsaPublicKey: - hashFunc = ecHash(key.Curve) - case ed25519PublicKey: - default: - return nil, fmt.Errorf("ssh: unsupported key type %T", key) - } + supportedAlgos := algorithmsForKeyFormat(s.pubKey.Type()) + if !contains(supportedAlgos, algorithm) { + return nil, fmt.Errorf("ssh: unsupported signature algorithm %q for key format %q", algorithm, s.pubKey.Type()) } + hashFunc := hashFuncs[algorithm] var digest []byte if hashFunc != 0 { h := hashFunc.New() diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/messages.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/messages.go index ac41a416..19bc67c4 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/messages.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/messages.go @@ -141,6 +141,14 @@ type serviceAcceptMsg struct { Service string `sshtype:"6"` } +// See RFC 8308, section 2.3 +const msgExtInfo = 7 + +type extInfoMsg struct { + NumExtensions uint32 `sshtype:"7"` + Payload []byte `ssh:"rest"` +} + // See RFC 4252, section 5. const msgUserAuthRequest = 50 @@ -180,11 +188,11 @@ const msgUserAuthInfoRequest = 60 const msgUserAuthInfoResponse = 61 type userAuthInfoRequestMsg struct { - User string `sshtype:"60"` - Instruction string - DeprecatedLanguage string - NumPrompts uint32 - Prompts []byte `ssh:"rest"` + Name string `sshtype:"60"` + Instruction string + Language string + NumPrompts uint32 + Prompts []byte `ssh:"rest"` } // See RFC 4254, section 5.1. @@ -782,6 +790,8 @@ func decode(packet []byte) (interface{}, error) { msg = new(serviceRequestMsg) case msgServiceAccept: msg = new(serviceAcceptMsg) + case msgExtInfo: + msg = new(extInfoMsg) case msgKexInit: msg = new(kexInitMsg) case msgKexDHInit: @@ -843,6 +853,7 @@ var packetTypeNames = map[byte]string{ msgDisconnect: "disconnectMsg", msgServiceRequest: "serviceRequestMsg", msgServiceAccept: "serviceAcceptMsg", + msgExtInfo: "extInfoMsg", msgKexInit: "kexInitMsg", msgKexDHInit: "kexDHInitMsg", msgKexDHReply: "kexDHReplyMsg", diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/server.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/server.go index b6911e83..70045bdf 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/server.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/server.go @@ -120,7 +120,7 @@ type ServerConfig struct { } // AddHostKey adds a private key as a host key. If an existing host -// key exists with the same algorithm, it is overwritten. Each server +// key exists with the same public key format, it is replaced. Each server // config must have at least one host key. func (s *ServerConfig) AddHostKey(key Signer) { for i, k := range s.hostKeys { @@ -212,9 +212,10 @@ func NewServerConn(c net.Conn, config *ServerConfig) (*ServerConn, <-chan NewCha } // signAndMarshal signs the data with the appropriate algorithm, -// and serializes the result in SSH wire format. -func signAndMarshal(k Signer, rand io.Reader, data []byte) ([]byte, error) { - sig, err := k.Sign(rand, data) +// and serializes the result in SSH wire format. algo is the negotiate +// algorithm and may be a certificate type. +func signAndMarshal(k AlgorithmSigner, rand io.Reader, data []byte, algo string) ([]byte, error) { + sig, err := k.SignWithAlgorithm(rand, data, underlyingAlgo(algo)) if err != nil { return nil, err } @@ -284,7 +285,7 @@ func (s *connection) serverHandshake(config *ServerConfig) (*Permissions, error) func isAcceptableAlgo(algo string) bool { switch algo { - case KeyAlgoRSA, KeyAlgoDSA, KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521, KeyAlgoSKECDSA256, KeyAlgoED25519, KeyAlgoSKED25519, + case KeyAlgoRSA, KeyAlgoRSASHA256, KeyAlgoRSASHA512, KeyAlgoDSA, KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521, KeyAlgoSKECDSA256, KeyAlgoED25519, KeyAlgoSKED25519, CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoSKECDSA256v01, CertAlgoED25519v01, CertAlgoSKED25519v01: return true } @@ -553,6 +554,7 @@ userAuthLoop: if !ok || len(payload) > 0 { return nil, parseError(msgUserAuthRequest) } + // Ensure the public key algo and signature algo // are supported. Compare the private key // algorithm name that corresponds to algo with @@ -562,7 +564,12 @@ userAuthLoop: authErr = fmt.Errorf("ssh: algorithm %q not accepted", sig.Format) break } - signedData := buildDataSignedForAuth(sessionID, userAuthReq, algoBytes, pubKeyData) + if underlyingAlgo(algo) != sig.Format { + authErr = fmt.Errorf("ssh: signature %q not compatible with selected algorithm %q", sig.Format, algo) + break + } + + signedData := buildDataSignedForAuth(sessionID, userAuthReq, algo, pubKeyData) if err := pubKey.Verify(signedData, sig); err != nil { return nil, err @@ -633,6 +640,30 @@ userAuthLoop: } authFailures++ + if config.MaxAuthTries > 0 && authFailures >= config.MaxAuthTries { + // If we have hit the max attempts, don't bother sending the + // final SSH_MSG_USERAUTH_FAILURE message, since there are + // no more authentication methods which can be attempted, + // and this message may cause the client to re-attempt + // authentication while we send the disconnect message. + // Continue, and trigger the disconnect at the start of + // the loop. + // + // The SSH specification is somewhat confusing about this, + // RFC 4252 Section 5.1 requires each authentication failure + // be responded to with a respective SSH_MSG_USERAUTH_FAILURE + // message, but Section 4 says the server should disconnect + // after some number of attempts, but it isn't explicit which + // message should take precedence (i.e. should there be a failure + // message than a disconnect message, or if we are going to + // disconnect, should we only send that message.) + // + // Either way, OpenSSH disconnects immediately after the last + // failed authnetication attempt, and given they are typically + // considered the golden implementation it seems reasonable + // to match that behavior. + continue + } var failureMsg userAuthFailureMsg if config.PasswordCallback != nil { @@ -670,7 +701,7 @@ type sshClientKeyboardInteractive struct { *connection } -func (c *sshClientKeyboardInteractive) Challenge(user, instruction string, questions []string, echos []bool) (answers []string, err error) { +func (c *sshClientKeyboardInteractive) Challenge(name, instruction string, questions []string, echos []bool) (answers []string, err error) { if len(questions) != len(echos) { return nil, errors.New("ssh: echos and questions must have equal length") } @@ -682,6 +713,7 @@ func (c *sshClientKeyboardInteractive) Challenge(user, instruction string, quest } if err := c.transport.writePacket(Marshal(&userAuthInfoRequestMsg{ + Name: name, Instruction: instruction, NumPrompts: uint32(len(questions)), Prompts: prompts, diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/session.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/session.go index d3321f6b..eca31a22 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/session.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/session.go @@ -85,6 +85,7 @@ const ( IXANY = 39 IXOFF = 40 IMAXBEL = 41 + IUTF8 = 42 // RFC 8160 ISIG = 50 ICANON = 51 XCASE = 52 diff --git a/cmd/sync/vendor/golang.org/x/crypto/ssh/transport.go b/cmd/sync/vendor/golang.org/x/crypto/ssh/transport.go index 49ddc2e7..acf5a21b 100644 --- a/cmd/sync/vendor/golang.org/x/crypto/ssh/transport.go +++ b/cmd/sync/vendor/golang.org/x/crypto/ssh/transport.go @@ -238,15 +238,19 @@ var ( // (to setup server->client keys) or clientKeys (for client->server keys). func newPacketCipher(d direction, algs directionAlgorithms, kex *kexResult) (packetCipher, error) { cipherMode := cipherModes[algs.Cipher] - macMode := macModes[algs.MAC] iv := make([]byte, cipherMode.ivSize) key := make([]byte, cipherMode.keySize) - macKey := make([]byte, macMode.keySize) generateKeyMaterial(iv, d.ivTag, kex) generateKeyMaterial(key, d.keyTag, kex) - generateKeyMaterial(macKey, d.macKeyTag, kex) + + var macKey []byte + if !aeadCiphers[algs.Cipher] { + macMode := macModes[algs.MAC] + macKey = make([]byte, macMode.keySize) + generateKeyMaterial(macKey, d.macKeyTag, kex) + } return cipherModes[algs.Cipher].create(key, iv, macKey, algs) } diff --git a/cmd/sync/vendor/golang.org/x/sys/cpu/cpu.go b/cmd/sync/vendor/golang.org/x/sys/cpu/cpu.go index b56886f2..abbec2d4 100644 --- a/cmd/sync/vendor/golang.org/x/sys/cpu/cpu.go +++ b/cmd/sync/vendor/golang.org/x/sys/cpu/cpu.go @@ -56,7 +56,6 @@ var X86 struct { HasAVX512BF16 bool // Advanced vector extension 512 BFloat16 Instructions HasBMI1 bool // Bit manipulation instruction set 1 HasBMI2 bool // Bit manipulation instruction set 2 - HasCX16 bool // Compare and exchange 16 Bytes HasERMS bool // Enhanced REP for MOVSB and STOSB HasFMA bool // Fused-multiply-add instructions HasOSXSAVE bool // OS supports XSAVE/XRESTOR for saving/restoring XMM registers. diff --git a/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go b/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go index fa7cdb9b..3298a87e 100644 --- a/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go +++ b/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go @@ -15,3 +15,7 @@ func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) // xgetbv with ecx = 0 is implemented in cpu_x86.s for gc compiler // and in cpu_gccgo.c for gccgo. func xgetbv() (eax, edx uint32) + +// darwinSupportsAVX512 is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo_x86.go for gccgo. +func darwinSupportsAVX512() bool diff --git a/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_x86.go b/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_x86.go index f5aacfc8..54ca4667 100644 --- a/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_x86.go +++ b/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_x86.go @@ -39,7 +39,6 @@ func initOptions() { {Name: "avx512bf16", Feature: &X86.HasAVX512BF16}, {Name: "bmi1", Feature: &X86.HasBMI1}, {Name: "bmi2", Feature: &X86.HasBMI2}, - {Name: "cx16", Feature: &X86.HasCX16}, {Name: "erms", Feature: &X86.HasERMS}, {Name: "fma", Feature: &X86.HasFMA}, {Name: "osxsave", Feature: &X86.HasOSXSAVE}, @@ -74,7 +73,6 @@ func archInit() { X86.HasPCLMULQDQ = isSet(1, ecx1) X86.HasSSSE3 = isSet(9, ecx1) X86.HasFMA = isSet(12, ecx1) - X86.HasCX16 = isSet(13, ecx1) X86.HasSSE41 = isSet(19, ecx1) X86.HasSSE42 = isSet(20, ecx1) X86.HasPOPCNT = isSet(23, ecx1) @@ -90,10 +88,9 @@ func archInit() { osSupportsAVX = isSet(1, eax) && isSet(2, eax) if runtime.GOOS == "darwin" { - // Darwin doesn't save/restore AVX-512 mask registers correctly across signal handlers. - // Since users can't rely on mask register contents, let's not advertise AVX-512 support. - // See issue 49233. - osSupportsAVX512 = false + // Check darwin commpage for AVX512 support. Necessary because: + // https://github.com/apple/darwin-xnu/blob/0a798f6738bc1db01281fc08ae024145e84df927/osfmk/i386/fpu.c#L175-L201 + osSupportsAVX512 = osSupportsAVX && darwinSupportsAVX512() } else { // Check if OPMASK and ZMM registers have OS support. osSupportsAVX512 = osSupportsAVX && isSet(5, eax) && isSet(6, eax) && isSet(7, eax) diff --git a/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_x86.s b/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_x86.s index 39acab2f..b748ba52 100644 --- a/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_x86.s +++ b/cmd/sync/vendor/golang.org/x/sys/cpu/cpu_x86.s @@ -26,3 +26,27 @@ TEXT ·xgetbv(SB),NOSPLIT,$0-8 MOVL AX, eax+0(FP) MOVL DX, edx+4(FP) RET + +// func darwinSupportsAVX512() bool +TEXT ·darwinSupportsAVX512(SB), NOSPLIT, $0-1 + MOVB $0, ret+0(FP) // default to false +#ifdef GOOS_darwin // return if not darwin +#ifdef GOARCH_amd64 // return if not amd64 +// These values from: +// https://github.com/apple/darwin-xnu/blob/xnu-4570.1.46/osfmk/i386/cpu_capabilities.h +#define commpage64_base_address 0x00007fffffe00000 +#define commpage64_cpu_capabilities64 (commpage64_base_address+0x010) +#define commpage64_version (commpage64_base_address+0x01E) +#define hasAVX512F 0x0000004000000000 + MOVQ $commpage64_version, BX + CMPW (BX), $13 // cpu_capabilities64 undefined in versions < 13 + JL no_avx512 + MOVQ $commpage64_cpu_capabilities64, BX + MOVQ $hasAVX512F, CX + TESTQ (BX), CX + JZ no_avx512 + MOVB $1, ret+0(FP) +no_avx512: +#endif +#endif + RET diff --git a/cmd/sync/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go b/cmd/sync/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go index 96134157..a864f24d 100644 --- a/cmd/sync/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go +++ b/cmd/sync/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go @@ -5,7 +5,7 @@ // Recreate a getsystemcfg syscall handler instead of // using the one provided by x/sys/unix to avoid having // the dependency between them. (See golang.org/issue/32102) -// Moreover, this file will be used during the building of +// Morever, this file will be used during the building of // gccgo's libgo and thus must not used a CGo method. //go:build aix && gccgo diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/README.md b/cmd/sync/vendor/golang.org/x/sys/unix/README.md index 7d3c060e..474efad0 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/README.md +++ b/cmd/sync/vendor/golang.org/x/sys/unix/README.md @@ -149,7 +149,7 @@ To add a constant, add the header that includes it to the appropriate variable. Then, edit the regex (if necessary) to match the desired constant. Avoid making the regex too broad to avoid matching unintended constants. -### internal/mkmerge +### mkmerge.go This program is used to extract duplicate const, func, and type declarations from the generated architecture-specific files listed below, and merge these diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ifreq_linux.go b/cmd/sync/vendor/golang.org/x/sys/unix/ifreq_linux.go deleted file mode 100644 index 934af313..00000000 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ifreq_linux.go +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright 2021 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. - -//go:build linux -// +build linux - -package unix - -import ( - "bytes" - "unsafe" -) - -// Helpers for dealing with ifreq since it contains a union and thus requires a -// lot of unsafe.Pointer casts to use properly. - -// An Ifreq is a type-safe wrapper around the raw ifreq struct. An Ifreq -// contains an interface name and a union of arbitrary data which can be -// accessed using the Ifreq's methods. To create an Ifreq, use the NewIfreq -// function. -// -// Use the Name method to access the stored interface name. The union data -// fields can be get and set using the following methods: -// - Uint16/SetUint16: flags -// - Uint32/SetUint32: ifindex, metric, mtu -type Ifreq struct{ raw ifreq } - -// NewIfreq creates an Ifreq with the input network interface name after -// validating the name does not exceed IFNAMSIZ-1 (trailing NULL required) -// bytes. -func NewIfreq(name string) (*Ifreq, error) { - // Leave room for terminating NULL byte. - if len(name) >= IFNAMSIZ { - return nil, EINVAL - } - - var ifr ifreq - copy(ifr.Ifrn[:], name) - - return &Ifreq{raw: ifr}, nil -} - -// TODO(mdlayher): get/set methods for hardware address sockaddr, char array, etc. - -// Name returns the interface name associated with the Ifreq. -func (ifr *Ifreq) Name() string { - // BytePtrToString requires a NULL terminator or the program may crash. If - // one is not present, just return the empty string. - if !bytes.Contains(ifr.raw.Ifrn[:], []byte{0x00}) { - return "" - } - - return BytePtrToString(&ifr.raw.Ifrn[0]) -} - -// According to netdevice(7), only AF_INET addresses are returned for numerous -// sockaddr ioctls. For convenience, we expose these as Inet4Addr since the Port -// field and other data is always empty. - -// Inet4Addr returns the Ifreq union data from an embedded sockaddr as a C -// in_addr/Go []byte (4-byte IPv4 address) value. If the sockaddr family is not -// AF_INET, an error is returned. -func (ifr *Ifreq) Inet4Addr() ([]byte, error) { - raw := *(*RawSockaddrInet4)(unsafe.Pointer(&ifr.raw.Ifru[:SizeofSockaddrInet4][0])) - if raw.Family != AF_INET { - // Cannot safely interpret raw.Addr bytes as an IPv4 address. - return nil, EINVAL - } - - return raw.Addr[:], nil -} - -// SetInet4Addr sets a C in_addr/Go []byte (4-byte IPv4 address) value in an -// embedded sockaddr within the Ifreq's union data. v must be 4 bytes in length -// or an error will be returned. -func (ifr *Ifreq) SetInet4Addr(v []byte) error { - if len(v) != 4 { - return EINVAL - } - - var addr [4]byte - copy(addr[:], v) - - ifr.clear() - *(*RawSockaddrInet4)( - unsafe.Pointer(&ifr.raw.Ifru[:SizeofSockaddrInet4][0]), - ) = RawSockaddrInet4{ - // Always set IP family as ioctls would require it anyway. - Family: AF_INET, - Addr: addr, - } - - return nil -} - -// Uint16 returns the Ifreq union data as a C short/Go uint16 value. -func (ifr *Ifreq) Uint16() uint16 { - return *(*uint16)(unsafe.Pointer(&ifr.raw.Ifru[:2][0])) -} - -// SetUint16 sets a C short/Go uint16 value as the Ifreq's union data. -func (ifr *Ifreq) SetUint16(v uint16) { - ifr.clear() - *(*uint16)(unsafe.Pointer(&ifr.raw.Ifru[:2][0])) = v -} - -// Uint32 returns the Ifreq union data as a C int/Go uint32 value. -func (ifr *Ifreq) Uint32() uint32 { - return *(*uint32)(unsafe.Pointer(&ifr.raw.Ifru[:4][0])) -} - -// SetUint32 sets a C int/Go uint32 value as the Ifreq's union data. -func (ifr *Ifreq) SetUint32(v uint32) { - ifr.clear() - *(*uint32)(unsafe.Pointer(&ifr.raw.Ifru[:4][0])) = v -} - -// clear zeroes the ifreq's union field to prevent trailing garbage data from -// being sent to the kernel if an ifreq is reused. -func (ifr *Ifreq) clear() { - for i := range ifr.raw.Ifru { - ifr.raw.Ifru[i] = 0 - } -} - -// TODO(mdlayher): export as IfreqData? For now we can provide helpers such as -// IoctlGetEthtoolDrvinfo which use these APIs under the hood. - -// An ifreqData is an Ifreq which carries pointer data. To produce an ifreqData, -// use the Ifreq.withData method. -type ifreqData struct { - name [IFNAMSIZ]byte - // A type separate from ifreq is required in order to comply with the - // unsafe.Pointer rules since the "pointer-ness" of data would not be - // preserved if it were cast into the byte array of a raw ifreq. - data unsafe.Pointer - // Pad to the same size as ifreq. - _ [len(ifreq{}.Ifru) - SizeofPtr]byte -} - -// withData produces an ifreqData with the pointer p set for ioctls which require -// arbitrary pointer data. -func (ifr Ifreq) withData(p unsafe.Pointer) ifreqData { - return ifreqData{ - name: ifr.raw.Ifrn, - data: p, - } -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ioctl_linux.go b/cmd/sync/vendor/golang.org/x/sys/unix/ioctl_linux.go index 884430b8..48773f73 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ioctl_linux.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ioctl_linux.go @@ -5,6 +5,7 @@ package unix import ( + "runtime" "unsafe" ) @@ -21,42 +22,56 @@ func IoctlRetInt(fd int, req uint) (int, error) { func IoctlGetUint32(fd int, req uint) (uint32, error) { var value uint32 - err := ioctlPtr(fd, req, unsafe.Pointer(&value)) + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) return value, err } func IoctlGetRTCTime(fd int) (*RTCTime, error) { var value RTCTime - err := ioctlPtr(fd, RTC_RD_TIME, unsafe.Pointer(&value)) + err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value))) return &value, err } func IoctlSetRTCTime(fd int, value *RTCTime) error { - return ioctlPtr(fd, RTC_SET_TIME, unsafe.Pointer(value)) + err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err } func IoctlGetRTCWkAlrm(fd int) (*RTCWkAlrm, error) { var value RTCWkAlrm - err := ioctlPtr(fd, RTC_WKALM_RD, unsafe.Pointer(&value)) + err := ioctl(fd, RTC_WKALM_RD, uintptr(unsafe.Pointer(&value))) return &value, err } func IoctlSetRTCWkAlrm(fd int, value *RTCWkAlrm) error { - return ioctlPtr(fd, RTC_WKALM_SET, unsafe.Pointer(value)) + err := ioctl(fd, RTC_WKALM_SET, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +type ifreqEthtool struct { + name [IFNAMSIZ]byte + data unsafe.Pointer } // IoctlGetEthtoolDrvinfo fetches ethtool driver information for the network // device specified by ifname. func IoctlGetEthtoolDrvinfo(fd int, ifname string) (*EthtoolDrvinfo, error) { - ifr, err := NewIfreq(ifname) - if err != nil { - return nil, err + // Leave room for terminating NULL byte. + if len(ifname) >= IFNAMSIZ { + return nil, EINVAL } - value := EthtoolDrvinfo{Cmd: ETHTOOL_GDRVINFO} - ifrd := ifr.withData(unsafe.Pointer(&value)) - - err = ioctlIfreqData(fd, SIOCETHTOOL, &ifrd) + value := EthtoolDrvinfo{ + Cmd: ETHTOOL_GDRVINFO, + } + ifreq := ifreqEthtool{ + data: unsafe.Pointer(&value), + } + copy(ifreq.name[:], ifname) + err := ioctl(fd, SIOCETHTOOL, uintptr(unsafe.Pointer(&ifreq))) + runtime.KeepAlive(ifreq) return &value, err } @@ -65,7 +80,7 @@ func IoctlGetEthtoolDrvinfo(fd int, ifname string) (*EthtoolDrvinfo, error) { // https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html. func IoctlGetWatchdogInfo(fd int) (*WatchdogInfo, error) { var value WatchdogInfo - err := ioctlPtr(fd, WDIOC_GETSUPPORT, unsafe.Pointer(&value)) + err := ioctl(fd, WDIOC_GETSUPPORT, uintptr(unsafe.Pointer(&value))) return &value, err } @@ -73,7 +88,6 @@ func IoctlGetWatchdogInfo(fd int) (*WatchdogInfo, error) { // more information, see: // https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html. func IoctlWatchdogKeepalive(fd int) error { - // arg is ignored and not a pointer, so ioctl is fine instead of ioctlPtr. return ioctl(fd, WDIOC_KEEPALIVE, 0) } @@ -81,7 +95,9 @@ func IoctlWatchdogKeepalive(fd int) error { // range of data conveyed in value to the file associated with the file // descriptor destFd. See the ioctl_ficlonerange(2) man page for details. func IoctlFileCloneRange(destFd int, value *FileCloneRange) error { - return ioctlPtr(destFd, FICLONERANGE, unsafe.Pointer(value)) + err := ioctl(destFd, FICLONERANGE, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err } // IoctlFileClone performs an FICLONE ioctl operation to clone the entire file @@ -132,7 +148,7 @@ func IoctlFileDedupeRange(srcFd int, value *FileDedupeRange) error { rawinfo.Reserved = value.Info[i].Reserved } - err := ioctlPtr(srcFd, FIDEDUPERANGE, unsafe.Pointer(&buf[0])) + err := ioctl(srcFd, FIDEDUPERANGE, uintptr(unsafe.Pointer(&buf[0]))) // Output for i := range value.Info { @@ -150,70 +166,31 @@ func IoctlFileDedupeRange(srcFd int, value *FileDedupeRange) error { } func IoctlHIDGetDesc(fd int, value *HIDRawReportDescriptor) error { - return ioctlPtr(fd, HIDIOCGRDESC, unsafe.Pointer(value)) + err := ioctl(fd, HIDIOCGRDESC, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err } func IoctlHIDGetRawInfo(fd int) (*HIDRawDevInfo, error) { var value HIDRawDevInfo - err := ioctlPtr(fd, HIDIOCGRAWINFO, unsafe.Pointer(&value)) + err := ioctl(fd, HIDIOCGRAWINFO, uintptr(unsafe.Pointer(&value))) return &value, err } func IoctlHIDGetRawName(fd int) (string, error) { var value [_HIDIOCGRAWNAME_LEN]byte - err := ioctlPtr(fd, _HIDIOCGRAWNAME, unsafe.Pointer(&value[0])) + err := ioctl(fd, _HIDIOCGRAWNAME, uintptr(unsafe.Pointer(&value[0]))) return ByteSliceToString(value[:]), err } func IoctlHIDGetRawPhys(fd int) (string, error) { var value [_HIDIOCGRAWPHYS_LEN]byte - err := ioctlPtr(fd, _HIDIOCGRAWPHYS, unsafe.Pointer(&value[0])) + err := ioctl(fd, _HIDIOCGRAWPHYS, uintptr(unsafe.Pointer(&value[0]))) return ByteSliceToString(value[:]), err } func IoctlHIDGetRawUniq(fd int) (string, error) { var value [_HIDIOCGRAWUNIQ_LEN]byte - err := ioctlPtr(fd, _HIDIOCGRAWUNIQ, unsafe.Pointer(&value[0])) + err := ioctl(fd, _HIDIOCGRAWUNIQ, uintptr(unsafe.Pointer(&value[0]))) return ByteSliceToString(value[:]), err } - -// IoctlIfreq performs an ioctl using an Ifreq structure for input and/or -// output. See the netdevice(7) man page for details. -func IoctlIfreq(fd int, req uint, value *Ifreq) error { - // It is possible we will add more fields to *Ifreq itself later to prevent - // misuse, so pass the raw *ifreq directly. - return ioctlPtr(fd, req, unsafe.Pointer(&value.raw)) -} - -// TODO(mdlayher): export if and when IfreqData is exported. - -// ioctlIfreqData performs an ioctl using an ifreqData structure for input -// and/or output. See the netdevice(7) man page for details. -func ioctlIfreqData(fd int, req uint, value *ifreqData) error { - // The memory layout of IfreqData (type-safe) and ifreq (not type-safe) are - // identical so pass *IfreqData directly. - return ioctlPtr(fd, req, unsafe.Pointer(value)) -} - -// IoctlKCMClone attaches a new file descriptor to a multiplexor by cloning an -// existing KCM socket, returning a structure containing the file descriptor of -// the new socket. -func IoctlKCMClone(fd int) (*KCMClone, error) { - var info KCMClone - if err := ioctlPtr(fd, SIOCKCMCLONE, unsafe.Pointer(&info)); err != nil { - return nil, err - } - - return &info, nil -} - -// IoctlKCMAttach attaches a TCP socket and associated BPF program file -// descriptor to a multiplexor. -func IoctlKCMAttach(fd int, info KCMAttach) error { - return ioctlPtr(fd, SIOCKCMATTACH, unsafe.Pointer(&info)) -} - -// IoctlKCMUnattach unattaches a TCP socket file descriptor from a multiplexor. -func IoctlKCMUnattach(fd int, info KCMUnattach) error { - return ioctlPtr(fd, SIOCKCMUNATTACH, unsafe.Pointer(&info)) -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/mkall.sh b/cmd/sync/vendor/golang.org/x/sys/unix/mkall.sh index ee736234..396aadf8 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/mkall.sh +++ b/cmd/sync/vendor/golang.org/x/sys/unix/mkall.sh @@ -50,7 +50,7 @@ if [[ "$GOOS" = "linux" ]]; then # Use the Docker-based build system # Files generated through docker (use $cmd so you can Ctl-C the build or run) $cmd docker build --tag generate:$GOOS $GOOS - $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")/.." && /bin/pwd):/build generate:$GOOS + $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")" && /bin/pwd):/build generate:$GOOS exit fi diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/mkerrors.sh b/cmd/sync/vendor/golang.org/x/sys/unix/mkerrors.sh index a0370874..3f670fab 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/cmd/sync/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -54,7 +54,7 @@ includes_AIX=' includes_Darwin=' #define _DARWIN_C_SOURCE -#define KERNEL 1 +#define KERNEL #define _DARWIN_USE_64_BIT_INODE #define __APPLE_USE_RFC_3542 #include <stdint.h> @@ -75,7 +75,6 @@ includes_Darwin=' #include <sys/utsname.h> #include <sys/wait.h> #include <sys/xattr.h> -#include <sys/vsock.h> #include <net/bpf.h> #include <net/if.h> #include <net/if_types.h> @@ -83,9 +82,6 @@ includes_Darwin=' #include <netinet/in.h> #include <netinet/ip.h> #include <termios.h> - -// for backwards compatibility because moved TIOCREMOTE to Kernel.framework after MacOSX12.0.sdk. -#define TIOCREMOTE 0x80047469 ' includes_DragonFly=' @@ -205,7 +201,6 @@ struct ltchars { #include <linux/bpf.h> #include <linux/can.h> #include <linux/can/error.h> -#include <linux/can/netlink.h> #include <linux/can/raw.h> #include <linux/capability.h> #include <linux/cryptouser.h> @@ -222,6 +217,8 @@ struct ltchars { #include <linux/genetlink.h> #include <linux/hdreg.h> #include <linux/hidraw.h> +#include <linux/icmp.h> +#include <linux/icmpv6.h> #include <linux/if.h> #include <linux/if_addr.h> #include <linux/if_alg.h> @@ -232,16 +229,13 @@ struct ltchars { #include <linux/if_packet.h> #include <linux/if_xdp.h> #include <linux/input.h> -#include <linux/kcm.h> #include <linux/kexec.h> #include <linux/keyctl.h> -#include <linux/landlock.h> #include <linux/loop.h> #include <linux/lwtunnel.h> #include <linux/magic.h> #include <linux/memfd.h> #include <linux/module.h> -#include <linux/mount.h> #include <linux/netfilter/nfnetlink.h> #include <linux/netlink.h> #include <linux/net_namespace.h> @@ -263,7 +257,6 @@ struct ltchars { #include <linux/vm_sockets.h> #include <linux/wait.h> #include <linux/watchdog.h> -#include <linux/wireguard.h> #include <mtd/ubi-user.h> #include <mtd/mtd-user.h> @@ -474,6 +467,7 @@ ccflags="$@" $2 !~ /^EQUIV_/ && $2 !~ /^EXPR_/ && $2 !~ /^EVIOC/ && + $2 !~ /^EV_/ && $2 ~ /^E[A-Z0-9_]+$/ || $2 ~ /^B[0-9_]+$/ || $2 ~ /^(OLD|NEW)DEV$/ || @@ -505,12 +499,10 @@ ccflags="$@" $2 ~ /^O?XTABS$/ || $2 ~ /^TC[IO](ON|OFF)$/ || $2 ~ /^IN_/ || - $2 ~ /^KCM/ || - $2 ~ /^LANDLOCK_/ || $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || $2 ~ /^LO_(KEY|NAME)_SIZE$/ || $2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ || - $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT)_/ || + $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL)_/ || $2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ || $2 ~ /^NFC_.*_(MAX)?SIZE$/ || $2 ~ /^RAW_PAYLOAD_/ || @@ -525,7 +517,7 @@ ccflags="$@" $2 ~ /^HW_MACHINE$/ || $2 ~ /^SYSCTL_VERS/ || $2 !~ "MNT_BITS" && - $2 ~ /^(MS|MNT|MOUNT|UMOUNT)_/ || + $2 ~ /^(MS|MNT|UMOUNT)_/ || $2 ~ /^NS_GET_/ || $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ || $2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT|TFD)_/ || @@ -571,7 +563,6 @@ ccflags="$@" $2 ~ /^KEYCTL_/ || $2 ~ /^PERF_/ || $2 ~ /^SECCOMP_MODE_/ || - $2 ~ /^SEEK_/ || $2 ~ /^SPLICE_/ || $2 ~ /^SYNC_FILE_RANGE_/ || $2 !~ /^AUDIT_RECORD_MAGIC/ && @@ -600,7 +591,6 @@ ccflags="$@" $2 ~ /^DEVLINK_/ || $2 ~ /^ETHTOOL_/ || $2 ~ /^LWTUNNEL_IP/ || - $2 ~ /^ITIMER_/ || $2 !~ "WMESGLEN" && $2 ~ /^W[A-Z0-9]+$/ || $2 ~/^PPPIOC/ || @@ -611,7 +601,6 @@ ccflags="$@" $2 ~ /^MTD/ || $2 ~ /^OTP/ || $2 ~ /^MEM/ || - $2 ~ /^WG/ || $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)} $2 ~ /^__WCOREFLAG$/ {next} $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/cmd/sync/vendor/golang.org/x/sys/unix/sockcmsg_linux.go index 5f63147e..8bf45705 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/sockcmsg_linux.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/sockcmsg_linux.go @@ -34,52 +34,3 @@ func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) return &ucred, nil } - -// PktInfo4 encodes Inet4Pktinfo into a socket control message of type IP_PKTINFO. -func PktInfo4(info *Inet4Pktinfo) []byte { - b := make([]byte, CmsgSpace(SizeofInet4Pktinfo)) - h := (*Cmsghdr)(unsafe.Pointer(&b[0])) - h.Level = SOL_IP - h.Type = IP_PKTINFO - h.SetLen(CmsgLen(SizeofInet4Pktinfo)) - *(*Inet4Pktinfo)(h.data(0)) = *info - return b -} - -// PktInfo6 encodes Inet6Pktinfo into a socket control message of type IPV6_PKTINFO. -func PktInfo6(info *Inet6Pktinfo) []byte { - b := make([]byte, CmsgSpace(SizeofInet6Pktinfo)) - h := (*Cmsghdr)(unsafe.Pointer(&b[0])) - h.Level = SOL_IPV6 - h.Type = IPV6_PKTINFO - h.SetLen(CmsgLen(SizeofInet6Pktinfo)) - *(*Inet6Pktinfo)(h.data(0)) = *info - return b -} - -// ParseOrigDstAddr decodes a socket control message containing the original -// destination address. To receive such a message the IP_RECVORIGDSTADDR or -// IPV6_RECVORIGDSTADDR option must be enabled on the socket. -func ParseOrigDstAddr(m *SocketControlMessage) (Sockaddr, error) { - switch { - case m.Header.Level == SOL_IP && m.Header.Type == IP_ORIGDSTADDR: - pp := (*RawSockaddrInet4)(unsafe.Pointer(&m.Data[0])) - sa := new(SockaddrInet4) - p := (*[2]byte)(unsafe.Pointer(&pp.Port)) - sa.Port = int(p[0])<<8 + int(p[1]) - sa.Addr = pp.Addr - return sa, nil - - case m.Header.Level == SOL_IPV6 && m.Header.Type == IPV6_ORIGDSTADDR: - pp := (*RawSockaddrInet6)(unsafe.Pointer(&m.Data[0])) - sa := new(SockaddrInet6) - p := (*[2]byte)(unsafe.Pointer(&pp.Port)) - sa.Port = int(p[0])<<8 + int(p[1]) - sa.ZoneId = pp.Scope_id - sa.Addr = pp.Addr - return sa, nil - - default: - return nil, EINVAL - } -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_aix.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_aix.go index f2a114fc..d8efb715 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_aix.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_aix.go @@ -70,7 +70,9 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil } @@ -83,7 +85,9 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) sa.raw.Scope_id = sa.ZoneId - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil } @@ -215,12 +219,18 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) { return } -func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { // Recvmsg not implemented on AIX - return -1, -1, -1, ENOSYS + sa := new(SockaddrUnix) + return -1, -1, -1, sa, ENOSYS +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return } -func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { // SendmsgN not implemented on AIX return -1, ENOSYS } @@ -251,7 +261,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { sa := new(SockaddrInet4) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil case AF_INET6: @@ -260,7 +272,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.ZoneId = pp.Scope_id - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil } return nil, EAFNOSUPPORT @@ -371,11 +385,6 @@ func (w WaitStatus) TrapCause() int { return -1 } //sys fcntl(fd int, cmd int, arg int) (val int, err error) -//sys fsyncRange(fd int, how int, start int64, length int64) (err error) = fsync_range -func Fsync(fd int) error { - return fsyncRange(fd, O_SYNC, 0, 0) -} - /* * Direct access */ @@ -392,6 +401,7 @@ func Fsync(fd int) error { //sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) //sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) //sys Fdatasync(fd int) (err error) +//sys Fsync(fd int) (err error) // readdir_r //sysnb Getpgid(pid int) (pgid int, err error) @@ -452,8 +462,8 @@ func Fsync(fd int) error { //sys Listen(s int, n int) (err error) //sys lstat(path string, stat *Stat_t) (err error) //sys Pause() (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = pread64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = pread64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64 //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) //sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) //sysnb Setregid(rgid int, egid int) (err error) @@ -513,10 +523,8 @@ func Pipe(p []int) (err error) { } var pp [2]_C_int err = pipe(&pp) - if err == nil { - p[0] = int(pp[0]) - p[1] = int(pp[1]) - } + p[0] = int(pp[0]) + p[1] = int(pp[1]) return } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_bsd.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_bsd.go index a801b1b1..95ac3946 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_bsd.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_bsd.go @@ -163,7 +163,9 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil } @@ -177,7 +179,9 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) sa.raw.Scope_id = sa.ZoneId - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil } @@ -206,7 +210,9 @@ func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Nlen = sa.Nlen sa.raw.Alen = sa.Alen sa.raw.Slen = sa.Slen - sa.raw.Data = sa.Data + for i := 0; i < len(sa.raw.Data); i++ { + sa.raw.Data[i] = sa.Data[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil } @@ -222,7 +228,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { sa.Nlen = pp.Nlen sa.Alen = pp.Alen sa.Slen = pp.Slen - sa.Data = pp.Data + for i := 0; i < len(sa.Data); i++ { + sa.Data[i] = pp.Data[i] + } return sa, nil case AF_UNIX: @@ -254,7 +262,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { sa := new(SockaddrInet4) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil case AF_INET6: @@ -263,7 +273,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.ZoneId = pp.Scope_id - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil } return anyToSockaddrGOOS(fd, rsa) @@ -325,9 +337,10 @@ func GetsockoptString(fd, level, opt int) (string, error) { //sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { var msg Msghdr - msg.Name = (*byte)(unsafe.Pointer(rsa)) + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) msg.Namelen = uint32(SizeofSockaddrAny) var iov Iovec if len(p) > 0 { @@ -351,12 +364,29 @@ func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn } oobn = int(msg.Controllen) recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } return } //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(ptr)) msg.Namelen = uint32(salen) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_darwin.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_darwin.go index ca2ae357..9945e5f9 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -13,7 +13,6 @@ package unix import ( - "fmt" "runtime" "syscall" "unsafe" @@ -48,30 +47,6 @@ func (sa *SockaddrCtl) sockaddr() (unsafe.Pointer, _Socklen, error) { return unsafe.Pointer(&sa.raw), SizeofSockaddrCtl, nil } -// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. -// SockaddrVM provides access to Darwin VM sockets: a mechanism that enables -// bidirectional communication between a hypervisor and its guest virtual -// machines. -type SockaddrVM struct { - // CID and Port specify a context ID and port address for a VM socket. - // Guests have a unique CID, and hosts may have a well-known CID of: - // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. - // - VMADDR_CID_LOCAL: refers to local communication (loopback). - // - VMADDR_CID_HOST: refers to other processes on the host. - CID uint32 - Port uint32 - raw RawSockaddrVM -} - -func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { - sa.raw.Len = SizeofSockaddrVM - sa.raw.Family = AF_VSOCK - sa.raw.Port = sa.Port - sa.raw.Cid = sa.CID - - return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil -} - func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { switch rsa.Addr.Family { case AF_SYSTEM: @@ -82,13 +57,6 @@ func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { sa.Unit = pp.Sc_unit return sa, nil } - case AF_VSOCK: - pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) - sa := &SockaddrVM{ - CID: pp.Cid, - Port: pp.Port, - } - return sa, nil } return nil, EAFNOSUPPORT } @@ -159,10 +127,8 @@ func Pipe(p []int) (err error) { } var x [2]int32 err = pipe(&x) - if err == nil { - p[0] = int(x[0]) - p[1] = int(x[1]) - } + p[0] = int(x[0]) + p[1] = int(x[1]) return } @@ -432,62 +398,8 @@ func GetsockoptXucred(fd, level, opt int) (*Xucred, error) { return x, err } -func SysctlKinfoProc(name string, args ...int) (*KinfoProc, error) { - mib, err := sysctlmib(name, args...) - if err != nil { - return nil, err - } - - var kinfo KinfoProc - n := uintptr(SizeofKinfoProc) - if err := sysctl(mib, (*byte)(unsafe.Pointer(&kinfo)), &n, nil, 0); err != nil { - return nil, err - } - if n != SizeofKinfoProc { - return nil, EIO - } - return &kinfo, nil -} - -func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { - mib, err := sysctlmib(name, args...) - if err != nil { - return nil, err - } - - // Find size. - n := uintptr(0) - if err := sysctl(mib, nil, &n, nil, 0); err != nil { - return nil, err - } - if n == 0 { - return nil, nil - } - if n%SizeofKinfoProc != 0 { - return nil, fmt.Errorf("sysctl() returned a size of %d, which is not a multiple of %d", n, SizeofKinfoProc) - } - - // Read into buffer of that size. - buf := make([]KinfoProc, n/SizeofKinfoProc) - if err := sysctl(mib, (*byte)(unsafe.Pointer(&buf[0])), &n, nil, 0); err != nil { - return nil, err - } - if n%SizeofKinfoProc != 0 { - return nil, fmt.Errorf("sysctl() returned a size of %d, which is not a multiple of %d", n, SizeofKinfoProc) - } - - // The actual call may return less than the original reported required - // size so ensure we deal with that. - return buf[:n/SizeofKinfoProc], nil -} - //sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) -//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) -//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) -//sys shmdt(addr uintptr) (err error) -//sys shmget(key int, size int, flag int) (id int, err error) - /* * Exposed directly */ @@ -546,8 +458,8 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) //sys read(fd int, p []byte) (n int, err error) //sys Readlink(path string, buf []byte) (n int, err error) //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) @@ -645,6 +557,10 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { // Msgget // Msgsnd // Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget // Shm_open // Shm_unlink // Sem_open diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_dragonfly.go index 36c268b3..5af108a5 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_dragonfly.go @@ -101,10 +101,7 @@ func Pipe(p []int) (err error) { if len(p) != 2 { return EINVAL } - r, w, err := pipe() - if err == nil { - p[0], p[1] = r, w - } + p[0], p[1], err = pipe() return } @@ -117,20 +114,17 @@ func Pipe2(p []int, flags int) (err error) { var pp [2]_C_int // pipe2 on dragonfly takes an fds array as an argument, but still // returns the file descriptors. - r, w, err := pipe2(&pp, flags) - if err == nil { - p[0], p[1] = r, w - } + p[0], p[1], err = pipe2(&pp, flags) return err } //sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { return extpread(fd, p, 0, offset) } //sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { return extpwrite(fd, p, 0, offset) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_freebsd.go index ac3db019..18c392cf 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_freebsd.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -110,10 +110,8 @@ func Pipe2(p []int, flags int) error { } var pp [2]_C_int err := pipe2(&pp, flags) - if err == nil { - p[0] = int(pp[0]) - p[1] = int(pp[1]) - } + p[0] = int(pp[0]) + p[1] = int(pp[1]) return err } @@ -638,8 +636,8 @@ func PtraceSingleStep(pid int) (err error) { //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) //sys read(fd int, p []byte) (n int, err error) //sys Readlink(path string, buf []byte) (n int, err error) //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_illumos.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_illumos.go index 8d5f294c..8c535768 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_illumos.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_illumos.go @@ -162,14 +162,6 @@ func (l *Lifreq) GetLifruInt() int { return *(*int)(unsafe.Pointer(&l.Lifru[0])) } -func (l *Lifreq) SetLifruUint(d uint) { - *(*uint)(unsafe.Pointer(&l.Lifru[0])) = d -} - -func (l *Lifreq) GetLifruUint() uint { - return *(*uint)(unsafe.Pointer(&l.Lifru[0])) -} - func IoctlLifreq(fd int, req uint, l *Lifreq) error { return ioctl(fd, req, uintptr(unsafe.Pointer(l))) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux.go index d7a94e76..41b91fdf 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -13,8 +13,8 @@ package unix import ( "encoding/binary" + "runtime" "syscall" - "time" "unsafe" ) @@ -38,13 +38,6 @@ func Creat(path string, mode uint32) (fd int, err error) { return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) } -func EpollCreate(size int) (fd int, err error) { - if size <= 0 { - return -1, EINVAL - } - return EpollCreate1(0) -} - //sys FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) //sys fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) @@ -73,22 +66,11 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { return fchmodat(dirfd, path, mode) } -func InotifyInit() (fd int, err error) { - return InotifyInit1(0) -} - -//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL -//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL +//sys ioctl(fd int, req uint, arg uintptr) (err error) -// ioctl itself should not be exposed directly, but additional get/set functions -// for specific types are permissible. These are defined in ioctl.go and -// ioctl_linux.go. -// -// The third argument to ioctl is often a pointer but sometimes an integer. -// Callers should use ioctlPtr when the third argument is a pointer and ioctl -// when the third argument is an integer. -// -// TODO: some existing code incorrectly uses ioctl when it should use ioctlPtr. +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. +// These are defined in ioctl.go and ioctl_linux.go. //sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) @@ -120,25 +102,6 @@ func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) { return openat2(dirfd, path, how, SizeofOpenHow) } -func Pipe(p []int) error { - return Pipe2(p, 0) -} - -//sysnb pipe2(p *[2]_C_int, flags int) (err error) - -func Pipe2(p []int, flags int) error { - if len(p) != 2 { - return EINVAL - } - var pp [2]_C_int - err := pipe2(&pp, flags) - if err == nil { - p[0] = int(pp[0]) - p[1] = int(pp[1]) - } - return err -} - //sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { @@ -148,15 +111,6 @@ func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error return ppoll(&fds[0], len(fds), timeout, sigmask) } -func Poll(fds []PollFd, timeout int) (n int, err error) { - var ts *Timespec - if timeout >= 0 { - ts = new(Timespec) - *ts = NsecToTimespec(int64(timeout) * 1e6) - } - return Ppoll(fds, ts, nil) -} - //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) func Readlink(path string, buf []byte) (n int, err error) { @@ -207,7 +161,27 @@ func Utimes(path string, tv []Timeval) error { //sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) func UtimesNano(path string, ts []Timespec) error { - return UtimesNanoAt(AT_FDCWD, path, ts, 0) + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // If the utimensat syscall isn't available (utimensat was added to Linux + // in 2.6.22, Released, 8 July 2007) then fall back to utimes + var tv [2]Timeval + for i := 0; i < 2; i++ { + tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) } func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { @@ -250,13 +224,6 @@ func Getwd() (wd string, err error) { if n < 1 || n > len(buf) || buf[n-1] != 0 { return "", EINVAL } - // In some cases, Linux can return a path that starts with the - // "(unreachable)" prefix, which can potentially be a valid relative - // path. To work around that, return ENOENT if path is not absolute. - if buf[0] != '/' { - return "", ENOENT - } - return string(buf[0 : n-1]), nil } @@ -382,7 +349,9 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil } @@ -395,7 +364,9 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) sa.raw.Scope_id = sa.ZoneId - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil } @@ -444,7 +415,9 @@ func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Hatype = sa.Hatype sa.raw.Pkttype = sa.Pkttype sa.raw.Halen = sa.Halen - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil } @@ -859,10 +832,12 @@ 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 } @@ -876,7 +851,9 @@ type SockaddrL2TPIP struct { func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_INET sa.raw.Conn_id = sa.ConnId - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP, nil } @@ -892,7 +869,9 @@ func (sa *SockaddrL2TPIP6) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_INET6 sa.raw.Conn_id = sa.ConnId sa.raw.Scope_id = sa.ZoneId - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP6, nil } @@ -988,7 +967,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { sa.Hatype = pp.Hatype sa.Pkttype = pp.Pkttype sa.Halen = pp.Halen - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil case AF_UNIX: @@ -1027,14 +1008,18 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { pp := (*RawSockaddrL2TPIP)(unsafe.Pointer(rsa)) sa := new(SockaddrL2TPIP) sa.ConnId = pp.Conn_id - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil default: pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) sa := new(SockaddrInet4) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil } @@ -1050,7 +1035,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { sa := new(SockaddrL2TPIP6) sa.ConnId = pp.Conn_id sa.ZoneId = pp.Scope_id - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil default: pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) @@ -1058,7 +1045,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.ZoneId = pp.Scope_id - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil } @@ -1233,7 +1222,11 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { func Accept(fd int) (nfd int, sa Sockaddr, err error) { var rsa RawSockaddrAny var len _Socklen = SizeofSockaddrAny + // Try accept4 first for Android, then try accept for kernel older than 2.6.28 nfd, err = accept4(fd, &rsa, &len, 0) + if err == ENOSYS { + nfd, err = accept(fd, &rsa, &len) + } if err != nil { return } @@ -1355,13 +1348,6 @@ func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error { return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) } -func SetsockoptTCPRepairOpt(fd, level, opt int, o []TCPRepairOpt) (err error) { - if len(o) == 0 { - return EINVAL - } - return setsockopt(fd, level, opt, unsafe.Pointer(&o[0]), uintptr(SizeofTCPRepairOpt*len(o))) -} - // Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html) // KeyctlInt calls keyctl commands in which each argument is an int. @@ -1497,9 +1483,10 @@ func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error //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 recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { var msg Msghdr - msg.Name = (*byte)(unsafe.Pointer(rsa)) + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) msg.Namelen = uint32(SizeofSockaddrAny) var iov Iovec if len(p) > 0 { @@ -1530,10 +1517,28 @@ func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn } oobn = int(msg.Controllen) recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) return } -func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + var err error + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } var msg Msghdr msg.Name = (*byte)(ptr) msg.Namelen = uint32(salen) @@ -1766,16 +1771,6 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri return mount(source, target, fstype, flags, datap) } -//sys mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) = SYS_MOUNT_SETATTR - -// MountSetattr is a wrapper for mount_setattr(2). -// https://man7.org/linux/man-pages/man2/mount_setattr.2.html -// -// Requires kernel >= 5.12. -func MountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr) error { - return mountSetattr(dirfd, pathname, flags, attr, unsafe.Sizeof(*attr)) -} - func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { if raceenabled { raceReleaseMerge(unsafe.Pointer(&ioSync)) @@ -1807,7 +1802,11 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e //sys Dup(oldfd int) (fd int, err error) func Dup2(oldfd, newfd int) error { - return Dup3(oldfd, newfd, 0) + // Android O and newer blocks dup2; riscv and arm64 don't implement dup2. + if runtime.GOOS == "android" || runtime.GOARCH == "riscv64" || runtime.GOARCH == "arm64" { + return Dup3(oldfd, newfd, 0) + } + return dup2(oldfd, newfd) } //sys Dup3(oldfd int, newfd int, flags int) (err error) @@ -1860,7 +1859,7 @@ func Getpgrp() (pid int) { //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) //sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT -//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 +//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 //sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) //sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6 //sys read(fd int, p []byte) (n int, err error) @@ -2295,64 +2294,11 @@ type RemoteIovec struct { //sys ProcessVMReadv(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_READV //sys ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_WRITEV -//sys PidfdOpen(pid int, flags int) (fd int, err error) = SYS_PIDFD_OPEN -//sys PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) = SYS_PIDFD_GETFD - -//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) -//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) -//sys shmdt(addr uintptr) (err error) -//sys shmget(key int, size int, flag int) (id int, err error) - -//sys getitimer(which int, currValue *Itimerval) (err error) -//sys setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error) - -// MakeItimerval creates an Itimerval from interval and value durations. -func MakeItimerval(interval, value time.Duration) Itimerval { - return Itimerval{ - Interval: NsecToTimeval(interval.Nanoseconds()), - Value: NsecToTimeval(value.Nanoseconds()), - } -} - -// A value which may be passed to the which parameter for Getitimer and -// Setitimer. -type ItimerWhich int - -// Possible which values for Getitimer and Setitimer. -const ( - ItimerReal ItimerWhich = ITIMER_REAL - ItimerVirtual ItimerWhich = ITIMER_VIRTUAL - ItimerProf ItimerWhich = ITIMER_PROF -) - -// Getitimer wraps getitimer(2) to return the current value of the timer -// specified by which. -func Getitimer(which ItimerWhich) (Itimerval, error) { - var it Itimerval - if err := getitimer(int(which), &it); err != nil { - return Itimerval{}, err - } - - return it, nil -} - -// Setitimer wraps setitimer(2) to arm or disarm the timer specified by which. -// It returns the previous value of the timer. -// -// If the Itimerval argument is the zero value, the timer will be disarmed. -func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) { - var prev Itimerval - if err := setitimer(int(which), &it, &prev); err != nil { - return Itimerval{}, err - } - - return prev, nil -} - /* * Unimplemented */ // AfsSyscall +// Alarm // ArchPrctl // Brk // ClockNanosleep @@ -2368,6 +2314,7 @@ func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) { // GetMempolicy // GetRobustList // GetThreadArea +// Getitimer // Getpmsg // IoCancel // IoDestroy @@ -2428,6 +2375,10 @@ func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) { // SetRobustList // SetThreadArea // SetTidAddress +// Shmat +// Shmctl +// Shmdt +// Shmget // Sigaltstack // Swapoff // Swapon diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_386.go index 518e476e..b430536c 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_386.go @@ -19,8 +19,36 @@ func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + // 64-bit file system and 32-bit uid calls // (386 default is 32-bit file system and 16-bit uid). +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 //sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 @@ -31,12 +59,13 @@ func setTimeval(sec, usec int64) Timeval { //sysnb Geteuid() (euid int) = SYS_GETEUID32 //sysnb Getgid() (gid int) = SYS_GETGID32 //sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) //sys Ioperm(from int, num int, on int) (err error) //sys Iopl(level int) (err error) //sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 //sys setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32 @@ -76,7 +105,7 @@ const rlimInf32 = ^uint32(0) const rlimInf64 = ^uint64(0) func Getrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, nil, rlim) + err = prlimit(0, resource, nil, rlim) if err != ENOSYS { return err } @@ -104,7 +133,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { //sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, rlim, nil) + err = prlimit(0, resource, rlim, nil) if err != ENOSYS { return err } @@ -173,6 +202,14 @@ const ( _SENDMMSG = 20 ) +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) if e != 0 { @@ -344,3 +381,12 @@ func (cmsg *Cmsghdr) SetLen(length int) { func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint32(length) } + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go deleted file mode 100644 index 08086ac6..00000000 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2022 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. - -//go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) -// +build linux -// +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64 - -package unix - -// SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH -// values. - -//sys Alarm(seconds uint) (remaining uint, err error) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go index b945ab25..85cd97da 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go @@ -7,6 +7,8 @@ package unix +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 //sys Fchown(fd int, uid int, gid int) (err error) @@ -19,6 +21,17 @@ package unix //sysnb Getgid() (gid int) //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) //sysnb Getuid() (uid int) +//sysnb inotifyInit() (fd int, err error) + +func InotifyInit() (fd int, err error) { + // First try inotify_init1, because Android's seccomp policy blocks the latter. + fd, err = InotifyInit1(0) + if err == ENOSYS { + fd, err = inotifyInit() + } + return +} + //sys Ioperm(from int, num int, on int) (err error) //sys Iopl(level int) (err error) //sys Lchown(path string, uid int, gid int) (err error) @@ -29,8 +42,8 @@ func Lstat(path string, stat *Stat_t) (err error) { } //sys Pause() (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK @@ -62,6 +75,7 @@ func Stat(path string, stat *Stat_t) (err error) { //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) //sys Truncate(path string, length int64) (err error) //sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) @@ -112,6 +126,32 @@ func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + func (r *PtraceRegs) PC() uint64 { return r.Rip } func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } @@ -136,6 +176,15 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_arm.go index c1a7778f..39a864d4 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -19,6 +19,36 @@ func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + // Try pipe2 first for Android O, then try pipe for kernel 2.6.23. + err = pipe2(&pp, 0) + if err == ENOSYS { + err = pipe(&pp) + } + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { newoffset, errno := seek(fd, offset, whence) if errno != 0 { @@ -27,6 +57,7 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { return newoffset, nil } +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) @@ -45,6 +76,8 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { // 64-bit file system and 32-bit uid calls // (16-bit uid calls are not always supported in newer kernels) +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 //sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 @@ -53,6 +86,7 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { //sysnb Geteuid() (euid int) = SYS_GETEUID32 //sysnb Getgid() (gid int) = SYS_GETGID32 //sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) //sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 //sys Listen(s int, n int) (err error) //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 @@ -96,8 +130,8 @@ func Utime(path string, buf *Utimbuf) error { //sys utimes(path string, times *[2]Timeval) (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 //sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 @@ -150,7 +184,7 @@ const rlimInf32 = ^uint32(0) const rlimInf64 = ^uint64(0) func Getrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, nil, rlim) + err = prlimit(0, resource, nil, rlim) if err != ENOSYS { return err } @@ -178,7 +212,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { //sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, rlim, nil) + err = prlimit(0, resource, rlim, nil) if err != ENOSYS { return err } @@ -226,6 +260,15 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint32(length) } +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + //sys armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE func SyncFileRange(fd int, off int64, n int64, flags int) error { diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go index 81db4833..7f27ebf2 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -9,6 +9,13 @@ package unix import "unsafe" +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 //sys Fchown(fd int, uid int, gid int) (err error) @@ -22,8 +29,8 @@ import "unsafe" //sysnb getrlimit(resource int, rlim *Rlimit) (err error) //sysnb Getuid() (uid int) //sys Listen(s int, n int) (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK @@ -66,6 +73,7 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { return ENOSYS } +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) @@ -137,9 +145,33 @@ func utimes(path string, tv *[2]Timeval) (err error) { return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) } +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + // Getrlimit prefers the prlimit64 system call. See issue 38604. func Getrlimit(resource int, rlim *Rlimit) error { - err := Prlimit(0, resource, nil, rlim) + err := prlimit(0, resource, nil, rlim) if err != ENOSYS { return err } @@ -148,7 +180,7 @@ func Getrlimit(resource int, rlim *Rlimit) error { // Setrlimit prefers the prlimit64 system call. See issue 38604. func Setrlimit(resource int, rlim *Rlimit) error { - err := Prlimit(0, resource, rlim, nil) + err := prlimit(0, resource, rlim, nil) if err != ENOSYS { return err } @@ -179,11 +211,31 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +// dup2 exists because func Dup3 in syscall_linux.go references +// it in an unreachable path. dup2 isn't available on arm64. +func dup2(oldfd int, newfd int) error + func Pause() error { _, err := ppoll(nil, 0, nil, nil) return err } +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} + //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go index 98a2660b..27aee81d 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go @@ -8,6 +8,8 @@ package unix +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 //sys Fchown(fd int, uid int, gid int) (err error) @@ -21,8 +23,8 @@ package unix //sys Lchown(path string, uid int, gid int) (err error) //sys Listen(s int, n int) (err error) //sys Pause() (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK @@ -48,6 +50,7 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) //sys Truncate(path string, length int64) (err error) //sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) @@ -91,6 +94,30 @@ func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + func Ioperm(from int, num int, on int) (err error) { return ENOSYS } @@ -193,3 +220,16 @@ func (cmsg *Cmsghdr) SetLen(length int) { func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go index b8a18c0a..3a5621e3 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go @@ -15,6 +15,8 @@ import ( func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 //sys Fchown(fd int, uid int, gid int) (err error) @@ -25,8 +27,8 @@ func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, //sysnb Getuid() (uid int) //sys Lchown(path string, uid int, gid int) (err error) //sys Listen(s int, n int) (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 @@ -41,6 +43,7 @@ func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) //sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 //sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) @@ -57,6 +60,7 @@ func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sysnb InotifyInit() (fd int, err error) //sys Ioperm(from int, num int, on int) (err error) //sys Iopl(level int) (err error) @@ -109,6 +113,29 @@ func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe() (p1 int, p2 int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + //sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { @@ -130,7 +157,7 @@ type rlimit32 struct { //sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT func Getrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, nil, rlim) + err = prlimit(0, resource, nil, rlim) if err != ENOSYS { return err } @@ -158,7 +185,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { //sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, rlim, nil) + err = prlimit(0, resource, rlim, nil) if err != ENOSYS { return err } @@ -205,3 +232,12 @@ func (cmsg *Cmsghdr) SetLen(length int) { func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint32(length) } + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go index 4ed9e67c..cf0d36f7 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go @@ -3,7 +3,8 @@ // license that can be found in the LICENSE file. //go:build linux && ppc -// +build linux,ppc +// +build linux +// +build ppc package unix @@ -12,6 +13,8 @@ import ( "unsafe" ) +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fchown(fd int, uid int, gid int) (err error) //sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 @@ -21,14 +24,15 @@ import ( //sysnb Geteuid() (euid int) //sysnb Getgid() (gid int) //sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) //sys Ioperm(from int, num int, on int) (err error) //sys Iopl(level int) (err error) //sys Lchown(path string, uid int, gid int) (err error) //sys Listen(s int, n int) (err error) //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 //sys Pause() (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 @@ -43,6 +47,7 @@ import ( //sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 //sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 //sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) @@ -138,7 +143,7 @@ const rlimInf32 = ^uint32(0) const rlimInf64 = ^uint64(0) func Getrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, nil, rlim) + err = prlimit(0, resource, nil, rlim) if err != ENOSYS { return err } @@ -166,7 +171,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { //sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, rlim, nil) + err = prlimit(0, resource, rlim, nil) if err != ENOSYS { return err } @@ -214,6 +219,41 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint32(length) } +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + //sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 func SyncFileRange(fd int, off int64, n int64, flags int) error { diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go index db63d384..5259a5fe 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go @@ -8,6 +8,8 @@ package unix +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 //sys Fchown(fd int, uid int, gid int) (err error) @@ -20,14 +22,15 @@ package unix //sysnb Getgid() (gid int) //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT //sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) //sys Ioperm(from int, num int, on int) (err error) //sys Iopl(level int) (err error) //sys Lchown(path string, uid int, gid int) (err error) //sys Listen(s int, n int) (err error) //sys Lstat(path string, stat *Stat_t) (err error) //sys Pause() (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT @@ -45,6 +48,7 @@ package unix //sys Statfs(path string, buf *Statfs_t) (err error) //sys Truncate(path string, length int64) (err error) //sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) @@ -100,6 +104,41 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + //sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 func SyncFileRange(fd int, off int64, n int64, flags int) error { diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go index 8ff7adba..8ef821e5 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go @@ -9,6 +9,13 @@ package unix import "unsafe" +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 //sys Fchown(fd int, uid int, gid int) (err error) @@ -22,8 +29,8 @@ import "unsafe" //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) //sysnb Getuid() (uid int) //sys Listen(s int, n int) (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { @@ -65,6 +72,7 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { return ENOSYS } +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) @@ -136,6 +144,30 @@ func utimes(path string, tv *[2]Timeval) (err error) { return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) } +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + func (r *PtraceRegs) PC() uint64 { return r.Pc } func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } @@ -160,11 +192,27 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + func Pause() error { _, err := ppoll(nil, 0, nil, nil) return err } +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} + func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) } @@ -181,3 +229,7 @@ func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } + +// dup2 exists because func Dup3 in syscall_linux.go references +// it in an unreachable path. dup2 isn't available on arm64. +func dup2(oldfd int, newfd int) error diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go index 6fcf277b..a1c0574b 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go @@ -11,6 +11,8 @@ import ( "unsafe" ) +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 //sys Fchown(fd int, uid int, gid int) (err error) @@ -23,11 +25,12 @@ import ( //sysnb Getgid() (gid int) //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) //sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) //sys Lchown(path string, uid int, gid int) (err error) //sys Lstat(path string, stat *Stat_t) (err error) //sys Pause() (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) @@ -74,6 +77,30 @@ func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + func Ioperm(from int, num int, on int) (err error) { return ENOSYS } @@ -145,6 +172,15 @@ const ( netSendMMsg = 20 ) +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) { args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)} fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0) @@ -288,6 +324,15 @@ func Shutdown(s, how int) error { return nil } +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go index 02a45d9c..de14b889 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -9,6 +9,7 @@ package unix //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys dup2(oldfd int, newfd int) (err error) //sys Fchown(fd int, uid int, gid int) (err error) //sys Fstat(fd int, stat *Stat_t) (err error) //sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 @@ -19,12 +20,13 @@ package unix //sysnb Getgid() (gid int) //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) //sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) //sys Lchown(path string, uid int, gid int) (err error) //sys Listen(s int, n int) (err error) //sys Lstat(path string, stat *Stat_t) (err error) //sys Pause() (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) @@ -42,6 +44,7 @@ package unix //sys Statfs(path string, buf *Statfs_t) (err error) //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) //sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) @@ -116,3 +119,38 @@ func (cmsg *Cmsghdr) SetLen(length int) { func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_netbsd.go index d9946e5f..853d5f0f 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_netbsd.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_netbsd.go @@ -110,8 +110,14 @@ func direntNamlen(buf []byte) (uint64, bool) { return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) } +//sysnb pipe() (fd1 int, fd2 int, err error) + func Pipe(p []int) (err error) { - return Pipe2(p, 0) + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return } //sysnb pipe2(p *[2]_C_int, flags int) (err error) @@ -122,10 +128,8 @@ func Pipe2(p []int, flags int) error { } var pp [2]_C_int err := pipe2(&pp, flags) - if err == nil { - p[0] = int(pp[0]) - p[1] = int(pp[1]) - } + p[0] = int(pp[0]) + p[1] = int(pp[1]) return err } @@ -313,8 +317,8 @@ func Statvfs(path string, buf *Statvfs_t) (err error) { //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) //sys read(fd int, p []byte) (n int, err error) //sys Readlink(path string, buf []byte) (n int, err error) //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_openbsd.go index 0d94765b..22b55038 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_openbsd.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -87,10 +87,8 @@ func Pipe2(p []int, flags int) error { } var pp [2]_C_int err := pipe2(&pp, flags) - if err == nil { - p[0] = int(pp[0]) - p[1] = int(pp[1]) - } + p[0] = int(pp[0]) + p[1] = int(pp[1]) return err } @@ -274,8 +272,8 @@ func Uname(uname *Utsname) error { //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) //sys read(fd int, p []byte) (n int, err error) //sys Readlink(path string, buf []byte) (n int, err error) //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_solaris.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_solaris.go index 8c4e8006..77fcde7c 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_solaris.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -13,10 +13,7 @@ package unix import ( - "fmt" - "os" "runtime" - "sync" "syscall" "unsafe" ) @@ -66,10 +63,8 @@ func Pipe(p []int) (err error) { if n != 0 { return err } - if err == nil { - p[0] = int(pp[0]) - p[1] = int(pp[1]) - } + p[0] = int(pp[0]) + p[1] = int(pp[1]) return nil } @@ -81,10 +76,8 @@ func Pipe2(p []int, flags int) error { } var pp [2]_C_int err := pipe2(&pp, flags) - if err == nil { - p[0] = int(pp[0]) - p[1] = int(pp[1]) - } + p[0] = int(pp[0]) + p[1] = int(pp[1]) return err } @@ -96,7 +89,9 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil } @@ -109,7 +104,9 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) sa.raw.Scope_id = sa.ZoneId - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil } @@ -417,7 +414,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { sa := new(SockaddrInet4) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil case AF_INET6: @@ -426,7 +425,9 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.ZoneId = pp.Scope_id - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil } return nil, EAFNOSUPPORT @@ -451,9 +452,10 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) { //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg -func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { var msg Msghdr - msg.Name = (*byte)(unsafe.Pointer(rsa)) + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) msg.Namelen = uint32(SizeofSockaddrAny) var iov Iovec if len(p) > 0 { @@ -475,12 +477,29 @@ func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn return } oobn = int(msg.Accrightslen) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) return } //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg -func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(ptr)) msg.Namelen = uint32(salen) @@ -643,8 +662,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e //sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) //sys Pause() (err error) -//sys pread(fd int, p []byte, offset int64) (n int, err error) -//sys pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) //sys read(fd int, p []byte) (n int, err error) //sys Readlink(path string, buf []byte) (n int, err error) //sys Rename(from string, to string) (err error) @@ -725,240 +744,3 @@ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, e func Munmap(b []byte) (err error) { return mapper.Munmap(b) } - -// Event Ports - -type fileObjCookie struct { - fobj *fileObj - cookie interface{} -} - -// EventPort provides a safe abstraction on top of Solaris/illumos Event Ports. -type EventPort struct { - port int - mu sync.Mutex - fds map[uintptr]interface{} - paths map[string]*fileObjCookie -} - -// PortEvent is an abstraction of the port_event C struct. -// Compare Source against PORT_SOURCE_FILE or PORT_SOURCE_FD -// to see if Path or Fd was the event source. The other will be -// uninitialized. -type PortEvent struct { - Cookie interface{} - Events int32 - Fd uintptr - Path string - Source uint16 - fobj *fileObj -} - -// NewEventPort creates a new EventPort including the -// underlying call to port_create(3c). -func NewEventPort() (*EventPort, error) { - port, err := port_create() - if err != nil { - return nil, err - } - e := &EventPort{ - port: port, - fds: make(map[uintptr]interface{}), - paths: make(map[string]*fileObjCookie), - } - return e, nil -} - -//sys port_create() (n int, err error) -//sys port_associate(port int, source int, object uintptr, events int, user *byte) (n int, err error) -//sys port_dissociate(port int, source int, object uintptr) (n int, err error) -//sys port_get(port int, pe *portEvent, timeout *Timespec) (n int, err error) -//sys port_getn(port int, pe *portEvent, max uint32, nget *uint32, timeout *Timespec) (n int, err error) - -// Close closes the event port. -func (e *EventPort) Close() error { - e.mu.Lock() - defer e.mu.Unlock() - e.fds = nil - e.paths = nil - return Close(e.port) -} - -// PathIsWatched checks to see if path is associated with this EventPort. -func (e *EventPort) PathIsWatched(path string) bool { - e.mu.Lock() - defer e.mu.Unlock() - _, found := e.paths[path] - return found -} - -// FdIsWatched checks to see if fd is associated with this EventPort. -func (e *EventPort) FdIsWatched(fd uintptr) bool { - e.mu.Lock() - defer e.mu.Unlock() - _, found := e.fds[fd] - return found -} - -// AssociatePath wraps port_associate(3c) for a filesystem path including -// creating the necessary file_obj from the provided stat information. -func (e *EventPort) AssociatePath(path string, stat os.FileInfo, events int, cookie interface{}) error { - e.mu.Lock() - defer e.mu.Unlock() - if _, found := e.paths[path]; found { - return fmt.Errorf("%v is already associated with this Event Port", path) - } - fobj, err := createFileObj(path, stat) - if err != nil { - return err - } - fCookie := &fileObjCookie{fobj, cookie} - _, err = port_associate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(fobj)), events, (*byte)(unsafe.Pointer(&fCookie.cookie))) - if err != nil { - return err - } - e.paths[path] = fCookie - return nil -} - -// DissociatePath wraps port_dissociate(3c) for a filesystem path. -func (e *EventPort) DissociatePath(path string) error { - e.mu.Lock() - defer e.mu.Unlock() - f, ok := e.paths[path] - if !ok { - return fmt.Errorf("%v is not associated with this Event Port", path) - } - _, err := port_dissociate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(f.fobj))) - if err != nil { - return err - } - delete(e.paths, path) - return nil -} - -// AssociateFd wraps calls to port_associate(3c) on file descriptors. -func (e *EventPort) AssociateFd(fd uintptr, events int, cookie interface{}) error { - e.mu.Lock() - defer e.mu.Unlock() - if _, found := e.fds[fd]; found { - return fmt.Errorf("%v is already associated with this Event Port", fd) - } - pcookie := &cookie - _, err := port_associate(e.port, PORT_SOURCE_FD, fd, events, (*byte)(unsafe.Pointer(pcookie))) - if err != nil { - return err - } - e.fds[fd] = pcookie - return nil -} - -// DissociateFd wraps calls to port_dissociate(3c) on file descriptors. -func (e *EventPort) DissociateFd(fd uintptr) error { - e.mu.Lock() - defer e.mu.Unlock() - _, ok := e.fds[fd] - if !ok { - return fmt.Errorf("%v is not associated with this Event Port", fd) - } - _, err := port_dissociate(e.port, PORT_SOURCE_FD, fd) - if err != nil { - return err - } - delete(e.fds, fd) - return nil -} - -func createFileObj(name string, stat os.FileInfo) (*fileObj, error) { - fobj := new(fileObj) - bs, err := ByteSliceFromString(name) - if err != nil { - return nil, err - } - fobj.Name = (*int8)(unsafe.Pointer(&bs[0])) - s := stat.Sys().(*syscall.Stat_t) - fobj.Atim.Sec = s.Atim.Sec - fobj.Atim.Nsec = s.Atim.Nsec - fobj.Mtim.Sec = s.Mtim.Sec - fobj.Mtim.Nsec = s.Mtim.Nsec - fobj.Ctim.Sec = s.Ctim.Sec - fobj.Ctim.Nsec = s.Ctim.Nsec - return fobj, nil -} - -// GetOne wraps port_get(3c) and returns a single PortEvent. -func (e *EventPort) GetOne(t *Timespec) (*PortEvent, error) { - pe := new(portEvent) - _, err := port_get(e.port, pe, t) - if err != nil { - return nil, err - } - p := new(PortEvent) - p.Events = pe.Events - p.Source = pe.Source - e.mu.Lock() - defer e.mu.Unlock() - switch pe.Source { - case PORT_SOURCE_FD: - p.Fd = uintptr(pe.Object) - cookie := (*interface{})(unsafe.Pointer(pe.User)) - p.Cookie = *cookie - delete(e.fds, p.Fd) - case PORT_SOURCE_FILE: - p.fobj = (*fileObj)(unsafe.Pointer(uintptr(pe.Object))) - p.Path = BytePtrToString((*byte)(unsafe.Pointer(p.fobj.Name))) - cookie := (*interface{})(unsafe.Pointer(pe.User)) - p.Cookie = *cookie - delete(e.paths, p.Path) - } - return p, nil -} - -// Pending wraps port_getn(3c) and returns how many events are pending. -func (e *EventPort) Pending() (int, error) { - var n uint32 = 0 - _, err := port_getn(e.port, nil, 0, &n, nil) - return int(n), err -} - -// Get wraps port_getn(3c) and fills a slice of PortEvent. -// It will block until either min events have been received -// or the timeout has been exceeded. It will return how many -// events were actually received along with any error information. -func (e *EventPort) Get(s []PortEvent, min int, timeout *Timespec) (int, error) { - if min == 0 { - return 0, fmt.Errorf("need to request at least one event or use Pending() instead") - } - if len(s) < min { - return 0, fmt.Errorf("len(s) (%d) is less than min events requested (%d)", len(s), min) - } - got := uint32(min) - max := uint32(len(s)) - var err error - ps := make([]portEvent, max, max) - _, err = port_getn(e.port, &ps[0], max, &got, timeout) - // got will be trustworthy with ETIME, but not any other error. - if err != nil && err != ETIME { - return 0, err - } - e.mu.Lock() - defer e.mu.Unlock() - for i := 0; i < int(got); i++ { - s[i].Events = ps[i].Events - s[i].Source = ps[i].Source - switch ps[i].Source { - case PORT_SOURCE_FD: - s[i].Fd = uintptr(ps[i].Object) - cookie := (*interface{})(unsafe.Pointer(ps[i].User)) - s[i].Cookie = *cookie - delete(e.fds, s[i].Fd) - case PORT_SOURCE_FILE: - s[i].fobj = (*fileObj)(unsafe.Pointer(uintptr(ps[i].Object))) - s[i].Path = BytePtrToString((*byte)(unsafe.Pointer(s[i].fobj.Name))) - cookie := (*interface{})(unsafe.Pointer(ps[i].User)) - s[i].Cookie = *cookie - delete(e.paths, s[i].Path) - } - } - return int(got), err -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_unix.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_unix.go index 70508afc..a7618ceb 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_unix.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_unix.go @@ -177,30 +177,6 @@ func Write(fd int, p []byte) (n int, err error) { return } -func Pread(fd int, p []byte, offset int64) (n int, err error) { - n, err = pread(fd, p, offset) - if raceenabled { - if n > 0 { - raceWriteRange(unsafe.Pointer(&p[0]), n) - } - if err == nil { - raceAcquire(unsafe.Pointer(&ioSync)) - } - } - return -} - -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { - if raceenabled { - raceReleaseMerge(unsafe.Pointer(&ioSync)) - } - n, err = pwrite(fd, p, offset) - if raceenabled && n > 0 { - raceReadRange(unsafe.Pointer(&p[0]), n) - } - return -} - // For testing: clients can set this flag to force // creation of IPv6 sockets to return EAFNOSUPPORT. var SocketDisableIPv6 bool @@ -337,37 +313,6 @@ func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { return } -func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { - var rsa RawSockaddrAny - n, oobn, recvflags, err = recvmsgRaw(fd, p, oob, flags, &rsa) - // source address is only specified if the socket is unconnected - if rsa.Addr.Family != AF_UNSPEC { - from, err = anyToSockaddr(fd, &rsa) - } - return -} - -func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { - _, err = SendmsgN(fd, p, oob, to, flags) - return -} - -func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { - var ptr unsafe.Pointer - var salen _Socklen - if to != nil { - ptr, salen, err = to.sockaddr() - if err != nil { - return 0, err - } - } - return sendmsgN(fd, p, oob, ptr, salen, flags) -} - -func Send(s int, buf []byte, flags int) (err error) { - return sendto(s, buf, flags, nil, 0) -} - func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { ptr, n, err := to.sockaddr() if err != nil { diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go index f8616f45..1ffd8bfc 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go @@ -67,7 +67,9 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil } @@ -81,7 +83,9 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) sa.raw.Scope_id = sa.ZoneId - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil } @@ -140,7 +144,9 @@ func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) { sa := new(SockaddrInet4) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil case AF_INET6: @@ -149,7 +155,9 @@ func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) { p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.ZoneId = pp.Scope_id - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil } return nil, EAFNOSUPPORT @@ -579,10 +587,8 @@ func Pipe(p []int) (err error) { } var pp [2]_C_int err = pipe(&pp) - if err == nil { - p[0] = int(pp[0]) - p[1] = int(pp[1]) - } + p[0] = int(pp[0]) + p[1] = int(pp[1]) return } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_linux.go b/cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_linux.go deleted file mode 100644 index 2c3a4437..00000000 --- a/cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_linux.go +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2021 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. - -//go:build linux -// +build linux - -package unix - -import "runtime" - -// SysvShmCtl performs control operations on the shared memory segment -// specified by id. -func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { - if runtime.GOARCH == "arm" || - runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { - cmd |= ipc_64 - } - - return shmctl(id, cmd, desc) -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_unix.go b/cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_unix.go deleted file mode 100644 index 0bb4c8de..00000000 --- a/cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_unix.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2021 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. - -//go:build (darwin && !ios) || linux -// +build darwin,!ios linux - -package unix - -import ( - "unsafe" - - "golang.org/x/sys/internal/unsafeheader" -) - -// SysvShmAttach attaches the Sysv shared memory segment associated with the -// shared memory identifier id. -func SysvShmAttach(id int, addr uintptr, flag int) ([]byte, error) { - addr, errno := shmat(id, addr, flag) - if errno != nil { - return nil, errno - } - - // Retrieve the size of the shared memory to enable slice creation - var info SysvShmDesc - - _, err := SysvShmCtl(id, IPC_STAT, &info) - if err != nil { - // release the shared memory if we can't find the size - - // ignoring error from shmdt as there's nothing sensible to return here - shmdt(addr) - return nil, err - } - - // Use unsafe to convert addr into a []byte. - // TODO: convert to unsafe.Slice once we can assume Go 1.17 - var b []byte - hdr := (*unsafeheader.Slice)(unsafe.Pointer(&b)) - hdr.Data = unsafe.Pointer(addr) - hdr.Cap = int(info.Segsz) - hdr.Len = int(info.Segsz) - return b, nil -} - -// SysvShmDetach unmaps the shared memory slice returned from SysvShmAttach. -// -// It is not safe to use the slice after calling this function. -func SysvShmDetach(data []byte) error { - if len(data) == 0 { - return EINVAL - } - - return shmdt(uintptr(unsafe.Pointer(&data[0]))) -} - -// SysvShmGet returns the Sysv shared memory identifier associated with key. -// If the IPC_CREAT flag is specified a new segment is created. -func SysvShmGet(key, size, flag int) (id int, err error) { - return shmget(key, size, flag) -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go b/cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go deleted file mode 100644 index 71bddefd..00000000 --- a/cmd/sync/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2021 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. - -//go:build darwin && !ios -// +build darwin,!ios - -package unix - -// SysvShmCtl performs control operations on the shared memory segment -// specified by id. -func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { - return shmctl(id, cmd, desc) -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go index 476a1c7e..991996b6 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -12,1582 +12,1550 @@ package unix import "syscall" const ( - AF_APPLETALK = 0x10 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1c - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1e - AF_IPX = 0x17 - AF_ISDN = 0x1c - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x29 - AF_NATM = 0x1f - AF_NDRV = 0x1b - AF_NETBIOS = 0x21 - AF_NS = 0x6 - AF_OSI = 0x7 - AF_PPP = 0x22 - AF_PUP = 0x4 - AF_RESERVED_36 = 0x24 - AF_ROUTE = 0x11 - AF_SIP = 0x18 - AF_SNA = 0xb - AF_SYSTEM = 0x20 - AF_SYS_CONTROL = 0x2 - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_UTUN = 0x26 - AF_VSOCK = 0x28 - ALTWERASE = 0x200 - ATTR_BIT_MAP_COUNT = 0x5 - ATTR_CMN_ACCESSMASK = 0x20000 - ATTR_CMN_ACCTIME = 0x1000 - ATTR_CMN_ADDEDTIME = 0x10000000 - ATTR_CMN_BKUPTIME = 0x2000 - ATTR_CMN_CHGTIME = 0x800 - ATTR_CMN_CRTIME = 0x200 - ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 - ATTR_CMN_DEVID = 0x2 - ATTR_CMN_DOCUMENT_ID = 0x100000 - ATTR_CMN_ERROR = 0x20000000 - ATTR_CMN_EXTENDED_SECURITY = 0x400000 - ATTR_CMN_FILEID = 0x2000000 - ATTR_CMN_FLAGS = 0x40000 - ATTR_CMN_FNDRINFO = 0x4000 - ATTR_CMN_FSID = 0x4 - ATTR_CMN_FULLPATH = 0x8000000 - ATTR_CMN_GEN_COUNT = 0x80000 - ATTR_CMN_GRPID = 0x10000 - ATTR_CMN_GRPUUID = 0x1000000 - ATTR_CMN_MODTIME = 0x400 - ATTR_CMN_NAME = 0x1 - ATTR_CMN_NAMEDATTRCOUNT = 0x80000 - ATTR_CMN_NAMEDATTRLIST = 0x100000 - ATTR_CMN_OBJID = 0x20 - ATTR_CMN_OBJPERMANENTID = 0x40 - ATTR_CMN_OBJTAG = 0x10 - ATTR_CMN_OBJTYPE = 0x8 - ATTR_CMN_OWNERID = 0x8000 - ATTR_CMN_PARENTID = 0x4000000 - ATTR_CMN_PAROBJID = 0x80 - ATTR_CMN_RETURNED_ATTRS = 0x80000000 - ATTR_CMN_SCRIPT = 0x100 - ATTR_CMN_SETMASK = 0x51c7ff00 - ATTR_CMN_USERACCESS = 0x200000 - ATTR_CMN_UUID = 0x800000 - ATTR_CMN_VALIDMASK = 0xffffffff - ATTR_CMN_VOLSETMASK = 0x6700 - ATTR_FILE_ALLOCSIZE = 0x4 - ATTR_FILE_CLUMPSIZE = 0x10 - ATTR_FILE_DATAALLOCSIZE = 0x400 - ATTR_FILE_DATAEXTENTS = 0x800 - ATTR_FILE_DATALENGTH = 0x200 - ATTR_FILE_DEVTYPE = 0x20 - ATTR_FILE_FILETYPE = 0x40 - ATTR_FILE_FORKCOUNT = 0x80 - ATTR_FILE_FORKLIST = 0x100 - ATTR_FILE_IOBLOCKSIZE = 0x8 - ATTR_FILE_LINKCOUNT = 0x1 - ATTR_FILE_RSRCALLOCSIZE = 0x2000 - ATTR_FILE_RSRCEXTENTS = 0x4000 - ATTR_FILE_RSRCLENGTH = 0x1000 - ATTR_FILE_SETMASK = 0x20 - ATTR_FILE_TOTALSIZE = 0x2 - ATTR_FILE_VALIDMASK = 0x37ff - ATTR_VOL_ALLOCATIONCLUMP = 0x40 - ATTR_VOL_ATTRIBUTES = 0x40000000 - ATTR_VOL_CAPABILITIES = 0x20000 - ATTR_VOL_DIRCOUNT = 0x400 - ATTR_VOL_ENCODINGSUSED = 0x10000 - ATTR_VOL_FILECOUNT = 0x200 - ATTR_VOL_FSTYPE = 0x1 - ATTR_VOL_INFO = 0x80000000 - ATTR_VOL_IOBLOCKSIZE = 0x80 - ATTR_VOL_MAXOBJCOUNT = 0x800 - ATTR_VOL_MINALLOCATION = 0x20 - ATTR_VOL_MOUNTEDDEVICE = 0x8000 - ATTR_VOL_MOUNTFLAGS = 0x4000 - ATTR_VOL_MOUNTPOINT = 0x1000 - ATTR_VOL_NAME = 0x2000 - ATTR_VOL_OBJCOUNT = 0x100 - ATTR_VOL_QUOTA_SIZE = 0x10000000 - ATTR_VOL_RESERVED_SIZE = 0x20000000 - ATTR_VOL_SETMASK = 0x80002000 - ATTR_VOL_SIGNATURE = 0x2 - ATTR_VOL_SIZE = 0x4 - ATTR_VOL_SPACEAVAIL = 0x10 - ATTR_VOL_SPACEFREE = 0x8 - ATTR_VOL_SPACEUSED = 0x800000 - ATTR_VOL_UUID = 0x40000 - ATTR_VOL_VALIDMASK = 0xf087ffff - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B9600 = 0x2580 - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc00c4279 - BIOCGETIF = 0x4020426b - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4010426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044278 - BIOCSETF = 0x80104267 - BIOCSETFNR = 0x8010427e - BIOCSETIF = 0x8020426c - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8010426d - BIOCSSEESENT = 0x80044277 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x8000 - BSDLY = 0x8000 - CFLUSH = 0xf - CLOCAL = 0x8000 - CLOCK_MONOTONIC = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_MONOTONIC_RAW_APPROX = 0x5 - CLOCK_PROCESS_CPUTIME_ID = 0xc - CLOCK_REALTIME = 0x0 - CLOCK_THREAD_CPUTIME_ID = 0x10 - CLOCK_UPTIME_RAW = 0x8 - CLOCK_UPTIME_RAW_APPROX = 0x9 - CLONE_NOFOLLOW = 0x1 - CLONE_NOOWNERCOPY = 0x2 - CR0 = 0x0 - CR1 = 0x1000 - CR2 = 0x2000 - CR3 = 0x3000 - CRDLY = 0x3000 - CREAD = 0x800 - CRTSCTS = 0x30000 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTLIOCGINFO = 0xc0644e03 - CTL_HW = 0x6 - CTL_KERN = 0x1 - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0x10a - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_DARWIN = 0x10a - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_EXCEPT = -0xf - EVFILT_FS = -0x9 - EVFILT_MACHPORT = -0x8 - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0x11 - EVFILT_THREADMARKER = 0x11 - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xa - EVFILT_VM = -0xc - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_DISPATCH2 = 0x180 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG0 = 0x1000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_OOBAND = 0x2000 - EV_POLL = 0x1000 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EV_UDATA_SPECIFIC = 0x100 - EV_VANISHED = 0x200 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x4000 - FFDLY = 0x4000 - FLUSHO = 0x800000 - FSOPT_ATTR_CMN_EXTENDED = 0x20 - FSOPT_NOFOLLOW = 0x1 - FSOPT_NOINMEMUPDATE = 0x2 - FSOPT_PACK_INVAL_ATTRS = 0x8 - FSOPT_REPORT_FULLSIZE = 0x4 - FSOPT_RETURN_REALDEV = 0x200 - F_ADDFILESIGS = 0x3d - F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 - F_ADDFILESIGS_INFO = 0x67 - F_ADDFILESIGS_RETURN = 0x61 - F_ADDFILESUPPL = 0x68 - F_ADDSIGS = 0x3b - F_ALLOCATEALL = 0x4 - F_ALLOCATECONTIG = 0x2 - F_BARRIERFSYNC = 0x55 - F_CHECK_LV = 0x62 - F_CHKCLEAN = 0x29 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x43 - F_FINDSIGS = 0x4e - F_FLUSH_DATA = 0x28 - F_FREEZE_FS = 0x35 - F_FULLFSYNC = 0x33 - F_GETCODEDIR = 0x48 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETLKPID = 0x42 - F_GETNOSIGPIPE = 0x4a - F_GETOWN = 0x5 - F_GETPATH = 0x32 - F_GETPATH_MTMINFO = 0x47 - F_GETPATH_NOFIRMLINK = 0x66 - F_GETPROTECTIONCLASS = 0x3f - F_GETPROTECTIONLEVEL = 0x4d - F_GETSIGSINFO = 0x69 - F_GLOBAL_NOCACHE = 0x37 - F_LOG2PHYS = 0x31 - F_LOG2PHYS_EXT = 0x41 - F_NOCACHE = 0x30 - F_NODIRECT = 0x3e - F_OK = 0x0 - F_PATHPKG_CHECK = 0x34 - F_PEOFPOSMODE = 0x3 - F_PREALLOCATE = 0x2a - F_PUNCHHOLE = 0x63 - F_RDADVISE = 0x2c - F_RDAHEAD = 0x2d - F_RDLCK = 0x1 - F_SETBACKINGSTORE = 0x46 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETLKWTIMEOUT = 0xa - F_SETNOSIGPIPE = 0x49 - F_SETOWN = 0x6 - F_SETPROTECTIONCLASS = 0x40 - F_SETSIZE = 0x2b - F_SINGLE_WRITER = 0x4c - F_SPECULATIVE_READ = 0x65 - F_THAW_FS = 0x36 - F_TRANSCODEKEY = 0x4b - F_TRIM_ACTIVE_FILE = 0x64 - F_UNLCK = 0x2 - F_VOLPOSMODE = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - HW_MACHINE = 0x1 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_6LOWPAN = 0x40 - IFT_AAL5 = 0x31 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ATM = 0x25 - IFT_BRIDGE = 0xd1 - IFT_CARP = 0xf8 - IFT_CELLULAR = 0xff - IFT_CEPT = 0x13 - IFT_DS3 = 0x1e - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_ETHER = 0x6 - IFT_FAITH = 0x38 - IFT_FDDI = 0xf - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_GIF = 0x37 - IFT_HDH1822 = 0x3 - IFT_HIPPI = 0x2f - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IEEE1394 = 0x90 - IFT_IEEE8023ADLAG = 0x88 - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88026 = 0xa - IFT_L2VLAN = 0x87 - IFT_LAPB = 0x10 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_NSIP = 0x1b - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PDP = 0xff - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PKTAP = 0xfe - IFT_PPP = 0x17 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PTPSERIAL = 0x16 - IFT_RS232 = 0x21 - IFT_SDLC = 0x11 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_STARLAN = 0xb - IFT_STF = 0x39 - IFT_T1 = 0x12 - IFT_ULTRA = 0x1d - IFT_V35 = 0x2d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LINKLOCALNETNUM = 0xa9fe0000 - IN_LOOPBACKNET = 0x7f - IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x400473d1 - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0xfe - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEP = 0x21 - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_2292DSTOPTS = 0x17 - IPV6_2292HOPLIMIT = 0x14 - IPV6_2292HOPOPTS = 0x16 - IPV6_2292NEXTHOP = 0x15 - IPV6_2292PKTINFO = 0x13 - IPV6_2292PKTOPTIONS = 0x19 - IPV6_2292RTHDR = 0x18 - IPV6_3542DSTOPTS = 0x32 - IPV6_3542HOPLIMIT = 0x2f - IPV6_3542HOPOPTS = 0x31 - IPV6_3542NEXTHOP = 0x30 - IPV6_3542PKTINFO = 0x2e - IPV6_3542RTHDR = 0x33 - IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 - IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 - IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_BINDV6ONLY = 0x1b - IPV6_BOUND_IF = 0x7d - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FLOW_ECN_MASK = 0x3000 - IPV6_FRAGTTL = 0x3c - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MSFILTER = 0x4a - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_PREFER_TEMPADDR = 0x3f - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x3d - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x23 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x39 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x24 - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BLOCK_SOURCE = 0x48 - IP_BOUND_IF = 0x19 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DONTFRAG = 0x1c - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW_ADD = 0x28 - IP_FW_DEL = 0x29 - IP_FW_FLUSH = 0x2a - IP_FW_GET = 0x2c - IP_FW_RESETLOG = 0x2d - IP_FW_ZERO = 0x2b - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MF = 0x2000 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_IFINDEX = 0x42 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_NAT__XXX = 0x37 - IP_OFFMASK = 0x1fff - IP_OLD_FW_ADD = 0x32 - IP_OLD_FW_DEL = 0x33 - IP_OLD_FW_FLUSH = 0x34 - IP_OLD_FW_GET = 0x36 - IP_OLD_FW_RESETLOG = 0x38 - IP_OLD_FW_ZERO = 0x35 - IP_OPTIONS = 0x1 - IP_PKTINFO = 0x1a - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVPKTINFO = 0x1a - IP_RECVRETOPTS = 0x6 - IP_RECVTOS = 0x1b - IP_RECVTTL = 0x18 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_STRIPHDR = 0x17 - IP_TOS = 0x3 - IP_TRAFFIC_MGT_BACKGROUND = 0x41 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - KERN_HOSTNAME = 0xa - KERN_OSRELEASE = 0x2 - KERN_OSTYPE = 0x1 - KERN_VERSION = 0x4 - LOCAL_PEERCRED = 0x1 - LOCAL_PEEREPID = 0x3 - LOCAL_PEEREUUID = 0x5 - LOCAL_PEERPID = 0x2 - LOCAL_PEERTOKEN = 0x6 - LOCAL_PEERUUID = 0x4 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_CAN_REUSE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_FREE_REUSABLE = 0x7 - MADV_FREE_REUSE = 0x8 - MADV_NORMAL = 0x0 - MADV_PAGEOUT = 0xa - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MADV_ZERO_WIRED_PAGES = 0x6 - MAP_32BIT = 0x8000 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 - MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_JIT = 0x800 - MAP_NOCACHE = 0x400 - MAP_NOEXTEND = 0x100 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_RESILIENT_CODESIGN = 0x2000 - MAP_RESILIENT_MEDIA = 0x4000 - MAP_SHARED = 0x1 - MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 - MAP_UNIX03 = 0x40000 - MCAST_BLOCK_SOURCE = 0x54 - MCAST_EXCLUDE = 0x2 - MCAST_INCLUDE = 0x1 - MCAST_JOIN_GROUP = 0x50 - MCAST_JOIN_SOURCE_GROUP = 0x52 - MCAST_LEAVE_GROUP = 0x51 - MCAST_LEAVE_SOURCE_GROUP = 0x53 - MCAST_UNBLOCK_SOURCE = 0x55 - MCAST_UNDEFINED = 0x0 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MNT_ASYNC = 0x40 - MNT_AUTOMOUNTED = 0x400000 - MNT_CMDFLAGS = 0xf0000 - MNT_CPROTECT = 0x80 - MNT_DEFWRITE = 0x2000000 - MNT_DONTBROWSE = 0x100000 - MNT_DOVOLFS = 0x8000 - MNT_DWAIT = 0x4 - MNT_EXPORTED = 0x100 - MNT_EXT_ROOT_DATA_VOL = 0x1 - MNT_FORCE = 0x80000 - MNT_IGNORE_OWNERSHIP = 0x200000 - MNT_JOURNALED = 0x800000 - MNT_LOCAL = 0x1000 - MNT_MULTILABEL = 0x4000000 - MNT_NOATIME = 0x10000000 - MNT_NOBLOCK = 0x20000 - MNT_NODEV = 0x10 - MNT_NOEXEC = 0x4 - MNT_NOSUID = 0x8 - MNT_NOUSERXATTR = 0x1000000 - MNT_NOWAIT = 0x2 - MNT_QUARANTINE = 0x400 - MNT_QUOTA = 0x2000 - MNT_RDONLY = 0x1 - MNT_RELOAD = 0x40000 - MNT_REMOVABLE = 0x200 - MNT_ROOTFS = 0x4000 - MNT_SNAPSHOT = 0x40000000 - MNT_STRICTATIME = 0x80000000 - MNT_SYNCHRONOUS = 0x2 - MNT_UNION = 0x20 - MNT_UNKNOWNPERMISSIONS = 0x200000 - MNT_UPDATE = 0x10000 - MNT_VISFLAGMASK = 0xd7f0f7ff - MNT_WAIT = 0x1 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_FLUSH = 0x400 - MSG_HAVEMORE = 0x2000 - MSG_HOLD = 0x800 - MSG_NEEDSA = 0x10000 - MSG_NOSIGNAL = 0x80000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_RCVMORE = 0x4000 - MSG_SEND = 0x1000 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MSG_WAITSTREAM = 0x200 - MS_ASYNC = 0x1 - MS_DEACTIVATE = 0x8 - MS_INVALIDATE = 0x2 - MS_KILLPAGES = 0x4 - MS_SYNC = 0x10 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_DUMP2 = 0x7 - NET_RT_FLAGS = 0x2 - NET_RT_FLAGS_PRIV = 0xa - NET_RT_IFLIST = 0x3 - NET_RT_IFLIST2 = 0x6 - NET_RT_MAXID = 0xb - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 - NFDBITS = 0x20 - NL0 = 0x0 - NL1 = 0x100 - NL2 = 0x200 - NL3 = 0x300 - NLDLY = 0x300 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ABSOLUTE = 0x8 - NOTE_ATTRIB = 0x8 - NOTE_BACKGROUND = 0x40 - NOTE_CHILD = 0x4 - NOTE_CRITICAL = 0x20 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXITSTATUS = 0x4000000 - NOTE_EXIT_CSERROR = 0x40000 - NOTE_EXIT_DECRYPTFAIL = 0x10000 - NOTE_EXIT_DETAIL = 0x2000000 - NOTE_EXIT_DETAIL_MASK = 0x70000 - NOTE_EXIT_MEMORY = 0x20000 - NOTE_EXIT_REPARENTED = 0x80000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_FUNLOCK = 0x100 - NOTE_LEEWAY = 0x10 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_MACHTIME = 0x100 - NOTE_MACH_CONTINUOUS_TIME = 0x80 - NOTE_NONE = 0x80 - NOTE_NSECONDS = 0x4 - NOTE_OOB = 0x2 - NOTE_PCTRLMASK = -0x100000 - NOTE_PDATAMASK = 0xfffff - NOTE_REAP = 0x10000000 - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_SECONDS = 0x1 - NOTE_SIGNAL = 0x8000000 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_USECONDS = 0x2 - NOTE_VM_ERROR = 0x10000000 - NOTE_VM_PRESSURE = 0x80000000 - NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 - NOTE_VM_PRESSURE_TERMINATE = 0x40000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - OFDEL = 0x20000 - OFILL = 0x80 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - OXTABS = 0x4 - O_ACCMODE = 0x3 - O_ALERT = 0x20000000 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x1000000 - O_CREAT = 0x200 - O_DIRECTORY = 0x100000 - O_DP_GETRAWENCRYPTED = 0x1 - O_DP_GETRAWUNENCRYPTED = 0x2 - O_DSYNC = 0x400000 - O_EVTONLY = 0x8000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x20000 - O_NOFOLLOW = 0x100 - O_NOFOLLOW_ANY = 0x20000000 - O_NONBLOCK = 0x4 - O_POPUP = 0x80000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYMLINK = 0x200000 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PT_ATTACH = 0xa - PT_ATTACHEXC = 0xe - PT_CONTINUE = 0x7 - PT_DENY_ATTACH = 0x1f - PT_DETACH = 0xb - PT_FIRSTMACH = 0x20 - PT_FORCEQUOTA = 0x1e - PT_KILL = 0x8 - PT_READ_D = 0x2 - PT_READ_I = 0x1 - PT_READ_U = 0x3 - PT_SIGEXC = 0xc - PT_STEP = 0x9 - PT_THUPDATE = 0xd - PT_TRACE_ME = 0x0 - PT_WRITE_D = 0x5 - PT_WRITE_I = 0x4 - PT_WRITE_U = 0x6 - RLIMIT_AS = 0x5 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_CPU_USAGE_MONITOR = 0x2 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_MEMLOCK = 0x6 - RLIMIT_NOFILE = 0x8 - RLIMIT_NPROC = 0x7 - RLIMIT_RSS = 0x5 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_CLONING = 0x100 - RTF_CONDEMNED = 0x2000000 - RTF_DEAD = 0x20000000 - RTF_DELCLONE = 0x80 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_GLOBAL = 0x40000000 - RTF_HOST = 0x4 - RTF_IFREF = 0x4000000 - RTF_IFSCOPE = 0x1000000 - RTF_LLDATA = 0x400 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_NOIFREF = 0x2000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_PROXY = 0x8000000 - RTF_REJECT = 0x8 - RTF_ROUTER = 0x10000000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_WASCLONED = 0x20000 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_GET2 = 0x14 - RTM_IFINFO = 0xe - RTM_IFINFO2 = 0x12 - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_NEWMADDR2 = 0x13 - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SCM_TIMESTAMP_MONOTONIC = 0x4 - SEEK_CUR = 0x1 - SEEK_DATA = 0x4 - SEEK_END = 0x2 - SEEK_HOLE = 0x3 - SEEK_SET = 0x0 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCAIFADDR = 0x8040691a - SIOCARPIPLL = 0xc0206928 - SIOCATMARK = 0x40047307 - SIOCAUTOADDR = 0xc0206926 - SIOCAUTONETMASK = 0x80206927 - SIOCDELMULTI = 0x80206932 - SIOCDIFADDR = 0x80206919 - SIOCDIFPHYADDR = 0x80206941 - SIOCGDRVSPEC = 0xc028697b - SIOCGETVLAN = 0xc020697f - SIOCGHIWAT = 0x40047301 - SIOCGIF6LOWPAN = 0xc02069c5 - SIOCGIFADDR = 0xc0206921 - SIOCGIFALTMTU = 0xc0206948 - SIOCGIFASYNCMAP = 0xc020697c - SIOCGIFBOND = 0xc0206947 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020695b - SIOCGIFCONF = 0xc00c6924 - SIOCGIFDEVMTU = 0xc0206944 - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFFUNCTIONALTYPE = 0xc02069ad - SIOCGIFGENERIC = 0xc020693a - SIOCGIFKPI = 0xc0206987 - SIOCGIFMAC = 0xc0206982 - SIOCGIFMEDIA = 0xc02c6938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206940 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc020693f - SIOCGIFSTATUS = 0xc331693d - SIOCGIFVLAN = 0xc020697f - SIOCGIFWAKEFLAGS = 0xc0206988 - SIOCGIFXMEDIA = 0xc02c6948 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCIFCREATE = 0xc0206978 - SIOCIFCREATE2 = 0xc020697a - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc0106981 - SIOCRSLVMULTI = 0xc010693b - SIOCSDRVSPEC = 0x8028697b - SIOCSETVLAN = 0x8020697e - SIOCSHIWAT = 0x80047300 - SIOCSIF6LOWPAN = 0x802069c4 - SIOCSIFADDR = 0x8020690c - SIOCSIFALTMTU = 0x80206945 - SIOCSIFASYNCMAP = 0x8020697d - SIOCSIFBOND = 0x80206946 - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020695a - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFKPI = 0x80206986 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206983 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x8040693e - SIOCSIFPHYS = 0x80206936 - SIOCSIFVLAN = 0x8020697e - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_LOCAL = 0x0 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_DONTTRUNC = 0x2000 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1010 - SO_LINGER = 0x80 - SO_LINGER_SEC = 0x1080 - SO_NETSVC_MARKING_LEVEL = 0x1119 - SO_NET_SERVICE_TYPE = 0x1116 - SO_NKE = 0x1021 - SO_NOADDRERR = 0x1023 - SO_NOSIGPIPE = 0x1022 - SO_NOTIFYCONFLICT = 0x1026 - SO_NP_EXTENSIONS = 0x1083 - SO_NREAD = 0x1020 - SO_NUMRCVPKT = 0x1112 - SO_NWRITE = 0x1024 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1011 - SO_RANDOMPORT = 0x1082 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_REUSESHAREUID = 0x1025 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TIMESTAMP_MONOTONIC = 0x800 - SO_TRACKER_ATTRIBUTE_FLAGS_APP_APPROVED = 0x1 - SO_TRACKER_ATTRIBUTE_FLAGS_DOMAIN_SHORT = 0x4 - SO_TRACKER_ATTRIBUTE_FLAGS_TRACKER = 0x2 - SO_TRACKER_TRANSPARENCY_VERSION = 0x3 - SO_TYPE = 0x1008 - SO_UPCALLCLOSEWAIT = 0x1027 - SO_USELOOPBACK = 0x40 - SO_WANTMORE = 0x4000 - SO_WANTOOBFLAG = 0x8000 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IFWHT = 0xe000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISTXT = 0x200 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x400 - TAB2 = 0x800 - TAB3 = 0x4 - TABDLY = 0xc04 - TCIFLUSH = 0x1 - TCIOFF = 0x3 - TCIOFLUSH = 0x3 - TCION = 0x4 - TCOFLUSH = 0x2 - TCOOFF = 0x1 - TCOON = 0x2 - TCPOPT_CC = 0xb - TCPOPT_CCECHO = 0xd - TCPOPT_CCNEW = 0xc - TCPOPT_EOL = 0x0 - TCPOPT_FASTOPEN = 0x22 - TCPOPT_MAXSEG = 0x2 - TCPOPT_NOP = 0x1 - TCPOPT_SACK = 0x5 - TCPOPT_SACK_HDR = 0x1010500 - TCPOPT_SACK_PERMITTED = 0x4 - TCPOPT_SACK_PERMIT_HDR = 0x1010402 - TCPOPT_SIGNATURE = 0x13 - TCPOPT_TIMESTAMP = 0x8 - TCPOPT_TSTAMP_HDR = 0x101080a - TCPOPT_WINDOW = 0x3 - TCP_CONNECTIONTIMEOUT = 0x20 - TCP_CONNECTION_INFO = 0x106 - TCP_ENABLE_ECN = 0x104 - TCP_FASTOPEN = 0x105 - TCP_KEEPALIVE = 0x10 - TCP_KEEPCNT = 0x102 - TCP_KEEPINTVL = 0x101 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MINMSS = 0xd8 - TCP_MSS = 0x200 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_NOTSENT_LOWAT = 0x201 - TCP_RXT_CONNDROPTIME = 0x80 - TCP_RXT_FINDROP = 0x100 - TCP_SENDMOREACKS = 0x103 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x40107458 - TIOCDRAIN = 0x2000745e - TIOCDSIMICROCODE = 0x20007455 - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x40487413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGWINSZ = 0x40087468 - TIOCIXOFF = 0x20007480 - TIOCIXON = 0x20007481 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMODG = 0x40047403 - TIOCMODS = 0x80047404 - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTYGNAME = 0x40807453 - TIOCPTYGRANT = 0x20007454 - TIOCPTYUNLK = 0x20007452 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCONS = 0x20007463 - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x80487414 - TIOCSETAF = 0x80487416 - TIOCSETAW = 0x80487415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2000745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40107459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x10 - VM_LOADAVG = 0x2 - VM_MACHFACTOR = 0x4 - VM_MAXID = 0x6 - VM_METER = 0x1 - VM_SWAPUSAGE = 0x5 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VT0 = 0x0 - VT1 = 0x10000 - VTDLY = 0x10000 - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x10 - WCOREFLAG = 0x80 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOWAIT = 0x20 - WORDSIZE = 0x40 - WSTOPPED = 0x8 - WUNTRACED = 0x2 - XATTR_CREATE = 0x2 - XATTR_NODEFAULT = 0x10 - XATTR_NOFOLLOW = 0x1 - XATTR_NOSECURITY = 0x8 - XATTR_REPLACE = 0x4 - XATTR_SHOWCOMPRESSION = 0x20 + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x29 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_SYS_CONTROL = 0x2 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + AF_VSOCK = 0x28 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x51c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CLONE_NOFOLLOW = 0x1 + CLONE_NOOWNERCOPY = 0x2 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTLIOCGINFO = 0xc0644e03 + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x10a + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_DARWIN = 0x10a + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x11 + EVFILT_THREADMARKER = 0x11 + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + FSOPT_RETURN_REALDEV = 0x200 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_INFO = 0x67 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDFILESUPPL = 0x68 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPATH_NOFIRMLINK = 0x66 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GETSIGSINFO = 0x69 + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_SPECULATIVE_READ = 0x65 + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_6LOWPAN = 0x40 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_3542DSTOPTS = 0x32 + IPV6_3542HOPLIMIT = 0x2f + IPV6_3542HOPOPTS = 0x31 + IPV6_3542NEXTHOP = 0x30 + IPV6_3542PKTINFO = 0x2e + IPV6_3542RTHDR = 0x33 + IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 + IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 + IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x3000 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x3d + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x39 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x1c + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCAL_PEERCRED = 0x1 + LOCAL_PEEREPID = 0x3 + LOCAL_PEEREUUID = 0x5 + LOCAL_PEERPID = 0x2 + LOCAL_PEERTOKEN = 0x6 + LOCAL_PEERUUID = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_32BIT = 0x8000 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 + MAP_UNIX03 = 0x40000 + MCAST_BLOCK_SOURCE = 0x54 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x50 + MCAST_JOIN_SOURCE_GROUP = 0x52 + MCAST_LEAVE_GROUP = 0x51 + MCAST_LEAVE_SOURCE_GROUP = 0x53 + MCAST_UNBLOCK_SOURCE = 0x55 + MCAST_UNDEFINED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_EXT_ROOT_DATA_VOL = 0x1 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_REMOVABLE = 0x200 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x40000000 + MNT_STRICTATIME = 0x80000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xd7f0f7ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_NOSIGNAL = 0x80000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_FLAGS_PRIV = 0xa + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xb + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NFDBITS = 0x20 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACHTIME = 0x100 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NOFOLLOW_ANY = 0x20000000 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DEAD = 0x20000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIF6LOWPAN = 0xc02069c5 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFFUNCTIONALTYPE = 0xc02069ad + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGIFXMEDIA = 0xc02c6948 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIF6LOWPAN = 0x802069c4 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 ) // Errors diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go index e36f5178..e644eaf5 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -12,1582 +12,1550 @@ package unix import "syscall" const ( - AF_APPLETALK = 0x10 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1c - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1e - AF_IPX = 0x17 - AF_ISDN = 0x1c - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x29 - AF_NATM = 0x1f - AF_NDRV = 0x1b - AF_NETBIOS = 0x21 - AF_NS = 0x6 - AF_OSI = 0x7 - AF_PPP = 0x22 - AF_PUP = 0x4 - AF_RESERVED_36 = 0x24 - AF_ROUTE = 0x11 - AF_SIP = 0x18 - AF_SNA = 0xb - AF_SYSTEM = 0x20 - AF_SYS_CONTROL = 0x2 - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_UTUN = 0x26 - AF_VSOCK = 0x28 - ALTWERASE = 0x200 - ATTR_BIT_MAP_COUNT = 0x5 - ATTR_CMN_ACCESSMASK = 0x20000 - ATTR_CMN_ACCTIME = 0x1000 - ATTR_CMN_ADDEDTIME = 0x10000000 - ATTR_CMN_BKUPTIME = 0x2000 - ATTR_CMN_CHGTIME = 0x800 - ATTR_CMN_CRTIME = 0x200 - ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 - ATTR_CMN_DEVID = 0x2 - ATTR_CMN_DOCUMENT_ID = 0x100000 - ATTR_CMN_ERROR = 0x20000000 - ATTR_CMN_EXTENDED_SECURITY = 0x400000 - ATTR_CMN_FILEID = 0x2000000 - ATTR_CMN_FLAGS = 0x40000 - ATTR_CMN_FNDRINFO = 0x4000 - ATTR_CMN_FSID = 0x4 - ATTR_CMN_FULLPATH = 0x8000000 - ATTR_CMN_GEN_COUNT = 0x80000 - ATTR_CMN_GRPID = 0x10000 - ATTR_CMN_GRPUUID = 0x1000000 - ATTR_CMN_MODTIME = 0x400 - ATTR_CMN_NAME = 0x1 - ATTR_CMN_NAMEDATTRCOUNT = 0x80000 - ATTR_CMN_NAMEDATTRLIST = 0x100000 - ATTR_CMN_OBJID = 0x20 - ATTR_CMN_OBJPERMANENTID = 0x40 - ATTR_CMN_OBJTAG = 0x10 - ATTR_CMN_OBJTYPE = 0x8 - ATTR_CMN_OWNERID = 0x8000 - ATTR_CMN_PARENTID = 0x4000000 - ATTR_CMN_PAROBJID = 0x80 - ATTR_CMN_RETURNED_ATTRS = 0x80000000 - ATTR_CMN_SCRIPT = 0x100 - ATTR_CMN_SETMASK = 0x51c7ff00 - ATTR_CMN_USERACCESS = 0x200000 - ATTR_CMN_UUID = 0x800000 - ATTR_CMN_VALIDMASK = 0xffffffff - ATTR_CMN_VOLSETMASK = 0x6700 - ATTR_FILE_ALLOCSIZE = 0x4 - ATTR_FILE_CLUMPSIZE = 0x10 - ATTR_FILE_DATAALLOCSIZE = 0x400 - ATTR_FILE_DATAEXTENTS = 0x800 - ATTR_FILE_DATALENGTH = 0x200 - ATTR_FILE_DEVTYPE = 0x20 - ATTR_FILE_FILETYPE = 0x40 - ATTR_FILE_FORKCOUNT = 0x80 - ATTR_FILE_FORKLIST = 0x100 - ATTR_FILE_IOBLOCKSIZE = 0x8 - ATTR_FILE_LINKCOUNT = 0x1 - ATTR_FILE_RSRCALLOCSIZE = 0x2000 - ATTR_FILE_RSRCEXTENTS = 0x4000 - ATTR_FILE_RSRCLENGTH = 0x1000 - ATTR_FILE_SETMASK = 0x20 - ATTR_FILE_TOTALSIZE = 0x2 - ATTR_FILE_VALIDMASK = 0x37ff - ATTR_VOL_ALLOCATIONCLUMP = 0x40 - ATTR_VOL_ATTRIBUTES = 0x40000000 - ATTR_VOL_CAPABILITIES = 0x20000 - ATTR_VOL_DIRCOUNT = 0x400 - ATTR_VOL_ENCODINGSUSED = 0x10000 - ATTR_VOL_FILECOUNT = 0x200 - ATTR_VOL_FSTYPE = 0x1 - ATTR_VOL_INFO = 0x80000000 - ATTR_VOL_IOBLOCKSIZE = 0x80 - ATTR_VOL_MAXOBJCOUNT = 0x800 - ATTR_VOL_MINALLOCATION = 0x20 - ATTR_VOL_MOUNTEDDEVICE = 0x8000 - ATTR_VOL_MOUNTFLAGS = 0x4000 - ATTR_VOL_MOUNTPOINT = 0x1000 - ATTR_VOL_NAME = 0x2000 - ATTR_VOL_OBJCOUNT = 0x100 - ATTR_VOL_QUOTA_SIZE = 0x10000000 - ATTR_VOL_RESERVED_SIZE = 0x20000000 - ATTR_VOL_SETMASK = 0x80002000 - ATTR_VOL_SIGNATURE = 0x2 - ATTR_VOL_SIZE = 0x4 - ATTR_VOL_SPACEAVAIL = 0x10 - ATTR_VOL_SPACEFREE = 0x8 - ATTR_VOL_SPACEUSED = 0x800000 - ATTR_VOL_UUID = 0x40000 - ATTR_VOL_VALIDMASK = 0xf087ffff - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B9600 = 0x2580 - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc00c4279 - BIOCGETIF = 0x4020426b - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4010426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCIMMEDIATE = 0x80044270 - BIOCPROMISC = 0x20004269 - BIOCSBLEN = 0xc0044266 - BIOCSDLT = 0x80044278 - BIOCSETF = 0x80104267 - BIOCSETFNR = 0x8010427e - BIOCSETIF = 0x8020426c - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8010426d - BIOCSSEESENT = 0x80044277 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - BS0 = 0x0 - BS1 = 0x8000 - BSDLY = 0x8000 - CFLUSH = 0xf - CLOCAL = 0x8000 - CLOCK_MONOTONIC = 0x6 - CLOCK_MONOTONIC_RAW = 0x4 - CLOCK_MONOTONIC_RAW_APPROX = 0x5 - CLOCK_PROCESS_CPUTIME_ID = 0xc - CLOCK_REALTIME = 0x0 - CLOCK_THREAD_CPUTIME_ID = 0x10 - CLOCK_UPTIME_RAW = 0x8 - CLOCK_UPTIME_RAW_APPROX = 0x9 - CLONE_NOFOLLOW = 0x1 - CLONE_NOOWNERCOPY = 0x2 - CR0 = 0x0 - CR1 = 0x1000 - CR2 = 0x2000 - CR3 = 0x3000 - CRDLY = 0x3000 - CREAD = 0x800 - CRTSCTS = 0x30000 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTLIOCGINFO = 0xc0644e03 - CTL_HW = 0x6 - CTL_KERN = 0x1 - CTL_MAXNAME = 0xc - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0x10a - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x12 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_DARWIN = 0x10a - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_EXCEPT = -0xf - EVFILT_FS = -0x9 - EVFILT_MACHPORT = -0x8 - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0x11 - EVFILT_THREADMARKER = 0x11 - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xa - EVFILT_VM = -0xc - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_DISPATCH2 = 0x180 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG0 = 0x1000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_OOBAND = 0x2000 - EV_POLL = 0x1000 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EV_UDATA_SPECIFIC = 0x100 - EV_VANISHED = 0x200 - EXTA = 0x4b00 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FF0 = 0x0 - FF1 = 0x4000 - FFDLY = 0x4000 - FLUSHO = 0x800000 - FSOPT_ATTR_CMN_EXTENDED = 0x20 - FSOPT_NOFOLLOW = 0x1 - FSOPT_NOINMEMUPDATE = 0x2 - FSOPT_PACK_INVAL_ATTRS = 0x8 - FSOPT_REPORT_FULLSIZE = 0x4 - FSOPT_RETURN_REALDEV = 0x200 - F_ADDFILESIGS = 0x3d - F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 - F_ADDFILESIGS_INFO = 0x67 - F_ADDFILESIGS_RETURN = 0x61 - F_ADDFILESUPPL = 0x68 - F_ADDSIGS = 0x3b - F_ALLOCATEALL = 0x4 - F_ALLOCATECONTIG = 0x2 - F_BARRIERFSYNC = 0x55 - F_CHECK_LV = 0x62 - F_CHKCLEAN = 0x29 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x43 - F_FINDSIGS = 0x4e - F_FLUSH_DATA = 0x28 - F_FREEZE_FS = 0x35 - F_FULLFSYNC = 0x33 - F_GETCODEDIR = 0x48 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0x7 - F_GETLKPID = 0x42 - F_GETNOSIGPIPE = 0x4a - F_GETOWN = 0x5 - F_GETPATH = 0x32 - F_GETPATH_MTMINFO = 0x47 - F_GETPATH_NOFIRMLINK = 0x66 - F_GETPROTECTIONCLASS = 0x3f - F_GETPROTECTIONLEVEL = 0x4d - F_GETSIGSINFO = 0x69 - F_GLOBAL_NOCACHE = 0x37 - F_LOG2PHYS = 0x31 - F_LOG2PHYS_EXT = 0x41 - F_NOCACHE = 0x30 - F_NODIRECT = 0x3e - F_OK = 0x0 - F_PATHPKG_CHECK = 0x34 - F_PEOFPOSMODE = 0x3 - F_PREALLOCATE = 0x2a - F_PUNCHHOLE = 0x63 - F_RDADVISE = 0x2c - F_RDAHEAD = 0x2d - F_RDLCK = 0x1 - F_SETBACKINGSTORE = 0x46 - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0x8 - F_SETLKW = 0x9 - F_SETLKWTIMEOUT = 0xa - F_SETNOSIGPIPE = 0x49 - F_SETOWN = 0x6 - F_SETPROTECTIONCLASS = 0x40 - F_SETSIZE = 0x2b - F_SINGLE_WRITER = 0x4c - F_SPECULATIVE_READ = 0x65 - F_THAW_FS = 0x36 - F_TRANSCODEKEY = 0x4b - F_TRIM_ACTIVE_FILE = 0x64 - F_UNLCK = 0x2 - F_VOLPOSMODE = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - HW_MACHINE = 0x1 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_DEBUG = 0x4 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_NOTRAILERS = 0x20 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PROMISC = 0x100 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_6LOWPAN = 0x40 - IFT_AAL5 = 0x31 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ATM = 0x25 - IFT_BRIDGE = 0xd1 - IFT_CARP = 0xf8 - IFT_CELLULAR = 0xff - IFT_CEPT = 0x13 - IFT_DS3 = 0x1e - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_ETHER = 0x6 - IFT_FAITH = 0x38 - IFT_FDDI = 0xf - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_GIF = 0x37 - IFT_HDH1822 = 0x3 - IFT_HIPPI = 0x2f - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IEEE1394 = 0x90 - IFT_IEEE8023ADLAG = 0x88 - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88026 = 0xa - IFT_L2VLAN = 0x87 - IFT_LAPB = 0x10 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_NSIP = 0x1b - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PDP = 0xff - IFT_PFLOG = 0xf5 - IFT_PFSYNC = 0xf6 - IFT_PKTAP = 0xfe - IFT_PPP = 0x17 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PTPSERIAL = 0x16 - IFT_RS232 = 0x21 - IFT_SDLC = 0x11 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_STARLAN = 0xb - IFT_STF = 0x39 - IFT_T1 = 0x12 - IFT_ULTRA = 0x1d - IFT_V35 = 0x2d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LINKLOCALNETNUM = 0xa9fe0000 - IN_LOOPBACKNET = 0x7f - IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x400473d1 - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0xfe - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEP = 0x21 - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_2292DSTOPTS = 0x17 - IPV6_2292HOPLIMIT = 0x14 - IPV6_2292HOPOPTS = 0x16 - IPV6_2292NEXTHOP = 0x15 - IPV6_2292PKTINFO = 0x13 - IPV6_2292PKTOPTIONS = 0x19 - IPV6_2292RTHDR = 0x18 - IPV6_3542DSTOPTS = 0x32 - IPV6_3542HOPLIMIT = 0x2f - IPV6_3542HOPOPTS = 0x31 - IPV6_3542NEXTHOP = 0x30 - IPV6_3542PKTINFO = 0x2e - IPV6_3542RTHDR = 0x33 - IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 - IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 - IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_BINDV6ONLY = 0x1b - IPV6_BOUND_IF = 0x7d - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FLOW_ECN_MASK = 0x3000 - IPV6_FRAGTTL = 0x3c - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MSFILTER = 0x4a - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_PREFER_TEMPADDR = 0x3f - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x3d - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x23 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x39 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x24 - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BLOCK_SOURCE = 0x48 - IP_BOUND_IF = 0x19 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DONTFRAG = 0x1c - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW_ADD = 0x28 - IP_FW_DEL = 0x29 - IP_FW_FLUSH = 0x2a - IP_FW_GET = 0x2c - IP_FW_RESETLOG = 0x2d - IP_FW_ZERO = 0x2b - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MF = 0x2000 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_IFINDEX = 0x42 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_NAT__XXX = 0x37 - IP_OFFMASK = 0x1fff - IP_OLD_FW_ADD = 0x32 - IP_OLD_FW_DEL = 0x33 - IP_OLD_FW_FLUSH = 0x34 - IP_OLD_FW_GET = 0x36 - IP_OLD_FW_RESETLOG = 0x38 - IP_OLD_FW_ZERO = 0x35 - IP_OPTIONS = 0x1 - IP_PKTINFO = 0x1a - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVPKTINFO = 0x1a - IP_RECVRETOPTS = 0x6 - IP_RECVTOS = 0x1b - IP_RECVTTL = 0x18 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_STRIPHDR = 0x17 - IP_TOS = 0x3 - IP_TRAFFIC_MGT_BACKGROUND = 0x41 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IUTF8 = 0x4000 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - KERN_HOSTNAME = 0xa - KERN_OSRELEASE = 0x2 - KERN_OSTYPE = 0x1 - KERN_VERSION = 0x4 - LOCAL_PEERCRED = 0x1 - LOCAL_PEEREPID = 0x3 - LOCAL_PEEREUUID = 0x5 - LOCAL_PEERPID = 0x2 - LOCAL_PEERTOKEN = 0x6 - LOCAL_PEERUUID = 0x4 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_CAN_REUSE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_FREE_REUSABLE = 0x7 - MADV_FREE_REUSE = 0x8 - MADV_NORMAL = 0x0 - MADV_PAGEOUT = 0xa - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MADV_ZERO_WIRED_PAGES = 0x6 - MAP_32BIT = 0x8000 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 - MAP_COPY = 0x2 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_JIT = 0x800 - MAP_NOCACHE = 0x400 - MAP_NOEXTEND = 0x100 - MAP_NORESERVE = 0x40 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_RESILIENT_CODESIGN = 0x2000 - MAP_RESILIENT_MEDIA = 0x4000 - MAP_SHARED = 0x1 - MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 - MAP_UNIX03 = 0x40000 - MCAST_BLOCK_SOURCE = 0x54 - MCAST_EXCLUDE = 0x2 - MCAST_INCLUDE = 0x1 - MCAST_JOIN_GROUP = 0x50 - MCAST_JOIN_SOURCE_GROUP = 0x52 - MCAST_LEAVE_GROUP = 0x51 - MCAST_LEAVE_SOURCE_GROUP = 0x53 - MCAST_UNBLOCK_SOURCE = 0x55 - MCAST_UNDEFINED = 0x0 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MNT_ASYNC = 0x40 - MNT_AUTOMOUNTED = 0x400000 - MNT_CMDFLAGS = 0xf0000 - MNT_CPROTECT = 0x80 - MNT_DEFWRITE = 0x2000000 - MNT_DONTBROWSE = 0x100000 - MNT_DOVOLFS = 0x8000 - MNT_DWAIT = 0x4 - MNT_EXPORTED = 0x100 - MNT_EXT_ROOT_DATA_VOL = 0x1 - MNT_FORCE = 0x80000 - MNT_IGNORE_OWNERSHIP = 0x200000 - MNT_JOURNALED = 0x800000 - MNT_LOCAL = 0x1000 - MNT_MULTILABEL = 0x4000000 - MNT_NOATIME = 0x10000000 - MNT_NOBLOCK = 0x20000 - MNT_NODEV = 0x10 - MNT_NOEXEC = 0x4 - MNT_NOSUID = 0x8 - MNT_NOUSERXATTR = 0x1000000 - MNT_NOWAIT = 0x2 - MNT_QUARANTINE = 0x400 - MNT_QUOTA = 0x2000 - MNT_RDONLY = 0x1 - MNT_RELOAD = 0x40000 - MNT_REMOVABLE = 0x200 - MNT_ROOTFS = 0x4000 - MNT_SNAPSHOT = 0x40000000 - MNT_STRICTATIME = 0x80000000 - MNT_SYNCHRONOUS = 0x2 - MNT_UNION = 0x20 - MNT_UNKNOWNPERMISSIONS = 0x200000 - MNT_UPDATE = 0x10000 - MNT_VISFLAGMASK = 0xd7f0f7ff - MNT_WAIT = 0x1 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_FLUSH = 0x400 - MSG_HAVEMORE = 0x2000 - MSG_HOLD = 0x800 - MSG_NEEDSA = 0x10000 - MSG_NOSIGNAL = 0x80000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_RCVMORE = 0x4000 - MSG_SEND = 0x1000 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MSG_WAITSTREAM = 0x200 - MS_ASYNC = 0x1 - MS_DEACTIVATE = 0x8 - MS_INVALIDATE = 0x2 - MS_KILLPAGES = 0x4 - MS_SYNC = 0x10 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_DUMP2 = 0x7 - NET_RT_FLAGS = 0x2 - NET_RT_FLAGS_PRIV = 0xa - NET_RT_IFLIST = 0x3 - NET_RT_IFLIST2 = 0x6 - NET_RT_MAXID = 0xb - NET_RT_STAT = 0x4 - NET_RT_TRASH = 0x5 - NFDBITS = 0x20 - NL0 = 0x0 - NL1 = 0x100 - NL2 = 0x200 - NL3 = 0x300 - NLDLY = 0x300 - NOFLSH = 0x80000000 - NOKERNINFO = 0x2000000 - NOTE_ABSOLUTE = 0x8 - NOTE_ATTRIB = 0x8 - NOTE_BACKGROUND = 0x40 - NOTE_CHILD = 0x4 - NOTE_CRITICAL = 0x20 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXITSTATUS = 0x4000000 - NOTE_EXIT_CSERROR = 0x40000 - NOTE_EXIT_DECRYPTFAIL = 0x10000 - NOTE_EXIT_DETAIL = 0x2000000 - NOTE_EXIT_DETAIL_MASK = 0x70000 - NOTE_EXIT_MEMORY = 0x20000 - NOTE_EXIT_REPARENTED = 0x80000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_FUNLOCK = 0x100 - NOTE_LEEWAY = 0x10 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_MACHTIME = 0x100 - NOTE_MACH_CONTINUOUS_TIME = 0x80 - NOTE_NONE = 0x80 - NOTE_NSECONDS = 0x4 - NOTE_OOB = 0x2 - NOTE_PCTRLMASK = -0x100000 - NOTE_PDATAMASK = 0xfffff - NOTE_REAP = 0x10000000 - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_SECONDS = 0x1 - NOTE_SIGNAL = 0x8000000 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_USECONDS = 0x2 - NOTE_VM_ERROR = 0x10000000 - NOTE_VM_PRESSURE = 0x80000000 - NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 - NOTE_VM_PRESSURE_TERMINATE = 0x40000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - OFDEL = 0x20000 - OFILL = 0x80 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - OXTABS = 0x4 - O_ACCMODE = 0x3 - O_ALERT = 0x20000000 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x1000000 - O_CREAT = 0x200 - O_DIRECTORY = 0x100000 - O_DP_GETRAWENCRYPTED = 0x1 - O_DP_GETRAWUNENCRYPTED = 0x2 - O_DSYNC = 0x400000 - O_EVTONLY = 0x8000 - O_EXCL = 0x800 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x20000 - O_NOFOLLOW = 0x100 - O_NOFOLLOW_ANY = 0x20000000 - O_NONBLOCK = 0x4 - O_POPUP = 0x80000000 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYMLINK = 0x200000 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - PT_ATTACH = 0xa - PT_ATTACHEXC = 0xe - PT_CONTINUE = 0x7 - PT_DENY_ATTACH = 0x1f - PT_DETACH = 0xb - PT_FIRSTMACH = 0x20 - PT_FORCEQUOTA = 0x1e - PT_KILL = 0x8 - PT_READ_D = 0x2 - PT_READ_I = 0x1 - PT_READ_U = 0x3 - PT_SIGEXC = 0xc - PT_STEP = 0x9 - PT_THUPDATE = 0xd - PT_TRACE_ME = 0x0 - PT_WRITE_D = 0x5 - PT_WRITE_I = 0x4 - PT_WRITE_U = 0x6 - RLIMIT_AS = 0x5 - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_CPU_USAGE_MONITOR = 0x2 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_MEMLOCK = 0x6 - RLIMIT_NOFILE = 0x8 - RLIMIT_NPROC = 0x7 - RLIMIT_RSS = 0x5 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_CLONING = 0x100 - RTF_CONDEMNED = 0x2000000 - RTF_DEAD = 0x20000000 - RTF_DELCLONE = 0x80 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_GATEWAY = 0x2 - RTF_GLOBAL = 0x40000000 - RTF_HOST = 0x4 - RTF_IFREF = 0x4000000 - RTF_IFSCOPE = 0x1000000 - RTF_LLDATA = 0x400 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_NOIFREF = 0x2000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_PROXY = 0x8000000 - RTF_REJECT = 0x8 - RTF_ROUTER = 0x10000000 - RTF_STATIC = 0x800 - RTF_UP = 0x1 - RTF_WASCLONED = 0x20000 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_GET2 = 0x14 - RTM_IFINFO = 0xe - RTM_IFINFO2 = 0x12 - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_NEWMADDR2 = 0x13 - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SCM_TIMESTAMP_MONOTONIC = 0x4 - SEEK_CUR = 0x1 - SEEK_DATA = 0x4 - SEEK_END = 0x2 - SEEK_HOLE = 0x3 - SEEK_SET = 0x0 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCAIFADDR = 0x8040691a - SIOCARPIPLL = 0xc0206928 - SIOCATMARK = 0x40047307 - SIOCAUTOADDR = 0xc0206926 - SIOCAUTONETMASK = 0x80206927 - SIOCDELMULTI = 0x80206932 - SIOCDIFADDR = 0x80206919 - SIOCDIFPHYADDR = 0x80206941 - SIOCGDRVSPEC = 0xc028697b - SIOCGETVLAN = 0xc020697f - SIOCGHIWAT = 0x40047301 - SIOCGIF6LOWPAN = 0xc02069c5 - SIOCGIFADDR = 0xc0206921 - SIOCGIFALTMTU = 0xc0206948 - SIOCGIFASYNCMAP = 0xc020697c - SIOCGIFBOND = 0xc0206947 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020695b - SIOCGIFCONF = 0xc00c6924 - SIOCGIFDEVMTU = 0xc0206944 - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFFUNCTIONALTYPE = 0xc02069ad - SIOCGIFGENERIC = 0xc020693a - SIOCGIFKPI = 0xc0206987 - SIOCGIFMAC = 0xc0206982 - SIOCGIFMEDIA = 0xc02c6938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206940 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc020693f - SIOCGIFSTATUS = 0xc331693d - SIOCGIFVLAN = 0xc020697f - SIOCGIFWAKEFLAGS = 0xc0206988 - SIOCGIFXMEDIA = 0xc02c6948 - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCIFCREATE = 0xc0206978 - SIOCIFCREATE2 = 0xc020697a - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc0106981 - SIOCRSLVMULTI = 0xc010693b - SIOCSDRVSPEC = 0x8028697b - SIOCSETVLAN = 0x8020697e - SIOCSHIWAT = 0x80047300 - SIOCSIF6LOWPAN = 0x802069c4 - SIOCSIFADDR = 0x8020690c - SIOCSIFALTMTU = 0x80206945 - SIOCSIFASYNCMAP = 0x8020697d - SIOCSIFBOND = 0x80206946 - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020695a - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFKPI = 0x80206986 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206983 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x8040693e - SIOCSIFPHYS = 0x80206936 - SIOCSIFVLAN = 0x8020697e - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_LOCAL = 0x0 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_DONTTRUNC = 0x2000 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1010 - SO_LINGER = 0x80 - SO_LINGER_SEC = 0x1080 - SO_NETSVC_MARKING_LEVEL = 0x1119 - SO_NET_SERVICE_TYPE = 0x1116 - SO_NKE = 0x1021 - SO_NOADDRERR = 0x1023 - SO_NOSIGPIPE = 0x1022 - SO_NOTIFYCONFLICT = 0x1026 - SO_NP_EXTENSIONS = 0x1083 - SO_NREAD = 0x1020 - SO_NUMRCVPKT = 0x1112 - SO_NWRITE = 0x1024 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1011 - SO_RANDOMPORT = 0x1082 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_REUSESHAREUID = 0x1025 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TIMESTAMP_MONOTONIC = 0x800 - SO_TRACKER_ATTRIBUTE_FLAGS_APP_APPROVED = 0x1 - SO_TRACKER_ATTRIBUTE_FLAGS_DOMAIN_SHORT = 0x4 - SO_TRACKER_ATTRIBUTE_FLAGS_TRACKER = 0x2 - SO_TRACKER_TRANSPARENCY_VERSION = 0x3 - SO_TYPE = 0x1008 - SO_UPCALLCLOSEWAIT = 0x1027 - SO_USELOOPBACK = 0x40 - SO_WANTMORE = 0x4000 - SO_WANTOOBFLAG = 0x8000 - S_IEXEC = 0x40 - S_IFBLK = 0x6000 - S_IFCHR = 0x2000 - S_IFDIR = 0x4000 - S_IFIFO = 0x1000 - S_IFLNK = 0xa000 - S_IFMT = 0xf000 - S_IFREG = 0x8000 - S_IFSOCK = 0xc000 - S_IFWHT = 0xe000 - S_IREAD = 0x100 - S_IRGRP = 0x20 - S_IROTH = 0x4 - S_IRUSR = 0x100 - S_IRWXG = 0x38 - S_IRWXO = 0x7 - S_IRWXU = 0x1c0 - S_ISGID = 0x400 - S_ISTXT = 0x200 - S_ISUID = 0x800 - S_ISVTX = 0x200 - S_IWGRP = 0x10 - S_IWOTH = 0x2 - S_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXGRP = 0x8 - S_IXOTH = 0x1 - S_IXUSR = 0x40 - TAB0 = 0x0 - TAB1 = 0x400 - TAB2 = 0x800 - TAB3 = 0x4 - TABDLY = 0xc04 - TCIFLUSH = 0x1 - TCIOFF = 0x3 - TCIOFLUSH = 0x3 - TCION = 0x4 - TCOFLUSH = 0x2 - TCOOFF = 0x1 - TCOON = 0x2 - TCPOPT_CC = 0xb - TCPOPT_CCECHO = 0xd - TCPOPT_CCNEW = 0xc - TCPOPT_EOL = 0x0 - TCPOPT_FASTOPEN = 0x22 - TCPOPT_MAXSEG = 0x2 - TCPOPT_NOP = 0x1 - TCPOPT_SACK = 0x5 - TCPOPT_SACK_HDR = 0x1010500 - TCPOPT_SACK_PERMITTED = 0x4 - TCPOPT_SACK_PERMIT_HDR = 0x1010402 - TCPOPT_SIGNATURE = 0x13 - TCPOPT_TIMESTAMP = 0x8 - TCPOPT_TSTAMP_HDR = 0x101080a - TCPOPT_WINDOW = 0x3 - TCP_CONNECTIONTIMEOUT = 0x20 - TCP_CONNECTION_INFO = 0x106 - TCP_ENABLE_ECN = 0x104 - TCP_FASTOPEN = 0x105 - TCP_KEEPALIVE = 0x10 - TCP_KEEPCNT = 0x102 - TCP_KEEPINTVL = 0x101 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MINMSS = 0xd8 - TCP_MSS = 0x200 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_NOTSENT_LOWAT = 0x201 - TCP_RXT_CONNDROPTIME = 0x80 - TCP_RXT_FINDROP = 0x100 - TCP_SENDMOREACKS = 0x103 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDCDTIMESTAMP = 0x40107458 - TIOCDRAIN = 0x2000745e - TIOCDSIMICROCODE = 0x20007455 - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x40487413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGWINSZ = 0x40087468 - TIOCIXOFF = 0x20007480 - TIOCIXON = 0x20007481 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMODG = 0x40047403 - TIOCMODS = 0x80047404 - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTYGNAME = 0x40807453 - TIOCPTYGRANT = 0x20007454 - TIOCPTYUNLK = 0x20007452 - TIOCREMOTE = 0x80047469 - TIOCSBRK = 0x2000747b - TIOCSCONS = 0x20007463 - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x80487414 - TIOCSETAF = 0x80487416 - TIOCSETAW = 0x80487415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2000745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40107459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMADDR_CID_ANY = 0xffffffff - VMADDR_CID_HOST = 0x2 - VMADDR_CID_HYPERVISOR = 0x0 - VMADDR_CID_RESERVED = 0x1 - VMADDR_PORT_ANY = 0xffffffff - VMIN = 0x10 - VM_LOADAVG = 0x2 - VM_MACHFACTOR = 0x4 - VM_MAXID = 0x6 - VM_METER = 0x1 - VM_SWAPUSAGE = 0x5 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VT0 = 0x0 - VT1 = 0x10000 - VTDLY = 0x10000 - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x10 - WCOREFLAG = 0x80 - WEXITED = 0x4 - WNOHANG = 0x1 - WNOWAIT = 0x20 - WORDSIZE = 0x40 - WSTOPPED = 0x8 - WUNTRACED = 0x2 - XATTR_CREATE = 0x2 - XATTR_NODEFAULT = 0x10 - XATTR_NOFOLLOW = 0x1 - XATTR_NOSECURITY = 0x8 - XATTR_REPLACE = 0x4 - XATTR_SHOWCOMPRESSION = 0x20 + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x29 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_SYS_CONTROL = 0x2 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + AF_VSOCK = 0x28 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x51c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CLONE_NOFOLLOW = 0x1 + CLONE_NOOWNERCOPY = 0x2 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTLIOCGINFO = 0xc0644e03 + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x10a + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_DARWIN = 0x10a + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x11 + EVFILT_THREADMARKER = 0x11 + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + FSOPT_RETURN_REALDEV = 0x200 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_INFO = 0x67 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDFILESUPPL = 0x68 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPATH_NOFIRMLINK = 0x66 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GETSIGSINFO = 0x69 + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_SPECULATIVE_READ = 0x65 + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_6LOWPAN = 0x40 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_3542DSTOPTS = 0x32 + IPV6_3542HOPLIMIT = 0x2f + IPV6_3542HOPOPTS = 0x31 + IPV6_3542NEXTHOP = 0x30 + IPV6_3542PKTINFO = 0x2e + IPV6_3542RTHDR = 0x33 + IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 + IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 + IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x3000 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x3d + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x39 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x1c + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCAL_PEERCRED = 0x1 + LOCAL_PEEREPID = 0x3 + LOCAL_PEEREUUID = 0x5 + LOCAL_PEERPID = 0x2 + LOCAL_PEERTOKEN = 0x6 + LOCAL_PEERUUID = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_32BIT = 0x8000 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 + MAP_UNIX03 = 0x40000 + MCAST_BLOCK_SOURCE = 0x54 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x50 + MCAST_JOIN_SOURCE_GROUP = 0x52 + MCAST_LEAVE_GROUP = 0x51 + MCAST_LEAVE_SOURCE_GROUP = 0x53 + MCAST_UNBLOCK_SOURCE = 0x55 + MCAST_UNDEFINED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_EXT_ROOT_DATA_VOL = 0x1 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_REMOVABLE = 0x200 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x40000000 + MNT_STRICTATIME = 0x80000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xd7f0f7ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_NOSIGNAL = 0x80000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_FLAGS_PRIV = 0xa + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xb + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NFDBITS = 0x20 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACHTIME = 0x100 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NOFOLLOW_ANY = 0x20000000 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DEAD = 0x20000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIF6LOWPAN = 0xc02069c5 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFFUNCTIONALTYPE = 0xc02069ad + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGIFXMEDIA = 0xc02c6948 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIF6LOWPAN = 0x802069c4 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 ) // Errors diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go index 44090011..9c7c5e16 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go @@ -1297,11 +1297,6 @@ const ( SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 - SEEK_CUR = 0x1 - SEEK_DATA = 0x3 - SEEK_END = 0x2 - SEEK_HOLE = 0x4 - SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go index 64520d31..b265abb2 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go @@ -1298,11 +1298,6 @@ const ( SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 - SEEK_CUR = 0x1 - SEEK_DATA = 0x3 - SEEK_END = 0x2 - SEEK_HOLE = 0x4 - SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go index 99e9a0e0..3df99f28 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go @@ -1276,11 +1276,6 @@ const ( SCM_CREDS = 0x3 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 - SEEK_CUR = 0x1 - SEEK_DATA = 0x3 - SEEK_END = 0x2 - SEEK_HOLE = 0x4 - SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go index 4c837711..218d3990 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go @@ -1298,11 +1298,6 @@ const ( SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 - SEEK_CUR = 0x1 - SEEK_DATA = 0x3 - SEEK_END = 0x2 - SEEK_HOLE = 0x4 - SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux.go index bc7c9d07..c3fa2248 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -1,4 +1,4 @@ -// Code generated by mkmerge; DO NOT EDIT. +// Code generated by mkmerge.go; DO NOT EDIT. //go:build linux // +build linux @@ -38,8 +38,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2e - AF_MCTP = 0x2d + AF_MAX = 0x2d AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -117,7 +116,6 @@ const ( ARPHRD_LAPB = 0x204 ARPHRD_LOCALTLK = 0x305 ARPHRD_LOOPBACK = 0x304 - ARPHRD_MCTP = 0x122 ARPHRD_METRICOM = 0x17 ARPHRD_NETLINK = 0x338 ARPHRD_NETROM = 0x0 @@ -230,11 +228,7 @@ const ( BPF_OR = 0x40 BPF_PSEUDO_BTF_ID = 0x3 BPF_PSEUDO_CALL = 0x1 - BPF_PSEUDO_FUNC = 0x4 - BPF_PSEUDO_KFUNC_CALL = 0x2 BPF_PSEUDO_MAP_FD = 0x1 - BPF_PSEUDO_MAP_IDX = 0x5 - BPF_PSEUDO_MAP_IDX_VALUE = 0x6 BPF_PSEUDO_MAP_VALUE = 0x2 BPF_RET = 0x6 BPF_RSH = 0x70 @@ -260,17 +254,6 @@ const ( BUS_USB = 0x3 BUS_VIRTUAL = 0x6 CAN_BCM = 0x2 - CAN_CTRLMODE_3_SAMPLES = 0x4 - CAN_CTRLMODE_BERR_REPORTING = 0x10 - CAN_CTRLMODE_CC_LEN8_DLC = 0x100 - CAN_CTRLMODE_FD = 0x20 - CAN_CTRLMODE_FD_NON_ISO = 0x80 - CAN_CTRLMODE_LISTENONLY = 0x2 - CAN_CTRLMODE_LOOPBACK = 0x1 - CAN_CTRLMODE_ONE_SHOT = 0x8 - CAN_CTRLMODE_PRESUME_ACK = 0x40 - CAN_CTRLMODE_TDC_AUTO = 0x200 - CAN_CTRLMODE_TDC_MANUAL = 0x400 CAN_EFF_FLAG = 0x80000000 CAN_EFF_ID_BITS = 0x1d CAN_EFF_MASK = 0x1fffffff @@ -348,7 +331,6 @@ const ( CAN_RTR_FLAG = 0x40000000 CAN_SFF_ID_BITS = 0xb CAN_SFF_MASK = 0x7ff - CAN_TERMINATION_DISABLED = 0x0 CAN_TP16 = 0x3 CAN_TP20 = 0x4 CAP_AUDIT_CONTROL = 0x1e @@ -486,7 +468,6 @@ const ( DM_DEV_WAIT = 0xc138fd08 DM_DIR = "mapper" DM_GET_TARGET_VERSION = 0xc138fd11 - DM_IMA_MEASUREMENT_FLAG = 0x80000 DM_INACTIVE_PRESENT_FLAG = 0x40 DM_INTERNAL_SUSPEND_FLAG = 0x40000 DM_IOCTL = 0xfd @@ -494,8 +475,6 @@ const ( DM_LIST_VERSIONS = 0xc138fd0d DM_MAX_TYPE_NAME = 0x10 DM_NAME_LEN = 0x80 - DM_NAME_LIST_FLAG_DOESNT_HAVE_UUID = 0x2 - DM_NAME_LIST_FLAG_HAS_UUID = 0x1 DM_NOFLUSH_FLAG = 0x800 DM_PERSISTENT_DEV_FLAG = 0x8 DM_QUERY_INACTIVE_TABLE_FLAG = 0x1000 @@ -515,9 +494,9 @@ const ( DM_UUID_FLAG = 0x4000 DM_UUID_LEN = 0x81 DM_VERSION = 0xc138fd00 - DM_VERSION_EXTRA = "-ioctl (2021-03-22)" + DM_VERSION_EXTRA = "-ioctl (2021-02-01)" DM_VERSION_MAJOR = 0x4 - DM_VERSION_MINOR = 0x2d + DM_VERSION_MINOR = 0x2c DM_VERSION_PATCHLEVEL = 0x0 DT_BLK = 0x6 DT_CHR = 0x2 @@ -731,7 +710,6 @@ const ( ETH_P_LOOPBACK = 0x9000 ETH_P_MACSEC = 0x88e5 ETH_P_MAP = 0xf9 - ETH_P_MCTP = 0xfa ETH_P_MOBITEX = 0x15 ETH_P_MPLS_MC = 0x8848 ETH_P_MPLS_UC = 0x8847 @@ -754,7 +732,6 @@ const ( ETH_P_QINQ2 = 0x9200 ETH_P_QINQ3 = 0x9300 ETH_P_RARP = 0x8035 - ETH_P_REALTEK = 0x8899 ETH_P_SCA = 0x6007 ETH_P_SLOW = 0x8809 ETH_P_SNAP = 0x5 @@ -768,21 +745,6 @@ const ( ETH_P_WCCP = 0x883e ETH_P_X25 = 0x805 ETH_P_XDSA = 0xf8 - EV_ABS = 0x3 - EV_CNT = 0x20 - EV_FF = 0x15 - EV_FF_STATUS = 0x17 - EV_KEY = 0x1 - EV_LED = 0x11 - EV_MAX = 0x1f - EV_MSC = 0x4 - EV_PWR = 0x16 - EV_REL = 0x2 - EV_REP = 0x14 - EV_SND = 0x12 - EV_SW = 0x5 - EV_SYN = 0x0 - EV_VERSION = 0x10001 EXABYTE_ENABLE_NEST = 0xf0 EXT2_SUPER_MAGIC = 0xef53 EXT3_SUPER_MAGIC = 0xef53 @@ -821,15 +783,11 @@ const ( FAN_DELETE_SELF = 0x400 FAN_DENY = 0x2 FAN_ENABLE_AUDIT = 0x40 - FAN_EPIDFD = -0x2 FAN_EVENT_INFO_TYPE_DFID = 0x3 FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2 - FAN_EVENT_INFO_TYPE_ERROR = 0x5 FAN_EVENT_INFO_TYPE_FID = 0x1 - FAN_EVENT_INFO_TYPE_PIDFD = 0x4 FAN_EVENT_METADATA_LEN = 0x18 FAN_EVENT_ON_CHILD = 0x8000000 - FAN_FS_ERROR = 0x8000 FAN_MARK_ADD = 0x1 FAN_MARK_DONT_FOLLOW = 0x4 FAN_MARK_FILESYSTEM = 0x100 @@ -847,7 +805,6 @@ const ( FAN_MOVE_SELF = 0x800 FAN_NOFD = -0x1 FAN_NONBLOCK = 0x2 - FAN_NOPIDFD = -0x1 FAN_ONDIR = 0x40000000 FAN_OPEN = 0x20 FAN_OPEN_EXEC = 0x1000 @@ -858,7 +815,6 @@ const ( FAN_REPORT_DIR_FID = 0x400 FAN_REPORT_FID = 0x200 FAN_REPORT_NAME = 0x800 - FAN_REPORT_PIDFD = 0x80 FAN_REPORT_TID = 0x100 FAN_UNLIMITED_MARKS = 0x20 FAN_UNLIMITED_QUEUE = 0x10 @@ -1025,6 +981,12 @@ const ( HPFS_SUPER_MAGIC = 0xf995e849 HUGETLBFS_MAGIC = 0x958458f6 IBSHIFT = 0x10 + ICMPV6_FILTER = 0x1 + ICMPV6_FILTER_BLOCK = 0x1 + ICMPV6_FILTER_BLOCKOTHERS = 0x3 + ICMPV6_FILTER_PASS = 0x2 + ICMPV6_FILTER_PASSONLY = 0x4 + ICMP_FILTER = 0x1 ICRNL = 0x100 IFA_F_DADFAILED = 0x8 IFA_F_DEPRECATED = 0x20 @@ -1280,14 +1242,9 @@ const ( IP_XFRM_POLICY = 0x11 ISOFS_SUPER_MAGIC = 0x9660 ISTRIP = 0x20 - ITIMER_PROF = 0x2 - ITIMER_REAL = 0x0 - ITIMER_VIRTUAL = 0x1 IUTF8 = 0x4000 IXANY = 0x800 JFFS2_SUPER_MAGIC = 0x72b6 - KCMPROTO_CONNECTED = 0x0 - KCM_RECV_DISABLE = 0x1 KEXEC_ARCH_386 = 0x30000 KEXEC_ARCH_68K = 0x40000 KEXEC_ARCH_AARCH64 = 0xb70000 @@ -1300,7 +1257,6 @@ const ( KEXEC_ARCH_PARISC = 0xf0000 KEXEC_ARCH_PPC = 0x140000 KEXEC_ARCH_PPC64 = 0x150000 - KEXEC_ARCH_RISCV = 0xf30000 KEXEC_ARCH_S390 = 0x160000 KEXEC_ARCH_SH = 0x2a0000 KEXEC_ARCH_X86_64 = 0x3e0000 @@ -1376,20 +1332,6 @@ const ( KEY_SPEC_THREAD_KEYRING = -0x1 KEY_SPEC_USER_KEYRING = -0x4 KEY_SPEC_USER_SESSION_KEYRING = -0x5 - LANDLOCK_ACCESS_FS_EXECUTE = 0x1 - LANDLOCK_ACCESS_FS_MAKE_BLOCK = 0x800 - LANDLOCK_ACCESS_FS_MAKE_CHAR = 0x40 - LANDLOCK_ACCESS_FS_MAKE_DIR = 0x80 - LANDLOCK_ACCESS_FS_MAKE_FIFO = 0x400 - LANDLOCK_ACCESS_FS_MAKE_REG = 0x100 - LANDLOCK_ACCESS_FS_MAKE_SOCK = 0x200 - LANDLOCK_ACCESS_FS_MAKE_SYM = 0x1000 - LANDLOCK_ACCESS_FS_READ_DIR = 0x8 - LANDLOCK_ACCESS_FS_READ_FILE = 0x4 - LANDLOCK_ACCESS_FS_REMOVE_DIR = 0x10 - LANDLOCK_ACCESS_FS_REMOVE_FILE = 0x20 - LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2 - LANDLOCK_CREATE_RULESET_VERSION = 0x1 LINUX_REBOOT_CMD_CAD_OFF = 0x0 LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef LINUX_REBOOT_CMD_HALT = 0xcdef0123 @@ -1440,8 +1382,6 @@ const ( MADV_NOHUGEPAGE = 0xf MADV_NORMAL = 0x0 MADV_PAGEOUT = 0x15 - MADV_POPULATE_READ = 0x16 - MADV_POPULATE_WRITE = 0x17 MADV_RANDOM = 0x1 MADV_REMOVE = 0x9 MADV_SEQUENTIAL = 0x2 @@ -1497,18 +1437,6 @@ const ( MNT_FORCE = 0x1 MODULE_INIT_IGNORE_MODVERSIONS = 0x1 MODULE_INIT_IGNORE_VERMAGIC = 0x2 - MOUNT_ATTR_IDMAP = 0x100000 - MOUNT_ATTR_NOATIME = 0x10 - MOUNT_ATTR_NODEV = 0x4 - MOUNT_ATTR_NODIRATIME = 0x80 - MOUNT_ATTR_NOEXEC = 0x8 - MOUNT_ATTR_NOSUID = 0x2 - MOUNT_ATTR_NOSYMFOLLOW = 0x200000 - MOUNT_ATTR_RDONLY = 0x1 - MOUNT_ATTR_RELATIME = 0x0 - MOUNT_ATTR_SIZE_VER0 = 0x20 - MOUNT_ATTR_STRICTATIME = 0x20 - MOUNT_ATTR__ATIME = 0x70 MSDOS_SUPER_MAGIC = 0x4d44 MSG_BATCH = 0x40000 MSG_CMSG_CLOEXEC = 0x40000000 @@ -1708,12 +1636,11 @@ const ( NFNL_MSG_BATCH_END = 0x11 NFNL_NFA_NEST = 0x8000 NFNL_SUBSYS_ACCT = 0x7 - NFNL_SUBSYS_COUNT = 0xd + NFNL_SUBSYS_COUNT = 0xc NFNL_SUBSYS_CTHELPER = 0x9 NFNL_SUBSYS_CTNETLINK = 0x1 NFNL_SUBSYS_CTNETLINK_EXP = 0x2 NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 - NFNL_SUBSYS_HOOK = 0xc NFNL_SUBSYS_IPSET = 0x6 NFNL_SUBSYS_NFTABLES = 0xa NFNL_SUBSYS_NFT_COMPAT = 0xb @@ -1829,27 +1756,20 @@ const ( PERF_ATTR_SIZE_VER4 = 0x68 PERF_ATTR_SIZE_VER5 = 0x70 PERF_ATTR_SIZE_VER6 = 0x78 - PERF_ATTR_SIZE_VER7 = 0x80 PERF_AUX_FLAG_COLLISION = 0x8 - PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT = 0x0 - PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW = 0x100 PERF_AUX_FLAG_OVERWRITE = 0x2 PERF_AUX_FLAG_PARTIAL = 0x4 - PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK = 0xff00 PERF_AUX_FLAG_TRUNCATED = 0x1 PERF_FLAG_FD_CLOEXEC = 0x8 PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 - PERF_HW_EVENT_MASK = 0xffffffff PERF_MAX_CONTEXTS_PER_STACK = 0x8 PERF_MAX_STACK_DEPTH = 0x7f PERF_MEM_BLK_ADDR = 0x4 PERF_MEM_BLK_DATA = 0x2 PERF_MEM_BLK_NA = 0x1 PERF_MEM_BLK_SHIFT = 0x28 - PERF_MEM_HOPS_0 = 0x1 - PERF_MEM_HOPS_SHIFT = 0x2b PERF_MEM_LOCK_LOCKED = 0x2 PERF_MEM_LOCK_NA = 0x1 PERF_MEM_LOCK_SHIFT = 0x18 @@ -1902,7 +1822,6 @@ const ( PERF_MEM_TLB_OS = 0x40 PERF_MEM_TLB_SHIFT = 0x1a PERF_MEM_TLB_WK = 0x20 - PERF_PMU_TYPE_SHIFT = 0x20 PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER = 0x1 PERF_RECORD_MISC_COMM_EXEC = 0x2000 PERF_RECORD_MISC_CPUMODE_MASK = 0x7 @@ -2002,18 +1921,7 @@ const ( PR_PAC_APGAKEY = 0x10 PR_PAC_APIAKEY = 0x1 PR_PAC_APIBKEY = 0x2 - PR_PAC_GET_ENABLED_KEYS = 0x3d PR_PAC_RESET_KEYS = 0x36 - PR_PAC_SET_ENABLED_KEYS = 0x3c - PR_SCHED_CORE = 0x3e - PR_SCHED_CORE_CREATE = 0x1 - PR_SCHED_CORE_GET = 0x0 - PR_SCHED_CORE_MAX = 0x4 - PR_SCHED_CORE_SCOPE_PROCESS_GROUP = 0x2 - PR_SCHED_CORE_SCOPE_THREAD = 0x0 - PR_SCHED_CORE_SCOPE_THREAD_GROUP = 0x1 - PR_SCHED_CORE_SHARE_FROM = 0x3 - PR_SCHED_CORE_SHARE_TO = 0x2 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -2057,7 +1965,6 @@ const ( PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 - PR_SPEC_L1D_FLUSH = 0x2 PR_SPEC_NOT_AFFECTED = 0x0 PR_SPEC_PRCTL = 0x1 PR_SPEC_STORE_BYPASS = 0x0 @@ -2096,7 +2003,6 @@ const ( PTRACE_GETREGSET = 0x4204 PTRACE_GETSIGINFO = 0x4202 PTRACE_GETSIGMASK = 0x420a - PTRACE_GET_RSEQ_CONFIGURATION = 0x420f PTRACE_GET_SYSCALL_INFO = 0x420e PTRACE_INTERRUPT = 0x4207 PTRACE_KILL = 0x8 @@ -2193,23 +2099,12 @@ const ( RTCF_NAT = 0x800000 RTCF_VALVE = 0x200000 RTC_AF = 0x20 - RTC_BSM_DIRECT = 0x1 - RTC_BSM_DISABLED = 0x0 - RTC_BSM_LEVEL = 0x2 - RTC_BSM_STANDBY = 0x3 RTC_FEATURE_ALARM = 0x0 - RTC_FEATURE_ALARM_RES_2S = 0x3 RTC_FEATURE_ALARM_RES_MINUTE = 0x1 - RTC_FEATURE_BACKUP_SWITCH_MODE = 0x6 - RTC_FEATURE_CNT = 0x7 - RTC_FEATURE_CORRECTION = 0x5 + RTC_FEATURE_CNT = 0x3 RTC_FEATURE_NEED_WEEK_DAY = 0x2 - RTC_FEATURE_UPDATE_INTERRUPT = 0x4 RTC_IRQF = 0x80 RTC_MAX_FREQ = 0x2000 - RTC_PARAM_BACKUP_SWITCH_MODE = 0x2 - RTC_PARAM_CORRECTION = 0x1 - RTC_PARAM_FEATURES = 0x0 RTC_PF = 0x40 RTC_UF = 0x10 RTF_ADDRCLASSMASK = 0xf8000000 @@ -2268,7 +2163,6 @@ const ( RTM_DELNEIGH = 0x1d RTM_DELNETCONF = 0x51 RTM_DELNEXTHOP = 0x69 - RTM_DELNEXTHOPBUCKET = 0x75 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -2299,7 +2193,6 @@ const ( RTM_GETNEIGHTBL = 0x42 RTM_GETNETCONF = 0x52 RTM_GETNEXTHOP = 0x6a - RTM_GETNEXTHOPBUCKET = 0x76 RTM_GETNSID = 0x5a RTM_GETQDISC = 0x26 RTM_GETROUTE = 0x1a @@ -2308,7 +2201,7 @@ const ( RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e RTM_GETVLAN = 0x72 - RTM_MAX = 0x77 + RTM_MAX = 0x73 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 @@ -2322,7 +2215,6 @@ const ( RTM_NEWNEIGHTBL = 0x40 RTM_NEWNETCONF = 0x50 RTM_NEWNEXTHOP = 0x68 - RTM_NEWNEXTHOPBUCKET = 0x74 RTM_NEWNSID = 0x58 RTM_NEWNVLAN = 0x70 RTM_NEWPREFIX = 0x34 @@ -2332,8 +2224,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x1a - RTM_NR_MSGTYPES = 0x68 + RTM_NR_FAMILIES = 0x19 + RTM_NR_MSGTYPES = 0x64 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -2361,7 +2253,6 @@ const ( RTPROT_MROUTED = 0x11 RTPROT_MRT = 0xa RTPROT_NTK = 0xf - RTPROT_OPENR = 0x63 RTPROT_OSPF = 0xbc RTPROT_RA = 0x9 RTPROT_REDIRECT = 0x1 @@ -2392,14 +2283,7 @@ const ( SECCOMP_MODE_DISABLED = 0x0 SECCOMP_MODE_FILTER = 0x2 SECCOMP_MODE_STRICT = 0x1 - SECRETMEM_MAGIC = 0x5345434d SECURITYFS_MAGIC = 0x73636673 - SEEK_CUR = 0x1 - SEEK_DATA = 0x3 - SEEK_END = 0x2 - SEEK_HOLE = 0x4 - SEEK_MAX = 0x4 - SEEK_SET = 0x0 SELINUX_MAGIC = 0xf97cff8c SHUT_RD = 0x0 SHUT_RDWR = 0x2 @@ -2460,9 +2344,6 @@ const ( SIOCGSTAMPNS = 0x8907 SIOCGSTAMPNS_OLD = 0x8907 SIOCGSTAMP_OLD = 0x8906 - SIOCKCMATTACH = 0x89e0 - SIOCKCMCLONE = 0x89e2 - SIOCKCMUNATTACH = 0x89e1 SIOCOUTQNSD = 0x894b SIOCPROTOPRIVATE = 0x89e0 SIOCRTMSG = 0x890d @@ -2507,15 +2388,12 @@ const ( SMART_WRITE_THRESHOLDS = 0xd7 SMB_SUPER_MAGIC = 0x517b SOCKFS_MAGIC = 0x534f434b - SOCK_BUF_LOCK_MASK = 0x3 SOCK_DCCP = 0x6 SOCK_IOC_TYPE = 0x89 SOCK_PACKET = 0xa SOCK_RAW = 0x3 - SOCK_RCVBUF_LOCK = 0x2 SOCK_RDM = 0x4 SOCK_SEQPACKET = 0x5 - SOCK_SNDBUF_LOCK = 0x1 SOL_AAL = 0x109 SOL_ALG = 0x117 SOL_ATM = 0x108 @@ -2572,8 +2450,6 @@ const ( SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 SO_VM_SOCKETS_BUFFER_SIZE = 0x0 SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 - SO_VM_SOCKETS_CONNECT_TIMEOUT_NEW = 0x8 - SO_VM_SOCKETS_CONNECT_TIMEOUT_OLD = 0x6 SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 SO_VM_SOCKETS_TRUSTED = 0x5 @@ -2654,14 +2530,6 @@ const ( TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 - TCPOPT_EOL = 0x0 - TCPOPT_MAXSEG = 0x2 - TCPOPT_NOP = 0x1 - TCPOPT_SACK = 0x5 - TCPOPT_SACK_PERMITTED = 0x4 - TCPOPT_TIMESTAMP = 0x8 - TCPOPT_TSTAMP_HDR = 0x101080a - TCPOPT_WINDOW = 0x3 TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 TCP_CONGESTION = 0xd @@ -2868,13 +2736,6 @@ const ( WDIOS_TEMPPANIC = 0x4 WDIOS_UNKNOWN = -0x1 WEXITED = 0x4 - WGALLOWEDIP_A_MAX = 0x3 - WGDEVICE_A_MAX = 0x8 - WGPEER_A_MAX = 0xa - WG_CMD_MAX = 0x1 - WG_GENL_NAME = "wireguard" - WG_GENL_VERSION = 0x1 - WG_KEY_LEN = 0x20 WIN_ACKMEDIACHANGE = 0xdb WIN_CHECKPOWERMODE1 = 0xe5 WIN_CHECKPOWERMODE2 = 0x98 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index 234fd4a5..09fc559e 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -5,7 +5,7 @@ // +build 386,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/_const.go package unix @@ -147,7 +147,6 @@ const ( NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 @@ -250,8 +249,6 @@ const ( RTC_EPOCH_SET = 0x4004700e RTC_IRQP_READ = 0x8004700b RTC_IRQP_SET = 0x4004700c - RTC_PARAM_GET = 0x40187013 - RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x801c7011 @@ -295,7 +292,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -312,7 +308,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 @@ -329,7 +324,6 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index 58619b75..75730cc2 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -5,7 +5,7 @@ // +build amd64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/_const.go package unix @@ -147,7 +147,6 @@ const ( NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 @@ -251,8 +250,6 @@ const ( RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c - RTC_PARAM_GET = 0x40187013 - RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 @@ -296,7 +293,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -313,7 +309,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 @@ -330,7 +325,6 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go index 3a64ff59..127cf17a 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -5,7 +5,7 @@ // +build arm,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -145,7 +145,6 @@ const ( NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 @@ -257,8 +256,6 @@ const ( RTC_EPOCH_SET = 0x4004700e RTC_IRQP_READ = 0x8004700b RTC_IRQP_SET = 0x4004700c - RTC_PARAM_GET = 0x40187013 - RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x801c7011 @@ -302,7 +299,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -319,7 +315,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 @@ -336,7 +331,6 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index abe0b925..957ca1ff 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -5,7 +5,7 @@ // +build arm64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go package unix @@ -148,7 +148,6 @@ const ( NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 @@ -247,8 +246,6 @@ const ( RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c - RTC_PARAM_GET = 0x40187013 - RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 @@ -292,7 +289,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -309,7 +305,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 @@ -326,7 +321,6 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go index 14d7a843..314a2054 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -5,7 +5,7 @@ // +build mips,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -145,7 +145,6 @@ const ( NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 @@ -250,8 +249,6 @@ const ( RTC_EPOCH_SET = 0x8004700e RTC_IRQP_READ = 0x4004700b RTC_IRQP_SET = 0x8004700c - RTC_PARAM_GET = 0x80187013 - RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x401c7011 @@ -295,7 +292,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -312,7 +308,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 @@ -329,7 +324,6 @@ const ( SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go index 99e7c4ac..457e8de9 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -5,7 +5,7 @@ // +build mips64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -145,7 +145,6 @@ const ( NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 @@ -250,8 +249,6 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c - RTC_PARAM_GET = 0x80187013 - RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -295,7 +292,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -312,7 +308,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 @@ -329,7 +324,6 @@ const ( SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go index 496364c3..33cd28f6 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -5,7 +5,7 @@ // +build mips64le,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -145,7 +145,6 @@ const ( NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 @@ -250,8 +249,6 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c - RTC_PARAM_GET = 0x80187013 - RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -295,7 +292,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -312,7 +308,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 @@ -329,7 +324,6 @@ const ( SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go index 3e408308..0e085ba1 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -5,7 +5,7 @@ // +build mipsle,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -145,7 +145,6 @@ const ( NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 @@ -250,8 +249,6 @@ const ( RTC_EPOCH_SET = 0x8004700e RTC_IRQP_READ = 0x4004700b RTC_IRQP_SET = 0x8004700c - RTC_PARAM_GET = 0x80187013 - RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x401c7011 @@ -295,7 +292,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -312,7 +308,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 @@ -329,7 +324,6 @@ const ( SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index 1151a7df..1b5928cf 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -5,7 +5,7 @@ // +build ppc,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -147,7 +147,6 @@ const ( NS_GET_USERNS = 0x2000b701 OLCUC = 0x4 ONLCR = 0x2 - OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 @@ -305,8 +304,6 @@ const ( RTC_EPOCH_SET = 0x8004700e RTC_IRQP_READ = 0x4004700b RTC_IRQP_SET = 0x8004700c - RTC_PARAM_GET = 0x80187013 - RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x401c7011 @@ -350,7 +347,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -367,7 +363,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x14 @@ -384,7 +379,6 @@ const ( SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go index ed17f249..f3a41d6e 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -5,7 +5,7 @@ // +build ppc64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -147,7 +147,6 @@ const ( NS_GET_USERNS = 0x2000b701 OLCUC = 0x4 ONLCR = 0x2 - OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 @@ -309,8 +308,6 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c - RTC_PARAM_GET = 0x80187013 - RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -354,7 +351,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -371,7 +367,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x14 @@ -388,7 +383,6 @@ const ( SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go index d84a37c1..6a5a555d 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -5,7 +5,7 @@ // +build ppc64le,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -147,7 +147,6 @@ const ( NS_GET_USERNS = 0x2000b701 OLCUC = 0x4 ONLCR = 0x2 - OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 @@ -309,8 +308,6 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c - RTC_PARAM_GET = 0x80187013 - RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -354,7 +351,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -371,7 +367,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x14 @@ -388,7 +383,6 @@ const ( SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go index 5cafba83..a4da67ed 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -5,7 +5,7 @@ // +build riscv64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -145,7 +145,6 @@ const ( NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 @@ -238,8 +237,6 @@ const ( RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c - RTC_PARAM_GET = 0x40187013 - RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 @@ -283,7 +280,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -300,7 +296,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 @@ -317,7 +312,6 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go index 6d122da4..a7028e0e 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -5,7 +5,7 @@ // +build s390x,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go package unix @@ -145,7 +145,6 @@ const ( NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 @@ -313,8 +312,6 @@ const ( RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c - RTC_PARAM_GET = 0x40187013 - RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 @@ -358,7 +355,6 @@ const ( SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe - SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 @@ -375,7 +371,6 @@ const ( SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 - SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 @@ -392,7 +387,6 @@ const ( SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 - SO_RESERVE_MEM = 0x49 SO_REUSEADDR = 0x2 SO_REUSEPORT = 0xf SO_RXQ_OVFL = 0x28 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go index 6bd19e51..ed3b3286 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -5,7 +5,7 @@ // +build sparc64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go package unix @@ -150,7 +150,6 @@ const ( NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 - OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 @@ -304,8 +303,6 @@ const ( RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c - RTC_PARAM_GET = 0x80187013 - RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 @@ -349,7 +346,6 @@ const ( SO_BPF_EXTENSIONS = 0x32 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0x400 - SO_BUF_LOCK = 0x51 SO_BUSY_POLL = 0x30 SO_BUSY_POLL_BUDGET = 0x49 SO_CNX_ADVICE = 0x37 @@ -366,7 +362,6 @@ const ( SO_MARK = 0x22 SO_MAX_PACING_RATE = 0x31 SO_MEMINFO = 0x39 - SO_NETNS_COOKIE = 0x50 SO_NOFCS = 0x27 SO_OOBINLINE = 0x100 SO_PASSCRED = 0x2 @@ -383,7 +378,6 @@ const ( SO_RCVTIMEO = 0x2000 SO_RCVTIMEO_NEW = 0x44 SO_RCVTIMEO_OLD = 0x2000 - SO_RESERVE_MEM = 0x52 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_RXQ_OVFL = 0x24 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go index 6d56edc0..593cc0fe 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go @@ -1020,10 +1020,7 @@ const ( RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 - RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 - RLIMIT_NPROC = 0x7 - RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go index aef6c085..a4e4c223 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go @@ -1020,10 +1020,7 @@ const ( RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 - RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 - RLIMIT_NPROC = 0x7 - RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go index 870215d2..91a23cc7 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go @@ -17,7 +17,6 @@ int getdirent(int, uintptr_t, size_t); int wait4(int, uintptr_t, int, uintptr_t); int ioctl(int, int, uintptr_t); int fcntl(uintptr_t, int, uintptr_t); -int fsync_range(int, int, long long, long long); int acct(uintptr_t); int chdir(uintptr_t); int chroot(uintptr_t); @@ -30,6 +29,7 @@ int fchmod(int, unsigned int); int fchmodat(int, uintptr_t, unsigned int, int); int fchownat(int, uintptr_t, int, int, int); int fdatasync(int); +int fsync(int); int getpgid(int); int getpgrp(); int getpid(); @@ -255,16 +255,6 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func fsyncRange(fd int, how int, start int64, length int64) (err error) { - r0, er := C.fsync_range(C.int(fd), C.int(how), C.longlong(start), C.longlong(length)) - if r0 == -1 && er != nil { - err = er - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Acct(path string) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.acct(C.uintptr_t(_p0)) @@ -389,6 +379,16 @@ func Fdatasync(fd int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fsync(fd int) (err error) { + r0, er := C.fsync(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Getpgid(pid int) (pgid int, err error) { r0, er := C.getpgid(C.int(pid)) pgid = int(r0) @@ -975,7 +975,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 *byte if len(p) > 0 { _p0 = &p[0] @@ -992,7 +992,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 *byte if len(p) > 0 { _p0 = &p[0] diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go index a89b0bfa..33c2609b 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go @@ -135,16 +135,6 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func fsyncRange(fd int, how int, start int64, length int64) (err error) { - _, e1 := callfsync_range(fd, how, start, length) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Acct(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -293,6 +283,16 @@ func Fdatasync(fd int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fsync(fd int) (err error) { + _, e1 := callfsync(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Getpgid(pid int) (pgid int, err error) { r0, e1 := callgetpgid(pid) pgid = int(r0) @@ -931,7 +931,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 *byte if len(p) > 0 { _p0 = &p[0] @@ -946,7 +946,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 *byte if len(p) > 0 { _p0 = &p[0] diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go index 2caa5adf..8b737fa9 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go @@ -18,7 +18,6 @@ import ( //go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o" //go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o" -//go:cgo_import_dynamic libc_fsync_range fsync_range "libc.a/shr_64.o" //go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o" //go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o" //go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o" @@ -31,6 +30,7 @@ import ( //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fsync fsync "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o" @@ -136,7 +136,6 @@ import ( //go:linkname libc_wait4 libc_wait4 //go:linkname libc_ioctl libc_ioctl //go:linkname libc_fcntl libc_fcntl -//go:linkname libc_fsync_range libc_fsync_range //go:linkname libc_acct libc_acct //go:linkname libc_chdir libc_chdir //go:linkname libc_chroot libc_chroot @@ -149,6 +148,7 @@ import ( //go:linkname libc_fchmodat libc_fchmodat //go:linkname libc_fchownat libc_fchownat //go:linkname libc_fdatasync libc_fdatasync +//go:linkname libc_fsync libc_fsync //go:linkname libc_getpgid libc_getpgid //go:linkname libc_getpgrp libc_getpgrp //go:linkname libc_getpid libc_getpid @@ -257,7 +257,6 @@ var ( libc_wait4, libc_ioctl, libc_fcntl, - libc_fsync_range, libc_acct, libc_chdir, libc_chroot, @@ -270,6 +269,7 @@ var ( libc_fchmodat, libc_fchownat, libc_fdatasync, + libc_fsync, libc_getpgid, libc_getpgrp, libc_getpid, @@ -430,13 +430,6 @@ func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callfsync_range(fd int, how int, start int64, length int64) (r1 uintptr, e1 Errno) { - r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync_range)), 4, uintptr(fd), uintptr(how), uintptr(start), uintptr(length), 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0) return @@ -521,6 +514,13 @@ func callfdatasync(fd int) (r1 uintptr, e1 Errno) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func callgetpgid(pid int) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) return diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go index 944a714b..3c260917 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go @@ -16,7 +16,6 @@ int getdirent(int, uintptr_t, size_t); int wait4(int, uintptr_t, int, uintptr_t); int ioctl(int, int, uintptr_t); int fcntl(uintptr_t, int, uintptr_t); -int fsync_range(int, int, long long, long long); int acct(uintptr_t); int chdir(uintptr_t); int chroot(uintptr_t); @@ -29,6 +28,7 @@ int fchmod(int, unsigned int); int fchmodat(int, uintptr_t, unsigned int, int); int fchownat(int, uintptr_t, int, int, int); int fdatasync(int); +int fsync(int); int getpgid(int); int getpgrp(); int getpid(); @@ -199,14 +199,6 @@ func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callfsync_range(fd int, how int, start int64, length int64) (r1 uintptr, e1 Errno) { - r1 = uintptr(C.fsync_range(C.int(fd), C.int(how), C.longlong(start), C.longlong(length))) - e1 = syscall.GetErrno() - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.acct(C.uintptr_t(_p0))) e1 = syscall.GetErrno() @@ -303,6 +295,14 @@ func callfdatasync(fd int) (r1 uintptr, e1 Errno) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fsync(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func callgetpgid(pid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getpgid(C.int(pid))) e1 = syscall.GetErrno() diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index fbfce020..d4efe8d4 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -734,65 +734,6 @@ var libc_sendfile_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { - r0, _, e1 := syscall_syscall(libc_shmat_trampoline_addr, uintptr(id), uintptr(addr), uintptr(flag)) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_shmat_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_shmat shmat "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { - r0, _, e1 := syscall_syscall(libc_shmctl_trampoline_addr, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) - result = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_shmctl_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_shmctl shmctl "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmdt(addr uintptr) (err error) { - _, _, e1 := syscall_syscall(libc_shmdt_trampoline_addr, uintptr(addr), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_shmdt_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_shmdt shmdt "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmget(key int, size int, flag int) (id int, err error) { - r0, _, e1 := syscall_syscall(libc_shmget_trampoline_addr, uintptr(key), uintptr(size), uintptr(flag)) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_shmget_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_shmget shmget "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1698,7 +1639,7 @@ var libc_pathconf_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1719,7 +1660,7 @@ var libc_pread_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s index eac6ca80..bc169c2a 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -264,30 +264,6 @@ TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB) -TEXT libc_shmat_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_shmat(SB) - -GLOBL ·libc_shmat_trampoline_addr(SB), RODATA, $8 -DATA ·libc_shmat_trampoline_addr(SB)/8, $libc_shmat_trampoline<>(SB) - -TEXT libc_shmctl_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_shmctl(SB) - -GLOBL ·libc_shmctl_trampoline_addr(SB), RODATA, $8 -DATA ·libc_shmctl_trampoline_addr(SB)/8, $libc_shmctl_trampoline<>(SB) - -TEXT libc_shmdt_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_shmdt(SB) - -GLOBL ·libc_shmdt_trampoline_addr(SB), RODATA, $8 -DATA ·libc_shmdt_trampoline_addr(SB)/8, $libc_shmdt_trampoline<>(SB) - -TEXT libc_shmget_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_shmget(SB) - -GLOBL ·libc_shmget_trampoline_addr(SB), RODATA, $8 -DATA ·libc_shmget_trampoline_addr(SB)/8, $libc_shmget_trampoline<>(SB) - TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go index 49d2225e..f2ee2bd3 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -734,65 +734,6 @@ var libc_sendfile_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { - r0, _, e1 := syscall_syscall(libc_shmat_trampoline_addr, uintptr(id), uintptr(addr), uintptr(flag)) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_shmat_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_shmat shmat "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { - r0, _, e1 := syscall_syscall(libc_shmctl_trampoline_addr, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) - result = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_shmctl_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_shmctl shmctl "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmdt(addr uintptr) (err error) { - _, _, e1 := syscall_syscall(libc_shmdt_trampoline_addr, uintptr(addr), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_shmdt_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_shmdt shmdt "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmget(key int, size int, flag int) (id int, err error) { - r0, _, e1 := syscall_syscall(libc_shmget_trampoline_addr, uintptr(key), uintptr(size), uintptr(flag)) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_shmget_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_shmget shmget "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1698,7 +1639,7 @@ var libc_pathconf_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1719,7 +1660,7 @@ var libc_pread_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s index 4ebcf217..33e19776 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -264,30 +264,6 @@ TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB) -TEXT libc_shmat_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_shmat(SB) - -GLOBL ·libc_shmat_trampoline_addr(SB), RODATA, $8 -DATA ·libc_shmat_trampoline_addr(SB)/8, $libc_shmat_trampoline<>(SB) - -TEXT libc_shmctl_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_shmctl(SB) - -GLOBL ·libc_shmctl_trampoline_addr(SB), RODATA, $8 -DATA ·libc_shmctl_trampoline_addr(SB)/8, $libc_shmctl_trampoline<>(SB) - -TEXT libc_shmdt_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_shmdt(SB) - -GLOBL ·libc_shmdt_trampoline_addr(SB), RODATA, $8 -DATA ·libc_shmdt_trampoline_addr(SB)/8, $libc_shmdt_trampoline<>(SB) - -TEXT libc_shmget_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_shmget(SB) - -GLOBL ·libc_shmget_trampoline_addr(SB), RODATA, $8 -DATA ·libc_shmget_trampoline_addr(SB)/8, $libc_shmget_trampoline<>(SB) - TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go index e9d9997e..3e9bddb7 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go @@ -1420,7 +1420,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1437,7 +1437,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go index edd373b1..c72a462b 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go @@ -1420,7 +1420,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1437,7 +1437,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go index 82e9764b..530d5df9 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go @@ -1420,7 +1420,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1437,7 +1437,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go index a6479acd..71e7df9e 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go @@ -1420,7 +1420,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1437,7 +1437,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux.go index 30fa4055..7305cc91 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux.go @@ -1,4 +1,4 @@ -// Code generated by mkmerge; DO NOT EDIT. +// Code generated by mkmerge.go; DO NOT EDIT. //go:build linux // +build linux @@ -48,16 +48,6 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { - _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(oldpath) @@ -110,16 +100,6 @@ func openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err e // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pipe2(p *[2]_C_int, flags int) (err error) { - _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) n = int(r0) @@ -409,21 +389,6 @@ func mount(source string, target string, fstype string, flags uintptr, data *byt // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(pathname) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_MOUNT_SETATTR, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(unsafe.Pointer(attr)), uintptr(size), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Acct(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1236,7 +1201,7 @@ func PivotRoot(newroot string, putold string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) if e1 != 0 { err = errnoErr(e1) @@ -1970,83 +1935,8 @@ func ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags u // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func PidfdOpen(pid int, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_PIDFD_OPEN, uintptr(pid), uintptr(flags), 0) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) { - r0, _, e1 := Syscall(SYS_PIDFD_GETFD, uintptr(pidfd), uintptr(targetfd), uintptr(flags)) - fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { - r0, _, e1 := Syscall(SYS_SHMAT, uintptr(id), uintptr(addr), uintptr(flag)) - ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { - r0, _, e1 := Syscall(SYS_SHMCTL, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) - result = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmdt(addr uintptr) (err error) { - _, _, e1 := Syscall(SYS_SHMDT, uintptr(addr), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func shmget(key int, size int, flag int) (id int, err error) { - r0, _, e1 := Syscall(SYS_SHMGET, uintptr(key), uintptr(size), uintptr(flag)) - id = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func getitimer(which int, currValue *Itimerval) (err error) { - _, _, e1 := Syscall(SYS_GETITIMER, uintptr(which), uintptr(unsafe.Pointer(currValue)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error) { - _, _, e1 := Syscall(SYS_SETITIMER, uintptr(which), uintptr(unsafe.Pointer(newValue)), uintptr(unsafe.Pointer(oldValue))) +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) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go index 88af526b..e37096e4 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go syscall_linux_alarm.go +// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && 386 @@ -46,6 +46,37 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -150,6 +181,17 @@ func Getuid() (uid int) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Ioperm(from int, num int, on int) (err error) { _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) if e1 != 0 { @@ -200,7 +242,7 @@ func Lstat(path string, stat *Stat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -217,7 +259,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -527,9 +569,9 @@ func utimes(path string, times *[2]Timeval) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go index c947a4d1..9919d848 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go syscall_linux_alarm.go +// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && amd64 @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -170,6 +191,17 @@ func Getuid() (uid int) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func inotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Ioperm(from int, num int, on int) (err error) { _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) if e1 != 0 { @@ -225,7 +257,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -242,7 +274,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -444,6 +476,17 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -668,13 +711,19 @@ func utimes(path string, times *[2]Timeval) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(cmdline) - if err != nil { - return +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) } - _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) if e1 != 0 { err = errnoErr(e1) } @@ -683,9 +732,13 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go index 4882bde3..076754d4 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -214,6 +235,27 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -298,6 +340,17 @@ func Getuid() (uid int) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Lchown(path string, uid int, gid int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -538,7 +591,7 @@ func utimes(path string, times *[2]Timeval) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -555,7 +608,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -628,6 +681,17 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32)) if e1 != 0 { diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go index dd15284d..e893f987 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go @@ -180,7 +180,7 @@ func Listen(s int, n int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -197,7 +197,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -389,6 +389,17 @@ func Truncate(path string, length int64) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go index d7d6f424..4703cf3c 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go +// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && mips @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -150,7 +171,7 @@ func Listen(s int, n int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -167,7 +188,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -344,6 +365,17 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -512,6 +544,17 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Ioperm(from int, num int, on int) (err error) { _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) if e1 != 0 { @@ -663,6 +706,18 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) xaddr = uintptr(r0) @@ -694,9 +749,9 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go index 7f1f8e65..a134f9a4 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go syscall_linux_alarm.go +// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && mips64 @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -180,7 +201,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -197,7 +218,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -399,6 +420,17 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -688,9 +720,9 @@ func stat(path string, st *stat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go index f933d0f5..b1fff2d9 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -180,7 +201,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -197,7 +218,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -399,6 +420,17 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -685,3 +717,14 @@ func stat(path string, st *stat_t) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go index 297d0a99..d13d6da0 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go +// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && mipsle @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -150,7 +171,7 @@ func Listen(s int, n int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -167,7 +188,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -344,6 +365,17 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -512,6 +544,17 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Ioperm(from int, num int, on int) (err error) { _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) if e1 != 0 { @@ -663,6 +706,18 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) xaddr = uintptr(r0) @@ -694,9 +749,9 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go index 2e32e7a4..927cf1a0 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go syscall_linux_alarm.go +// go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && ppc @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -140,6 +161,17 @@ func Getuid() (uid int) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Ioperm(from int, num int, on int) (err error) { _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) if e1 != 0 { @@ -210,7 +242,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -227,7 +259,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -409,6 +441,17 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -674,8 +717,8 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n)) +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if e1 != 0 { err = errnoErr(e1) } @@ -684,13 +727,19 @@ func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(cmdline) - if err != nil { - return +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) } - _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n)) if e1 != 0 { err = errnoErr(e1) } @@ -699,9 +748,13 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go index 3c531704..da8ec039 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go +// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && ppc64 @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -170,6 +191,17 @@ func Getuid() (uid int) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Ioperm(from int, num int, on int) (err error) { _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) if e1 != 0 { @@ -240,7 +272,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -257,7 +289,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -475,6 +507,17 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -720,8 +763,8 @@ func utimes(path string, times *[2]Timeval) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if e1 != 0 { err = errnoErr(e1) } @@ -730,13 +773,19 @@ func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(cmdline) - if err != nil { - return +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) } - _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) if e1 != 0 { err = errnoErr(e1) } @@ -745,9 +794,13 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go index a00c6744..083f493b 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go +// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && ppc64le @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -170,6 +191,17 @@ func Getuid() (uid int) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Ioperm(from int, num int, on int) (err error) { _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) if e1 != 0 { @@ -240,7 +272,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -257,7 +289,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -475,6 +507,17 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -720,8 +763,8 @@ func utimes(path string, times *[2]Timeval) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { - _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if e1 != 0 { err = errnoErr(e1) } @@ -730,13 +773,19 @@ func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(cmdline) - if err != nil { - return +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) } - _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) if e1 != 0 { err = errnoErr(e1) } @@ -745,9 +794,13 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go index a1a9bcbb..63b393b8 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go @@ -180,7 +180,7 @@ func Listen(s int, n int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -197,7 +197,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -369,6 +369,17 @@ func Truncate(path string, length int64) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go index e0dabc60..bb347407 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go syscall_linux_alarm.go +// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && s390x @@ -46,6 +46,27 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { @@ -170,6 +191,17 @@ func Getuid() (uid int) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Lchown(path string, uid int, gid int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -210,7 +242,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -227,7 +259,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -521,13 +553,9 @@ func utimes(path string, times *[2]Timeval) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(cmdline) - if err != nil { - return - } - _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) if e1 != 0 { err = errnoErr(e1) } @@ -536,9 +564,13 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go index 368623c0..8edc517e 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go syscall_linux_alarm.go +// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && sparc64 @@ -73,6 +73,16 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Fchown(fd int, uid int, gid int) (err error) { _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { @@ -170,6 +180,17 @@ func Getuid() (uid int) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Lchown(path string, uid int, gid int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -220,7 +241,7 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -237,7 +258,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -455,6 +476,17 @@ func Truncate(path string, length int64) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) @@ -689,9 +721,19 @@ func utimes(path string, times *[2]Timeval) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Alarm(seconds uint) (remaining uint, err error) { - r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) - remaining = uint(r0) +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go index 4af561a4..4726ab30 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go @@ -351,6 +351,18 @@ func Munlockall() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { @@ -1330,7 +1342,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1347,7 +1359,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go index 3b90e944..fe71456d 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go @@ -351,6 +351,18 @@ func Munlockall() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { @@ -1330,7 +1342,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1347,7 +1359,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go index 890f4ccd..0b5b2f01 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go @@ -351,6 +351,18 @@ func Munlockall() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { @@ -1330,7 +1342,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1347,7 +1359,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go index c79f071f..bfca2864 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go @@ -351,6 +351,18 @@ func Munlockall() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { @@ -1330,7 +1342,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1347,7 +1359,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go index a057fc5d..8f80f4ad 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -1128,7 +1128,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1145,7 +1145,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go index 04db8fa2..3a47aca7 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -1128,7 +1128,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1145,7 +1145,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go index 69f80300..883a9b45 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -1128,7 +1128,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1145,7 +1145,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go index c96a5051..aac7fdc9 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go @@ -1128,7 +1128,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1145,7 +1145,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go index 016d959b..87761874 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go @@ -1128,7 +1128,7 @@ func Pathconf(path string, name int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) @@ -1145,7 +1145,7 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go index d12f4fbf..4e18d5c9 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -141,11 +141,6 @@ import ( //go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" //go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" //go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" -//go:cgo_import_dynamic libc_port_create port_create "libc.so" -//go:cgo_import_dynamic libc_port_associate port_associate "libc.so" -//go:cgo_import_dynamic libc_port_dissociate port_dissociate "libc.so" -//go:cgo_import_dynamic libc_port_get port_get "libc.so" -//go:cgo_import_dynamic libc_port_getn port_getn "libc.so" //go:linkname procpipe libc_pipe //go:linkname procpipe2 libc_pipe2 @@ -227,8 +222,8 @@ import ( //go:linkname procOpenat libc_openat //go:linkname procPathconf libc_pathconf //go:linkname procPause libc_pause -//go:linkname procpread libc_pread -//go:linkname procpwrite libc_pwrite +//go:linkname procPread libc_pread +//go:linkname procPwrite libc_pwrite //go:linkname procread libc_read //go:linkname procReadlink libc_readlink //go:linkname procRename libc_rename @@ -277,11 +272,6 @@ import ( //go:linkname procgetpeername libc_getpeername //go:linkname procsetsockopt libc_setsockopt //go:linkname procrecvfrom libc_recvfrom -//go:linkname procport_create libc_port_create -//go:linkname procport_associate libc_port_associate -//go:linkname procport_dissociate libc_port_dissociate -//go:linkname procport_get libc_port_get -//go:linkname procport_getn libc_port_getn var ( procpipe, @@ -364,8 +354,8 @@ var ( procOpenat, procPathconf, procPause, - procpread, - procpwrite, + procPread, + procPwrite, procread, procReadlink, procRename, @@ -413,12 +403,7 @@ var ( proc__xnet_getsockopt, procgetpeername, procsetsockopt, - procrecvfrom, - procport_create, - procport_associate, - procport_dissociate, - procport_get, - procport_getn syscallFunc + procrecvfrom syscallFunc ) // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT @@ -1380,12 +1365,12 @@ func Pause() (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pread(fd int, p []byte, offset int64) (n int, err error) { +func Pread(fd int, p []byte, offset int64) (n int, err error) { var _p0 *byte if len(p) > 0 { _p0 = &p[0] } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = e1 @@ -1395,12 +1380,12 @@ func pread(fd int, p []byte, offset int64) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func pwrite(fd int, p []byte, offset int64) (n int, err error) { +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { var _p0 *byte if len(p) > 0 { _p0 = &p[0] } - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = e1 @@ -1996,58 +1981,3 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl } return } - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func port_create() (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_create)), 0, 0, 0, 0, 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func port_associate(port int, source int, object uintptr, events int, user *byte) (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_associate)), 5, uintptr(port), uintptr(source), uintptr(object), uintptr(events), uintptr(unsafe.Pointer(user)), 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func port_dissociate(port int, source int, object uintptr) (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_dissociate)), 3, uintptr(port), uintptr(source), uintptr(object), 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func port_get(port int, pe *portEvent, timeout *Timespec) (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_get)), 3, uintptr(port), uintptr(unsafe.Pointer(pe)), uintptr(unsafe.Pointer(timeout)), 0, 0, 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func port_getn(port int, pe *portEvent, max uint32, nget *uint32, timeout *Timespec) (n int, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_getn)), 5, uintptr(port), uintptr(unsafe.Pointer(pe)), uintptr(max), uintptr(unsafe.Pointer(nget)), uintptr(unsafe.Pointer(timeout)), 0) - n = int(r0) - if e1 != 0 { - err = e1 - } - return -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go index cac1f758..fbc59b7f 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -439,11 +439,4 @@ const ( SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_MEMFD_SECRET = 447 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go index f327e4a0..04d16d77 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -7,365 +7,358 @@ package unix const ( - SYS_READ = 0 - SYS_WRITE = 1 - SYS_OPEN = 2 - SYS_CLOSE = 3 - SYS_STAT = 4 - SYS_FSTAT = 5 - SYS_LSTAT = 6 - SYS_POLL = 7 - SYS_LSEEK = 8 - SYS_MMAP = 9 - SYS_MPROTECT = 10 - SYS_MUNMAP = 11 - SYS_BRK = 12 - SYS_RT_SIGACTION = 13 - SYS_RT_SIGPROCMASK = 14 - SYS_RT_SIGRETURN = 15 - SYS_IOCTL = 16 - SYS_PREAD64 = 17 - SYS_PWRITE64 = 18 - SYS_READV = 19 - SYS_WRITEV = 20 - SYS_ACCESS = 21 - SYS_PIPE = 22 - SYS_SELECT = 23 - SYS_SCHED_YIELD = 24 - SYS_MREMAP = 25 - SYS_MSYNC = 26 - SYS_MINCORE = 27 - SYS_MADVISE = 28 - SYS_SHMGET = 29 - SYS_SHMAT = 30 - SYS_SHMCTL = 31 - SYS_DUP = 32 - SYS_DUP2 = 33 - SYS_PAUSE = 34 - SYS_NANOSLEEP = 35 - SYS_GETITIMER = 36 - SYS_ALARM = 37 - SYS_SETITIMER = 38 - SYS_GETPID = 39 - SYS_SENDFILE = 40 - SYS_SOCKET = 41 - SYS_CONNECT = 42 - SYS_ACCEPT = 43 - SYS_SENDTO = 44 - SYS_RECVFROM = 45 - SYS_SENDMSG = 46 - SYS_RECVMSG = 47 - SYS_SHUTDOWN = 48 - SYS_BIND = 49 - SYS_LISTEN = 50 - SYS_GETSOCKNAME = 51 - SYS_GETPEERNAME = 52 - SYS_SOCKETPAIR = 53 - SYS_SETSOCKOPT = 54 - SYS_GETSOCKOPT = 55 - SYS_CLONE = 56 - SYS_FORK = 57 - SYS_VFORK = 58 - SYS_EXECVE = 59 - SYS_EXIT = 60 - SYS_WAIT4 = 61 - SYS_KILL = 62 - SYS_UNAME = 63 - SYS_SEMGET = 64 - SYS_SEMOP = 65 - SYS_SEMCTL = 66 - SYS_SHMDT = 67 - SYS_MSGGET = 68 - SYS_MSGSND = 69 - SYS_MSGRCV = 70 - SYS_MSGCTL = 71 - SYS_FCNTL = 72 - SYS_FLOCK = 73 - SYS_FSYNC = 74 - SYS_FDATASYNC = 75 - SYS_TRUNCATE = 76 - SYS_FTRUNCATE = 77 - SYS_GETDENTS = 78 - SYS_GETCWD = 79 - SYS_CHDIR = 80 - SYS_FCHDIR = 81 - SYS_RENAME = 82 - SYS_MKDIR = 83 - SYS_RMDIR = 84 - SYS_CREAT = 85 - SYS_LINK = 86 - SYS_UNLINK = 87 - SYS_SYMLINK = 88 - SYS_READLINK = 89 - SYS_CHMOD = 90 - SYS_FCHMOD = 91 - SYS_CHOWN = 92 - SYS_FCHOWN = 93 - SYS_LCHOWN = 94 - SYS_UMASK = 95 - SYS_GETTIMEOFDAY = 96 - SYS_GETRLIMIT = 97 - SYS_GETRUSAGE = 98 - SYS_SYSINFO = 99 - SYS_TIMES = 100 - SYS_PTRACE = 101 - SYS_GETUID = 102 - SYS_SYSLOG = 103 - SYS_GETGID = 104 - SYS_SETUID = 105 - SYS_SETGID = 106 - SYS_GETEUID = 107 - SYS_GETEGID = 108 - SYS_SETPGID = 109 - SYS_GETPPID = 110 - SYS_GETPGRP = 111 - SYS_SETSID = 112 - SYS_SETREUID = 113 - SYS_SETREGID = 114 - SYS_GETGROUPS = 115 - SYS_SETGROUPS = 116 - SYS_SETRESUID = 117 - SYS_GETRESUID = 118 - SYS_SETRESGID = 119 - SYS_GETRESGID = 120 - SYS_GETPGID = 121 - SYS_SETFSUID = 122 - SYS_SETFSGID = 123 - SYS_GETSID = 124 - SYS_CAPGET = 125 - SYS_CAPSET = 126 - SYS_RT_SIGPENDING = 127 - SYS_RT_SIGTIMEDWAIT = 128 - SYS_RT_SIGQUEUEINFO = 129 - SYS_RT_SIGSUSPEND = 130 - SYS_SIGALTSTACK = 131 - SYS_UTIME = 132 - SYS_MKNOD = 133 - SYS_USELIB = 134 - SYS_PERSONALITY = 135 - SYS_USTAT = 136 - SYS_STATFS = 137 - SYS_FSTATFS = 138 - SYS_SYSFS = 139 - SYS_GETPRIORITY = 140 - SYS_SETPRIORITY = 141 - SYS_SCHED_SETPARAM = 142 - SYS_SCHED_GETPARAM = 143 - SYS_SCHED_SETSCHEDULER = 144 - SYS_SCHED_GETSCHEDULER = 145 - SYS_SCHED_GET_PRIORITY_MAX = 146 - SYS_SCHED_GET_PRIORITY_MIN = 147 - SYS_SCHED_RR_GET_INTERVAL = 148 - SYS_MLOCK = 149 - SYS_MUNLOCK = 150 - SYS_MLOCKALL = 151 - SYS_MUNLOCKALL = 152 - SYS_VHANGUP = 153 - SYS_MODIFY_LDT = 154 - SYS_PIVOT_ROOT = 155 - SYS__SYSCTL = 156 - SYS_PRCTL = 157 - SYS_ARCH_PRCTL = 158 - SYS_ADJTIMEX = 159 - SYS_SETRLIMIT = 160 - SYS_CHROOT = 161 - SYS_SYNC = 162 - SYS_ACCT = 163 - SYS_SETTIMEOFDAY = 164 - SYS_MOUNT = 165 - SYS_UMOUNT2 = 166 - SYS_SWAPON = 167 - SYS_SWAPOFF = 168 - SYS_REBOOT = 169 - SYS_SETHOSTNAME = 170 - SYS_SETDOMAINNAME = 171 - SYS_IOPL = 172 - SYS_IOPERM = 173 - SYS_CREATE_MODULE = 174 - SYS_INIT_MODULE = 175 - SYS_DELETE_MODULE = 176 - SYS_GET_KERNEL_SYMS = 177 - SYS_QUERY_MODULE = 178 - SYS_QUOTACTL = 179 - SYS_NFSSERVCTL = 180 - SYS_GETPMSG = 181 - SYS_PUTPMSG = 182 - SYS_AFS_SYSCALL = 183 - SYS_TUXCALL = 184 - SYS_SECURITY = 185 - SYS_GETTID = 186 - SYS_READAHEAD = 187 - SYS_SETXATTR = 188 - SYS_LSETXATTR = 189 - SYS_FSETXATTR = 190 - SYS_GETXATTR = 191 - SYS_LGETXATTR = 192 - SYS_FGETXATTR = 193 - SYS_LISTXATTR = 194 - SYS_LLISTXATTR = 195 - SYS_FLISTXATTR = 196 - SYS_REMOVEXATTR = 197 - SYS_LREMOVEXATTR = 198 - SYS_FREMOVEXATTR = 199 - SYS_TKILL = 200 - SYS_TIME = 201 - SYS_FUTEX = 202 - SYS_SCHED_SETAFFINITY = 203 - SYS_SCHED_GETAFFINITY = 204 - SYS_SET_THREAD_AREA = 205 - SYS_IO_SETUP = 206 - SYS_IO_DESTROY = 207 - SYS_IO_GETEVENTS = 208 - SYS_IO_SUBMIT = 209 - SYS_IO_CANCEL = 210 - SYS_GET_THREAD_AREA = 211 - SYS_LOOKUP_DCOOKIE = 212 - SYS_EPOLL_CREATE = 213 - SYS_EPOLL_CTL_OLD = 214 - SYS_EPOLL_WAIT_OLD = 215 - SYS_REMAP_FILE_PAGES = 216 - SYS_GETDENTS64 = 217 - SYS_SET_TID_ADDRESS = 218 - SYS_RESTART_SYSCALL = 219 - SYS_SEMTIMEDOP = 220 - SYS_FADVISE64 = 221 - SYS_TIMER_CREATE = 222 - SYS_TIMER_SETTIME = 223 - SYS_TIMER_GETTIME = 224 - SYS_TIMER_GETOVERRUN = 225 - SYS_TIMER_DELETE = 226 - SYS_CLOCK_SETTIME = 227 - SYS_CLOCK_GETTIME = 228 - SYS_CLOCK_GETRES = 229 - SYS_CLOCK_NANOSLEEP = 230 - SYS_EXIT_GROUP = 231 - SYS_EPOLL_WAIT = 232 - SYS_EPOLL_CTL = 233 - SYS_TGKILL = 234 - SYS_UTIMES = 235 - SYS_VSERVER = 236 - SYS_MBIND = 237 - SYS_SET_MEMPOLICY = 238 - SYS_GET_MEMPOLICY = 239 - SYS_MQ_OPEN = 240 - SYS_MQ_UNLINK = 241 - SYS_MQ_TIMEDSEND = 242 - SYS_MQ_TIMEDRECEIVE = 243 - SYS_MQ_NOTIFY = 244 - SYS_MQ_GETSETATTR = 245 - SYS_KEXEC_LOAD = 246 - SYS_WAITID = 247 - SYS_ADD_KEY = 248 - SYS_REQUEST_KEY = 249 - SYS_KEYCTL = 250 - SYS_IOPRIO_SET = 251 - SYS_IOPRIO_GET = 252 - SYS_INOTIFY_INIT = 253 - SYS_INOTIFY_ADD_WATCH = 254 - SYS_INOTIFY_RM_WATCH = 255 - SYS_MIGRATE_PAGES = 256 - SYS_OPENAT = 257 - SYS_MKDIRAT = 258 - SYS_MKNODAT = 259 - SYS_FCHOWNAT = 260 - SYS_FUTIMESAT = 261 - SYS_NEWFSTATAT = 262 - SYS_UNLINKAT = 263 - SYS_RENAMEAT = 264 - SYS_LINKAT = 265 - SYS_SYMLINKAT = 266 - SYS_READLINKAT = 267 - SYS_FCHMODAT = 268 - SYS_FACCESSAT = 269 - SYS_PSELECT6 = 270 - SYS_PPOLL = 271 - SYS_UNSHARE = 272 - SYS_SET_ROBUST_LIST = 273 - SYS_GET_ROBUST_LIST = 274 - SYS_SPLICE = 275 - SYS_TEE = 276 - SYS_SYNC_FILE_RANGE = 277 - SYS_VMSPLICE = 278 - SYS_MOVE_PAGES = 279 - SYS_UTIMENSAT = 280 - SYS_EPOLL_PWAIT = 281 - SYS_SIGNALFD = 282 - SYS_TIMERFD_CREATE = 283 - SYS_EVENTFD = 284 - SYS_FALLOCATE = 285 - SYS_TIMERFD_SETTIME = 286 - SYS_TIMERFD_GETTIME = 287 - SYS_ACCEPT4 = 288 - SYS_SIGNALFD4 = 289 - SYS_EVENTFD2 = 290 - SYS_EPOLL_CREATE1 = 291 - SYS_DUP3 = 292 - SYS_PIPE2 = 293 - SYS_INOTIFY_INIT1 = 294 - SYS_PREADV = 295 - SYS_PWRITEV = 296 - SYS_RT_TGSIGQUEUEINFO = 297 - SYS_PERF_EVENT_OPEN = 298 - SYS_RECVMMSG = 299 - SYS_FANOTIFY_INIT = 300 - SYS_FANOTIFY_MARK = 301 - SYS_PRLIMIT64 = 302 - SYS_NAME_TO_HANDLE_AT = 303 - SYS_OPEN_BY_HANDLE_AT = 304 - SYS_CLOCK_ADJTIME = 305 - SYS_SYNCFS = 306 - SYS_SENDMMSG = 307 - SYS_SETNS = 308 - SYS_GETCPU = 309 - SYS_PROCESS_VM_READV = 310 - SYS_PROCESS_VM_WRITEV = 311 - SYS_KCMP = 312 - SYS_FINIT_MODULE = 313 - SYS_SCHED_SETATTR = 314 - SYS_SCHED_GETATTR = 315 - SYS_RENAMEAT2 = 316 - SYS_SECCOMP = 317 - SYS_GETRANDOM = 318 - SYS_MEMFD_CREATE = 319 - SYS_KEXEC_FILE_LOAD = 320 - SYS_BPF = 321 - SYS_EXECVEAT = 322 - SYS_USERFAULTFD = 323 - SYS_MEMBARRIER = 324 - SYS_MLOCK2 = 325 - SYS_COPY_FILE_RANGE = 326 - SYS_PREADV2 = 327 - SYS_PWRITEV2 = 328 - SYS_PKEY_MPROTECT = 329 - SYS_PKEY_ALLOC = 330 - SYS_PKEY_FREE = 331 - SYS_STATX = 332 - SYS_IO_PGETEVENTS = 333 - SYS_RSEQ = 334 - SYS_PIDFD_SEND_SIGNAL = 424 - SYS_IO_URING_SETUP = 425 - SYS_IO_URING_ENTER = 426 - SYS_IO_URING_REGISTER = 427 - SYS_OPEN_TREE = 428 - SYS_MOVE_MOUNT = 429 - SYS_FSOPEN = 430 - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 - SYS_PIDFD_OPEN = 434 - SYS_CLONE3 = 435 - SYS_CLOSE_RANGE = 436 - SYS_OPENAT2 = 437 - SYS_PIDFD_GETFD = 438 - SYS_FACCESSAT2 = 439 - SYS_PROCESS_MADVISE = 440 - SYS_EPOLL_PWAIT2 = 441 - SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_MEMFD_SECRET = 447 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 + SYS_READ = 0 + SYS_WRITE = 1 + SYS_OPEN = 2 + SYS_CLOSE = 3 + SYS_STAT = 4 + SYS_FSTAT = 5 + SYS_LSTAT = 6 + SYS_POLL = 7 + SYS_LSEEK = 8 + SYS_MMAP = 9 + SYS_MPROTECT = 10 + SYS_MUNMAP = 11 + SYS_BRK = 12 + SYS_RT_SIGACTION = 13 + SYS_RT_SIGPROCMASK = 14 + SYS_RT_SIGRETURN = 15 + SYS_IOCTL = 16 + SYS_PREAD64 = 17 + SYS_PWRITE64 = 18 + SYS_READV = 19 + SYS_WRITEV = 20 + SYS_ACCESS = 21 + SYS_PIPE = 22 + SYS_SELECT = 23 + SYS_SCHED_YIELD = 24 + SYS_MREMAP = 25 + SYS_MSYNC = 26 + SYS_MINCORE = 27 + SYS_MADVISE = 28 + SYS_SHMGET = 29 + SYS_SHMAT = 30 + SYS_SHMCTL = 31 + SYS_DUP = 32 + SYS_DUP2 = 33 + SYS_PAUSE = 34 + SYS_NANOSLEEP = 35 + SYS_GETITIMER = 36 + SYS_ALARM = 37 + SYS_SETITIMER = 38 + SYS_GETPID = 39 + SYS_SENDFILE = 40 + SYS_SOCKET = 41 + SYS_CONNECT = 42 + SYS_ACCEPT = 43 + SYS_SENDTO = 44 + SYS_RECVFROM = 45 + SYS_SENDMSG = 46 + SYS_RECVMSG = 47 + SYS_SHUTDOWN = 48 + SYS_BIND = 49 + SYS_LISTEN = 50 + SYS_GETSOCKNAME = 51 + SYS_GETPEERNAME = 52 + SYS_SOCKETPAIR = 53 + SYS_SETSOCKOPT = 54 + SYS_GETSOCKOPT = 55 + SYS_CLONE = 56 + SYS_FORK = 57 + SYS_VFORK = 58 + SYS_EXECVE = 59 + SYS_EXIT = 60 + SYS_WAIT4 = 61 + SYS_KILL = 62 + SYS_UNAME = 63 + SYS_SEMGET = 64 + SYS_SEMOP = 65 + SYS_SEMCTL = 66 + SYS_SHMDT = 67 + SYS_MSGGET = 68 + SYS_MSGSND = 69 + SYS_MSGRCV = 70 + SYS_MSGCTL = 71 + SYS_FCNTL = 72 + SYS_FLOCK = 73 + SYS_FSYNC = 74 + SYS_FDATASYNC = 75 + SYS_TRUNCATE = 76 + SYS_FTRUNCATE = 77 + SYS_GETDENTS = 78 + SYS_GETCWD = 79 + SYS_CHDIR = 80 + SYS_FCHDIR = 81 + SYS_RENAME = 82 + SYS_MKDIR = 83 + SYS_RMDIR = 84 + SYS_CREAT = 85 + SYS_LINK = 86 + SYS_UNLINK = 87 + SYS_SYMLINK = 88 + SYS_READLINK = 89 + SYS_CHMOD = 90 + SYS_FCHMOD = 91 + SYS_CHOWN = 92 + SYS_FCHOWN = 93 + SYS_LCHOWN = 94 + SYS_UMASK = 95 + SYS_GETTIMEOFDAY = 96 + SYS_GETRLIMIT = 97 + SYS_GETRUSAGE = 98 + SYS_SYSINFO = 99 + SYS_TIMES = 100 + SYS_PTRACE = 101 + SYS_GETUID = 102 + SYS_SYSLOG = 103 + SYS_GETGID = 104 + SYS_SETUID = 105 + SYS_SETGID = 106 + SYS_GETEUID = 107 + SYS_GETEGID = 108 + SYS_SETPGID = 109 + SYS_GETPPID = 110 + SYS_GETPGRP = 111 + SYS_SETSID = 112 + SYS_SETREUID = 113 + SYS_SETREGID = 114 + SYS_GETGROUPS = 115 + SYS_SETGROUPS = 116 + SYS_SETRESUID = 117 + SYS_GETRESUID = 118 + SYS_SETRESGID = 119 + SYS_GETRESGID = 120 + SYS_GETPGID = 121 + SYS_SETFSUID = 122 + SYS_SETFSGID = 123 + SYS_GETSID = 124 + SYS_CAPGET = 125 + SYS_CAPSET = 126 + SYS_RT_SIGPENDING = 127 + SYS_RT_SIGTIMEDWAIT = 128 + SYS_RT_SIGQUEUEINFO = 129 + SYS_RT_SIGSUSPEND = 130 + SYS_SIGALTSTACK = 131 + SYS_UTIME = 132 + SYS_MKNOD = 133 + SYS_USELIB = 134 + SYS_PERSONALITY = 135 + SYS_USTAT = 136 + SYS_STATFS = 137 + SYS_FSTATFS = 138 + SYS_SYSFS = 139 + SYS_GETPRIORITY = 140 + SYS_SETPRIORITY = 141 + SYS_SCHED_SETPARAM = 142 + SYS_SCHED_GETPARAM = 143 + SYS_SCHED_SETSCHEDULER = 144 + SYS_SCHED_GETSCHEDULER = 145 + SYS_SCHED_GET_PRIORITY_MAX = 146 + SYS_SCHED_GET_PRIORITY_MIN = 147 + SYS_SCHED_RR_GET_INTERVAL = 148 + SYS_MLOCK = 149 + SYS_MUNLOCK = 150 + SYS_MLOCKALL = 151 + SYS_MUNLOCKALL = 152 + SYS_VHANGUP = 153 + SYS_MODIFY_LDT = 154 + SYS_PIVOT_ROOT = 155 + SYS__SYSCTL = 156 + SYS_PRCTL = 157 + SYS_ARCH_PRCTL = 158 + SYS_ADJTIMEX = 159 + SYS_SETRLIMIT = 160 + SYS_CHROOT = 161 + SYS_SYNC = 162 + SYS_ACCT = 163 + SYS_SETTIMEOFDAY = 164 + SYS_MOUNT = 165 + SYS_UMOUNT2 = 166 + SYS_SWAPON = 167 + SYS_SWAPOFF = 168 + SYS_REBOOT = 169 + SYS_SETHOSTNAME = 170 + SYS_SETDOMAINNAME = 171 + SYS_IOPL = 172 + SYS_IOPERM = 173 + SYS_CREATE_MODULE = 174 + SYS_INIT_MODULE = 175 + SYS_DELETE_MODULE = 176 + SYS_GET_KERNEL_SYMS = 177 + SYS_QUERY_MODULE = 178 + SYS_QUOTACTL = 179 + SYS_NFSSERVCTL = 180 + SYS_GETPMSG = 181 + SYS_PUTPMSG = 182 + SYS_AFS_SYSCALL = 183 + SYS_TUXCALL = 184 + SYS_SECURITY = 185 + SYS_GETTID = 186 + SYS_READAHEAD = 187 + SYS_SETXATTR = 188 + SYS_LSETXATTR = 189 + SYS_FSETXATTR = 190 + SYS_GETXATTR = 191 + SYS_LGETXATTR = 192 + SYS_FGETXATTR = 193 + SYS_LISTXATTR = 194 + SYS_LLISTXATTR = 195 + SYS_FLISTXATTR = 196 + SYS_REMOVEXATTR = 197 + SYS_LREMOVEXATTR = 198 + SYS_FREMOVEXATTR = 199 + SYS_TKILL = 200 + SYS_TIME = 201 + SYS_FUTEX = 202 + SYS_SCHED_SETAFFINITY = 203 + SYS_SCHED_GETAFFINITY = 204 + SYS_SET_THREAD_AREA = 205 + SYS_IO_SETUP = 206 + SYS_IO_DESTROY = 207 + SYS_IO_GETEVENTS = 208 + SYS_IO_SUBMIT = 209 + SYS_IO_CANCEL = 210 + SYS_GET_THREAD_AREA = 211 + SYS_LOOKUP_DCOOKIE = 212 + SYS_EPOLL_CREATE = 213 + SYS_EPOLL_CTL_OLD = 214 + SYS_EPOLL_WAIT_OLD = 215 + SYS_REMAP_FILE_PAGES = 216 + SYS_GETDENTS64 = 217 + SYS_SET_TID_ADDRESS = 218 + SYS_RESTART_SYSCALL = 219 + SYS_SEMTIMEDOP = 220 + SYS_FADVISE64 = 221 + SYS_TIMER_CREATE = 222 + SYS_TIMER_SETTIME = 223 + SYS_TIMER_GETTIME = 224 + SYS_TIMER_GETOVERRUN = 225 + SYS_TIMER_DELETE = 226 + SYS_CLOCK_SETTIME = 227 + SYS_CLOCK_GETTIME = 228 + SYS_CLOCK_GETRES = 229 + SYS_CLOCK_NANOSLEEP = 230 + SYS_EXIT_GROUP = 231 + SYS_EPOLL_WAIT = 232 + SYS_EPOLL_CTL = 233 + SYS_TGKILL = 234 + SYS_UTIMES = 235 + SYS_VSERVER = 236 + SYS_MBIND = 237 + SYS_SET_MEMPOLICY = 238 + SYS_GET_MEMPOLICY = 239 + SYS_MQ_OPEN = 240 + SYS_MQ_UNLINK = 241 + SYS_MQ_TIMEDSEND = 242 + SYS_MQ_TIMEDRECEIVE = 243 + SYS_MQ_NOTIFY = 244 + SYS_MQ_GETSETATTR = 245 + SYS_KEXEC_LOAD = 246 + SYS_WAITID = 247 + SYS_ADD_KEY = 248 + SYS_REQUEST_KEY = 249 + SYS_KEYCTL = 250 + SYS_IOPRIO_SET = 251 + SYS_IOPRIO_GET = 252 + SYS_INOTIFY_INIT = 253 + SYS_INOTIFY_ADD_WATCH = 254 + SYS_INOTIFY_RM_WATCH = 255 + SYS_MIGRATE_PAGES = 256 + SYS_OPENAT = 257 + SYS_MKDIRAT = 258 + SYS_MKNODAT = 259 + SYS_FCHOWNAT = 260 + SYS_FUTIMESAT = 261 + SYS_NEWFSTATAT = 262 + SYS_UNLINKAT = 263 + SYS_RENAMEAT = 264 + SYS_LINKAT = 265 + SYS_SYMLINKAT = 266 + SYS_READLINKAT = 267 + SYS_FCHMODAT = 268 + SYS_FACCESSAT = 269 + SYS_PSELECT6 = 270 + SYS_PPOLL = 271 + SYS_UNSHARE = 272 + SYS_SET_ROBUST_LIST = 273 + SYS_GET_ROBUST_LIST = 274 + SYS_SPLICE = 275 + SYS_TEE = 276 + SYS_SYNC_FILE_RANGE = 277 + SYS_VMSPLICE = 278 + SYS_MOVE_PAGES = 279 + SYS_UTIMENSAT = 280 + SYS_EPOLL_PWAIT = 281 + SYS_SIGNALFD = 282 + SYS_TIMERFD_CREATE = 283 + SYS_EVENTFD = 284 + SYS_FALLOCATE = 285 + SYS_TIMERFD_SETTIME = 286 + SYS_TIMERFD_GETTIME = 287 + SYS_ACCEPT4 = 288 + SYS_SIGNALFD4 = 289 + SYS_EVENTFD2 = 290 + SYS_EPOLL_CREATE1 = 291 + SYS_DUP3 = 292 + SYS_PIPE2 = 293 + SYS_INOTIFY_INIT1 = 294 + SYS_PREADV = 295 + SYS_PWRITEV = 296 + SYS_RT_TGSIGQUEUEINFO = 297 + SYS_PERF_EVENT_OPEN = 298 + SYS_RECVMMSG = 299 + SYS_FANOTIFY_INIT = 300 + SYS_FANOTIFY_MARK = 301 + SYS_PRLIMIT64 = 302 + SYS_NAME_TO_HANDLE_AT = 303 + SYS_OPEN_BY_HANDLE_AT = 304 + SYS_CLOCK_ADJTIME = 305 + SYS_SYNCFS = 306 + SYS_SENDMMSG = 307 + SYS_SETNS = 308 + SYS_GETCPU = 309 + SYS_PROCESS_VM_READV = 310 + SYS_PROCESS_VM_WRITEV = 311 + SYS_KCMP = 312 + SYS_FINIT_MODULE = 313 + SYS_SCHED_SETATTR = 314 + SYS_SCHED_GETATTR = 315 + SYS_RENAMEAT2 = 316 + SYS_SECCOMP = 317 + SYS_GETRANDOM = 318 + SYS_MEMFD_CREATE = 319 + SYS_KEXEC_FILE_LOAD = 320 + SYS_BPF = 321 + SYS_EXECVEAT = 322 + SYS_USERFAULTFD = 323 + SYS_MEMBARRIER = 324 + SYS_MLOCK2 = 325 + SYS_COPY_FILE_RANGE = 326 + SYS_PREADV2 = 327 + SYS_PWRITEV2 = 328 + SYS_PKEY_MPROTECT = 329 + SYS_PKEY_ALLOC = 330 + SYS_PKEY_FREE = 331 + SYS_STATX = 332 + SYS_IO_PGETEVENTS = 333 + SYS_RSEQ = 334 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go index fb06a08d..3b1c1051 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -7,7 +7,6 @@ package unix const ( - SYS_SYSCALL_MASK = 0 SYS_RESTART_SYSCALL = 0 SYS_EXIT = 1 SYS_FORK = 2 @@ -404,10 +403,4 @@ const ( SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go index 58285646..3198adcf 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -7,310 +7,303 @@ package unix const ( - SYS_IO_SETUP = 0 - SYS_IO_DESTROY = 1 - SYS_IO_SUBMIT = 2 - SYS_IO_CANCEL = 3 - SYS_IO_GETEVENTS = 4 - SYS_SETXATTR = 5 - SYS_LSETXATTR = 6 - SYS_FSETXATTR = 7 - SYS_GETXATTR = 8 - SYS_LGETXATTR = 9 - SYS_FGETXATTR = 10 - SYS_LISTXATTR = 11 - SYS_LLISTXATTR = 12 - SYS_FLISTXATTR = 13 - SYS_REMOVEXATTR = 14 - SYS_LREMOVEXATTR = 15 - SYS_FREMOVEXATTR = 16 - SYS_GETCWD = 17 - SYS_LOOKUP_DCOOKIE = 18 - SYS_EVENTFD2 = 19 - SYS_EPOLL_CREATE1 = 20 - SYS_EPOLL_CTL = 21 - SYS_EPOLL_PWAIT = 22 - SYS_DUP = 23 - SYS_DUP3 = 24 - SYS_FCNTL = 25 - SYS_INOTIFY_INIT1 = 26 - SYS_INOTIFY_ADD_WATCH = 27 - SYS_INOTIFY_RM_WATCH = 28 - SYS_IOCTL = 29 - SYS_IOPRIO_SET = 30 - SYS_IOPRIO_GET = 31 - SYS_FLOCK = 32 - SYS_MKNODAT = 33 - SYS_MKDIRAT = 34 - SYS_UNLINKAT = 35 - SYS_SYMLINKAT = 36 - SYS_LINKAT = 37 - SYS_RENAMEAT = 38 - SYS_UMOUNT2 = 39 - SYS_MOUNT = 40 - SYS_PIVOT_ROOT = 41 - SYS_NFSSERVCTL = 42 - SYS_STATFS = 43 - SYS_FSTATFS = 44 - SYS_TRUNCATE = 45 - SYS_FTRUNCATE = 46 - SYS_FALLOCATE = 47 - SYS_FACCESSAT = 48 - SYS_CHDIR = 49 - SYS_FCHDIR = 50 - SYS_CHROOT = 51 - SYS_FCHMOD = 52 - SYS_FCHMODAT = 53 - SYS_FCHOWNAT = 54 - SYS_FCHOWN = 55 - SYS_OPENAT = 56 - SYS_CLOSE = 57 - SYS_VHANGUP = 58 - SYS_PIPE2 = 59 - SYS_QUOTACTL = 60 - SYS_GETDENTS64 = 61 - SYS_LSEEK = 62 - SYS_READ = 63 - SYS_WRITE = 64 - SYS_READV = 65 - SYS_WRITEV = 66 - SYS_PREAD64 = 67 - SYS_PWRITE64 = 68 - SYS_PREADV = 69 - SYS_PWRITEV = 70 - SYS_SENDFILE = 71 - SYS_PSELECT6 = 72 - SYS_PPOLL = 73 - SYS_SIGNALFD4 = 74 - SYS_VMSPLICE = 75 - SYS_SPLICE = 76 - SYS_TEE = 77 - SYS_READLINKAT = 78 - SYS_FSTATAT = 79 - SYS_FSTAT = 80 - SYS_SYNC = 81 - SYS_FSYNC = 82 - SYS_FDATASYNC = 83 - SYS_SYNC_FILE_RANGE = 84 - SYS_TIMERFD_CREATE = 85 - SYS_TIMERFD_SETTIME = 86 - SYS_TIMERFD_GETTIME = 87 - SYS_UTIMENSAT = 88 - SYS_ACCT = 89 - SYS_CAPGET = 90 - SYS_CAPSET = 91 - SYS_PERSONALITY = 92 - SYS_EXIT = 93 - SYS_EXIT_GROUP = 94 - SYS_WAITID = 95 - SYS_SET_TID_ADDRESS = 96 - SYS_UNSHARE = 97 - SYS_FUTEX = 98 - SYS_SET_ROBUST_LIST = 99 - SYS_GET_ROBUST_LIST = 100 - SYS_NANOSLEEP = 101 - SYS_GETITIMER = 102 - SYS_SETITIMER = 103 - SYS_KEXEC_LOAD = 104 - SYS_INIT_MODULE = 105 - SYS_DELETE_MODULE = 106 - SYS_TIMER_CREATE = 107 - SYS_TIMER_GETTIME = 108 - SYS_TIMER_GETOVERRUN = 109 - SYS_TIMER_SETTIME = 110 - SYS_TIMER_DELETE = 111 - SYS_CLOCK_SETTIME = 112 - SYS_CLOCK_GETTIME = 113 - SYS_CLOCK_GETRES = 114 - SYS_CLOCK_NANOSLEEP = 115 - SYS_SYSLOG = 116 - SYS_PTRACE = 117 - SYS_SCHED_SETPARAM = 118 - SYS_SCHED_SETSCHEDULER = 119 - SYS_SCHED_GETSCHEDULER = 120 - SYS_SCHED_GETPARAM = 121 - SYS_SCHED_SETAFFINITY = 122 - SYS_SCHED_GETAFFINITY = 123 - SYS_SCHED_YIELD = 124 - SYS_SCHED_GET_PRIORITY_MAX = 125 - SYS_SCHED_GET_PRIORITY_MIN = 126 - SYS_SCHED_RR_GET_INTERVAL = 127 - SYS_RESTART_SYSCALL = 128 - SYS_KILL = 129 - SYS_TKILL = 130 - SYS_TGKILL = 131 - SYS_SIGALTSTACK = 132 - SYS_RT_SIGSUSPEND = 133 - SYS_RT_SIGACTION = 134 - SYS_RT_SIGPROCMASK = 135 - SYS_RT_SIGPENDING = 136 - SYS_RT_SIGTIMEDWAIT = 137 - SYS_RT_SIGQUEUEINFO = 138 - SYS_RT_SIGRETURN = 139 - SYS_SETPRIORITY = 140 - SYS_GETPRIORITY = 141 - SYS_REBOOT = 142 - SYS_SETREGID = 143 - SYS_SETGID = 144 - SYS_SETREUID = 145 - SYS_SETUID = 146 - SYS_SETRESUID = 147 - SYS_GETRESUID = 148 - SYS_SETRESGID = 149 - SYS_GETRESGID = 150 - SYS_SETFSUID = 151 - SYS_SETFSGID = 152 - SYS_TIMES = 153 - SYS_SETPGID = 154 - SYS_GETPGID = 155 - SYS_GETSID = 156 - SYS_SETSID = 157 - SYS_GETGROUPS = 158 - SYS_SETGROUPS = 159 - SYS_UNAME = 160 - SYS_SETHOSTNAME = 161 - SYS_SETDOMAINNAME = 162 - SYS_GETRLIMIT = 163 - SYS_SETRLIMIT = 164 - SYS_GETRUSAGE = 165 - SYS_UMASK = 166 - SYS_PRCTL = 167 - SYS_GETCPU = 168 - SYS_GETTIMEOFDAY = 169 - SYS_SETTIMEOFDAY = 170 - SYS_ADJTIMEX = 171 - SYS_GETPID = 172 - SYS_GETPPID = 173 - SYS_GETUID = 174 - SYS_GETEUID = 175 - SYS_GETGID = 176 - SYS_GETEGID = 177 - SYS_GETTID = 178 - SYS_SYSINFO = 179 - SYS_MQ_OPEN = 180 - SYS_MQ_UNLINK = 181 - SYS_MQ_TIMEDSEND = 182 - SYS_MQ_TIMEDRECEIVE = 183 - SYS_MQ_NOTIFY = 184 - SYS_MQ_GETSETATTR = 185 - SYS_MSGGET = 186 - SYS_MSGCTL = 187 - SYS_MSGRCV = 188 - SYS_MSGSND = 189 - SYS_SEMGET = 190 - SYS_SEMCTL = 191 - SYS_SEMTIMEDOP = 192 - SYS_SEMOP = 193 - SYS_SHMGET = 194 - SYS_SHMCTL = 195 - SYS_SHMAT = 196 - SYS_SHMDT = 197 - SYS_SOCKET = 198 - SYS_SOCKETPAIR = 199 - SYS_BIND = 200 - SYS_LISTEN = 201 - SYS_ACCEPT = 202 - SYS_CONNECT = 203 - SYS_GETSOCKNAME = 204 - SYS_GETPEERNAME = 205 - SYS_SENDTO = 206 - SYS_RECVFROM = 207 - SYS_SETSOCKOPT = 208 - SYS_GETSOCKOPT = 209 - SYS_SHUTDOWN = 210 - SYS_SENDMSG = 211 - SYS_RECVMSG = 212 - SYS_READAHEAD = 213 - SYS_BRK = 214 - SYS_MUNMAP = 215 - SYS_MREMAP = 216 - SYS_ADD_KEY = 217 - SYS_REQUEST_KEY = 218 - SYS_KEYCTL = 219 - SYS_CLONE = 220 - SYS_EXECVE = 221 - SYS_MMAP = 222 - SYS_FADVISE64 = 223 - SYS_SWAPON = 224 - SYS_SWAPOFF = 225 - SYS_MPROTECT = 226 - SYS_MSYNC = 227 - SYS_MLOCK = 228 - SYS_MUNLOCK = 229 - SYS_MLOCKALL = 230 - SYS_MUNLOCKALL = 231 - SYS_MINCORE = 232 - SYS_MADVISE = 233 - SYS_REMAP_FILE_PAGES = 234 - SYS_MBIND = 235 - SYS_GET_MEMPOLICY = 236 - SYS_SET_MEMPOLICY = 237 - SYS_MIGRATE_PAGES = 238 - SYS_MOVE_PAGES = 239 - SYS_RT_TGSIGQUEUEINFO = 240 - SYS_PERF_EVENT_OPEN = 241 - SYS_ACCEPT4 = 242 - SYS_RECVMMSG = 243 - SYS_ARCH_SPECIFIC_SYSCALL = 244 - SYS_WAIT4 = 260 - SYS_PRLIMIT64 = 261 - SYS_FANOTIFY_INIT = 262 - SYS_FANOTIFY_MARK = 263 - SYS_NAME_TO_HANDLE_AT = 264 - SYS_OPEN_BY_HANDLE_AT = 265 - SYS_CLOCK_ADJTIME = 266 - SYS_SYNCFS = 267 - SYS_SETNS = 268 - SYS_SENDMMSG = 269 - SYS_PROCESS_VM_READV = 270 - SYS_PROCESS_VM_WRITEV = 271 - SYS_KCMP = 272 - SYS_FINIT_MODULE = 273 - SYS_SCHED_SETATTR = 274 - SYS_SCHED_GETATTR = 275 - SYS_RENAMEAT2 = 276 - SYS_SECCOMP = 277 - SYS_GETRANDOM = 278 - SYS_MEMFD_CREATE = 279 - SYS_BPF = 280 - SYS_EXECVEAT = 281 - SYS_USERFAULTFD = 282 - SYS_MEMBARRIER = 283 - SYS_MLOCK2 = 284 - SYS_COPY_FILE_RANGE = 285 - SYS_PREADV2 = 286 - SYS_PWRITEV2 = 287 - SYS_PKEY_MPROTECT = 288 - SYS_PKEY_ALLOC = 289 - SYS_PKEY_FREE = 290 - SYS_STATX = 291 - SYS_IO_PGETEVENTS = 292 - SYS_RSEQ = 293 - SYS_KEXEC_FILE_LOAD = 294 - SYS_PIDFD_SEND_SIGNAL = 424 - SYS_IO_URING_SETUP = 425 - SYS_IO_URING_ENTER = 426 - SYS_IO_URING_REGISTER = 427 - SYS_OPEN_TREE = 428 - SYS_MOVE_MOUNT = 429 - SYS_FSOPEN = 430 - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 - SYS_PIDFD_OPEN = 434 - SYS_CLONE3 = 435 - SYS_CLOSE_RANGE = 436 - SYS_OPENAT2 = 437 - SYS_PIDFD_GETFD = 438 - SYS_FACCESSAT2 = 439 - SYS_PROCESS_MADVISE = 440 - SYS_EPOLL_PWAIT2 = 441 - SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_MEMFD_SECRET = 447 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_RENAMEAT = 38 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go index 3b0418e6..c877ec6e 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -424,10 +424,4 @@ const ( SYS_PROCESS_MADVISE = 4440 SYS_EPOLL_PWAIT2 = 4441 SYS_MOUNT_SETATTR = 4442 - SYS_QUOTACTL_FD = 4443 - SYS_LANDLOCK_CREATE_RULESET = 4444 - SYS_LANDLOCK_ADD_RULE = 4445 - SYS_LANDLOCK_RESTRICT_SELF = 4446 - SYS_PROCESS_MRELEASE = 4448 - SYS_FUTEX_WAITV = 4449 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go index 314ebf16..b5f29037 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -7,357 +7,351 @@ package unix const ( - SYS_READ = 5000 - SYS_WRITE = 5001 - SYS_OPEN = 5002 - SYS_CLOSE = 5003 - SYS_STAT = 5004 - SYS_FSTAT = 5005 - SYS_LSTAT = 5006 - SYS_POLL = 5007 - SYS_LSEEK = 5008 - SYS_MMAP = 5009 - SYS_MPROTECT = 5010 - SYS_MUNMAP = 5011 - SYS_BRK = 5012 - SYS_RT_SIGACTION = 5013 - SYS_RT_SIGPROCMASK = 5014 - SYS_IOCTL = 5015 - SYS_PREAD64 = 5016 - SYS_PWRITE64 = 5017 - SYS_READV = 5018 - SYS_WRITEV = 5019 - SYS_ACCESS = 5020 - SYS_PIPE = 5021 - SYS__NEWSELECT = 5022 - SYS_SCHED_YIELD = 5023 - SYS_MREMAP = 5024 - SYS_MSYNC = 5025 - SYS_MINCORE = 5026 - SYS_MADVISE = 5027 - SYS_SHMGET = 5028 - SYS_SHMAT = 5029 - SYS_SHMCTL = 5030 - SYS_DUP = 5031 - SYS_DUP2 = 5032 - SYS_PAUSE = 5033 - SYS_NANOSLEEP = 5034 - SYS_GETITIMER = 5035 - SYS_SETITIMER = 5036 - SYS_ALARM = 5037 - SYS_GETPID = 5038 - SYS_SENDFILE = 5039 - SYS_SOCKET = 5040 - SYS_CONNECT = 5041 - SYS_ACCEPT = 5042 - SYS_SENDTO = 5043 - SYS_RECVFROM = 5044 - SYS_SENDMSG = 5045 - SYS_RECVMSG = 5046 - SYS_SHUTDOWN = 5047 - SYS_BIND = 5048 - SYS_LISTEN = 5049 - SYS_GETSOCKNAME = 5050 - SYS_GETPEERNAME = 5051 - SYS_SOCKETPAIR = 5052 - SYS_SETSOCKOPT = 5053 - SYS_GETSOCKOPT = 5054 - SYS_CLONE = 5055 - SYS_FORK = 5056 - SYS_EXECVE = 5057 - SYS_EXIT = 5058 - SYS_WAIT4 = 5059 - SYS_KILL = 5060 - SYS_UNAME = 5061 - SYS_SEMGET = 5062 - SYS_SEMOP = 5063 - SYS_SEMCTL = 5064 - SYS_SHMDT = 5065 - SYS_MSGGET = 5066 - SYS_MSGSND = 5067 - SYS_MSGRCV = 5068 - SYS_MSGCTL = 5069 - SYS_FCNTL = 5070 - SYS_FLOCK = 5071 - SYS_FSYNC = 5072 - SYS_FDATASYNC = 5073 - SYS_TRUNCATE = 5074 - SYS_FTRUNCATE = 5075 - SYS_GETDENTS = 5076 - SYS_GETCWD = 5077 - SYS_CHDIR = 5078 - SYS_FCHDIR = 5079 - SYS_RENAME = 5080 - SYS_MKDIR = 5081 - SYS_RMDIR = 5082 - SYS_CREAT = 5083 - SYS_LINK = 5084 - SYS_UNLINK = 5085 - SYS_SYMLINK = 5086 - SYS_READLINK = 5087 - SYS_CHMOD = 5088 - SYS_FCHMOD = 5089 - SYS_CHOWN = 5090 - SYS_FCHOWN = 5091 - SYS_LCHOWN = 5092 - SYS_UMASK = 5093 - SYS_GETTIMEOFDAY = 5094 - SYS_GETRLIMIT = 5095 - SYS_GETRUSAGE = 5096 - SYS_SYSINFO = 5097 - SYS_TIMES = 5098 - SYS_PTRACE = 5099 - SYS_GETUID = 5100 - SYS_SYSLOG = 5101 - SYS_GETGID = 5102 - SYS_SETUID = 5103 - SYS_SETGID = 5104 - SYS_GETEUID = 5105 - SYS_GETEGID = 5106 - SYS_SETPGID = 5107 - SYS_GETPPID = 5108 - SYS_GETPGRP = 5109 - SYS_SETSID = 5110 - SYS_SETREUID = 5111 - SYS_SETREGID = 5112 - SYS_GETGROUPS = 5113 - SYS_SETGROUPS = 5114 - SYS_SETRESUID = 5115 - SYS_GETRESUID = 5116 - SYS_SETRESGID = 5117 - SYS_GETRESGID = 5118 - SYS_GETPGID = 5119 - SYS_SETFSUID = 5120 - SYS_SETFSGID = 5121 - SYS_GETSID = 5122 - SYS_CAPGET = 5123 - SYS_CAPSET = 5124 - SYS_RT_SIGPENDING = 5125 - SYS_RT_SIGTIMEDWAIT = 5126 - SYS_RT_SIGQUEUEINFO = 5127 - SYS_RT_SIGSUSPEND = 5128 - SYS_SIGALTSTACK = 5129 - SYS_UTIME = 5130 - SYS_MKNOD = 5131 - SYS_PERSONALITY = 5132 - SYS_USTAT = 5133 - SYS_STATFS = 5134 - SYS_FSTATFS = 5135 - SYS_SYSFS = 5136 - SYS_GETPRIORITY = 5137 - SYS_SETPRIORITY = 5138 - SYS_SCHED_SETPARAM = 5139 - SYS_SCHED_GETPARAM = 5140 - SYS_SCHED_SETSCHEDULER = 5141 - SYS_SCHED_GETSCHEDULER = 5142 - SYS_SCHED_GET_PRIORITY_MAX = 5143 - SYS_SCHED_GET_PRIORITY_MIN = 5144 - SYS_SCHED_RR_GET_INTERVAL = 5145 - SYS_MLOCK = 5146 - SYS_MUNLOCK = 5147 - SYS_MLOCKALL = 5148 - SYS_MUNLOCKALL = 5149 - SYS_VHANGUP = 5150 - SYS_PIVOT_ROOT = 5151 - SYS__SYSCTL = 5152 - SYS_PRCTL = 5153 - SYS_ADJTIMEX = 5154 - SYS_SETRLIMIT = 5155 - SYS_CHROOT = 5156 - SYS_SYNC = 5157 - SYS_ACCT = 5158 - SYS_SETTIMEOFDAY = 5159 - SYS_MOUNT = 5160 - SYS_UMOUNT2 = 5161 - SYS_SWAPON = 5162 - SYS_SWAPOFF = 5163 - SYS_REBOOT = 5164 - SYS_SETHOSTNAME = 5165 - SYS_SETDOMAINNAME = 5166 - SYS_CREATE_MODULE = 5167 - SYS_INIT_MODULE = 5168 - SYS_DELETE_MODULE = 5169 - SYS_GET_KERNEL_SYMS = 5170 - SYS_QUERY_MODULE = 5171 - SYS_QUOTACTL = 5172 - SYS_NFSSERVCTL = 5173 - SYS_GETPMSG = 5174 - SYS_PUTPMSG = 5175 - SYS_AFS_SYSCALL = 5176 - SYS_RESERVED177 = 5177 - SYS_GETTID = 5178 - SYS_READAHEAD = 5179 - SYS_SETXATTR = 5180 - SYS_LSETXATTR = 5181 - SYS_FSETXATTR = 5182 - SYS_GETXATTR = 5183 - SYS_LGETXATTR = 5184 - SYS_FGETXATTR = 5185 - SYS_LISTXATTR = 5186 - SYS_LLISTXATTR = 5187 - SYS_FLISTXATTR = 5188 - SYS_REMOVEXATTR = 5189 - SYS_LREMOVEXATTR = 5190 - SYS_FREMOVEXATTR = 5191 - SYS_TKILL = 5192 - SYS_RESERVED193 = 5193 - SYS_FUTEX = 5194 - SYS_SCHED_SETAFFINITY = 5195 - SYS_SCHED_GETAFFINITY = 5196 - SYS_CACHEFLUSH = 5197 - SYS_CACHECTL = 5198 - SYS_SYSMIPS = 5199 - SYS_IO_SETUP = 5200 - SYS_IO_DESTROY = 5201 - SYS_IO_GETEVENTS = 5202 - SYS_IO_SUBMIT = 5203 - SYS_IO_CANCEL = 5204 - SYS_EXIT_GROUP = 5205 - SYS_LOOKUP_DCOOKIE = 5206 - SYS_EPOLL_CREATE = 5207 - SYS_EPOLL_CTL = 5208 - SYS_EPOLL_WAIT = 5209 - SYS_REMAP_FILE_PAGES = 5210 - SYS_RT_SIGRETURN = 5211 - SYS_SET_TID_ADDRESS = 5212 - SYS_RESTART_SYSCALL = 5213 - SYS_SEMTIMEDOP = 5214 - SYS_FADVISE64 = 5215 - SYS_TIMER_CREATE = 5216 - SYS_TIMER_SETTIME = 5217 - SYS_TIMER_GETTIME = 5218 - SYS_TIMER_GETOVERRUN = 5219 - SYS_TIMER_DELETE = 5220 - SYS_CLOCK_SETTIME = 5221 - SYS_CLOCK_GETTIME = 5222 - SYS_CLOCK_GETRES = 5223 - SYS_CLOCK_NANOSLEEP = 5224 - SYS_TGKILL = 5225 - SYS_UTIMES = 5226 - SYS_MBIND = 5227 - SYS_GET_MEMPOLICY = 5228 - SYS_SET_MEMPOLICY = 5229 - SYS_MQ_OPEN = 5230 - SYS_MQ_UNLINK = 5231 - SYS_MQ_TIMEDSEND = 5232 - SYS_MQ_TIMEDRECEIVE = 5233 - SYS_MQ_NOTIFY = 5234 - SYS_MQ_GETSETATTR = 5235 - SYS_VSERVER = 5236 - SYS_WAITID = 5237 - SYS_ADD_KEY = 5239 - SYS_REQUEST_KEY = 5240 - SYS_KEYCTL = 5241 - SYS_SET_THREAD_AREA = 5242 - SYS_INOTIFY_INIT = 5243 - SYS_INOTIFY_ADD_WATCH = 5244 - SYS_INOTIFY_RM_WATCH = 5245 - SYS_MIGRATE_PAGES = 5246 - SYS_OPENAT = 5247 - SYS_MKDIRAT = 5248 - SYS_MKNODAT = 5249 - SYS_FCHOWNAT = 5250 - SYS_FUTIMESAT = 5251 - SYS_NEWFSTATAT = 5252 - SYS_UNLINKAT = 5253 - SYS_RENAMEAT = 5254 - SYS_LINKAT = 5255 - SYS_SYMLINKAT = 5256 - SYS_READLINKAT = 5257 - SYS_FCHMODAT = 5258 - SYS_FACCESSAT = 5259 - SYS_PSELECT6 = 5260 - SYS_PPOLL = 5261 - SYS_UNSHARE = 5262 - SYS_SPLICE = 5263 - SYS_SYNC_FILE_RANGE = 5264 - SYS_TEE = 5265 - SYS_VMSPLICE = 5266 - SYS_MOVE_PAGES = 5267 - SYS_SET_ROBUST_LIST = 5268 - SYS_GET_ROBUST_LIST = 5269 - SYS_KEXEC_LOAD = 5270 - SYS_GETCPU = 5271 - SYS_EPOLL_PWAIT = 5272 - SYS_IOPRIO_SET = 5273 - SYS_IOPRIO_GET = 5274 - SYS_UTIMENSAT = 5275 - SYS_SIGNALFD = 5276 - SYS_TIMERFD = 5277 - SYS_EVENTFD = 5278 - SYS_FALLOCATE = 5279 - SYS_TIMERFD_CREATE = 5280 - SYS_TIMERFD_GETTIME = 5281 - SYS_TIMERFD_SETTIME = 5282 - SYS_SIGNALFD4 = 5283 - SYS_EVENTFD2 = 5284 - SYS_EPOLL_CREATE1 = 5285 - SYS_DUP3 = 5286 - SYS_PIPE2 = 5287 - SYS_INOTIFY_INIT1 = 5288 - SYS_PREADV = 5289 - SYS_PWRITEV = 5290 - SYS_RT_TGSIGQUEUEINFO = 5291 - SYS_PERF_EVENT_OPEN = 5292 - SYS_ACCEPT4 = 5293 - SYS_RECVMMSG = 5294 - SYS_FANOTIFY_INIT = 5295 - SYS_FANOTIFY_MARK = 5296 - SYS_PRLIMIT64 = 5297 - SYS_NAME_TO_HANDLE_AT = 5298 - SYS_OPEN_BY_HANDLE_AT = 5299 - SYS_CLOCK_ADJTIME = 5300 - SYS_SYNCFS = 5301 - SYS_SENDMMSG = 5302 - SYS_SETNS = 5303 - SYS_PROCESS_VM_READV = 5304 - SYS_PROCESS_VM_WRITEV = 5305 - SYS_KCMP = 5306 - SYS_FINIT_MODULE = 5307 - SYS_GETDENTS64 = 5308 - SYS_SCHED_SETATTR = 5309 - SYS_SCHED_GETATTR = 5310 - SYS_RENAMEAT2 = 5311 - SYS_SECCOMP = 5312 - SYS_GETRANDOM = 5313 - SYS_MEMFD_CREATE = 5314 - SYS_BPF = 5315 - SYS_EXECVEAT = 5316 - SYS_USERFAULTFD = 5317 - SYS_MEMBARRIER = 5318 - SYS_MLOCK2 = 5319 - SYS_COPY_FILE_RANGE = 5320 - SYS_PREADV2 = 5321 - SYS_PWRITEV2 = 5322 - SYS_PKEY_MPROTECT = 5323 - SYS_PKEY_ALLOC = 5324 - SYS_PKEY_FREE = 5325 - SYS_STATX = 5326 - SYS_RSEQ = 5327 - SYS_IO_PGETEVENTS = 5328 - SYS_PIDFD_SEND_SIGNAL = 5424 - SYS_IO_URING_SETUP = 5425 - SYS_IO_URING_ENTER = 5426 - SYS_IO_URING_REGISTER = 5427 - SYS_OPEN_TREE = 5428 - SYS_MOVE_MOUNT = 5429 - SYS_FSOPEN = 5430 - SYS_FSCONFIG = 5431 - SYS_FSMOUNT = 5432 - SYS_FSPICK = 5433 - SYS_PIDFD_OPEN = 5434 - SYS_CLONE3 = 5435 - SYS_CLOSE_RANGE = 5436 - SYS_OPENAT2 = 5437 - SYS_PIDFD_GETFD = 5438 - SYS_FACCESSAT2 = 5439 - SYS_PROCESS_MADVISE = 5440 - SYS_EPOLL_PWAIT2 = 5441 - SYS_MOUNT_SETATTR = 5442 - SYS_QUOTACTL_FD = 5443 - SYS_LANDLOCK_CREATE_RULESET = 5444 - SYS_LANDLOCK_ADD_RULE = 5445 - SYS_LANDLOCK_RESTRICT_SELF = 5446 - SYS_PROCESS_MRELEASE = 5448 - SYS_FUTEX_WAITV = 5449 + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 + SYS_OPEN_TREE = 5428 + SYS_MOVE_MOUNT = 5429 + SYS_FSOPEN = 5430 + SYS_FSCONFIG = 5431 + SYS_FSMOUNT = 5432 + SYS_FSPICK = 5433 + SYS_PIDFD_OPEN = 5434 + SYS_CLONE3 = 5435 + SYS_CLOSE_RANGE = 5436 + SYS_OPENAT2 = 5437 + SYS_PIDFD_GETFD = 5438 + SYS_FACCESSAT2 = 5439 + SYS_PROCESS_MADVISE = 5440 + SYS_EPOLL_PWAIT2 = 5441 + SYS_MOUNT_SETATTR = 5442 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go index b8fbb937..46077689 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -7,357 +7,351 @@ package unix const ( - SYS_READ = 5000 - SYS_WRITE = 5001 - SYS_OPEN = 5002 - SYS_CLOSE = 5003 - SYS_STAT = 5004 - SYS_FSTAT = 5005 - SYS_LSTAT = 5006 - SYS_POLL = 5007 - SYS_LSEEK = 5008 - SYS_MMAP = 5009 - SYS_MPROTECT = 5010 - SYS_MUNMAP = 5011 - SYS_BRK = 5012 - SYS_RT_SIGACTION = 5013 - SYS_RT_SIGPROCMASK = 5014 - SYS_IOCTL = 5015 - SYS_PREAD64 = 5016 - SYS_PWRITE64 = 5017 - SYS_READV = 5018 - SYS_WRITEV = 5019 - SYS_ACCESS = 5020 - SYS_PIPE = 5021 - SYS__NEWSELECT = 5022 - SYS_SCHED_YIELD = 5023 - SYS_MREMAP = 5024 - SYS_MSYNC = 5025 - SYS_MINCORE = 5026 - SYS_MADVISE = 5027 - SYS_SHMGET = 5028 - SYS_SHMAT = 5029 - SYS_SHMCTL = 5030 - SYS_DUP = 5031 - SYS_DUP2 = 5032 - SYS_PAUSE = 5033 - SYS_NANOSLEEP = 5034 - SYS_GETITIMER = 5035 - SYS_SETITIMER = 5036 - SYS_ALARM = 5037 - SYS_GETPID = 5038 - SYS_SENDFILE = 5039 - SYS_SOCKET = 5040 - SYS_CONNECT = 5041 - SYS_ACCEPT = 5042 - SYS_SENDTO = 5043 - SYS_RECVFROM = 5044 - SYS_SENDMSG = 5045 - SYS_RECVMSG = 5046 - SYS_SHUTDOWN = 5047 - SYS_BIND = 5048 - SYS_LISTEN = 5049 - SYS_GETSOCKNAME = 5050 - SYS_GETPEERNAME = 5051 - SYS_SOCKETPAIR = 5052 - SYS_SETSOCKOPT = 5053 - SYS_GETSOCKOPT = 5054 - SYS_CLONE = 5055 - SYS_FORK = 5056 - SYS_EXECVE = 5057 - SYS_EXIT = 5058 - SYS_WAIT4 = 5059 - SYS_KILL = 5060 - SYS_UNAME = 5061 - SYS_SEMGET = 5062 - SYS_SEMOP = 5063 - SYS_SEMCTL = 5064 - SYS_SHMDT = 5065 - SYS_MSGGET = 5066 - SYS_MSGSND = 5067 - SYS_MSGRCV = 5068 - SYS_MSGCTL = 5069 - SYS_FCNTL = 5070 - SYS_FLOCK = 5071 - SYS_FSYNC = 5072 - SYS_FDATASYNC = 5073 - SYS_TRUNCATE = 5074 - SYS_FTRUNCATE = 5075 - SYS_GETDENTS = 5076 - SYS_GETCWD = 5077 - SYS_CHDIR = 5078 - SYS_FCHDIR = 5079 - SYS_RENAME = 5080 - SYS_MKDIR = 5081 - SYS_RMDIR = 5082 - SYS_CREAT = 5083 - SYS_LINK = 5084 - SYS_UNLINK = 5085 - SYS_SYMLINK = 5086 - SYS_READLINK = 5087 - SYS_CHMOD = 5088 - SYS_FCHMOD = 5089 - SYS_CHOWN = 5090 - SYS_FCHOWN = 5091 - SYS_LCHOWN = 5092 - SYS_UMASK = 5093 - SYS_GETTIMEOFDAY = 5094 - SYS_GETRLIMIT = 5095 - SYS_GETRUSAGE = 5096 - SYS_SYSINFO = 5097 - SYS_TIMES = 5098 - SYS_PTRACE = 5099 - SYS_GETUID = 5100 - SYS_SYSLOG = 5101 - SYS_GETGID = 5102 - SYS_SETUID = 5103 - SYS_SETGID = 5104 - SYS_GETEUID = 5105 - SYS_GETEGID = 5106 - SYS_SETPGID = 5107 - SYS_GETPPID = 5108 - SYS_GETPGRP = 5109 - SYS_SETSID = 5110 - SYS_SETREUID = 5111 - SYS_SETREGID = 5112 - SYS_GETGROUPS = 5113 - SYS_SETGROUPS = 5114 - SYS_SETRESUID = 5115 - SYS_GETRESUID = 5116 - SYS_SETRESGID = 5117 - SYS_GETRESGID = 5118 - SYS_GETPGID = 5119 - SYS_SETFSUID = 5120 - SYS_SETFSGID = 5121 - SYS_GETSID = 5122 - SYS_CAPGET = 5123 - SYS_CAPSET = 5124 - SYS_RT_SIGPENDING = 5125 - SYS_RT_SIGTIMEDWAIT = 5126 - SYS_RT_SIGQUEUEINFO = 5127 - SYS_RT_SIGSUSPEND = 5128 - SYS_SIGALTSTACK = 5129 - SYS_UTIME = 5130 - SYS_MKNOD = 5131 - SYS_PERSONALITY = 5132 - SYS_USTAT = 5133 - SYS_STATFS = 5134 - SYS_FSTATFS = 5135 - SYS_SYSFS = 5136 - SYS_GETPRIORITY = 5137 - SYS_SETPRIORITY = 5138 - SYS_SCHED_SETPARAM = 5139 - SYS_SCHED_GETPARAM = 5140 - SYS_SCHED_SETSCHEDULER = 5141 - SYS_SCHED_GETSCHEDULER = 5142 - SYS_SCHED_GET_PRIORITY_MAX = 5143 - SYS_SCHED_GET_PRIORITY_MIN = 5144 - SYS_SCHED_RR_GET_INTERVAL = 5145 - SYS_MLOCK = 5146 - SYS_MUNLOCK = 5147 - SYS_MLOCKALL = 5148 - SYS_MUNLOCKALL = 5149 - SYS_VHANGUP = 5150 - SYS_PIVOT_ROOT = 5151 - SYS__SYSCTL = 5152 - SYS_PRCTL = 5153 - SYS_ADJTIMEX = 5154 - SYS_SETRLIMIT = 5155 - SYS_CHROOT = 5156 - SYS_SYNC = 5157 - SYS_ACCT = 5158 - SYS_SETTIMEOFDAY = 5159 - SYS_MOUNT = 5160 - SYS_UMOUNT2 = 5161 - SYS_SWAPON = 5162 - SYS_SWAPOFF = 5163 - SYS_REBOOT = 5164 - SYS_SETHOSTNAME = 5165 - SYS_SETDOMAINNAME = 5166 - SYS_CREATE_MODULE = 5167 - SYS_INIT_MODULE = 5168 - SYS_DELETE_MODULE = 5169 - SYS_GET_KERNEL_SYMS = 5170 - SYS_QUERY_MODULE = 5171 - SYS_QUOTACTL = 5172 - SYS_NFSSERVCTL = 5173 - SYS_GETPMSG = 5174 - SYS_PUTPMSG = 5175 - SYS_AFS_SYSCALL = 5176 - SYS_RESERVED177 = 5177 - SYS_GETTID = 5178 - SYS_READAHEAD = 5179 - SYS_SETXATTR = 5180 - SYS_LSETXATTR = 5181 - SYS_FSETXATTR = 5182 - SYS_GETXATTR = 5183 - SYS_LGETXATTR = 5184 - SYS_FGETXATTR = 5185 - SYS_LISTXATTR = 5186 - SYS_LLISTXATTR = 5187 - SYS_FLISTXATTR = 5188 - SYS_REMOVEXATTR = 5189 - SYS_LREMOVEXATTR = 5190 - SYS_FREMOVEXATTR = 5191 - SYS_TKILL = 5192 - SYS_RESERVED193 = 5193 - SYS_FUTEX = 5194 - SYS_SCHED_SETAFFINITY = 5195 - SYS_SCHED_GETAFFINITY = 5196 - SYS_CACHEFLUSH = 5197 - SYS_CACHECTL = 5198 - SYS_SYSMIPS = 5199 - SYS_IO_SETUP = 5200 - SYS_IO_DESTROY = 5201 - SYS_IO_GETEVENTS = 5202 - SYS_IO_SUBMIT = 5203 - SYS_IO_CANCEL = 5204 - SYS_EXIT_GROUP = 5205 - SYS_LOOKUP_DCOOKIE = 5206 - SYS_EPOLL_CREATE = 5207 - SYS_EPOLL_CTL = 5208 - SYS_EPOLL_WAIT = 5209 - SYS_REMAP_FILE_PAGES = 5210 - SYS_RT_SIGRETURN = 5211 - SYS_SET_TID_ADDRESS = 5212 - SYS_RESTART_SYSCALL = 5213 - SYS_SEMTIMEDOP = 5214 - SYS_FADVISE64 = 5215 - SYS_TIMER_CREATE = 5216 - SYS_TIMER_SETTIME = 5217 - SYS_TIMER_GETTIME = 5218 - SYS_TIMER_GETOVERRUN = 5219 - SYS_TIMER_DELETE = 5220 - SYS_CLOCK_SETTIME = 5221 - SYS_CLOCK_GETTIME = 5222 - SYS_CLOCK_GETRES = 5223 - SYS_CLOCK_NANOSLEEP = 5224 - SYS_TGKILL = 5225 - SYS_UTIMES = 5226 - SYS_MBIND = 5227 - SYS_GET_MEMPOLICY = 5228 - SYS_SET_MEMPOLICY = 5229 - SYS_MQ_OPEN = 5230 - SYS_MQ_UNLINK = 5231 - SYS_MQ_TIMEDSEND = 5232 - SYS_MQ_TIMEDRECEIVE = 5233 - SYS_MQ_NOTIFY = 5234 - SYS_MQ_GETSETATTR = 5235 - SYS_VSERVER = 5236 - SYS_WAITID = 5237 - SYS_ADD_KEY = 5239 - SYS_REQUEST_KEY = 5240 - SYS_KEYCTL = 5241 - SYS_SET_THREAD_AREA = 5242 - SYS_INOTIFY_INIT = 5243 - SYS_INOTIFY_ADD_WATCH = 5244 - SYS_INOTIFY_RM_WATCH = 5245 - SYS_MIGRATE_PAGES = 5246 - SYS_OPENAT = 5247 - SYS_MKDIRAT = 5248 - SYS_MKNODAT = 5249 - SYS_FCHOWNAT = 5250 - SYS_FUTIMESAT = 5251 - SYS_NEWFSTATAT = 5252 - SYS_UNLINKAT = 5253 - SYS_RENAMEAT = 5254 - SYS_LINKAT = 5255 - SYS_SYMLINKAT = 5256 - SYS_READLINKAT = 5257 - SYS_FCHMODAT = 5258 - SYS_FACCESSAT = 5259 - SYS_PSELECT6 = 5260 - SYS_PPOLL = 5261 - SYS_UNSHARE = 5262 - SYS_SPLICE = 5263 - SYS_SYNC_FILE_RANGE = 5264 - SYS_TEE = 5265 - SYS_VMSPLICE = 5266 - SYS_MOVE_PAGES = 5267 - SYS_SET_ROBUST_LIST = 5268 - SYS_GET_ROBUST_LIST = 5269 - SYS_KEXEC_LOAD = 5270 - SYS_GETCPU = 5271 - SYS_EPOLL_PWAIT = 5272 - SYS_IOPRIO_SET = 5273 - SYS_IOPRIO_GET = 5274 - SYS_UTIMENSAT = 5275 - SYS_SIGNALFD = 5276 - SYS_TIMERFD = 5277 - SYS_EVENTFD = 5278 - SYS_FALLOCATE = 5279 - SYS_TIMERFD_CREATE = 5280 - SYS_TIMERFD_GETTIME = 5281 - SYS_TIMERFD_SETTIME = 5282 - SYS_SIGNALFD4 = 5283 - SYS_EVENTFD2 = 5284 - SYS_EPOLL_CREATE1 = 5285 - SYS_DUP3 = 5286 - SYS_PIPE2 = 5287 - SYS_INOTIFY_INIT1 = 5288 - SYS_PREADV = 5289 - SYS_PWRITEV = 5290 - SYS_RT_TGSIGQUEUEINFO = 5291 - SYS_PERF_EVENT_OPEN = 5292 - SYS_ACCEPT4 = 5293 - SYS_RECVMMSG = 5294 - SYS_FANOTIFY_INIT = 5295 - SYS_FANOTIFY_MARK = 5296 - SYS_PRLIMIT64 = 5297 - SYS_NAME_TO_HANDLE_AT = 5298 - SYS_OPEN_BY_HANDLE_AT = 5299 - SYS_CLOCK_ADJTIME = 5300 - SYS_SYNCFS = 5301 - SYS_SENDMMSG = 5302 - SYS_SETNS = 5303 - SYS_PROCESS_VM_READV = 5304 - SYS_PROCESS_VM_WRITEV = 5305 - SYS_KCMP = 5306 - SYS_FINIT_MODULE = 5307 - SYS_GETDENTS64 = 5308 - SYS_SCHED_SETATTR = 5309 - SYS_SCHED_GETATTR = 5310 - SYS_RENAMEAT2 = 5311 - SYS_SECCOMP = 5312 - SYS_GETRANDOM = 5313 - SYS_MEMFD_CREATE = 5314 - SYS_BPF = 5315 - SYS_EXECVEAT = 5316 - SYS_USERFAULTFD = 5317 - SYS_MEMBARRIER = 5318 - SYS_MLOCK2 = 5319 - SYS_COPY_FILE_RANGE = 5320 - SYS_PREADV2 = 5321 - SYS_PWRITEV2 = 5322 - SYS_PKEY_MPROTECT = 5323 - SYS_PKEY_ALLOC = 5324 - SYS_PKEY_FREE = 5325 - SYS_STATX = 5326 - SYS_RSEQ = 5327 - SYS_IO_PGETEVENTS = 5328 - SYS_PIDFD_SEND_SIGNAL = 5424 - SYS_IO_URING_SETUP = 5425 - SYS_IO_URING_ENTER = 5426 - SYS_IO_URING_REGISTER = 5427 - SYS_OPEN_TREE = 5428 - SYS_MOVE_MOUNT = 5429 - SYS_FSOPEN = 5430 - SYS_FSCONFIG = 5431 - SYS_FSMOUNT = 5432 - SYS_FSPICK = 5433 - SYS_PIDFD_OPEN = 5434 - SYS_CLONE3 = 5435 - SYS_CLOSE_RANGE = 5436 - SYS_OPENAT2 = 5437 - SYS_PIDFD_GETFD = 5438 - SYS_FACCESSAT2 = 5439 - SYS_PROCESS_MADVISE = 5440 - SYS_EPOLL_PWAIT2 = 5441 - SYS_MOUNT_SETATTR = 5442 - SYS_QUOTACTL_FD = 5443 - SYS_LANDLOCK_CREATE_RULESET = 5444 - SYS_LANDLOCK_ADD_RULE = 5445 - SYS_LANDLOCK_RESTRICT_SELF = 5446 - SYS_PROCESS_MRELEASE = 5448 - SYS_FUTEX_WAITV = 5449 + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 + SYS_OPEN_TREE = 5428 + SYS_MOVE_MOUNT = 5429 + SYS_FSOPEN = 5430 + SYS_FSCONFIG = 5431 + SYS_FSMOUNT = 5432 + SYS_FSPICK = 5433 + SYS_PIDFD_OPEN = 5434 + SYS_CLONE3 = 5435 + SYS_CLOSE_RANGE = 5436 + SYS_OPENAT2 = 5437 + SYS_PIDFD_GETFD = 5438 + SYS_FACCESSAT2 = 5439 + SYS_PROCESS_MADVISE = 5440 + SYS_EPOLL_PWAIT2 = 5441 + SYS_MOUNT_SETATTR = 5442 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go index ee309b2b..80e6696b 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -424,10 +424,4 @@ const ( SYS_PROCESS_MADVISE = 4440 SYS_EPOLL_PWAIT2 = 4441 SYS_MOUNT_SETATTR = 4442 - SYS_QUOTACTL_FD = 4443 - SYS_LANDLOCK_CREATE_RULESET = 4444 - SYS_LANDLOCK_ADD_RULE = 4445 - SYS_LANDLOCK_RESTRICT_SELF = 4446 - SYS_PROCESS_MRELEASE = 4448 - SYS_FUTEX_WAITV = 4449 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go index ac374810..b9d697ff 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go @@ -431,10 +431,4 @@ const ( SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go index 5aa47211..08edc54d 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -7,406 +7,400 @@ package unix const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAITPID = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_TIME = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_BREAK = 17 - SYS_OLDSTAT = 18 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_UMOUNT = 22 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_STIME = 25 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_OLDFSTAT = 28 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_STTY = 31 - SYS_GTTY = 32 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_FTIME = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_PROF = 44 - SYS_BRK = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_SIGNAL = 48 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_LOCK = 53 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_MPX = 56 - SYS_SETPGID = 57 - SYS_ULIMIT = 58 - SYS_OLDOLDUNAME = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SGETMASK = 68 - SYS_SSETMASK = 69 - SYS_SETREUID = 70 - SYS_SETREGID = 71 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRLIMIT = 76 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_GETGROUPS = 80 - SYS_SETGROUPS = 81 - SYS_SELECT = 82 - SYS_SYMLINK = 83 - SYS_OLDLSTAT = 84 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_READDIR = 89 - SYS_MMAP = 90 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_FCHOWN = 95 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_PROFIL = 98 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_IOPERM = 101 - SYS_SOCKETCALL = 102 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_OLDUNAME = 109 - SYS_IOPL = 110 - SYS_VHANGUP = 111 - SYS_IDLE = 112 - SYS_VM86 = 113 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_IPC = 117 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_MODIFY_LDT = 123 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_CREATE_MODULE = 127 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_GET_KERNEL_SYMS = 130 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_AFS_SYSCALL = 137 - SYS_SETFSUID = 138 - SYS_SETFSGID = 139 - SYS__LLSEEK = 140 - SYS_GETDENTS = 141 - SYS__NEWSELECT = 142 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_SETRESUID = 164 - SYS_GETRESUID = 165 - SYS_QUERY_MODULE = 166 - SYS_POLL = 167 - SYS_NFSSERVCTL = 168 - SYS_SETRESGID = 169 - SYS_GETRESGID = 170 - SYS_PRCTL = 171 - SYS_RT_SIGRETURN = 172 - SYS_RT_SIGACTION = 173 - SYS_RT_SIGPROCMASK = 174 - SYS_RT_SIGPENDING = 175 - SYS_RT_SIGTIMEDWAIT = 176 - SYS_RT_SIGQUEUEINFO = 177 - SYS_RT_SIGSUSPEND = 178 - SYS_PREAD64 = 179 - SYS_PWRITE64 = 180 - SYS_CHOWN = 181 - SYS_GETCWD = 182 - SYS_CAPGET = 183 - SYS_CAPSET = 184 - SYS_SIGALTSTACK = 185 - SYS_SENDFILE = 186 - SYS_GETPMSG = 187 - SYS_PUTPMSG = 188 - SYS_VFORK = 189 - SYS_UGETRLIMIT = 190 - SYS_READAHEAD = 191 - SYS_PCICONFIG_READ = 198 - SYS_PCICONFIG_WRITE = 199 - SYS_PCICONFIG_IOBASE = 200 - SYS_MULTIPLEXER = 201 - SYS_GETDENTS64 = 202 - SYS_PIVOT_ROOT = 203 - SYS_MADVISE = 205 - SYS_MINCORE = 206 - SYS_GETTID = 207 - SYS_TKILL = 208 - SYS_SETXATTR = 209 - SYS_LSETXATTR = 210 - SYS_FSETXATTR = 211 - SYS_GETXATTR = 212 - SYS_LGETXATTR = 213 - SYS_FGETXATTR = 214 - SYS_LISTXATTR = 215 - SYS_LLISTXATTR = 216 - SYS_FLISTXATTR = 217 - SYS_REMOVEXATTR = 218 - SYS_LREMOVEXATTR = 219 - SYS_FREMOVEXATTR = 220 - SYS_FUTEX = 221 - SYS_SCHED_SETAFFINITY = 222 - SYS_SCHED_GETAFFINITY = 223 - SYS_TUXCALL = 225 - SYS_IO_SETUP = 227 - SYS_IO_DESTROY = 228 - SYS_IO_GETEVENTS = 229 - SYS_IO_SUBMIT = 230 - SYS_IO_CANCEL = 231 - SYS_SET_TID_ADDRESS = 232 - SYS_FADVISE64 = 233 - SYS_EXIT_GROUP = 234 - SYS_LOOKUP_DCOOKIE = 235 - SYS_EPOLL_CREATE = 236 - SYS_EPOLL_CTL = 237 - SYS_EPOLL_WAIT = 238 - SYS_REMAP_FILE_PAGES = 239 - SYS_TIMER_CREATE = 240 - SYS_TIMER_SETTIME = 241 - SYS_TIMER_GETTIME = 242 - SYS_TIMER_GETOVERRUN = 243 - SYS_TIMER_DELETE = 244 - SYS_CLOCK_SETTIME = 245 - SYS_CLOCK_GETTIME = 246 - SYS_CLOCK_GETRES = 247 - SYS_CLOCK_NANOSLEEP = 248 - SYS_SWAPCONTEXT = 249 - SYS_TGKILL = 250 - SYS_UTIMES = 251 - SYS_STATFS64 = 252 - SYS_FSTATFS64 = 253 - SYS_RTAS = 255 - SYS_SYS_DEBUG_SETCONTEXT = 256 - SYS_MIGRATE_PAGES = 258 - SYS_MBIND = 259 - SYS_GET_MEMPOLICY = 260 - SYS_SET_MEMPOLICY = 261 - SYS_MQ_OPEN = 262 - SYS_MQ_UNLINK = 263 - SYS_MQ_TIMEDSEND = 264 - SYS_MQ_TIMEDRECEIVE = 265 - SYS_MQ_NOTIFY = 266 - SYS_MQ_GETSETATTR = 267 - SYS_KEXEC_LOAD = 268 - SYS_ADD_KEY = 269 - SYS_REQUEST_KEY = 270 - SYS_KEYCTL = 271 - SYS_WAITID = 272 - SYS_IOPRIO_SET = 273 - SYS_IOPRIO_GET = 274 - SYS_INOTIFY_INIT = 275 - SYS_INOTIFY_ADD_WATCH = 276 - SYS_INOTIFY_RM_WATCH = 277 - SYS_SPU_RUN = 278 - SYS_SPU_CREATE = 279 - SYS_PSELECT6 = 280 - SYS_PPOLL = 281 - SYS_UNSHARE = 282 - SYS_SPLICE = 283 - SYS_TEE = 284 - SYS_VMSPLICE = 285 - SYS_OPENAT = 286 - SYS_MKDIRAT = 287 - SYS_MKNODAT = 288 - SYS_FCHOWNAT = 289 - SYS_FUTIMESAT = 290 - SYS_NEWFSTATAT = 291 - SYS_UNLINKAT = 292 - SYS_RENAMEAT = 293 - SYS_LINKAT = 294 - SYS_SYMLINKAT = 295 - SYS_READLINKAT = 296 - SYS_FCHMODAT = 297 - SYS_FACCESSAT = 298 - SYS_GET_ROBUST_LIST = 299 - SYS_SET_ROBUST_LIST = 300 - SYS_MOVE_PAGES = 301 - SYS_GETCPU = 302 - SYS_EPOLL_PWAIT = 303 - SYS_UTIMENSAT = 304 - SYS_SIGNALFD = 305 - SYS_TIMERFD_CREATE = 306 - SYS_EVENTFD = 307 - SYS_SYNC_FILE_RANGE2 = 308 - SYS_FALLOCATE = 309 - SYS_SUBPAGE_PROT = 310 - SYS_TIMERFD_SETTIME = 311 - SYS_TIMERFD_GETTIME = 312 - SYS_SIGNALFD4 = 313 - SYS_EVENTFD2 = 314 - SYS_EPOLL_CREATE1 = 315 - SYS_DUP3 = 316 - SYS_PIPE2 = 317 - SYS_INOTIFY_INIT1 = 318 - SYS_PERF_EVENT_OPEN = 319 - SYS_PREADV = 320 - SYS_PWRITEV = 321 - SYS_RT_TGSIGQUEUEINFO = 322 - SYS_FANOTIFY_INIT = 323 - SYS_FANOTIFY_MARK = 324 - SYS_PRLIMIT64 = 325 - SYS_SOCKET = 326 - SYS_BIND = 327 - SYS_CONNECT = 328 - SYS_LISTEN = 329 - SYS_ACCEPT = 330 - SYS_GETSOCKNAME = 331 - SYS_GETPEERNAME = 332 - SYS_SOCKETPAIR = 333 - SYS_SEND = 334 - SYS_SENDTO = 335 - SYS_RECV = 336 - SYS_RECVFROM = 337 - SYS_SHUTDOWN = 338 - SYS_SETSOCKOPT = 339 - SYS_GETSOCKOPT = 340 - SYS_SENDMSG = 341 - SYS_RECVMSG = 342 - SYS_RECVMMSG = 343 - SYS_ACCEPT4 = 344 - SYS_NAME_TO_HANDLE_AT = 345 - SYS_OPEN_BY_HANDLE_AT = 346 - SYS_CLOCK_ADJTIME = 347 - SYS_SYNCFS = 348 - SYS_SENDMMSG = 349 - SYS_SETNS = 350 - SYS_PROCESS_VM_READV = 351 - SYS_PROCESS_VM_WRITEV = 352 - SYS_FINIT_MODULE = 353 - SYS_KCMP = 354 - SYS_SCHED_SETATTR = 355 - SYS_SCHED_GETATTR = 356 - SYS_RENAMEAT2 = 357 - SYS_SECCOMP = 358 - SYS_GETRANDOM = 359 - SYS_MEMFD_CREATE = 360 - SYS_BPF = 361 - SYS_EXECVEAT = 362 - SYS_SWITCH_ENDIAN = 363 - SYS_USERFAULTFD = 364 - SYS_MEMBARRIER = 365 - SYS_MLOCK2 = 378 - SYS_COPY_FILE_RANGE = 379 - SYS_PREADV2 = 380 - SYS_PWRITEV2 = 381 - SYS_KEXEC_FILE_LOAD = 382 - SYS_STATX = 383 - SYS_PKEY_ALLOC = 384 - SYS_PKEY_FREE = 385 - SYS_PKEY_MPROTECT = 386 - SYS_RSEQ = 387 - SYS_IO_PGETEVENTS = 388 - SYS_SEMTIMEDOP = 392 - SYS_SEMGET = 393 - SYS_SEMCTL = 394 - SYS_SHMGET = 395 - SYS_SHMCTL = 396 - SYS_SHMAT = 397 - SYS_SHMDT = 398 - SYS_MSGGET = 399 - SYS_MSGSND = 400 - SYS_MSGRCV = 401 - SYS_MSGCTL = 402 - SYS_PIDFD_SEND_SIGNAL = 424 - SYS_IO_URING_SETUP = 425 - SYS_IO_URING_ENTER = 426 - SYS_IO_URING_REGISTER = 427 - SYS_OPEN_TREE = 428 - SYS_MOVE_MOUNT = 429 - SYS_FSOPEN = 430 - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 - SYS_PIDFD_OPEN = 434 - SYS_CLONE3 = 435 - SYS_CLOSE_RANGE = 436 - SYS_OPENAT2 = 437 - SYS_PIDFD_GETFD = 438 - SYS_FACCESSAT2 = 439 - SYS_PROCESS_MADVISE = 440 - SYS_EPOLL_PWAIT2 = 441 - SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go index 0793ac1a..33b33b08 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -7,406 +7,400 @@ package unix const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAITPID = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_TIME = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_BREAK = 17 - SYS_OLDSTAT = 18 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_UMOUNT = 22 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_STIME = 25 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_OLDFSTAT = 28 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_STTY = 31 - SYS_GTTY = 32 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_FTIME = 35 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_PROF = 44 - SYS_BRK = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_SIGNAL = 48 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_LOCK = 53 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_MPX = 56 - SYS_SETPGID = 57 - SYS_ULIMIT = 58 - SYS_OLDOLDUNAME = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SGETMASK = 68 - SYS_SSETMASK = 69 - SYS_SETREUID = 70 - SYS_SETREGID = 71 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRLIMIT = 76 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_GETGROUPS = 80 - SYS_SETGROUPS = 81 - SYS_SELECT = 82 - SYS_SYMLINK = 83 - SYS_OLDLSTAT = 84 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_READDIR = 89 - SYS_MMAP = 90 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_FCHOWN = 95 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_PROFIL = 98 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_IOPERM = 101 - SYS_SOCKETCALL = 102 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_OLDUNAME = 109 - SYS_IOPL = 110 - SYS_VHANGUP = 111 - SYS_IDLE = 112 - SYS_VM86 = 113 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_IPC = 117 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_MODIFY_LDT = 123 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_CREATE_MODULE = 127 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_GET_KERNEL_SYMS = 130 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_AFS_SYSCALL = 137 - SYS_SETFSUID = 138 - SYS_SETFSGID = 139 - SYS__LLSEEK = 140 - SYS_GETDENTS = 141 - SYS__NEWSELECT = 142 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_SETRESUID = 164 - SYS_GETRESUID = 165 - SYS_QUERY_MODULE = 166 - SYS_POLL = 167 - SYS_NFSSERVCTL = 168 - SYS_SETRESGID = 169 - SYS_GETRESGID = 170 - SYS_PRCTL = 171 - SYS_RT_SIGRETURN = 172 - SYS_RT_SIGACTION = 173 - SYS_RT_SIGPROCMASK = 174 - SYS_RT_SIGPENDING = 175 - SYS_RT_SIGTIMEDWAIT = 176 - SYS_RT_SIGQUEUEINFO = 177 - SYS_RT_SIGSUSPEND = 178 - SYS_PREAD64 = 179 - SYS_PWRITE64 = 180 - SYS_CHOWN = 181 - SYS_GETCWD = 182 - SYS_CAPGET = 183 - SYS_CAPSET = 184 - SYS_SIGALTSTACK = 185 - SYS_SENDFILE = 186 - SYS_GETPMSG = 187 - SYS_PUTPMSG = 188 - SYS_VFORK = 189 - SYS_UGETRLIMIT = 190 - SYS_READAHEAD = 191 - SYS_PCICONFIG_READ = 198 - SYS_PCICONFIG_WRITE = 199 - SYS_PCICONFIG_IOBASE = 200 - SYS_MULTIPLEXER = 201 - SYS_GETDENTS64 = 202 - SYS_PIVOT_ROOT = 203 - SYS_MADVISE = 205 - SYS_MINCORE = 206 - SYS_GETTID = 207 - SYS_TKILL = 208 - SYS_SETXATTR = 209 - SYS_LSETXATTR = 210 - SYS_FSETXATTR = 211 - SYS_GETXATTR = 212 - SYS_LGETXATTR = 213 - SYS_FGETXATTR = 214 - SYS_LISTXATTR = 215 - SYS_LLISTXATTR = 216 - SYS_FLISTXATTR = 217 - SYS_REMOVEXATTR = 218 - SYS_LREMOVEXATTR = 219 - SYS_FREMOVEXATTR = 220 - SYS_FUTEX = 221 - SYS_SCHED_SETAFFINITY = 222 - SYS_SCHED_GETAFFINITY = 223 - SYS_TUXCALL = 225 - SYS_IO_SETUP = 227 - SYS_IO_DESTROY = 228 - SYS_IO_GETEVENTS = 229 - SYS_IO_SUBMIT = 230 - SYS_IO_CANCEL = 231 - SYS_SET_TID_ADDRESS = 232 - SYS_FADVISE64 = 233 - SYS_EXIT_GROUP = 234 - SYS_LOOKUP_DCOOKIE = 235 - SYS_EPOLL_CREATE = 236 - SYS_EPOLL_CTL = 237 - SYS_EPOLL_WAIT = 238 - SYS_REMAP_FILE_PAGES = 239 - SYS_TIMER_CREATE = 240 - SYS_TIMER_SETTIME = 241 - SYS_TIMER_GETTIME = 242 - SYS_TIMER_GETOVERRUN = 243 - SYS_TIMER_DELETE = 244 - SYS_CLOCK_SETTIME = 245 - SYS_CLOCK_GETTIME = 246 - SYS_CLOCK_GETRES = 247 - SYS_CLOCK_NANOSLEEP = 248 - SYS_SWAPCONTEXT = 249 - SYS_TGKILL = 250 - SYS_UTIMES = 251 - SYS_STATFS64 = 252 - SYS_FSTATFS64 = 253 - SYS_RTAS = 255 - SYS_SYS_DEBUG_SETCONTEXT = 256 - SYS_MIGRATE_PAGES = 258 - SYS_MBIND = 259 - SYS_GET_MEMPOLICY = 260 - SYS_SET_MEMPOLICY = 261 - SYS_MQ_OPEN = 262 - SYS_MQ_UNLINK = 263 - SYS_MQ_TIMEDSEND = 264 - SYS_MQ_TIMEDRECEIVE = 265 - SYS_MQ_NOTIFY = 266 - SYS_MQ_GETSETATTR = 267 - SYS_KEXEC_LOAD = 268 - SYS_ADD_KEY = 269 - SYS_REQUEST_KEY = 270 - SYS_KEYCTL = 271 - SYS_WAITID = 272 - SYS_IOPRIO_SET = 273 - SYS_IOPRIO_GET = 274 - SYS_INOTIFY_INIT = 275 - SYS_INOTIFY_ADD_WATCH = 276 - SYS_INOTIFY_RM_WATCH = 277 - SYS_SPU_RUN = 278 - SYS_SPU_CREATE = 279 - SYS_PSELECT6 = 280 - SYS_PPOLL = 281 - SYS_UNSHARE = 282 - SYS_SPLICE = 283 - SYS_TEE = 284 - SYS_VMSPLICE = 285 - SYS_OPENAT = 286 - SYS_MKDIRAT = 287 - SYS_MKNODAT = 288 - SYS_FCHOWNAT = 289 - SYS_FUTIMESAT = 290 - SYS_NEWFSTATAT = 291 - SYS_UNLINKAT = 292 - SYS_RENAMEAT = 293 - SYS_LINKAT = 294 - SYS_SYMLINKAT = 295 - SYS_READLINKAT = 296 - SYS_FCHMODAT = 297 - SYS_FACCESSAT = 298 - SYS_GET_ROBUST_LIST = 299 - SYS_SET_ROBUST_LIST = 300 - SYS_MOVE_PAGES = 301 - SYS_GETCPU = 302 - SYS_EPOLL_PWAIT = 303 - SYS_UTIMENSAT = 304 - SYS_SIGNALFD = 305 - SYS_TIMERFD_CREATE = 306 - SYS_EVENTFD = 307 - SYS_SYNC_FILE_RANGE2 = 308 - SYS_FALLOCATE = 309 - SYS_SUBPAGE_PROT = 310 - SYS_TIMERFD_SETTIME = 311 - SYS_TIMERFD_GETTIME = 312 - SYS_SIGNALFD4 = 313 - SYS_EVENTFD2 = 314 - SYS_EPOLL_CREATE1 = 315 - SYS_DUP3 = 316 - SYS_PIPE2 = 317 - SYS_INOTIFY_INIT1 = 318 - SYS_PERF_EVENT_OPEN = 319 - SYS_PREADV = 320 - SYS_PWRITEV = 321 - SYS_RT_TGSIGQUEUEINFO = 322 - SYS_FANOTIFY_INIT = 323 - SYS_FANOTIFY_MARK = 324 - SYS_PRLIMIT64 = 325 - SYS_SOCKET = 326 - SYS_BIND = 327 - SYS_CONNECT = 328 - SYS_LISTEN = 329 - SYS_ACCEPT = 330 - SYS_GETSOCKNAME = 331 - SYS_GETPEERNAME = 332 - SYS_SOCKETPAIR = 333 - SYS_SEND = 334 - SYS_SENDTO = 335 - SYS_RECV = 336 - SYS_RECVFROM = 337 - SYS_SHUTDOWN = 338 - SYS_SETSOCKOPT = 339 - SYS_GETSOCKOPT = 340 - SYS_SENDMSG = 341 - SYS_RECVMSG = 342 - SYS_RECVMMSG = 343 - SYS_ACCEPT4 = 344 - SYS_NAME_TO_HANDLE_AT = 345 - SYS_OPEN_BY_HANDLE_AT = 346 - SYS_CLOCK_ADJTIME = 347 - SYS_SYNCFS = 348 - SYS_SENDMMSG = 349 - SYS_SETNS = 350 - SYS_PROCESS_VM_READV = 351 - SYS_PROCESS_VM_WRITEV = 352 - SYS_FINIT_MODULE = 353 - SYS_KCMP = 354 - SYS_SCHED_SETATTR = 355 - SYS_SCHED_GETATTR = 356 - SYS_RENAMEAT2 = 357 - SYS_SECCOMP = 358 - SYS_GETRANDOM = 359 - SYS_MEMFD_CREATE = 360 - SYS_BPF = 361 - SYS_EXECVEAT = 362 - SYS_SWITCH_ENDIAN = 363 - SYS_USERFAULTFD = 364 - SYS_MEMBARRIER = 365 - SYS_MLOCK2 = 378 - SYS_COPY_FILE_RANGE = 379 - SYS_PREADV2 = 380 - SYS_PWRITEV2 = 381 - SYS_KEXEC_FILE_LOAD = 382 - SYS_STATX = 383 - SYS_PKEY_ALLOC = 384 - SYS_PKEY_FREE = 385 - SYS_PKEY_MPROTECT = 386 - SYS_RSEQ = 387 - SYS_IO_PGETEVENTS = 388 - SYS_SEMTIMEDOP = 392 - SYS_SEMGET = 393 - SYS_SEMCTL = 394 - SYS_SHMGET = 395 - SYS_SHMCTL = 396 - SYS_SHMAT = 397 - SYS_SHMDT = 398 - SYS_MSGGET = 399 - SYS_MSGSND = 400 - SYS_MSGRCV = 401 - SYS_MSGCTL = 402 - SYS_PIDFD_SEND_SIGNAL = 424 - SYS_IO_URING_SETUP = 425 - SYS_IO_URING_ENTER = 426 - SYS_IO_URING_REGISTER = 427 - SYS_OPEN_TREE = 428 - SYS_MOVE_MOUNT = 429 - SYS_FSOPEN = 430 - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 - SYS_PIDFD_OPEN = 434 - SYS_CLONE3 = 435 - SYS_CLOSE_RANGE = 436 - SYS_OPENAT2 = 437 - SYS_PIDFD_GETFD = 438 - SYS_FACCESSAT2 = 439 - SYS_PROCESS_MADVISE = 440 - SYS_EPOLL_PWAIT2 = 441 - SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go index a520962e..66c8a8e0 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -7,308 +7,302 @@ package unix const ( - SYS_IO_SETUP = 0 - SYS_IO_DESTROY = 1 - SYS_IO_SUBMIT = 2 - SYS_IO_CANCEL = 3 - SYS_IO_GETEVENTS = 4 - SYS_SETXATTR = 5 - SYS_LSETXATTR = 6 - SYS_FSETXATTR = 7 - SYS_GETXATTR = 8 - SYS_LGETXATTR = 9 - SYS_FGETXATTR = 10 - SYS_LISTXATTR = 11 - SYS_LLISTXATTR = 12 - SYS_FLISTXATTR = 13 - SYS_REMOVEXATTR = 14 - SYS_LREMOVEXATTR = 15 - SYS_FREMOVEXATTR = 16 - SYS_GETCWD = 17 - SYS_LOOKUP_DCOOKIE = 18 - SYS_EVENTFD2 = 19 - SYS_EPOLL_CREATE1 = 20 - SYS_EPOLL_CTL = 21 - SYS_EPOLL_PWAIT = 22 - SYS_DUP = 23 - SYS_DUP3 = 24 - SYS_FCNTL = 25 - SYS_INOTIFY_INIT1 = 26 - SYS_INOTIFY_ADD_WATCH = 27 - SYS_INOTIFY_RM_WATCH = 28 - SYS_IOCTL = 29 - SYS_IOPRIO_SET = 30 - SYS_IOPRIO_GET = 31 - SYS_FLOCK = 32 - SYS_MKNODAT = 33 - SYS_MKDIRAT = 34 - SYS_UNLINKAT = 35 - SYS_SYMLINKAT = 36 - SYS_LINKAT = 37 - SYS_UMOUNT2 = 39 - SYS_MOUNT = 40 - SYS_PIVOT_ROOT = 41 - SYS_NFSSERVCTL = 42 - SYS_STATFS = 43 - SYS_FSTATFS = 44 - SYS_TRUNCATE = 45 - SYS_FTRUNCATE = 46 - SYS_FALLOCATE = 47 - SYS_FACCESSAT = 48 - SYS_CHDIR = 49 - SYS_FCHDIR = 50 - SYS_CHROOT = 51 - SYS_FCHMOD = 52 - SYS_FCHMODAT = 53 - SYS_FCHOWNAT = 54 - SYS_FCHOWN = 55 - SYS_OPENAT = 56 - SYS_CLOSE = 57 - SYS_VHANGUP = 58 - SYS_PIPE2 = 59 - SYS_QUOTACTL = 60 - SYS_GETDENTS64 = 61 - SYS_LSEEK = 62 - SYS_READ = 63 - SYS_WRITE = 64 - SYS_READV = 65 - SYS_WRITEV = 66 - SYS_PREAD64 = 67 - SYS_PWRITE64 = 68 - SYS_PREADV = 69 - SYS_PWRITEV = 70 - SYS_SENDFILE = 71 - SYS_PSELECT6 = 72 - SYS_PPOLL = 73 - SYS_SIGNALFD4 = 74 - SYS_VMSPLICE = 75 - SYS_SPLICE = 76 - SYS_TEE = 77 - SYS_READLINKAT = 78 - SYS_FSTATAT = 79 - SYS_FSTAT = 80 - SYS_SYNC = 81 - SYS_FSYNC = 82 - SYS_FDATASYNC = 83 - SYS_SYNC_FILE_RANGE = 84 - SYS_TIMERFD_CREATE = 85 - SYS_TIMERFD_SETTIME = 86 - SYS_TIMERFD_GETTIME = 87 - SYS_UTIMENSAT = 88 - SYS_ACCT = 89 - SYS_CAPGET = 90 - SYS_CAPSET = 91 - SYS_PERSONALITY = 92 - SYS_EXIT = 93 - SYS_EXIT_GROUP = 94 - SYS_WAITID = 95 - SYS_SET_TID_ADDRESS = 96 - SYS_UNSHARE = 97 - SYS_FUTEX = 98 - SYS_SET_ROBUST_LIST = 99 - SYS_GET_ROBUST_LIST = 100 - SYS_NANOSLEEP = 101 - SYS_GETITIMER = 102 - SYS_SETITIMER = 103 - SYS_KEXEC_LOAD = 104 - SYS_INIT_MODULE = 105 - SYS_DELETE_MODULE = 106 - SYS_TIMER_CREATE = 107 - SYS_TIMER_GETTIME = 108 - SYS_TIMER_GETOVERRUN = 109 - SYS_TIMER_SETTIME = 110 - SYS_TIMER_DELETE = 111 - SYS_CLOCK_SETTIME = 112 - SYS_CLOCK_GETTIME = 113 - SYS_CLOCK_GETRES = 114 - SYS_CLOCK_NANOSLEEP = 115 - SYS_SYSLOG = 116 - SYS_PTRACE = 117 - SYS_SCHED_SETPARAM = 118 - SYS_SCHED_SETSCHEDULER = 119 - SYS_SCHED_GETSCHEDULER = 120 - SYS_SCHED_GETPARAM = 121 - SYS_SCHED_SETAFFINITY = 122 - SYS_SCHED_GETAFFINITY = 123 - SYS_SCHED_YIELD = 124 - SYS_SCHED_GET_PRIORITY_MAX = 125 - SYS_SCHED_GET_PRIORITY_MIN = 126 - SYS_SCHED_RR_GET_INTERVAL = 127 - SYS_RESTART_SYSCALL = 128 - SYS_KILL = 129 - SYS_TKILL = 130 - SYS_TGKILL = 131 - SYS_SIGALTSTACK = 132 - SYS_RT_SIGSUSPEND = 133 - SYS_RT_SIGACTION = 134 - SYS_RT_SIGPROCMASK = 135 - SYS_RT_SIGPENDING = 136 - SYS_RT_SIGTIMEDWAIT = 137 - SYS_RT_SIGQUEUEINFO = 138 - SYS_RT_SIGRETURN = 139 - SYS_SETPRIORITY = 140 - SYS_GETPRIORITY = 141 - SYS_REBOOT = 142 - SYS_SETREGID = 143 - SYS_SETGID = 144 - SYS_SETREUID = 145 - SYS_SETUID = 146 - SYS_SETRESUID = 147 - SYS_GETRESUID = 148 - SYS_SETRESGID = 149 - SYS_GETRESGID = 150 - SYS_SETFSUID = 151 - SYS_SETFSGID = 152 - SYS_TIMES = 153 - SYS_SETPGID = 154 - SYS_GETPGID = 155 - SYS_GETSID = 156 - SYS_SETSID = 157 - SYS_GETGROUPS = 158 - SYS_SETGROUPS = 159 - SYS_UNAME = 160 - SYS_SETHOSTNAME = 161 - SYS_SETDOMAINNAME = 162 - SYS_GETRLIMIT = 163 - SYS_SETRLIMIT = 164 - SYS_GETRUSAGE = 165 - SYS_UMASK = 166 - SYS_PRCTL = 167 - SYS_GETCPU = 168 - SYS_GETTIMEOFDAY = 169 - SYS_SETTIMEOFDAY = 170 - SYS_ADJTIMEX = 171 - SYS_GETPID = 172 - SYS_GETPPID = 173 - SYS_GETUID = 174 - SYS_GETEUID = 175 - SYS_GETGID = 176 - SYS_GETEGID = 177 - SYS_GETTID = 178 - SYS_SYSINFO = 179 - SYS_MQ_OPEN = 180 - SYS_MQ_UNLINK = 181 - SYS_MQ_TIMEDSEND = 182 - SYS_MQ_TIMEDRECEIVE = 183 - SYS_MQ_NOTIFY = 184 - SYS_MQ_GETSETATTR = 185 - SYS_MSGGET = 186 - SYS_MSGCTL = 187 - SYS_MSGRCV = 188 - SYS_MSGSND = 189 - SYS_SEMGET = 190 - SYS_SEMCTL = 191 - SYS_SEMTIMEDOP = 192 - SYS_SEMOP = 193 - SYS_SHMGET = 194 - SYS_SHMCTL = 195 - SYS_SHMAT = 196 - SYS_SHMDT = 197 - SYS_SOCKET = 198 - SYS_SOCKETPAIR = 199 - SYS_BIND = 200 - SYS_LISTEN = 201 - SYS_ACCEPT = 202 - SYS_CONNECT = 203 - SYS_GETSOCKNAME = 204 - SYS_GETPEERNAME = 205 - SYS_SENDTO = 206 - SYS_RECVFROM = 207 - SYS_SETSOCKOPT = 208 - SYS_GETSOCKOPT = 209 - SYS_SHUTDOWN = 210 - SYS_SENDMSG = 211 - SYS_RECVMSG = 212 - SYS_READAHEAD = 213 - SYS_BRK = 214 - SYS_MUNMAP = 215 - SYS_MREMAP = 216 - SYS_ADD_KEY = 217 - SYS_REQUEST_KEY = 218 - SYS_KEYCTL = 219 - SYS_CLONE = 220 - SYS_EXECVE = 221 - SYS_MMAP = 222 - SYS_FADVISE64 = 223 - SYS_SWAPON = 224 - SYS_SWAPOFF = 225 - SYS_MPROTECT = 226 - SYS_MSYNC = 227 - SYS_MLOCK = 228 - SYS_MUNLOCK = 229 - SYS_MLOCKALL = 230 - SYS_MUNLOCKALL = 231 - SYS_MINCORE = 232 - SYS_MADVISE = 233 - SYS_REMAP_FILE_PAGES = 234 - SYS_MBIND = 235 - SYS_GET_MEMPOLICY = 236 - SYS_SET_MEMPOLICY = 237 - SYS_MIGRATE_PAGES = 238 - SYS_MOVE_PAGES = 239 - SYS_RT_TGSIGQUEUEINFO = 240 - SYS_PERF_EVENT_OPEN = 241 - SYS_ACCEPT4 = 242 - SYS_RECVMMSG = 243 - SYS_ARCH_SPECIFIC_SYSCALL = 244 - SYS_WAIT4 = 260 - SYS_PRLIMIT64 = 261 - SYS_FANOTIFY_INIT = 262 - SYS_FANOTIFY_MARK = 263 - SYS_NAME_TO_HANDLE_AT = 264 - SYS_OPEN_BY_HANDLE_AT = 265 - SYS_CLOCK_ADJTIME = 266 - SYS_SYNCFS = 267 - SYS_SETNS = 268 - SYS_SENDMMSG = 269 - SYS_PROCESS_VM_READV = 270 - SYS_PROCESS_VM_WRITEV = 271 - SYS_KCMP = 272 - SYS_FINIT_MODULE = 273 - SYS_SCHED_SETATTR = 274 - SYS_SCHED_GETATTR = 275 - SYS_RENAMEAT2 = 276 - SYS_SECCOMP = 277 - SYS_GETRANDOM = 278 - SYS_MEMFD_CREATE = 279 - SYS_BPF = 280 - SYS_EXECVEAT = 281 - SYS_USERFAULTFD = 282 - SYS_MEMBARRIER = 283 - SYS_MLOCK2 = 284 - SYS_COPY_FILE_RANGE = 285 - SYS_PREADV2 = 286 - SYS_PWRITEV2 = 287 - SYS_PKEY_MPROTECT = 288 - SYS_PKEY_ALLOC = 289 - SYS_PKEY_FREE = 290 - SYS_STATX = 291 - SYS_IO_PGETEVENTS = 292 - SYS_RSEQ = 293 - SYS_KEXEC_FILE_LOAD = 294 - SYS_PIDFD_SEND_SIGNAL = 424 - SYS_IO_URING_SETUP = 425 - SYS_IO_URING_ENTER = 426 - SYS_IO_URING_REGISTER = 427 - SYS_OPEN_TREE = 428 - SYS_MOVE_MOUNT = 429 - SYS_FSOPEN = 430 - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 - SYS_PIDFD_OPEN = 434 - SYS_CLONE3 = 435 - SYS_CLOSE_RANGE = 436 - SYS_OPENAT2 = 437 - SYS_PIDFD_GETFD = 438 - SYS_FACCESSAT2 = 439 - SYS_PROCESS_MADVISE = 440 - SYS_EPOLL_PWAIT2 = 441 - SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go index d1738586..aea5760c 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -7,371 +7,365 @@ package unix const ( - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_RESTART_SYSCALL = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECVE = 11 - SYS_CHDIR = 12 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_MOUNT = 21 - SYS_UMOUNT = 22 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_RENAME = 38 - SYS_MKDIR = 39 - SYS_RMDIR = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_BRK = 45 - SYS_SIGNAL = 48 - SYS_ACCT = 51 - SYS_UMOUNT2 = 52 - SYS_IOCTL = 54 - SYS_FCNTL = 55 - SYS_SETPGID = 57 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_USTAT = 62 - SYS_DUP2 = 63 - SYS_GETPPID = 64 - SYS_GETPGRP = 65 - SYS_SETSID = 66 - SYS_SIGACTION = 67 - SYS_SIGSUSPEND = 72 - SYS_SIGPENDING = 73 - SYS_SETHOSTNAME = 74 - SYS_SETRLIMIT = 75 - SYS_GETRUSAGE = 77 - SYS_GETTIMEOFDAY = 78 - SYS_SETTIMEOFDAY = 79 - SYS_SYMLINK = 83 - SYS_READLINK = 85 - SYS_USELIB = 86 - SYS_SWAPON = 87 - SYS_REBOOT = 88 - SYS_READDIR = 89 - SYS_MMAP = 90 - SYS_MUNMAP = 91 - SYS_TRUNCATE = 92 - SYS_FTRUNCATE = 93 - SYS_FCHMOD = 94 - SYS_GETPRIORITY = 96 - SYS_SETPRIORITY = 97 - SYS_STATFS = 99 - SYS_FSTATFS = 100 - SYS_SOCKETCALL = 102 - SYS_SYSLOG = 103 - SYS_SETITIMER = 104 - SYS_GETITIMER = 105 - SYS_STAT = 106 - SYS_LSTAT = 107 - SYS_FSTAT = 108 - SYS_LOOKUP_DCOOKIE = 110 - SYS_VHANGUP = 111 - SYS_IDLE = 112 - SYS_WAIT4 = 114 - SYS_SWAPOFF = 115 - SYS_SYSINFO = 116 - SYS_IPC = 117 - SYS_FSYNC = 118 - SYS_SIGRETURN = 119 - SYS_CLONE = 120 - SYS_SETDOMAINNAME = 121 - SYS_UNAME = 122 - SYS_ADJTIMEX = 124 - SYS_MPROTECT = 125 - SYS_SIGPROCMASK = 126 - SYS_CREATE_MODULE = 127 - SYS_INIT_MODULE = 128 - SYS_DELETE_MODULE = 129 - SYS_GET_KERNEL_SYMS = 130 - SYS_QUOTACTL = 131 - SYS_GETPGID = 132 - SYS_FCHDIR = 133 - SYS_BDFLUSH = 134 - SYS_SYSFS = 135 - SYS_PERSONALITY = 136 - SYS_AFS_SYSCALL = 137 - SYS_GETDENTS = 141 - SYS_SELECT = 142 - SYS_FLOCK = 143 - SYS_MSYNC = 144 - SYS_READV = 145 - SYS_WRITEV = 146 - SYS_GETSID = 147 - SYS_FDATASYNC = 148 - SYS__SYSCTL = 149 - SYS_MLOCK = 150 - SYS_MUNLOCK = 151 - SYS_MLOCKALL = 152 - SYS_MUNLOCKALL = 153 - SYS_SCHED_SETPARAM = 154 - SYS_SCHED_GETPARAM = 155 - SYS_SCHED_SETSCHEDULER = 156 - SYS_SCHED_GETSCHEDULER = 157 - SYS_SCHED_YIELD = 158 - SYS_SCHED_GET_PRIORITY_MAX = 159 - SYS_SCHED_GET_PRIORITY_MIN = 160 - SYS_SCHED_RR_GET_INTERVAL = 161 - SYS_NANOSLEEP = 162 - SYS_MREMAP = 163 - SYS_QUERY_MODULE = 167 - SYS_POLL = 168 - SYS_NFSSERVCTL = 169 - SYS_PRCTL = 172 - SYS_RT_SIGRETURN = 173 - SYS_RT_SIGACTION = 174 - SYS_RT_SIGPROCMASK = 175 - SYS_RT_SIGPENDING = 176 - SYS_RT_SIGTIMEDWAIT = 177 - SYS_RT_SIGQUEUEINFO = 178 - SYS_RT_SIGSUSPEND = 179 - SYS_PREAD64 = 180 - SYS_PWRITE64 = 181 - SYS_GETCWD = 183 - SYS_CAPGET = 184 - SYS_CAPSET = 185 - SYS_SIGALTSTACK = 186 - SYS_SENDFILE = 187 - SYS_GETPMSG = 188 - SYS_PUTPMSG = 189 - SYS_VFORK = 190 - SYS_GETRLIMIT = 191 - SYS_LCHOWN = 198 - SYS_GETUID = 199 - SYS_GETGID = 200 - SYS_GETEUID = 201 - SYS_GETEGID = 202 - SYS_SETREUID = 203 - SYS_SETREGID = 204 - SYS_GETGROUPS = 205 - SYS_SETGROUPS = 206 - SYS_FCHOWN = 207 - SYS_SETRESUID = 208 - SYS_GETRESUID = 209 - SYS_SETRESGID = 210 - SYS_GETRESGID = 211 - SYS_CHOWN = 212 - SYS_SETUID = 213 - SYS_SETGID = 214 - SYS_SETFSUID = 215 - SYS_SETFSGID = 216 - SYS_PIVOT_ROOT = 217 - SYS_MINCORE = 218 - SYS_MADVISE = 219 - SYS_GETDENTS64 = 220 - SYS_READAHEAD = 222 - SYS_SETXATTR = 224 - SYS_LSETXATTR = 225 - SYS_FSETXATTR = 226 - SYS_GETXATTR = 227 - SYS_LGETXATTR = 228 - SYS_FGETXATTR = 229 - SYS_LISTXATTR = 230 - SYS_LLISTXATTR = 231 - SYS_FLISTXATTR = 232 - SYS_REMOVEXATTR = 233 - SYS_LREMOVEXATTR = 234 - SYS_FREMOVEXATTR = 235 - SYS_GETTID = 236 - SYS_TKILL = 237 - SYS_FUTEX = 238 - SYS_SCHED_SETAFFINITY = 239 - SYS_SCHED_GETAFFINITY = 240 - SYS_TGKILL = 241 - SYS_IO_SETUP = 243 - SYS_IO_DESTROY = 244 - SYS_IO_GETEVENTS = 245 - SYS_IO_SUBMIT = 246 - SYS_IO_CANCEL = 247 - SYS_EXIT_GROUP = 248 - SYS_EPOLL_CREATE = 249 - SYS_EPOLL_CTL = 250 - SYS_EPOLL_WAIT = 251 - SYS_SET_TID_ADDRESS = 252 - SYS_FADVISE64 = 253 - SYS_TIMER_CREATE = 254 - SYS_TIMER_SETTIME = 255 - SYS_TIMER_GETTIME = 256 - SYS_TIMER_GETOVERRUN = 257 - SYS_TIMER_DELETE = 258 - SYS_CLOCK_SETTIME = 259 - SYS_CLOCK_GETTIME = 260 - SYS_CLOCK_GETRES = 261 - SYS_CLOCK_NANOSLEEP = 262 - SYS_STATFS64 = 265 - SYS_FSTATFS64 = 266 - SYS_REMAP_FILE_PAGES = 267 - SYS_MBIND = 268 - SYS_GET_MEMPOLICY = 269 - SYS_SET_MEMPOLICY = 270 - SYS_MQ_OPEN = 271 - SYS_MQ_UNLINK = 272 - SYS_MQ_TIMEDSEND = 273 - SYS_MQ_TIMEDRECEIVE = 274 - SYS_MQ_NOTIFY = 275 - SYS_MQ_GETSETATTR = 276 - SYS_KEXEC_LOAD = 277 - SYS_ADD_KEY = 278 - SYS_REQUEST_KEY = 279 - SYS_KEYCTL = 280 - SYS_WAITID = 281 - SYS_IOPRIO_SET = 282 - SYS_IOPRIO_GET = 283 - SYS_INOTIFY_INIT = 284 - SYS_INOTIFY_ADD_WATCH = 285 - SYS_INOTIFY_RM_WATCH = 286 - SYS_MIGRATE_PAGES = 287 - SYS_OPENAT = 288 - SYS_MKDIRAT = 289 - SYS_MKNODAT = 290 - SYS_FCHOWNAT = 291 - SYS_FUTIMESAT = 292 - SYS_NEWFSTATAT = 293 - SYS_UNLINKAT = 294 - SYS_RENAMEAT = 295 - SYS_LINKAT = 296 - SYS_SYMLINKAT = 297 - SYS_READLINKAT = 298 - SYS_FCHMODAT = 299 - SYS_FACCESSAT = 300 - SYS_PSELECT6 = 301 - SYS_PPOLL = 302 - SYS_UNSHARE = 303 - SYS_SET_ROBUST_LIST = 304 - SYS_GET_ROBUST_LIST = 305 - SYS_SPLICE = 306 - SYS_SYNC_FILE_RANGE = 307 - SYS_TEE = 308 - SYS_VMSPLICE = 309 - SYS_MOVE_PAGES = 310 - SYS_GETCPU = 311 - SYS_EPOLL_PWAIT = 312 - SYS_UTIMES = 313 - SYS_FALLOCATE = 314 - SYS_UTIMENSAT = 315 - SYS_SIGNALFD = 316 - SYS_TIMERFD = 317 - SYS_EVENTFD = 318 - SYS_TIMERFD_CREATE = 319 - SYS_TIMERFD_SETTIME = 320 - SYS_TIMERFD_GETTIME = 321 - SYS_SIGNALFD4 = 322 - SYS_EVENTFD2 = 323 - SYS_INOTIFY_INIT1 = 324 - SYS_PIPE2 = 325 - SYS_DUP3 = 326 - SYS_EPOLL_CREATE1 = 327 - SYS_PREADV = 328 - SYS_PWRITEV = 329 - SYS_RT_TGSIGQUEUEINFO = 330 - SYS_PERF_EVENT_OPEN = 331 - SYS_FANOTIFY_INIT = 332 - SYS_FANOTIFY_MARK = 333 - SYS_PRLIMIT64 = 334 - SYS_NAME_TO_HANDLE_AT = 335 - SYS_OPEN_BY_HANDLE_AT = 336 - SYS_CLOCK_ADJTIME = 337 - SYS_SYNCFS = 338 - SYS_SETNS = 339 - SYS_PROCESS_VM_READV = 340 - SYS_PROCESS_VM_WRITEV = 341 - SYS_S390_RUNTIME_INSTR = 342 - SYS_KCMP = 343 - SYS_FINIT_MODULE = 344 - SYS_SCHED_SETATTR = 345 - SYS_SCHED_GETATTR = 346 - SYS_RENAMEAT2 = 347 - SYS_SECCOMP = 348 - SYS_GETRANDOM = 349 - SYS_MEMFD_CREATE = 350 - SYS_BPF = 351 - SYS_S390_PCI_MMIO_WRITE = 352 - SYS_S390_PCI_MMIO_READ = 353 - SYS_EXECVEAT = 354 - SYS_USERFAULTFD = 355 - SYS_MEMBARRIER = 356 - SYS_RECVMMSG = 357 - SYS_SENDMMSG = 358 - SYS_SOCKET = 359 - SYS_SOCKETPAIR = 360 - SYS_BIND = 361 - SYS_CONNECT = 362 - SYS_LISTEN = 363 - SYS_ACCEPT4 = 364 - SYS_GETSOCKOPT = 365 - SYS_SETSOCKOPT = 366 - SYS_GETSOCKNAME = 367 - SYS_GETPEERNAME = 368 - SYS_SENDTO = 369 - SYS_SENDMSG = 370 - SYS_RECVFROM = 371 - SYS_RECVMSG = 372 - SYS_SHUTDOWN = 373 - SYS_MLOCK2 = 374 - SYS_COPY_FILE_RANGE = 375 - SYS_PREADV2 = 376 - SYS_PWRITEV2 = 377 - SYS_S390_GUARDED_STORAGE = 378 - SYS_STATX = 379 - SYS_S390_STHYI = 380 - SYS_KEXEC_FILE_LOAD = 381 - SYS_IO_PGETEVENTS = 382 - SYS_RSEQ = 383 - SYS_PKEY_MPROTECT = 384 - SYS_PKEY_ALLOC = 385 - SYS_PKEY_FREE = 386 - SYS_SEMTIMEDOP = 392 - SYS_SEMGET = 393 - SYS_SEMCTL = 394 - SYS_SHMGET = 395 - SYS_SHMCTL = 396 - SYS_SHMAT = 397 - SYS_SHMDT = 398 - SYS_MSGGET = 399 - SYS_MSGSND = 400 - SYS_MSGRCV = 401 - SYS_MSGCTL = 402 - SYS_PIDFD_SEND_SIGNAL = 424 - SYS_IO_URING_SETUP = 425 - SYS_IO_URING_ENTER = 426 - SYS_IO_URING_REGISTER = 427 - SYS_OPEN_TREE = 428 - SYS_MOVE_MOUNT = 429 - SYS_FSOPEN = 430 - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 - SYS_PIDFD_OPEN = 434 - SYS_CLONE3 = 435 - SYS_CLOSE_RANGE = 436 - SYS_OPENAT2 = 437 - SYS_PIDFD_GETFD = 438 - SYS_FACCESSAT2 = 439 - SYS_PROCESS_MADVISE = 440 - SYS_EPOLL_PWAIT2 = 441 - SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_RESTART_SYSCALL = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SIGNAL = 48 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_LOOKUP_DCOOKIE = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_GETDENTS = 141 + SYS_SELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_GETRLIMIT = 191 + SYS_LCHOWN = 198 + SYS_GETUID = 199 + SYS_GETGID = 200 + SYS_GETEUID = 201 + SYS_GETEGID = 202 + SYS_SETREUID = 203 + SYS_SETREGID = 204 + SYS_GETGROUPS = 205 + SYS_SETGROUPS = 206 + SYS_FCHOWN = 207 + SYS_SETRESUID = 208 + SYS_GETRESUID = 209 + SYS_SETRESGID = 210 + SYS_GETRESGID = 211 + SYS_CHOWN = 212 + SYS_SETUID = 213 + SYS_SETGID = 214 + SYS_SETFSUID = 215 + SYS_SETFSGID = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_READAHEAD = 222 + SYS_SETXATTR = 224 + SYS_LSETXATTR = 225 + SYS_FSETXATTR = 226 + SYS_GETXATTR = 227 + SYS_LGETXATTR = 228 + SYS_FGETXATTR = 229 + SYS_LISTXATTR = 230 + SYS_LLISTXATTR = 231 + SYS_FLISTXATTR = 232 + SYS_REMOVEXATTR = 233 + SYS_LREMOVEXATTR = 234 + SYS_FREMOVEXATTR = 235 + SYS_GETTID = 236 + SYS_TKILL = 237 + SYS_FUTEX = 238 + SYS_SCHED_SETAFFINITY = 239 + SYS_SCHED_GETAFFINITY = 240 + SYS_TGKILL = 241 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_EPOLL_CREATE = 249 + SYS_EPOLL_CTL = 250 + SYS_EPOLL_WAIT = 251 + SYS_SET_TID_ADDRESS = 252 + SYS_FADVISE64 = 253 + SYS_TIMER_CREATE = 254 + SYS_TIMER_SETTIME = 255 + SYS_TIMER_GETTIME = 256 + SYS_TIMER_GETOVERRUN = 257 + SYS_TIMER_DELETE = 258 + SYS_CLOCK_SETTIME = 259 + SYS_CLOCK_GETTIME = 260 + SYS_CLOCK_GETRES = 261 + SYS_CLOCK_NANOSLEEP = 262 + SYS_STATFS64 = 265 + SYS_FSTATFS64 = 266 + SYS_REMAP_FILE_PAGES = 267 + SYS_MBIND = 268 + SYS_GET_MEMPOLICY = 269 + SYS_SET_MEMPOLICY = 270 + SYS_MQ_OPEN = 271 + SYS_MQ_UNLINK = 272 + SYS_MQ_TIMEDSEND = 273 + SYS_MQ_TIMEDRECEIVE = 274 + SYS_MQ_NOTIFY = 275 + SYS_MQ_GETSETATTR = 276 + SYS_KEXEC_LOAD = 277 + SYS_ADD_KEY = 278 + SYS_REQUEST_KEY = 279 + SYS_KEYCTL = 280 + SYS_WAITID = 281 + SYS_IOPRIO_SET = 282 + SYS_IOPRIO_GET = 283 + SYS_INOTIFY_INIT = 284 + SYS_INOTIFY_ADD_WATCH = 285 + SYS_INOTIFY_RM_WATCH = 286 + SYS_MIGRATE_PAGES = 287 + SYS_OPENAT = 288 + SYS_MKDIRAT = 289 + SYS_MKNODAT = 290 + SYS_FCHOWNAT = 291 + SYS_FUTIMESAT = 292 + SYS_NEWFSTATAT = 293 + SYS_UNLINKAT = 294 + SYS_RENAMEAT = 295 + SYS_LINKAT = 296 + SYS_SYMLINKAT = 297 + SYS_READLINKAT = 298 + SYS_FCHMODAT = 299 + SYS_FACCESSAT = 300 + SYS_PSELECT6 = 301 + SYS_PPOLL = 302 + SYS_UNSHARE = 303 + SYS_SET_ROBUST_LIST = 304 + SYS_GET_ROBUST_LIST = 305 + SYS_SPLICE = 306 + SYS_SYNC_FILE_RANGE = 307 + SYS_TEE = 308 + SYS_VMSPLICE = 309 + SYS_MOVE_PAGES = 310 + SYS_GETCPU = 311 + SYS_EPOLL_PWAIT = 312 + SYS_UTIMES = 313 + SYS_FALLOCATE = 314 + SYS_UTIMENSAT = 315 + SYS_SIGNALFD = 316 + SYS_TIMERFD = 317 + SYS_EVENTFD = 318 + SYS_TIMERFD_CREATE = 319 + SYS_TIMERFD_SETTIME = 320 + SYS_TIMERFD_GETTIME = 321 + SYS_SIGNALFD4 = 322 + SYS_EVENTFD2 = 323 + SYS_INOTIFY_INIT1 = 324 + SYS_PIPE2 = 325 + SYS_DUP3 = 326 + SYS_EPOLL_CREATE1 = 327 + SYS_PREADV = 328 + SYS_PWRITEV = 329 + SYS_RT_TGSIGQUEUEINFO = 330 + SYS_PERF_EVENT_OPEN = 331 + SYS_FANOTIFY_INIT = 332 + SYS_FANOTIFY_MARK = 333 + SYS_PRLIMIT64 = 334 + SYS_NAME_TO_HANDLE_AT = 335 + SYS_OPEN_BY_HANDLE_AT = 336 + SYS_CLOCK_ADJTIME = 337 + SYS_SYNCFS = 338 + SYS_SETNS = 339 + SYS_PROCESS_VM_READV = 340 + SYS_PROCESS_VM_WRITEV = 341 + SYS_S390_RUNTIME_INSTR = 342 + SYS_KCMP = 343 + SYS_FINIT_MODULE = 344 + SYS_SCHED_SETATTR = 345 + SYS_SCHED_GETATTR = 346 + SYS_RENAMEAT2 = 347 + SYS_SECCOMP = 348 + SYS_GETRANDOM = 349 + SYS_MEMFD_CREATE = 350 + SYS_BPF = 351 + SYS_S390_PCI_MMIO_WRITE = 352 + SYS_S390_PCI_MMIO_READ = 353 + SYS_EXECVEAT = 354 + SYS_USERFAULTFD = 355 + SYS_MEMBARRIER = 356 + SYS_RECVMMSG = 357 + SYS_SENDMMSG = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_MLOCK2 = 374 + SYS_COPY_FILE_RANGE = 375 + SYS_PREADV2 = 376 + SYS_PWRITEV2 = 377 + SYS_S390_GUARDED_STORAGE = 378 + SYS_STATX = 379 + SYS_S390_STHYI = 380 + SYS_KEXEC_FILE_LOAD = 381 + SYS_IO_PGETEVENTS = 382 + SYS_RSEQ = 383 + SYS_PKEY_MPROTECT = 384 + SYS_PKEY_ALLOC = 385 + SYS_PKEY_FREE = 386 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go index dfd5660f..488ca848 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -7,385 +7,379 @@ package unix const ( - SYS_RESTART_SYSCALL = 0 - SYS_EXIT = 1 - SYS_FORK = 2 - SYS_READ = 3 - SYS_WRITE = 4 - SYS_OPEN = 5 - SYS_CLOSE = 6 - SYS_WAIT4 = 7 - SYS_CREAT = 8 - SYS_LINK = 9 - SYS_UNLINK = 10 - SYS_EXECV = 11 - SYS_CHDIR = 12 - SYS_CHOWN = 13 - SYS_MKNOD = 14 - SYS_CHMOD = 15 - SYS_LCHOWN = 16 - SYS_BRK = 17 - SYS_PERFCTR = 18 - SYS_LSEEK = 19 - SYS_GETPID = 20 - SYS_CAPGET = 21 - SYS_CAPSET = 22 - SYS_SETUID = 23 - SYS_GETUID = 24 - SYS_VMSPLICE = 25 - SYS_PTRACE = 26 - SYS_ALARM = 27 - SYS_SIGALTSTACK = 28 - SYS_PAUSE = 29 - SYS_UTIME = 30 - SYS_ACCESS = 33 - SYS_NICE = 34 - SYS_SYNC = 36 - SYS_KILL = 37 - SYS_STAT = 38 - SYS_SENDFILE = 39 - SYS_LSTAT = 40 - SYS_DUP = 41 - SYS_PIPE = 42 - SYS_TIMES = 43 - SYS_UMOUNT2 = 45 - SYS_SETGID = 46 - SYS_GETGID = 47 - SYS_SIGNAL = 48 - SYS_GETEUID = 49 - SYS_GETEGID = 50 - SYS_ACCT = 51 - SYS_MEMORY_ORDERING = 52 - SYS_IOCTL = 54 - SYS_REBOOT = 55 - SYS_SYMLINK = 57 - SYS_READLINK = 58 - SYS_EXECVE = 59 - SYS_UMASK = 60 - SYS_CHROOT = 61 - SYS_FSTAT = 62 - SYS_FSTAT64 = 63 - SYS_GETPAGESIZE = 64 - SYS_MSYNC = 65 - SYS_VFORK = 66 - SYS_PREAD64 = 67 - SYS_PWRITE64 = 68 - SYS_MMAP = 71 - SYS_MUNMAP = 73 - SYS_MPROTECT = 74 - SYS_MADVISE = 75 - SYS_VHANGUP = 76 - SYS_MINCORE = 78 - SYS_GETGROUPS = 79 - SYS_SETGROUPS = 80 - SYS_GETPGRP = 81 - SYS_SETITIMER = 83 - SYS_SWAPON = 85 - SYS_GETITIMER = 86 - SYS_SETHOSTNAME = 88 - SYS_DUP2 = 90 - SYS_FCNTL = 92 - SYS_SELECT = 93 - SYS_FSYNC = 95 - SYS_SETPRIORITY = 96 - SYS_SOCKET = 97 - SYS_CONNECT = 98 - SYS_ACCEPT = 99 - SYS_GETPRIORITY = 100 - SYS_RT_SIGRETURN = 101 - SYS_RT_SIGACTION = 102 - SYS_RT_SIGPROCMASK = 103 - SYS_RT_SIGPENDING = 104 - SYS_RT_SIGTIMEDWAIT = 105 - SYS_RT_SIGQUEUEINFO = 106 - SYS_RT_SIGSUSPEND = 107 - SYS_SETRESUID = 108 - SYS_GETRESUID = 109 - SYS_SETRESGID = 110 - SYS_GETRESGID = 111 - SYS_RECVMSG = 113 - SYS_SENDMSG = 114 - SYS_GETTIMEOFDAY = 116 - SYS_GETRUSAGE = 117 - SYS_GETSOCKOPT = 118 - SYS_GETCWD = 119 - SYS_READV = 120 - SYS_WRITEV = 121 - SYS_SETTIMEOFDAY = 122 - SYS_FCHOWN = 123 - SYS_FCHMOD = 124 - SYS_RECVFROM = 125 - SYS_SETREUID = 126 - SYS_SETREGID = 127 - SYS_RENAME = 128 - SYS_TRUNCATE = 129 - SYS_FTRUNCATE = 130 - SYS_FLOCK = 131 - SYS_LSTAT64 = 132 - SYS_SENDTO = 133 - SYS_SHUTDOWN = 134 - SYS_SOCKETPAIR = 135 - SYS_MKDIR = 136 - SYS_RMDIR = 137 - SYS_UTIMES = 138 - SYS_STAT64 = 139 - SYS_SENDFILE64 = 140 - SYS_GETPEERNAME = 141 - SYS_FUTEX = 142 - SYS_GETTID = 143 - SYS_GETRLIMIT = 144 - SYS_SETRLIMIT = 145 - SYS_PIVOT_ROOT = 146 - SYS_PRCTL = 147 - SYS_PCICONFIG_READ = 148 - SYS_PCICONFIG_WRITE = 149 - SYS_GETSOCKNAME = 150 - SYS_INOTIFY_INIT = 151 - SYS_INOTIFY_ADD_WATCH = 152 - SYS_POLL = 153 - SYS_GETDENTS64 = 154 - SYS_INOTIFY_RM_WATCH = 156 - SYS_STATFS = 157 - SYS_FSTATFS = 158 - SYS_UMOUNT = 159 - SYS_SCHED_SET_AFFINITY = 160 - SYS_SCHED_GET_AFFINITY = 161 - SYS_GETDOMAINNAME = 162 - SYS_SETDOMAINNAME = 163 - SYS_UTRAP_INSTALL = 164 - SYS_QUOTACTL = 165 - SYS_SET_TID_ADDRESS = 166 - SYS_MOUNT = 167 - SYS_USTAT = 168 - SYS_SETXATTR = 169 - SYS_LSETXATTR = 170 - SYS_FSETXATTR = 171 - SYS_GETXATTR = 172 - SYS_LGETXATTR = 173 - SYS_GETDENTS = 174 - SYS_SETSID = 175 - SYS_FCHDIR = 176 - SYS_FGETXATTR = 177 - SYS_LISTXATTR = 178 - SYS_LLISTXATTR = 179 - SYS_FLISTXATTR = 180 - SYS_REMOVEXATTR = 181 - SYS_LREMOVEXATTR = 182 - SYS_SIGPENDING = 183 - SYS_QUERY_MODULE = 184 - SYS_SETPGID = 185 - SYS_FREMOVEXATTR = 186 - SYS_TKILL = 187 - SYS_EXIT_GROUP = 188 - SYS_UNAME = 189 - SYS_INIT_MODULE = 190 - SYS_PERSONALITY = 191 - SYS_REMAP_FILE_PAGES = 192 - SYS_EPOLL_CREATE = 193 - SYS_EPOLL_CTL = 194 - SYS_EPOLL_WAIT = 195 - SYS_IOPRIO_SET = 196 - SYS_GETPPID = 197 - SYS_SIGACTION = 198 - SYS_SGETMASK = 199 - SYS_SSETMASK = 200 - SYS_SIGSUSPEND = 201 - SYS_OLDLSTAT = 202 - SYS_USELIB = 203 - SYS_READDIR = 204 - SYS_READAHEAD = 205 - SYS_SOCKETCALL = 206 - SYS_SYSLOG = 207 - SYS_LOOKUP_DCOOKIE = 208 - SYS_FADVISE64 = 209 - SYS_FADVISE64_64 = 210 - SYS_TGKILL = 211 - SYS_WAITPID = 212 - SYS_SWAPOFF = 213 - SYS_SYSINFO = 214 - SYS_IPC = 215 - SYS_SIGRETURN = 216 - SYS_CLONE = 217 - SYS_IOPRIO_GET = 218 - SYS_ADJTIMEX = 219 - SYS_SIGPROCMASK = 220 - SYS_CREATE_MODULE = 221 - SYS_DELETE_MODULE = 222 - SYS_GET_KERNEL_SYMS = 223 - SYS_GETPGID = 224 - SYS_BDFLUSH = 225 - SYS_SYSFS = 226 - SYS_AFS_SYSCALL = 227 - SYS_SETFSUID = 228 - SYS_SETFSGID = 229 - SYS__NEWSELECT = 230 - SYS_SPLICE = 232 - SYS_STIME = 233 - SYS_STATFS64 = 234 - SYS_FSTATFS64 = 235 - SYS__LLSEEK = 236 - SYS_MLOCK = 237 - SYS_MUNLOCK = 238 - SYS_MLOCKALL = 239 - SYS_MUNLOCKALL = 240 - SYS_SCHED_SETPARAM = 241 - SYS_SCHED_GETPARAM = 242 - SYS_SCHED_SETSCHEDULER = 243 - SYS_SCHED_GETSCHEDULER = 244 - SYS_SCHED_YIELD = 245 - SYS_SCHED_GET_PRIORITY_MAX = 246 - SYS_SCHED_GET_PRIORITY_MIN = 247 - SYS_SCHED_RR_GET_INTERVAL = 248 - SYS_NANOSLEEP = 249 - SYS_MREMAP = 250 - SYS__SYSCTL = 251 - SYS_GETSID = 252 - SYS_FDATASYNC = 253 - SYS_NFSSERVCTL = 254 - SYS_SYNC_FILE_RANGE = 255 - SYS_CLOCK_SETTIME = 256 - SYS_CLOCK_GETTIME = 257 - SYS_CLOCK_GETRES = 258 - SYS_CLOCK_NANOSLEEP = 259 - SYS_SCHED_GETAFFINITY = 260 - SYS_SCHED_SETAFFINITY = 261 - SYS_TIMER_SETTIME = 262 - SYS_TIMER_GETTIME = 263 - SYS_TIMER_GETOVERRUN = 264 - SYS_TIMER_DELETE = 265 - SYS_TIMER_CREATE = 266 - SYS_VSERVER = 267 - SYS_IO_SETUP = 268 - SYS_IO_DESTROY = 269 - SYS_IO_SUBMIT = 270 - SYS_IO_CANCEL = 271 - SYS_IO_GETEVENTS = 272 - SYS_MQ_OPEN = 273 - SYS_MQ_UNLINK = 274 - SYS_MQ_TIMEDSEND = 275 - SYS_MQ_TIMEDRECEIVE = 276 - SYS_MQ_NOTIFY = 277 - SYS_MQ_GETSETATTR = 278 - SYS_WAITID = 279 - SYS_TEE = 280 - SYS_ADD_KEY = 281 - SYS_REQUEST_KEY = 282 - SYS_KEYCTL = 283 - SYS_OPENAT = 284 - SYS_MKDIRAT = 285 - SYS_MKNODAT = 286 - SYS_FCHOWNAT = 287 - SYS_FUTIMESAT = 288 - SYS_FSTATAT64 = 289 - SYS_UNLINKAT = 290 - SYS_RENAMEAT = 291 - SYS_LINKAT = 292 - SYS_SYMLINKAT = 293 - SYS_READLINKAT = 294 - SYS_FCHMODAT = 295 - SYS_FACCESSAT = 296 - SYS_PSELECT6 = 297 - SYS_PPOLL = 298 - SYS_UNSHARE = 299 - SYS_SET_ROBUST_LIST = 300 - SYS_GET_ROBUST_LIST = 301 - SYS_MIGRATE_PAGES = 302 - SYS_MBIND = 303 - SYS_GET_MEMPOLICY = 304 - SYS_SET_MEMPOLICY = 305 - SYS_KEXEC_LOAD = 306 - SYS_MOVE_PAGES = 307 - SYS_GETCPU = 308 - SYS_EPOLL_PWAIT = 309 - SYS_UTIMENSAT = 310 - SYS_SIGNALFD = 311 - SYS_TIMERFD_CREATE = 312 - SYS_EVENTFD = 313 - SYS_FALLOCATE = 314 - SYS_TIMERFD_SETTIME = 315 - SYS_TIMERFD_GETTIME = 316 - SYS_SIGNALFD4 = 317 - SYS_EVENTFD2 = 318 - SYS_EPOLL_CREATE1 = 319 - SYS_DUP3 = 320 - SYS_PIPE2 = 321 - SYS_INOTIFY_INIT1 = 322 - SYS_ACCEPT4 = 323 - SYS_PREADV = 324 - SYS_PWRITEV = 325 - SYS_RT_TGSIGQUEUEINFO = 326 - SYS_PERF_EVENT_OPEN = 327 - SYS_RECVMMSG = 328 - SYS_FANOTIFY_INIT = 329 - SYS_FANOTIFY_MARK = 330 - SYS_PRLIMIT64 = 331 - SYS_NAME_TO_HANDLE_AT = 332 - SYS_OPEN_BY_HANDLE_AT = 333 - SYS_CLOCK_ADJTIME = 334 - SYS_SYNCFS = 335 - SYS_SENDMMSG = 336 - SYS_SETNS = 337 - SYS_PROCESS_VM_READV = 338 - SYS_PROCESS_VM_WRITEV = 339 - SYS_KERN_FEATURES = 340 - SYS_KCMP = 341 - SYS_FINIT_MODULE = 342 - SYS_SCHED_SETATTR = 343 - SYS_SCHED_GETATTR = 344 - SYS_RENAMEAT2 = 345 - SYS_SECCOMP = 346 - SYS_GETRANDOM = 347 - SYS_MEMFD_CREATE = 348 - SYS_BPF = 349 - SYS_EXECVEAT = 350 - SYS_MEMBARRIER = 351 - SYS_USERFAULTFD = 352 - SYS_BIND = 353 - SYS_LISTEN = 354 - SYS_SETSOCKOPT = 355 - SYS_MLOCK2 = 356 - SYS_COPY_FILE_RANGE = 357 - SYS_PREADV2 = 358 - SYS_PWRITEV2 = 359 - SYS_STATX = 360 - SYS_IO_PGETEVENTS = 361 - SYS_PKEY_MPROTECT = 362 - SYS_PKEY_ALLOC = 363 - SYS_PKEY_FREE = 364 - SYS_RSEQ = 365 - SYS_SEMTIMEDOP = 392 - SYS_SEMGET = 393 - SYS_SEMCTL = 394 - SYS_SHMGET = 395 - SYS_SHMCTL = 396 - SYS_SHMAT = 397 - SYS_SHMDT = 398 - SYS_MSGGET = 399 - SYS_MSGSND = 400 - SYS_MSGRCV = 401 - SYS_MSGCTL = 402 - SYS_PIDFD_SEND_SIGNAL = 424 - SYS_IO_URING_SETUP = 425 - SYS_IO_URING_ENTER = 426 - SYS_IO_URING_REGISTER = 427 - SYS_OPEN_TREE = 428 - SYS_MOVE_MOUNT = 429 - SYS_FSOPEN = 430 - SYS_FSCONFIG = 431 - SYS_FSMOUNT = 432 - SYS_FSPICK = 433 - SYS_PIDFD_OPEN = 434 - SYS_CLOSE_RANGE = 436 - SYS_OPENAT2 = 437 - SYS_PIDFD_GETFD = 438 - SYS_FACCESSAT2 = 439 - SYS_PROCESS_MADVISE = 440 - SYS_EPOLL_PWAIT2 = 441 - SYS_MOUNT_SETATTR = 442 - SYS_QUOTACTL_FD = 443 - SYS_LANDLOCK_CREATE_RULESET = 444 - SYS_LANDLOCK_ADD_RULE = 445 - SYS_LANDLOCK_RESTRICT_SELF = 446 - SYS_PROCESS_MRELEASE = 448 - SYS_FUTEX_WAITV = 449 + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECV = 11 + SYS_CHDIR = 12 + SYS_CHOWN = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BRK = 17 + SYS_PERFCTR = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_CAPGET = 21 + SYS_CAPSET = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_VMSPLICE = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_SIGALTSTACK = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_STAT = 38 + SYS_SENDFILE = 39 + SYS_LSTAT = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_UMOUNT2 = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_MEMORY_ORDERING = 52 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_FSTAT = 62 + SYS_FSTAT64 = 63 + SYS_GETPAGESIZE = 64 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_MMAP = 71 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_VHANGUP = 76 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_SETHOSTNAME = 88 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_ACCEPT = 99 + SYS_GETPRIORITY = 100 + SYS_RT_SIGRETURN = 101 + SYS_RT_SIGACTION = 102 + SYS_RT_SIGPROCMASK = 103 + SYS_RT_SIGPENDING = 104 + SYS_RT_SIGTIMEDWAIT = 105 + SYS_RT_SIGQUEUEINFO = 106 + SYS_RT_SIGSUSPEND = 107 + SYS_SETRESUID = 108 + SYS_GETRESUID = 109 + SYS_SETRESGID = 110 + SYS_GETRESGID = 111 + SYS_RECVMSG = 113 + SYS_SENDMSG = 114 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_GETCWD = 119 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_RECVFROM = 125 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_TRUNCATE = 129 + SYS_FTRUNCATE = 130 + SYS_FLOCK = 131 + SYS_LSTAT64 = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_STAT64 = 139 + SYS_SENDFILE64 = 140 + SYS_GETPEERNAME = 141 + SYS_FUTEX = 142 + SYS_GETTID = 143 + SYS_GETRLIMIT = 144 + SYS_SETRLIMIT = 145 + SYS_PIVOT_ROOT = 146 + SYS_PRCTL = 147 + SYS_PCICONFIG_READ = 148 + SYS_PCICONFIG_WRITE = 149 + SYS_GETSOCKNAME = 150 + SYS_INOTIFY_INIT = 151 + SYS_INOTIFY_ADD_WATCH = 152 + SYS_POLL = 153 + SYS_GETDENTS64 = 154 + SYS_INOTIFY_RM_WATCH = 156 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UMOUNT = 159 + SYS_SCHED_SET_AFFINITY = 160 + SYS_SCHED_GET_AFFINITY = 161 + SYS_GETDOMAINNAME = 162 + SYS_SETDOMAINNAME = 163 + SYS_UTRAP_INSTALL = 164 + SYS_QUOTACTL = 165 + SYS_SET_TID_ADDRESS = 166 + SYS_MOUNT = 167 + SYS_USTAT = 168 + SYS_SETXATTR = 169 + SYS_LSETXATTR = 170 + SYS_FSETXATTR = 171 + SYS_GETXATTR = 172 + SYS_LGETXATTR = 173 + SYS_GETDENTS = 174 + SYS_SETSID = 175 + SYS_FCHDIR = 176 + SYS_FGETXATTR = 177 + SYS_LISTXATTR = 178 + SYS_LLISTXATTR = 179 + SYS_FLISTXATTR = 180 + SYS_REMOVEXATTR = 181 + SYS_LREMOVEXATTR = 182 + SYS_SIGPENDING = 183 + SYS_QUERY_MODULE = 184 + SYS_SETPGID = 185 + SYS_FREMOVEXATTR = 186 + SYS_TKILL = 187 + SYS_EXIT_GROUP = 188 + SYS_UNAME = 189 + SYS_INIT_MODULE = 190 + SYS_PERSONALITY = 191 + SYS_REMAP_FILE_PAGES = 192 + SYS_EPOLL_CREATE = 193 + SYS_EPOLL_CTL = 194 + SYS_EPOLL_WAIT = 195 + SYS_IOPRIO_SET = 196 + SYS_GETPPID = 197 + SYS_SIGACTION = 198 + SYS_SGETMASK = 199 + SYS_SSETMASK = 200 + SYS_SIGSUSPEND = 201 + SYS_OLDLSTAT = 202 + SYS_USELIB = 203 + SYS_READDIR = 204 + SYS_READAHEAD = 205 + SYS_SOCKETCALL = 206 + SYS_SYSLOG = 207 + SYS_LOOKUP_DCOOKIE = 208 + SYS_FADVISE64 = 209 + SYS_FADVISE64_64 = 210 + SYS_TGKILL = 211 + SYS_WAITPID = 212 + SYS_SWAPOFF = 213 + SYS_SYSINFO = 214 + SYS_IPC = 215 + SYS_SIGRETURN = 216 + SYS_CLONE = 217 + SYS_IOPRIO_GET = 218 + SYS_ADJTIMEX = 219 + SYS_SIGPROCMASK = 220 + SYS_CREATE_MODULE = 221 + SYS_DELETE_MODULE = 222 + SYS_GET_KERNEL_SYMS = 223 + SYS_GETPGID = 224 + SYS_BDFLUSH = 225 + SYS_SYSFS = 226 + SYS_AFS_SYSCALL = 227 + SYS_SETFSUID = 228 + SYS_SETFSGID = 229 + SYS__NEWSELECT = 230 + SYS_SPLICE = 232 + SYS_STIME = 233 + SYS_STATFS64 = 234 + SYS_FSTATFS64 = 235 + SYS__LLSEEK = 236 + SYS_MLOCK = 237 + SYS_MUNLOCK = 238 + SYS_MLOCKALL = 239 + SYS_MUNLOCKALL = 240 + SYS_SCHED_SETPARAM = 241 + SYS_SCHED_GETPARAM = 242 + SYS_SCHED_SETSCHEDULER = 243 + SYS_SCHED_GETSCHEDULER = 244 + SYS_SCHED_YIELD = 245 + SYS_SCHED_GET_PRIORITY_MAX = 246 + SYS_SCHED_GET_PRIORITY_MIN = 247 + SYS_SCHED_RR_GET_INTERVAL = 248 + SYS_NANOSLEEP = 249 + SYS_MREMAP = 250 + SYS__SYSCTL = 251 + SYS_GETSID = 252 + SYS_FDATASYNC = 253 + SYS_NFSSERVCTL = 254 + SYS_SYNC_FILE_RANGE = 255 + SYS_CLOCK_SETTIME = 256 + SYS_CLOCK_GETTIME = 257 + SYS_CLOCK_GETRES = 258 + SYS_CLOCK_NANOSLEEP = 259 + SYS_SCHED_GETAFFINITY = 260 + SYS_SCHED_SETAFFINITY = 261 + SYS_TIMER_SETTIME = 262 + SYS_TIMER_GETTIME = 263 + SYS_TIMER_GETOVERRUN = 264 + SYS_TIMER_DELETE = 265 + SYS_TIMER_CREATE = 266 + SYS_VSERVER = 267 + SYS_IO_SETUP = 268 + SYS_IO_DESTROY = 269 + SYS_IO_SUBMIT = 270 + SYS_IO_CANCEL = 271 + SYS_IO_GETEVENTS = 272 + SYS_MQ_OPEN = 273 + SYS_MQ_UNLINK = 274 + SYS_MQ_TIMEDSEND = 275 + SYS_MQ_TIMEDRECEIVE = 276 + SYS_MQ_NOTIFY = 277 + SYS_MQ_GETSETATTR = 278 + SYS_WAITID = 279 + SYS_TEE = 280 + SYS_ADD_KEY = 281 + SYS_REQUEST_KEY = 282 + SYS_KEYCTL = 283 + SYS_OPENAT = 284 + SYS_MKDIRAT = 285 + SYS_MKNODAT = 286 + SYS_FCHOWNAT = 287 + SYS_FUTIMESAT = 288 + SYS_FSTATAT64 = 289 + SYS_UNLINKAT = 290 + SYS_RENAMEAT = 291 + SYS_LINKAT = 292 + SYS_SYMLINKAT = 293 + SYS_READLINKAT = 294 + SYS_FCHMODAT = 295 + SYS_FACCESSAT = 296 + SYS_PSELECT6 = 297 + SYS_PPOLL = 298 + SYS_UNSHARE = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_GET_ROBUST_LIST = 301 + SYS_MIGRATE_PAGES = 302 + SYS_MBIND = 303 + SYS_GET_MEMPOLICY = 304 + SYS_SET_MEMPOLICY = 305 + SYS_KEXEC_LOAD = 306 + SYS_MOVE_PAGES = 307 + SYS_GETCPU = 308 + SYS_EPOLL_PWAIT = 309 + SYS_UTIMENSAT = 310 + SYS_SIGNALFD = 311 + SYS_TIMERFD_CREATE = 312 + SYS_EVENTFD = 313 + SYS_FALLOCATE = 314 + SYS_TIMERFD_SETTIME = 315 + SYS_TIMERFD_GETTIME = 316 + SYS_SIGNALFD4 = 317 + SYS_EVENTFD2 = 318 + SYS_EPOLL_CREATE1 = 319 + SYS_DUP3 = 320 + SYS_PIPE2 = 321 + SYS_INOTIFY_INIT1 = 322 + SYS_ACCEPT4 = 323 + SYS_PREADV = 324 + SYS_PWRITEV = 325 + SYS_RT_TGSIGQUEUEINFO = 326 + SYS_PERF_EVENT_OPEN = 327 + SYS_RECVMMSG = 328 + SYS_FANOTIFY_INIT = 329 + SYS_FANOTIFY_MARK = 330 + SYS_PRLIMIT64 = 331 + SYS_NAME_TO_HANDLE_AT = 332 + SYS_OPEN_BY_HANDLE_AT = 333 + SYS_CLOCK_ADJTIME = 334 + SYS_SYNCFS = 335 + SYS_SENDMMSG = 336 + SYS_SETNS = 337 + SYS_PROCESS_VM_READV = 338 + SYS_PROCESS_VM_WRITEV = 339 + SYS_KERN_FEATURES = 340 + SYS_KCMP = 341 + SYS_FINIT_MODULE = 342 + SYS_SCHED_SETATTR = 343 + SYS_SCHED_GETATTR = 344 + SYS_RENAMEAT2 = 345 + SYS_SECCOMP = 346 + SYS_GETRANDOM = 347 + SYS_MEMFD_CREATE = 348 + SYS_BPF = 349 + SYS_EXECVEAT = 350 + SYS_MEMBARRIER = 351 + SYS_USERFAULTFD = 352 + SYS_BIND = 353 + SYS_LISTEN = 354 + SYS_SETSOCKOPT = 355 + SYS_MLOCK2 = 356 + SYS_COPY_FILE_RANGE = 357 + SYS_PREADV2 = 358 + SYS_PWRITEV2 = 359 + SYS_STATX = 360 + SYS_IO_PGETEVENTS = 361 + SYS_PKEY_MPROTECT = 362 + SYS_PKEY_ALLOC = 363 + SYS_PKEY_FREE = 364 + SYS_RSEQ = 365 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 ) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go index 885842c0..2673e6c5 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -209,92 +209,6 @@ type RawSockaddrCtl struct { Sc_reserved [5]uint32 } -type RawSockaddrVM struct { - Len uint8 - Family uint8 - Reserved1 uint16 - Port uint32 - Cid uint32 -} - -type XVSockPCB struct { - Xv_len uint32 - Xv_vsockpp uint64 - Xvp_local_cid uint32 - Xvp_local_port uint32 - Xvp_remote_cid uint32 - Xvp_remote_port uint32 - Xvp_rxcnt uint32 - Xvp_txcnt uint32 - Xvp_peer_rxhiwat uint32 - Xvp_peer_rxcnt uint32 - Xvp_last_pid int32 - Xvp_gencnt uint64 - Xv_socket XSocket - _ [4]byte -} - -type XSocket struct { - Xso_len uint32 - Xso_so uint32 - So_type int16 - So_options int16 - So_linger int16 - So_state int16 - So_pcb uint32 - Xso_protocol int32 - Xso_family int32 - So_qlen int16 - So_incqlen int16 - So_qlimit int16 - So_timeo int16 - So_error uint16 - So_pgid int32 - So_oobmark uint32 - So_rcv XSockbuf - So_snd XSockbuf - So_uid uint32 -} - -type XSocket64 struct { - Xso_len uint32 - _ [8]byte - So_type int16 - So_options int16 - So_linger int16 - So_state int16 - _ [8]byte - Xso_protocol int32 - Xso_family int32 - So_qlen int16 - So_incqlen int16 - So_qlimit int16 - So_timeo int16 - So_error uint16 - So_pgid int32 - So_oobmark uint32 - So_rcv XSockbuf - So_snd XSockbuf - So_uid uint32 -} - -type XSockbuf struct { - Cc uint32 - Hiwat uint32 - Mbcnt uint32 - Mbmax uint32 - Lowat int32 - Flags int16 - Timeo int16 -} - -type XVSockPgen struct { - Len uint32 - Count uint64 - Gen uint64 - Sogen uint64 -} - type _Socklen uint32 type Xucred struct { @@ -373,11 +287,6 @@ const ( SizeofSockaddrUnix = 0x6a SizeofSockaddrDatalink = 0x14 SizeofSockaddrCtl = 0x20 - SizeofSockaddrVM = 0xc - SizeofXvsockpcb = 0xa8 - SizeofXSocket = 0x64 - SizeofXSockbuf = 0x18 - SizeofXVSockPgen = 0x20 SizeofXucred = 0x4c SizeofLinger = 0x8 SizeofIovec = 0x10 @@ -626,143 +535,3 @@ type CtlInfo struct { Id uint32 Name [96]byte } - -const SizeofKinfoProc = 0x288 - -type Eproc struct { - Paddr uintptr - Sess uintptr - Pcred Pcred - Ucred Ucred - Vm Vmspace - Ppid int32 - Pgid int32 - Jobc int16 - Tdev int32 - Tpgid int32 - Tsess uintptr - Wmesg [8]byte - Xsize int32 - Xrssize int16 - Xccount int16 - Xswrss int16 - Flag int32 - Login [12]byte - Spare [4]int32 - _ [4]byte -} - -type ExternProc struct { - P_starttime Timeval - P_vmspace *Vmspace - P_sigacts uintptr - P_flag int32 - P_stat int8 - P_pid int32 - P_oppid int32 - P_dupfd int32 - User_stack *int8 - Exit_thread *byte - P_debugger int32 - Sigwait int32 - P_estcpu uint32 - P_cpticks int32 - P_pctcpu uint32 - P_wchan *byte - P_wmesg *int8 - P_swtime uint32 - P_slptime uint32 - P_realtimer Itimerval - P_rtime Timeval - P_uticks uint64 - P_sticks uint64 - P_iticks uint64 - P_traceflag int32 - P_tracep uintptr - P_siglist int32 - P_textvp uintptr - P_holdcnt int32 - P_sigmask uint32 - P_sigignore uint32 - P_sigcatch uint32 - P_priority uint8 - P_usrpri uint8 - P_nice int8 - P_comm [17]byte - P_pgrp uintptr - P_addr uintptr - P_xstat uint16 - P_acflag uint16 - P_ru *Rusage -} - -type Itimerval struct { - Interval Timeval - Value Timeval -} - -type KinfoProc struct { - Proc ExternProc - Eproc Eproc -} - -type Vmspace struct { - Dummy int32 - Dummy2 *int8 - Dummy3 [5]int32 - Dummy4 [3]*int8 -} - -type Pcred struct { - Pc_lock [72]int8 - Pc_ucred uintptr - P_ruid uint32 - P_svuid uint32 - P_rgid uint32 - P_svgid uint32 - P_refcnt int32 - _ [4]byte -} - -type Ucred struct { - Ref int32 - Uid uint32 - Ngroups int16 - Groups [16]uint32 -} - -type SysvIpcPerm struct { - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint16 - _ uint16 - _ int32 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint64 - Lpid int32 - Cpid int32 - Nattch uint16 - _ [34]byte -} - -const ( - IPC_CREAT = 0x200 - IPC_EXCL = 0x400 - IPC_NOWAIT = 0x800 - IPC_PRIVATE = 0x0 -) - -const ( - IPC_RMID = 0x0 - IPC_SET = 0x1 - IPC_STAT = 0x2 -) - -const ( - SHM_RDONLY = 0x1000 - SHM_RND = 0x2000 -) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go index b23c0233..1465cbcf 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -209,92 +209,6 @@ type RawSockaddrCtl struct { Sc_reserved [5]uint32 } -type RawSockaddrVM struct { - Len uint8 - Family uint8 - Reserved1 uint16 - Port uint32 - Cid uint32 -} - -type XVSockPCB struct { - Xv_len uint32 - Xv_vsockpp uint64 - Xvp_local_cid uint32 - Xvp_local_port uint32 - Xvp_remote_cid uint32 - Xvp_remote_port uint32 - Xvp_rxcnt uint32 - Xvp_txcnt uint32 - Xvp_peer_rxhiwat uint32 - Xvp_peer_rxcnt uint32 - Xvp_last_pid int32 - Xvp_gencnt uint64 - Xv_socket XSocket - _ [4]byte -} - -type XSocket struct { - Xso_len uint32 - Xso_so uint32 - So_type int16 - So_options int16 - So_linger int16 - So_state int16 - So_pcb uint32 - Xso_protocol int32 - Xso_family int32 - So_qlen int16 - So_incqlen int16 - So_qlimit int16 - So_timeo int16 - So_error uint16 - So_pgid int32 - So_oobmark uint32 - So_rcv XSockbuf - So_snd XSockbuf - So_uid uint32 -} - -type XSocket64 struct { - Xso_len uint32 - _ [8]byte - So_type int16 - So_options int16 - So_linger int16 - So_state int16 - _ [8]byte - Xso_protocol int32 - Xso_family int32 - So_qlen int16 - So_incqlen int16 - So_qlimit int16 - So_timeo int16 - So_error uint16 - So_pgid int32 - So_oobmark uint32 - So_rcv XSockbuf - So_snd XSockbuf - So_uid uint32 -} - -type XSockbuf struct { - Cc uint32 - Hiwat uint32 - Mbcnt uint32 - Mbmax uint32 - Lowat int32 - Flags int16 - Timeo int16 -} - -type XVSockPgen struct { - Len uint32 - Count uint64 - Gen uint64 - Sogen uint64 -} - type _Socklen uint32 type Xucred struct { @@ -373,11 +287,6 @@ const ( SizeofSockaddrUnix = 0x6a SizeofSockaddrDatalink = 0x14 SizeofSockaddrCtl = 0x20 - SizeofSockaddrVM = 0xc - SizeofXvsockpcb = 0xa8 - SizeofXSocket = 0x64 - SizeofXSockbuf = 0x18 - SizeofXVSockPgen = 0x20 SizeofXucred = 0x4c SizeofLinger = 0x8 SizeofIovec = 0x10 @@ -626,143 +535,3 @@ type CtlInfo struct { Id uint32 Name [96]byte } - -const SizeofKinfoProc = 0x288 - -type Eproc struct { - Paddr uintptr - Sess uintptr - Pcred Pcred - Ucred Ucred - Vm Vmspace - Ppid int32 - Pgid int32 - Jobc int16 - Tdev int32 - Tpgid int32 - Tsess uintptr - Wmesg [8]byte - Xsize int32 - Xrssize int16 - Xccount int16 - Xswrss int16 - Flag int32 - Login [12]byte - Spare [4]int32 - _ [4]byte -} - -type ExternProc struct { - P_starttime Timeval - P_vmspace *Vmspace - P_sigacts uintptr - P_flag int32 - P_stat int8 - P_pid int32 - P_oppid int32 - P_dupfd int32 - User_stack *int8 - Exit_thread *byte - P_debugger int32 - Sigwait int32 - P_estcpu uint32 - P_cpticks int32 - P_pctcpu uint32 - P_wchan *byte - P_wmesg *int8 - P_swtime uint32 - P_slptime uint32 - P_realtimer Itimerval - P_rtime Timeval - P_uticks uint64 - P_sticks uint64 - P_iticks uint64 - P_traceflag int32 - P_tracep uintptr - P_siglist int32 - P_textvp uintptr - P_holdcnt int32 - P_sigmask uint32 - P_sigignore uint32 - P_sigcatch uint32 - P_priority uint8 - P_usrpri uint8 - P_nice int8 - P_comm [17]byte - P_pgrp uintptr - P_addr uintptr - P_xstat uint16 - P_acflag uint16 - P_ru *Rusage -} - -type Itimerval struct { - Interval Timeval - Value Timeval -} - -type KinfoProc struct { - Proc ExternProc - Eproc Eproc -} - -type Vmspace struct { - Dummy int32 - Dummy2 *int8 - Dummy3 [5]int32 - Dummy4 [3]*int8 -} - -type Pcred struct { - Pc_lock [72]int8 - Pc_ucred uintptr - P_ruid uint32 - P_svuid uint32 - P_rgid uint32 - P_svgid uint32 - P_refcnt int32 - _ [4]byte -} - -type Ucred struct { - Ref int32 - Uid uint32 - Ngroups int16 - Groups [16]uint32 -} - -type SysvIpcPerm struct { - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint16 - _ uint16 - _ int32 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint64 - Lpid int32 - Cpid int32 - Nattch uint16 - _ [34]byte -} - -const ( - IPC_CREAT = 0x200 - IPC_EXCL = 0x400 - IPC_NOWAIT = 0x800 - IPC_PRIVATE = 0x0 -) - -const ( - IPC_RMID = 0x0 - IPC_SET = 0x1 - IPC_STAT = 0x2 -) - -const ( - SHM_RDONLY = 0x1000 - SHM_RND = 0x2000 -) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go index 4eec078e..1f99c024 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -31,8 +31,6 @@ type Timeval struct { Usec int32 } -type Time_t int32 - type Rusage struct { Utime Timeval Stime Timeval diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go index 7622904a..ddf0305a 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -31,8 +31,6 @@ type Timeval struct { Usec int64 } -type Time_t int64 - type Rusage struct { Utime Timeval Stime Timeval diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go index 19223ce8..dce0a5c8 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -33,8 +33,6 @@ type Timeval struct { _ [4]byte } -type Time_t int32 - type Rusage struct { Utime Timeval Stime Timeval diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go index 8e3e33f6..e2324470 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go @@ -31,8 +31,6 @@ type Timeval struct { Usec int64 } -type Time_t int64 - type Rusage struct { Utime Timeval Stime Timeval diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go index 4c485261..236f37ef 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go @@ -13,8 +13,6 @@ const ( I_STR = 0x5308 I_POP = 0x5303 I_PUSH = 0x5302 - I_LINK = 0x530c - I_UNLINK = 0x530d I_PLINK = 0x5316 I_PUNLINK = 0x5317 diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux.go index 2c26466e..72887abe 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -1,4 +1,4 @@ -// Code generated by mkmerge; DO NOT EDIT. +// Code generated by mkmerge.go; DO NOT EDIT. //go:build linux // +build linux @@ -24,11 +24,6 @@ type ItimerSpec struct { Value Timespec } -type Itimerval struct { - Interval Timeval - Value Timeval -} - const ( TIME_OK = 0x0 TIME_INS = 0x1 @@ -457,11 +452,6 @@ type CanFilter struct { Mask uint32 } -type TCPRepairOpt struct { - Code uint32 - Val uint32 -} - const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c @@ -494,7 +484,6 @@ const ( SizeofUcred = 0xc SizeofTCPInfo = 0x68 SizeofCanFilter = 0x8 - SizeofTCPRepairOpt = 0x8 ) const ( @@ -692,16 +681,6 @@ type NdMsg struct { Type uint8 } -const ( - ICMP_FILTER = 0x1 - - ICMPV6_FILTER = 0x1 - ICMPV6_FILTER_BLOCK = 0x1 - ICMPV6_FILTER_BLOCKOTHERS = 0x3 - ICMPV6_FILTER_PASS = 0x2 - ICMPV6_FILTER_PASSONLY = 0x4 -) - const ( SizeofSockFilter = 0x8 ) @@ -748,8 +727,6 @@ const ( AT_STATX_FORCE_SYNC = 0x2000 AT_STATX_DONT_SYNC = 0x4000 - AT_RECURSIVE = 0x8000 - AT_SYMLINK_FOLLOW = 0x400 AT_SYMLINK_NOFOLLOW = 0x100 @@ -872,7 +849,6 @@ const ( CTRL_CMD_NEWMCAST_GRP = 0x7 CTRL_CMD_DELMCAST_GRP = 0x8 CTRL_CMD_GETMCAST_GRP = 0x9 - CTRL_CMD_GETPOLICY = 0xa CTRL_ATTR_UNSPEC = 0x0 CTRL_ATTR_FAMILY_ID = 0x1 CTRL_ATTR_FAMILY_NAME = 0x2 @@ -881,19 +857,12 @@ const ( CTRL_ATTR_MAXATTR = 0x5 CTRL_ATTR_OPS = 0x6 CTRL_ATTR_MCAST_GROUPS = 0x7 - CTRL_ATTR_POLICY = 0x8 - CTRL_ATTR_OP_POLICY = 0x9 - CTRL_ATTR_OP = 0xa CTRL_ATTR_OP_UNSPEC = 0x0 CTRL_ATTR_OP_ID = 0x1 CTRL_ATTR_OP_FLAGS = 0x2 CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 CTRL_ATTR_MCAST_GRP_NAME = 0x1 CTRL_ATTR_MCAST_GRP_ID = 0x2 - CTRL_ATTR_POLICY_UNSPEC = 0x0 - CTRL_ATTR_POLICY_DO = 0x1 - CTRL_ATTR_POLICY_DUMP = 0x2 - CTRL_ATTR_POLICY_DUMP_MAX = 0x2 ) const ( @@ -1032,7 +1001,7 @@ const ( PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 PERF_COUNT_SW_BPF_OUTPUT = 0xa - PERF_COUNT_SW_MAX = 0xc + PERF_COUNT_SW_MAX = 0xb PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 PERF_SAMPLE_TIME = 0x4 @@ -1149,8 +1118,7 @@ const ( PERF_RECORD_BPF_EVENT = 0x12 PERF_RECORD_CGROUP = 0x13 PERF_RECORD_TEXT_POKE = 0x14 - PERF_RECORD_AUX_OUTPUT_HW_ID = 0x15 - PERF_RECORD_MAX = 0x16 + PERF_RECORD_MAX = 0x15 PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0x0 PERF_RECORD_KSYMBOL_TYPE_BPF = 0x1 PERF_RECORD_KSYMBOL_TYPE_OOL = 0x2 @@ -1790,8 +1758,7 @@ const ( const ( NF_NETDEV_INGRESS = 0x0 - NF_NETDEV_EGRESS = 0x1 - NF_NETDEV_NUMHOOKS = 0x2 + NF_NETDEV_NUMHOOKS = 0x1 ) const ( @@ -1806,8 +1773,6 @@ const ( NFPROTO_NUMPROTO = 0xd ) -const SO_ORIGINAL_DST = 0x50 - type Nfgenmsg struct { Nfgen_family uint8 Version uint8 @@ -2373,8 +2338,8 @@ const ( SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 - SOF_TIMESTAMPING_LAST = 0x8000 - SOF_TIMESTAMPING_MASK = 0xffff + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff SCM_TSTAMP_SND = 0x0 SCM_TSTAMP_SCHED = 0x1 @@ -2950,7 +2915,7 @@ const ( DEVLINK_CMD_TRAP_POLICER_NEW = 0x47 DEVLINK_CMD_TRAP_POLICER_DEL = 0x48 DEVLINK_CMD_HEALTH_REPORTER_TEST = 0x49 - DEVLINK_CMD_MAX = 0x4d + DEVLINK_CMD_MAX = 0x49 DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_ETH = 0x2 @@ -3173,13 +3138,7 @@ const ( DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2 DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3 DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4 - DEVLINK_ATTR_RATE_TYPE = 0xa5 - DEVLINK_ATTR_RATE_TX_SHARE = 0xa6 - DEVLINK_ATTR_RATE_TX_MAX = 0xa7 - DEVLINK_ATTR_RATE_NODE_NAME = 0xa8 - DEVLINK_ATTR_RATE_PARENT_NODE_NAME = 0xa9 - DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 0xaa - DEVLINK_ATTR_MAX = 0xaa + DEVLINK_ATTR_MAX = 0xa4 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 @@ -3287,8 +3246,7 @@ const ( LWTUNNEL_ENCAP_BPF = 0x6 LWTUNNEL_ENCAP_SEG6_LOCAL = 0x7 LWTUNNEL_ENCAP_RPL = 0x8 - LWTUNNEL_ENCAP_IOAM6 = 0x9 - LWTUNNEL_ENCAP_MAX = 0x9 + LWTUNNEL_ENCAP_MAX = 0x8 MPLS_IPTUNNEL_UNSPEC = 0x0 MPLS_IPTUNNEL_DST = 0x1 @@ -3476,14 +3434,7 @@ const ( ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c - ETHTOOL_MSG_FEC_GET = 0x1d - ETHTOOL_MSG_FEC_SET = 0x1e - ETHTOOL_MSG_MODULE_EEPROM_GET = 0x1f - ETHTOOL_MSG_STATS_GET = 0x20 - ETHTOOL_MSG_PHC_VCLOCKS_GET = 0x21 - ETHTOOL_MSG_MODULE_GET = 0x22 - ETHTOOL_MSG_MODULE_SET = 0x23 - ETHTOOL_MSG_USER_MAX = 0x23 + ETHTOOL_MSG_USER_MAX = 0x1c ETHTOOL_MSG_KERNEL_NONE = 0x0 ETHTOOL_MSG_STRSET_GET_REPLY = 0x1 ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2 @@ -3514,14 +3465,7 @@ const ( ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d - ETHTOOL_MSG_FEC_GET_REPLY = 0x1e - ETHTOOL_MSG_FEC_NTF = 0x1f - ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 0x20 - ETHTOOL_MSG_STATS_GET_REPLY = 0x21 - ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 0x22 - ETHTOOL_MSG_MODULE_GET_REPLY = 0x23 - ETHTOOL_MSG_MODULE_NTF = 0x24 - ETHTOOL_MSG_KERNEL_MAX = 0x24 + ETHTOOL_MSG_KERNEL_MAX = 0x1d ETHTOOL_A_HEADER_UNSPEC = 0x0 ETHTOOL_A_HEADER_DEV_INDEX = 0x1 ETHTOOL_A_HEADER_DEV_NAME = 0x2 @@ -3655,9 +3599,7 @@ const ( ETHTOOL_A_COALESCE_TX_USECS_HIGH = 0x15 ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 0x16 ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 0x17 - ETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 0x18 - ETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 0x19 - ETHTOOL_A_COALESCE_MAX = 0x19 + ETHTOOL_A_COALESCE_MAX = 0x17 ETHTOOL_A_PAUSE_UNSPEC = 0x0 ETHTOOL_A_PAUSE_HEADER = 0x1 ETHTOOL_A_PAUSE_AUTONEG = 0x2 @@ -3771,8 +3713,6 @@ const ( ETHTOOL_A_TUNNEL_INFO_MAX = 0x2 ) -const SPEED_UNKNOWN = -0x1 - type EthtoolDrvinfo struct { Cmd uint32 Driver [32]byte @@ -3965,1570 +3905,3 @@ const ( NFC_SDP_ATTR_URI = 0x1 NFC_SDP_ATTR_SAP = 0x2 ) - -type LandlockRulesetAttr struct { - Access_fs uint64 -} - -type LandlockPathBeneathAttr struct { - Allowed_access uint64 - Parent_fd int32 -} - -const ( - LANDLOCK_RULE_PATH_BENEATH = 0x1 -) - -const ( - IPC_CREAT = 0x200 - IPC_EXCL = 0x400 - IPC_NOWAIT = 0x800 - IPC_PRIVATE = 0x0 - - ipc_64 = 0x100 -) - -const ( - IPC_RMID = 0x0 - IPC_SET = 0x1 - IPC_STAT = 0x2 -) - -const ( - SHM_RDONLY = 0x1000 - SHM_RND = 0x2000 -) - -type MountAttr struct { - Attr_set uint64 - Attr_clr uint64 - Propagation uint64 - Userns_fd uint64 -} - -const ( - WG_CMD_GET_DEVICE = 0x0 - WG_CMD_SET_DEVICE = 0x1 - WGDEVICE_F_REPLACE_PEERS = 0x1 - WGDEVICE_A_UNSPEC = 0x0 - WGDEVICE_A_IFINDEX = 0x1 - WGDEVICE_A_IFNAME = 0x2 - WGDEVICE_A_PRIVATE_KEY = 0x3 - WGDEVICE_A_PUBLIC_KEY = 0x4 - WGDEVICE_A_FLAGS = 0x5 - WGDEVICE_A_LISTEN_PORT = 0x6 - WGDEVICE_A_FWMARK = 0x7 - WGDEVICE_A_PEERS = 0x8 - WGPEER_F_REMOVE_ME = 0x1 - WGPEER_F_REPLACE_ALLOWEDIPS = 0x2 - WGPEER_F_UPDATE_ONLY = 0x4 - WGPEER_A_UNSPEC = 0x0 - WGPEER_A_PUBLIC_KEY = 0x1 - WGPEER_A_PRESHARED_KEY = 0x2 - WGPEER_A_FLAGS = 0x3 - WGPEER_A_ENDPOINT = 0x4 - WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL = 0x5 - WGPEER_A_LAST_HANDSHAKE_TIME = 0x6 - WGPEER_A_RX_BYTES = 0x7 - WGPEER_A_TX_BYTES = 0x8 - WGPEER_A_ALLOWEDIPS = 0x9 - WGPEER_A_PROTOCOL_VERSION = 0xa - WGALLOWEDIP_A_UNSPEC = 0x0 - WGALLOWEDIP_A_FAMILY = 0x1 - WGALLOWEDIP_A_IPADDR = 0x2 - WGALLOWEDIP_A_CIDR_MASK = 0x3 -) - -const ( - NL_ATTR_TYPE_INVALID = 0x0 - NL_ATTR_TYPE_FLAG = 0x1 - NL_ATTR_TYPE_U8 = 0x2 - NL_ATTR_TYPE_U16 = 0x3 - NL_ATTR_TYPE_U32 = 0x4 - NL_ATTR_TYPE_U64 = 0x5 - NL_ATTR_TYPE_S8 = 0x6 - NL_ATTR_TYPE_S16 = 0x7 - NL_ATTR_TYPE_S32 = 0x8 - NL_ATTR_TYPE_S64 = 0x9 - NL_ATTR_TYPE_BINARY = 0xa - NL_ATTR_TYPE_STRING = 0xb - NL_ATTR_TYPE_NUL_STRING = 0xc - NL_ATTR_TYPE_NESTED = 0xd - NL_ATTR_TYPE_NESTED_ARRAY = 0xe - NL_ATTR_TYPE_BITFIELD32 = 0xf - - NL_POLICY_TYPE_ATTR_UNSPEC = 0x0 - NL_POLICY_TYPE_ATTR_TYPE = 0x1 - NL_POLICY_TYPE_ATTR_MIN_VALUE_S = 0x2 - NL_POLICY_TYPE_ATTR_MAX_VALUE_S = 0x3 - NL_POLICY_TYPE_ATTR_MIN_VALUE_U = 0x4 - NL_POLICY_TYPE_ATTR_MAX_VALUE_U = 0x5 - NL_POLICY_TYPE_ATTR_MIN_LENGTH = 0x6 - NL_POLICY_TYPE_ATTR_MAX_LENGTH = 0x7 - NL_POLICY_TYPE_ATTR_POLICY_IDX = 0x8 - NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 0x9 - NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 0xa - NL_POLICY_TYPE_ATTR_PAD = 0xb - NL_POLICY_TYPE_ATTR_MASK = 0xc - NL_POLICY_TYPE_ATTR_MAX = 0xc -) - -type CANBitTiming struct { - Bitrate uint32 - Sample_point uint32 - Tq uint32 - Prop_seg uint32 - Phase_seg1 uint32 - Phase_seg2 uint32 - Sjw uint32 - Brp uint32 -} - -type CANBitTimingConst struct { - Name [16]uint8 - Tseg1_min uint32 - Tseg1_max uint32 - Tseg2_min uint32 - Tseg2_max uint32 - Sjw_max uint32 - Brp_min uint32 - Brp_max uint32 - Brp_inc uint32 -} - -type CANClock struct { - Freq uint32 -} - -type CANBusErrorCounters struct { - Txerr uint16 - Rxerr uint16 -} - -type CANCtrlMode struct { - Mask uint32 - Flags uint32 -} - -type CANDeviceStats struct { - Bus_error uint32 - Error_warning uint32 - Error_passive uint32 - Bus_off uint32 - Arbitration_lost uint32 - Restarts uint32 -} - -const ( - CAN_STATE_ERROR_ACTIVE = 0x0 - CAN_STATE_ERROR_WARNING = 0x1 - CAN_STATE_ERROR_PASSIVE = 0x2 - CAN_STATE_BUS_OFF = 0x3 - CAN_STATE_STOPPED = 0x4 - CAN_STATE_SLEEPING = 0x5 - CAN_STATE_MAX = 0x6 -) - -const ( - IFLA_CAN_UNSPEC = 0x0 - IFLA_CAN_BITTIMING = 0x1 - IFLA_CAN_BITTIMING_CONST = 0x2 - IFLA_CAN_CLOCK = 0x3 - IFLA_CAN_STATE = 0x4 - IFLA_CAN_CTRLMODE = 0x5 - IFLA_CAN_RESTART_MS = 0x6 - IFLA_CAN_RESTART = 0x7 - IFLA_CAN_BERR_COUNTER = 0x8 - IFLA_CAN_DATA_BITTIMING = 0x9 - IFLA_CAN_DATA_BITTIMING_CONST = 0xa - IFLA_CAN_TERMINATION = 0xb - IFLA_CAN_TERMINATION_CONST = 0xc - IFLA_CAN_BITRATE_CONST = 0xd - IFLA_CAN_DATA_BITRATE_CONST = 0xe - IFLA_CAN_BITRATE_MAX = 0xf -) - -type KCMAttach struct { - Fd int32 - Bpf_fd int32 -} - -type KCMUnattach struct { - Fd int32 -} - -type KCMClone struct { - Fd int32 -} - -const ( - NL80211_AC_BE = 0x2 - NL80211_AC_BK = 0x3 - NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED = 0x0 - NL80211_ACL_POLICY_DENY_UNLESS_LISTED = 0x1 - NL80211_AC_VI = 0x1 - NL80211_AC_VO = 0x0 - NL80211_ATTR_4ADDR = 0x53 - NL80211_ATTR_ACK = 0x5c - NL80211_ATTR_ACK_SIGNAL = 0x107 - NL80211_ATTR_ACL_POLICY = 0xa5 - NL80211_ATTR_ADMITTED_TIME = 0xd4 - NL80211_ATTR_AIRTIME_WEIGHT = 0x112 - NL80211_ATTR_AKM_SUITES = 0x4c - NL80211_ATTR_AP_ISOLATE = 0x60 - NL80211_ATTR_AUTH_DATA = 0x9c - NL80211_ATTR_AUTH_TYPE = 0x35 - NL80211_ATTR_BANDS = 0xef - NL80211_ATTR_BEACON_HEAD = 0xe - NL80211_ATTR_BEACON_INTERVAL = 0xc - NL80211_ATTR_BEACON_TAIL = 0xf - NL80211_ATTR_BG_SCAN_PERIOD = 0x98 - NL80211_ATTR_BSS_BASIC_RATES = 0x24 - NL80211_ATTR_BSS = 0x2f - NL80211_ATTR_BSS_CTS_PROT = 0x1c - NL80211_ATTR_BSS_HT_OPMODE = 0x6d - NL80211_ATTR_BSSID = 0xf5 - NL80211_ATTR_BSS_SELECT = 0xe3 - NL80211_ATTR_BSS_SHORT_PREAMBLE = 0x1d - NL80211_ATTR_BSS_SHORT_SLOT_TIME = 0x1e - NL80211_ATTR_CENTER_FREQ1 = 0xa0 - NL80211_ATTR_CENTER_FREQ1_OFFSET = 0x123 - NL80211_ATTR_CENTER_FREQ2 = 0xa1 - NL80211_ATTR_CHANNEL_WIDTH = 0x9f - NL80211_ATTR_CH_SWITCH_BLOCK_TX = 0xb8 - NL80211_ATTR_CH_SWITCH_COUNT = 0xb7 - NL80211_ATTR_CIPHER_SUITE_GROUP = 0x4a - NL80211_ATTR_CIPHER_SUITES = 0x39 - NL80211_ATTR_CIPHER_SUITES_PAIRWISE = 0x49 - NL80211_ATTR_CNTDWN_OFFS_BEACON = 0xba - NL80211_ATTR_CNTDWN_OFFS_PRESP = 0xbb - NL80211_ATTR_COALESCE_RULE = 0xb6 - NL80211_ATTR_COALESCE_RULE_CONDITION = 0x2 - NL80211_ATTR_COALESCE_RULE_DELAY = 0x1 - NL80211_ATTR_COALESCE_RULE_MAX = 0x3 - NL80211_ATTR_COALESCE_RULE_PKT_PATTERN = 0x3 - NL80211_ATTR_CONN_FAILED_REASON = 0x9b - NL80211_ATTR_CONTROL_PORT = 0x44 - NL80211_ATTR_CONTROL_PORT_ETHERTYPE = 0x66 - NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT = 0x67 - NL80211_ATTR_CONTROL_PORT_NO_PREAUTH = 0x11e - NL80211_ATTR_CONTROL_PORT_OVER_NL80211 = 0x108 - NL80211_ATTR_COOKIE = 0x58 - NL80211_ATTR_CQM_BEACON_LOSS_EVENT = 0x8 - NL80211_ATTR_CQM = 0x5e - NL80211_ATTR_CQM_MAX = 0x9 - NL80211_ATTR_CQM_PKT_LOSS_EVENT = 0x4 - NL80211_ATTR_CQM_RSSI_HYST = 0x2 - NL80211_ATTR_CQM_RSSI_LEVEL = 0x9 - NL80211_ATTR_CQM_RSSI_THOLD = 0x1 - NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT = 0x3 - NL80211_ATTR_CQM_TXE_INTVL = 0x7 - NL80211_ATTR_CQM_TXE_PKTS = 0x6 - NL80211_ATTR_CQM_TXE_RATE = 0x5 - NL80211_ATTR_CRIT_PROT_ID = 0xb3 - NL80211_ATTR_CSA_C_OFF_BEACON = 0xba - NL80211_ATTR_CSA_C_OFF_PRESP = 0xbb - NL80211_ATTR_CSA_C_OFFSETS_TX = 0xcd - NL80211_ATTR_CSA_IES = 0xb9 - NL80211_ATTR_DEVICE_AP_SME = 0x8d - NL80211_ATTR_DFS_CAC_TIME = 0x7 - NL80211_ATTR_DFS_REGION = 0x92 - NL80211_ATTR_DISABLE_HE = 0x12d - NL80211_ATTR_DISABLE_HT = 0x93 - NL80211_ATTR_DISABLE_VHT = 0xaf - NL80211_ATTR_DISCONNECTED_BY_AP = 0x47 - NL80211_ATTR_DONT_WAIT_FOR_ACK = 0x8e - NL80211_ATTR_DTIM_PERIOD = 0xd - NL80211_ATTR_DURATION = 0x57 - NL80211_ATTR_EXT_CAPA = 0xa9 - NL80211_ATTR_EXT_CAPA_MASK = 0xaa - NL80211_ATTR_EXTERNAL_AUTH_ACTION = 0x104 - NL80211_ATTR_EXTERNAL_AUTH_SUPPORT = 0x105 - NL80211_ATTR_EXT_FEATURES = 0xd9 - NL80211_ATTR_FEATURE_FLAGS = 0x8f - NL80211_ATTR_FILS_CACHE_ID = 0xfd - NL80211_ATTR_FILS_DISCOVERY = 0x126 - NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM = 0xfb - NL80211_ATTR_FILS_ERP_REALM = 0xfa - NL80211_ATTR_FILS_ERP_RRK = 0xfc - NL80211_ATTR_FILS_ERP_USERNAME = 0xf9 - NL80211_ATTR_FILS_KEK = 0xf2 - NL80211_ATTR_FILS_NONCES = 0xf3 - NL80211_ATTR_FRAME = 0x33 - NL80211_ATTR_FRAME_MATCH = 0x5b - NL80211_ATTR_FRAME_TYPE = 0x65 - NL80211_ATTR_FREQ_AFTER = 0x3b - NL80211_ATTR_FREQ_BEFORE = 0x3a - NL80211_ATTR_FREQ_FIXED = 0x3c - NL80211_ATTR_FREQ_RANGE_END = 0x3 - NL80211_ATTR_FREQ_RANGE_MAX_BW = 0x4 - NL80211_ATTR_FREQ_RANGE_START = 0x2 - NL80211_ATTR_FTM_RESPONDER = 0x10e - NL80211_ATTR_FTM_RESPONDER_STATS = 0x10f - NL80211_ATTR_GENERATION = 0x2e - NL80211_ATTR_HANDLE_DFS = 0xbf - NL80211_ATTR_HE_6GHZ_CAPABILITY = 0x125 - NL80211_ATTR_HE_BSS_COLOR = 0x11b - NL80211_ATTR_HE_CAPABILITY = 0x10d - NL80211_ATTR_HE_OBSS_PD = 0x117 - NL80211_ATTR_HIDDEN_SSID = 0x7e - NL80211_ATTR_HT_CAPABILITY = 0x1f - NL80211_ATTR_HT_CAPABILITY_MASK = 0x94 - NL80211_ATTR_IE_ASSOC_RESP = 0x80 - NL80211_ATTR_IE = 0x2a - NL80211_ATTR_IE_PROBE_RESP = 0x7f - NL80211_ATTR_IE_RIC = 0xb2 - NL80211_ATTR_IFACE_SOCKET_OWNER = 0xcc - NL80211_ATTR_IFINDEX = 0x3 - NL80211_ATTR_IFNAME = 0x4 - NL80211_ATTR_IFTYPE_AKM_SUITES = 0x11c - NL80211_ATTR_IFTYPE = 0x5 - NL80211_ATTR_IFTYPE_EXT_CAPA = 0xe6 - NL80211_ATTR_INACTIVITY_TIMEOUT = 0x96 - NL80211_ATTR_INTERFACE_COMBINATIONS = 0x78 - NL80211_ATTR_KEY_CIPHER = 0x9 - NL80211_ATTR_KEY = 0x50 - NL80211_ATTR_KEY_DATA = 0x7 - NL80211_ATTR_KEY_DEFAULT = 0xb - NL80211_ATTR_KEY_DEFAULT_MGMT = 0x28 - NL80211_ATTR_KEY_DEFAULT_TYPES = 0x6e - NL80211_ATTR_KEY_IDX = 0x8 - NL80211_ATTR_KEYS = 0x51 - NL80211_ATTR_KEY_SEQ = 0xa - NL80211_ATTR_KEY_TYPE = 0x37 - NL80211_ATTR_LOCAL_MESH_POWER_MODE = 0xa4 - NL80211_ATTR_LOCAL_STATE_CHANGE = 0x5f - NL80211_ATTR_MAC_ACL_MAX = 0xa7 - NL80211_ATTR_MAC_ADDRS = 0xa6 - NL80211_ATTR_MAC = 0x6 - NL80211_ATTR_MAC_HINT = 0xc8 - NL80211_ATTR_MAC_MASK = 0xd7 - NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca - NL80211_ATTR_MAX = 0x133 - NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4 - NL80211_ATTR_MAX_CSA_COUNTERS = 0xce - NL80211_ATTR_MAX_MATCH_SETS = 0x85 - NL80211_ATTR_MAX_NUM_PMKIDS = 0x56 - NL80211_ATTR_MAX_NUM_SCAN_SSIDS = 0x2b - NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS = 0xde - NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS = 0x7b - NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION = 0x6f - NL80211_ATTR_MAX_SCAN_IE_LEN = 0x38 - NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL = 0xdf - NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS = 0xe0 - NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN = 0x7c - NL80211_ATTR_MCAST_RATE = 0x6b - NL80211_ATTR_MDID = 0xb1 - NL80211_ATTR_MEASUREMENT_DURATION = 0xeb - NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY = 0xec - NL80211_ATTR_MESH_CONFIG = 0x23 - NL80211_ATTR_MESH_ID = 0x18 - NL80211_ATTR_MESH_PEER_AID = 0xed - NL80211_ATTR_MESH_SETUP = 0x70 - NL80211_ATTR_MGMT_SUBTYPE = 0x29 - NL80211_ATTR_MNTR_FLAGS = 0x17 - NL80211_ATTR_MPATH_INFO = 0x1b - NL80211_ATTR_MPATH_NEXT_HOP = 0x1a - NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED = 0xf4 - NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR = 0xe8 - NL80211_ATTR_MU_MIMO_GROUP_DATA = 0xe7 - NL80211_ATTR_NAN_FUNC = 0xf0 - NL80211_ATTR_NAN_MASTER_PREF = 0xee - NL80211_ATTR_NAN_MATCH = 0xf1 - NL80211_ATTR_NETNS_FD = 0xdb - NL80211_ATTR_NOACK_MAP = 0x95 - NL80211_ATTR_NSS = 0x106 - NL80211_ATTR_OFFCHANNEL_TX_OK = 0x6c - NL80211_ATTR_OPER_CLASS = 0xd6 - NL80211_ATTR_OPMODE_NOTIF = 0xc2 - NL80211_ATTR_P2P_CTWINDOW = 0xa2 - NL80211_ATTR_P2P_OPPPS = 0xa3 - NL80211_ATTR_PAD = 0xe5 - NL80211_ATTR_PBSS = 0xe2 - NL80211_ATTR_PEER_AID = 0xb5 - NL80211_ATTR_PEER_MEASUREMENTS = 0x111 - NL80211_ATTR_PID = 0x52 - NL80211_ATTR_PMK = 0xfe - NL80211_ATTR_PMKID = 0x55 - NL80211_ATTR_PMK_LIFETIME = 0x11f - NL80211_ATTR_PMKR0_NAME = 0x102 - NL80211_ATTR_PMK_REAUTH_THRESHOLD = 0x120 - NL80211_ATTR_PMKSA_CANDIDATE = 0x86 - NL80211_ATTR_PORT_AUTHORIZED = 0x103 - NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN = 0x5 - NL80211_ATTR_POWER_RULE_MAX_EIRP = 0x6 - NL80211_ATTR_PREV_BSSID = 0x4f - NL80211_ATTR_PRIVACY = 0x46 - NL80211_ATTR_PROBE_RESP = 0x91 - NL80211_ATTR_PROBE_RESP_OFFLOAD = 0x90 - NL80211_ATTR_PROTOCOL_FEATURES = 0xad - NL80211_ATTR_PS_STATE = 0x5d - NL80211_ATTR_QOS_MAP = 0xc7 - NL80211_ATTR_RADAR_EVENT = 0xa8 - NL80211_ATTR_REASON_CODE = 0x36 - NL80211_ATTR_RECEIVE_MULTICAST = 0x121 - NL80211_ATTR_RECONNECT_REQUESTED = 0x12b - NL80211_ATTR_REG_ALPHA2 = 0x21 - NL80211_ATTR_REG_INDOOR = 0xdd - NL80211_ATTR_REG_INITIATOR = 0x30 - NL80211_ATTR_REG_RULE_FLAGS = 0x1 - NL80211_ATTR_REG_RULES = 0x22 - NL80211_ATTR_REG_TYPE = 0x31 - NL80211_ATTR_REKEY_DATA = 0x7a - NL80211_ATTR_REQ_IE = 0x4d - NL80211_ATTR_RESP_IE = 0x4e - NL80211_ATTR_ROAM_SUPPORT = 0x83 - NL80211_ATTR_RX_FRAME_TYPES = 0x64 - NL80211_ATTR_RXMGMT_FLAGS = 0xbc - NL80211_ATTR_RX_SIGNAL_DBM = 0x97 - NL80211_ATTR_S1G_CAPABILITY = 0x128 - NL80211_ATTR_S1G_CAPABILITY_MASK = 0x129 - NL80211_ATTR_SAE_DATA = 0x9c - NL80211_ATTR_SAE_PASSWORD = 0x115 - NL80211_ATTR_SAE_PWE = 0x12a - NL80211_ATTR_SAR_SPEC = 0x12c - NL80211_ATTR_SCAN_FLAGS = 0x9e - NL80211_ATTR_SCAN_FREQ_KHZ = 0x124 - NL80211_ATTR_SCAN_FREQUENCIES = 0x2c - NL80211_ATTR_SCAN_GENERATION = 0x2e - NL80211_ATTR_SCAN_SSIDS = 0x2d - NL80211_ATTR_SCAN_START_TIME_TSF_BSSID = 0xea - NL80211_ATTR_SCAN_START_TIME_TSF = 0xe9 - NL80211_ATTR_SCAN_SUPP_RATES = 0x7d - NL80211_ATTR_SCHED_SCAN_DELAY = 0xdc - NL80211_ATTR_SCHED_SCAN_INTERVAL = 0x77 - NL80211_ATTR_SCHED_SCAN_MATCH = 0x84 - NL80211_ATTR_SCHED_SCAN_MATCH_SSID = 0x1 - NL80211_ATTR_SCHED_SCAN_MAX_REQS = 0x100 - NL80211_ATTR_SCHED_SCAN_MULTI = 0xff - NL80211_ATTR_SCHED_SCAN_PLANS = 0xe1 - NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI = 0xf6 - NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST = 0xf7 - NL80211_ATTR_SMPS_MODE = 0xd5 - NL80211_ATTR_SOCKET_OWNER = 0xcc - NL80211_ATTR_SOFTWARE_IFTYPES = 0x79 - NL80211_ATTR_SPLIT_WIPHY_DUMP = 0xae - NL80211_ATTR_SSID = 0x34 - NL80211_ATTR_STA_AID = 0x10 - NL80211_ATTR_STA_CAPABILITY = 0xab - NL80211_ATTR_STA_EXT_CAPABILITY = 0xac - NL80211_ATTR_STA_FLAGS2 = 0x43 - NL80211_ATTR_STA_FLAGS = 0x11 - NL80211_ATTR_STA_INFO = 0x15 - NL80211_ATTR_STA_LISTEN_INTERVAL = 0x12 - NL80211_ATTR_STA_PLINK_ACTION = 0x19 - NL80211_ATTR_STA_PLINK_STATE = 0x74 - NL80211_ATTR_STA_SUPPORTED_CHANNELS = 0xbd - NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES = 0xbe - NL80211_ATTR_STA_SUPPORTED_RATES = 0x13 - NL80211_ATTR_STA_SUPPORT_P2P_PS = 0xe4 - NL80211_ATTR_STATUS_CODE = 0x48 - NL80211_ATTR_STA_TX_POWER = 0x114 - NL80211_ATTR_STA_TX_POWER_SETTING = 0x113 - NL80211_ATTR_STA_VLAN = 0x14 - NL80211_ATTR_STA_WME = 0x81 - NL80211_ATTR_SUPPORT_10_MHZ = 0xc1 - NL80211_ATTR_SUPPORT_5_MHZ = 0xc0 - NL80211_ATTR_SUPPORT_AP_UAPSD = 0x82 - NL80211_ATTR_SUPPORTED_COMMANDS = 0x32 - NL80211_ATTR_SUPPORTED_IFTYPES = 0x20 - NL80211_ATTR_SUPPORT_IBSS_RSN = 0x68 - NL80211_ATTR_SUPPORT_MESH_AUTH = 0x73 - NL80211_ATTR_SURVEY_INFO = 0x54 - NL80211_ATTR_SURVEY_RADIO_STATS = 0xda - NL80211_ATTR_TDLS_ACTION = 0x88 - NL80211_ATTR_TDLS_DIALOG_TOKEN = 0x89 - NL80211_ATTR_TDLS_EXTERNAL_SETUP = 0x8c - NL80211_ATTR_TDLS_INITIATOR = 0xcf - NL80211_ATTR_TDLS_OPERATION = 0x8a - NL80211_ATTR_TDLS_PEER_CAPABILITY = 0xcb - NL80211_ATTR_TDLS_SUPPORT = 0x8b - NL80211_ATTR_TESTDATA = 0x45 - NL80211_ATTR_TID_CONFIG = 0x11d - NL80211_ATTR_TIMED_OUT = 0x41 - NL80211_ATTR_TIMEOUT = 0x110 - NL80211_ATTR_TIMEOUT_REASON = 0xf8 - NL80211_ATTR_TSID = 0xd2 - NL80211_ATTR_TWT_RESPONDER = 0x116 - NL80211_ATTR_TX_FRAME_TYPES = 0x63 - NL80211_ATTR_TX_NO_CCK_RATE = 0x87 - NL80211_ATTR_TXQ_LIMIT = 0x10a - NL80211_ATTR_TXQ_MEMORY_LIMIT = 0x10b - NL80211_ATTR_TXQ_QUANTUM = 0x10c - NL80211_ATTR_TXQ_STATS = 0x109 - NL80211_ATTR_TX_RATES = 0x5a - NL80211_ATTR_UNSOL_BCAST_PROBE_RESP = 0x127 - NL80211_ATTR_UNSPEC = 0x0 - NL80211_ATTR_USE_MFP = 0x42 - NL80211_ATTR_USER_PRIO = 0xd3 - NL80211_ATTR_USER_REG_HINT_TYPE = 0x9a - NL80211_ATTR_USE_RRM = 0xd0 - NL80211_ATTR_VENDOR_DATA = 0xc5 - NL80211_ATTR_VENDOR_EVENTS = 0xc6 - NL80211_ATTR_VENDOR_ID = 0xc3 - NL80211_ATTR_VENDOR_SUBCMD = 0xc4 - NL80211_ATTR_VHT_CAPABILITY = 0x9d - NL80211_ATTR_VHT_CAPABILITY_MASK = 0xb0 - NL80211_ATTR_VLAN_ID = 0x11a - NL80211_ATTR_WANT_1X_4WAY_HS = 0x101 - NL80211_ATTR_WDEV = 0x99 - NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX = 0x72 - NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX = 0x71 - NL80211_ATTR_WIPHY_ANTENNA_RX = 0x6a - NL80211_ATTR_WIPHY_ANTENNA_TX = 0x69 - NL80211_ATTR_WIPHY_BANDS = 0x16 - NL80211_ATTR_WIPHY_CHANNEL_TYPE = 0x27 - NL80211_ATTR_WIPHY = 0x1 - NL80211_ATTR_WIPHY_COVERAGE_CLASS = 0x59 - NL80211_ATTR_WIPHY_DYN_ACK = 0xd1 - NL80211_ATTR_WIPHY_EDMG_BW_CONFIG = 0x119 - NL80211_ATTR_WIPHY_EDMG_CHANNELS = 0x118 - NL80211_ATTR_WIPHY_FRAG_THRESHOLD = 0x3f - NL80211_ATTR_WIPHY_FREQ = 0x26 - NL80211_ATTR_WIPHY_FREQ_HINT = 0xc9 - NL80211_ATTR_WIPHY_FREQ_OFFSET = 0x122 - NL80211_ATTR_WIPHY_NAME = 0x2 - NL80211_ATTR_WIPHY_RETRY_LONG = 0x3e - NL80211_ATTR_WIPHY_RETRY_SHORT = 0x3d - NL80211_ATTR_WIPHY_RTS_THRESHOLD = 0x40 - NL80211_ATTR_WIPHY_SELF_MANAGED_REG = 0xd8 - NL80211_ATTR_WIPHY_TX_POWER_LEVEL = 0x62 - NL80211_ATTR_WIPHY_TX_POWER_SETTING = 0x61 - NL80211_ATTR_WIPHY_TXQ_PARAMS = 0x25 - NL80211_ATTR_WOWLAN_TRIGGERS = 0x75 - NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED = 0x76 - NL80211_ATTR_WPA_VERSIONS = 0x4b - NL80211_AUTHTYPE_AUTOMATIC = 0x8 - NL80211_AUTHTYPE_FILS_PK = 0x7 - NL80211_AUTHTYPE_FILS_SK = 0x5 - NL80211_AUTHTYPE_FILS_SK_PFS = 0x6 - NL80211_AUTHTYPE_FT = 0x2 - NL80211_AUTHTYPE_MAX = 0x7 - NL80211_AUTHTYPE_NETWORK_EAP = 0x3 - NL80211_AUTHTYPE_OPEN_SYSTEM = 0x0 - NL80211_AUTHTYPE_SAE = 0x4 - NL80211_AUTHTYPE_SHARED_KEY = 0x1 - NL80211_BAND_2GHZ = 0x0 - NL80211_BAND_5GHZ = 0x1 - NL80211_BAND_60GHZ = 0x2 - NL80211_BAND_6GHZ = 0x3 - NL80211_BAND_ATTR_EDMG_BW_CONFIG = 0xb - NL80211_BAND_ATTR_EDMG_CHANNELS = 0xa - NL80211_BAND_ATTR_FREQS = 0x1 - NL80211_BAND_ATTR_HT_AMPDU_DENSITY = 0x6 - NL80211_BAND_ATTR_HT_AMPDU_FACTOR = 0x5 - NL80211_BAND_ATTR_HT_CAPA = 0x4 - NL80211_BAND_ATTR_HT_MCS_SET = 0x3 - NL80211_BAND_ATTR_IFTYPE_DATA = 0x9 - NL80211_BAND_ATTR_MAX = 0xb - NL80211_BAND_ATTR_RATES = 0x2 - NL80211_BAND_ATTR_VHT_CAPA = 0x8 - NL80211_BAND_ATTR_VHT_MCS_SET = 0x7 - NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA = 0x6 - NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC = 0x2 - NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET = 0x4 - NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY = 0x3 - NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE = 0x5 - NL80211_BAND_IFTYPE_ATTR_IFTYPES = 0x1 - NL80211_BAND_IFTYPE_ATTR_MAX = 0x7 - NL80211_BAND_S1GHZ = 0x4 - NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE = 0x2 - NL80211_BITRATE_ATTR_MAX = 0x2 - NL80211_BITRATE_ATTR_RATE = 0x1 - NL80211_BSS_BEACON_IES = 0xb - NL80211_BSS_BEACON_INTERVAL = 0x4 - NL80211_BSS_BEACON_TSF = 0xd - NL80211_BSS_BSSID = 0x1 - NL80211_BSS_CAPABILITY = 0x5 - NL80211_BSS_CHAIN_SIGNAL = 0x13 - NL80211_BSS_CHAN_WIDTH_10 = 0x1 - NL80211_BSS_CHAN_WIDTH_1 = 0x3 - NL80211_BSS_CHAN_WIDTH_20 = 0x0 - NL80211_BSS_CHAN_WIDTH_2 = 0x4 - NL80211_BSS_CHAN_WIDTH_5 = 0x2 - NL80211_BSS_CHAN_WIDTH = 0xc - NL80211_BSS_FREQUENCY = 0x2 - NL80211_BSS_FREQUENCY_OFFSET = 0x14 - NL80211_BSS_INFORMATION_ELEMENTS = 0x6 - NL80211_BSS_LAST_SEEN_BOOTTIME = 0xf - NL80211_BSS_MAX = 0x14 - NL80211_BSS_PAD = 0x10 - NL80211_BSS_PARENT_BSSID = 0x12 - NL80211_BSS_PARENT_TSF = 0x11 - NL80211_BSS_PRESP_DATA = 0xe - NL80211_BSS_SEEN_MS_AGO = 0xa - NL80211_BSS_SELECT_ATTR_BAND_PREF = 0x2 - NL80211_BSS_SELECT_ATTR_MAX = 0x3 - NL80211_BSS_SELECT_ATTR_RSSI_ADJUST = 0x3 - NL80211_BSS_SELECT_ATTR_RSSI = 0x1 - NL80211_BSS_SIGNAL_MBM = 0x7 - NL80211_BSS_SIGNAL_UNSPEC = 0x8 - NL80211_BSS_STATUS_ASSOCIATED = 0x1 - NL80211_BSS_STATUS_AUTHENTICATED = 0x0 - NL80211_BSS_STATUS = 0x9 - NL80211_BSS_STATUS_IBSS_JOINED = 0x2 - NL80211_BSS_TSF = 0x3 - NL80211_CHAN_HT20 = 0x1 - NL80211_CHAN_HT40MINUS = 0x2 - NL80211_CHAN_HT40PLUS = 0x3 - NL80211_CHAN_NO_HT = 0x0 - NL80211_CHAN_WIDTH_10 = 0x7 - NL80211_CHAN_WIDTH_160 = 0x5 - NL80211_CHAN_WIDTH_16 = 0xc - NL80211_CHAN_WIDTH_1 = 0x8 - NL80211_CHAN_WIDTH_20 = 0x1 - NL80211_CHAN_WIDTH_20_NOHT = 0x0 - NL80211_CHAN_WIDTH_2 = 0x9 - NL80211_CHAN_WIDTH_40 = 0x2 - NL80211_CHAN_WIDTH_4 = 0xa - NL80211_CHAN_WIDTH_5 = 0x6 - NL80211_CHAN_WIDTH_80 = 0x3 - NL80211_CHAN_WIDTH_80P80 = 0x4 - NL80211_CHAN_WIDTH_8 = 0xb - NL80211_CMD_ABORT_SCAN = 0x72 - NL80211_CMD_ACTION = 0x3b - NL80211_CMD_ACTION_TX_STATUS = 0x3c - NL80211_CMD_ADD_NAN_FUNCTION = 0x75 - NL80211_CMD_ADD_TX_TS = 0x69 - NL80211_CMD_ASSOCIATE = 0x26 - NL80211_CMD_AUTHENTICATE = 0x25 - NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL = 0x38 - NL80211_CMD_CHANGE_NAN_CONFIG = 0x77 - NL80211_CMD_CHANNEL_SWITCH = 0x66 - NL80211_CMD_CH_SWITCH_NOTIFY = 0x58 - NL80211_CMD_CH_SWITCH_STARTED_NOTIFY = 0x6e - NL80211_CMD_CONNECT = 0x2e - NL80211_CMD_CONN_FAILED = 0x5b - NL80211_CMD_CONTROL_PORT_FRAME = 0x81 - NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS = 0x8b - NL80211_CMD_CRIT_PROTOCOL_START = 0x62 - NL80211_CMD_CRIT_PROTOCOL_STOP = 0x63 - NL80211_CMD_DEAUTHENTICATE = 0x27 - NL80211_CMD_DEL_BEACON = 0x10 - NL80211_CMD_DEL_INTERFACE = 0x8 - NL80211_CMD_DEL_KEY = 0xc - NL80211_CMD_DEL_MPATH = 0x18 - NL80211_CMD_DEL_NAN_FUNCTION = 0x76 - NL80211_CMD_DEL_PMK = 0x7c - NL80211_CMD_DEL_PMKSA = 0x35 - NL80211_CMD_DEL_STATION = 0x14 - NL80211_CMD_DEL_TX_TS = 0x6a - NL80211_CMD_DEL_WIPHY = 0x4 - NL80211_CMD_DISASSOCIATE = 0x28 - NL80211_CMD_DISCONNECT = 0x30 - NL80211_CMD_EXTERNAL_AUTH = 0x7f - NL80211_CMD_FLUSH_PMKSA = 0x36 - NL80211_CMD_FRAME = 0x3b - NL80211_CMD_FRAME_TX_STATUS = 0x3c - NL80211_CMD_FRAME_WAIT_CANCEL = 0x43 - NL80211_CMD_FT_EVENT = 0x61 - NL80211_CMD_GET_BEACON = 0xd - NL80211_CMD_GET_COALESCE = 0x64 - NL80211_CMD_GET_FTM_RESPONDER_STATS = 0x82 - NL80211_CMD_GET_INTERFACE = 0x5 - NL80211_CMD_GET_KEY = 0x9 - NL80211_CMD_GET_MESH_CONFIG = 0x1c - NL80211_CMD_GET_MESH_PARAMS = 0x1c - NL80211_CMD_GET_MPATH = 0x15 - NL80211_CMD_GET_MPP = 0x6b - NL80211_CMD_GET_POWER_SAVE = 0x3e - NL80211_CMD_GET_PROTOCOL_FEATURES = 0x5f - NL80211_CMD_GET_REG = 0x1f - NL80211_CMD_GET_SCAN = 0x20 - NL80211_CMD_GET_STATION = 0x11 - NL80211_CMD_GET_SURVEY = 0x32 - NL80211_CMD_GET_WIPHY = 0x1 - NL80211_CMD_GET_WOWLAN = 0x49 - NL80211_CMD_JOIN_IBSS = 0x2b - NL80211_CMD_JOIN_MESH = 0x44 - NL80211_CMD_JOIN_OCB = 0x6c - NL80211_CMD_LEAVE_IBSS = 0x2c - NL80211_CMD_LEAVE_MESH = 0x45 - NL80211_CMD_LEAVE_OCB = 0x6d - NL80211_CMD_MAX = 0x92 - NL80211_CMD_MICHAEL_MIC_FAILURE = 0x29 - NL80211_CMD_NAN_MATCH = 0x78 - NL80211_CMD_NEW_BEACON = 0xf - NL80211_CMD_NEW_INTERFACE = 0x7 - NL80211_CMD_NEW_KEY = 0xb - NL80211_CMD_NEW_MPATH = 0x17 - NL80211_CMD_NEW_PEER_CANDIDATE = 0x48 - NL80211_CMD_NEW_SCAN_RESULTS = 0x22 - NL80211_CMD_NEW_STATION = 0x13 - NL80211_CMD_NEW_SURVEY_RESULTS = 0x33 - NL80211_CMD_NEW_WIPHY = 0x3 - NL80211_CMD_NOTIFY_CQM = 0x40 - NL80211_CMD_NOTIFY_RADAR = 0x86 - NL80211_CMD_PEER_MEASUREMENT_COMPLETE = 0x85 - NL80211_CMD_PEER_MEASUREMENT_RESULT = 0x84 - NL80211_CMD_PEER_MEASUREMENT_START = 0x83 - NL80211_CMD_PMKSA_CANDIDATE = 0x50 - NL80211_CMD_PORT_AUTHORIZED = 0x7d - NL80211_CMD_PROBE_CLIENT = 0x54 - NL80211_CMD_PROBE_MESH_LINK = 0x88 - NL80211_CMD_RADAR_DETECT = 0x5e - NL80211_CMD_REG_BEACON_HINT = 0x2a - NL80211_CMD_REG_CHANGE = 0x24 - NL80211_CMD_REGISTER_ACTION = 0x3a - NL80211_CMD_REGISTER_BEACONS = 0x55 - NL80211_CMD_REGISTER_FRAME = 0x3a - NL80211_CMD_RELOAD_REGDB = 0x7e - NL80211_CMD_REMAIN_ON_CHANNEL = 0x37 - NL80211_CMD_REQ_SET_REG = 0x1b - NL80211_CMD_ROAM = 0x2f - NL80211_CMD_SCAN_ABORTED = 0x23 - NL80211_CMD_SCHED_SCAN_RESULTS = 0x4d - NL80211_CMD_SCHED_SCAN_STOPPED = 0x4e - NL80211_CMD_SET_BEACON = 0xe - NL80211_CMD_SET_BSS = 0x19 - NL80211_CMD_SET_CHANNEL = 0x41 - NL80211_CMD_SET_COALESCE = 0x65 - NL80211_CMD_SET_CQM = 0x3f - NL80211_CMD_SET_INTERFACE = 0x6 - NL80211_CMD_SET_KEY = 0xa - NL80211_CMD_SET_MAC_ACL = 0x5d - NL80211_CMD_SET_MCAST_RATE = 0x5c - NL80211_CMD_SET_MESH_CONFIG = 0x1d - NL80211_CMD_SET_MESH_PARAMS = 0x1d - NL80211_CMD_SET_MGMT_EXTRA_IE = 0x1e - NL80211_CMD_SET_MPATH = 0x16 - NL80211_CMD_SET_MULTICAST_TO_UNICAST = 0x79 - NL80211_CMD_SET_NOACK_MAP = 0x57 - NL80211_CMD_SET_PMK = 0x7b - NL80211_CMD_SET_PMKSA = 0x34 - NL80211_CMD_SET_POWER_SAVE = 0x3d - NL80211_CMD_SET_QOS_MAP = 0x68 - NL80211_CMD_SET_REG = 0x1a - NL80211_CMD_SET_REKEY_OFFLOAD = 0x4f - NL80211_CMD_SET_SAR_SPECS = 0x8c - NL80211_CMD_SET_STATION = 0x12 - NL80211_CMD_SET_TID_CONFIG = 0x89 - NL80211_CMD_SET_TX_BITRATE_MASK = 0x39 - NL80211_CMD_SET_WDS_PEER = 0x42 - NL80211_CMD_SET_WIPHY = 0x2 - NL80211_CMD_SET_WIPHY_NETNS = 0x31 - NL80211_CMD_SET_WOWLAN = 0x4a - NL80211_CMD_STA_OPMODE_CHANGED = 0x80 - NL80211_CMD_START_AP = 0xf - NL80211_CMD_START_NAN = 0x73 - NL80211_CMD_START_P2P_DEVICE = 0x59 - NL80211_CMD_START_SCHED_SCAN = 0x4b - NL80211_CMD_STOP_AP = 0x10 - NL80211_CMD_STOP_NAN = 0x74 - NL80211_CMD_STOP_P2P_DEVICE = 0x5a - NL80211_CMD_STOP_SCHED_SCAN = 0x4c - NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH = 0x70 - NL80211_CMD_TDLS_CHANNEL_SWITCH = 0x6f - NL80211_CMD_TDLS_MGMT = 0x52 - NL80211_CMD_TDLS_OPER = 0x51 - NL80211_CMD_TESTMODE = 0x2d - NL80211_CMD_TRIGGER_SCAN = 0x21 - NL80211_CMD_UNEXPECTED_4ADDR_FRAME = 0x56 - NL80211_CMD_UNEXPECTED_FRAME = 0x53 - NL80211_CMD_UNPROT_BEACON = 0x8a - NL80211_CMD_UNPROT_DEAUTHENTICATE = 0x46 - NL80211_CMD_UNPROT_DISASSOCIATE = 0x47 - NL80211_CMD_UNSPEC = 0x0 - NL80211_CMD_UPDATE_CONNECT_PARAMS = 0x7a - NL80211_CMD_UPDATE_FT_IES = 0x60 - NL80211_CMD_UPDATE_OWE_INFO = 0x87 - NL80211_CMD_VENDOR = 0x67 - NL80211_CMD_WIPHY_REG_CHANGE = 0x71 - NL80211_COALESCE_CONDITION_MATCH = 0x0 - NL80211_COALESCE_CONDITION_NO_MATCH = 0x1 - NL80211_CONN_FAIL_BLOCKED_CLIENT = 0x1 - NL80211_CONN_FAIL_MAX_CLIENTS = 0x0 - NL80211_CQM_RSSI_BEACON_LOSS_EVENT = 0x2 - NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH = 0x1 - NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW = 0x0 - NL80211_CQM_TXE_MAX_INTVL = 0x708 - NL80211_CRIT_PROTO_APIPA = 0x3 - NL80211_CRIT_PROTO_DHCP = 0x1 - NL80211_CRIT_PROTO_EAPOL = 0x2 - NL80211_CRIT_PROTO_MAX_DURATION = 0x1388 - NL80211_CRIT_PROTO_UNSPEC = 0x0 - NL80211_DFS_AVAILABLE = 0x2 - NL80211_DFS_ETSI = 0x2 - NL80211_DFS_FCC = 0x1 - NL80211_DFS_JP = 0x3 - NL80211_DFS_UNAVAILABLE = 0x1 - NL80211_DFS_UNSET = 0x0 - NL80211_DFS_USABLE = 0x0 - NL80211_EDMG_BW_CONFIG_MAX = 0xf - NL80211_EDMG_BW_CONFIG_MIN = 0x4 - NL80211_EDMG_CHANNELS_MAX = 0x3c - NL80211_EDMG_CHANNELS_MIN = 0x1 - NL80211_EXTERNAL_AUTH_ABORT = 0x1 - NL80211_EXTERNAL_AUTH_START = 0x0 - NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK = 0x32 - NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X = 0x10 - NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK = 0xf - NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP = 0x12 - NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT = 0x1b - NL80211_EXT_FEATURE_AIRTIME_FAIRNESS = 0x21 - NL80211_EXT_FEATURE_AP_PMKSA_CACHING = 0x22 - NL80211_EXT_FEATURE_AQL = 0x28 - NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT = 0x2e - NL80211_EXT_FEATURE_BEACON_PROTECTION = 0x29 - NL80211_EXT_FEATURE_BEACON_RATE_HE = 0x36 - NL80211_EXT_FEATURE_BEACON_RATE_HT = 0x7 - NL80211_EXT_FEATURE_BEACON_RATE_LEGACY = 0x6 - NL80211_EXT_FEATURE_BEACON_RATE_VHT = 0x8 - NL80211_EXT_FEATURE_BSS_PARENT_TSF = 0x4 - NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 = 0x1f - NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH = 0x2a - NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211 = 0x1a - NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS = 0x30 - NL80211_EXT_FEATURE_CQM_RSSI_LIST = 0xd - NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = 0x1b - NL80211_EXT_FEATURE_DEL_IBSS_STA = 0x2c - NL80211_EXT_FEATURE_DFS_OFFLOAD = 0x19 - NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER = 0x20 - NL80211_EXT_FEATURE_EXT_KEY_ID = 0x24 - NL80211_EXT_FEATURE_FILS_DISCOVERY = 0x34 - NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME = 0x11 - NL80211_EXT_FEATURE_FILS_SK_OFFLOAD = 0xe - NL80211_EXT_FEATURE_FILS_STA = 0x9 - NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN = 0x18 - NL80211_EXT_FEATURE_LOW_POWER_SCAN = 0x17 - NL80211_EXT_FEATURE_LOW_SPAN_SCAN = 0x16 - NL80211_EXT_FEATURE_MFP_OPTIONAL = 0x15 - NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA = 0xa - NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED = 0xb - NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS = 0x2d - NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER = 0x2 - NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x14 - NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE = 0x13 - NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION = 0x31 - NL80211_EXT_FEATURE_PROTECTED_TWT = 0x2b - NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE = 0x39 - NL80211_EXT_FEATURE_RRM = 0x1 - NL80211_EXT_FEATURE_SAE_OFFLOAD_AP = 0x33 - NL80211_EXT_FEATURE_SAE_OFFLOAD = 0x26 - NL80211_EXT_FEATURE_SCAN_FREQ_KHZ = 0x2f - NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT = 0x1e - NL80211_EXT_FEATURE_SCAN_RANDOM_SN = 0x1d - NL80211_EXT_FEATURE_SCAN_START_TIME = 0x3 - NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD = 0x23 - NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI = 0xc - NL80211_EXT_FEATURE_SECURE_LTF = 0x37 - NL80211_EXT_FEATURE_SECURE_RTT = 0x38 - NL80211_EXT_FEATURE_SET_SCAN_DWELL = 0x5 - NL80211_EXT_FEATURE_STA_TX_PWR = 0x25 - NL80211_EXT_FEATURE_TXQS = 0x1c - NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP = 0x35 - NL80211_EXT_FEATURE_VHT_IBSS = 0x0 - NL80211_EXT_FEATURE_VLAN_OFFLOAD = 0x27 - NL80211_FEATURE_ACKTO_ESTIMATION = 0x800000 - NL80211_FEATURE_ACTIVE_MONITOR = 0x20000 - NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 0x4000 - NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 0x40000 - NL80211_FEATURE_AP_SCAN = 0x100 - NL80211_FEATURE_CELL_BASE_REG_HINTS = 0x8 - NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = 0x80000 - NL80211_FEATURE_DYNAMIC_SMPS = 0x2000000 - NL80211_FEATURE_FULL_AP_CLIENT_STATE = 0x8000 - NL80211_FEATURE_HT_IBSS = 0x2 - NL80211_FEATURE_INACTIVITY_TIMER = 0x4 - NL80211_FEATURE_LOW_PRIORITY_SCAN = 0x40 - NL80211_FEATURE_MAC_ON_CREATE = 0x8000000 - NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 0x80000000 - NL80211_FEATURE_NEED_OBSS_SCAN = 0x400 - NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 0x10 - NL80211_FEATURE_P2P_GO_CTWIN = 0x800 - NL80211_FEATURE_P2P_GO_OPPPS = 0x1000 - NL80211_FEATURE_QUIET = 0x200000 - NL80211_FEATURE_SAE = 0x20 - NL80211_FEATURE_SCAN_FLUSH = 0x80 - NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 0x20000000 - NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 0x40000000 - NL80211_FEATURE_SK_TX_STATUS = 0x1 - NL80211_FEATURE_STATIC_SMPS = 0x1000000 - NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 0x4000000 - NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 0x10000000 - NL80211_FEATURE_TX_POWER_INSERTION = 0x400000 - NL80211_FEATURE_USERSPACE_MPM = 0x10000 - NL80211_FEATURE_VIF_TXPOWER = 0x200 - NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = 0x100000 - NL80211_FILS_DISCOVERY_ATTR_INT_MAX = 0x2 - NL80211_FILS_DISCOVERY_ATTR_INT_MIN = 0x1 - NL80211_FILS_DISCOVERY_ATTR_MAX = 0x3 - NL80211_FILS_DISCOVERY_ATTR_TMPL = 0x3 - NL80211_FILS_DISCOVERY_TMPL_MIN_LEN = 0x2a - NL80211_FREQUENCY_ATTR_16MHZ = 0x19 - NL80211_FREQUENCY_ATTR_1MHZ = 0x15 - NL80211_FREQUENCY_ATTR_2MHZ = 0x16 - NL80211_FREQUENCY_ATTR_4MHZ = 0x17 - NL80211_FREQUENCY_ATTR_8MHZ = 0x18 - NL80211_FREQUENCY_ATTR_DFS_CAC_TIME = 0xd - NL80211_FREQUENCY_ATTR_DFS_STATE = 0x7 - NL80211_FREQUENCY_ATTR_DFS_TIME = 0x8 - NL80211_FREQUENCY_ATTR_DISABLED = 0x2 - NL80211_FREQUENCY_ATTR_FREQ = 0x1 - NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf - NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe - NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf - NL80211_FREQUENCY_ATTR_MAX = 0x19 - NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6 - NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11 - NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc - NL80211_FREQUENCY_ATTR_NO_20MHZ = 0x10 - NL80211_FREQUENCY_ATTR_NO_80MHZ = 0xb - NL80211_FREQUENCY_ATTR_NO_HE = 0x13 - NL80211_FREQUENCY_ATTR_NO_HT40_MINUS = 0x9 - NL80211_FREQUENCY_ATTR_NO_HT40_PLUS = 0xa - NL80211_FREQUENCY_ATTR_NO_IBSS = 0x3 - NL80211_FREQUENCY_ATTR_NO_IR = 0x3 - NL80211_FREQUENCY_ATTR_OFFSET = 0x14 - NL80211_FREQUENCY_ATTR_PASSIVE_SCAN = 0x3 - NL80211_FREQUENCY_ATTR_RADAR = 0x5 - NL80211_FREQUENCY_ATTR_WMM = 0x12 - NL80211_FTM_RESP_ATTR_CIVICLOC = 0x3 - NL80211_FTM_RESP_ATTR_ENABLED = 0x1 - NL80211_FTM_RESP_ATTR_LCI = 0x2 - NL80211_FTM_RESP_ATTR_MAX = 0x3 - NL80211_FTM_STATS_ASAP_NUM = 0x4 - NL80211_FTM_STATS_FAILED_NUM = 0x3 - NL80211_FTM_STATS_MAX = 0xa - NL80211_FTM_STATS_NON_ASAP_NUM = 0x5 - NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM = 0x9 - NL80211_FTM_STATS_PAD = 0xa - NL80211_FTM_STATS_PARTIAL_NUM = 0x2 - NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM = 0x8 - NL80211_FTM_STATS_SUCCESS_NUM = 0x1 - NL80211_FTM_STATS_TOTAL_DURATION_MSEC = 0x6 - NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM = 0x7 - NL80211_GENL_NAME = "nl80211" - NL80211_HE_BSS_COLOR_ATTR_COLOR = 0x1 - NL80211_HE_BSS_COLOR_ATTR_DISABLED = 0x2 - NL80211_HE_BSS_COLOR_ATTR_MAX = 0x3 - NL80211_HE_BSS_COLOR_ATTR_PARTIAL = 0x3 - NL80211_HE_MAX_CAPABILITY_LEN = 0x36 - NL80211_HE_MIN_CAPABILITY_LEN = 0x10 - NL80211_HE_NSS_MAX = 0x8 - NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP = 0x4 - NL80211_HE_OBSS_PD_ATTR_MAX = 0x6 - NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET = 0x2 - NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET = 0x1 - NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET = 0x3 - NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP = 0x5 - NL80211_HE_OBSS_PD_ATTR_SR_CTRL = 0x6 - NL80211_HIDDEN_SSID_NOT_IN_USE = 0x0 - NL80211_HIDDEN_SSID_ZERO_CONTENTS = 0x2 - NL80211_HIDDEN_SSID_ZERO_LEN = 0x1 - NL80211_HT_CAPABILITY_LEN = 0x1a - NL80211_IFACE_COMB_BI_MIN_GCD = 0x7 - NL80211_IFACE_COMB_LIMITS = 0x1 - NL80211_IFACE_COMB_MAXNUM = 0x2 - NL80211_IFACE_COMB_NUM_CHANNELS = 0x4 - NL80211_IFACE_COMB_RADAR_DETECT_REGIONS = 0x6 - NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS = 0x5 - NL80211_IFACE_COMB_STA_AP_BI_MATCH = 0x3 - NL80211_IFACE_COMB_UNSPEC = 0x0 - NL80211_IFACE_LIMIT_MAX = 0x1 - NL80211_IFACE_LIMIT_TYPES = 0x2 - NL80211_IFACE_LIMIT_UNSPEC = 0x0 - NL80211_IFTYPE_ADHOC = 0x1 - NL80211_IFTYPE_AKM_ATTR_IFTYPES = 0x1 - NL80211_IFTYPE_AKM_ATTR_MAX = 0x2 - NL80211_IFTYPE_AKM_ATTR_SUITES = 0x2 - NL80211_IFTYPE_AP = 0x3 - NL80211_IFTYPE_AP_VLAN = 0x4 - NL80211_IFTYPE_MAX = 0xc - NL80211_IFTYPE_MESH_POINT = 0x7 - NL80211_IFTYPE_MONITOR = 0x6 - NL80211_IFTYPE_NAN = 0xc - NL80211_IFTYPE_OCB = 0xb - NL80211_IFTYPE_P2P_CLIENT = 0x8 - NL80211_IFTYPE_P2P_DEVICE = 0xa - NL80211_IFTYPE_P2P_GO = 0x9 - NL80211_IFTYPE_STATION = 0x2 - NL80211_IFTYPE_UNSPECIFIED = 0x0 - NL80211_IFTYPE_WDS = 0x5 - NL80211_KCK_EXT_LEN = 0x18 - NL80211_KCK_LEN = 0x10 - NL80211_KEK_EXT_LEN = 0x20 - NL80211_KEK_LEN = 0x10 - NL80211_KEY_CIPHER = 0x3 - NL80211_KEY_DATA = 0x1 - NL80211_KEY_DEFAULT_BEACON = 0xa - NL80211_KEY_DEFAULT = 0x5 - NL80211_KEY_DEFAULT_MGMT = 0x6 - NL80211_KEY_DEFAULT_TYPE_MULTICAST = 0x2 - NL80211_KEY_DEFAULT_TYPES = 0x8 - NL80211_KEY_DEFAULT_TYPE_UNICAST = 0x1 - NL80211_KEY_IDX = 0x2 - NL80211_KEY_MAX = 0xa - NL80211_KEY_MODE = 0x9 - NL80211_KEY_NO_TX = 0x1 - NL80211_KEY_RX_TX = 0x0 - NL80211_KEY_SEQ = 0x4 - NL80211_KEY_SET_TX = 0x2 - NL80211_KEY_TYPE = 0x7 - NL80211_KEYTYPE_GROUP = 0x0 - NL80211_KEYTYPE_PAIRWISE = 0x1 - NL80211_KEYTYPE_PEERKEY = 0x2 - NL80211_MAX_NR_AKM_SUITES = 0x2 - NL80211_MAX_NR_CIPHER_SUITES = 0x5 - NL80211_MAX_SUPP_HT_RATES = 0x4d - NL80211_MAX_SUPP_RATES = 0x20 - NL80211_MAX_SUPP_REG_RULES = 0x80 - NL80211_MESHCONF_ATTR_MAX = 0x1f - NL80211_MESHCONF_AUTO_OPEN_PLINKS = 0x7 - NL80211_MESHCONF_AWAKE_WINDOW = 0x1b - NL80211_MESHCONF_CONFIRM_TIMEOUT = 0x2 - NL80211_MESHCONF_CONNECTED_TO_AS = 0x1f - NL80211_MESHCONF_CONNECTED_TO_GATE = 0x1d - NL80211_MESHCONF_ELEMENT_TTL = 0xf - NL80211_MESHCONF_FORWARDING = 0x13 - NL80211_MESHCONF_GATE_ANNOUNCEMENTS = 0x11 - NL80211_MESHCONF_HOLDING_TIMEOUT = 0x3 - NL80211_MESHCONF_HT_OPMODE = 0x16 - NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT = 0xb - NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL = 0x19 - NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES = 0x8 - NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME = 0xd - NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT = 0x17 - NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL = 0x12 - NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL = 0xc - NL80211_MESHCONF_HWMP_RANN_INTERVAL = 0x10 - NL80211_MESHCONF_HWMP_ROOT_INTERVAL = 0x18 - NL80211_MESHCONF_HWMP_ROOTMODE = 0xe - NL80211_MESHCONF_MAX_PEER_LINKS = 0x4 - NL80211_MESHCONF_MAX_RETRIES = 0x5 - NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT = 0xa - NL80211_MESHCONF_NOLEARN = 0x1e - NL80211_MESHCONF_PATH_REFRESH_TIME = 0x9 - NL80211_MESHCONF_PLINK_TIMEOUT = 0x1c - NL80211_MESHCONF_POWER_MODE = 0x1a - NL80211_MESHCONF_RETRY_TIMEOUT = 0x1 - NL80211_MESHCONF_RSSI_THRESHOLD = 0x14 - NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR = 0x15 - NL80211_MESHCONF_TTL = 0x6 - NL80211_MESH_POWER_ACTIVE = 0x1 - NL80211_MESH_POWER_DEEP_SLEEP = 0x3 - NL80211_MESH_POWER_LIGHT_SLEEP = 0x2 - NL80211_MESH_POWER_MAX = 0x3 - NL80211_MESH_POWER_UNKNOWN = 0x0 - NL80211_MESH_SETUP_ATTR_MAX = 0x8 - NL80211_MESH_SETUP_AUTH_PROTOCOL = 0x8 - NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC = 0x2 - NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL = 0x1 - NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC = 0x6 - NL80211_MESH_SETUP_IE = 0x3 - NL80211_MESH_SETUP_USERSPACE_AMPE = 0x5 - NL80211_MESH_SETUP_USERSPACE_AUTH = 0x4 - NL80211_MESH_SETUP_USERSPACE_MPM = 0x7 - NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE = 0x3 - NL80211_MFP_NO = 0x0 - NL80211_MFP_OPTIONAL = 0x2 - NL80211_MFP_REQUIRED = 0x1 - NL80211_MIN_REMAIN_ON_CHANNEL_TIME = 0xa - NL80211_MNTR_FLAG_ACTIVE = 0x6 - NL80211_MNTR_FLAG_CONTROL = 0x3 - NL80211_MNTR_FLAG_COOK_FRAMES = 0x5 - NL80211_MNTR_FLAG_FCSFAIL = 0x1 - NL80211_MNTR_FLAG_MAX = 0x6 - NL80211_MNTR_FLAG_OTHER_BSS = 0x4 - NL80211_MNTR_FLAG_PLCPFAIL = 0x2 - NL80211_MPATH_FLAG_ACTIVE = 0x1 - NL80211_MPATH_FLAG_FIXED = 0x8 - NL80211_MPATH_FLAG_RESOLVED = 0x10 - NL80211_MPATH_FLAG_RESOLVING = 0x2 - NL80211_MPATH_FLAG_SN_VALID = 0x4 - NL80211_MPATH_INFO_DISCOVERY_RETRIES = 0x7 - NL80211_MPATH_INFO_DISCOVERY_TIMEOUT = 0x6 - NL80211_MPATH_INFO_EXPTIME = 0x4 - NL80211_MPATH_INFO_FLAGS = 0x5 - NL80211_MPATH_INFO_FRAME_QLEN = 0x1 - NL80211_MPATH_INFO_HOP_COUNT = 0x8 - NL80211_MPATH_INFO_MAX = 0x9 - NL80211_MPATH_INFO_METRIC = 0x3 - NL80211_MPATH_INFO_PATH_CHANGE = 0x9 - NL80211_MPATH_INFO_SN = 0x2 - NL80211_MULTICAST_GROUP_CONFIG = "config" - NL80211_MULTICAST_GROUP_MLME = "mlme" - NL80211_MULTICAST_GROUP_NAN = "nan" - NL80211_MULTICAST_GROUP_REG = "regulatory" - NL80211_MULTICAST_GROUP_SCAN = "scan" - NL80211_MULTICAST_GROUP_TESTMODE = "testmode" - NL80211_MULTICAST_GROUP_VENDOR = "vendor" - NL80211_NAN_FUNC_ATTR_MAX = 0x10 - NL80211_NAN_FUNC_CLOSE_RANGE = 0x9 - NL80211_NAN_FUNC_FOLLOW_UP = 0x2 - NL80211_NAN_FUNC_FOLLOW_UP_DEST = 0x8 - NL80211_NAN_FUNC_FOLLOW_UP_ID = 0x6 - NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID = 0x7 - NL80211_NAN_FUNC_INSTANCE_ID = 0xf - NL80211_NAN_FUNC_MAX_TYPE = 0x2 - NL80211_NAN_FUNC_PUBLISH_BCAST = 0x4 - NL80211_NAN_FUNC_PUBLISH = 0x0 - NL80211_NAN_FUNC_PUBLISH_TYPE = 0x3 - NL80211_NAN_FUNC_RX_MATCH_FILTER = 0xd - NL80211_NAN_FUNC_SERVICE_ID = 0x2 - NL80211_NAN_FUNC_SERVICE_ID_LEN = 0x6 - NL80211_NAN_FUNC_SERVICE_INFO = 0xb - NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN = 0xff - NL80211_NAN_FUNC_SRF = 0xc - NL80211_NAN_FUNC_SRF_MAX_LEN = 0xff - NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE = 0x5 - NL80211_NAN_FUNC_SUBSCRIBE = 0x1 - NL80211_NAN_FUNC_TERM_REASON = 0x10 - NL80211_NAN_FUNC_TERM_REASON_ERROR = 0x2 - NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED = 0x1 - NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST = 0x0 - NL80211_NAN_FUNC_TTL = 0xa - NL80211_NAN_FUNC_TX_MATCH_FILTER = 0xe - NL80211_NAN_FUNC_TYPE = 0x1 - NL80211_NAN_MATCH_ATTR_MAX = 0x2 - NL80211_NAN_MATCH_FUNC_LOCAL = 0x1 - NL80211_NAN_MATCH_FUNC_PEER = 0x2 - NL80211_NAN_SOLICITED_PUBLISH = 0x1 - NL80211_NAN_SRF_ATTR_MAX = 0x4 - NL80211_NAN_SRF_BF = 0x2 - NL80211_NAN_SRF_BF_IDX = 0x3 - NL80211_NAN_SRF_INCLUDE = 0x1 - NL80211_NAN_SRF_MAC_ADDRS = 0x4 - NL80211_NAN_UNSOLICITED_PUBLISH = 0x2 - NL80211_NUM_ACS = 0x4 - NL80211_P2P_PS_SUPPORTED = 0x1 - NL80211_P2P_PS_UNSUPPORTED = 0x0 - NL80211_PKTPAT_MASK = 0x1 - NL80211_PKTPAT_OFFSET = 0x3 - NL80211_PKTPAT_PATTERN = 0x2 - NL80211_PLINK_ACTION_BLOCK = 0x2 - NL80211_PLINK_ACTION_NO_ACTION = 0x0 - NL80211_PLINK_ACTION_OPEN = 0x1 - NL80211_PLINK_BLOCKED = 0x6 - NL80211_PLINK_CNF_RCVD = 0x3 - NL80211_PLINK_ESTAB = 0x4 - NL80211_PLINK_HOLDING = 0x5 - NL80211_PLINK_LISTEN = 0x0 - NL80211_PLINK_OPN_RCVD = 0x2 - NL80211_PLINK_OPN_SNT = 0x1 - NL80211_PMKSA_CANDIDATE_BSSID = 0x2 - NL80211_PMKSA_CANDIDATE_INDEX = 0x1 - NL80211_PMKSA_CANDIDATE_PREAUTH = 0x3 - NL80211_PMSR_ATTR_MAX = 0x5 - NL80211_PMSR_ATTR_MAX_PEERS = 0x1 - NL80211_PMSR_ATTR_PEERS = 0x5 - NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR = 0x3 - NL80211_PMSR_ATTR_REPORT_AP_TSF = 0x2 - NL80211_PMSR_ATTR_TYPE_CAPA = 0x4 - NL80211_PMSR_FTM_CAPA_ATTR_ASAP = 0x1 - NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS = 0x6 - NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT = 0x7 - NL80211_PMSR_FTM_CAPA_ATTR_MAX = 0xa - NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST = 0x8 - NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP = 0x2 - NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED = 0xa - NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES = 0x5 - NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC = 0x4 - NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI = 0x3 - NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED = 0x9 - NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS = 0x7 - NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP = 0x5 - NL80211_PMSR_FTM_FAILURE_NO_RESPONSE = 0x1 - NL80211_PMSR_FTM_FAILURE_PEER_BUSY = 0x6 - NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE = 0x4 - NL80211_PMSR_FTM_FAILURE_REJECTED = 0x2 - NL80211_PMSR_FTM_FAILURE_UNSPECIFIED = 0x0 - NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL = 0x3 - NL80211_PMSR_FTM_REQ_ATTR_ASAP = 0x1 - NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION = 0x5 - NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD = 0x4 - NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST = 0x6 - NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK = 0xc - NL80211_PMSR_FTM_REQ_ATTR_MAX = 0xd - NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED = 0xb - NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP = 0x3 - NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES = 0x7 - NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE = 0x2 - NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC = 0x9 - NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI = 0x8 - NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED = 0xa - NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION = 0x7 - NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX = 0x2 - NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME = 0x5 - NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC = 0x14 - NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG = 0x10 - NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD = 0x12 - NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE = 0x11 - NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON = 0x1 - NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST = 0x8 - NL80211_PMSR_FTM_RESP_ATTR_LCI = 0x13 - NL80211_PMSR_FTM_RESP_ATTR_MAX = 0x15 - NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP = 0x6 - NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS = 0x3 - NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES = 0x4 - NL80211_PMSR_FTM_RESP_ATTR_PAD = 0x15 - NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG = 0x9 - NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD = 0xa - NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG = 0xd - NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD = 0xf - NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE = 0xe - NL80211_PMSR_FTM_RESP_ATTR_RX_RATE = 0xc - NL80211_PMSR_FTM_RESP_ATTR_TX_RATE = 0xb - NL80211_PMSR_PEER_ATTR_ADDR = 0x1 - NL80211_PMSR_PEER_ATTR_CHAN = 0x2 - NL80211_PMSR_PEER_ATTR_MAX = 0x4 - NL80211_PMSR_PEER_ATTR_REQ = 0x3 - NL80211_PMSR_PEER_ATTR_RESP = 0x4 - NL80211_PMSR_REQ_ATTR_DATA = 0x1 - NL80211_PMSR_REQ_ATTR_GET_AP_TSF = 0x2 - NL80211_PMSR_REQ_ATTR_MAX = 0x2 - NL80211_PMSR_RESP_ATTR_AP_TSF = 0x4 - NL80211_PMSR_RESP_ATTR_DATA = 0x1 - NL80211_PMSR_RESP_ATTR_FINAL = 0x5 - NL80211_PMSR_RESP_ATTR_HOST_TIME = 0x3 - NL80211_PMSR_RESP_ATTR_MAX = 0x6 - NL80211_PMSR_RESP_ATTR_PAD = 0x6 - NL80211_PMSR_RESP_ATTR_STATUS = 0x2 - NL80211_PMSR_STATUS_FAILURE = 0x3 - NL80211_PMSR_STATUS_REFUSED = 0x1 - NL80211_PMSR_STATUS_SUCCESS = 0x0 - NL80211_PMSR_STATUS_TIMEOUT = 0x2 - NL80211_PMSR_TYPE_FTM = 0x1 - NL80211_PMSR_TYPE_INVALID = 0x0 - NL80211_PMSR_TYPE_MAX = 0x1 - NL80211_PREAMBLE_DMG = 0x3 - NL80211_PREAMBLE_HE = 0x4 - NL80211_PREAMBLE_HT = 0x1 - NL80211_PREAMBLE_LEGACY = 0x0 - NL80211_PREAMBLE_VHT = 0x2 - NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 0x8 - NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 0x4 - NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 0x2 - NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 0x1 - NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 0x1 - NL80211_PS_DISABLED = 0x0 - NL80211_PS_ENABLED = 0x1 - NL80211_RADAR_CAC_ABORTED = 0x2 - NL80211_RADAR_CAC_FINISHED = 0x1 - NL80211_RADAR_CAC_STARTED = 0x5 - NL80211_RADAR_DETECTED = 0x0 - NL80211_RADAR_NOP_FINISHED = 0x3 - NL80211_RADAR_PRE_CAC_EXPIRED = 0x4 - NL80211_RATE_INFO_10_MHZ_WIDTH = 0xb - NL80211_RATE_INFO_160_MHZ_WIDTH = 0xa - NL80211_RATE_INFO_40_MHZ_WIDTH = 0x3 - NL80211_RATE_INFO_5_MHZ_WIDTH = 0xc - NL80211_RATE_INFO_80_MHZ_WIDTH = 0x8 - NL80211_RATE_INFO_80P80_MHZ_WIDTH = 0x9 - NL80211_RATE_INFO_BITRATE32 = 0x5 - NL80211_RATE_INFO_BITRATE = 0x1 - NL80211_RATE_INFO_HE_1XLTF = 0x0 - NL80211_RATE_INFO_HE_2XLTF = 0x1 - NL80211_RATE_INFO_HE_4XLTF = 0x2 - NL80211_RATE_INFO_HE_DCM = 0x10 - NL80211_RATE_INFO_HE_GI_0_8 = 0x0 - NL80211_RATE_INFO_HE_GI_1_6 = 0x1 - NL80211_RATE_INFO_HE_GI_3_2 = 0x2 - NL80211_RATE_INFO_HE_GI = 0xf - NL80211_RATE_INFO_HE_MCS = 0xd - NL80211_RATE_INFO_HE_NSS = 0xe - NL80211_RATE_INFO_HE_RU_ALLOC_106 = 0x2 - NL80211_RATE_INFO_HE_RU_ALLOC_242 = 0x3 - NL80211_RATE_INFO_HE_RU_ALLOC_26 = 0x0 - NL80211_RATE_INFO_HE_RU_ALLOC_2x996 = 0x6 - NL80211_RATE_INFO_HE_RU_ALLOC_484 = 0x4 - NL80211_RATE_INFO_HE_RU_ALLOC_52 = 0x1 - NL80211_RATE_INFO_HE_RU_ALLOC_996 = 0x5 - NL80211_RATE_INFO_HE_RU_ALLOC = 0x11 - NL80211_RATE_INFO_MAX = 0x11 - NL80211_RATE_INFO_MCS = 0x2 - NL80211_RATE_INFO_SHORT_GI = 0x4 - NL80211_RATE_INFO_VHT_MCS = 0x6 - NL80211_RATE_INFO_VHT_NSS = 0x7 - NL80211_REGDOM_SET_BY_CORE = 0x0 - NL80211_REGDOM_SET_BY_COUNTRY_IE = 0x3 - NL80211_REGDOM_SET_BY_DRIVER = 0x2 - NL80211_REGDOM_SET_BY_USER = 0x1 - NL80211_REGDOM_TYPE_COUNTRY = 0x0 - NL80211_REGDOM_TYPE_CUSTOM_WORLD = 0x2 - NL80211_REGDOM_TYPE_INTERSECTION = 0x3 - NL80211_REGDOM_TYPE_WORLD = 0x1 - NL80211_REG_RULE_ATTR_MAX = 0x7 - NL80211_REKEY_DATA_AKM = 0x4 - NL80211_REKEY_DATA_KCK = 0x2 - NL80211_REKEY_DATA_KEK = 0x1 - NL80211_REKEY_DATA_REPLAY_CTR = 0x3 - NL80211_REPLAY_CTR_LEN = 0x8 - NL80211_RRF_AUTO_BW = 0x800 - NL80211_RRF_DFS = 0x10 - NL80211_RRF_GO_CONCURRENT = 0x1000 - NL80211_RRF_IR_CONCURRENT = 0x1000 - NL80211_RRF_NO_160MHZ = 0x10000 - NL80211_RRF_NO_80MHZ = 0x8000 - NL80211_RRF_NO_CCK = 0x2 - NL80211_RRF_NO_HE = 0x20000 - NL80211_RRF_NO_HT40 = 0x6000 - NL80211_RRF_NO_HT40MINUS = 0x2000 - NL80211_RRF_NO_HT40PLUS = 0x4000 - NL80211_RRF_NO_IBSS = 0x80 - NL80211_RRF_NO_INDOOR = 0x4 - NL80211_RRF_NO_IR_ALL = 0x180 - NL80211_RRF_NO_IR = 0x80 - NL80211_RRF_NO_OFDM = 0x1 - NL80211_RRF_NO_OUTDOOR = 0x8 - NL80211_RRF_PASSIVE_SCAN = 0x80 - NL80211_RRF_PTMP_ONLY = 0x40 - NL80211_RRF_PTP_ONLY = 0x20 - NL80211_RXMGMT_FLAG_ANSWERED = 0x1 - NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 0x2 - NL80211_SAE_PWE_BOTH = 0x3 - NL80211_SAE_PWE_HASH_TO_ELEMENT = 0x2 - NL80211_SAE_PWE_HUNT_AND_PECK = 0x1 - NL80211_SAE_PWE_UNSPECIFIED = 0x0 - NL80211_SAR_ATTR_MAX = 0x2 - NL80211_SAR_ATTR_SPECS = 0x2 - NL80211_SAR_ATTR_SPECS_END_FREQ = 0x4 - NL80211_SAR_ATTR_SPECS_MAX = 0x4 - NL80211_SAR_ATTR_SPECS_POWER = 0x1 - NL80211_SAR_ATTR_SPECS_RANGE_INDEX = 0x2 - NL80211_SAR_ATTR_SPECS_START_FREQ = 0x3 - NL80211_SAR_ATTR_TYPE = 0x1 - NL80211_SAR_TYPE_POWER = 0x0 - NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 0x20 - NL80211_SCAN_FLAG_AP = 0x4 - NL80211_SCAN_FLAG_COLOCATED_6GHZ = 0x4000 - NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = 0x10 - NL80211_SCAN_FLAG_FLUSH = 0x2 - NL80211_SCAN_FLAG_FREQ_KHZ = 0x2000 - NL80211_SCAN_FLAG_HIGH_ACCURACY = 0x400 - NL80211_SCAN_FLAG_LOW_POWER = 0x200 - NL80211_SCAN_FLAG_LOW_PRIORITY = 0x1 - NL80211_SCAN_FLAG_LOW_SPAN = 0x100 - NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 0x1000 - NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x80 - NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 0x40 - NL80211_SCAN_FLAG_RANDOM_ADDR = 0x8 - NL80211_SCAN_FLAG_RANDOM_SN = 0x800 - NL80211_SCAN_RSSI_THOLD_OFF = -0x12c - NL80211_SCHED_SCAN_MATCH_ATTR_BSSID = 0x5 - NL80211_SCHED_SCAN_MATCH_ATTR_MAX = 0x6 - NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI = 0x3 - NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST = 0x4 - NL80211_SCHED_SCAN_MATCH_ATTR_RSSI = 0x2 - NL80211_SCHED_SCAN_MATCH_ATTR_SSID = 0x1 - NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI = 0x6 - NL80211_SCHED_SCAN_PLAN_INTERVAL = 0x1 - NL80211_SCHED_SCAN_PLAN_ITERATIONS = 0x2 - NL80211_SCHED_SCAN_PLAN_MAX = 0x2 - NL80211_SMPS_DYNAMIC = 0x2 - NL80211_SMPS_MAX = 0x2 - NL80211_SMPS_OFF = 0x0 - NL80211_SMPS_STATIC = 0x1 - NL80211_STA_BSS_PARAM_BEACON_INTERVAL = 0x5 - NL80211_STA_BSS_PARAM_CTS_PROT = 0x1 - NL80211_STA_BSS_PARAM_DTIM_PERIOD = 0x4 - NL80211_STA_BSS_PARAM_MAX = 0x5 - NL80211_STA_BSS_PARAM_SHORT_PREAMBLE = 0x2 - NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME = 0x3 - NL80211_STA_FLAG_ASSOCIATED = 0x7 - NL80211_STA_FLAG_AUTHENTICATED = 0x5 - NL80211_STA_FLAG_AUTHORIZED = 0x1 - NL80211_STA_FLAG_MAX = 0x7 - NL80211_STA_FLAG_MAX_OLD_API = 0x6 - NL80211_STA_FLAG_MFP = 0x4 - NL80211_STA_FLAG_SHORT_PREAMBLE = 0x2 - NL80211_STA_FLAG_TDLS_PEER = 0x6 - NL80211_STA_FLAG_WME = 0x3 - NL80211_STA_INFO_ACK_SIGNAL_AVG = 0x23 - NL80211_STA_INFO_ACK_SIGNAL = 0x22 - NL80211_STA_INFO_AIRTIME_LINK_METRIC = 0x29 - NL80211_STA_INFO_AIRTIME_WEIGHT = 0x28 - NL80211_STA_INFO_ASSOC_AT_BOOTTIME = 0x2a - NL80211_STA_INFO_BEACON_LOSS = 0x12 - NL80211_STA_INFO_BEACON_RX = 0x1d - NL80211_STA_INFO_BEACON_SIGNAL_AVG = 0x1e - NL80211_STA_INFO_BSS_PARAM = 0xf - NL80211_STA_INFO_CHAIN_SIGNAL_AVG = 0x1a - NL80211_STA_INFO_CHAIN_SIGNAL = 0x19 - NL80211_STA_INFO_CONNECTED_TIME = 0x10 - NL80211_STA_INFO_CONNECTED_TO_AS = 0x2b - NL80211_STA_INFO_CONNECTED_TO_GATE = 0x26 - NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG = 0x23 - NL80211_STA_INFO_EXPECTED_THROUGHPUT = 0x1b - NL80211_STA_INFO_FCS_ERROR_COUNT = 0x25 - NL80211_STA_INFO_INACTIVE_TIME = 0x1 - NL80211_STA_INFO_LLID = 0x4 - NL80211_STA_INFO_LOCAL_PM = 0x14 - NL80211_STA_INFO_MAX = 0x2b - NL80211_STA_INFO_NONPEER_PM = 0x16 - NL80211_STA_INFO_PAD = 0x21 - NL80211_STA_INFO_PEER_PM = 0x15 - NL80211_STA_INFO_PLID = 0x5 - NL80211_STA_INFO_PLINK_STATE = 0x6 - NL80211_STA_INFO_RX_BITRATE = 0xe - NL80211_STA_INFO_RX_BYTES64 = 0x17 - NL80211_STA_INFO_RX_BYTES = 0x2 - NL80211_STA_INFO_RX_DROP_MISC = 0x1c - NL80211_STA_INFO_RX_DURATION = 0x20 - NL80211_STA_INFO_RX_MPDUS = 0x24 - NL80211_STA_INFO_RX_PACKETS = 0x9 - NL80211_STA_INFO_SIGNAL_AVG = 0xd - NL80211_STA_INFO_SIGNAL = 0x7 - NL80211_STA_INFO_STA_FLAGS = 0x11 - NL80211_STA_INFO_TID_STATS = 0x1f - NL80211_STA_INFO_T_OFFSET = 0x13 - NL80211_STA_INFO_TX_BITRATE = 0x8 - NL80211_STA_INFO_TX_BYTES64 = 0x18 - NL80211_STA_INFO_TX_BYTES = 0x3 - NL80211_STA_INFO_TX_DURATION = 0x27 - NL80211_STA_INFO_TX_FAILED = 0xc - NL80211_STA_INFO_TX_PACKETS = 0xa - NL80211_STA_INFO_TX_RETRIES = 0xb - NL80211_STA_WME_MAX = 0x2 - NL80211_STA_WME_MAX_SP = 0x2 - NL80211_STA_WME_UAPSD_QUEUES = 0x1 - NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY = 0x5 - NL80211_SURVEY_INFO_CHANNEL_TIME = 0x4 - NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY = 0x6 - NL80211_SURVEY_INFO_CHANNEL_TIME_RX = 0x7 - NL80211_SURVEY_INFO_CHANNEL_TIME_TX = 0x8 - NL80211_SURVEY_INFO_FREQUENCY = 0x1 - NL80211_SURVEY_INFO_FREQUENCY_OFFSET = 0xc - NL80211_SURVEY_INFO_IN_USE = 0x3 - NL80211_SURVEY_INFO_MAX = 0xc - NL80211_SURVEY_INFO_NOISE = 0x2 - NL80211_SURVEY_INFO_PAD = 0xa - NL80211_SURVEY_INFO_TIME_BSS_RX = 0xb - NL80211_SURVEY_INFO_TIME_BUSY = 0x5 - NL80211_SURVEY_INFO_TIME = 0x4 - NL80211_SURVEY_INFO_TIME_EXT_BUSY = 0x6 - NL80211_SURVEY_INFO_TIME_RX = 0x7 - NL80211_SURVEY_INFO_TIME_SCAN = 0x9 - NL80211_SURVEY_INFO_TIME_TX = 0x8 - NL80211_TDLS_DISABLE_LINK = 0x4 - NL80211_TDLS_DISCOVERY_REQ = 0x0 - NL80211_TDLS_ENABLE_LINK = 0x3 - NL80211_TDLS_PEER_HE = 0x8 - NL80211_TDLS_PEER_HT = 0x1 - NL80211_TDLS_PEER_VHT = 0x2 - NL80211_TDLS_PEER_WMM = 0x4 - NL80211_TDLS_SETUP = 0x1 - NL80211_TDLS_TEARDOWN = 0x2 - NL80211_TID_CONFIG_ATTR_AMPDU_CTRL = 0x9 - NL80211_TID_CONFIG_ATTR_AMSDU_CTRL = 0xb - NL80211_TID_CONFIG_ATTR_MAX = 0xd - NL80211_TID_CONFIG_ATTR_NOACK = 0x6 - NL80211_TID_CONFIG_ATTR_OVERRIDE = 0x4 - NL80211_TID_CONFIG_ATTR_PAD = 0x1 - NL80211_TID_CONFIG_ATTR_PEER_SUPP = 0x3 - NL80211_TID_CONFIG_ATTR_RETRY_LONG = 0x8 - NL80211_TID_CONFIG_ATTR_RETRY_SHORT = 0x7 - NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL = 0xa - NL80211_TID_CONFIG_ATTR_TIDS = 0x5 - NL80211_TID_CONFIG_ATTR_TX_RATE = 0xd - NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE = 0xc - NL80211_TID_CONFIG_ATTR_VIF_SUPP = 0x2 - NL80211_TID_CONFIG_DISABLE = 0x1 - NL80211_TID_CONFIG_ENABLE = 0x0 - NL80211_TID_STATS_MAX = 0x6 - NL80211_TID_STATS_PAD = 0x5 - NL80211_TID_STATS_RX_MSDU = 0x1 - NL80211_TID_STATS_TX_MSDU = 0x2 - NL80211_TID_STATS_TX_MSDU_FAILED = 0x4 - NL80211_TID_STATS_TX_MSDU_RETRIES = 0x3 - NL80211_TID_STATS_TXQ_STATS = 0x6 - NL80211_TIMEOUT_ASSOC = 0x3 - NL80211_TIMEOUT_AUTH = 0x2 - NL80211_TIMEOUT_SCAN = 0x1 - NL80211_TIMEOUT_UNSPECIFIED = 0x0 - NL80211_TKIP_DATA_OFFSET_ENCR_KEY = 0x0 - NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY = 0x18 - NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY = 0x10 - NL80211_TX_POWER_AUTOMATIC = 0x0 - NL80211_TX_POWER_FIXED = 0x2 - NL80211_TX_POWER_LIMITED = 0x1 - NL80211_TXQ_ATTR_AC = 0x1 - NL80211_TXQ_ATTR_AIFS = 0x5 - NL80211_TXQ_ATTR_CWMAX = 0x4 - NL80211_TXQ_ATTR_CWMIN = 0x3 - NL80211_TXQ_ATTR_MAX = 0x5 - NL80211_TXQ_ATTR_QUEUE = 0x1 - NL80211_TXQ_ATTR_TXOP = 0x2 - NL80211_TXQ_Q_BE = 0x2 - NL80211_TXQ_Q_BK = 0x3 - NL80211_TXQ_Q_VI = 0x1 - NL80211_TXQ_Q_VO = 0x0 - NL80211_TXQ_STATS_BACKLOG_BYTES = 0x1 - NL80211_TXQ_STATS_BACKLOG_PACKETS = 0x2 - NL80211_TXQ_STATS_COLLISIONS = 0x8 - NL80211_TXQ_STATS_DROPS = 0x4 - NL80211_TXQ_STATS_ECN_MARKS = 0x5 - NL80211_TXQ_STATS_FLOWS = 0x3 - NL80211_TXQ_STATS_MAX = 0xb - NL80211_TXQ_STATS_MAX_FLOWS = 0xb - NL80211_TXQ_STATS_OVERLIMIT = 0x6 - NL80211_TXQ_STATS_OVERMEMORY = 0x7 - NL80211_TXQ_STATS_TX_BYTES = 0x9 - NL80211_TXQ_STATS_TX_PACKETS = 0xa - NL80211_TX_RATE_AUTOMATIC = 0x0 - NL80211_TXRATE_DEFAULT_GI = 0x0 - NL80211_TX_RATE_FIXED = 0x2 - NL80211_TXRATE_FORCE_LGI = 0x2 - NL80211_TXRATE_FORCE_SGI = 0x1 - NL80211_TXRATE_GI = 0x4 - NL80211_TXRATE_HE = 0x5 - NL80211_TXRATE_HE_GI = 0x6 - NL80211_TXRATE_HE_LTF = 0x7 - NL80211_TXRATE_HT = 0x2 - NL80211_TXRATE_LEGACY = 0x1 - NL80211_TX_RATE_LIMITED = 0x1 - NL80211_TXRATE_MAX = 0x7 - NL80211_TXRATE_MCS = 0x2 - NL80211_TXRATE_VHT = 0x3 - NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT = 0x1 - NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX = 0x2 - NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL = 0x2 - NL80211_USER_REG_HINT_CELL_BASE = 0x1 - NL80211_USER_REG_HINT_INDOOR = 0x2 - NL80211_USER_REG_HINT_USER = 0x0 - NL80211_VENDOR_ID_IS_LINUX = 0x80000000 - NL80211_VHT_CAPABILITY_LEN = 0xc - NL80211_VHT_NSS_MAX = 0x8 - NL80211_WIPHY_NAME_MAXLEN = 0x40 - NL80211_WMMR_AIFSN = 0x3 - NL80211_WMMR_CW_MAX = 0x2 - NL80211_WMMR_CW_MIN = 0x1 - NL80211_WMMR_MAX = 0x4 - NL80211_WMMR_TXOP = 0x4 - NL80211_WOWLAN_PKTPAT_MASK = 0x1 - NL80211_WOWLAN_PKTPAT_OFFSET = 0x3 - NL80211_WOWLAN_PKTPAT_PATTERN = 0x2 - NL80211_WOWLAN_TCP_DATA_INTERVAL = 0x9 - NL80211_WOWLAN_TCP_DATA_PAYLOAD = 0x6 - NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ = 0x7 - NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN = 0x8 - NL80211_WOWLAN_TCP_DST_IPV4 = 0x2 - NL80211_WOWLAN_TCP_DST_MAC = 0x3 - NL80211_WOWLAN_TCP_DST_PORT = 0x5 - NL80211_WOWLAN_TCP_SRC_IPV4 = 0x1 - NL80211_WOWLAN_TCP_SRC_PORT = 0x4 - NL80211_WOWLAN_TCP_WAKE_MASK = 0xb - NL80211_WOWLAN_TCP_WAKE_PAYLOAD = 0xa - NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE = 0x8 - NL80211_WOWLAN_TRIG_ANY = 0x1 - NL80211_WOWLAN_TRIG_DISCONNECT = 0x2 - NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST = 0x7 - NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE = 0x6 - NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED = 0x5 - NL80211_WOWLAN_TRIG_MAGIC_PKT = 0x3 - NL80211_WOWLAN_TRIG_NET_DETECT = 0x12 - NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS = 0x13 - NL80211_WOWLAN_TRIG_PKT_PATTERN = 0x4 - NL80211_WOWLAN_TRIG_RFKILL_RELEASE = 0x9 - NL80211_WOWLAN_TRIG_TCP_CONNECTION = 0xe - NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 = 0xa - NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN = 0xb - NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 = 0xc - NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN = 0xd - NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST = 0x10 - NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH = 0xf - NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS = 0x11 - NL80211_WPA_VERSION_1 = 0x1 - NL80211_WPA_VERSION_2 = 0x2 - NL80211_WPA_VERSION_3 = 0x4 -) diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_386.go index bea25494..235c62e4 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && linux @@ -170,11 +170,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [16]byte -} - const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 @@ -635,36 +630,3 @@ const ( PPS_GETCAP = 0x800470a3 PPS_FETCH = 0xc00470a4 ) - -const ( - PIDFD_NONBLOCK = 0x800 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint16 - _ [2]uint8 - Seq uint16 - _ uint16 - _ uint32 - _ uint32 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint32 - Atime uint32 - Atime_high uint32 - Dtime uint32 - Dtime_high uint32 - Ctime uint32 - Ctime_high uint32 - Cpid int32 - Lpid int32 - Nattch uint32 - _ uint32 - _ uint32 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go index b8c8f289..99b1e5b6 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && linux @@ -173,11 +173,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [24]byte -} - const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 @@ -653,33 +648,3 @@ const ( PPS_GETCAP = 0x800870a3 PPS_FETCH = 0xc00870a4 ) - -const ( - PIDFD_NONBLOCK = 0x800 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - _ [0]uint8 - Seq uint16 - _ uint16 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint64 - Atime int64 - Dtime int64 - Ctime int64 - Cpid int32 - Lpid int32 - Nattch uint64 - _ uint64 - _ uint64 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go index 4db44301..cc8bba79 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && linux @@ -176,11 +176,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [16]byte -} - const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 @@ -630,36 +625,3 @@ const ( PPS_GETCAP = 0x800470a3 PPS_FETCH = 0xc00470a4 ) - -const ( - PIDFD_NONBLOCK = 0x800 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint16 - _ [2]uint8 - Seq uint16 - _ uint16 - _ uint32 - _ uint32 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint32 - Atime uint32 - Atime_high uint32 - Dtime uint32 - Dtime_high uint32 - Ctime uint32 - Ctime_high uint32 - Cpid int32 - Lpid int32 - Nattch uint32 - _ uint32 - _ uint32 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go index 3ebcad8a..fa8fe3a7 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && linux @@ -174,11 +174,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [24]byte -} - const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 @@ -632,33 +627,3 @@ const ( PPS_GETCAP = 0x800870a3 PPS_FETCH = 0xc00870a4 ) - -const ( - PIDFD_NONBLOCK = 0x800 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - _ [0]uint8 - Seq uint16 - _ uint16 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint64 - Atime int64 - Dtime int64 - Ctime int64 - Cpid int32 - Lpid int32 - Nattch uint64 - _ uint64 - _ uint64 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go index 3eb33e48..e7fb8d9b 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips && linux @@ -175,11 +175,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [16]byte -} - const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 @@ -636,35 +631,3 @@ const ( PPS_GETCAP = 0x400470a3 PPS_FETCH = 0xc00470a4 ) - -const ( - PIDFD_NONBLOCK = 0x80 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - _ [0]uint8 - Seq uint16 - _ uint16 - _ uint32 - _ uint32 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint32 - Atime uint32 - Dtime uint32 - Ctime uint32 - Cpid int32 - Lpid int32 - Nattch uint32 - Atime_high uint16 - Dtime_high uint16 - Ctime_high uint16 - _ uint16 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go index 79a94467..2fa61d59 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64 && linux @@ -174,11 +174,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [24]byte -} - const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 @@ -635,33 +630,3 @@ const ( PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) - -const ( - PIDFD_NONBLOCK = 0x80 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - _ [0]uint8 - Seq uint16 - _ uint16 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint64 - Atime int64 - Dtime int64 - Ctime int64 - Cpid int32 - Lpid int32 - Nattch uint64 - _ uint64 - _ uint64 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go index 8f4b107c..7f363993 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64le && linux @@ -174,11 +174,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [24]byte -} - const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 @@ -635,33 +630,3 @@ const ( PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) - -const ( - PIDFD_NONBLOCK = 0x80 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - _ [0]uint8 - Seq uint16 - _ uint16 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint64 - Atime int64 - Dtime int64 - Ctime int64 - Cpid int32 - Lpid int32 - Nattch uint64 - _ uint64 - _ uint64 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go index e4eb2179..f3c20cb8 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mipsle && linux @@ -175,11 +175,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [16]byte -} - const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 @@ -636,35 +631,3 @@ const ( PPS_GETCAP = 0x400470a3 PPS_FETCH = 0xc00470a4 ) - -const ( - PIDFD_NONBLOCK = 0x80 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - _ [0]uint8 - Seq uint16 - _ uint16 - _ uint32 - _ uint32 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint32 - Atime uint32 - Dtime uint32 - Ctime uint32 - Cpid int32 - Lpid int32 - Nattch uint32 - Atime_high uint16 - Dtime_high uint16 - Ctime_high uint16 - _ uint16 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go index d5b21f0f..885d2795 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc && linux @@ -176,11 +176,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [16]byte -} - const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 @@ -642,37 +637,3 @@ const ( PPS_GETCAP = 0x400470a3 PPS_FETCH = 0xc00470a4 ) - -const ( - PIDFD_NONBLOCK = 0x800 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - Seq uint32 - _ uint32 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Atime_high uint32 - Atime uint32 - Dtime_high uint32 - Dtime uint32 - Ctime_high uint32 - Ctime uint32 - _ uint32 - Segsz uint32 - Cpid int32 - Lpid int32 - Nattch uint32 - _ uint32 - _ uint32 - _ [4]byte -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go index 5188d142..a94eb8e1 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && linux @@ -175,11 +175,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [24]byte -} - const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 @@ -642,32 +637,3 @@ const ( PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) - -const ( - PIDFD_NONBLOCK = 0x800 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - Seq uint32 - _ uint32 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Atime int64 - Dtime int64 - Ctime int64 - Segsz uint64 - Cpid int32 - Lpid int32 - Nattch uint64 - _ uint64 - _ uint64 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go index de4dd4c7..659e32eb 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64le && linux @@ -175,11 +175,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [24]byte -} - const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 @@ -642,32 +637,3 @@ const ( PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) - -const ( - PIDFD_NONBLOCK = 0x800 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - Seq uint32 - _ uint32 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Atime int64 - Dtime int64 - Ctime int64 - Segsz uint64 - Cpid int32 - Lpid int32 - Nattch uint64 - _ uint64 - _ uint64 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go index dccbf9b0..ab8ec604 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && linux @@ -174,11 +174,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [24]byte -} - const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 @@ -660,33 +655,3 @@ const ( PPS_GETCAP = 0x800870a3 PPS_FETCH = 0xc00870a4 ) - -const ( - PIDFD_NONBLOCK = 0x800 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - _ [0]uint8 - Seq uint16 - _ uint16 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint64 - Atime int64 - Dtime int64 - Ctime int64 - Cpid int32 - Lpid int32 - Nattch uint64 - _ uint64 - _ uint64 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go index c426c357..3ec08237 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build s390x && linux @@ -173,11 +173,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [24]byte -} - const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 @@ -210,8 +205,8 @@ type PtraceFpregs struct { } type PtracePer struct { - Control_regs [3]uint64 - _ [8]byte + _ [0]uint64 + _ [32]byte Starting_addr uint64 Ending_addr uint64 Perc_atmid uint16 @@ -656,32 +651,3 @@ const ( PPS_GETCAP = 0x800870a3 PPS_FETCH = 0xc00870a4 ) - -const ( - PIDFD_NONBLOCK = 0x800 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - _ uint16 - Seq uint16 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Segsz uint64 - Atime int64 - Dtime int64 - Ctime int64 - Cpid int32 - Lpid int32 - Nattch uint64 - _ uint64 - _ uint64 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go index 765edc13..23d47447 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build sparc64 && linux @@ -177,11 +177,6 @@ type Cmsghdr struct { Type int32 } -type ifreq struct { - Ifrn [16]byte - Ifru [24]byte -} - const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 @@ -637,32 +632,3 @@ const ( PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) - -const ( - PIDFD_NONBLOCK = 0x4000 -) - -type SysvIpcPerm struct { - Key int32 - Uid uint32 - Gid uint32 - Cuid uint32 - Cgid uint32 - Mode uint32 - _ uint16 - Seq uint16 - _ uint64 - _ uint64 -} -type SysvShmDesc struct { - Perm SysvIpcPerm - Atime int64 - Dtime int64 - Ctime int64 - Segsz uint64 - Cpid int32 - Lpid int32 - Nattch uint64 - _ uint64 - _ uint64 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go index baf5fe65..2a8b1e6f 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go @@ -564,11 +564,12 @@ type Uvmexp struct { Kmapent int32 } -const SizeofClockinfo = 0x10 +const SizeofClockinfo = 0x14 type Clockinfo struct { - Hz int32 - Tick int32 - Stathz int32 - Profhz int32 + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go index e21ae8ec..b1759cf7 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go @@ -564,11 +564,12 @@ type Uvmexp struct { Kmapent int32 } -const SizeofClockinfo = 0x10 +const SizeofClockinfo = 0x14 type Clockinfo struct { - Hz int32 - Tick int32 - Stathz int32 - Profhz int32 + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go index f190651c..e807de20 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go @@ -565,11 +565,12 @@ type Uvmexp struct { Kmapent int32 } -const SizeofClockinfo = 0x10 +const SizeofClockinfo = 0x14 type Clockinfo struct { - Hz int32 - Tick int32 - Stathz int32 - Profhz int32 + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go index 84747c58..ff3aecae 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go @@ -558,11 +558,12 @@ type Uvmexp struct { Kmapent int32 } -const SizeofClockinfo = 0x10 +const SizeofClockinfo = 0x14 type Clockinfo struct { - Hz int32 - Tick int32 - Stathz int32 - Profhz int32 + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go index ac5c8b63..9ecda691 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go @@ -558,11 +558,12 @@ type Uvmexp struct { Kmapent int32 } -const SizeofClockinfo = 0x10 +const SizeofClockinfo = 0x14 type Clockinfo struct { - Hz int32 - Tick int32 - Stathz int32 - Profhz int32 + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 } diff --git a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go index ad4aad27..85effef9 100644 --- a/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +++ b/cmd/sync/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go @@ -440,43 +440,3 @@ const ( POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) - -type fileObj struct { - Atim Timespec - Mtim Timespec - Ctim Timespec - Pad [3]uint64 - Name *int8 -} - -type portEvent struct { - Events int32 - Source uint16 - Pad uint16 - Object uint64 - User *byte -} - -const ( - PORT_SOURCE_AIO = 0x1 - PORT_SOURCE_TIMER = 0x2 - PORT_SOURCE_USER = 0x3 - PORT_SOURCE_FD = 0x4 - PORT_SOURCE_ALERT = 0x5 - PORT_SOURCE_MQ = 0x6 - PORT_SOURCE_FILE = 0x7 - PORT_ALERT_SET = 0x1 - PORT_ALERT_UPDATE = 0x2 - PORT_ALERT_INVALID = 0x3 - FILE_ACCESS = 0x1 - FILE_MODIFIED = 0x2 - FILE_ATTRIB = 0x4 - FILE_TRUNC = 0x100000 - FILE_NOFOLLOW = 0x10000000 - FILE_DELETE = 0x10 - FILE_RENAME_TO = 0x20 - FILE_RENAME_FROM = 0x40 - UNMOUNTED = 0x20000000 - MOUNTEDOVER = 0x40000000 - FILE_EXCEPTION = 0x60000070 -) diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/aliases.go b/cmd/sync/vendor/golang.org/x/sys/windows/aliases.go index a20ebea6..af3af60d 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/aliases.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/aliases.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build windows && go1.9 -// +build windows,go1.9 +// +build windows +// +build go1.9 package windows diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/eventlog.go b/cmd/sync/vendor/golang.org/x/sys/windows/eventlog.go index 2cd60645..40af946e 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/eventlog.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/eventlog.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build windows // +build windows package windows diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/exec_windows.go b/cmd/sync/vendor/golang.org/x/sys/windows/exec_windows.go index 855698bb..7a11e83b 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/exec_windows.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/exec_windows.go @@ -9,6 +9,8 @@ package windows import ( errorspkg "errors" "unsafe" + + "golang.org/x/sys/internal/unsafeheader" ) // EscapeArg rewrites command line argument s as prescribed @@ -145,12 +147,8 @@ func NewProcThreadAttributeList(maxAttrCount uint32) (*ProcThreadAttributeListCo } return nil, err } - alloc, err := LocalAlloc(LMEM_FIXED, uint32(size)) - if err != nil { - return nil, err - } // size is guaranteed to be ≥1 by InitializeProcThreadAttributeList. - al := &ProcThreadAttributeListContainer{data: (*ProcThreadAttributeList)(unsafe.Pointer(alloc))} + al := &ProcThreadAttributeListContainer{data: (*ProcThreadAttributeList)(unsafe.Pointer(&make([]byte, size)[0]))} err = initializeProcThreadAttributeList(al.data, maxAttrCount, 0, &size) if err != nil { return nil, err @@ -159,17 +157,36 @@ func NewProcThreadAttributeList(maxAttrCount uint32) (*ProcThreadAttributeListCo } // Update modifies the ProcThreadAttributeList using UpdateProcThreadAttribute. +// Note that the value passed to this function will be copied into memory +// allocated by LocalAlloc, the contents of which should not contain any +// Go-managed pointers, even if the passed value itself is a Go-managed +// pointer. func (al *ProcThreadAttributeListContainer) Update(attribute uintptr, value unsafe.Pointer, size uintptr) error { - al.pointers = append(al.pointers, value) - return updateProcThreadAttribute(al.data, 0, attribute, value, size, nil, nil) + alloc, err := LocalAlloc(LMEM_FIXED, uint32(size)) + if err != nil { + return err + } + var src, dst []byte + hdr := (*unsafeheader.Slice)(unsafe.Pointer(&src)) + hdr.Data = value + hdr.Cap = int(size) + hdr.Len = int(size) + hdr = (*unsafeheader.Slice)(unsafe.Pointer(&dst)) + hdr.Data = unsafe.Pointer(alloc) + hdr.Cap = int(size) + hdr.Len = int(size) + copy(dst, src) + al.heapAllocations = append(al.heapAllocations, alloc) + return updateProcThreadAttribute(al.data, 0, attribute, unsafe.Pointer(alloc), size, nil, nil) } // Delete frees ProcThreadAttributeList's resources. func (al *ProcThreadAttributeListContainer) Delete() { deleteProcThreadAttributeList(al.data) - LocalFree(Handle(unsafe.Pointer(al.data))) - al.data = nil - al.pointers = nil + for i := range al.heapAllocations { + LocalFree(Handle(al.heapAllocations[i])) + } + al.heapAllocations = nil } // List returns the actual ProcThreadAttributeList to be passed to StartupInfoEx. diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/memory_windows.go b/cmd/sync/vendor/golang.org/x/sys/windows/memory_windows.go index 6dc0920a..1adb6073 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/memory_windows.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/memory_windows.go @@ -35,14 +35,3 @@ const ( QUOTA_LIMITS_HARDWS_MAX_DISABLE = 0x00000008 QUOTA_LIMITS_HARDWS_MAX_ENABLE = 0x00000004 ) - -type MemoryBasicInformation struct { - BaseAddress uintptr - AllocationBase uintptr - AllocationProtect uint32 - PartitionId uint16 - RegionSize uintptr - State uint32 - Protect uint32 - Type uint32 -} diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/mksyscall.go b/cmd/sync/vendor/golang.org/x/sys/windows/mksyscall.go index 8563f79c..328e3b2a 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/mksyscall.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/mksyscall.go @@ -2,9 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build generate // +build generate package windows -//go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_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/cmd/sync/vendor/golang.org/x/sys/windows/race.go b/cmd/sync/vendor/golang.org/x/sys/windows/race.go index 9196b089..a74e3e24 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/race.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/race.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build windows && race // +build windows,race package windows diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/race0.go b/cmd/sync/vendor/golang.org/x/sys/windows/race0.go index 7bae4817..e44a3cbf 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/race0.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/race0.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build windows && !race // +build windows,!race package windows diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/security_windows.go b/cmd/sync/vendor/golang.org/x/sys/windows/security_windows.go index d414ef13..111c10d3 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/security_windows.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/security_windows.go @@ -889,7 +889,6 @@ 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 -//sys WTSGetActiveConsoleSessionId() (sessionID uint32) type ACL struct { aclRevision byte diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/service.go b/cmd/sync/vendor/golang.org/x/sys/windows/service.go index f8deca83..b269850d 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/service.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/service.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build windows // +build windows package windows @@ -17,6 +16,8 @@ const ( SC_MANAGER_ALL_ACCESS = 0xf003f ) +//sys OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenSCManagerW + const ( SERVICE_KERNEL_DRIVER = 1 SERVICE_FILE_SYSTEM_DRIVER = 2 @@ -131,14 +132,6 @@ const ( SC_EVENT_DATABASE_CHANGE = 0 SC_EVENT_PROPERTY_CHANGE = 1 SC_EVENT_STATUS_CHANGE = 2 - - SERVICE_START_REASON_DEMAND = 0x00000001 - SERVICE_START_REASON_AUTO = 0x00000002 - SERVICE_START_REASON_TRIGGER = 0x00000004 - SERVICE_START_REASON_RESTART_ON_FAILURE = 0x00000008 - SERVICE_START_REASON_DELAYEDAUTO = 0x00000010 - - SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON = 1 ) type SERVICE_STATUS struct { @@ -223,7 +216,6 @@ type QUERY_SERVICE_LOCK_STATUS struct { LockDuration uint32 } -//sys OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenSCManagerW //sys CloseServiceHandle(handle Handle) (err error) = advapi32.CloseServiceHandle //sys CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) [failretval==0] = advapi32.CreateServiceW //sys OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenServiceW @@ -243,5 +235,3 @@ type QUERY_SERVICE_LOCK_STATUS struct { //sys NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) = advapi32.NotifyServiceStatusChangeW //sys SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) = sechost.SubscribeServiceChangeNotifications? //sys UnsubscribeServiceChangeNotifications(subscription uintptr) = sechost.UnsubscribeServiceChangeNotifications? -//sys RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) = advapi32.RegisterServiceCtrlHandlerExW -//sys QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInfo unsafe.Pointer) (err error) = advapi32.QueryServiceDynamicInformation? diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/setupapi_windows.go b/cmd/sync/vendor/golang.org/x/sys/windows/setupapi_windows.go deleted file mode 100644 index 14027da3..00000000 --- a/cmd/sync/vendor/golang.org/x/sys/windows/setupapi_windows.go +++ /dev/null @@ -1,1425 +0,0 @@ -// Copyright 2021 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package windows - -import ( - "encoding/binary" - "errors" - "fmt" - "runtime" - "strings" - "syscall" - "unsafe" -) - -// This file contains functions that wrap SetupAPI.dll and CfgMgr32.dll, -// core system functions for managing hardware devices, drivers, and the PnP tree. -// Information about these APIs can be found at: -// https://docs.microsoft.com/en-us/windows-hardware/drivers/install/setupapi -// https://docs.microsoft.com/en-us/windows/win32/devinst/cfgmgr32- - -const ( - ERROR_EXPECTED_SECTION_NAME Errno = 0x20000000 | 0xC0000000 | 0 - ERROR_BAD_SECTION_NAME_LINE Errno = 0x20000000 | 0xC0000000 | 1 - ERROR_SECTION_NAME_TOO_LONG Errno = 0x20000000 | 0xC0000000 | 2 - ERROR_GENERAL_SYNTAX Errno = 0x20000000 | 0xC0000000 | 3 - ERROR_WRONG_INF_STYLE Errno = 0x20000000 | 0xC0000000 | 0x100 - ERROR_SECTION_NOT_FOUND Errno = 0x20000000 | 0xC0000000 | 0x101 - ERROR_LINE_NOT_FOUND Errno = 0x20000000 | 0xC0000000 | 0x102 - ERROR_NO_BACKUP Errno = 0x20000000 | 0xC0000000 | 0x103 - ERROR_NO_ASSOCIATED_CLASS Errno = 0x20000000 | 0xC0000000 | 0x200 - ERROR_CLASS_MISMATCH Errno = 0x20000000 | 0xC0000000 | 0x201 - ERROR_DUPLICATE_FOUND Errno = 0x20000000 | 0xC0000000 | 0x202 - ERROR_NO_DRIVER_SELECTED Errno = 0x20000000 | 0xC0000000 | 0x203 - ERROR_KEY_DOES_NOT_EXIST Errno = 0x20000000 | 0xC0000000 | 0x204 - ERROR_INVALID_DEVINST_NAME Errno = 0x20000000 | 0xC0000000 | 0x205 - ERROR_INVALID_CLASS Errno = 0x20000000 | 0xC0000000 | 0x206 - ERROR_DEVINST_ALREADY_EXISTS Errno = 0x20000000 | 0xC0000000 | 0x207 - ERROR_DEVINFO_NOT_REGISTERED Errno = 0x20000000 | 0xC0000000 | 0x208 - ERROR_INVALID_REG_PROPERTY Errno = 0x20000000 | 0xC0000000 | 0x209 - ERROR_NO_INF Errno = 0x20000000 | 0xC0000000 | 0x20A - ERROR_NO_SUCH_DEVINST Errno = 0x20000000 | 0xC0000000 | 0x20B - ERROR_CANT_LOAD_CLASS_ICON Errno = 0x20000000 | 0xC0000000 | 0x20C - ERROR_INVALID_CLASS_INSTALLER Errno = 0x20000000 | 0xC0000000 | 0x20D - ERROR_DI_DO_DEFAULT Errno = 0x20000000 | 0xC0000000 | 0x20E - ERROR_DI_NOFILECOPY Errno = 0x20000000 | 0xC0000000 | 0x20F - ERROR_INVALID_HWPROFILE Errno = 0x20000000 | 0xC0000000 | 0x210 - ERROR_NO_DEVICE_SELECTED Errno = 0x20000000 | 0xC0000000 | 0x211 - ERROR_DEVINFO_LIST_LOCKED Errno = 0x20000000 | 0xC0000000 | 0x212 - ERROR_DEVINFO_DATA_LOCKED Errno = 0x20000000 | 0xC0000000 | 0x213 - ERROR_DI_BAD_PATH Errno = 0x20000000 | 0xC0000000 | 0x214 - ERROR_NO_CLASSINSTALL_PARAMS Errno = 0x20000000 | 0xC0000000 | 0x215 - ERROR_FILEQUEUE_LOCKED Errno = 0x20000000 | 0xC0000000 | 0x216 - ERROR_BAD_SERVICE_INSTALLSECT Errno = 0x20000000 | 0xC0000000 | 0x217 - ERROR_NO_CLASS_DRIVER_LIST Errno = 0x20000000 | 0xC0000000 | 0x218 - ERROR_NO_ASSOCIATED_SERVICE Errno = 0x20000000 | 0xC0000000 | 0x219 - ERROR_NO_DEFAULT_DEVICE_INTERFACE Errno = 0x20000000 | 0xC0000000 | 0x21A - ERROR_DEVICE_INTERFACE_ACTIVE Errno = 0x20000000 | 0xC0000000 | 0x21B - ERROR_DEVICE_INTERFACE_REMOVED Errno = 0x20000000 | 0xC0000000 | 0x21C - ERROR_BAD_INTERFACE_INSTALLSECT Errno = 0x20000000 | 0xC0000000 | 0x21D - ERROR_NO_SUCH_INTERFACE_CLASS Errno = 0x20000000 | 0xC0000000 | 0x21E - ERROR_INVALID_REFERENCE_STRING Errno = 0x20000000 | 0xC0000000 | 0x21F - ERROR_INVALID_MACHINENAME Errno = 0x20000000 | 0xC0000000 | 0x220 - ERROR_REMOTE_COMM_FAILURE Errno = 0x20000000 | 0xC0000000 | 0x221 - ERROR_MACHINE_UNAVAILABLE Errno = 0x20000000 | 0xC0000000 | 0x222 - ERROR_NO_CONFIGMGR_SERVICES Errno = 0x20000000 | 0xC0000000 | 0x223 - ERROR_INVALID_PROPPAGE_PROVIDER Errno = 0x20000000 | 0xC0000000 | 0x224 - ERROR_NO_SUCH_DEVICE_INTERFACE Errno = 0x20000000 | 0xC0000000 | 0x225 - ERROR_DI_POSTPROCESSING_REQUIRED Errno = 0x20000000 | 0xC0000000 | 0x226 - ERROR_INVALID_COINSTALLER Errno = 0x20000000 | 0xC0000000 | 0x227 - ERROR_NO_COMPAT_DRIVERS Errno = 0x20000000 | 0xC0000000 | 0x228 - ERROR_NO_DEVICE_ICON Errno = 0x20000000 | 0xC0000000 | 0x229 - ERROR_INVALID_INF_LOGCONFIG Errno = 0x20000000 | 0xC0000000 | 0x22A - ERROR_DI_DONT_INSTALL Errno = 0x20000000 | 0xC0000000 | 0x22B - ERROR_INVALID_FILTER_DRIVER Errno = 0x20000000 | 0xC0000000 | 0x22C - ERROR_NON_WINDOWS_NT_DRIVER Errno = 0x20000000 | 0xC0000000 | 0x22D - ERROR_NON_WINDOWS_DRIVER Errno = 0x20000000 | 0xC0000000 | 0x22E - ERROR_NO_CATALOG_FOR_OEM_INF Errno = 0x20000000 | 0xC0000000 | 0x22F - ERROR_DEVINSTALL_QUEUE_NONNATIVE Errno = 0x20000000 | 0xC0000000 | 0x230 - ERROR_NOT_DISABLEABLE Errno = 0x20000000 | 0xC0000000 | 0x231 - ERROR_CANT_REMOVE_DEVINST Errno = 0x20000000 | 0xC0000000 | 0x232 - ERROR_INVALID_TARGET Errno = 0x20000000 | 0xC0000000 | 0x233 - ERROR_DRIVER_NONNATIVE Errno = 0x20000000 | 0xC0000000 | 0x234 - ERROR_IN_WOW64 Errno = 0x20000000 | 0xC0000000 | 0x235 - ERROR_SET_SYSTEM_RESTORE_POINT Errno = 0x20000000 | 0xC0000000 | 0x236 - ERROR_SCE_DISABLED Errno = 0x20000000 | 0xC0000000 | 0x238 - ERROR_UNKNOWN_EXCEPTION Errno = 0x20000000 | 0xC0000000 | 0x239 - ERROR_PNP_REGISTRY_ERROR Errno = 0x20000000 | 0xC0000000 | 0x23A - ERROR_REMOTE_REQUEST_UNSUPPORTED Errno = 0x20000000 | 0xC0000000 | 0x23B - ERROR_NOT_AN_INSTALLED_OEM_INF Errno = 0x20000000 | 0xC0000000 | 0x23C - ERROR_INF_IN_USE_BY_DEVICES Errno = 0x20000000 | 0xC0000000 | 0x23D - ERROR_DI_FUNCTION_OBSOLETE Errno = 0x20000000 | 0xC0000000 | 0x23E - ERROR_NO_AUTHENTICODE_CATALOG Errno = 0x20000000 | 0xC0000000 | 0x23F - ERROR_AUTHENTICODE_DISALLOWED Errno = 0x20000000 | 0xC0000000 | 0x240 - ERROR_AUTHENTICODE_TRUSTED_PUBLISHER Errno = 0x20000000 | 0xC0000000 | 0x241 - ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED Errno = 0x20000000 | 0xC0000000 | 0x242 - ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED Errno = 0x20000000 | 0xC0000000 | 0x243 - ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH Errno = 0x20000000 | 0xC0000000 | 0x244 - ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE Errno = 0x20000000 | 0xC0000000 | 0x245 - ERROR_DEVICE_INSTALLER_NOT_READY Errno = 0x20000000 | 0xC0000000 | 0x246 - ERROR_DRIVER_STORE_ADD_FAILED Errno = 0x20000000 | 0xC0000000 | 0x247 - ERROR_DEVICE_INSTALL_BLOCKED Errno = 0x20000000 | 0xC0000000 | 0x248 - ERROR_DRIVER_INSTALL_BLOCKED Errno = 0x20000000 | 0xC0000000 | 0x249 - ERROR_WRONG_INF_TYPE Errno = 0x20000000 | 0xC0000000 | 0x24A - ERROR_FILE_HASH_NOT_IN_CATALOG Errno = 0x20000000 | 0xC0000000 | 0x24B - ERROR_DRIVER_STORE_DELETE_FAILED Errno = 0x20000000 | 0xC0000000 | 0x24C - ERROR_UNRECOVERABLE_STACK_OVERFLOW Errno = 0x20000000 | 0xC0000000 | 0x300 - EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW Errno = ERROR_UNRECOVERABLE_STACK_OVERFLOW - ERROR_NO_DEFAULT_INTERFACE_DEVICE Errno = ERROR_NO_DEFAULT_DEVICE_INTERFACE - ERROR_INTERFACE_DEVICE_ACTIVE Errno = ERROR_DEVICE_INTERFACE_ACTIVE - ERROR_INTERFACE_DEVICE_REMOVED Errno = ERROR_DEVICE_INTERFACE_REMOVED - ERROR_NO_SUCH_INTERFACE_DEVICE Errno = ERROR_NO_SUCH_DEVICE_INTERFACE -) - -const ( - MAX_DEVICE_ID_LEN = 200 - MAX_DEVNODE_ID_LEN = MAX_DEVICE_ID_LEN - MAX_GUID_STRING_LEN = 39 // 38 chars + terminator null - MAX_CLASS_NAME_LEN = 32 - MAX_PROFILE_LEN = 80 - MAX_CONFIG_VALUE = 9999 - MAX_INSTANCE_VALUE = 9999 - CONFIGMG_VERSION = 0x0400 -) - -// Maximum string length constants -const ( - LINE_LEN = 256 // Windows 9x-compatible maximum for displayable strings coming from a device INF. - MAX_INF_STRING_LENGTH = 4096 // Actual maximum size of an INF string (including string substitutions). - MAX_INF_SECTION_NAME_LENGTH = 255 // For Windows 9x compatibility, INF section names should be constrained to 32 characters. - MAX_TITLE_LEN = 60 - MAX_INSTRUCTION_LEN = 256 - MAX_LABEL_LEN = 30 - MAX_SERVICE_NAME_LEN = 256 - MAX_SUBTITLE_LEN = 256 -) - -const ( - // SP_MAX_MACHINENAME_LENGTH defines maximum length of a machine name in the format expected by ConfigMgr32 CM_Connect_Machine (i.e., "\\\\MachineName\0"). - SP_MAX_MACHINENAME_LENGTH = MAX_PATH + 3 -) - -// HSPFILEQ is type for setup file queue -type HSPFILEQ uintptr - -// DevInfo holds reference to device information set -type DevInfo Handle - -// DEVINST is a handle usually recognized by cfgmgr32 APIs -type DEVINST uint32 - -// DevInfoData is a device information structure (references a device instance that is a member of a device information set) -type DevInfoData struct { - size uint32 - ClassGUID GUID - DevInst DEVINST - _ uintptr -} - -// DevInfoListDetailData is a structure for detailed information on a device information set (used for SetupDiGetDeviceInfoListDetail which supersedes the functionality of SetupDiGetDeviceInfoListClass). -type DevInfoListDetailData struct { - size uint32 // Use unsafeSizeOf method - ClassGUID GUID - RemoteMachineHandle Handle - remoteMachineName [SP_MAX_MACHINENAME_LENGTH]uint16 -} - -func (*DevInfoListDetailData) unsafeSizeOf() uint32 { - if unsafe.Sizeof(uintptr(0)) == 4 { - // Windows declares this with pshpack1.h - return uint32(unsafe.Offsetof(DevInfoListDetailData{}.remoteMachineName) + unsafe.Sizeof(DevInfoListDetailData{}.remoteMachineName)) - } - return uint32(unsafe.Sizeof(DevInfoListDetailData{})) -} - -func (data *DevInfoListDetailData) RemoteMachineName() string { - return UTF16ToString(data.remoteMachineName[:]) -} - -func (data *DevInfoListDetailData) SetRemoteMachineName(remoteMachineName string) error { - str, err := UTF16FromString(remoteMachineName) - if err != nil { - return err - } - copy(data.remoteMachineName[:], str) - return nil -} - -// DI_FUNCTION is function type for device installer -type DI_FUNCTION uint32 - -const ( - DIF_SELECTDEVICE DI_FUNCTION = 0x00000001 - DIF_INSTALLDEVICE DI_FUNCTION = 0x00000002 - DIF_ASSIGNRESOURCES DI_FUNCTION = 0x00000003 - DIF_PROPERTIES DI_FUNCTION = 0x00000004 - DIF_REMOVE DI_FUNCTION = 0x00000005 - DIF_FIRSTTIMESETUP DI_FUNCTION = 0x00000006 - DIF_FOUNDDEVICE DI_FUNCTION = 0x00000007 - DIF_SELECTCLASSDRIVERS DI_FUNCTION = 0x00000008 - DIF_VALIDATECLASSDRIVERS DI_FUNCTION = 0x00000009 - DIF_INSTALLCLASSDRIVERS DI_FUNCTION = 0x0000000A - DIF_CALCDISKSPACE DI_FUNCTION = 0x0000000B - DIF_DESTROYPRIVATEDATA DI_FUNCTION = 0x0000000C - DIF_VALIDATEDRIVER DI_FUNCTION = 0x0000000D - DIF_DETECT DI_FUNCTION = 0x0000000F - DIF_INSTALLWIZARD DI_FUNCTION = 0x00000010 - DIF_DESTROYWIZARDDATA DI_FUNCTION = 0x00000011 - DIF_PROPERTYCHANGE DI_FUNCTION = 0x00000012 - DIF_ENABLECLASS DI_FUNCTION = 0x00000013 - DIF_DETECTVERIFY DI_FUNCTION = 0x00000014 - DIF_INSTALLDEVICEFILES DI_FUNCTION = 0x00000015 - DIF_UNREMOVE DI_FUNCTION = 0x00000016 - DIF_SELECTBESTCOMPATDRV DI_FUNCTION = 0x00000017 - DIF_ALLOW_INSTALL DI_FUNCTION = 0x00000018 - DIF_REGISTERDEVICE DI_FUNCTION = 0x00000019 - DIF_NEWDEVICEWIZARD_PRESELECT DI_FUNCTION = 0x0000001A - DIF_NEWDEVICEWIZARD_SELECT DI_FUNCTION = 0x0000001B - DIF_NEWDEVICEWIZARD_PREANALYZE DI_FUNCTION = 0x0000001C - DIF_NEWDEVICEWIZARD_POSTANALYZE DI_FUNCTION = 0x0000001D - DIF_NEWDEVICEWIZARD_FINISHINSTALL DI_FUNCTION = 0x0000001E - DIF_INSTALLINTERFACES DI_FUNCTION = 0x00000020 - DIF_DETECTCANCEL DI_FUNCTION = 0x00000021 - DIF_REGISTER_COINSTALLERS DI_FUNCTION = 0x00000022 - DIF_ADDPROPERTYPAGE_ADVANCED DI_FUNCTION = 0x00000023 - DIF_ADDPROPERTYPAGE_BASIC DI_FUNCTION = 0x00000024 - DIF_TROUBLESHOOTER DI_FUNCTION = 0x00000026 - DIF_POWERMESSAGEWAKE DI_FUNCTION = 0x00000027 - DIF_ADDREMOTEPROPERTYPAGE_ADVANCED DI_FUNCTION = 0x00000028 - DIF_UPDATEDRIVER_UI DI_FUNCTION = 0x00000029 - DIF_FINISHINSTALL_ACTION DI_FUNCTION = 0x0000002A -) - -// DevInstallParams is device installation parameters structure (associated with a particular device information element, or globally with a device information set) -type DevInstallParams struct { - size uint32 - Flags DI_FLAGS - FlagsEx DI_FLAGSEX - hwndParent uintptr - InstallMsgHandler uintptr - InstallMsgHandlerContext uintptr - FileQueue HSPFILEQ - _ uintptr - _ uint32 - driverPath [MAX_PATH]uint16 -} - -func (params *DevInstallParams) DriverPath() string { - return UTF16ToString(params.driverPath[:]) -} - -func (params *DevInstallParams) SetDriverPath(driverPath string) error { - str, err := UTF16FromString(driverPath) - if err != nil { - return err - } - copy(params.driverPath[:], str) - return nil -} - -// DI_FLAGS is SP_DEVINSTALL_PARAMS.Flags values -type DI_FLAGS uint32 - -const ( - // Flags for choosing a device - DI_SHOWOEM DI_FLAGS = 0x00000001 // support Other... button - DI_SHOWCOMPAT DI_FLAGS = 0x00000002 // show compatibility list - DI_SHOWCLASS DI_FLAGS = 0x00000004 // show class list - DI_SHOWALL DI_FLAGS = 0x00000007 // both class & compat list shown - DI_NOVCP DI_FLAGS = 0x00000008 // don't create a new copy queue--use caller-supplied FileQueue - DI_DIDCOMPAT DI_FLAGS = 0x00000010 // Searched for compatible devices - DI_DIDCLASS DI_FLAGS = 0x00000020 // Searched for class devices - DI_AUTOASSIGNRES DI_FLAGS = 0x00000040 // No UI for resources if possible - - // Flags returned by DiInstallDevice to indicate need to reboot/restart - DI_NEEDRESTART DI_FLAGS = 0x00000080 // Reboot required to take effect - DI_NEEDREBOOT DI_FLAGS = 0x00000100 // "" - - // Flags for device installation - DI_NOBROWSE DI_FLAGS = 0x00000200 // no Browse... in InsertDisk - - // Flags set by DiBuildDriverInfoList - DI_MULTMFGS DI_FLAGS = 0x00000400 // Set if multiple manufacturers in class driver list - - // Flag indicates that device is disabled - DI_DISABLED DI_FLAGS = 0x00000800 // Set if device disabled - - // Flags for Device/Class Properties - DI_GENERALPAGE_ADDED DI_FLAGS = 0x00001000 - DI_RESOURCEPAGE_ADDED DI_FLAGS = 0x00002000 - - // Flag to indicate the setting properties for this Device (or class) caused a change so the Dev Mgr UI probably needs to be updated. - DI_PROPERTIES_CHANGE DI_FLAGS = 0x00004000 - - // Flag to indicate that the sorting from the INF file should be used. - DI_INF_IS_SORTED DI_FLAGS = 0x00008000 - - // Flag to indicate that only the the INF specified by SP_DEVINSTALL_PARAMS.DriverPath should be searched. - DI_ENUMSINGLEINF DI_FLAGS = 0x00010000 - - // Flag that prevents ConfigMgr from removing/re-enumerating devices during device - // registration, installation, and deletion. - DI_DONOTCALLCONFIGMG DI_FLAGS = 0x00020000 - - // The following flag can be used to install a device disabled - DI_INSTALLDISABLED DI_FLAGS = 0x00040000 - - // Flag that causes SetupDiBuildDriverInfoList to build a device's compatible driver - // list from its existing class driver list, instead of the normal INF search. - DI_COMPAT_FROM_CLASS DI_FLAGS = 0x00080000 - - // This flag is set if the Class Install params should be used. - DI_CLASSINSTALLPARAMS DI_FLAGS = 0x00100000 - - // This flag is set if the caller of DiCallClassInstaller does NOT want the internal default action performed if the Class installer returns ERROR_DI_DO_DEFAULT. - DI_NODI_DEFAULTACTION DI_FLAGS = 0x00200000 - - // Flags for device installation - DI_QUIETINSTALL DI_FLAGS = 0x00800000 // don't confuse the user with questions or excess info - DI_NOFILECOPY DI_FLAGS = 0x01000000 // No file Copy necessary - DI_FORCECOPY DI_FLAGS = 0x02000000 // Force files to be copied from install path - DI_DRIVERPAGE_ADDED DI_FLAGS = 0x04000000 // Prop provider added Driver page. - DI_USECI_SELECTSTRINGS DI_FLAGS = 0x08000000 // Use Class Installer Provided strings in the Select Device Dlg - DI_OVERRIDE_INFFLAGS DI_FLAGS = 0x10000000 // Override INF flags - DI_PROPS_NOCHANGEUSAGE DI_FLAGS = 0x20000000 // No Enable/Disable in General Props - - DI_NOSELECTICONS DI_FLAGS = 0x40000000 // No small icons in select device dialogs - - DI_NOWRITE_IDS DI_FLAGS = 0x80000000 // Don't write HW & Compat IDs on install -) - -// DI_FLAGSEX is SP_DEVINSTALL_PARAMS.FlagsEx values -type DI_FLAGSEX uint32 - -const ( - DI_FLAGSEX_CI_FAILED DI_FLAGSEX = 0x00000004 // Failed to Load/Call class installer - DI_FLAGSEX_FINISHINSTALL_ACTION DI_FLAGSEX = 0x00000008 // Class/co-installer wants to get a DIF_FINISH_INSTALL action in client context. - DI_FLAGSEX_DIDINFOLIST DI_FLAGSEX = 0x00000010 // Did the Class Info List - DI_FLAGSEX_DIDCOMPATINFO DI_FLAGSEX = 0x00000020 // Did the Compat Info List - DI_FLAGSEX_FILTERCLASSES DI_FLAGSEX = 0x00000040 - DI_FLAGSEX_SETFAILEDINSTALL DI_FLAGSEX = 0x00000080 - DI_FLAGSEX_DEVICECHANGE DI_FLAGSEX = 0x00000100 - DI_FLAGSEX_ALWAYSWRITEIDS DI_FLAGSEX = 0x00000200 - DI_FLAGSEX_PROPCHANGE_PENDING DI_FLAGSEX = 0x00000400 // One or more device property sheets have had changes made to them, and need to have a DIF_PROPERTYCHANGE occur. - DI_FLAGSEX_ALLOWEXCLUDEDDRVS DI_FLAGSEX = 0x00000800 - DI_FLAGSEX_NOUIONQUERYREMOVE DI_FLAGSEX = 0x00001000 - DI_FLAGSEX_USECLASSFORCOMPAT DI_FLAGSEX = 0x00002000 // Use the device's class when building compat drv list. (Ignored if DI_COMPAT_FROM_CLASS flag is specified.) - DI_FLAGSEX_NO_DRVREG_MODIFY DI_FLAGSEX = 0x00008000 // Don't run AddReg and DelReg for device's software (driver) key. - DI_FLAGSEX_IN_SYSTEM_SETUP DI_FLAGSEX = 0x00010000 // Installation is occurring during initial system setup. - DI_FLAGSEX_INET_DRIVER DI_FLAGSEX = 0x00020000 // Driver came from Windows Update - DI_FLAGSEX_APPENDDRIVERLIST DI_FLAGSEX = 0x00040000 // Cause SetupDiBuildDriverInfoList to append a new driver list to an existing list. - DI_FLAGSEX_PREINSTALLBACKUP DI_FLAGSEX = 0x00080000 // not used - DI_FLAGSEX_BACKUPONREPLACE DI_FLAGSEX = 0x00100000 // not used - DI_FLAGSEX_DRIVERLIST_FROM_URL DI_FLAGSEX = 0x00200000 // build driver list from INF(s) retrieved from URL specified in SP_DEVINSTALL_PARAMS.DriverPath (empty string means Windows Update website) - DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS DI_FLAGSEX = 0x00800000 // Don't include old Internet drivers when building a driver list. Ignored on Windows Vista and later. - DI_FLAGSEX_POWERPAGE_ADDED DI_FLAGSEX = 0x01000000 // class installer added their own power page - DI_FLAGSEX_FILTERSIMILARDRIVERS DI_FLAGSEX = 0x02000000 // only include similar drivers in class list - DI_FLAGSEX_INSTALLEDDRIVER DI_FLAGSEX = 0x04000000 // only add the installed driver to the class or compat driver list. Used in calls to SetupDiBuildDriverInfoList - DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE DI_FLAGSEX = 0x08000000 // Don't remove identical driver nodes from the class list - DI_FLAGSEX_ALTPLATFORM_DRVSEARCH DI_FLAGSEX = 0x10000000 // Build driver list based on alternate platform information specified in associated file queue - DI_FLAGSEX_RESTART_DEVICE_ONLY DI_FLAGSEX = 0x20000000 // only restart the device drivers are being installed on as opposed to restarting all devices using those drivers. - DI_FLAGSEX_RECURSIVESEARCH DI_FLAGSEX = 0x40000000 // Tell SetupDiBuildDriverInfoList to do a recursive search - DI_FLAGSEX_SEARCH_PUBLISHED_INFS DI_FLAGSEX = 0x80000000 // Tell SetupDiBuildDriverInfoList to do a "published INF" search -) - -// ClassInstallHeader is the first member of any class install parameters structure. It contains the device installation request code that defines the format of the rest of the install parameters structure. -type ClassInstallHeader struct { - size uint32 - InstallFunction DI_FUNCTION -} - -func MakeClassInstallHeader(installFunction DI_FUNCTION) *ClassInstallHeader { - hdr := &ClassInstallHeader{InstallFunction: installFunction} - hdr.size = uint32(unsafe.Sizeof(*hdr)) - return hdr -} - -// DICS_STATE specifies values indicating a change in a device's state -type DICS_STATE uint32 - -const ( - DICS_ENABLE DICS_STATE = 0x00000001 // The device is being enabled. - DICS_DISABLE DICS_STATE = 0x00000002 // The device is being disabled. - DICS_PROPCHANGE DICS_STATE = 0x00000003 // The properties of the device have changed. - DICS_START DICS_STATE = 0x00000004 // The device is being started (if the request is for the currently active hardware profile). - DICS_STOP DICS_STATE = 0x00000005 // The device is being stopped. The driver stack will be unloaded and the CSCONFIGFLAG_DO_NOT_START flag will be set for the device. -) - -// DICS_FLAG specifies the scope of a device property change -type DICS_FLAG uint32 - -const ( - DICS_FLAG_GLOBAL DICS_FLAG = 0x00000001 // make change in all hardware profiles - DICS_FLAG_CONFIGSPECIFIC DICS_FLAG = 0x00000002 // make change in specified profile only - DICS_FLAG_CONFIGGENERAL DICS_FLAG = 0x00000004 // 1 or more hardware profile-specific changes to follow (obsolete) -) - -// PropChangeParams is a structure corresponding to a DIF_PROPERTYCHANGE install function. -type PropChangeParams struct { - ClassInstallHeader ClassInstallHeader - StateChange DICS_STATE - Scope DICS_FLAG - HwProfile uint32 -} - -// DI_REMOVEDEVICE specifies the scope of the device removal -type DI_REMOVEDEVICE uint32 - -const ( - DI_REMOVEDEVICE_GLOBAL DI_REMOVEDEVICE = 0x00000001 // Make this change in all hardware profiles. Remove information about the device from the registry. - DI_REMOVEDEVICE_CONFIGSPECIFIC DI_REMOVEDEVICE = 0x00000002 // Make this change to only the hardware profile specified by HwProfile. this flag only applies to root-enumerated devices. When Windows removes the device from the last hardware profile in which it was configured, Windows performs a global removal. -) - -// RemoveDeviceParams is a structure corresponding to a DIF_REMOVE install function. -type RemoveDeviceParams struct { - ClassInstallHeader ClassInstallHeader - Scope DI_REMOVEDEVICE - HwProfile uint32 -} - -// DrvInfoData is driver information structure (member of a driver info list that may be associated with a particular device instance, or (globally) with a device information set) -type DrvInfoData struct { - size uint32 - DriverType uint32 - _ uintptr - description [LINE_LEN]uint16 - mfgName [LINE_LEN]uint16 - providerName [LINE_LEN]uint16 - DriverDate Filetime - DriverVersion uint64 -} - -func (data *DrvInfoData) Description() string { - return UTF16ToString(data.description[:]) -} - -func (data *DrvInfoData) SetDescription(description string) error { - str, err := UTF16FromString(description) - if err != nil { - return err - } - copy(data.description[:], str) - return nil -} - -func (data *DrvInfoData) MfgName() string { - return UTF16ToString(data.mfgName[:]) -} - -func (data *DrvInfoData) SetMfgName(mfgName string) error { - str, err := UTF16FromString(mfgName) - if err != nil { - return err - } - copy(data.mfgName[:], str) - return nil -} - -func (data *DrvInfoData) ProviderName() string { - return UTF16ToString(data.providerName[:]) -} - -func (data *DrvInfoData) SetProviderName(providerName string) error { - str, err := UTF16FromString(providerName) - if err != nil { - return err - } - copy(data.providerName[:], str) - return nil -} - -// IsNewer method returns true if DrvInfoData date and version is newer than supplied parameters. -func (data *DrvInfoData) IsNewer(driverDate Filetime, driverVersion uint64) bool { - if data.DriverDate.HighDateTime > driverDate.HighDateTime { - return true - } - if data.DriverDate.HighDateTime < driverDate.HighDateTime { - return false - } - - if data.DriverDate.LowDateTime > driverDate.LowDateTime { - return true - } - if data.DriverDate.LowDateTime < driverDate.LowDateTime { - return false - } - - if data.DriverVersion > driverVersion { - return true - } - if data.DriverVersion < driverVersion { - return false - } - - return false -} - -// DrvInfoDetailData is driver information details structure (provides detailed information about a particular driver information structure) -type DrvInfoDetailData struct { - size uint32 // Use unsafeSizeOf method - InfDate Filetime - compatIDsOffset uint32 - compatIDsLength uint32 - _ uintptr - sectionName [LINE_LEN]uint16 - infFileName [MAX_PATH]uint16 - drvDescription [LINE_LEN]uint16 - hardwareID [1]uint16 -} - -func (*DrvInfoDetailData) unsafeSizeOf() uint32 { - if unsafe.Sizeof(uintptr(0)) == 4 { - // Windows declares this with pshpack1.h - return uint32(unsafe.Offsetof(DrvInfoDetailData{}.hardwareID) + unsafe.Sizeof(DrvInfoDetailData{}.hardwareID)) - } - return uint32(unsafe.Sizeof(DrvInfoDetailData{})) -} - -func (data *DrvInfoDetailData) SectionName() string { - return UTF16ToString(data.sectionName[:]) -} - -func (data *DrvInfoDetailData) InfFileName() string { - return UTF16ToString(data.infFileName[:]) -} - -func (data *DrvInfoDetailData) DrvDescription() string { - return UTF16ToString(data.drvDescription[:]) -} - -func (data *DrvInfoDetailData) HardwareID() string { - if data.compatIDsOffset > 1 { - bufW := data.getBuf() - return UTF16ToString(bufW[:wcslen(bufW)]) - } - - return "" -} - -func (data *DrvInfoDetailData) CompatIDs() []string { - a := make([]string, 0) - - if data.compatIDsLength > 0 { - bufW := data.getBuf() - bufW = bufW[data.compatIDsOffset : data.compatIDsOffset+data.compatIDsLength] - for i := 0; i < len(bufW); { - j := i + wcslen(bufW[i:]) - if i < j { - a = append(a, UTF16ToString(bufW[i:j])) - } - i = j + 1 - } - } - - return a -} - -func (data *DrvInfoDetailData) getBuf() []uint16 { - len := (data.size - uint32(unsafe.Offsetof(data.hardwareID))) / 2 - sl := struct { - addr *uint16 - len int - cap int - }{&data.hardwareID[0], int(len), int(len)} - return *(*[]uint16)(unsafe.Pointer(&sl)) -} - -// IsCompatible method tests if given hardware ID matches the driver or is listed on the compatible ID list. -func (data *DrvInfoDetailData) IsCompatible(hwid string) bool { - hwidLC := strings.ToLower(hwid) - if strings.ToLower(data.HardwareID()) == hwidLC { - return true - } - a := data.CompatIDs() - for i := range a { - if strings.ToLower(a[i]) == hwidLC { - return true - } - } - - return false -} - -// DICD flags control SetupDiCreateDeviceInfo -type DICD uint32 - -const ( - DICD_GENERATE_ID DICD = 0x00000001 - DICD_INHERIT_CLASSDRVS DICD = 0x00000002 -) - -// SUOI flags control SetupUninstallOEMInf -type SUOI uint32 - -const ( - SUOI_FORCEDELETE SUOI = 0x0001 -) - -// SPDIT flags to distinguish between class drivers and -// device drivers. (Passed in 'DriverType' parameter of -// driver information list APIs) -type SPDIT uint32 - -const ( - SPDIT_NODRIVER SPDIT = 0x00000000 - SPDIT_CLASSDRIVER SPDIT = 0x00000001 - SPDIT_COMPATDRIVER SPDIT = 0x00000002 -) - -// DIGCF flags control what is included in the device information set built by SetupDiGetClassDevs -type DIGCF uint32 - -const ( - DIGCF_DEFAULT DIGCF = 0x00000001 // only valid with DIGCF_DEVICEINTERFACE - DIGCF_PRESENT DIGCF = 0x00000002 - DIGCF_ALLCLASSES DIGCF = 0x00000004 - DIGCF_PROFILE DIGCF = 0x00000008 - DIGCF_DEVICEINTERFACE DIGCF = 0x00000010 -) - -// DIREG specifies values for SetupDiCreateDevRegKey, SetupDiOpenDevRegKey, and SetupDiDeleteDevRegKey. -type DIREG uint32 - -const ( - DIREG_DEV DIREG = 0x00000001 // Open/Create/Delete device key - DIREG_DRV DIREG = 0x00000002 // Open/Create/Delete driver key - DIREG_BOTH DIREG = 0x00000004 // Delete both driver and Device key -) - -// SPDRP specifies device registry property codes -// (Codes marked as read-only (R) may only be used for -// SetupDiGetDeviceRegistryProperty) -// -// These values should cover the same set of registry properties -// as defined by the CM_DRP codes in cfgmgr32.h. -// -// Note that SPDRP codes are zero based while CM_DRP codes are one based! -type SPDRP uint32 - -const ( - SPDRP_DEVICEDESC SPDRP = 0x00000000 // DeviceDesc (R/W) - SPDRP_HARDWAREID SPDRP = 0x00000001 // HardwareID (R/W) - SPDRP_COMPATIBLEIDS SPDRP = 0x00000002 // CompatibleIDs (R/W) - SPDRP_SERVICE SPDRP = 0x00000004 // Service (R/W) - SPDRP_CLASS SPDRP = 0x00000007 // Class (R--tied to ClassGUID) - SPDRP_CLASSGUID SPDRP = 0x00000008 // ClassGUID (R/W) - SPDRP_DRIVER SPDRP = 0x00000009 // Driver (R/W) - SPDRP_CONFIGFLAGS SPDRP = 0x0000000A // ConfigFlags (R/W) - SPDRP_MFG SPDRP = 0x0000000B // Mfg (R/W) - SPDRP_FRIENDLYNAME SPDRP = 0x0000000C // FriendlyName (R/W) - SPDRP_LOCATION_INFORMATION SPDRP = 0x0000000D // LocationInformation (R/W) - SPDRP_PHYSICAL_DEVICE_OBJECT_NAME SPDRP = 0x0000000E // PhysicalDeviceObjectName (R) - SPDRP_CAPABILITIES SPDRP = 0x0000000F // Capabilities (R) - SPDRP_UI_NUMBER SPDRP = 0x00000010 // UiNumber (R) - SPDRP_UPPERFILTERS SPDRP = 0x00000011 // UpperFilters (R/W) - SPDRP_LOWERFILTERS SPDRP = 0x00000012 // LowerFilters (R/W) - SPDRP_BUSTYPEGUID SPDRP = 0x00000013 // BusTypeGUID (R) - SPDRP_LEGACYBUSTYPE SPDRP = 0x00000014 // LegacyBusType (R) - SPDRP_BUSNUMBER SPDRP = 0x00000015 // BusNumber (R) - SPDRP_ENUMERATOR_NAME SPDRP = 0x00000016 // Enumerator Name (R) - SPDRP_SECURITY SPDRP = 0x00000017 // Security (R/W, binary form) - SPDRP_SECURITY_SDS SPDRP = 0x00000018 // Security (W, SDS form) - SPDRP_DEVTYPE SPDRP = 0x00000019 // Device Type (R/W) - SPDRP_EXCLUSIVE SPDRP = 0x0000001A // Device is exclusive-access (R/W) - SPDRP_CHARACTERISTICS SPDRP = 0x0000001B // Device Characteristics (R/W) - SPDRP_ADDRESS SPDRP = 0x0000001C // Device Address (R) - SPDRP_UI_NUMBER_DESC_FORMAT SPDRP = 0x0000001D // UiNumberDescFormat (R/W) - SPDRP_DEVICE_POWER_DATA SPDRP = 0x0000001E // Device Power Data (R) - SPDRP_REMOVAL_POLICY SPDRP = 0x0000001F // Removal Policy (R) - SPDRP_REMOVAL_POLICY_HW_DEFAULT SPDRP = 0x00000020 // Hardware Removal Policy (R) - SPDRP_REMOVAL_POLICY_OVERRIDE SPDRP = 0x00000021 // Removal Policy Override (RW) - SPDRP_INSTALL_STATE SPDRP = 0x00000022 // Device Install State (R) - SPDRP_LOCATION_PATHS SPDRP = 0x00000023 // Device Location Paths (R) - SPDRP_BASE_CONTAINERID SPDRP = 0x00000024 // Base ContainerID (R) - - SPDRP_MAXIMUM_PROPERTY SPDRP = 0x00000025 // Upper bound on ordinals -) - -// DEVPROPTYPE represents the property-data-type identifier that specifies the -// data type of a device property value in the unified device property model. -type DEVPROPTYPE uint32 - -const ( - DEVPROP_TYPEMOD_ARRAY DEVPROPTYPE = 0x00001000 - DEVPROP_TYPEMOD_LIST DEVPROPTYPE = 0x00002000 - - DEVPROP_TYPE_EMPTY DEVPROPTYPE = 0x00000000 - DEVPROP_TYPE_NULL DEVPROPTYPE = 0x00000001 - DEVPROP_TYPE_SBYTE DEVPROPTYPE = 0x00000002 - DEVPROP_TYPE_BYTE DEVPROPTYPE = 0x00000003 - DEVPROP_TYPE_INT16 DEVPROPTYPE = 0x00000004 - DEVPROP_TYPE_UINT16 DEVPROPTYPE = 0x00000005 - DEVPROP_TYPE_INT32 DEVPROPTYPE = 0x00000006 - DEVPROP_TYPE_UINT32 DEVPROPTYPE = 0x00000007 - DEVPROP_TYPE_INT64 DEVPROPTYPE = 0x00000008 - DEVPROP_TYPE_UINT64 DEVPROPTYPE = 0x00000009 - DEVPROP_TYPE_FLOAT DEVPROPTYPE = 0x0000000A - DEVPROP_TYPE_DOUBLE DEVPROPTYPE = 0x0000000B - DEVPROP_TYPE_DECIMAL DEVPROPTYPE = 0x0000000C - DEVPROP_TYPE_GUID DEVPROPTYPE = 0x0000000D - DEVPROP_TYPE_CURRENCY DEVPROPTYPE = 0x0000000E - DEVPROP_TYPE_DATE DEVPROPTYPE = 0x0000000F - DEVPROP_TYPE_FILETIME DEVPROPTYPE = 0x00000010 - DEVPROP_TYPE_BOOLEAN DEVPROPTYPE = 0x00000011 - DEVPROP_TYPE_STRING DEVPROPTYPE = 0x00000012 - DEVPROP_TYPE_STRING_LIST DEVPROPTYPE = DEVPROP_TYPE_STRING | DEVPROP_TYPEMOD_LIST - DEVPROP_TYPE_SECURITY_DESCRIPTOR DEVPROPTYPE = 0x00000013 - DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING DEVPROPTYPE = 0x00000014 - DEVPROP_TYPE_DEVPROPKEY DEVPROPTYPE = 0x00000015 - DEVPROP_TYPE_DEVPROPTYPE DEVPROPTYPE = 0x00000016 - DEVPROP_TYPE_BINARY DEVPROPTYPE = DEVPROP_TYPE_BYTE | DEVPROP_TYPEMOD_ARRAY - DEVPROP_TYPE_ERROR DEVPROPTYPE = 0x00000017 - DEVPROP_TYPE_NTSTATUS DEVPROPTYPE = 0x00000018 - DEVPROP_TYPE_STRING_INDIRECT DEVPROPTYPE = 0x00000019 - - MAX_DEVPROP_TYPE DEVPROPTYPE = 0x00000019 - MAX_DEVPROP_TYPEMOD DEVPROPTYPE = 0x00002000 - - DEVPROP_MASK_TYPE DEVPROPTYPE = 0x00000FFF - DEVPROP_MASK_TYPEMOD DEVPROPTYPE = 0x0000F000 -) - -// DEVPROPGUID specifies a property category. -type DEVPROPGUID GUID - -// DEVPROPID uniquely identifies the property within the property category. -type DEVPROPID uint32 - -const DEVPROPID_FIRST_USABLE DEVPROPID = 2 - -// DEVPROPKEY represents a device property key for a device property in the -// unified device property model. -type DEVPROPKEY struct { - FmtID DEVPROPGUID - PID DEVPROPID -} - -// CONFIGRET is a return value or error code from cfgmgr32 APIs -type CONFIGRET uint32 - -func (ret CONFIGRET) Error() string { - if win32Error, ok := ret.Unwrap().(Errno); ok { - return fmt.Sprintf("%s (CfgMgr error: 0x%08x)", win32Error.Error(), uint32(ret)) - } - return fmt.Sprintf("CfgMgr error: 0x%08x", uint32(ret)) -} - -func (ret CONFIGRET) Win32Error(defaultError Errno) Errno { - return cm_MapCrToWin32Err(ret, defaultError) -} - -func (ret CONFIGRET) Unwrap() error { - const noMatch = Errno(^uintptr(0)) - win32Error := ret.Win32Error(noMatch) - if win32Error == noMatch { - return nil - } - return win32Error -} - -const ( - CR_SUCCESS CONFIGRET = 0x00000000 - CR_DEFAULT CONFIGRET = 0x00000001 - CR_OUT_OF_MEMORY CONFIGRET = 0x00000002 - CR_INVALID_POINTER CONFIGRET = 0x00000003 - CR_INVALID_FLAG CONFIGRET = 0x00000004 - CR_INVALID_DEVNODE CONFIGRET = 0x00000005 - CR_INVALID_DEVINST = CR_INVALID_DEVNODE - CR_INVALID_RES_DES CONFIGRET = 0x00000006 - CR_INVALID_LOG_CONF CONFIGRET = 0x00000007 - CR_INVALID_ARBITRATOR CONFIGRET = 0x00000008 - CR_INVALID_NODELIST CONFIGRET = 0x00000009 - CR_DEVNODE_HAS_REQS CONFIGRET = 0x0000000A - CR_DEVINST_HAS_REQS = CR_DEVNODE_HAS_REQS - CR_INVALID_RESOURCEID CONFIGRET = 0x0000000B - CR_DLVXD_NOT_FOUND CONFIGRET = 0x0000000C - CR_NO_SUCH_DEVNODE CONFIGRET = 0x0000000D - CR_NO_SUCH_DEVINST = CR_NO_SUCH_DEVNODE - CR_NO_MORE_LOG_CONF CONFIGRET = 0x0000000E - CR_NO_MORE_RES_DES CONFIGRET = 0x0000000F - CR_ALREADY_SUCH_DEVNODE CONFIGRET = 0x00000010 - CR_ALREADY_SUCH_DEVINST = CR_ALREADY_SUCH_DEVNODE - CR_INVALID_RANGE_LIST CONFIGRET = 0x00000011 - CR_INVALID_RANGE CONFIGRET = 0x00000012 - CR_FAILURE CONFIGRET = 0x00000013 - CR_NO_SUCH_LOGICAL_DEV CONFIGRET = 0x00000014 - CR_CREATE_BLOCKED CONFIGRET = 0x00000015 - CR_NOT_SYSTEM_VM CONFIGRET = 0x00000016 - CR_REMOVE_VETOED CONFIGRET = 0x00000017 - CR_APM_VETOED CONFIGRET = 0x00000018 - CR_INVALID_LOAD_TYPE CONFIGRET = 0x00000019 - CR_BUFFER_SMALL CONFIGRET = 0x0000001A - CR_NO_ARBITRATOR CONFIGRET = 0x0000001B - CR_NO_REGISTRY_HANDLE CONFIGRET = 0x0000001C - CR_REGISTRY_ERROR CONFIGRET = 0x0000001D - CR_INVALID_DEVICE_ID CONFIGRET = 0x0000001E - CR_INVALID_DATA CONFIGRET = 0x0000001F - CR_INVALID_API CONFIGRET = 0x00000020 - CR_DEVLOADER_NOT_READY CONFIGRET = 0x00000021 - CR_NEED_RESTART CONFIGRET = 0x00000022 - CR_NO_MORE_HW_PROFILES CONFIGRET = 0x00000023 - CR_DEVICE_NOT_THERE CONFIGRET = 0x00000024 - CR_NO_SUCH_VALUE CONFIGRET = 0x00000025 - CR_WRONG_TYPE CONFIGRET = 0x00000026 - CR_INVALID_PRIORITY CONFIGRET = 0x00000027 - CR_NOT_DISABLEABLE CONFIGRET = 0x00000028 - CR_FREE_RESOURCES CONFIGRET = 0x00000029 - CR_QUERY_VETOED CONFIGRET = 0x0000002A - CR_CANT_SHARE_IRQ CONFIGRET = 0x0000002B - CR_NO_DEPENDENT CONFIGRET = 0x0000002C - CR_SAME_RESOURCES CONFIGRET = 0x0000002D - CR_NO_SUCH_REGISTRY_KEY CONFIGRET = 0x0000002E - CR_INVALID_MACHINENAME CONFIGRET = 0x0000002F - CR_REMOTE_COMM_FAILURE CONFIGRET = 0x00000030 - CR_MACHINE_UNAVAILABLE CONFIGRET = 0x00000031 - CR_NO_CM_SERVICES CONFIGRET = 0x00000032 - CR_ACCESS_DENIED CONFIGRET = 0x00000033 - CR_CALL_NOT_IMPLEMENTED CONFIGRET = 0x00000034 - CR_INVALID_PROPERTY CONFIGRET = 0x00000035 - CR_DEVICE_INTERFACE_ACTIVE CONFIGRET = 0x00000036 - CR_NO_SUCH_DEVICE_INTERFACE CONFIGRET = 0x00000037 - CR_INVALID_REFERENCE_STRING CONFIGRET = 0x00000038 - CR_INVALID_CONFLICT_LIST CONFIGRET = 0x00000039 - CR_INVALID_INDEX CONFIGRET = 0x0000003A - CR_INVALID_STRUCTURE_SIZE CONFIGRET = 0x0000003B - NUM_CR_RESULTS CONFIGRET = 0x0000003C -) - -const ( - CM_GET_DEVICE_INTERFACE_LIST_PRESENT = 0 // only currently 'live' device interfaces - CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES = 1 // all registered device interfaces, live or not -) - -const ( - DN_ROOT_ENUMERATED = 0x00000001 // Was enumerated by ROOT - DN_DRIVER_LOADED = 0x00000002 // Has Register_Device_Driver - DN_ENUM_LOADED = 0x00000004 // Has Register_Enumerator - DN_STARTED = 0x00000008 // Is currently configured - DN_MANUAL = 0x00000010 // Manually installed - DN_NEED_TO_ENUM = 0x00000020 // May need reenumeration - DN_NOT_FIRST_TIME = 0x00000040 // Has received a config - DN_HARDWARE_ENUM = 0x00000080 // Enum generates hardware ID - DN_LIAR = 0x00000100 // Lied about can reconfig once - DN_HAS_MARK = 0x00000200 // Not CM_Create_DevInst lately - DN_HAS_PROBLEM = 0x00000400 // Need device installer - DN_FILTERED = 0x00000800 // Is filtered - DN_MOVED = 0x00001000 // Has been moved - DN_DISABLEABLE = 0x00002000 // Can be disabled - DN_REMOVABLE = 0x00004000 // Can be removed - DN_PRIVATE_PROBLEM = 0x00008000 // Has a private problem - DN_MF_PARENT = 0x00010000 // Multi function parent - DN_MF_CHILD = 0x00020000 // Multi function child - DN_WILL_BE_REMOVED = 0x00040000 // DevInst is being removed - DN_NOT_FIRST_TIMEE = 0x00080000 // Has received a config enumerate - DN_STOP_FREE_RES = 0x00100000 // When child is stopped, free resources - DN_REBAL_CANDIDATE = 0x00200000 // Don't skip during rebalance - DN_BAD_PARTIAL = 0x00400000 // This devnode's log_confs do not have same resources - DN_NT_ENUMERATOR = 0x00800000 // This devnode's is an NT enumerator - DN_NT_DRIVER = 0x01000000 // This devnode's is an NT driver - DN_NEEDS_LOCKING = 0x02000000 // Devnode need lock resume processing - DN_ARM_WAKEUP = 0x04000000 // Devnode can be the wakeup device - DN_APM_ENUMERATOR = 0x08000000 // APM aware enumerator - DN_APM_DRIVER = 0x10000000 // APM aware driver - DN_SILENT_INSTALL = 0x20000000 // Silent install - DN_NO_SHOW_IN_DM = 0x40000000 // No show in device manager - DN_BOOT_LOG_PROB = 0x80000000 // Had a problem during preassignment of boot log conf - DN_NEED_RESTART = DN_LIAR // System needs to be restarted for this Devnode to work properly - DN_DRIVER_BLOCKED = DN_NOT_FIRST_TIME // One or more drivers are blocked from loading for this Devnode - DN_LEGACY_DRIVER = DN_MOVED // This device is using a legacy driver - DN_CHILD_WITH_INVALID_ID = DN_HAS_MARK // One or more children have invalid IDs - DN_DEVICE_DISCONNECTED = DN_NEEDS_LOCKING // The function driver for a device reported that the device is not connected. Typically this means a wireless device is out of range. - DN_QUERY_REMOVE_PENDING = DN_MF_PARENT // Device is part of a set of related devices collectively pending query-removal - DN_QUERY_REMOVE_ACTIVE = DN_MF_CHILD // Device is actively engaged in a query-remove IRP - DN_CHANGEABLE_FLAGS = DN_NOT_FIRST_TIME | DN_HARDWARE_ENUM | DN_HAS_MARK | DN_DISABLEABLE | DN_REMOVABLE | DN_MF_CHILD | DN_MF_PARENT | DN_NOT_FIRST_TIMEE | DN_STOP_FREE_RES | DN_REBAL_CANDIDATE | DN_NT_ENUMERATOR | DN_NT_DRIVER | DN_SILENT_INSTALL | DN_NO_SHOW_IN_DM -) - -//sys setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName *uint16, reserved uintptr) (handle DevInfo, err error) [failretval==DevInfo(InvalidHandle)] = setupapi.SetupDiCreateDeviceInfoListExW - -// SetupDiCreateDeviceInfoListEx function creates an empty device information set on a remote or a local computer and optionally associates the set with a device setup class. -func SetupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName string) (deviceInfoSet DevInfo, err error) { - var machineNameUTF16 *uint16 - if machineName != "" { - machineNameUTF16, err = UTF16PtrFromString(machineName) - if err != nil { - return - } - } - return setupDiCreateDeviceInfoListEx(classGUID, hwndParent, machineNameUTF16, 0) -} - -//sys setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailData *DevInfoListDetailData) (err error) = setupapi.SetupDiGetDeviceInfoListDetailW - -// SetupDiGetDeviceInfoListDetail function retrieves information associated with a device information set including the class GUID, remote computer handle, and remote computer name. -func SetupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo) (deviceInfoSetDetailData *DevInfoListDetailData, err error) { - data := &DevInfoListDetailData{} - data.size = data.unsafeSizeOf() - - return data, setupDiGetDeviceInfoListDetail(deviceInfoSet, data) -} - -// DeviceInfoListDetail method retrieves information associated with a device information set including the class GUID, remote computer handle, and remote computer name. -func (deviceInfoSet DevInfo) DeviceInfoListDetail() (*DevInfoListDetailData, error) { - return SetupDiGetDeviceInfoListDetail(deviceInfoSet) -} - -//sys setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUID *GUID, DeviceDescription *uint16, hwndParent uintptr, CreationFlags DICD, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiCreateDeviceInfoW - -// SetupDiCreateDeviceInfo function creates a new device information element and adds it as a new member to the specified device information set. -func SetupDiCreateDeviceInfo(deviceInfoSet DevInfo, deviceName string, classGUID *GUID, deviceDescription string, hwndParent uintptr, creationFlags DICD) (deviceInfoData *DevInfoData, err error) { - deviceNameUTF16, err := UTF16PtrFromString(deviceName) - if err != nil { - return - } - - var deviceDescriptionUTF16 *uint16 - if deviceDescription != "" { - deviceDescriptionUTF16, err = UTF16PtrFromString(deviceDescription) - if err != nil { - return - } - } - - data := &DevInfoData{} - data.size = uint32(unsafe.Sizeof(*data)) - - return data, setupDiCreateDeviceInfo(deviceInfoSet, deviceNameUTF16, classGUID, deviceDescriptionUTF16, hwndParent, creationFlags, data) -} - -// CreateDeviceInfo method creates a new device information element and adds it as a new member to the specified device information set. -func (deviceInfoSet DevInfo) CreateDeviceInfo(deviceName string, classGUID *GUID, deviceDescription string, hwndParent uintptr, creationFlags DICD) (*DevInfoData, error) { - return SetupDiCreateDeviceInfo(deviceInfoSet, deviceName, classGUID, deviceDescription, hwndParent, creationFlags) -} - -//sys setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiEnumDeviceInfo - -// SetupDiEnumDeviceInfo function returns a DevInfoData structure that specifies a device information element in a device information set. -func SetupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex int) (*DevInfoData, error) { - data := &DevInfoData{} - data.size = uint32(unsafe.Sizeof(*data)) - - return data, setupDiEnumDeviceInfo(deviceInfoSet, uint32(memberIndex), data) -} - -// EnumDeviceInfo method returns a DevInfoData structure that specifies a device information element in a device information set. -func (deviceInfoSet DevInfo) EnumDeviceInfo(memberIndex int) (*DevInfoData, error) { - return SetupDiEnumDeviceInfo(deviceInfoSet, memberIndex) -} - -// SetupDiDestroyDeviceInfoList function deletes a device information set and frees all associated memory. -//sys SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) = setupapi.SetupDiDestroyDeviceInfoList - -// Close method deletes a device information set and frees all associated memory. -func (deviceInfoSet DevInfo) Close() error { - return SetupDiDestroyDeviceInfoList(deviceInfoSet) -} - -//sys SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) = setupapi.SetupDiBuildDriverInfoList - -// BuildDriverInfoList method builds a list of drivers that is associated with a specific device or with the global class driver list for a device information set. -func (deviceInfoSet DevInfo) BuildDriverInfoList(deviceInfoData *DevInfoData, driverType SPDIT) error { - return SetupDiBuildDriverInfoList(deviceInfoSet, deviceInfoData, driverType) -} - -//sys SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) = setupapi.SetupDiCancelDriverInfoSearch - -// CancelDriverInfoSearch method cancels a driver list search that is currently in progress in a different thread. -func (deviceInfoSet DevInfo) CancelDriverInfoSearch() error { - return SetupDiCancelDriverInfoSearch(deviceInfoSet) -} - -//sys setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex uint32, driverInfoData *DrvInfoData) (err error) = setupapi.SetupDiEnumDriverInfoW - -// SetupDiEnumDriverInfo function enumerates the members of a driver list. -func SetupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex int) (*DrvInfoData, error) { - data := &DrvInfoData{} - data.size = uint32(unsafe.Sizeof(*data)) - - return data, setupDiEnumDriverInfo(deviceInfoSet, deviceInfoData, driverType, uint32(memberIndex), data) -} - -// EnumDriverInfo method enumerates the members of a driver list. -func (deviceInfoSet DevInfo) EnumDriverInfo(deviceInfoData *DevInfoData, driverType SPDIT, memberIndex int) (*DrvInfoData, error) { - return SetupDiEnumDriverInfo(deviceInfoSet, deviceInfoData, driverType, memberIndex) -} - -//sys setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) = setupapi.SetupDiGetSelectedDriverW - -// SetupDiGetSelectedDriver function retrieves the selected driver for a device information set or a particular device information element. -func SetupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (*DrvInfoData, error) { - data := &DrvInfoData{} - data.size = uint32(unsafe.Sizeof(*data)) - - return data, setupDiGetSelectedDriver(deviceInfoSet, deviceInfoData, data) -} - -// SelectedDriver method retrieves the selected driver for a device information set or a particular device information element. -func (deviceInfoSet DevInfo) SelectedDriver(deviceInfoData *DevInfoData) (*DrvInfoData, error) { - return SetupDiGetSelectedDriver(deviceInfoSet, deviceInfoData) -} - -//sys SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) = setupapi.SetupDiSetSelectedDriverW - -// SetSelectedDriver method sets, or resets, the selected driver for a device information element or the selected class driver for a device information set. -func (deviceInfoSet DevInfo) SetSelectedDriver(deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) error { - return SetupDiSetSelectedDriver(deviceInfoSet, deviceInfoData, driverInfoData) -} - -//sys setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData, driverInfoDetailData *DrvInfoDetailData, driverInfoDetailDataSize uint32, requiredSize *uint32) (err error) = setupapi.SetupDiGetDriverInfoDetailW - -// SetupDiGetDriverInfoDetail function retrieves driver information detail for a device information set or a particular device information element in the device information set. -func SetupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (*DrvInfoDetailData, error) { - reqSize := uint32(2048) - for { - buf := make([]byte, reqSize) - data := (*DrvInfoDetailData)(unsafe.Pointer(&buf[0])) - data.size = data.unsafeSizeOf() - err := setupDiGetDriverInfoDetail(deviceInfoSet, deviceInfoData, driverInfoData, data, uint32(len(buf)), &reqSize) - if err == ERROR_INSUFFICIENT_BUFFER { - continue - } - if err != nil { - return nil, err - } - data.size = reqSize - return data, nil - } -} - -// DriverInfoDetail method retrieves driver information detail for a device information set or a particular device information element in the device information set. -func (deviceInfoSet DevInfo) DriverInfoDetail(deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (*DrvInfoDetailData, error) { - return SetupDiGetDriverInfoDetail(deviceInfoSet, deviceInfoData, driverInfoData) -} - -//sys SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) = setupapi.SetupDiDestroyDriverInfoList - -// DestroyDriverInfoList method deletes a driver list. -func (deviceInfoSet DevInfo) DestroyDriverInfoList(deviceInfoData *DevInfoData, driverType SPDIT) error { - return SetupDiDestroyDriverInfoList(deviceInfoSet, deviceInfoData, driverType) -} - -//sys setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintptr, Flags DIGCF, deviceInfoSet DevInfo, machineName *uint16, reserved uintptr) (handle DevInfo, err error) [failretval==DevInfo(InvalidHandle)] = setupapi.SetupDiGetClassDevsExW - -// SetupDiGetClassDevsEx function returns a handle to a device information set that contains requested device information elements for a local or a remote computer. -func SetupDiGetClassDevsEx(classGUID *GUID, enumerator string, hwndParent uintptr, flags DIGCF, deviceInfoSet DevInfo, machineName string) (handle DevInfo, err error) { - var enumeratorUTF16 *uint16 - if enumerator != "" { - enumeratorUTF16, err = UTF16PtrFromString(enumerator) - if err != nil { - return - } - } - var machineNameUTF16 *uint16 - if machineName != "" { - machineNameUTF16, err = UTF16PtrFromString(machineName) - if err != nil { - return - } - } - return setupDiGetClassDevsEx(classGUID, enumeratorUTF16, hwndParent, flags, deviceInfoSet, machineNameUTF16, 0) -} - -// SetupDiCallClassInstaller function calls the appropriate class installer, and any registered co-installers, with the specified installation request (DIF code). -//sys SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiCallClassInstaller - -// CallClassInstaller member calls the appropriate class installer, and any registered co-installers, with the specified installation request (DIF code). -func (deviceInfoSet DevInfo) CallClassInstaller(installFunction DI_FUNCTION, deviceInfoData *DevInfoData) error { - return SetupDiCallClassInstaller(installFunction, deviceInfoSet, deviceInfoData) -} - -// SetupDiOpenDevRegKey function opens a registry key for device-specific configuration information. -//sys SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (key Handle, err error) [failretval==InvalidHandle] = setupapi.SetupDiOpenDevRegKey - -// OpenDevRegKey method opens a registry key for device-specific configuration information. -func (deviceInfoSet DevInfo) OpenDevRegKey(DeviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (Handle, error) { - return SetupDiOpenDevRegKey(deviceInfoSet, DeviceInfoData, Scope, HwProfile, KeyType, samDesired) -} - -//sys setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY, propertyType *DEVPROPTYPE, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32, flags uint32) (err error) = setupapi.SetupDiGetDevicePropertyW - -// SetupDiGetDeviceProperty function retrieves a specified device instance property. -func SetupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY) (value interface{}, err error) { - reqSize := uint32(256) - for { - var dataType DEVPROPTYPE - buf := make([]byte, reqSize) - err = setupDiGetDeviceProperty(deviceInfoSet, deviceInfoData, propertyKey, &dataType, &buf[0], uint32(len(buf)), &reqSize, 0) - if err == ERROR_INSUFFICIENT_BUFFER { - continue - } - if err != nil { - return - } - switch dataType { - case DEVPROP_TYPE_STRING: - ret := UTF16ToString(bufToUTF16(buf)) - runtime.KeepAlive(buf) - return ret, nil - } - return nil, errors.New("unimplemented property type") - } -} - -//sys setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyRegDataType *uint32, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32) (err error) = setupapi.SetupDiGetDeviceRegistryPropertyW - -// SetupDiGetDeviceRegistryProperty function retrieves a specified Plug and Play device property. -func SetupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP) (value interface{}, err error) { - reqSize := uint32(256) - for { - var dataType uint32 - buf := make([]byte, reqSize) - err = setupDiGetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, &dataType, &buf[0], uint32(len(buf)), &reqSize) - if err == ERROR_INSUFFICIENT_BUFFER { - continue - } - if err != nil { - return - } - return getRegistryValue(buf[:reqSize], dataType) - } -} - -func getRegistryValue(buf []byte, dataType uint32) (interface{}, error) { - switch dataType { - case REG_SZ: - ret := UTF16ToString(bufToUTF16(buf)) - runtime.KeepAlive(buf) - return ret, nil - case REG_EXPAND_SZ: - value := UTF16ToString(bufToUTF16(buf)) - if value == "" { - return "", nil - } - p, err := syscall.UTF16PtrFromString(value) - if err != nil { - return "", err - } - ret := make([]uint16, 100) - for { - n, err := ExpandEnvironmentStrings(p, &ret[0], uint32(len(ret))) - if err != nil { - return "", err - } - if n <= uint32(len(ret)) { - return UTF16ToString(ret[:n]), nil - } - ret = make([]uint16, n) - } - case REG_BINARY: - return buf, nil - case REG_DWORD_LITTLE_ENDIAN: - return binary.LittleEndian.Uint32(buf), nil - case REG_DWORD_BIG_ENDIAN: - return binary.BigEndian.Uint32(buf), nil - case REG_MULTI_SZ: - bufW := bufToUTF16(buf) - a := []string{} - for i := 0; i < len(bufW); { - j := i + wcslen(bufW[i:]) - if i < j { - a = append(a, UTF16ToString(bufW[i:j])) - } - i = j + 1 - } - runtime.KeepAlive(buf) - return a, nil - case REG_QWORD_LITTLE_ENDIAN: - return binary.LittleEndian.Uint64(buf), nil - default: - return nil, fmt.Errorf("Unsupported registry value type: %v", dataType) - } -} - -// bufToUTF16 function reinterprets []byte buffer as []uint16 -func bufToUTF16(buf []byte) []uint16 { - sl := struct { - addr *uint16 - len int - cap int - }{(*uint16)(unsafe.Pointer(&buf[0])), len(buf) / 2, cap(buf) / 2} - return *(*[]uint16)(unsafe.Pointer(&sl)) -} - -// utf16ToBuf function reinterprets []uint16 as []byte -func utf16ToBuf(buf []uint16) []byte { - sl := struct { - addr *byte - len int - cap int - }{(*byte)(unsafe.Pointer(&buf[0])), len(buf) * 2, cap(buf) * 2} - return *(*[]byte)(unsafe.Pointer(&sl)) -} - -func wcslen(str []uint16) int { - for i := 0; i < len(str); i++ { - if str[i] == 0 { - return i - } - } - return len(str) -} - -// DeviceRegistryProperty method retrieves a specified Plug and Play device property. -func (deviceInfoSet DevInfo) DeviceRegistryProperty(deviceInfoData *DevInfoData, property SPDRP) (interface{}, error) { - return SetupDiGetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property) -} - -//sys setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffer *byte, propertyBufferSize uint32) (err error) = setupapi.SetupDiSetDeviceRegistryPropertyW - -// SetupDiSetDeviceRegistryProperty function sets a Plug and Play device property for a device. -func SetupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffers []byte) error { - return setupDiSetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, &propertyBuffers[0], uint32(len(propertyBuffers))) -} - -// SetDeviceRegistryProperty function sets a Plug and Play device property for a device. -func (deviceInfoSet DevInfo) SetDeviceRegistryProperty(deviceInfoData *DevInfoData, property SPDRP, propertyBuffers []byte) error { - return SetupDiSetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, propertyBuffers) -} - -// SetDeviceRegistryPropertyString method sets a Plug and Play device property string for a device. -func (deviceInfoSet DevInfo) SetDeviceRegistryPropertyString(deviceInfoData *DevInfoData, property SPDRP, str string) error { - str16, err := UTF16FromString(str) - if err != nil { - return err - } - err = SetupDiSetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, utf16ToBuf(append(str16, 0))) - runtime.KeepAlive(str16) - return err -} - -//sys setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) = setupapi.SetupDiGetDeviceInstallParamsW - -// SetupDiGetDeviceInstallParams function retrieves device installation parameters for a device information set or a particular device information element. -func SetupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (*DevInstallParams, error) { - params := &DevInstallParams{} - params.size = uint32(unsafe.Sizeof(*params)) - - return params, setupDiGetDeviceInstallParams(deviceInfoSet, deviceInfoData, params) -} - -// DeviceInstallParams method retrieves device installation parameters for a device information set or a particular device information element. -func (deviceInfoSet DevInfo) DeviceInstallParams(deviceInfoData *DevInfoData) (*DevInstallParams, error) { - return SetupDiGetDeviceInstallParams(deviceInfoSet, deviceInfoData) -} - -//sys setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, instanceId *uint16, instanceIdSize uint32, instanceIdRequiredSize *uint32) (err error) = setupapi.SetupDiGetDeviceInstanceIdW - -// SetupDiGetDeviceInstanceId function retrieves the instance ID of the device. -func SetupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (string, error) { - reqSize := uint32(1024) - for { - buf := make([]uint16, reqSize) - err := setupDiGetDeviceInstanceId(deviceInfoSet, deviceInfoData, &buf[0], uint32(len(buf)), &reqSize) - if err == ERROR_INSUFFICIENT_BUFFER { - continue - } - if err != nil { - return "", err - } - return UTF16ToString(buf), nil - } -} - -// DeviceInstanceID method retrieves the instance ID of the device. -func (deviceInfoSet DevInfo) DeviceInstanceID(deviceInfoData *DevInfoData) (string, error) { - return SetupDiGetDeviceInstanceId(deviceInfoSet, deviceInfoData) -} - -// SetupDiGetClassInstallParams function retrieves class installation parameters for a device information set or a particular device information element. -//sys SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) (err error) = setupapi.SetupDiGetClassInstallParamsW - -// ClassInstallParams method retrieves class installation parameters for a device information set or a particular device information element. -func (deviceInfoSet DevInfo) ClassInstallParams(deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) error { - return SetupDiGetClassInstallParams(deviceInfoSet, deviceInfoData, classInstallParams, classInstallParamsSize, requiredSize) -} - -//sys SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) = setupapi.SetupDiSetDeviceInstallParamsW - -// SetDeviceInstallParams member sets device installation parameters for a device information set or a particular device information element. -func (deviceInfoSet DevInfo) SetDeviceInstallParams(deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) error { - return SetupDiSetDeviceInstallParams(deviceInfoSet, deviceInfoData, deviceInstallParams) -} - -// SetupDiSetClassInstallParams function sets or clears class install parameters for a device information set or a particular device information element. -//sys SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) (err error) = setupapi.SetupDiSetClassInstallParamsW - -// SetClassInstallParams method sets or clears class install parameters for a device information set or a particular device information element. -func (deviceInfoSet DevInfo) SetClassInstallParams(deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) error { - return SetupDiSetClassInstallParams(deviceInfoSet, deviceInfoData, classInstallParams, classInstallParamsSize) -} - -//sys setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) = setupapi.SetupDiClassNameFromGuidExW - -// SetupDiClassNameFromGuidEx function retrieves the class name associated with a class GUID. The class can be installed on a local or remote computer. -func SetupDiClassNameFromGuidEx(classGUID *GUID, machineName string) (className string, err error) { - var classNameUTF16 [MAX_CLASS_NAME_LEN]uint16 - - var machineNameUTF16 *uint16 - if machineName != "" { - machineNameUTF16, err = UTF16PtrFromString(machineName) - if err != nil { - return - } - } - - err = setupDiClassNameFromGuidEx(classGUID, &classNameUTF16[0], MAX_CLASS_NAME_LEN, nil, machineNameUTF16, 0) - if err != nil { - return - } - - className = UTF16ToString(classNameUTF16[:]) - return -} - -//sys setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGuidListSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) = setupapi.SetupDiClassGuidsFromNameExW - -// SetupDiClassGuidsFromNameEx function retrieves the GUIDs associated with the specified class name. This resulting list contains the classes currently installed on a local or remote computer. -func SetupDiClassGuidsFromNameEx(className string, machineName string) ([]GUID, error) { - classNameUTF16, err := UTF16PtrFromString(className) - if err != nil { - return nil, err - } - - var machineNameUTF16 *uint16 - if machineName != "" { - machineNameUTF16, err = UTF16PtrFromString(machineName) - if err != nil { - return nil, err - } - } - - reqSize := uint32(4) - for { - buf := make([]GUID, reqSize) - err = setupDiClassGuidsFromNameEx(classNameUTF16, &buf[0], uint32(len(buf)), &reqSize, machineNameUTF16, 0) - if err == ERROR_INSUFFICIENT_BUFFER { - continue - } - if err != nil { - return nil, err - } - return buf[:reqSize], nil - } -} - -//sys setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiGetSelectedDevice - -// SetupDiGetSelectedDevice function retrieves the selected device information element in a device information set. -func SetupDiGetSelectedDevice(deviceInfoSet DevInfo) (*DevInfoData, error) { - data := &DevInfoData{} - data.size = uint32(unsafe.Sizeof(*data)) - - return data, setupDiGetSelectedDevice(deviceInfoSet, data) -} - -// SelectedDevice method retrieves the selected device information element in a device information set. -func (deviceInfoSet DevInfo) SelectedDevice() (*DevInfoData, error) { - return SetupDiGetSelectedDevice(deviceInfoSet) -} - -// SetupDiSetSelectedDevice function sets a device information element as the selected member of a device information set. This function is typically used by an installation wizard. -//sys SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiSetSelectedDevice - -// SetSelectedDevice method sets a device information element as the selected member of a device information set. This function is typically used by an installation wizard. -func (deviceInfoSet DevInfo) SetSelectedDevice(deviceInfoData *DevInfoData) error { - return SetupDiSetSelectedDevice(deviceInfoSet, deviceInfoData) -} - -//sys setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (err error) = setupapi.SetupUninstallOEMInfW - -// SetupUninstallOEMInf uninstalls the specified driver. -func SetupUninstallOEMInf(infFileName string, flags SUOI) error { - infFileName16, err := UTF16PtrFromString(infFileName) - if err != nil { - return err - } - return setupUninstallOEMInf(infFileName16, flags, 0) -} - -//sys cm_MapCrToWin32Err(configRet CONFIGRET, defaultWin32Error Errno) (ret Errno) = CfgMgr32.CM_MapCrToWin32Err - -//sys cm_Get_Device_Interface_List_Size(len *uint32, interfaceClass *GUID, deviceID *uint16, flags uint32) (ret CONFIGRET) = CfgMgr32.CM_Get_Device_Interface_List_SizeW -//sys cm_Get_Device_Interface_List(interfaceClass *GUID, deviceID *uint16, buffer *uint16, bufferLen uint32, flags uint32) (ret CONFIGRET) = CfgMgr32.CM_Get_Device_Interface_ListW - -func CM_Get_Device_Interface_List(deviceID string, interfaceClass *GUID, flags uint32) ([]string, error) { - deviceID16, err := UTF16PtrFromString(deviceID) - if err != nil { - return nil, err - } - var buf []uint16 - var buflen uint32 - for { - if ret := cm_Get_Device_Interface_List_Size(&buflen, interfaceClass, deviceID16, flags); ret != CR_SUCCESS { - return nil, ret - } - buf = make([]uint16, buflen) - if ret := cm_Get_Device_Interface_List(interfaceClass, deviceID16, &buf[0], buflen, flags); ret == CR_SUCCESS { - break - } else if ret != CR_BUFFER_SMALL { - return nil, ret - } - } - var interfaces []string - for i := 0; i < len(buf); { - j := i + wcslen(buf[i:]) - if i < j { - interfaces = append(interfaces, UTF16ToString(buf[i:j])) - } - i = j + 1 - } - if interfaces == nil { - return nil, ERROR_NO_SUCH_DEVICE_INTERFACE - } - return interfaces, nil -} - -//sys cm_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) (ret CONFIGRET) = CfgMgr32.CM_Get_DevNode_Status - -func CM_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) error { - ret := cm_Get_DevNode_Status(status, problemNumber, devInst, flags) - if ret == CR_SUCCESS { - return nil - } - return ret -} diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/setupapierrors_windows.go b/cmd/sync/vendor/golang.org/x/sys/windows/setupapierrors_windows.go new file mode 100644 index 00000000..1681810e --- /dev/null +++ b/cmd/sync/vendor/golang.org/x/sys/windows/setupapierrors_windows.go @@ -0,0 +1,100 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +import "syscall" + +const ( + ERROR_EXPECTED_SECTION_NAME syscall.Errno = 0x20000000 | 0xC0000000 | 0 + ERROR_BAD_SECTION_NAME_LINE syscall.Errno = 0x20000000 | 0xC0000000 | 1 + ERROR_SECTION_NAME_TOO_LONG syscall.Errno = 0x20000000 | 0xC0000000 | 2 + ERROR_GENERAL_SYNTAX syscall.Errno = 0x20000000 | 0xC0000000 | 3 + ERROR_WRONG_INF_STYLE syscall.Errno = 0x20000000 | 0xC0000000 | 0x100 + ERROR_SECTION_NOT_FOUND syscall.Errno = 0x20000000 | 0xC0000000 | 0x101 + ERROR_LINE_NOT_FOUND syscall.Errno = 0x20000000 | 0xC0000000 | 0x102 + ERROR_NO_BACKUP syscall.Errno = 0x20000000 | 0xC0000000 | 0x103 + ERROR_NO_ASSOCIATED_CLASS syscall.Errno = 0x20000000 | 0xC0000000 | 0x200 + ERROR_CLASS_MISMATCH syscall.Errno = 0x20000000 | 0xC0000000 | 0x201 + ERROR_DUPLICATE_FOUND syscall.Errno = 0x20000000 | 0xC0000000 | 0x202 + ERROR_NO_DRIVER_SELECTED syscall.Errno = 0x20000000 | 0xC0000000 | 0x203 + ERROR_KEY_DOES_NOT_EXIST syscall.Errno = 0x20000000 | 0xC0000000 | 0x204 + ERROR_INVALID_DEVINST_NAME syscall.Errno = 0x20000000 | 0xC0000000 | 0x205 + ERROR_INVALID_CLASS syscall.Errno = 0x20000000 | 0xC0000000 | 0x206 + ERROR_DEVINST_ALREADY_EXISTS syscall.Errno = 0x20000000 | 0xC0000000 | 0x207 + ERROR_DEVINFO_NOT_REGISTERED syscall.Errno = 0x20000000 | 0xC0000000 | 0x208 + ERROR_INVALID_REG_PROPERTY syscall.Errno = 0x20000000 | 0xC0000000 | 0x209 + ERROR_NO_INF syscall.Errno = 0x20000000 | 0xC0000000 | 0x20A + ERROR_NO_SUCH_DEVINST syscall.Errno = 0x20000000 | 0xC0000000 | 0x20B + ERROR_CANT_LOAD_CLASS_ICON syscall.Errno = 0x20000000 | 0xC0000000 | 0x20C + ERROR_INVALID_CLASS_INSTALLER syscall.Errno = 0x20000000 | 0xC0000000 | 0x20D + ERROR_DI_DO_DEFAULT syscall.Errno = 0x20000000 | 0xC0000000 | 0x20E + ERROR_DI_NOFILECOPY syscall.Errno = 0x20000000 | 0xC0000000 | 0x20F + ERROR_INVALID_HWPROFILE syscall.Errno = 0x20000000 | 0xC0000000 | 0x210 + ERROR_NO_DEVICE_SELECTED syscall.Errno = 0x20000000 | 0xC0000000 | 0x211 + ERROR_DEVINFO_LIST_LOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x212 + ERROR_DEVINFO_DATA_LOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x213 + ERROR_DI_BAD_PATH syscall.Errno = 0x20000000 | 0xC0000000 | 0x214 + ERROR_NO_CLASSINSTALL_PARAMS syscall.Errno = 0x20000000 | 0xC0000000 | 0x215 + ERROR_FILEQUEUE_LOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x216 + ERROR_BAD_SERVICE_INSTALLSECT syscall.Errno = 0x20000000 | 0xC0000000 | 0x217 + ERROR_NO_CLASS_DRIVER_LIST syscall.Errno = 0x20000000 | 0xC0000000 | 0x218 + ERROR_NO_ASSOCIATED_SERVICE syscall.Errno = 0x20000000 | 0xC0000000 | 0x219 + ERROR_NO_DEFAULT_DEVICE_INTERFACE syscall.Errno = 0x20000000 | 0xC0000000 | 0x21A + ERROR_DEVICE_INTERFACE_ACTIVE syscall.Errno = 0x20000000 | 0xC0000000 | 0x21B + ERROR_DEVICE_INTERFACE_REMOVED syscall.Errno = 0x20000000 | 0xC0000000 | 0x21C + ERROR_BAD_INTERFACE_INSTALLSECT syscall.Errno = 0x20000000 | 0xC0000000 | 0x21D + ERROR_NO_SUCH_INTERFACE_CLASS syscall.Errno = 0x20000000 | 0xC0000000 | 0x21E + ERROR_INVALID_REFERENCE_STRING syscall.Errno = 0x20000000 | 0xC0000000 | 0x21F + ERROR_INVALID_MACHINENAME syscall.Errno = 0x20000000 | 0xC0000000 | 0x220 + ERROR_REMOTE_COMM_FAILURE syscall.Errno = 0x20000000 | 0xC0000000 | 0x221 + ERROR_MACHINE_UNAVAILABLE syscall.Errno = 0x20000000 | 0xC0000000 | 0x222 + ERROR_NO_CONFIGMGR_SERVICES syscall.Errno = 0x20000000 | 0xC0000000 | 0x223 + ERROR_INVALID_PROPPAGE_PROVIDER syscall.Errno = 0x20000000 | 0xC0000000 | 0x224 + ERROR_NO_SUCH_DEVICE_INTERFACE syscall.Errno = 0x20000000 | 0xC0000000 | 0x225 + ERROR_DI_POSTPROCESSING_REQUIRED syscall.Errno = 0x20000000 | 0xC0000000 | 0x226 + ERROR_INVALID_COINSTALLER syscall.Errno = 0x20000000 | 0xC0000000 | 0x227 + ERROR_NO_COMPAT_DRIVERS syscall.Errno = 0x20000000 | 0xC0000000 | 0x228 + ERROR_NO_DEVICE_ICON syscall.Errno = 0x20000000 | 0xC0000000 | 0x229 + ERROR_INVALID_INF_LOGCONFIG syscall.Errno = 0x20000000 | 0xC0000000 | 0x22A + ERROR_DI_DONT_INSTALL syscall.Errno = 0x20000000 | 0xC0000000 | 0x22B + ERROR_INVALID_FILTER_DRIVER syscall.Errno = 0x20000000 | 0xC0000000 | 0x22C + ERROR_NON_WINDOWS_NT_DRIVER syscall.Errno = 0x20000000 | 0xC0000000 | 0x22D + ERROR_NON_WINDOWS_DRIVER syscall.Errno = 0x20000000 | 0xC0000000 | 0x22E + ERROR_NO_CATALOG_FOR_OEM_INF syscall.Errno = 0x20000000 | 0xC0000000 | 0x22F + ERROR_DEVINSTALL_QUEUE_NONNATIVE syscall.Errno = 0x20000000 | 0xC0000000 | 0x230 + ERROR_NOT_DISABLEABLE syscall.Errno = 0x20000000 | 0xC0000000 | 0x231 + ERROR_CANT_REMOVE_DEVINST syscall.Errno = 0x20000000 | 0xC0000000 | 0x232 + ERROR_INVALID_TARGET syscall.Errno = 0x20000000 | 0xC0000000 | 0x233 + ERROR_DRIVER_NONNATIVE syscall.Errno = 0x20000000 | 0xC0000000 | 0x234 + ERROR_IN_WOW64 syscall.Errno = 0x20000000 | 0xC0000000 | 0x235 + ERROR_SET_SYSTEM_RESTORE_POINT syscall.Errno = 0x20000000 | 0xC0000000 | 0x236 + ERROR_SCE_DISABLED syscall.Errno = 0x20000000 | 0xC0000000 | 0x238 + ERROR_UNKNOWN_EXCEPTION syscall.Errno = 0x20000000 | 0xC0000000 | 0x239 + ERROR_PNP_REGISTRY_ERROR syscall.Errno = 0x20000000 | 0xC0000000 | 0x23A + ERROR_REMOTE_REQUEST_UNSUPPORTED syscall.Errno = 0x20000000 | 0xC0000000 | 0x23B + ERROR_NOT_AN_INSTALLED_OEM_INF syscall.Errno = 0x20000000 | 0xC0000000 | 0x23C + ERROR_INF_IN_USE_BY_DEVICES syscall.Errno = 0x20000000 | 0xC0000000 | 0x23D + ERROR_DI_FUNCTION_OBSOLETE syscall.Errno = 0x20000000 | 0xC0000000 | 0x23E + ERROR_NO_AUTHENTICODE_CATALOG syscall.Errno = 0x20000000 | 0xC0000000 | 0x23F + ERROR_AUTHENTICODE_DISALLOWED syscall.Errno = 0x20000000 | 0xC0000000 | 0x240 + ERROR_AUTHENTICODE_TRUSTED_PUBLISHER syscall.Errno = 0x20000000 | 0xC0000000 | 0x241 + ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED syscall.Errno = 0x20000000 | 0xC0000000 | 0x242 + ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED syscall.Errno = 0x20000000 | 0xC0000000 | 0x243 + ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH syscall.Errno = 0x20000000 | 0xC0000000 | 0x244 + ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE syscall.Errno = 0x20000000 | 0xC0000000 | 0x245 + ERROR_DEVICE_INSTALLER_NOT_READY syscall.Errno = 0x20000000 | 0xC0000000 | 0x246 + ERROR_DRIVER_STORE_ADD_FAILED syscall.Errno = 0x20000000 | 0xC0000000 | 0x247 + ERROR_DEVICE_INSTALL_BLOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x248 + ERROR_DRIVER_INSTALL_BLOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x249 + ERROR_WRONG_INF_TYPE syscall.Errno = 0x20000000 | 0xC0000000 | 0x24A + ERROR_FILE_HASH_NOT_IN_CATALOG syscall.Errno = 0x20000000 | 0xC0000000 | 0x24B + ERROR_DRIVER_STORE_DELETE_FAILED syscall.Errno = 0x20000000 | 0xC0000000 | 0x24C + ERROR_UNRECOVERABLE_STACK_OVERFLOW syscall.Errno = 0x20000000 | 0xC0000000 | 0x300 + EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW syscall.Errno = ERROR_UNRECOVERABLE_STACK_OVERFLOW + ERROR_NO_DEFAULT_INTERFACE_DEVICE syscall.Errno = ERROR_NO_DEFAULT_DEVICE_INTERFACE + ERROR_INTERFACE_DEVICE_ACTIVE syscall.Errno = ERROR_DEVICE_INTERFACE_ACTIVE + ERROR_INTERFACE_DEVICE_REMOVED syscall.Errno = ERROR_DEVICE_INTERFACE_REMOVED + ERROR_NO_SUCH_INTERFACE_DEVICE syscall.Errno = ERROR_NO_SUCH_DEVICE_INTERFACE +) diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/str.go b/cmd/sync/vendor/golang.org/x/sys/windows/str.go index 4fc01434..917cc2aa 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/str.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/str.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build windows // +build windows package windows diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/syscall.go b/cmd/sync/vendor/golang.org/x/sys/windows/syscall.go index 72074d58..6122f557 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/syscall.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/syscall.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build windows // +build windows // Package windows contains an interface to the low-level operating system diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/syscall_windows.go b/cmd/sync/vendor/golang.org/x/sys/windows/syscall_windows.go index 98b7e4b4..1215b2ae 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -186,8 +186,8 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) //sys GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) = GetNamedPipeHandleStateW //sys SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) = SetNamedPipeHandleState -//sys readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) = ReadFile -//sys writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) = WriteFile +//sys ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) +//sys WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) //sys GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) //sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff] //sys CloseHandle(handle Handle) (err error) @@ -248,7 +248,6 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys FreeEnvironmentStrings(envs *uint16) (err error) = kernel32.FreeEnvironmentStringsW //sys GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) = kernel32.GetEnvironmentVariableW //sys SetEnvironmentVariable(name *uint16, value *uint16) (err error) = kernel32.SetEnvironmentVariableW -//sys ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) = kernel32.ExpandEnvironmentStringsW //sys CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) = userenv.CreateEnvironmentBlock //sys DestroyEnvironmentBlock(block *uint16) (err error) = userenv.DestroyEnvironmentBlock //sys getTickCount64() (ms uint64) = kernel32.GetTickCount64 @@ -275,11 +274,6 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) = kernel32.VirtualAlloc //sys VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) = kernel32.VirtualFree //sys VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) = kernel32.VirtualProtect -//sys VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect uint32, oldProtect *uint32) (err error) = kernel32.VirtualProtectEx -//sys VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) = kernel32.VirtualQuery -//sys VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) = kernel32.VirtualQueryEx -//sys ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesRead *uintptr) (err error) = kernel32.ReadProcessMemory -//sys WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesWritten *uintptr) (err error) = kernel32.WriteProcessMemory //sys TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) = mswsock.TransmitFile //sys ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) = kernel32.ReadDirectoryChangesW //sys FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.FindFirstChangeNotificationW @@ -323,8 +317,6 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW //sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW //sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot -//sys Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32FirstW -//sys Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32NextW //sys Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32FirstW //sys Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32NextW //sys Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) @@ -363,8 +355,6 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) //sys GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) //sys SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) -//sys GetActiveProcessorCount(groupNumber uint16) (ret uint32) -//sys GetMaximumProcessorCount(groupNumber uint16) (ret uint32) // Volume Management Functions //sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW @@ -406,18 +396,8 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys LoadResource(module Handle, resInfo Handle) (resData Handle, err error) = kernel32.LoadResource //sys LockResource(resData Handle) (addr uintptr, err error) = kernel32.LockResource -// Version APIs -//sys GetFileVersionInfoSize(filename string, zeroHandle *Handle) (bufSize uint32, err error) = version.GetFileVersionInfoSizeW -//sys GetFileVersionInfo(filename string, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) = version.GetFileVersionInfoW -//sys VerQueryValue(block unsafe.Pointer, subBlock string, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) = version.VerQueryValueW - // Process Status API (PSAPI) //sys EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) = psapi.EnumProcesses -//sys EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uint32) (err error) = psapi.EnumProcessModules -//sys EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *uint32, filterFlag uint32) (err error) = psapi.EnumProcessModulesEx -//sys GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb uint32) (err error) = psapi.GetModuleInformation -//sys GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size uint32) (err error) = psapi.GetModuleFileNameExW -//sys GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uint32) (err error) = psapi.GetModuleBaseNameW // NT Native APIs //sys rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) = ntdll.RtlNtStatusToDosErrorNoTeb @@ -428,16 +408,11 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys RtlInitString(destinationString *NTString, sourceString *byte) = ntdll.RtlInitString //sys NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) = ntdll.NtCreateFile //sys NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) = ntdll.NtCreateNamedPipeFile -//sys NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) = ntdll.NtSetInformationFile //sys RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToNtPathName_U_WithStatus //sys RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToRelativeNtPathName_U_WithStatus //sys RtlDefaultNpAcl(acl **ACL) (ntstatus error) = ntdll.RtlDefaultNpAcl //sys NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) = ntdll.NtQueryInformationProcess //sys NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) = ntdll.NtSetInformationProcess -//sys NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) = ntdll.NtQuerySystemInformation -//sys NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) = ntdll.NtSetSystemInformation -//sys RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) = ntdll.RtlAddFunctionTable -//sys RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) = ntdll.RtlDeleteFunctionTable // syscall interface implementation for other packages @@ -549,6 +524,12 @@ func Read(fd Handle, p []byte) (n int, err error) { } return 0, e } + if raceenabled { + if done > 0 { + raceWriteRange(unsafe.Pointer(&p[0]), int(done)) + } + raceAcquire(unsafe.Pointer(&ioSync)) + } return int(done), nil } @@ -561,29 +542,10 @@ func Write(fd Handle, p []byte) (n int, err error) { if e != nil { return 0, e } - return int(done), nil -} - -func ReadFile(fd Handle, p []byte, done *uint32, overlapped *Overlapped) error { - err := readFile(fd, p, done, overlapped) - if raceenabled { - if *done > 0 { - raceWriteRange(unsafe.Pointer(&p[0]), int(*done)) - } - raceAcquire(unsafe.Pointer(&ioSync)) - } - return err -} - -func WriteFile(fd Handle, p []byte, done *uint32, overlapped *Overlapped) error { - if raceenabled { - raceReleaseMerge(unsafe.Pointer(&ioSync)) - } - err := writeFile(fd, p, done, overlapped) - if raceenabled && *done > 0 { - raceReadRange(unsafe.Pointer(&p[0]), int(*done)) + if raceenabled && done > 0 { + raceReadRange(unsafe.Pointer(&p[0]), int(done)) } - return err + return int(done), nil } var ioSync int64 @@ -911,7 +873,9 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, int32, error) { p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil } @@ -931,7 +895,9 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, int32, error) { p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) sa.raw.Scope_id = sa.ZoneId - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil } @@ -1004,7 +970,9 @@ func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { sa := new(SockaddrInet4) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil case AF_INET6: @@ -1013,7 +981,9 @@ func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.ZoneId = pp.Scope_id - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil } return nil, syscall.EAFNOSUPPORT diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/types_windows.go b/cmd/sync/vendor/golang.org/x/sys/windows/types_windows.go index e19471c6..1f733398 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/types_windows.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/types_windows.go @@ -66,21 +66,9 @@ var signals = [...]string{ } const ( - FILE_READ_DATA = 0x00000001 - FILE_READ_ATTRIBUTES = 0x00000080 - FILE_READ_EA = 0x00000008 - FILE_WRITE_DATA = 0x00000002 - FILE_WRITE_ATTRIBUTES = 0x00000100 - FILE_WRITE_EA = 0x00000010 + FILE_LIST_DIRECTORY = 0x00000001 FILE_APPEND_DATA = 0x00000004 - FILE_EXECUTE = 0x00000020 - - FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE - FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE - FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE - - FILE_LIST_DIRECTORY = 0x00000001 - FILE_TRAVERSE = 0x00000020 + FILE_WRITE_ATTRIBUTES = 0x00000100 FILE_SHARE_READ = 0x00000001 FILE_SHARE_WRITE = 0x00000002 @@ -156,8 +144,6 @@ const ( MAX_PATH = 260 MAX_LONG_PATH = 32768 - MAX_MODULE_NAME32 = 255 - MAX_COMPUTERNAME_LENGTH = 15 TIME_ZONE_ID_UNKNOWN = 0 @@ -256,14 +242,6 @@ const ( TH32CS_INHERIT = 0x80000000 ) -const ( - // flags for EnumProcessModulesEx - LIST_MODULES_32BIT = 0x01 - LIST_MODULES_64BIT = 0x02 - LIST_MODULES_ALL = 0x03 - LIST_MODULES_DEFAULT = 0x00 -) - const ( // filters for ReadDirectoryChangesW and FindFirstChangeNotificationW FILE_NOTIFY_CHANGE_FILE_NAME = 0x001 @@ -702,7 +680,7 @@ const ( WTD_CHOICE_CERT = 5 WTD_STATEACTION_IGNORE = 0x00000000 - WTD_STATEACTION_VERIFY = 0x00000001 + WTD_STATEACTION_VERIFY = 0x00000010 WTD_STATEACTION_CLOSE = 0x00000002 WTD_STATEACTION_AUTO_CACHE = 0x00000003 WTD_STATEACTION_AUTO_CACHE_FLUSH = 0x00000004 @@ -938,8 +916,8 @@ type StartupInfoEx struct { type ProcThreadAttributeList struct{} type ProcThreadAttributeListContainer struct { - data *ProcThreadAttributeList - pointers []unsafe.Pointer + data *ProcThreadAttributeList + heapAllocations []uintptr } type ProcessInformation struct { @@ -972,21 +950,6 @@ type ThreadEntry32 struct { Flags uint32 } -type ModuleEntry32 struct { - Size uint32 - ModuleID uint32 - ProcessID uint32 - GlblcntUsage uint32 - ProccntUsage uint32 - ModBaseAddr uintptr - ModBaseSize uint32 - ModuleHandle Handle - Module [MAX_MODULE_NAME32 + 1]uint16 - ExePath [MAX_PATH]uint16 -} - -const SizeofModuleEntry32 = unsafe.Sizeof(ModuleEntry32{}) - type Systemtime struct { Year uint16 Month uint16 @@ -1818,53 +1781,7 @@ type reparseDataBuffer struct { } const ( - FSCTL_CREATE_OR_GET_OBJECT_ID = 0x0900C0 - FSCTL_DELETE_OBJECT_ID = 0x0900A0 - FSCTL_DELETE_REPARSE_POINT = 0x0900AC - FSCTL_DUPLICATE_EXTENTS_TO_FILE = 0x098344 - FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX = 0x0983E8 - FSCTL_FILESYSTEM_GET_STATISTICS = 0x090060 - FSCTL_FILE_LEVEL_TRIM = 0x098208 - FSCTL_FIND_FILES_BY_SID = 0x09008F - FSCTL_GET_COMPRESSION = 0x09003C - FSCTL_GET_INTEGRITY_INFORMATION = 0x09027C - FSCTL_GET_NTFS_VOLUME_DATA = 0x090064 - FSCTL_GET_REFS_VOLUME_DATA = 0x0902D8 - FSCTL_GET_OBJECT_ID = 0x09009C - FSCTL_GET_REPARSE_POINT = 0x0900A8 - FSCTL_GET_RETRIEVAL_POINTER_COUNT = 0x09042B - FSCTL_GET_RETRIEVAL_POINTERS = 0x090073 - FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT = 0x0903D3 - FSCTL_IS_PATHNAME_VALID = 0x09002C - FSCTL_LMR_SET_LINK_TRACKING_INFORMATION = 0x1400EC - FSCTL_MARK_HANDLE = 0x0900FC - FSCTL_OFFLOAD_READ = 0x094264 - FSCTL_OFFLOAD_WRITE = 0x098268 - FSCTL_PIPE_PEEK = 0x11400C - FSCTL_PIPE_TRANSCEIVE = 0x11C017 - FSCTL_PIPE_WAIT = 0x110018 - FSCTL_QUERY_ALLOCATED_RANGES = 0x0940CF - FSCTL_QUERY_FAT_BPB = 0x090058 - FSCTL_QUERY_FILE_REGIONS = 0x090284 - FSCTL_QUERY_ON_DISK_VOLUME_INFO = 0x09013C - FSCTL_QUERY_SPARING_INFO = 0x090138 - FSCTL_READ_FILE_USN_DATA = 0x0900EB - FSCTL_RECALL_FILE = 0x090117 - FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT = 0x090440 - FSCTL_SET_COMPRESSION = 0x09C040 - FSCTL_SET_DEFECT_MANAGEMENT = 0x098134 - FSCTL_SET_ENCRYPTION = 0x0900D7 - FSCTL_SET_INTEGRITY_INFORMATION = 0x09C280 - FSCTL_SET_INTEGRITY_INFORMATION_EX = 0x090380 - FSCTL_SET_OBJECT_ID = 0x090098 - FSCTL_SET_OBJECT_ID_EXTENDED = 0x0900BC - FSCTL_SET_REPARSE_POINT = 0x0900A4 - FSCTL_SET_SPARSE = 0x0900C4 - FSCTL_SET_ZERO_DATA = 0x0980C8 - FSCTL_SET_ZERO_ON_DEALLOCATION = 0x090194 - FSCTL_SIS_COPYFILE = 0x090100 - FSCTL_WRITE_USN_CLOSE_RECORD = 0x0900EF - + FSCTL_GET_REPARSE_POINT = 0x900A8 MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 IO_REPARSE_TAG_SYMLINK = 0xA000000C @@ -2383,12 +2300,6 @@ type LIST_ENTRY struct { Blink *LIST_ENTRY } -type RUNTIME_FUNCTION struct { - BeginAddress uint32 - EndAddress uint32 - UnwindData uint32 -} - type LDR_DATA_TABLE_ENTRY struct { reserved1 [2]uintptr InMemoryOrderLinks LIST_ENTRY @@ -2579,60 +2490,6 @@ const ( FILE_PIPE_SERVER_END = 0x00000001 ) -const ( - // FileInformationClass for NtSetInformationFile - FileBasicInformation = 4 - FileRenameInformation = 10 - FileDispositionInformation = 13 - FilePositionInformation = 14 - FileEndOfFileInformation = 20 - FileValidDataLengthInformation = 39 - FileShortNameInformation = 40 - FileIoPriorityHintInformation = 43 - FileReplaceCompletionInformation = 61 - FileDispositionInformationEx = 64 - FileCaseSensitiveInformation = 71 - FileLinkInformation = 72 - FileCaseSensitiveInformationForceAccessCheck = 75 - FileKnownFolderInformation = 76 - - // Flags for FILE_RENAME_INFORMATION - FILE_RENAME_REPLACE_IF_EXISTS = 0x00000001 - FILE_RENAME_POSIX_SEMANTICS = 0x00000002 - FILE_RENAME_SUPPRESS_PIN_STATE_INHERITANCE = 0x00000004 - FILE_RENAME_SUPPRESS_STORAGE_RESERVE_INHERITANCE = 0x00000008 - FILE_RENAME_NO_INCREASE_AVAILABLE_SPACE = 0x00000010 - FILE_RENAME_NO_DECREASE_AVAILABLE_SPACE = 0x00000020 - FILE_RENAME_PRESERVE_AVAILABLE_SPACE = 0x00000030 - FILE_RENAME_IGNORE_READONLY_ATTRIBUTE = 0x00000040 - FILE_RENAME_FORCE_RESIZE_TARGET_SR = 0x00000080 - FILE_RENAME_FORCE_RESIZE_SOURCE_SR = 0x00000100 - FILE_RENAME_FORCE_RESIZE_SR = 0x00000180 - - // Flags for FILE_DISPOSITION_INFORMATION_EX - FILE_DISPOSITION_DO_NOT_DELETE = 0x00000000 - FILE_DISPOSITION_DELETE = 0x00000001 - FILE_DISPOSITION_POSIX_SEMANTICS = 0x00000002 - FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK = 0x00000004 - FILE_DISPOSITION_ON_CLOSE = 0x00000008 - FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE = 0x00000010 - - // Flags for FILE_CASE_SENSITIVE_INFORMATION - FILE_CS_FLAG_CASE_SENSITIVE_DIR = 0x00000001 - - // Flags for FILE_LINK_INFORMATION - FILE_LINK_REPLACE_IF_EXISTS = 0x00000001 - FILE_LINK_POSIX_SEMANTICS = 0x00000002 - FILE_LINK_SUPPRESS_STORAGE_RESERVE_INHERITANCE = 0x00000008 - FILE_LINK_NO_INCREASE_AVAILABLE_SPACE = 0x00000010 - FILE_LINK_NO_DECREASE_AVAILABLE_SPACE = 0x00000020 - FILE_LINK_PRESERVE_AVAILABLE_SPACE = 0x00000030 - FILE_LINK_IGNORE_READONLY_ATTRIBUTE = 0x00000040 - FILE_LINK_FORCE_RESIZE_TARGET_SR = 0x00000080 - FILE_LINK_FORCE_RESIZE_SOURCE_SR = 0x00000100 - FILE_LINK_FORCE_RESIZE_SR = 0x00000180 -) - // ProcessInformationClasses for NtQueryInformationProcess and NtSetInformationProcess. const ( ProcessBasicInformation = iota @@ -2749,240 +2606,6 @@ type PROCESS_BASIC_INFORMATION struct { InheritedFromUniqueProcessId uintptr } -type SYSTEM_PROCESS_INFORMATION struct { - NextEntryOffset uint32 - NumberOfThreads uint32 - WorkingSetPrivateSize int64 - HardFaultCount uint32 - NumberOfThreadsHighWatermark uint32 - CycleTime uint64 - CreateTime int64 - UserTime int64 - KernelTime int64 - ImageName NTUnicodeString - BasePriority int32 - UniqueProcessID uintptr - InheritedFromUniqueProcessID uintptr - HandleCount uint32 - SessionID uint32 - UniqueProcessKey *uint32 - PeakVirtualSize uintptr - VirtualSize uintptr - PageFaultCount uint32 - PeakWorkingSetSize uintptr - WorkingSetSize uintptr - QuotaPeakPagedPoolUsage uintptr - QuotaPagedPoolUsage uintptr - QuotaPeakNonPagedPoolUsage uintptr - QuotaNonPagedPoolUsage uintptr - PagefileUsage uintptr - PeakPagefileUsage uintptr - PrivatePageCount uintptr - ReadOperationCount int64 - WriteOperationCount int64 - OtherOperationCount int64 - ReadTransferCount int64 - WriteTransferCount int64 - OtherTransferCount int64 -} - -// SystemInformationClasses for NtQuerySystemInformation and NtSetSystemInformation -const ( - SystemBasicInformation = iota - SystemProcessorInformation - SystemPerformanceInformation - SystemTimeOfDayInformation - SystemPathInformation - SystemProcessInformation - SystemCallCountInformation - SystemDeviceInformation - SystemProcessorPerformanceInformation - SystemFlagsInformation - SystemCallTimeInformation - SystemModuleInformation - SystemLocksInformation - SystemStackTraceInformation - SystemPagedPoolInformation - SystemNonPagedPoolInformation - SystemHandleInformation - SystemObjectInformation - SystemPageFileInformation - SystemVdmInstemulInformation - SystemVdmBopInformation - SystemFileCacheInformation - SystemPoolTagInformation - SystemInterruptInformation - SystemDpcBehaviorInformation - SystemFullMemoryInformation - SystemLoadGdiDriverInformation - SystemUnloadGdiDriverInformation - SystemTimeAdjustmentInformation - SystemSummaryMemoryInformation - SystemMirrorMemoryInformation - SystemPerformanceTraceInformation - systemObsolete0 - SystemExceptionInformation - SystemCrashDumpStateInformation - SystemKernelDebuggerInformation - SystemContextSwitchInformation - SystemRegistryQuotaInformation - SystemExtendServiceTableInformation - SystemPrioritySeperation - SystemVerifierAddDriverInformation - SystemVerifierRemoveDriverInformation - SystemProcessorIdleInformation - SystemLegacyDriverInformation - SystemCurrentTimeZoneInformation - SystemLookasideInformation - SystemTimeSlipNotification - SystemSessionCreate - SystemSessionDetach - SystemSessionInformation - SystemRangeStartInformation - SystemVerifierInformation - SystemVerifierThunkExtend - SystemSessionProcessInformation - SystemLoadGdiDriverInSystemSpace - SystemNumaProcessorMap - SystemPrefetcherInformation - SystemExtendedProcessInformation - SystemRecommendedSharedDataAlignment - SystemComPlusPackage - SystemNumaAvailableMemory - SystemProcessorPowerInformation - SystemEmulationBasicInformation - SystemEmulationProcessorInformation - SystemExtendedHandleInformation - SystemLostDelayedWriteInformation - SystemBigPoolInformation - SystemSessionPoolTagInformation - SystemSessionMappedViewInformation - SystemHotpatchInformation - SystemObjectSecurityMode - SystemWatchdogTimerHandler - SystemWatchdogTimerInformation - SystemLogicalProcessorInformation - SystemWow64SharedInformationObsolete - SystemRegisterFirmwareTableInformationHandler - SystemFirmwareTableInformation - SystemModuleInformationEx - SystemVerifierTriageInformation - SystemSuperfetchInformation - SystemMemoryListInformation - SystemFileCacheInformationEx - SystemThreadPriorityClientIdInformation - SystemProcessorIdleCycleTimeInformation - SystemVerifierCancellationInformation - SystemProcessorPowerInformationEx - SystemRefTraceInformation - SystemSpecialPoolInformation - SystemProcessIdInformation - SystemErrorPortInformation - SystemBootEnvironmentInformation - SystemHypervisorInformation - SystemVerifierInformationEx - SystemTimeZoneInformation - SystemImageFileExecutionOptionsInformation - SystemCoverageInformation - SystemPrefetchPatchInformation - SystemVerifierFaultsInformation - SystemSystemPartitionInformation - SystemSystemDiskInformation - SystemProcessorPerformanceDistribution - SystemNumaProximityNodeInformation - SystemDynamicTimeZoneInformation - SystemCodeIntegrityInformation - SystemProcessorMicrocodeUpdateInformation - SystemProcessorBrandString - SystemVirtualAddressInformation - SystemLogicalProcessorAndGroupInformation - SystemProcessorCycleTimeInformation - SystemStoreInformation - SystemRegistryAppendString - SystemAitSamplingValue - SystemVhdBootInformation - SystemCpuQuotaInformation - SystemNativeBasicInformation - systemSpare1 - SystemLowPriorityIoInformation - SystemTpmBootEntropyInformation - SystemVerifierCountersInformation - SystemPagedPoolInformationEx - SystemSystemPtesInformationEx - SystemNodeDistanceInformation - SystemAcpiAuditInformation - SystemBasicPerformanceInformation - SystemQueryPerformanceCounterInformation - SystemSessionBigPoolInformation - SystemBootGraphicsInformation - SystemScrubPhysicalMemoryInformation - SystemBadPageInformation - SystemProcessorProfileControlArea - SystemCombinePhysicalMemoryInformation - SystemEntropyInterruptTimingCallback - SystemConsoleInformation - SystemPlatformBinaryInformation - SystemThrottleNotificationInformation - SystemHypervisorProcessorCountInformation - SystemDeviceDataInformation - SystemDeviceDataEnumerationInformation - SystemMemoryTopologyInformation - SystemMemoryChannelInformation - SystemBootLogoInformation - SystemProcessorPerformanceInformationEx - systemSpare0 - SystemSecureBootPolicyInformation - SystemPageFileInformationEx - SystemSecureBootInformation - SystemEntropyInterruptTimingRawInformation - SystemPortableWorkspaceEfiLauncherInformation - SystemFullProcessInformation - SystemKernelDebuggerInformationEx - SystemBootMetadataInformation - SystemSoftRebootInformation - SystemElamCertificateInformation - SystemOfflineDumpConfigInformation - SystemProcessorFeaturesInformation - SystemRegistryReconciliationInformation - SystemEdidInformation - SystemManufacturingInformation - SystemEnergyEstimationConfigInformation - SystemHypervisorDetailInformation - SystemProcessorCycleStatsInformation - SystemVmGenerationCountInformation - SystemTrustedPlatformModuleInformation - SystemKernelDebuggerFlags - SystemCodeIntegrityPolicyInformation - SystemIsolatedUserModeInformation - SystemHardwareSecurityTestInterfaceResultsInformation - SystemSingleModuleInformation - SystemAllowedCpuSetsInformation - SystemDmaProtectionInformation - SystemInterruptCpuSetsInformation - SystemSecureBootPolicyFullInformation - SystemCodeIntegrityPolicyFullInformation - SystemAffinitizedInterruptProcessorInformation - SystemRootSiloInformation -) - -type RTL_PROCESS_MODULE_INFORMATION struct { - Section Handle - MappedBase uintptr - ImageBase uintptr - ImageSize uint32 - Flags uint32 - LoadOrderIndex uint16 - InitOrderIndex uint16 - LoadCount uint16 - OffsetToFileName uint16 - FullPathName [256]byte -} - -type RTL_PROCESS_MODULES struct { - NumberOfModules uint32 - Modules [1]RTL_PROCESS_MODULE_INFORMATION -} - // Constants for LocalAlloc flags. const ( LMEM_FIXED = 0x0 @@ -3077,22 +2700,6 @@ var ( RT_MANIFEST ResourceID = 24 ) -type VS_FIXEDFILEINFO struct { - Signature uint32 - StrucVersion uint32 - FileVersionMS uint32 - FileVersionLS uint32 - ProductVersionMS uint32 - ProductVersionLS uint32 - FileFlagsMask uint32 - FileFlags uint32 - FileOS uint32 - FileType uint32 - FileSubtype uint32 - FileDateMS uint32 - FileDateLS uint32 -} - type COAUTHIDENTITY struct { User *uint16 UserLength uint32 @@ -3166,11 +2773,3 @@ const ( // Flag for QueryFullProcessImageName. const PROCESS_NAME_NATIVE = 1 - -type ModuleInfo struct { - BaseOfDll uintptr - SizeOfImage uint32 - EntryPoint uintptr -} - -const ALL_PROCESSOR_GROUPS = 0xFFFF diff --git a/cmd/sync/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/cmd/sync/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 68f52c1e..148de0ff 100644 --- a/cmd/sync/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/cmd/sync/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -36,7 +36,6 @@ func errnoErr(e syscall.Errno) error { } var ( - modCfgMgr32 = NewLazySystemDLL("CfgMgr32.dll") modadvapi32 = NewLazySystemDLL("advapi32.dll") modcrypt32 = NewLazySystemDLL("crypt32.dll") moddnsapi = NewLazySystemDLL("dnsapi.dll") @@ -49,19 +48,13 @@ var ( modpsapi = NewLazySystemDLL("psapi.dll") modsechost = NewLazySystemDLL("sechost.dll") modsecur32 = NewLazySystemDLL("secur32.dll") - modsetupapi = NewLazySystemDLL("setupapi.dll") modshell32 = NewLazySystemDLL("shell32.dll") moduser32 = NewLazySystemDLL("user32.dll") moduserenv = NewLazySystemDLL("userenv.dll") - modversion = NewLazySystemDLL("version.dll") modwintrust = NewLazySystemDLL("wintrust.dll") modws2_32 = NewLazySystemDLL("ws2_32.dll") modwtsapi32 = NewLazySystemDLL("wtsapi32.dll") - procCM_Get_DevNode_Status = modCfgMgr32.NewProc("CM_Get_DevNode_Status") - procCM_Get_Device_Interface_ListW = modCfgMgr32.NewProc("CM_Get_Device_Interface_ListW") - procCM_Get_Device_Interface_List_SizeW = modCfgMgr32.NewProc("CM_Get_Device_Interface_List_SizeW") - procCM_MapCrToWin32Err = modCfgMgr32.NewProc("CM_MapCrToWin32Err") procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups") procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges") procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid") @@ -121,7 +114,6 @@ var ( procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W") procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW") - procQueryServiceDynamicInformation = modadvapi32.NewProc("QueryServiceDynamicInformation") procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW") procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus") procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx") @@ -132,7 +124,6 @@ var ( procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW") procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW") - procRegisterServiceCtrlHandlerExW = modadvapi32.NewProc("RegisterServiceCtrlHandlerExW") procReportEventW = modadvapi32.NewProc("ReportEventW") procRevertToSelf = modadvapi32.NewProc("RevertToSelf") procSetEntriesInAclW = modadvapi32.NewProc("SetEntriesInAclW") @@ -205,7 +196,6 @@ var ( procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") procExitProcess = modkernel32.NewProc("ExitProcess") - procExpandEnvironmentStringsW = modkernel32.NewProc("ExpandEnvironmentStringsW") procFindClose = modkernel32.NewProc("FindClose") procFindCloseChangeNotification = modkernel32.NewProc("FindCloseChangeNotification") procFindFirstChangeNotificationW = modkernel32.NewProc("FindFirstChangeNotificationW") @@ -226,7 +216,6 @@ var ( procFreeLibrary = modkernel32.NewProc("FreeLibrary") procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") procGetACP = modkernel32.NewProc("GetACP") - procGetActiveProcessorCount = modkernel32.NewProc("GetActiveProcessorCount") procGetCommTimeouts = modkernel32.NewProc("GetCommTimeouts") procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") @@ -252,7 +241,6 @@ var ( procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW") - procGetMaximumProcessorCount = modkernel32.NewProc("GetMaximumProcessorCount") procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW") procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW") procGetNamedPipeHandleStateW = modkernel32.NewProc("GetNamedPipeHandleStateW") @@ -297,8 +285,6 @@ var ( procLockFileEx = modkernel32.NewProc("LockFileEx") procLockResource = modkernel32.NewProc("LockResource") procMapViewOfFile = modkernel32.NewProc("MapViewOfFile") - procModule32FirstW = modkernel32.NewProc("Module32FirstW") - procModule32NextW = modkernel32.NewProc("Module32NextW") procMoveFileExW = modkernel32.NewProc("MoveFileExW") procMoveFileW = modkernel32.NewProc("MoveFileW") procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar") @@ -317,7 +303,6 @@ var ( procReadConsoleW = modkernel32.NewProc("ReadConsoleW") procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") procReadFile = modkernel32.NewProc("ReadFile") - procReadProcessMemory = modkernel32.NewProc("ReadProcessMemory") procReleaseMutex = modkernel32.NewProc("ReleaseMutex") procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW") procResetEvent = modkernel32.NewProc("ResetEvent") @@ -360,16 +345,11 @@ var ( procVirtualFree = modkernel32.NewProc("VirtualFree") procVirtualLock = modkernel32.NewProc("VirtualLock") procVirtualProtect = modkernel32.NewProc("VirtualProtect") - procVirtualProtectEx = modkernel32.NewProc("VirtualProtectEx") - procVirtualQuery = modkernel32.NewProc("VirtualQuery") - procVirtualQueryEx = modkernel32.NewProc("VirtualQueryEx") procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") - procWTSGetActiveConsoleSessionId = modkernel32.NewProc("WTSGetActiveConsoleSessionId") procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects") procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") procWriteFile = modkernel32.NewProc("WriteFile") - procWriteProcessMemory = modkernel32.NewProc("WriteProcessMemory") procAcceptEx = modmswsock.NewProc("AcceptEx") procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs") procTransmitFile = modmswsock.NewProc("TransmitFile") @@ -379,13 +359,8 @@ var ( procNtCreateFile = modntdll.NewProc("NtCreateFile") procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile") procNtQueryInformationProcess = modntdll.NewProc("NtQueryInformationProcess") - procNtQuerySystemInformation = modntdll.NewProc("NtQuerySystemInformation") - procNtSetInformationFile = modntdll.NewProc("NtSetInformationFile") procNtSetInformationProcess = modntdll.NewProc("NtSetInformationProcess") - procNtSetSystemInformation = modntdll.NewProc("NtSetSystemInformation") - procRtlAddFunctionTable = modntdll.NewProc("RtlAddFunctionTable") procRtlDefaultNpAcl = modntdll.NewProc("RtlDefaultNpAcl") - procRtlDeleteFunctionTable = modntdll.NewProc("RtlDeleteFunctionTable") procRtlDosPathNameToNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToNtPathName_U_WithStatus") procRtlDosPathNameToRelativeNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToRelativeNtPathName_U_WithStatus") procRtlGetCurrentPeb = modntdll.NewProc("RtlGetCurrentPeb") @@ -401,44 +376,11 @@ var ( procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") procCoUninitialize = modole32.NewProc("CoUninitialize") procStringFromGUID2 = modole32.NewProc("StringFromGUID2") - procEnumProcessModules = modpsapi.NewProc("EnumProcessModules") - procEnumProcessModulesEx = modpsapi.NewProc("EnumProcessModulesEx") procEnumProcesses = modpsapi.NewProc("EnumProcesses") - procGetModuleBaseNameW = modpsapi.NewProc("GetModuleBaseNameW") - procGetModuleFileNameExW = modpsapi.NewProc("GetModuleFileNameExW") - procGetModuleInformation = modpsapi.NewProc("GetModuleInformation") procSubscribeServiceChangeNotifications = modsechost.NewProc("SubscribeServiceChangeNotifications") procUnsubscribeServiceChangeNotifications = modsechost.NewProc("UnsubscribeServiceChangeNotifications") procGetUserNameExW = modsecur32.NewProc("GetUserNameExW") procTranslateNameW = modsecur32.NewProc("TranslateNameW") - procSetupDiBuildDriverInfoList = modsetupapi.NewProc("SetupDiBuildDriverInfoList") - procSetupDiCallClassInstaller = modsetupapi.NewProc("SetupDiCallClassInstaller") - procSetupDiCancelDriverInfoSearch = modsetupapi.NewProc("SetupDiCancelDriverInfoSearch") - procSetupDiClassGuidsFromNameExW = modsetupapi.NewProc("SetupDiClassGuidsFromNameExW") - procSetupDiClassNameFromGuidExW = modsetupapi.NewProc("SetupDiClassNameFromGuidExW") - procSetupDiCreateDeviceInfoListExW = modsetupapi.NewProc("SetupDiCreateDeviceInfoListExW") - procSetupDiCreateDeviceInfoW = modsetupapi.NewProc("SetupDiCreateDeviceInfoW") - procSetupDiDestroyDeviceInfoList = modsetupapi.NewProc("SetupDiDestroyDeviceInfoList") - procSetupDiDestroyDriverInfoList = modsetupapi.NewProc("SetupDiDestroyDriverInfoList") - procSetupDiEnumDeviceInfo = modsetupapi.NewProc("SetupDiEnumDeviceInfo") - procSetupDiEnumDriverInfoW = modsetupapi.NewProc("SetupDiEnumDriverInfoW") - procSetupDiGetClassDevsExW = modsetupapi.NewProc("SetupDiGetClassDevsExW") - procSetupDiGetClassInstallParamsW = modsetupapi.NewProc("SetupDiGetClassInstallParamsW") - procSetupDiGetDeviceInfoListDetailW = modsetupapi.NewProc("SetupDiGetDeviceInfoListDetailW") - procSetupDiGetDeviceInstallParamsW = modsetupapi.NewProc("SetupDiGetDeviceInstallParamsW") - procSetupDiGetDeviceInstanceIdW = modsetupapi.NewProc("SetupDiGetDeviceInstanceIdW") - procSetupDiGetDevicePropertyW = modsetupapi.NewProc("SetupDiGetDevicePropertyW") - procSetupDiGetDeviceRegistryPropertyW = modsetupapi.NewProc("SetupDiGetDeviceRegistryPropertyW") - procSetupDiGetDriverInfoDetailW = modsetupapi.NewProc("SetupDiGetDriverInfoDetailW") - procSetupDiGetSelectedDevice = modsetupapi.NewProc("SetupDiGetSelectedDevice") - procSetupDiGetSelectedDriverW = modsetupapi.NewProc("SetupDiGetSelectedDriverW") - procSetupDiOpenDevRegKey = modsetupapi.NewProc("SetupDiOpenDevRegKey") - procSetupDiSetClassInstallParamsW = modsetupapi.NewProc("SetupDiSetClassInstallParamsW") - procSetupDiSetDeviceInstallParamsW = modsetupapi.NewProc("SetupDiSetDeviceInstallParamsW") - procSetupDiSetDeviceRegistryPropertyW = modsetupapi.NewProc("SetupDiSetDeviceRegistryPropertyW") - procSetupDiSetSelectedDevice = modsetupapi.NewProc("SetupDiSetSelectedDevice") - procSetupDiSetSelectedDriverW = modsetupapi.NewProc("SetupDiSetSelectedDriverW") - procSetupUninstallOEMInfW = modsetupapi.NewProc("SetupUninstallOEMInfW") procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW") procSHGetKnownFolderPath = modshell32.NewProc("SHGetKnownFolderPath") procShellExecuteW = modshell32.NewProc("ShellExecuteW") @@ -449,9 +391,6 @@ var ( procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") - procGetFileVersionInfoSizeW = modversion.NewProc("GetFileVersionInfoSizeW") - procGetFileVersionInfoW = modversion.NewProc("GetFileVersionInfoW") - procVerQueryValueW = modversion.NewProc("VerQueryValueW") procWinVerifyTrustEx = modwintrust.NewProc("WinVerifyTrustEx") procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") @@ -486,30 +425,6 @@ var ( procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") ) -func cm_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) (ret CONFIGRET) { - r0, _, _ := syscall.Syscall6(procCM_Get_DevNode_Status.Addr(), 4, uintptr(unsafe.Pointer(status)), uintptr(unsafe.Pointer(problemNumber)), uintptr(devInst), uintptr(flags), 0, 0) - ret = CONFIGRET(r0) - return -} - -func cm_Get_Device_Interface_List(interfaceClass *GUID, deviceID *uint16, buffer *uint16, bufferLen uint32, flags uint32) (ret CONFIGRET) { - r0, _, _ := syscall.Syscall6(procCM_Get_Device_Interface_ListW.Addr(), 5, uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(unsafe.Pointer(buffer)), uintptr(bufferLen), uintptr(flags), 0) - ret = CONFIGRET(r0) - return -} - -func cm_Get_Device_Interface_List_Size(len *uint32, interfaceClass *GUID, deviceID *uint16, flags uint32) (ret CONFIGRET) { - r0, _, _ := syscall.Syscall6(procCM_Get_Device_Interface_List_SizeW.Addr(), 4, uintptr(unsafe.Pointer(len)), uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(flags), 0, 0) - ret = CONFIGRET(r0) - return -} - -func cm_MapCrToWin32Err(configRet CONFIGRET, defaultWin32Error Errno) (ret Errno) { - r0, _, _ := syscall.Syscall(procCM_MapCrToWin32Err.Addr(), 2, uintptr(configRet), uintptr(defaultWin32Error), 0) - ret = Errno(r0) - return -} - func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) { var _p0 uint32 if resetToDefault { @@ -1040,18 +955,6 @@ func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, buf return } -func QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInfo unsafe.Pointer) (err error) { - err = procQueryServiceDynamicInformation.Find() - if err != nil { - return - } - r1, _, e1 := syscall.Syscall(procQueryServiceDynamicInformation.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(dynamicInfo)) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procQueryServiceLockStatusW.Addr(), 4, uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) if r1 == 0 { @@ -1141,15 +1044,6 @@ func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Hand return } -func RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procRegisterServiceCtrlHandlerExW.Addr(), 3, uintptr(unsafe.Pointer(serviceName)), uintptr(handlerProc), uintptr(context)) - handle = Handle(r0) - if handle == 0 { - err = errnoErr(e1) - } - return -} - func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) { r1, _, e1 := syscall.Syscall9(procReportEventW.Addr(), 9, uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData))) if r1 == 0 { @@ -1779,15 +1673,6 @@ func ExitProcess(exitcode uint32) { return } -func ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procExpandEnvironmentStringsW.Addr(), 3, uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size)) - n = uint32(r0) - if n == 0 { - err = errnoErr(e1) - } - return -} - func FindClose(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { @@ -1969,12 +1854,6 @@ func GetACP() (acp uint32) { return } -func GetActiveProcessorCount(groupNumber uint16) (ret uint32) { - r0, _, _ := syscall.Syscall(procGetActiveProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) - ret = uint32(r0) - return -} - func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { r1, _, e1 := syscall.Syscall(procGetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) if r1 == 0 { @@ -2177,12 +2056,6 @@ func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err er return } -func GetMaximumProcessorCount(groupNumber uint16) (ret uint32) { - r0, _, _ := syscall.Syscall(procGetMaximumProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) - ret = uint32(r0) - 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) @@ -2583,22 +2456,6 @@ func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow ui return } -func Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { - r1, _, e1 := syscall.Syscall(procModule32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { - r1, _, e1 := syscall.Syscall(procModule32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { r1, _, e1 := syscall.Syscall(procMoveFileExW.Addr(), 3, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) if r1 == 0 { @@ -2761,7 +2618,7 @@ func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree return } -func readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { +func ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] @@ -2773,14 +2630,6 @@ func readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) ( return } -func ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesRead *uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procReadProcessMemory.Addr(), 5, uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesRead)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func ReleaseMutex(mutex Handle) (err error) { r1, _, e1 := syscall.Syscall(procReleaseMutex.Addr(), 1, uintptr(mutex), 0, 0) if r1 == 0 { @@ -3135,30 +2984,6 @@ func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect return } -func VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect uint32, oldProtect *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procVirtualProtectEx.Addr(), 5, uintptr(process), uintptr(address), uintptr(size), uintptr(newProtect), uintptr(unsafe.Pointer(oldProtect)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procVirtualQuery.Addr(), 3, uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length)) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procVirtualQueryEx.Addr(), 4, uintptr(process), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func VirtualUnlock(addr uintptr, length uintptr) (err error) { r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) if r1 == 0 { @@ -3167,12 +2992,6 @@ func VirtualUnlock(addr uintptr, length uintptr) (err error) { return } -func WTSGetActiveConsoleSessionId() (sessionID uint32) { - r0, _, _ := syscall.Syscall(procWTSGetActiveConsoleSessionId.Addr(), 0, 0, 0, 0) - sessionID = uint32(r0) - return -} - func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { var _p0 uint32 if waitAll { @@ -3203,7 +3022,7 @@ func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, return } -func writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { +func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] @@ -3215,14 +3034,6 @@ func writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) return } -func WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesWritten *uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procWriteProcessMemory.Addr(), 5, uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesWritten)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall9(procAcceptEx.Addr(), 8, uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped)), 0) if r1 == 0 { @@ -3292,22 +3103,6 @@ func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe return } -func NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) { - r0, _, _ := syscall.Syscall6(procNtQuerySystemInformation.Addr(), 4, uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen), uintptr(unsafe.Pointer(retLen)), 0, 0) - if r0 != 0 { - ntstatus = NTStatus(r0) - } - return -} - -func NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) { - r0, _, _ := syscall.Syscall6(procNtSetInformationFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), uintptr(class), 0) - if r0 != 0 { - ntstatus = NTStatus(r0) - } - return -} - func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) { r0, _, _ := syscall.Syscall6(procNtSetInformationProcess.Addr(), 4, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), 0, 0) if r0 != 0 { @@ -3316,20 +3111,6 @@ func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.P return } -func NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) { - r0, _, _ := syscall.Syscall(procNtSetSystemInformation.Addr(), 3, uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen)) - if r0 != 0 { - ntstatus = NTStatus(r0) - } - return -} - -func RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) { - r0, _, _ := syscall.Syscall(procRtlAddFunctionTable.Addr(), 3, uintptr(unsafe.Pointer(functionTable)), uintptr(entryCount), uintptr(baseAddress)) - ret = r0 != 0 - return -} - func RtlDefaultNpAcl(acl **ACL) (ntstatus error) { r0, _, _ := syscall.Syscall(procRtlDefaultNpAcl.Addr(), 1, uintptr(unsafe.Pointer(acl)), 0, 0) if r0 != 0 { @@ -3338,12 +3119,6 @@ func RtlDefaultNpAcl(acl **ACL) (ntstatus error) { return } -func RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) { - r0, _, _ := syscall.Syscall(procRtlDeleteFunctionTable.Addr(), 1, uintptr(unsafe.Pointer(functionTable)), 0, 0) - ret = r0 != 0 - return -} - func RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { r0, _, _ := syscall.Syscall6(procRtlDosPathNameToNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0) if r0 != 0 { @@ -3443,22 +3218,6 @@ func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { return } -func EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procEnumProcessModules.Addr(), 4, uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *uint32, filterFlag uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procEnumProcessModulesEx.Addr(), 5, uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), uintptr(filterFlag), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { var _p0 *uint32 if len(processIds) > 0 { @@ -3471,30 +3230,6 @@ func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { return } -func GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetModuleBaseNameW.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(baseName)), uintptr(size), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetModuleFileNameExW.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetModuleInformation.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(modinfo)), uintptr(cb), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) { ret = procSubscribeServiceChangeNotifications.Find() if ret != nil { @@ -3532,233 +3267,6 @@ func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint return } -func SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiBuildDriverInfoList.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiCallClassInstaller.Addr(), 3, uintptr(installFunction), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiCancelDriverInfoSearch.Addr(), 1, uintptr(deviceInfoSet), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGuidListSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiClassGuidsFromNameExW.Addr(), 6, uintptr(unsafe.Pointer(className)), uintptr(unsafe.Pointer(classGuidList)), uintptr(classGuidListSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiClassNameFromGuidExW.Addr(), 6, uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(className)), uintptr(classNameSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { - r0, _, e1 := syscall.Syscall6(procSetupDiCreateDeviceInfoListExW.Addr(), 4, uintptr(unsafe.Pointer(classGUID)), uintptr(hwndParent), uintptr(unsafe.Pointer(machineName)), uintptr(reserved), 0, 0) - handle = DevInfo(r0) - if handle == DevInfo(InvalidHandle) { - err = errnoErr(e1) - } - return -} - -func setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUID *GUID, DeviceDescription *uint16, hwndParent uintptr, CreationFlags DICD, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall9(procSetupDiCreateDeviceInfoW.Addr(), 7, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(DeviceName)), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(DeviceDescription)), uintptr(hwndParent), uintptr(CreationFlags), uintptr(unsafe.Pointer(deviceInfoData)), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiDestroyDeviceInfoList.Addr(), 1, uintptr(deviceInfoSet), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiDestroyDriverInfoList.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiEnumDeviceInfo.Addr(), 3, uintptr(deviceInfoSet), uintptr(memberIndex), uintptr(unsafe.Pointer(deviceInfoData))) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex uint32, driverInfoData *DrvInfoData) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiEnumDriverInfoW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType), uintptr(memberIndex), uintptr(unsafe.Pointer(driverInfoData)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintptr, Flags DIGCF, deviceInfoSet DevInfo, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { - r0, _, e1 := syscall.Syscall9(procSetupDiGetClassDevsExW.Addr(), 7, uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(Enumerator)), uintptr(hwndParent), uintptr(Flags), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(machineName)), uintptr(reserved), 0, 0) - handle = DevInfo(r0) - if handle == DevInfo(InvalidHandle) { - err = errnoErr(e1) - } - return -} - -func SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiGetClassInstallParamsW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), uintptr(unsafe.Pointer(requiredSize)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailData *DevInfoListDetailData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiGetDeviceInfoListDetailW.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoSetDetailData)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiGetDeviceInstallParamsW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, instanceId *uint16, instanceIdSize uint32, instanceIdRequiredSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiGetDeviceInstanceIdW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(instanceId)), uintptr(instanceIdSize), uintptr(unsafe.Pointer(instanceIdRequiredSize)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY, propertyType *DEVPROPTYPE, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procSetupDiGetDevicePropertyW.Addr(), 8, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(propertyKey)), uintptr(unsafe.Pointer(propertyType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(flags), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyRegDataType *uint32, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procSetupDiGetDeviceRegistryPropertyW.Addr(), 7, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyRegDataType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData, driverInfoDetailData *DrvInfoDetailData, driverInfoDetailDataSize uint32, requiredSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiGetDriverInfoDetailW.Addr(), 6, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData)), uintptr(unsafe.Pointer(driverInfoDetailData)), uintptr(driverInfoDetailDataSize), uintptr(unsafe.Pointer(requiredSize))) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiGetSelectedDevice.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiGetSelectedDriverW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (key Handle, err error) { - r0, _, e1 := syscall.Syscall6(procSetupDiOpenDevRegKey.Addr(), 6, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(Scope), uintptr(HwProfile), uintptr(KeyType), uintptr(samDesired)) - key = Handle(r0) - if key == InvalidHandle { - err = errnoErr(e1) - } - return -} - -func SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiSetClassInstallParamsW.Addr(), 4, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiSetDeviceInstallParamsW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffer *byte, propertyBufferSize uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiSetDeviceRegistryPropertyW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiSetSelectedDevice.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiSetSelectedDriverW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procSetupUninstallOEMInfW.Addr(), 3, uintptr(unsafe.Pointer(infFileName)), uintptr(flags), uintptr(reserved)) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) { r0, _, e1 := syscall.Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0) argv = (*[8192]*[8192]uint16)(unsafe.Pointer(r0)) @@ -3844,58 +3352,6 @@ func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { return } -func GetFileVersionInfoSize(filename string, zeroHandle *Handle) (bufSize uint32, err error) { - var _p0 *uint16 - _p0, err = syscall.UTF16PtrFromString(filename) - if err != nil { - return - } - return _GetFileVersionInfoSize(_p0, zeroHandle) -} - -func _GetFileVersionInfoSize(filename *uint16, zeroHandle *Handle) (bufSize uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetFileVersionInfoSizeW.Addr(), 2, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(zeroHandle)), 0) - bufSize = uint32(r0) - if bufSize == 0 { - err = errnoErr(e1) - } - return -} - -func GetFileVersionInfo(filename string, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) { - var _p0 *uint16 - _p0, err = syscall.UTF16PtrFromString(filename) - if err != nil { - return - } - return _GetFileVersionInfo(_p0, handle, bufSize, buffer) -} - -func _GetFileVersionInfo(filename *uint16, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) { - r1, _, e1 := syscall.Syscall6(procGetFileVersionInfoW.Addr(), 4, uintptr(unsafe.Pointer(filename)), uintptr(handle), uintptr(bufSize), uintptr(buffer), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - -func VerQueryValue(block unsafe.Pointer, subBlock string, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) { - var _p0 *uint16 - _p0, err = syscall.UTF16PtrFromString(subBlock) - if err != nil { - return - } - return _VerQueryValue(block, _p0, pointerToBufferPointer, bufSize) -} - -func _VerQueryValue(block unsafe.Pointer, subBlock *uint16, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procVerQueryValueW.Addr(), 4, uintptr(block), uintptr(unsafe.Pointer(subBlock)), uintptr(pointerToBufferPointer), uintptr(unsafe.Pointer(bufSize)), 0, 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) { r0, _, _ := syscall.Syscall(procWinVerifyTrustEx.Addr(), 3, uintptr(hwnd), uintptr(unsafe.Pointer(actionId)), uintptr(unsafe.Pointer(data))) if r0 != 0 { diff --git a/cmd/sync/vendor/modules.txt b/cmd/sync/vendor/modules.txt index 43e09e8d..934ec3e8 100644 --- a/cmd/sync/vendor/modules.txt +++ b/cmd/sync/vendor/modules.txt @@ -89,14 +89,9 @@ github.com/go-git/go-git/v5/utils/merkletrie/filesystem github.com/go-git/go-git/v5/utils/merkletrie/index github.com/go-git/go-git/v5/utils/merkletrie/internal/frame github.com/go-git/go-git/v5/utils/merkletrie/noder -# github.com/go-stack/stack v1.8.0 -## explicit -github.com/go-stack/stack # github.com/golang/snappy v0.0.1 ## explicit github.com/golang/snappy -# github.com/google/go-cmp v0.5.7 -## explicit; go 1.11 # github.com/imdario/mergo v0.3.12 ## explicit; go 1.13 github.com/imdario/mergo @@ -117,10 +112,13 @@ github.com/klauspost/compress/zstd/internal/xxhash # github.com/mitchellh/go-homedir v1.1.0 ## explicit github.com/mitchellh/go-homedir +# github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe +## explicit +github.com/montanaflynn/stats # github.com/pkg/errors v0.9.1 ## explicit github.com/pkg/errors -# github.com/sergi/go-diff v1.2.0 +# github.com/sergi/go-diff v1.1.0 ## explicit; go 1.12 github.com/sergi/go-diff/diffmatchpatch # github.com/xanzy/ssh-agent v0.3.0 @@ -129,16 +127,16 @@ github.com/xanzy/ssh-agent # github.com/xdg-go/pbkdf2 v1.0.0 ## explicit; go 1.9 github.com/xdg-go/pbkdf2 -# github.com/xdg-go/scram v1.0.2 +# github.com/xdg-go/scram v1.1.1 ## explicit; go 1.11 github.com/xdg-go/scram -# github.com/xdg-go/stringprep v1.0.2 +# github.com/xdg-go/stringprep v1.0.3 ## explicit; go 1.11 github.com/xdg-go/stringprep # github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d ## explicit github.com/youmark/pkcs8 -# go.mongodb.org/mongo-driver v1.9.0 +# go.mongodb.org/mongo-driver v1.10.2 ## explicit; go 1.10 go.mongodb.org/mongo-driver/bson go.mongodb.org/mongo-driver/bson/bsoncodec @@ -149,6 +147,8 @@ go.mongodb.org/mongo-driver/bson/primitive go.mongodb.org/mongo-driver/event go.mongodb.org/mongo-driver/internal go.mongodb.org/mongo-driver/internal/randutil +go.mongodb.org/mongo-driver/internal/randutil/rand +go.mongodb.org/mongo-driver/internal/uuid go.mongodb.org/mongo-driver/mongo go.mongodb.org/mongo-driver/mongo/address go.mongodb.org/mongo-driver/mongo/description @@ -172,9 +172,8 @@ go.mongodb.org/mongo-driver/x/mongo/driver/ocsp go.mongodb.org/mongo-driver/x/mongo/driver/operation go.mongodb.org/mongo-driver/x/mongo/driver/session go.mongodb.org/mongo-driver/x/mongo/driver/topology -go.mongodb.org/mongo-driver/x/mongo/driver/uuid go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage -# golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 +# golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d ## explicit; go 1.17 golang.org/x/crypto/blowfish golang.org/x/crypto/cast5 @@ -182,7 +181,6 @@ golang.org/x/crypto/chacha20 golang.org/x/crypto/curve25519 golang.org/x/crypto/curve25519/internal/field golang.org/x/crypto/ed25519 -golang.org/x/crypto/ed25519/internal/edwards25519 golang.org/x/crypto/internal/poly1305 golang.org/x/crypto/internal/subtle golang.org/x/crypto/ocsp @@ -191,15 +189,15 @@ golang.org/x/crypto/ssh golang.org/x/crypto/ssh/agent golang.org/x/crypto/ssh/internal/bcrypt_pbkdf golang.org/x/crypto/ssh/knownhosts -# golang.org/x/net v0.0.0-20220225172249-27dd8689420f +# golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 ## explicit; go 1.17 golang.org/x/net/context golang.org/x/net/internal/socks golang.org/x/net/proxy -# golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e +# golang.org/x/sync v0.0.0-20210220032951-036812b2e83c ## explicit golang.org/x/sync/errgroup -# golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf +# golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 ## explicit; go 1.17 golang.org/x/sys/cpu golang.org/x/sys/execabs @@ -213,7 +211,3 @@ golang.org/x/text/unicode/norm # gopkg.in/warnings.v0 v0.1.2 ## explicit gopkg.in/warnings.v0 -# gopkg.in/yaml.v2 v2.4.0 -## explicit; go 1.15 -# gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b -## explicit diff --git a/deployment/ci/Dockerfile b/deployment/ci/Dockerfile index dd4d3208..b22df4e7 100644 --- a/deployment/ci/Dockerfile +++ b/deployment/ci/Dockerfile @@ -1,10 +1,8 @@ FROM golang:1.19-alpine3.15 as builder -ENV GOPRIVATE=code.vereign.com - RUN apk add git -WORKDIR /go/src/code.vereign.com/gaiax/tsa/policy +WORKDIR /go/src/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy ADD . . diff --git a/deployment/compose/Dockerfile b/deployment/compose/Dockerfile index ebb02b1d..618924d5 100644 --- a/deployment/compose/Dockerfile +++ b/deployment/compose/Dockerfile @@ -1,16 +1,13 @@ FROM golang:1.19 -ENV GO111MODULE=on -ENV GOPRIVATE=code.vereign.com - RUN go install github.com/canthefason/go-watcher/cmd/watcher@v0.2.4 -ADD . /go/src/code.vereign.com/gaiax/tsa/policy +ADD . /go/src/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy -WORKDIR /go/src/code.vereign.com/gaiax/tsa/policy +WORKDIR /go/src/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy RUN go install -mod=vendor ./cmd/policy/... EXPOSE 8080 -ENTRYPOINT ["sh", "-c", "/go/bin/watcher -run code.vereign.com/gaiax/tsa/policy/cmd/policy -watch code.vereign.com/gaiax/tsa/policy"] +ENTRYPOINT ["sh", "-c", "/go/bin/watcher -run gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/cmd/policy -watch gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy"] diff --git a/gen/health/client.go b/gen/health/client.go index fa8e67b2..ecd2a717 100644 --- a/gen/health/client.go +++ b/gen/health/client.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health client // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package health diff --git a/gen/health/endpoints.go b/gen/health/endpoints.go index 4fd0c214..0e993eb6 100644 --- a/gen/health/endpoints.go +++ b/gen/health/endpoints.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health endpoints // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package health diff --git a/gen/health/service.go b/gen/health/service.go index 266c183b..f569b7a3 100644 --- a/gen/health/service.go +++ b/gen/health/service.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health service // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package health diff --git a/gen/http/cli/policy/cli.go b/gen/http/cli/policy/cli.go index 1a0dada6..1cf7727a 100644 --- a/gen/http/cli/policy/cli.go +++ b/gen/http/cli/policy/cli.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy HTTP client CLI support package // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package cli @@ -13,16 +14,15 @@ import ( "net/http" "os" - healthc "code.vereign.com/gaiax/tsa/policy/gen/http/health/client" - policyc "code.vereign.com/gaiax/tsa/policy/gen/http/policy/client" + healthc "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/http/health/client" + policyc "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/http/policy/client" goahttp "goa.design/goa/v3/http" goa "goa.design/goa/v3/pkg" ) // UsageCommands returns the set of commands and sub-commands using the format // -// command (subcommand1|subcommand2|...) -// +// command (subcommand1|subcommand2|...) func UsageCommands() string { return `health (liveness|readiness) policy (evaluate|lock|unlock) diff --git a/gen/http/health/client/cli.go b/gen/http/health/client/cli.go index bc66dbf9..58e7116a 100644 --- a/gen/http/health/client/cli.go +++ b/gen/http/health/client/cli.go @@ -1,8 +1,9 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health HTTP client CLI support package // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/health/client/client.go b/gen/http/health/client/client.go index 02c06195..319270aa 100644 --- a/gen/http/health/client/client.go +++ b/gen/http/health/client/client.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health client HTTP transport // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/health/client/encode_decode.go b/gen/http/health/client/encode_decode.go index 2f490723..23c1bd8a 100644 --- a/gen/http/health/client/encode_decode.go +++ b/gen/http/health/client/encode_decode.go @@ -1,16 +1,17 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health HTTP client encoders and decoders // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client import ( "bytes" "context" - "io/ioutil" + "io" "net/http" "net/url" @@ -38,13 +39,13 @@ func (c *Client) BuildLivenessRequest(ctx context.Context, v interface{}) (*http func DecodeLivenessResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (interface{}, error) { return func(resp *http.Response) (interface{}, error) { if restoreBody { - b, err := ioutil.ReadAll(resp.Body) + b, err := io.ReadAll(resp.Body) if err != nil { return nil, err } - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) defer func() { - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) }() } else { defer resp.Body.Close() @@ -53,7 +54,7 @@ func DecodeLivenessResponse(decoder func(*http.Response) goahttp.Decoder, restor case http.StatusOK: return nil, nil default: - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) return nil, goahttp.ErrInvalidResponse("health", "Liveness", resp.StatusCode, string(body)) } } @@ -80,13 +81,13 @@ func (c *Client) BuildReadinessRequest(ctx context.Context, v interface{}) (*htt func DecodeReadinessResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (interface{}, error) { return func(resp *http.Response) (interface{}, error) { if restoreBody { - b, err := ioutil.ReadAll(resp.Body) + b, err := io.ReadAll(resp.Body) if err != nil { return nil, err } - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) defer func() { - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) }() } else { defer resp.Body.Close() @@ -95,7 +96,7 @@ func DecodeReadinessResponse(decoder func(*http.Response) goahttp.Decoder, resto case http.StatusOK: return nil, nil default: - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) return nil, goahttp.ErrInvalidResponse("health", "Readiness", resp.StatusCode, string(body)) } } diff --git a/gen/http/health/client/paths.go b/gen/http/health/client/paths.go index 530b186d..016eb018 100644 --- a/gen/http/health/client/paths.go +++ b/gen/http/health/client/paths.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // HTTP request path constructors for the health service. // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/health/client/types.go b/gen/http/health/client/types.go index a7d61101..04736525 100644 --- a/gen/http/health/client/types.go +++ b/gen/http/health/client/types.go @@ -1,8 +1,9 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health HTTP client types // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/health/server/encode_decode.go b/gen/http/health/server/encode_decode.go index df276cfa..3cbdd2ce 100644 --- a/gen/http/health/server/encode_decode.go +++ b/gen/http/health/server/encode_decode.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health HTTP server encoders and decoders // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server diff --git a/gen/http/health/server/paths.go b/gen/http/health/server/paths.go index acc035b7..c9b5d167 100644 --- a/gen/http/health/server/paths.go +++ b/gen/http/health/server/paths.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // HTTP request path constructors for the health service. // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server diff --git a/gen/http/health/server/server.go b/gen/http/health/server/server.go index 984629ac..c1796731 100644 --- a/gen/http/health/server/server.go +++ b/gen/http/health/server/server.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health HTTP server // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server @@ -11,7 +12,7 @@ import ( "context" "net/http" - health "code.vereign.com/gaiax/tsa/policy/gen/health" + health "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/health" goahttp "goa.design/goa/v3/http" goa "goa.design/goa/v3/pkg" ) diff --git a/gen/http/health/server/types.go b/gen/http/health/server/types.go index 23e410a2..af2ac320 100644 --- a/gen/http/health/server/types.go +++ b/gen/http/health/server/types.go @@ -1,8 +1,9 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // health HTTP server types // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server diff --git a/gen/http/openapi.yaml b/gen/http/openapi.yaml index e0da2015..5612466d 100644 --- a/gen/http/openapi.yaml +++ b/gen/http/openapi.yaml @@ -1,235 +1,232 @@ swagger: "2.0" info: - title: Policy Service - description: The policy service exposes HTTP API for executing policies. - version: "" + title: Policy Service + description: The policy service exposes HTTP API for executing policies. + version: "" host: localhost:8081 consumes: -- application/json -- application/xml -- application/gob + - application/json + - application/xml + - application/gob produces: -- application/json -- application/xml -- application/gob + - application/json + - application/xml + - application/gob paths: - /liveness: - get: - tags: - - health - summary: Liveness health - operationId: health#Liveness - responses: - "200": - description: OK response. - schemes: - - http - /policy/{group}/{policyName}/{version}/evaluation: - get: - tags: - - policy - summary: Evaluate policy - description: Evaluate executes a policy with the given 'data' as input. - operationId: policy#Evaluate#1 - parameters: - - name: group - in: path - description: Policy group. - required: true - type: string - - name: policyName - in: path - description: Policy name. - required: true - type: string - - name: version - in: path - description: Policy version. - required: true - type: string - - name: x-evaluation-id - in: header - description: EvaluationID allows overwriting the randomly generated evaluationID - required: false - type: string - - name: any - in: body - description: Input data passed to the policy execution runtime. - required: true - schema: - type: string - format: binary - responses: - "200": - description: OK response. - schema: - type: string - format: binary - headers: - ETag: - description: ETag contains unique identifier of the policy evaluation - and can be used to later retrieve the results from Cache. - type: string - schemes: - - http - post: - tags: - - policy - summary: Evaluate policy - description: Evaluate executes a policy with the given 'data' as input. - operationId: policy#Evaluate#2 - parameters: - - name: group - in: path - description: Policy group. - required: true - type: string - - name: policyName - in: path - description: Policy name. - required: true - type: string - - name: version - in: path - description: Policy version. - required: true - type: string - - name: x-evaluation-id - in: header - description: EvaluationID allows overwriting the randomly generated evaluationID - required: false - type: string - - name: any - in: body - description: Input data passed to the policy execution runtime. - required: true - schema: - type: string - format: binary - responses: - "200": - description: OK response. - schema: - type: string - format: binary - headers: - ETag: - description: ETag contains unique identifier of the policy evaluation - and can be used to later retrieve the results from Cache. - type: string - schemes: - - http - /policy/{group}/{policyName}/{version}/evaluation/did.json: - get: - tags: - - policy - summary: Evaluate policy - description: Evaluate executes a policy with the given 'data' as input. - operationId: policy#Evaluate - parameters: - - name: group - in: path - description: Policy group. - required: true - type: string - - name: policyName - in: path - description: Policy name. - required: true - type: string - - name: version - in: path - description: Policy version. - required: true - type: string - - name: x-evaluation-id - in: header - description: EvaluationID allows overwriting the randomly generated evaluationID - required: false - type: string - - name: any - in: body - description: Input data passed to the policy execution runtime. - required: true - schema: - type: string - format: binary - responses: - "200": - description: OK response. - schema: - type: string - format: binary - headers: - ETag: - description: ETag contains unique identifier of the policy evaluation - and can be used to later retrieve the results from Cache. - type: string - schemes: - - http - /policy/{group}/{policyName}/{version}/lock: - post: - tags: - - policy - summary: Lock policy - description: Lock a policy so that it cannot be evaluated. - operationId: policy#Lock - parameters: - - name: group - in: path - description: Policy group. - required: true - type: string - - name: policyName - in: path - description: Policy name. - required: true - type: string - - name: version - in: path - description: Policy version. - required: true - type: string - responses: - "200": - description: OK response. - schemes: - - http - delete: - tags: - - policy - summary: Unlock policy - description: Unlock a policy so it can be evaluated again. - operationId: policy#Unlock - parameters: - - name: group - in: path - description: Policy group. - required: true - type: string - - name: policyName - in: path - description: Policy name. - required: true - type: string - - name: version - in: path - description: Policy version. - required: true - type: string - responses: - "200": - description: OK response. - schemes: - - http - /readiness: - get: - tags: - - health - summary: Readiness health - operationId: health#Readiness - responses: - "200": - description: OK response. - schemes: - - http + /liveness: + get: + tags: + - health + summary: Liveness health + operationId: health#Liveness + responses: + "200": + description: OK response. + schemes: + - http + /policy/{group}/{policyName}/{version}/evaluation: + get: + tags: + - policy + summary: Evaluate policy + description: Evaluate executes a policy with the given 'data' as input. + operationId: policy#Evaluate#1 + parameters: + - name: group + in: path + description: Policy group. + required: true + type: string + - name: policyName + in: path + description: Policy name. + required: true + type: string + - name: version + in: path + description: Policy version. + required: true + type: string + - name: x-evaluation-id + in: header + description: EvaluationID allows overwriting the randomly generated evaluationID + required: false + type: string + - name: any + in: body + description: Input data passed to the policy execution runtime. + required: true + schema: + type: string + format: binary + responses: + "200": + description: OK response. + schema: + type: string + format: binary + headers: + ETag: + description: ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache. + type: string + schemes: + - http + post: + tags: + - policy + summary: Evaluate policy + description: Evaluate executes a policy with the given 'data' as input. + operationId: policy#Evaluate#2 + parameters: + - name: group + in: path + description: Policy group. + required: true + type: string + - name: policyName + in: path + description: Policy name. + required: true + type: string + - name: version + in: path + description: Policy version. + required: true + type: string + - name: x-evaluation-id + in: header + description: EvaluationID allows overwriting the randomly generated evaluationID + required: false + type: string + - name: any + in: body + description: Input data passed to the policy execution runtime. + required: true + schema: + type: string + format: binary + responses: + "200": + description: OK response. + schema: + type: string + format: binary + headers: + ETag: + description: ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache. + type: string + schemes: + - http + /policy/{group}/{policyName}/{version}/evaluation/did.json: + get: + tags: + - policy + summary: Evaluate policy + description: Evaluate executes a policy with the given 'data' as input. + operationId: policy#Evaluate + parameters: + - name: group + in: path + description: Policy group. + required: true + type: string + - name: policyName + in: path + description: Policy name. + required: true + type: string + - name: version + in: path + description: Policy version. + required: true + type: string + - name: x-evaluation-id + in: header + description: EvaluationID allows overwriting the randomly generated evaluationID + required: false + type: string + - name: any + in: body + description: Input data passed to the policy execution runtime. + required: true + schema: + type: string + format: binary + responses: + "200": + description: OK response. + schema: + type: string + format: binary + headers: + ETag: + description: ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache. + type: string + schemes: + - http + /policy/{group}/{policyName}/{version}/lock: + post: + tags: + - policy + summary: Lock policy + description: Lock a policy so that it cannot be evaluated. + operationId: policy#Lock + parameters: + - name: group + in: path + description: Policy group. + required: true + type: string + - name: policyName + in: path + description: Policy name. + required: true + type: string + - name: version + in: path + description: Policy version. + required: true + type: string + responses: + "200": + description: OK response. + schemes: + - http + delete: + tags: + - policy + summary: Unlock policy + description: Unlock a policy so it can be evaluated again. + operationId: policy#Unlock + parameters: + - name: group + in: path + description: Policy group. + required: true + type: string + - name: policyName + in: path + description: Policy name. + required: true + type: string + - name: version + in: path + description: Policy version. + required: true + type: string + responses: + "200": + description: OK response. + schemes: + - http + /readiness: + get: + tags: + - health + summary: Readiness health + operationId: health#Readiness + responses: + "200": + description: OK response. + schemes: + - http diff --git a/gen/http/openapi/client/client.go b/gen/http/openapi/client/client.go index 6dd9b2c5..8eec5d68 100644 --- a/gen/http/openapi/client/client.go +++ b/gen/http/openapi/client/client.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // openapi client HTTP transport // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/openapi/client/encode_decode.go b/gen/http/openapi/client/encode_decode.go index 0d9d233b..aca4b428 100644 --- a/gen/http/openapi/client/encode_decode.go +++ b/gen/http/openapi/client/encode_decode.go @@ -1,8 +1,9 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // openapi HTTP client encoders and decoders // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/openapi/client/paths.go b/gen/http/openapi/client/paths.go index e087d599..76b5f661 100644 --- a/gen/http/openapi/client/paths.go +++ b/gen/http/openapi/client/paths.go @@ -1,8 +1,9 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // HTTP request path constructors for the openapi service. // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/openapi/client/types.go b/gen/http/openapi/client/types.go index d55753a4..99c8a320 100644 --- a/gen/http/openapi/client/types.go +++ b/gen/http/openapi/client/types.go @@ -1,8 +1,9 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // openapi HTTP client types // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/openapi/server/paths.go b/gen/http/openapi/server/paths.go index c886d118..e5aaffbf 100644 --- a/gen/http/openapi/server/paths.go +++ b/gen/http/openapi/server/paths.go @@ -1,8 +1,9 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // HTTP request path constructors for the openapi service. // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server diff --git a/gen/http/openapi/server/server.go b/gen/http/openapi/server/server.go index 4c6a5d3d..220cb498 100644 --- a/gen/http/openapi/server/server.go +++ b/gen/http/openapi/server/server.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // openapi HTTP server // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server @@ -11,7 +12,7 @@ import ( "context" "net/http" - openapi "code.vereign.com/gaiax/tsa/policy/gen/openapi" + openapi "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/openapi" goahttp "goa.design/goa/v3/http" ) diff --git a/gen/http/openapi/server/types.go b/gen/http/openapi/server/types.go index 6a74f8c0..6d2b4e7e 100644 --- a/gen/http/openapi/server/types.go +++ b/gen/http/openapi/server/types.go @@ -1,8 +1,9 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // openapi HTTP server types // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server diff --git a/gen/http/openapi3.json b/gen/http/openapi3.json index 07c9d6d2..33bdcd88 100644 --- a/gen/http/openapi3.json +++ b/gen/http/openapi3.json @@ -1 +1 @@ -{"openapi":"3.0.3","info":{"title":"Policy Service","description":"The policy service exposes HTTP API for executing policies.","version":"1.0"},"servers":[{"url":"http://localhost:8081","description":"Policy Server"}],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}}}},"/policy/{group}/{policyName}/{version}/evaluation":{"get":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate#1","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"example"},"example":"example"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"example"},"example":"example"},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"1.0"},"example":"1.0"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","allowEmptyValue":true,"schema":{"type":"string","description":"EvaluationID allows overwriting the randomly generated evaluationID","example":"did:web:example.com"},"example":"did:web:example.com"}],"requestBody":{"description":"Input data passed to the policy execution runtime.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Input data passed to the policy execution runtime.","example":"Quis quos qui earum velit illum.","format":"binary"},"example":"Dolorem cumque laborum quis nesciunt."}}},"responses":{"200":{"description":"OK response.","headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","required":true,"schema":{"type":"string","description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","example":"Aut voluptas."},"example":"Sint nam voluptatem ea consequatur similique et."}},"content":{"application/json":{"schema":{"type":"string","description":"Arbitrary JSON response.","example":"Aliquam atque voluptatum ut dolorem.","format":"binary"},"example":"Non mollitia nesciunt impedit facere."}}}}},"post":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate#2","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"example"},"example":"example"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"example"},"example":"example"},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"1.0"},"example":"1.0"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","allowEmptyValue":true,"schema":{"type":"string","description":"EvaluationID allows overwriting the randomly generated evaluationID","example":"did:web:example.com"},"example":"did:web:example.com"}],"requestBody":{"description":"Input data passed to the policy execution runtime.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Input data passed to the policy execution runtime.","example":"Quis quos qui earum velit illum.","format":"binary"},"example":"Ut commodi perspiciatis corporis."}}},"responses":{"200":{"description":"OK response.","headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","required":true,"schema":{"type":"string","description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","example":"Accusamus autem sequi."},"example":"Et nulla."}},"content":{"application/json":{"schema":{"type":"string","description":"Arbitrary JSON response.","example":"Aliquam atque voluptatum ut dolorem.","format":"binary"},"example":"In quis nesciunt autem et."}}}}}},"/policy/{group}/{policyName}/{version}/evaluation/did.json":{"get":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"example"},"example":"example"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"example"},"example":"example"},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"1.0"},"example":"1.0"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","allowEmptyValue":true,"schema":{"type":"string","description":"EvaluationID allows overwriting the randomly generated evaluationID","example":"did:web:example.com"},"example":"did:web:example.com"}],"requestBody":{"description":"Input data passed to the policy execution runtime.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Input data passed to the policy execution runtime.","example":"Quis quos qui earum velit illum.","format":"binary"},"example":"Aut facere veniam repudiandae id."}}},"responses":{"200":{"description":"OK response.","headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","required":true,"schema":{"type":"string","description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","example":"Aut minus alias."},"example":"At eos facilis molestias in voluptas rem."}},"content":{"application/json":{"schema":{"type":"string","description":"Arbitrary JSON response.","example":"Aliquam atque voluptatum ut dolorem.","format":"binary"},"example":"Ab accusantium ut ut aliquid sint animi."}}}}}},"/policy/{group}/{policyName}/{version}/lock":{"delete":{"tags":["policy"],"summary":"Unlock policy","description":"Unlock a policy so it can be evaluated again.","operationId":"policy#Unlock","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"Ut amet."},"example":"Accusamus enim."},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"Recusandae est rerum corrupti quia."},"example":"Quam dolores architecto itaque."},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"Voluptas ad corporis adipisci inventore ipsum."},"example":"Recusandae dolorum nisi distinctio vitae ad."}],"responses":{"200":{"description":"OK response."}}},"post":{"tags":["policy"],"summary":"Lock policy","description":"Lock a policy so that it cannot be evaluated.","operationId":"policy#Lock","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"Sunt in et quia cum."},"example":"Commodi nemo fugiat id praesentium accusantium expedita."},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"Qui non quia."},"example":"Error maxime quasi quia non voluptatibus error."},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"Optio quia et laborum."},"example":"In libero perspiciatis voluptatum ut soluta."}],"responses":{"200":{"description":"OK response."}}}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}}}}},"components":{},"tags":[{"name":"health","description":"Health service provides health check endpoints."},{"name":"policy","description":"Policy Service provides evaluation of policies through Open Policy Agent."}]} \ No newline at end of file +{"openapi":"3.0.3","info":{"title":"Policy Service","description":"The policy service exposes HTTP API for executing policies.","version":"1.0"},"servers":[{"url":"http://localhost:8081","description":"Policy Server"}],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}}}},"/policy/{group}/{policyName}/{version}/evaluation":{"get":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate#1","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"example"},"example":"example"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"example"},"example":"example"},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"1.0"},"example":"1.0"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","allowEmptyValue":true,"schema":{"type":"string","description":"EvaluationID allows overwriting the randomly generated evaluationID","example":"did:web:example.com"},"example":"did:web:example.com"}],"requestBody":{"description":"Input data passed to the policy execution runtime.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Input data passed to the policy execution runtime.","example":"Quis quos qui earum velit illum.","format":"binary"},"example":"Aut voluptas."}}},"responses":{"200":{"description":"OK response.","headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","required":true,"schema":{"type":"string","description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","example":"Sint nam voluptatem ea consequatur similique et."},"example":"Ut commodi perspiciatis corporis."}},"content":{"application/json":{"schema":{"type":"string","description":"Arbitrary JSON response.","example":"Aliquam atque voluptatum ut dolorem.","format":"binary"},"example":"Accusamus autem sequi."}}}}},"post":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate#2","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"example"},"example":"example"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"example"},"example":"example"},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"1.0"},"example":"1.0"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","allowEmptyValue":true,"schema":{"type":"string","description":"EvaluationID allows overwriting the randomly generated evaluationID","example":"did:web:example.com"},"example":"did:web:example.com"}],"requestBody":{"description":"Input data passed to the policy execution runtime.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Input data passed to the policy execution runtime.","example":"Quis quos qui earum velit illum.","format":"binary"},"example":"Et nulla."}}},"responses":{"200":{"description":"OK response.","headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","required":true,"schema":{"type":"string","description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","example":"In quis nesciunt autem et."},"example":"Commodi nemo fugiat id praesentium accusantium expedita."}},"content":{"application/json":{"schema":{"type":"string","description":"Arbitrary JSON response.","example":"Aliquam atque voluptatum ut dolorem.","format":"binary"},"example":"Qui non quia."}}}}}},"/policy/{group}/{policyName}/{version}/evaluation/did.json":{"get":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"example"},"example":"example"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"example"},"example":"example"},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"1.0"},"example":"1.0"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","allowEmptyValue":true,"schema":{"type":"string","description":"EvaluationID allows overwriting the randomly generated evaluationID","example":"did:web:example.com"},"example":"did:web:example.com"}],"requestBody":{"description":"Input data passed to the policy execution runtime.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Input data passed to the policy execution runtime.","example":"Quis quos qui earum velit illum.","format":"binary"},"example":"Aut facere veniam repudiandae id."}}},"responses":{"200":{"description":"OK response.","headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","required":true,"schema":{"type":"string","description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","example":"Aut minus alias."},"example":"Ab accusantium ut ut aliquid sint animi."}},"content":{"application/json":{"schema":{"type":"string","description":"Arbitrary JSON response.","example":"Aliquam atque voluptatum ut dolorem.","format":"binary"},"example":"Dolorem cumque laborum quis nesciunt."}}}}}},"/policy/{group}/{policyName}/{version}/lock":{"delete":{"tags":["policy"],"summary":"Unlock policy","description":"Unlock a policy so it can be evaluated again.","operationId":"policy#Unlock","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"Quam dolores architecto itaque."},"example":"Voluptas ad corporis adipisci inventore ipsum."},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"Recusandae dolorum nisi distinctio vitae ad."},"example":"Perspiciatis voluptatem."},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"Corporis est rem."},"example":"Totam officia necessitatibus tempore nulla animi."}],"responses":{"200":{"description":"OK response."}}},"post":{"tags":["policy"],"summary":"Lock policy","description":"Lock a policy so that it cannot be evaluated.","operationId":"policy#Lock","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"schema":{"type":"string","description":"Policy group.","example":"Error maxime quasi quia non voluptatibus error."},"example":"Optio quia et laborum."},{"name":"policyName","in":"path","description":"Policy name.","required":true,"schema":{"type":"string","description":"Policy name.","example":"In libero perspiciatis voluptatum ut soluta."},"example":"Ut amet."},{"name":"version","in":"path","description":"Policy version.","required":true,"schema":{"type":"string","description":"Policy version.","example":"Accusamus enim."},"example":"Recusandae est rerum corrupti quia."}],"responses":{"200":{"description":"OK response."}}}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}}}}},"components":{},"tags":[{"name":"health","description":"Health service provides health check endpoints."},{"name":"policy","description":"Policy Service provides evaluation of policies through Open Policy Agent."}]} \ No newline at end of file diff --git a/gen/http/openapi3.yaml b/gen/http/openapi3.yaml index 69f0699b..089b16b6 100644 --- a/gen/http/openapi3.yaml +++ b/gen/http/openapi3.yaml @@ -1,339 +1,332 @@ openapi: 3.0.3 info: - title: Policy Service - description: The policy service exposes HTTP API for executing policies. - version: "1.0" + title: Policy Service + description: The policy service exposes HTTP API for executing policies. + version: "1.0" servers: -- url: http://localhost:8081 - description: Policy Server + - url: http://localhost:8081 + description: Policy Server paths: - /liveness: - get: - tags: - - health - summary: Liveness health - operationId: health#Liveness - responses: - "200": - description: OK response. - /policy/{group}/{policyName}/{version}/evaluation: - get: - tags: - - policy - summary: Evaluate policy - description: Evaluate executes a policy with the given 'data' as input. - operationId: policy#Evaluate#1 - parameters: - - name: group - in: path - description: Policy group. - required: true - schema: - type: string - description: Policy group. - example: example - example: example - - name: policyName - in: path - description: Policy name. - required: true - schema: - type: string - description: Policy name. - example: example - example: example - - name: version - in: path - description: Policy version. - required: true - schema: - type: string - description: Policy version. - example: "1.0" - example: "1.0" - - name: x-evaluation-id - in: header - description: EvaluationID allows overwriting the randomly generated evaluationID - allowEmptyValue: true - schema: - type: string - description: EvaluationID allows overwriting the randomly generated evaluationID - example: did:web:example.com - example: did:web:example.com - requestBody: - description: Input data passed to the policy execution runtime. - required: true - content: - application/json: - schema: - type: string - description: Input data passed to the policy execution runtime. - example: Quis quos qui earum velit illum. - format: binary - example: Dolorem cumque laborum quis nesciunt. - responses: - "200": - description: OK response. - headers: - ETag: - description: ETag contains unique identifier of the policy evaluation - and can be used to later retrieve the results from Cache. - required: true - schema: - type: string - description: ETag contains unique identifier of the policy evaluation - and can be used to later retrieve the results from Cache. - example: Aut voluptas. - example: Sint nam voluptatem ea consequatur similique et. - content: - application/json: - schema: - type: string - description: Arbitrary JSON response. - example: Aliquam atque voluptatum ut dolorem. - format: binary - example: Non mollitia nesciunt impedit facere. - post: - tags: - - policy - summary: Evaluate policy - description: Evaluate executes a policy with the given 'data' as input. - operationId: policy#Evaluate#2 - parameters: - - name: group - in: path - description: Policy group. - required: true - schema: - type: string - description: Policy group. - example: example - example: example - - name: policyName - in: path - description: Policy name. - required: true - schema: - type: string - description: Policy name. - example: example - example: example - - name: version - in: path - description: Policy version. - required: true - schema: - type: string - description: Policy version. - example: "1.0" - example: "1.0" - - name: x-evaluation-id - in: header - description: EvaluationID allows overwriting the randomly generated evaluationID - allowEmptyValue: true - schema: - type: string - description: EvaluationID allows overwriting the randomly generated evaluationID - example: did:web:example.com - example: did:web:example.com - requestBody: - description: Input data passed to the policy execution runtime. - required: true - content: - application/json: - schema: - type: string - description: Input data passed to the policy execution runtime. - example: Quis quos qui earum velit illum. - format: binary - example: Ut commodi perspiciatis corporis. - responses: - "200": - description: OK response. - headers: - ETag: - description: ETag contains unique identifier of the policy evaluation - and can be used to later retrieve the results from Cache. - required: true - schema: - type: string - description: ETag contains unique identifier of the policy evaluation - and can be used to later retrieve the results from Cache. - example: Accusamus autem sequi. - example: Et nulla. - content: - application/json: - schema: - type: string - description: Arbitrary JSON response. - example: Aliquam atque voluptatum ut dolorem. - format: binary - example: In quis nesciunt autem et. - /policy/{group}/{policyName}/{version}/evaluation/did.json: - get: - tags: - - policy - summary: Evaluate policy - description: Evaluate executes a policy with the given 'data' as input. - operationId: policy#Evaluate - parameters: - - name: group - in: path - description: Policy group. - required: true - schema: - type: string - description: Policy group. - example: example - example: example - - name: policyName - in: path - description: Policy name. - required: true - schema: - type: string - description: Policy name. - example: example - example: example - - name: version - in: path - description: Policy version. - required: true - schema: - type: string - description: Policy version. - example: "1.0" - example: "1.0" - - name: x-evaluation-id - in: header - description: EvaluationID allows overwriting the randomly generated evaluationID - allowEmptyValue: true - schema: - type: string - description: EvaluationID allows overwriting the randomly generated evaluationID - example: did:web:example.com - example: did:web:example.com - requestBody: - description: Input data passed to the policy execution runtime. - required: true - content: - application/json: - schema: - type: string - description: Input data passed to the policy execution runtime. - example: Quis quos qui earum velit illum. - format: binary - example: Aut facere veniam repudiandae id. - responses: - "200": - description: OK response. - headers: - ETag: - description: ETag contains unique identifier of the policy evaluation - and can be used to later retrieve the results from Cache. - required: true - schema: - type: string - description: ETag contains unique identifier of the policy evaluation - and can be used to later retrieve the results from Cache. - example: Aut minus alias. - example: At eos facilis molestias in voluptas rem. - content: - application/json: - schema: - type: string - description: Arbitrary JSON response. - example: Aliquam atque voluptatum ut dolorem. - format: binary - example: Ab accusantium ut ut aliquid sint animi. - /policy/{group}/{policyName}/{version}/lock: - delete: - tags: - - policy - summary: Unlock policy - description: Unlock a policy so it can be evaluated again. - operationId: policy#Unlock - parameters: - - name: group - in: path - description: Policy group. - required: true - schema: - type: string - description: Policy group. - example: Ut amet. - example: Accusamus enim. - - name: policyName - in: path - description: Policy name. - required: true - schema: - type: string - description: Policy name. - example: Recusandae est rerum corrupti quia. - example: Quam dolores architecto itaque. - - name: version - in: path - description: Policy version. - required: true - schema: - type: string - description: Policy version. - example: Voluptas ad corporis adipisci inventore ipsum. - example: Recusandae dolorum nisi distinctio vitae ad. - responses: - "200": - description: OK response. - post: - tags: - - policy - summary: Lock policy - description: Lock a policy so that it cannot be evaluated. - operationId: policy#Lock - parameters: - - name: group - in: path - description: Policy group. - required: true - schema: - type: string - description: Policy group. - example: Sunt in et quia cum. - example: Commodi nemo fugiat id praesentium accusantium expedita. - - name: policyName - in: path - description: Policy name. - required: true - schema: - type: string - description: Policy name. - example: Qui non quia. - example: Error maxime quasi quia non voluptatibus error. - - name: version - in: path - description: Policy version. - required: true - schema: - type: string - description: Policy version. - example: Optio quia et laborum. - example: In libero perspiciatis voluptatum ut soluta. - responses: - "200": - description: OK response. - /readiness: - get: - tags: - - health - summary: Readiness health - operationId: health#Readiness - responses: - "200": - description: OK response. + /liveness: + get: + tags: + - health + summary: Liveness health + operationId: health#Liveness + responses: + "200": + description: OK response. + /policy/{group}/{policyName}/{version}/evaluation: + get: + tags: + - policy + summary: Evaluate policy + description: Evaluate executes a policy with the given 'data' as input. + operationId: policy#Evaluate#1 + parameters: + - name: group + in: path + description: Policy group. + required: true + schema: + type: string + description: Policy group. + example: example + example: example + - name: policyName + in: path + description: Policy name. + required: true + schema: + type: string + description: Policy name. + example: example + example: example + - name: version + in: path + description: Policy version. + required: true + schema: + type: string + description: Policy version. + example: "1.0" + example: "1.0" + - name: x-evaluation-id + in: header + description: EvaluationID allows overwriting the randomly generated evaluationID + allowEmptyValue: true + schema: + type: string + description: EvaluationID allows overwriting the randomly generated evaluationID + example: did:web:example.com + example: did:web:example.com + requestBody: + description: Input data passed to the policy execution runtime. + required: true + content: + application/json: + schema: + type: string + description: Input data passed to the policy execution runtime. + example: Quis quos qui earum velit illum. + format: binary + example: Aut voluptas. + responses: + "200": + description: OK response. + headers: + ETag: + description: ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache. + required: true + schema: + type: string + description: ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache. + example: Sint nam voluptatem ea consequatur similique et. + example: Ut commodi perspiciatis corporis. + content: + application/json: + schema: + type: string + description: Arbitrary JSON response. + example: Aliquam atque voluptatum ut dolorem. + format: binary + example: Accusamus autem sequi. + post: + tags: + - policy + summary: Evaluate policy + description: Evaluate executes a policy with the given 'data' as input. + operationId: policy#Evaluate#2 + parameters: + - name: group + in: path + description: Policy group. + required: true + schema: + type: string + description: Policy group. + example: example + example: example + - name: policyName + in: path + description: Policy name. + required: true + schema: + type: string + description: Policy name. + example: example + example: example + - name: version + in: path + description: Policy version. + required: true + schema: + type: string + description: Policy version. + example: "1.0" + example: "1.0" + - name: x-evaluation-id + in: header + description: EvaluationID allows overwriting the randomly generated evaluationID + allowEmptyValue: true + schema: + type: string + description: EvaluationID allows overwriting the randomly generated evaluationID + example: did:web:example.com + example: did:web:example.com + requestBody: + description: Input data passed to the policy execution runtime. + required: true + content: + application/json: + schema: + type: string + description: Input data passed to the policy execution runtime. + example: Quis quos qui earum velit illum. + format: binary + example: Et nulla. + responses: + "200": + description: OK response. + headers: + ETag: + description: ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache. + required: true + schema: + type: string + description: ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache. + example: In quis nesciunt autem et. + example: Commodi nemo fugiat id praesentium accusantium expedita. + content: + application/json: + schema: + type: string + description: Arbitrary JSON response. + example: Aliquam atque voluptatum ut dolorem. + format: binary + example: Qui non quia. + /policy/{group}/{policyName}/{version}/evaluation/did.json: + get: + tags: + - policy + summary: Evaluate policy + description: Evaluate executes a policy with the given 'data' as input. + operationId: policy#Evaluate + parameters: + - name: group + in: path + description: Policy group. + required: true + schema: + type: string + description: Policy group. + example: example + example: example + - name: policyName + in: path + description: Policy name. + required: true + schema: + type: string + description: Policy name. + example: example + example: example + - name: version + in: path + description: Policy version. + required: true + schema: + type: string + description: Policy version. + example: "1.0" + example: "1.0" + - name: x-evaluation-id + in: header + description: EvaluationID allows overwriting the randomly generated evaluationID + allowEmptyValue: true + schema: + type: string + description: EvaluationID allows overwriting the randomly generated evaluationID + example: did:web:example.com + example: did:web:example.com + requestBody: + description: Input data passed to the policy execution runtime. + required: true + content: + application/json: + schema: + type: string + description: Input data passed to the policy execution runtime. + example: Quis quos qui earum velit illum. + format: binary + example: Aut facere veniam repudiandae id. + responses: + "200": + description: OK response. + headers: + ETag: + description: ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache. + required: true + schema: + type: string + description: ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache. + example: Aut minus alias. + example: Ab accusantium ut ut aliquid sint animi. + content: + application/json: + schema: + type: string + description: Arbitrary JSON response. + example: Aliquam atque voluptatum ut dolorem. + format: binary + example: Dolorem cumque laborum quis nesciunt. + /policy/{group}/{policyName}/{version}/lock: + delete: + tags: + - policy + summary: Unlock policy + description: Unlock a policy so it can be evaluated again. + operationId: policy#Unlock + parameters: + - name: group + in: path + description: Policy group. + required: true + schema: + type: string + description: Policy group. + example: Quam dolores architecto itaque. + example: Voluptas ad corporis adipisci inventore ipsum. + - name: policyName + in: path + description: Policy name. + required: true + schema: + type: string + description: Policy name. + example: Recusandae dolorum nisi distinctio vitae ad. + example: Perspiciatis voluptatem. + - name: version + in: path + description: Policy version. + required: true + schema: + type: string + description: Policy version. + example: Corporis est rem. + example: Totam officia necessitatibus tempore nulla animi. + responses: + "200": + description: OK response. + post: + tags: + - policy + summary: Lock policy + description: Lock a policy so that it cannot be evaluated. + operationId: policy#Lock + parameters: + - name: group + in: path + description: Policy group. + required: true + schema: + type: string + description: Policy group. + example: Error maxime quasi quia non voluptatibus error. + example: Optio quia et laborum. + - name: policyName + in: path + description: Policy name. + required: true + schema: + type: string + description: Policy name. + example: In libero perspiciatis voluptatum ut soluta. + example: Ut amet. + - name: version + in: path + description: Policy version. + required: true + schema: + type: string + description: Policy version. + example: Accusamus enim. + example: Recusandae est rerum corrupti quia. + responses: + "200": + description: OK response. + /readiness: + get: + tags: + - health + summary: Readiness health + operationId: health#Readiness + responses: + "200": + description: OK response. components: {} tags: -- name: health - description: Health service provides health check endpoints. -- name: policy - description: Policy Service provides evaluation of policies through Open Policy - Agent. + - name: health + description: Health service provides health check endpoints. + - name: policy + description: Policy Service provides evaluation of policies through Open Policy Agent. diff --git a/gen/http/policy/client/cli.go b/gen/http/policy/client/cli.go index 6c7a2f3d..4b914733 100644 --- a/gen/http/policy/client/cli.go +++ b/gen/http/policy/client/cli.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy HTTP client CLI support package // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client @@ -11,7 +12,7 @@ import ( "encoding/json" "fmt" - policy "code.vereign.com/gaiax/tsa/policy/gen/policy" + policy "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/policy" ) // BuildEvaluatePayload builds the payload for the policy Evaluate endpoint diff --git a/gen/http/policy/client/client.go b/gen/http/policy/client/client.go index dee63b0b..3996ecf3 100644 --- a/gen/http/policy/client/client.go +++ b/gen/http/policy/client/client.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy client HTTP transport // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/policy/client/encode_decode.go b/gen/http/policy/client/encode_decode.go index 1c250b7f..fb9dc7c9 100644 --- a/gen/http/policy/client/encode_decode.go +++ b/gen/http/policy/client/encode_decode.go @@ -1,20 +1,21 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy HTTP client encoders and decoders // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client import ( "bytes" "context" - "io/ioutil" + "io" "net/http" "net/url" - policy "code.vereign.com/gaiax/tsa/policy/gen/policy" + policy "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/policy" goahttp "goa.design/goa/v3/http" goa "goa.design/goa/v3/pkg" ) @@ -74,13 +75,13 @@ func EncodeEvaluateRequest(encoder func(*http.Request) goahttp.Encoder) func(*ht func DecodeEvaluateResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (interface{}, error) { return func(resp *http.Response) (interface{}, error) { if restoreBody { - b, err := ioutil.ReadAll(resp.Body) + b, err := io.ReadAll(resp.Body) if err != nil { return nil, err } - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) defer func() { - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) }() } else { defer resp.Body.Close() @@ -109,7 +110,7 @@ func DecodeEvaluateResponse(decoder func(*http.Response) goahttp.Decoder, restor res := NewEvaluateResultOK(body, eTag) return res, nil default: - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) return nil, goahttp.ErrInvalidResponse("policy", "Evaluate", resp.StatusCode, string(body)) } } @@ -150,13 +151,13 @@ func (c *Client) BuildLockRequest(ctx context.Context, v interface{}) (*http.Req func DecodeLockResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (interface{}, error) { return func(resp *http.Response) (interface{}, error) { if restoreBody { - b, err := ioutil.ReadAll(resp.Body) + b, err := io.ReadAll(resp.Body) if err != nil { return nil, err } - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) defer func() { - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) }() } else { defer resp.Body.Close() @@ -165,7 +166,7 @@ func DecodeLockResponse(decoder func(*http.Response) goahttp.Decoder, restoreBod case http.StatusOK: return nil, nil default: - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) return nil, goahttp.ErrInvalidResponse("policy", "Lock", resp.StatusCode, string(body)) } } @@ -206,13 +207,13 @@ func (c *Client) BuildUnlockRequest(ctx context.Context, v interface{}) (*http.R func DecodeUnlockResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (interface{}, error) { return func(resp *http.Response) (interface{}, error) { if restoreBody { - b, err := ioutil.ReadAll(resp.Body) + b, err := io.ReadAll(resp.Body) if err != nil { return nil, err } - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) defer func() { - resp.Body = ioutil.NopCloser(bytes.NewBuffer(b)) + resp.Body = io.NopCloser(bytes.NewBuffer(b)) }() } else { defer resp.Body.Close() @@ -221,7 +222,7 @@ func DecodeUnlockResponse(decoder func(*http.Response) goahttp.Decoder, restoreB case http.StatusOK: return nil, nil default: - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) return nil, goahttp.ErrInvalidResponse("policy", "Unlock", resp.StatusCode, string(body)) } } diff --git a/gen/http/policy/client/paths.go b/gen/http/policy/client/paths.go index 71d01123..53cc956d 100644 --- a/gen/http/policy/client/paths.go +++ b/gen/http/policy/client/paths.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // HTTP request path constructors for the policy service. // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client diff --git a/gen/http/policy/client/types.go b/gen/http/policy/client/types.go index 56bdc28c..fc51ef85 100644 --- a/gen/http/policy/client/types.go +++ b/gen/http/policy/client/types.go @@ -1,14 +1,15 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy HTTP client types // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package client import ( - policy "code.vereign.com/gaiax/tsa/policy/gen/policy" + policy "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/policy" ) // NewEvaluateResultOK builds a "policy" service "Evaluate" endpoint result diff --git a/gen/http/policy/server/encode_decode.go b/gen/http/policy/server/encode_decode.go index 16478f42..a8f93f06 100644 --- a/gen/http/policy/server/encode_decode.go +++ b/gen/http/policy/server/encode_decode.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy HTTP server encoders and decoders // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server @@ -12,7 +13,7 @@ import ( "io" "net/http" - policy "code.vereign.com/gaiax/tsa/policy/gen/policy" + policy "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/policy" goahttp "goa.design/goa/v3/http" goa "goa.design/goa/v3/pkg" ) diff --git a/gen/http/policy/server/paths.go b/gen/http/policy/server/paths.go index 2ca862ae..37cdab3c 100644 --- a/gen/http/policy/server/paths.go +++ b/gen/http/policy/server/paths.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // HTTP request path constructors for the policy service. // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server diff --git a/gen/http/policy/server/server.go b/gen/http/policy/server/server.go index 303e6c97..2fe7f377 100644 --- a/gen/http/policy/server/server.go +++ b/gen/http/policy/server/server.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy HTTP server // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server @@ -11,7 +12,7 @@ import ( "context" "net/http" - policy "code.vereign.com/gaiax/tsa/policy/gen/policy" + policy "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/policy" goahttp "goa.design/goa/v3/http" goa "goa.design/goa/v3/pkg" ) diff --git a/gen/http/policy/server/types.go b/gen/http/policy/server/types.go index 286fb98a..a640ce9f 100644 --- a/gen/http/policy/server/types.go +++ b/gen/http/policy/server/types.go @@ -1,14 +1,15 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy HTTP server types // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package server import ( - policy "code.vereign.com/gaiax/tsa/policy/gen/policy" + policy "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/policy" ) // NewEvaluateRequest builds a policy service Evaluate endpoint payload. diff --git a/gen/openapi/client.go b/gen/openapi/client.go index b9c35dc1..1963b85d 100644 --- a/gen/openapi/client.go +++ b/gen/openapi/client.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // openapi client // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package openapi diff --git a/gen/openapi/endpoints.go b/gen/openapi/endpoints.go index 016b344f..47159eee 100644 --- a/gen/openapi/endpoints.go +++ b/gen/openapi/endpoints.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // openapi endpoints // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package openapi diff --git a/gen/openapi/service.go b/gen/openapi/service.go index a320f6ea..5350ef2a 100644 --- a/gen/openapi/service.go +++ b/gen/openapi/service.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // openapi service // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package openapi diff --git a/gen/policy/client.go b/gen/policy/client.go index 554aa783..7cc0476f 100644 --- a/gen/policy/client.go +++ b/gen/policy/client.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy client // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package policy diff --git a/gen/policy/endpoints.go b/gen/policy/endpoints.go index 312858f9..a67756c8 100644 --- a/gen/policy/endpoints.go +++ b/gen/policy/endpoints.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy endpoints // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package policy diff --git a/gen/policy/service.go b/gen/policy/service.go index 11c7536b..75c54e93 100644 --- a/gen/policy/service.go +++ b/gen/policy/service.go @@ -1,9 +1,10 @@ -// Code generated by goa v3.7.0, DO NOT EDIT. +// Code generated by goa v3.8.5, DO NOT EDIT. // // policy service // // Command: -// $ goa gen code.vereign.com/gaiax/tsa/policy/design +// $ goa gen +// gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design package policy diff --git a/go.mod b/go.mod index efc3a969..8e59b08f 100644 --- a/go.mod +++ b/go.mod @@ -1,68 +1,65 @@ -module code.vereign.com/gaiax/tsa/policy +module gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy -go 1.17 +go 1.19 require ( - code.vereign.com/gaiax/tsa/golib v1.1.1-0.20220829085303-0ce9287f5482 github.com/google/uuid v1.3.0 github.com/kelseyhightower/envconfig v1.4.0 github.com/open-policy-agent/opa v0.44.0 github.com/prometheus/client_golang v1.13.0 github.com/stretchr/testify v1.8.0 - go.mongodb.org/mongo-driver v1.8.4 - go.uber.org/zap v1.21.0 - goa.design/goa/v3 v3.7.6 - golang.org/x/sync v0.0.0-20220907140024-f12130a52804 + gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib v0.0.0-20220913103832-19b72aa5e623 + go.mongodb.org/mongo-driver v1.10.2 + go.uber.org/zap v1.23.0 + goa.design/goa/v3 v3.8.5 + golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 ) require ( github.com/OneOfOne/xxhash v1.2.8 // indirect github.com/agnivade/levenshtein v1.1.1 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/bytecodealliance/wasmtime-go v0.40.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dimfeld/httppath v0.0.0-20170720192232-ee938bf73598 // indirect github.com/dimfeld/httptreemux/v5 v5.4.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect - github.com/go-stack/stack v1.8.0 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/golang/snappy v0.0.4 // indirect - github.com/google/flatbuffers v2.0.8+incompatible // indirect - github.com/gopherjs/gopherjs v0.0.0-20220221023154-0b2280d3ff96 // indirect + github.com/gopherjs/gopherjs v1.17.2 // indirect github.com/gorilla/websocket v1.5.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/jtolds/gls v4.20.0+incompatible // indirect - github.com/klauspost/compress v1.15.9 // indirect + github.com/klauspost/compress v1.13.6 // indirect github.com/manveru/faker v0.0.0-20171103152722-9fbc68a78c4d // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect - github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect + github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect github.com/sergi/go-diff v1.2.0 // indirect - github.com/smartystreets/assertions v1.2.1 // indirect + github.com/smartystreets/assertions v1.13.0 // indirect github.com/tchap/go-patricia/v2 v2.3.1 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect - github.com/xdg-go/scram v1.0.2 // indirect - github.com/xdg-go/stringprep v1.0.2 // indirect + github.com/xdg-go/scram v1.1.1 // indirect + github.com/xdg-go/stringprep v1.0.3 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/yashtewari/glob-intersection v0.1.0 // indirect github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect github.com/zach-klippenstein/goregen v0.0.0-20160303162051-795b5e3961ea // indirect go.uber.org/atomic v1.7.0 // indirect - go.uber.org/goleak v1.1.12 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect - golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect - golang.org/x/net v0.0.0-20220909164309-bea034e7d591 // indirect - golang.org/x/sys v0.0.0-20220909162455-aba9fc2a8ff2 // indirect + golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d // indirect + golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect + golang.org/x/sys v0.0.0-20220803195053-6e608f9ce704 // indirect golang.org/x/text v0.3.7 // indirect - golang.org/x/tools v0.1.10 // indirect - golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df // indirect + golang.org/x/tools v0.1.12 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index c32eae96..7ddfc91f 100644 --- a/go.sum +++ b/go.sum @@ -30,8 +30,6 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -code.vereign.com/gaiax/tsa/golib v1.1.1-0.20220829085303-0ce9287f5482 h1:ItJwUbDQItlv2rlweJawbsTnJsAT5IAYYhtAjL8BEcg= -code.vereign.com/gaiax/tsa/golib v1.1.1-0.20220829085303-0ce9287f5482/go.mod h1:YFWVw+DcwqWZd7OpwKfBWjIjlrUBT1UVbj8Q8FS6k/g= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= @@ -48,13 +46,11 @@ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNg github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= 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/bytecodealliance/wasmtime-go v0.40.0 h1:7cGLQEctJf09JWBl3Ai0eMl1PTrXVAjkAb27+KHfIq0= -github.com/bytecodealliance/wasmtime-go v0.40.0/go.mod h1:q320gUxqyI8yB+ZqRuaJOEnGkAnHh6WtJjMaT2CW4wI= +github.com/bytecodealliance/wasmtime-go v0.36.0 h1:B6thr7RMM9xQmouBtUqm1RpkJjuLS37m6nxX+iwsQSc= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -96,7 +92,6 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= @@ -137,8 +132,7 @@ github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM= -github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v1.12.1 h1:MVlul7pQNoDzWRLTw5imwYsl+usrS1TXG2H4jg6ImGw= 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/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -166,10 +160,15 @@ github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gopherjs/gopherjs v0.0.0-20220221023154-0b2280d3ff96 h1:QJq7UBOuoynsywLk+aC75rC2Cbi2+lQRDaLaizhA+fA= -github.com/gopherjs/gopherjs v0.0.0-20220221023154-0b2280d3ff96/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= +github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= +github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -187,9 +186,8 @@ github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8 github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= -github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -210,6 +208,7 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -246,8 +245,8 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= +github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= @@ -255,9 +254,9 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/smartystreets/assertions v1.2.1 h1:bKNHfEv7tSIjZ8JbKaFjzFINljxG4lzZvmHUnElzOIg= -github.com/smartystreets/assertions v1.2.1/go.mod h1:wDmR7qL282YbGsPy6H/yAsesrxfxaaSlJazyFLYVFx8= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/smartystreets/assertions v1.13.0 h1:Dx1kYM01xsSqKPno3aqLnrwac2LetPvN23diwyr69Qs= +github.com/smartystreets/assertions v1.13.0/go.mod h1:wDmR7qL282YbGsPy6H/yAsesrxfxaaSlJazyFLYVFx8= +github.com/smartystreets/goconvey v1.7.2 h1:9RBaZCeXEQ3UselpuwUQHltGVXvdwm6cv1hgR6gDIPg= 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/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -265,7 +264,6 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -275,10 +273,10 @@ github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2 h1:akYIkZ28e6A96dkWNJQu3nmCzH3YfwMPQExUYDaRv7w= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/stringprep v1.0.2 h1:6iq84/ryjjeRmMJwxutI51F2GIPlP5BfTvXHeYjyhBc= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E= +github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= +github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs= +github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= @@ -290,11 +288,12 @@ github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7Jul github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zach-klippenstein/goregen v0.0.0-20160303162051-795b5e3961ea h1:CyhwejzVGvZ3Q2PSbQ4NRRYn+ZWv5eS1vlaEusT+bAI= github.com/zach-klippenstein/goregen v0.0.0-20160303162051-795b5e3961ea/go.mod h1:eNr558nEUjP8acGw8FFjTeWvSgU1stO7FAO6eknhHe4= -go.mongodb.org/mongo-driver v1.8.4 h1:NruvZPPL0PBcRJKmbswoWSrmHeUvzdxA3GCPfD/NEOA= -go.mongodb.org/mongo-driver v1.8.4/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib v0.0.0-20220913103832-19b72aa5e623 h1:VuWLKBdO5bTGimppwkk6v+cJZ6onc2J16hBXHf048GU= +gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib v0.0.0-20220913103832-19b72aa5e623/go.mod h1:5BPRkziGjdCI9xVfJBGY+7Ea51gtiEEs7+rbYeC8lnY= +go.mongodb.org/mongo-driver v1.10.2 h1:4Wk3cnqOrQCn0P92L3/mmurMxzdvWWs5J9jinAVKD+k= +go.mongodb.org/mongo-driver v1.10.2/go.mod h1:z4XpeoU6w+9Vht+jAFyLgVrD+jGSQQe0+CBWFHNiHt8= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -303,24 +302,21 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= -go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -goa.design/goa/v3 v3.7.6 h1:xwiPiwtcfm1GK4+GgxSJseHQWAqnoeeGdsv0YAquIEs= -goa.design/goa/v3 v3.7.6/go.mod h1:Fc2yyfyUZbGUL7PYOioLdT9JVN7dbdhkDwo5v7xoKc8= +go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= +go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= +goa.design/goa/v3 v3.8.5 h1:Y0/6ZwmwZftqQBOlBANU9mP4R+h2gIQUyfQMEs98pGU= +goa.design/goa/v3 v3.8.5/go.mod h1:+tEl2wNEL54TMAQQ5Mu5il1zl20/7k89XMUv8hVJfa8= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -351,9 +347,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= 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-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -382,12 +377,11 @@ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220909164309-bea034e7d591 h1:D0B/7al0LLrVC8aWF4+oxpv/m8bc7ViFfVS8/gXGdqI= -golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b h1:3ogNYyK4oIQdIKzTu68hQrr4iuVxF3AxKl9Aj/eDrw0= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -405,8 +399,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220907140024-f12130a52804 h1:0SH2R3f1b1VmIMG7BXbEZCBUu2dKmHschSmjqGUrW8A= -golang.org/x/sync v0.0.0-20220907140024-f12130a52804/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -420,7 +414,6 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -441,16 +434,13 @@ golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220909162455-aba9fc2a8ff2 h1:wM1k/lXfpc5HdkJJyW9GELpd8ERGdnh8sMGL6Gzq3Ho= -golang.org/x/sys v0.0.0-20220909162455-aba9fc2a8ff2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.0.0-20220803195053-6e608f9ce704 h1:Y7NOhdqIOU8kYI7BxsgL38d0ot0raxvcW+EMQU2QrT4= +golang.org/x/sys v0.0.0-20220803195053-6e608f9ce704/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -458,7 +448,6 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= @@ -474,7 +463,6 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -506,15 +494,12 @@ golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20= -golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -602,12 +587,10 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/goagen.sh b/goagen.sh index b33be938..e770ae6d 100755 --- a/goagen.sh +++ b/goagen.sh @@ -9,7 +9,7 @@ STORED_GOFLAGS=$(go env GOFLAGS) go env -w GOFLAGS=-mod=mod # execute goa code generation -goa gen code.vereign.com/gaiax/tsa/policy/design +goa gen gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/design # restore the value of GOFLAGS go env -w GOFLAGS=$STORED_GOFLAGS diff --git a/internal/clients/cache/client.go b/internal/clients/cache/client.go index 7ad51dce..a1286813 100644 --- a/internal/clients/cache/client.go +++ b/internal/clients/cache/client.go @@ -7,7 +7,7 @@ import ( "io" "net/http" - "code.vereign.com/gaiax/tsa/golib/errors" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors" ) // Client for the Cache service. diff --git a/internal/regocache/regocache_test.go b/internal/regocache/regocache_test.go index fd63e6f1..f797ee76 100644 --- a/internal/regocache/regocache_test.go +++ b/internal/regocache/regocache_test.go @@ -7,8 +7,8 @@ import ( "github.com/open-policy-agent/opa/rego" "github.com/stretchr/testify/assert" - "code.vereign.com/gaiax/tsa/policy/internal/regocache" - "code.vereign.com/gaiax/tsa/policy/internal/service/policy" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regocache" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/service/policy" ) const regoPolicy = ` diff --git a/internal/regofunc/cache_test.go b/internal/regofunc/cache_test.go index 39bf2a0a..ee2635b4 100644 --- a/internal/regofunc/cache_test.go +++ b/internal/regofunc/cache_test.go @@ -12,7 +12,7 @@ import ( "github.com/open-policy-agent/opa/rego" "github.com/stretchr/testify/assert" - "code.vereign.com/gaiax/tsa/policy/internal/regofunc" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regofunc" ) func TestCacheGetFunc(t *testing.T) { diff --git a/internal/regofunc/did_resolver.go b/internal/regofunc/did_resolver.go index a4b0bf48..24b3e123 100644 --- a/internal/regofunc/did_resolver.go +++ b/internal/regofunc/did_resolver.go @@ -8,7 +8,7 @@ import ( "github.com/open-policy-agent/opa/rego" "github.com/open-policy-agent/opa/types" - "code.vereign.com/gaiax/tsa/golib/errors" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors" ) type DIDResolverFuncs struct { diff --git a/internal/regofunc/did_resolver_test.go b/internal/regofunc/did_resolver_test.go index 93b3b244..320d29c2 100644 --- a/internal/regofunc/did_resolver_test.go +++ b/internal/regofunc/did_resolver_test.go @@ -11,7 +11,7 @@ import ( "github.com/open-policy-agent/opa/rego" "github.com/stretchr/testify/assert" - "code.vereign.com/gaiax/tsa/policy/internal/regofunc" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regofunc" ) func TestResolveFunc(t *testing.T) { diff --git a/internal/regofunc/ocm.go b/internal/regofunc/ocm.go index 1872aac8..bf5a86e0 100644 --- a/internal/regofunc/ocm.go +++ b/internal/regofunc/ocm.go @@ -8,7 +8,7 @@ import ( "github.com/open-policy-agent/opa/rego" "github.com/open-policy-agent/opa/types" - "code.vereign.com/gaiax/tsa/golib/ocm" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/ocm" ) type OcmFuncs struct { diff --git a/internal/regofunc/ocm_test.go b/internal/regofunc/ocm_test.go index 3e9ca069..852279ca 100644 --- a/internal/regofunc/ocm_test.go +++ b/internal/regofunc/ocm_test.go @@ -11,7 +11,7 @@ import ( "github.com/open-policy-agent/opa/rego" "github.com/stretchr/testify/assert" - "code.vereign.com/gaiax/tsa/policy/internal/regofunc" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regofunc" ) func TestGetLoginProofInvitationSuccess(t *testing.T) { diff --git a/internal/regofunc/registry_test.go b/internal/regofunc/registry_test.go index 125fb105..30d3938b 100644 --- a/internal/regofunc/registry_test.go +++ b/internal/regofunc/registry_test.go @@ -7,7 +7,7 @@ import ( "github.com/open-policy-agent/opa/rego" "github.com/stretchr/testify/assert" - "code.vereign.com/gaiax/tsa/policy/internal/regofunc" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regofunc" ) func TestList(t *testing.T) { diff --git a/internal/regofunc/signer_test.go b/internal/regofunc/signer_test.go index 1adb9fb6..0430e1fe 100644 --- a/internal/regofunc/signer_test.go +++ b/internal/regofunc/signer_test.go @@ -11,7 +11,7 @@ import ( "github.com/open-policy-agent/opa/rego" "github.com/stretchr/testify/assert" - "code.vereign.com/gaiax/tsa/policy/internal/regofunc" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regofunc" ) func TestGetKeyFunc(t *testing.T) { diff --git a/internal/regofunc/task_test.go b/internal/regofunc/task_test.go index d74a5c2a..6f7fbc16 100644 --- a/internal/regofunc/task_test.go +++ b/internal/regofunc/task_test.go @@ -9,7 +9,7 @@ import ( "github.com/open-policy-agent/opa/rego" "github.com/stretchr/testify/assert" - "code.vereign.com/gaiax/tsa/policy/internal/regofunc" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regofunc" ) func TestTaskFuncs_CreateTask(t *testing.T) { diff --git a/internal/service/error_response.go b/internal/service/error_response.go index cbe74c6b..6d013e78 100644 --- a/internal/service/error_response.go +++ b/internal/service/error_response.go @@ -4,7 +4,7 @@ import ( goahttp "goa.design/goa/v3/http" goa "goa.design/goa/v3/pkg" - "code.vereign.com/gaiax/tsa/golib/errors" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors" ) func NewErrorResponse(err error) goahttp.Statuser { diff --git a/internal/service/policy/policyfakes/fake_cache.go b/internal/service/policy/policyfakes/fake_cache.go index a8583cb4..711539af 100644 --- a/internal/service/policy/policyfakes/fake_cache.go +++ b/internal/service/policy/policyfakes/fake_cache.go @@ -5,7 +5,7 @@ import ( "context" "sync" - "code.vereign.com/gaiax/tsa/policy/internal/service/policy" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/service/policy" ) type FakeCache struct { diff --git a/internal/service/policy/policyfakes/fake_rego_cache.go b/internal/service/policy/policyfakes/fake_rego_cache.go index 4bc89b3d..fa54a846 100644 --- a/internal/service/policy/policyfakes/fake_rego_cache.go +++ b/internal/service/policy/policyfakes/fake_rego_cache.go @@ -4,7 +4,7 @@ package policyfakes import ( "sync" - "code.vereign.com/gaiax/tsa/policy/internal/service/policy" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/service/policy" "github.com/open-policy-agent/opa/rego" ) diff --git a/internal/service/policy/policyfakes/fake_storage.go b/internal/service/policy/policyfakes/fake_storage.go index 32bf1918..d415f7cd 100644 --- a/internal/service/policy/policyfakes/fake_storage.go +++ b/internal/service/policy/policyfakes/fake_storage.go @@ -5,8 +5,8 @@ import ( "context" "sync" - "code.vereign.com/gaiax/tsa/policy/internal/service/policy" - "code.vereign.com/gaiax/tsa/policy/internal/storage" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/service/policy" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/storage" ) type FakeStorage struct { diff --git a/internal/service/policy/service.go b/internal/service/policy/service.go index 7d90e62b..a6322285 100644 --- a/internal/service/policy/service.go +++ b/internal/service/policy/service.go @@ -10,10 +10,10 @@ import ( "github.com/open-policy-agent/opa/storage/inmem" "go.uber.org/zap" - "code.vereign.com/gaiax/tsa/golib/errors" - "code.vereign.com/gaiax/tsa/policy/gen/policy" - "code.vereign.com/gaiax/tsa/policy/internal/regofunc" - "code.vereign.com/gaiax/tsa/policy/internal/storage" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/policy" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/regofunc" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/storage" ) //go:generate counterfeiter . Cache diff --git a/internal/service/policy/service_test.go b/internal/service/policy/service_test.go index 3e442900..9748c611 100644 --- a/internal/service/policy/service_test.go +++ b/internal/service/policy/service_test.go @@ -9,11 +9,11 @@ import ( "github.com/stretchr/testify/assert" "go.uber.org/zap" - "code.vereign.com/gaiax/tsa/golib/errors" - goapolicy "code.vereign.com/gaiax/tsa/policy/gen/policy" - "code.vereign.com/gaiax/tsa/policy/internal/service/policy" - "code.vereign.com/gaiax/tsa/policy/internal/service/policy/policyfakes" - "code.vereign.com/gaiax/tsa/policy/internal/storage" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors" + goapolicy "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/gen/policy" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/service/policy" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/service/policy/policyfakes" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/policy/internal/storage" ) func TestNew(t *testing.T) { diff --git a/internal/storage/storage.go b/internal/storage/storage.go index 6826391c..7d7a8a91 100644 --- a/internal/storage/storage.go +++ b/internal/storage/storage.go @@ -9,7 +9,7 @@ import ( "go.mongodb.org/mongo-driver/mongo" "go.uber.org/zap" - "code.vereign.com/gaiax/tsa/golib/errors" + "gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors" ) type PolicyChangeSubscriber interface { diff --git a/vendor/github.com/go-stack/stack/.travis.yml b/vendor/github.com/go-stack/stack/.travis.yml deleted file mode 100644 index 5c5a2b516d397ba676a374d9e9092173a4dbdb25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmc~v%u6p#Oi#5^NYCdgE=|d|Qb<e8DNf}|&$r@IP|#H{)HBzsfU+#$EK4}c&;Y?S zgfdGq3%IzFQq%H_QsXo8ic1o6av+AK=PRVAmMElWmSmJB=_Tjq>gOhwl;r8B=a;1x oCFbN5b8!_X7iAWdz?4IU6?BVJi^?*SQ*BF%63a4+b(1r>0FsV2xc~qF diff --git a/vendor/github.com/go-stack/stack/README.md b/vendor/github.com/go-stack/stack/README.md deleted file mode 100644 index f11ccccaa430e3285dfcfd2019606eaaa9537c0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1559 zcma!6jCRj=$xn{e$S5f(D7MnqPtQ-uPu9yXO4m=%EXgQM(o4?I)lbjYEiOq+&ejK$ z_QfTMC8foB#bxQ5Bx%&-0^6q$lv<EqRHERVSd@aSzX&XxoLH0swlpa*B|R0*Y83m> z)I+%F8bDTt6eX5r7CU<)EGq$v=q6`Ee2U^dkiYDciW2jZGi-Aci%U|AkZi@L5$rwZ z{Ib-d#Pn2!U~nKItV{+=<m43VW#;RH+*%9`VKf)(gZ+)y5hzAMq6y6qH1~6HDJy`Z zj*BZGF*zILJTO-wGq)foH8(Y{q*$S}Br_+oBr~;Gp(I}+IkBLmv?x_aAvZBEv!FC5 zu_RSTAu%sSAuYcsH?c$^IWZ@P3v5KOo`PqILP1e}S!POVu|lFkG1$x^1;+qSg_4ZK zJcR<NjYXw-C7HRYdR$x~8L0@H6H7Al^At)Fvr~%|k`s$k74p**N-|Ovax?QvOEMF| zwiXwpCTAw*C?qEqrxt@0WagEm78MkwmSpCobAePB6y>KECFUw5=a+({6f_EwH5JMd zb4pW-6^c?zN{jMRQxuXa6=05VPRz+kEh^UI;!;*t2um$0&dkpPnS~ZU1*J(jnZ+4k zLvm8VwwGllDnu8j=9Z-vK_b^mUmwB+rzK5=<ow)%#FEUUoKyw(%o47W#Pni?f}+&4 z%!<?$h4Rdj3~(UjrRSt7sF$hhDS$!)lFk$$sZJp=r#!K;SRpw-uOu-uuNWL0peQIV z;VMc6I|HICCABOyC%*uu4X(a452`E$<e1#d5~x4jz>x<IGgN=77b}!h7Niy<Vnrb> zw?q%BKD9_kp*$lqIRi7AL9xS?mXlfm_HKD%B`EQvq$cMi7A2NsmZj!Yf_#ydnO<6y z3Qap8>lMl~Qu7o_i(vthlb@cRnU}7RU&NJKRFq$&P*RkboDC9zCLWLn5)u;9^SRPW z^O6-@@<TFGLozb+(ls;{s<{*t6cmybtZX4^Tn`er8U~tRiJbg&y?~<3yb_IMO^`we z*4I~1D$Xx0N>0^F&$lu(P(oFkrlF*&U8ba?0MY|eTacZuUyxXmp-(_l9#oG4NE5=D zN?c&`ixG|tDN0OE)zH)nDay<Zg5(ShbO#rsIXD{0a#L^~Of3RA-^55EH!(90#56RC zRpP4UN=QiH;tEbp1t*=9{N!R#;438N<bW~{D8Ce!7J$m&R9KD%$4Y(yC@&W4aRC5D Co*Kyj diff --git a/vendor/github.com/go-stack/stack/stack.go b/vendor/github.com/go-stack/stack/stack.go deleted file mode 100644 index ac3b93b14f48fea3c94d23045a19a613f4c0d6c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11832 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 diff --git a/vendor/github.com/hashicorp/errwrap/LICENSE b/vendor/github.com/hashicorp/errwrap/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..c33dcc7c928c646b497b74de395fb53916a7be25 GIT binary patch literal 15977 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/errwrap/README.md b/vendor/github.com/hashicorp/errwrap/README.md new file mode 100644 index 0000000000000000000000000000000000000000..444df08f8e775967f248994a47d2e070126b12a5 GIT binary patch literal 2484 zcmY#ZNG&QVFG?)n;!1$B5)?9v6%rK+5|gtN(^D1F@{1JQ^A$=m5=%hr+{B#Bs?=hI zl8jV^g2a-N)S^6v{4@oS5e1of=^*3si;B4t^HLO&Gg6bYL1LL{3W<3T8HMEhypqJs zykdpKy!?`k)FOzm9v4?gMru(i#Omby+}!*;xbc~JAP3~9DU>9FjZ0K0N-ZfZ%1cdA z0J%B8C_$ktF{d<DAu%t7t0W^e58;~35(SOo(&P+<#A1c=%#sX+gtXieJ=db5{Gzl3 zO@*Y?wEUt}sBvJImgp&jfP7YzpOllD%LUd`l95@Aa16-ni6sh^`K1cU`MCu-sU@j7 zl?ple#i`&h$uG)G&&*5Afjh0Zq^LBxq_ikikBiH(D7`c>DW?*wGCn!Ks3<kLBwiu0 zpr9x}F*yU|dvG{|3@^^eFU?6&$W6>nRY+7wE-fy}&sBgM#+3=OIyW`11mtW`WWa(V zGp{7IC@nELRR<Iv3K@xIXbwvS`5qJ?i3(|%sW~ZJ`FW7og&VG;01mV0M37%IixpBU z5<#}bYGjm@6j<r&r|0J+=B4Z97p3bLWT)%r7wanrB$i}=gH=<HD+Cl?;53w;pPvHv zosL3MDJ0w=Zpv54&dV<c2L;F*MX3tO8Ht(T)KrjPT%4Jdlgd?;3Qt(zfXPTKC`ipK z)=?-2MKdUvax>F2N))n6i%S%e6N^$65|i>vOBC|+K*0?P5|I7`)P#!^n;MxV3Mu)i z#d+!_3c29atWXY0=<pZ;Sy5V?%9WUuUzVz=kW{IVo>>M8@<fH=%)IoRR0Vi=gDgR$ zJa8x%>!4-=h2nzL<jl0pWG=8YD851ND@aX&L{@4=Nl{`lG)fao;CVw?S-~@}xFj(r zC$S_mKMx$SF8RsDTwG9Lg;J1f6cW<&71C2n6w)(GGD?&5lJj%*GZKq4GL!R*3iM&w zTaSy&tu!Y`AtgV#6qJA<MuOt2EHN`DF)1fiA+dxD9@Q!N$>5mAXC@byva&*GabkKZ zh^4Ho;FMULnG6$gO3leH2l+Kop)9qiQXvT}2~AX>!XvY!SfLc8+lq@TAt50>pG#j~ z!BHWtG%p$KU2xPV=9DK^7DMwYsQ7?{4kT59La|sOvqVQBClj1sic%AEK&HUW0H+f@ zE)ZX#q^Q!rAT>`z6JmryH5X^R4v4K_Wvh^1tOu4<($CaS$<Hg%Pp!x-E>Y6t;>=6~ zt5LL7$ji(DY2qvbmqQ>?kOTC>ixLacG?ZMR2@0&yN};+swWz4JRtao_CKqQd7Z*%p zUS<wgEf>U5xrvz|7gcj{rWO@}90GSG7Z<0#zCw7aLULlBLMgPIafX$n8L2r1sYS&K zCHauFrjUuHv;~`hTH-2rmVn}<I5901q&Edr#AiZF$waUZ!D&=SA-@P*bV7{)c{aZY zQeePxPHI^y!eP*42CF~xVBrQ1A(*Q*Qj3ao6qG;)DCFgrD1d`XNfR8X`uYkk`3lAP zxv3=?nR)4;0D}fSiV-1|1*s5Y@>0t+@{9ElMG#JNz<%&AQYc3a%f#a1{N&8U5>SQW zo?4OsPkG=_1(z+*oC!7{5uS}9fdQ&AKp_V%uc1i-ltMDoAi)I7^bpms@&;@a*x!0w zoCVN0hX$UWduj<j|8doV@(DDrIYX)jka|#okOr!n)IlX-PEl%NN+qZU0To!#8l<GM z09<<~mM9by<rkzD<y3+TEr{cabwK5D9v7(C1En@lVUn1W0}_M>N@7lCNhK)TCO}<V ztOtwM1aQd&t~`<|u~bo@3{sF<lz>!df@@fC5a;Km!tKygaD~)4@Dc&!ZUx7J0&pdx zP|c;F;GCb5ssQGKSX>GqwgSW(@JywVs-Okaq^SV0J_W3&SVL1GIu@M7!KOju4JuTf z3Th<O!ot}PTu*`HxG1|A?j~rYsljZhb}cHhQb4pYG?ZY?9wp6ME=ci#BMl>KQqlw` XV10cBa7|jCnUkYXo?n!$2z3qs2c%t5 literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/errwrap/errwrap.go b/vendor/github.com/hashicorp/errwrap/errwrap.go new file mode 100644 index 0000000000000000000000000000000000000000..44e368e569224106c3a812eccc2fe76fb00226af GIT binary patch literal 4539 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/LICENSE b/vendor/github.com/hashicorp/go-multierror/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..82b4de97c7e3246775ac5836680284ea8a628dd9 GIT binary patch literal 15976 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/Makefile b/vendor/github.com/hashicorp/go-multierror/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..b97cd6ed02b5b67f40119c94a14d7dc2fd44d1e7 GIT binary patch literal 821 zcmWG>4Gyul)zjD0)8pbwNli;E%_*@`C`m0Y;o?#T(+WkUdBqAP8L1FnacO2rszPF3 zib7dx2}C?OKP6R<3#7+NAw4xOwJ5P9m5b9MH8~?+LCMzEP9dl?FE2AM9c)0co}Qi( z7pFsdzCuoBafyP82FMAT3Nc)qoHYvRMX3b}x@8JV`emtkDfvbEN>GW4#G>?K1>HPD zh4g%|ISRTZnYpR?r6smz2E_`x1&Kw8IXS60wuS}@D%Bt(9fRD1Yhj)!N=!~gcm&K# z&PYwpPAvkv8zexC+Z8lGDm7{21(4C`ZZ9oJNi0cCNi8T=$jmD)NzBP9R!Gdr0Y^tl zYC&pVN@`wmW@@oQUTSJeYKlThKFF8g=t(Ng%t_JXLYQF1#pzI-p`e?rpro!+?Hn59 z;u%z{Uz}W&Sx{1}53)nAI73}QU8UO3(bu(BT?rI;u=oTSTda_fo)3@V1dwH5OCYYP z%uCG8Ois+nse~&@Q7FzYElN&RNXyJgE!N|L83u9*B6YY!l1ye^Iy79<GV@Xt^b~YU zDhpB-(iC*_5_3}()b(6~<AY1`i&E7UbW>7uQo(5qmWsd$7@AawOG7ZXaB=Acc=-E8 WS}8zNKO}X5QZqP05a9>+78d}YKL$Af literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/README.md b/vendor/github.com/hashicorp/go-multierror/README.md new file mode 100644 index 0000000000000000000000000000000000000000..71dd308ed8117bab855eae370146a729afcc4237 GIT binary patch literal 4758 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 Xxd;@0sI3T49Of5+14%;@TonQUGE$4t literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/append.go b/vendor/github.com/hashicorp/go-multierror/append.go new file mode 100644 index 0000000000000000000000000000000000000000..3e2589bfde0c882b491697b60d98ce699c7d1499 GIT binary patch literal 1058 zcmXR&OwLYBPgTe*%_+%DEh@?{;^NZRS8yySNX<)8$ShV!RLDrpDM&3+NGr`tF3HT# zQz*$uEKw-W%*jzmgs95RFG^Ja>n#T9&Ce^zS4hlLa0QvBkeR2DUzCzsq)?KtkX)3S zSdyxcsF0Ibl%84yu~ZkVQ;$nuAEenc4P+9?;=KG4g+z!FhzhWIItnEjsd);SP!}Yn zDwLEK<)x-5WagFRgAB;eOVv~GOjAhAt5nEO1E~fXSgep(gz%&u!l+7!Pm)p<(sB|@ zN>cMuQ=q0O<fN9R=77xwnE-O2f@5B#LSAMLh@W3ntWcg=l98DQ;(^#XISNUs3YqD7 z`9-NIU^k=|6@h({nWLkSsF0Uh4l-H`Y&qQ8qEv_n^teC)3=Mb<kWR3#bs(ne>FI&F znhH?u)m)s#<(VbP86bHDD_anyr%_T_kgBOr&Bd9VSeyz~YQ@FLsjsgPQdy9i0&;w@ zLULlBLQ!gBa)v@iYEi0=LUF!AW?p7VW@1ieRjNW}nnHOhIJojMbGSG;Ga)fzYYWm0 zGMkeV<T_iBe>A{;(d6RftmT4O<DRcjl2Mdjnx3HmwgK#Fg~YrRSom^ra;D`MDa7k2 zq=KAXl$e(ePCUgBqhX!`$)zHBh!fpQ5Qix!A~_4}Fi6}ME7(F)CnzYPVmb<`P?nya z9>~!kXLE9Lrlh7Nmgbaz0*X9Sk<6-vg#{#DLD9m6Y(ZXXxoc5TG01zliP@<d(XrqV z(orzbQOHTn1G%<XQ`-<^A~fKUeF)PH_Z(CJoJv4?K-NRW5Fr2+04pj6d!37u6Y4%l ZM%PdSM`U%a4k%VZ4g@RXtmUfZ0szTwN}>P& literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/flatten.go b/vendor/github.com/hashicorp/go-multierror/flatten.go new file mode 100644 index 0000000000000000000000000000000000000000..aab8e9abec9d86f6ac11394b311e00dfd1dec7ec GIT binary patch literal 568 zcmXR&OwLYBPgTe*%_+%DEh@?{;^NZRS8&ToEGbFNQ%Hl*#R?@EsS4?tWvO`zU`09# zxv53znR)37iFuU@TCO0C#R?_)>8T|dsYMEzc_sNEV-gjLGxO4OQlTpJxYA1Vl3|8x zq!txHOw)u=3e{Yk`uYl<X$qMo3Yo=u>Lm(^c~Gr73R$JaB??8UC8b4qVAp`%p^#Xt zn_0}onVF^#ucMHktzcyfGD}Yb;v`LL1;zYqkhz>tovB4dT%5IBV2k`gZY|F&PSsJ! zP0UUOn_84wT$%&2HwET*g~am2N<}VCP*AuQ6@hHXOD)#`ds!1AT#}jx@{A5xi)&Gl zCKt>)s3xvjE{NAbe5h)WJM)X+dZ7N)1Ua_2JhLP@1Ec_CTWV2}o<>P!K`K}-Ik6ZP zoK{?%oN4(*AfKm#6c#1srKf^)>46<r3^Ixn>~64?aH}-AI5}&%I8##75=(PRz^3FR gmbexb!SvZGBo-8;=A~$WoQn|G0hz4{3cgw{0DfG#n*aa+ literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/format.go b/vendor/github.com/hashicorp/go-multierror/format.go new file mode 100644 index 0000000000000000000000000000000000000000..47f13c49a673e2c7e3515b19765d1405b936ed8a GIT binary patch literal 668 zcmXR&OwLYBPgTe*%_+%DEh@?{;^NB8Eyyn_QPAMxR7%S&QR3oMDlRF?%u6p;;?m^e z($`mT1*vn(FUn0UaVyPBR>&+?NK{BG%}XxH%+FIuPRz+kN=(jHD9K1H0m*>`Qd1O? zDj^ybO7cO5l#~|bDU@WSD&%Aqmnh_?DS&M+R>;gN$yZ2JfLN)=RZ>}y3eksTA;>O` z=vc50O{h|^%X~76OOVuo9hQ_>oSCeU26k>qY7xX)`K2WVr6t8+2jrFJCZ!f3oB(zm z$nE*b$)!a_sVNGHIr(|%3gww4848ICNu@bCsU->p`I&hoaL0o@0(MTZ9v8@U3aBp8 zNG(=CbFV@*7iVUgLQZO)MryI9f~~EBAxMa`C>0zsX}KkO!39N`c_nEYN`{cYQGhwf zDkd+cL`y-nI3_P9Pf151wK&=!R+EdfmWzuM?5<)3D_e!!#Ozd!=vYWd>cDK$<l;=r zFH*?V0htL>R+N~Ro~n>q47MGjJ32E~!Bzpq2_V}*HWd{??ZM(sE>2D*)fAAq`9;O3 lj)ggui<1-TV;yL`73+EBXXa@@EY?v_0(nhIQ<JNf3jpNV-o^j` literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/group.go b/vendor/github.com/hashicorp/go-multierror/group.go new file mode 100644 index 0000000000000000000000000000000000000000..9c29efb7f87e911e2787146940ffbf74a447dba9 GIT binary patch literal 759 zcmXR&OwLYBPgTe*%_+%DEh@?{;^NB8Eyyn_QBW$b%u80{;?mbwa4*U)El|iTR!CGx z&d<q7O)kmI&r`@xQ%KJ*$}cU+%u6j+D9^}D&QK^yEh#O^QvjP(tWc7XSfY@Znwp|e zlCO}I3Nk7=KQSk@I5{;%kE^7zAQftKaY<2Wa*0AU7iVs1Nos`x$Z9=b5R;2DwWvrz zK|#wE>^RQybOi+kh<tcrW(nA3T(uBa<|`y8=H!5^O;t$GEKAK(NGr{QxHU6RAyFYO zwH)DMJuZEHkb^wa6iPBu5h@`*C{{>>`a&VI1nl#a6o@xKiqpa2fe15*=Ru}r7DIy| zHANw*QUT;dJuZ+d6g1Kmw7{;_RB+GNNCR7_p$Q2oO_0yi^~%%r98*#>3^lp9IMefC zDyq3SIa5;8Qi~M8DqQmOQZ+y-I5X2gx)rQ!71A^`t-)+XTZO#L9FS?8oauVtu+;O( zPtMlR<l+R0fWp#N!LgtqH7`XYT`#q$NC%`3Dhp8`nwJC9QOm_ytDy-EUXWiDl0b6B z3Z;1^nK=rHIXPfQf>Q$|=+lbwbHU;1p0ALbT9T2UqL7hTmI@CP9gt)mD5Q$ODFqT) nh>*k#EReMtn$Y+M`3xKi5K%4+Pr?EU-765=6u@5Qs^tOzS|{}R literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/multierror.go b/vendor/github.com/hashicorp/go-multierror/multierror.go new file mode 100644 index 0000000000000000000000000000000000000000..f54574326461616e1e344fb46888c858f9ed1af3 GIT binary patch literal 3452 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 literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/prefix.go b/vendor/github.com/hashicorp/go-multierror/prefix.go new file mode 100644 index 0000000000000000000000000000000000000000..5c477abe44f80ed57b73796c77bce65b3dbfb15d GIT binary patch literal 794 zcmXR&OwLYBPgTe*%_+%DEh@?{;^NB8Eyyn_QPAMxR7%S&QR3p_R7%e*$tX?IOU}>L z&qyrJ$V|>JD$q|YDk?8ZEKuUo<l@rTR|qIdP0OrM$ShV!RLDrpDM&3+NGr`tF3HT# zQz*$uEKw-W%*jzGfT$|Y&rMY*Nv$XW=`6`tD9K1wNY5-w%~Jq7LQlan4J-!cLCi!r zQO_0RP#uthJdplOsM$%WP~%fm6iV_HQWKLi6hJO4NKJtn%cZXm(h!o7Sqw6?v^X`b zGzX-%v^Z6vJR>zvA+ew!H7_MIFC7vj1v$uJQw-8vlAoShl95`ZkeR2DUzCzs1kw+3 zyFyZGNl9vvLUD3_L1tdM9v8^_&|uL>Eh>VzK?mwah2oN;%)E3>h^Rs}7iVS~h^=62 ztB{wO0}|jYN-ZfZ$^&t^IBU7MIMecrauZ7wtZWt1a!d4r3yL!HO42lxRErg=t5b`L zYHO8XrfYI>7MEw1Bxit)w6X<JdKx8_1*w`KlamvRQx&wp!Dz+B$*Hfe5K;*WrM%3X zVuj?yJcS}~;ANy1rRpdY=PP99WtL<n=44i-DrBZ9l&2~r7NtU*g~ipJAivrw<fWEt zfNjv^;sm=MWKDQcVgV##@{uCAn2QtSH-$_cg;bF5iW2kEQ^8IK8&C{#GAGDbNX!>U zXT~aky#$I~J&>7c8j!HjQAmYb2MxW{q9QKNl+?7u(wq{IXA#2KbQcwAg2K9%3jjia B1wa4* literal 0 HcmV?d00001 diff --git a/vendor/github.com/hashicorp/go-multierror/sort.go b/vendor/github.com/hashicorp/go-multierror/sort.go new file mode 100644 index 0000000000000000000000000000000000000000..fecb14e81c5428e4fb7fe5458c34f641a0e24eb3 GIT binary patch literal 452 zcmXR&OwLYBPgTe*%_+%DEh@?{;^NZRSMW*AQ^?FM$Vtsj%_}KZD9$e`(eunJNi9lC zOioouE6qzT$;{7FNXsu$$VtshFUjBni79BL78NPDf=tl_8KI%6keOGaP|d|zlv+|+ zlm}7^QlbY|Qmn~U3$`q{Jh6aS+ltE*3kovx(iKvnZo{+~WSmB(jzSj5a!ru!sYOLl zE2A@Gbrg`eS+NSXsC*RZ%vh)seNu~yiFIO1YDsEQZe||HmH9;}sYRGh1R00q#H9TE c9FRMqp@ihV%vgxSH8d4$P~8a==c?rb05)ZvM*si- literal 0 HcmV?d00001 diff --git a/vendor/github.com/klauspost/compress/.gitignore b/vendor/github.com/klauspost/compress/.gitignore index d31b378152793c228c7e4d4167756adac7f01ab5..b35f8449bf280c131afd066ae3e34b7f01bdba43 100644 GIT binary patch delta 7 OcmaFCw18=Y0wVwm<N{s* delta 80 zcmZ3$^nz)F0;30)vVu=$UTK9wL26N&LRw}{YB3jxsh5&il89jG<>#buaVaaLrz9z4 SWEPj?7gciUrKcpt!#Dsk3L69f diff --git a/vendor/github.com/klauspost/compress/.goreleaser.yml b/vendor/github.com/klauspost/compress/.goreleaser.yml index 0af08e65e6821a97e63afd3b4b6fe6f83add6231..c9014ce1da23b3cde00db042dbbd595cc283351d 100644 GIT binary patch delta 25 hcmbOzyh>=o;*F<k88^o=6)|pp!raHWxt*1Z1ptcz35fsz delta 124 zcmZ1_G*NiMVs!-t1qEG&^n8WPyyB9?oE(MRvXsO;z2s#5^u(g1oK%OL#FEtFl8uY% o7=;uR(({ut^Ad|HtrQ@#n`N0wv5NOIPh=DUnT?@Co|T&g095BGeE<Le diff --git a/vendor/github.com/klauspost/compress/README.md b/vendor/github.com/klauspost/compress/README.md index ad5c63a82ae4f4d6f62deccb1408043bf29684fb..3429879eb69fd4e1358916348d814c1f1ae8efcf 100644 GIT binary patch delta 257 zcmdn@h-vn8rVZ-sn-6Ml=GeT)WCHu-W^LukyQ6uTjr0sRx7w8OgE@wJ2Ai3E4p_)& zDMWi@re`RGWEAC>re_qCmMA!-<|Sw3CKhE+?pi0~oSv_nUX@vplA4y2Sdyxn1d}Y* z*VN<X(o%>H&P~k8Q3yz^%*jto(GO2eDo!mbOD#eeQw%ak3uK6HL26N2eo<~>UUI5# zT7HpkdcJNsOat7&$;Im;RkakNgHm;q5_1ysk~8zt6<i?pD>&!p78Iox7iZ?@Dfmog Wto7Qwzhyi7X3<`LrOB5!WCH+knO?sD delta 6297 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 diff --git a/vendor/github.com/klauspost/compress/huff0/bitreader.go b/vendor/github.com/klauspost/compress/huff0/bitreader.go index 504a7be9dae3d6bfc281f5ff6545927eda1d5f82..a4979e8868a5232c30ce74f858fe81e8377e574c 100644 GIT binary patch delta 374 zcmdm@+wHJHk#VvH<J`%o7`JV1WtzyylayIf9F&@vqM&W7Fj<a8ezG0QtjYKJmFko8 z^NLFpic-^k6N|GIY!%E*6m%5~xj4%dtZWrZGxJIe%``NU^vV)*N>deVY!oz-^x$Tx z!SrcrD%ja6XlTHU(N-{2&{fFOR6tU}#aWbEQd*R!P{viu#ig&Wkd~Q~<2JcRpk(rQ z)=P4>Ad}&?7#nFS)PSuwGttP&FQ5FHO?k4YsL*6fR<+4WLaJ;<sfj76MU$=BohQ!| zdOSIs<0v5$%0xVcP%W|0RH&JJP(*C<ClTezuQ;P8dvV!KzRMLq*^%3Na+#RjW<ACz k&dGPV=7TxPJfAo~swN3?Pxj-o0xNV7;GBF#)Dk2Q0KZXpJOBUy delta 373 zcmeBn*rK~Zk&!tqw`8&`<HF6qxDRtoUMeXxnU|m4q9`>tF*7eSFI_`Zp)@nEM4_6C zvnaKsv?xy@NiRPwP0K<-8!Vw=W}=&<my}sj9F&@vqB(h|$l@eq&2|a~AiXfnX}KkO zu0=)pMQIvJ$@xV^r3EDlnRx}JB~}WmDGDHC6d<}4^79mmONvqxbCq-ylJp>gVE1Tp ian??j;||)qT=Xf(!P1mCHhHqYB<JKQ@|N^*v?~DMfPAe0 diff --git a/vendor/github.com/klauspost/compress/huff0/bitwriter.go b/vendor/github.com/klauspost/compress/huff0/bitwriter.go index ec71f7a349a14bf014ace41f0fb43582cba209ea..6bce4e87d4ff69e780440fd6970b44eb4a970b5d 100644 GIT binary patch delta 1512 zcmZn`+pj(0Cr@T>L4Hw*f>K&;iPFaJHyN4yoF~h&NK95_He}|~*PlF##dq?2W=@ds zT4ozzwWQ1v-^Ai<L$m0l%#va?W5d|V_N=0l|1pbgKF%b~%Ac5$;*?oZY-kphT9l7r zmZh4$zCuVwX0bwMu|is6aY<@%i9%+Y0>~_d<itFMq*R5f)S~>!7g@wW*0MoOS<5UJ z1XE^ft6-o|&Be)Clv+|+l*h$c%f(rim{XdnU}IyepkZjHpbIunQ$bC^&=e+TXNM^_ zS(a6L@)Kr*`m~(V;tYlI%$ytr2s1G!N1-4!FC{ZCT_LSBCr2TvvLv-wj|=Sj)S^^~ z+N4y4#1e&^)WqTv1yeJyr3#5<iJ3WxNja$sY57G8<wcn#AT!D{Qu7o_K>p51ELKQL zP0dqCPRz+kO#vIJ8(Iuf1h(4P2p%*=ItodpVDrmTixqNGi;ESC3lftjD{yGoX=s9i zpiIHaRv}3*4;11Gc6JKJT%5(_nI*{?3S}Va<iz4s1p_OjpaP2+T1~#dDdEJ$$;k=w zmPV3ZQf7&BeqKppW?pKMrVbY;rzRICC#tXlC;$x=Y-~W5fQ>N%8zYU!n8|ZFWYusO zWrS>$F;PZMp2s0J`8)?ZvnChk<o_I^e8@(akYohNC|x5He10`SHr<qD)7c=VPoB#m zu4`<B&mvP~i_9pohz(*9*iI7ze0G{4+i6ZEJJ}$1LaevIXT3SH^%m5(p3MYoJ;){X zre?TYVyj>PPUev81L48Sl$6x8#L}D+P~Is>%*#yHNXsqJb1f>$FG|x;0+&`AswtWZ zb_!-DN;<GCsHq7qj9?j3%~rvjYx5m;b!H<_!BLc2oLZugn3tlEoS#>cnOB+$FCLOA z6%q?z<xNSxLVjrps04HYYthIrEm4S$1!Yxmrbo+{V0Xi;gmOSSY(b`Q)p7v<Xl=7K delta 21 dcmdn5-7GfY=Vo@s>x`S(S%g?O3kfMQ0{~dZ25<lX diff --git a/vendor/github.com/klauspost/compress/huff0/bytereader.go b/vendor/github.com/klauspost/compress/huff0/bytereader.go index 4dcab8d232775c0f46e348837e70df7f7bcc847f..50bcdf6ea99ce456802f645b08d4489b364349c8 100644 GIT binary patch delta 172 zcmcc2IiGt&Ad^gDN?BrFa;ic}Myf(_Nl|KIu0oPRo<dS(Now(AUM6uRr~-{Vh0@Ht z5>16_F3u#q{IoO$ZCi!Ryb_H(&COm+l1#d#c}1y-DGEiYC8b4q#bEQGLIwFnC7Jno t3i)YZ(agMp(#d^H;;Im74NZmUSdeuflOehllJt_I!IoIXPL5$I2LOG~IqLub delta 16 XcmbQweVKDZAk*fxOhQbP^;ru5G5rNM diff --git a/vendor/github.com/klauspost/compress/huff0/compress.go b/vendor/github.com/klauspost/compress/huff0/compress.go index 4d14542facf383c98798c29e239d603bca3aee75..8323dc053890b8b37b3cc69cd824cb58bbfa0431 100644 GIT binary patch delta 35 rcmbQ;&G@T>af0GTO*Way4-|4XOUMQ@Z+@WA%raTkQfTuW)&KGU^t=sZ delta 259 zcmey>!8p5{ae^XCZemHsMp-VI@XR!YoYXvxVm<%T5>4IAlnMnq1(2kkZ(>DgW?qS* znL;%eCnu-AzCw7aLULkWUVe!}aY=qrszOOdszPyQRjNW}9+;g~np>byl9-f}%EdXk zPD*jI0SCusEtx&c{!mNuHK}X(WG$J@%|Qy{ENc4tIhlDSR+;H}Acut-8W<QTloqF^ YD5T{VDWs$(m8Pd>=B01WP!Uo9053aIr~m)} diff --git a/vendor/github.com/klauspost/compress/huff0/decompress.go b/vendor/github.com/klauspost/compress/huff0/decompress.go index c0c48bd707a6c61097370b2d67a78b946c9b5808..9b7cc8e97bb908e1ee019a2bee68399f560a53e0 100644 GIT binary patch literal 35560 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 delta 6159 zcmaDcmFd|N#tHgtoJz%&dC3!X!za%6-R#Num616wGiS2{v#y9VXHscev6TV>s1@s_ zq$UUC=jTk$5-+X?%OhkJv_K~5fuy-=xwz6w^O6-bQWUgYQj_yjQj0Vdl1kIkQj0V+ z6||yFVxx^r&0>=(OHvi8xj+W#DCB1=SlKG1=z(n2b5AYN(A3jFQK`wrnVAMsR?Wr9 zS(K_=Qd*P;GL(z6mW#6}70gvbHoCfY^IvNg#?1*zHH^w2W8oHn-2t{2B%}tCi#CYe z{8qV$i682MfYK5Tkoe>Y+R2-Dt2tno2-h@V5<t_Txw%n$5vJ(mM(v`_{d!o`gJrZ0 zamgGv#v-%%qbYVfawq??;Fd&p5;(*_Av8IGRb;ZfWf+E|C*PD!ncVK^yII+anGqup z6s?b8>d17K-^^lT!bDWqdfEkG2@@~bNtou|lug;(?kK~EDU+b!GC9Ipc=9)=QVhw> zna*O2lLM5vHoHVjVp23UQ_xn>uu#xdNYP77E-6jS2}w-KN%hH3*VI%{Q!q20{64Bg zFsU>RlmfuP1x^%`OQI7e-;7@4U<eXdODc*kE-6Y)%#G#Z<m5~$GC~zKf(jezrDf*i zxFr^sXlOzePPR&vsV~jUE3wc>Dl*h7OUx-vwX-YE$V@BIjMYocD=Df3sVoDVSe%)c zo|764Q*MM)ImoD_%#z}u)Wj48ZCeG1jxwmFP-_%yY-|<E6x0;F&5S{IBo!IyVbNp+ z)djT;qRR*zHeg+)X)wP>=clDjUYI0S4;M0u1&PHfz+GUZU}vXbp~(f(S*BpCfaW8p z%diIkhH9vbFjUurqQDTFU!Y!rS_AP4!Y9=5zqVnl!sNwCBK&A!FnME%Xgy7RP1w`X z;M7GEUmJnq9mCItDZ|;%#vnfnqQ$ee@#F>ZqLUvdn2r_=N${`%7XzT+8Z8<|iw01Y zFnQz_4O6S7CuciwO%C^$Kx;o~PQDl5IC-_d6pKM@wAJJ@{_-q_AcjtW#N_BSP8K5w zN0H4qHrgsyb8>coDpyizT7FuZf|i2G<U45rSPYzwAyya|!DJ9SSujIpvThnXlOc#H zJvl0ki^&MW>`CKd2U!8C&M#zmO;)ZKQ!h%*P0Y-5sw_z@2DNQcic4I}Qj01TbQLsG zz%BO_1$_k*&B^D33<Fa0Qi>f*K+5vd(uz|{6toqPv~zKS+UHO;b_zMEc^dhpC7PfH zJ|`zs*cL9##mQMa`EQUSFT{k*ymV00X>y~S*yQ<{7y-EXV*PJM8K@zk_CF^lxXo6q z2W_WAg19Qwbh2&^w-}^ZlvIS;j+*=-w9X0Cg@8C-(N+Q3Ks56}RXVg&k(ZgHqmY(c zqUTyvlwXuKIk8q^vS_%Vnu2PI4#)@v)f5FqTLsk=B^`xK9R*0(fMtpuOEf2^hxuVd z)y6Oxbg|8+!|E9~ugvpeVlp+G{2{7%v~db*a6_UH(zY3GoPs(opp=PL1CKUNL47nx zr(^`zK%<RQP$zw~af;k;A1xY2i-vg7$#ia<z9y+5Ivg9JGLxy>+SDelwFzogb4|_; W^FnW4PR7#YoP0X0V)Mafb#?%=k9&gv diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go deleted file mode 100644 index 9f3e9f79e2472c9c20fb86d381b64c75eb2784ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5788 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 P<|lAgPbz{pMryeLcIH2^ diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s deleted file mode 100644 index dd1a5aecd6518ff5b9b49a4a7799db0b752a7c92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15599 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 E0HbSidH?_b diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_generic.go b/vendor/github.com/klauspost/compress/huff0/decompress_generic.go deleted file mode 100644 index 4f6f37cb2c26a1843b4b584e84b8add3feb3ea37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7533 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 diff --git a/vendor/github.com/klauspost/compress/huff0/huff0.go b/vendor/github.com/klauspost/compress/huff0/huff0.go index e8ad17ad08ef1763d193a65d65898ff9a5ffcb39..3ee00ecb470ab3340b18d19ae8906af8a6d8d5a1 100644 GIT binary patch delta 15 XcmX@?-tIo(_QuDOe47pUCyM|8JVgeW delta 81 zcmZp7KkPo?HaDkIab;ez5*HVz(!>P0jemad8l|Kr2ju7HC_n*7UJopwudkpLZ4w)8 aWNH?hR9TX$kW`wMmReM-xA_y_R1pAJK^rOn diff --git a/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo.go b/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo.go deleted file mode 100644 index 3954c51219b2b63cc8d94ce516d2fbd6cf638bc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 820 zcmdPbR|rT<&Q45ERY)!<&CE;7S4ht+OD$F?D$Og&%uQ7Q3neDymzF4$WTYx2mlhSJ z=9MTo2ZZWz>Faap>nnt0WELxA7Aqtwl%*C`D&%D5W|pL;DCFj+l;)%=<fbO(l_;d; z7b%n$gG?()Ey_#G$*BbC%*<0L0ckEM%FjwoF40qP%P&&M%`Zv?nN*xul9`jLP@JDr zT9TQcr;wbHnw$;Nl~GbsP;8~IpPpHgQJSQeoS&<oos(EvT##Q}q7U*!iXK-1s-L(( z`aBYgoqRnFAqEvIlxL)tWTX};B<3kpSeSu4q)=R1P>^3#QVjMfSZ!)WNornkW`3R? zS6XRavI5i$4NZll{QMk+YA(*A)RNMoJcSI1;as&yRvD3Cm5~B=tBi12Wdya#C9^m& zDJRv**V9O$JToUpAq66!020vw2Yg9taY<%gx<Wx|Q9*ujYB4C{6r2-taugtrPfbw( zc@7-PCHV?Psl_FrI4CGeEz8U=EmkNlNi0c)1^|+E8k%5j8k(SB$j?bpu(E{)gAo@e zBs`21Y!%WHbBa^p;RLb>q60}ueohJ(XD!r2kRT=|=#uhFGC<xmR7lKA0WpvQu^8%J nh-sLC2oX2b&{R-UgT|_nh9<}fWr;;lZy16jnF}Fc1Q7rL)_x0W diff --git a/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.go b/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.go deleted file mode 100644 index e802579c4f967feb5a0072f19f2835dbfac6fc0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmdPbPtUhXD$UGEQAo^9F*8w6Q&Uh(EGS6LOV7+p1@rRq6N_^}tn_3qeSHOOB-J_y zr8<gWbvo(ETwDc-$=QkNsS3#jrI~qY`CK4v>G@W9`KiUpi3O=#X{C9|3KbS+sTC!u zdBvIedBqx<3K~hdnT9$FNx7Lu3Q76-IhtG$b(wjYB^sIv)m)qziN#L7o`yOK5QdS0 KExI9GwOjzcK0!bL diff --git a/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.s b/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.s deleted file mode 100644 index 4465fbe9e905b9d623acab011a2a52285083ec56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 562 zcmdPbSI|x>&CE$rP)sZ+NX<*n%uD4$2&N|^aTN3N6N_`XxRf*Vl5<K^QWca+QY%W* zauU<^GL(=+(@OJ_QxZ!OQAN}9;}eT>L1J7Xt`Q*$hqhN(n59;fq~;Z8=I0e_1UqT! zDERpY2l#k~=qRWdaB=GED;Vl2q@<Rl7UgE<r7GkmRw%eSMktge=9H##aYpzD1u8g3 z=qNZwaB(^ZgnGJgadA5P20#Q=%(*zdoD>ukO7n_K3kvd!N>Wp}z-AihflaYhFxOFV zb&gQ5RWMM{)zwufPEAz^NleN~RWR1IP*C#BOUp0HO)SaG&r=9WEh#O^OHENos#E~m zq~MuXTvAk;43bsi;`H?o3sg`shd2eoG0;(PMsk-^NT7m(f{L+@f>VTozP>_IW{HBa zf~|s+ucsjwXRvFCbFhM=4;L3FRG|g3LJNpOBe+5jF0h?W3XVQH3Q4({hS~-iZULGw iK@YH?k+va3FvvB8iwh|jtkA;F*FOxGNf6^vOacJTp_VoP diff --git a/vendor/github.com/klauspost/compress/zstd/README.md b/vendor/github.com/klauspost/compress/zstd/README.md index beb7fa8720107fee4eb71bdcf5891b05f5706e61..c8f0f16fc1ecd57ce4b6ae22da1bb13ee9c28284 100644 GIT binary patch delta 4263 zcmeydl=1d@#tkvNn+^E>vl{CtB$bvZq$Vb3C?qH5<S3M9=Hw{k=jBu?6qV*F<mV|Q zDimktrRSt7q~{mqmzHGarEbm^k!F`LG%&QZG*VDdP%tww22l#ehQ@jp=9A;4MJI2T z7LqVEFflf?0LfUIS%N49BLfRPV+*i?Pap-BrWTf9twsh0<{%Y@1_pX&5CsM@LgJQ| zrpD$5APEZ#BU2D<WTa<lusKpDgpt?G)C44AXk?^kWH@=3th$7uv6+#9Az0AR6znoX zb5lJN)5$+&PfC~?7#SIvfZSnhU;%cOsilFQvBBh9a_SPMW@eV=mLRRh<`!lk6HF`& z^^8p>OUkQDm>L+Hn3;lfTACSyB@Hbs^$g7?N64#-o0=I|S{Q@OGc_;<d(+rV&(L!7 zG<i)%5i=8zk%k6FreNCKT+hO2@?`}LadT5+10#@8rY2y$3dY8!dPWADg%sHs#Y`+r zEkLd}HZuTOs$gVhqGxC^Sx-qt+{oO_%orqRYHkA3u3%_ps%L3FIa5hl+{nnp*Z}MT zLnA{okRo#nJrl#pi$QXR7RKggAXi!#Sr~(Y+R#wX)Nu1%B}qnJOEUv-NLpHgf`dgx zS;E-D$kfsV6yRp2CSW;36H`5N<H`0auOuuDOiT?7L6U|BW=5dcF*P&RGclO#sA?`@ zZed|)ZU%}|LqjtQkVU43hI*D}lO0u6CvR01lr%CiHZd@R1ht6)IN^XI$=npIf<;YG z(%irplpMeom>U>c8Yn0jo9Y>waZPqqmEY{E7S1SUVqjolVy>WIWNB#v@|2;arJlLv zWJgum$=B7T#Z65N&CM)L6cmgM&B0M^WNxBoW;mHs<DI0LnYoFDB{)?X85kLYoNr=a ztY={|`J$He<OdpTnxK%gFg3LR2ZE7;g0ZogiK(TLu>r^-h8E@^&l#DT=^0GEpd|y+ zF}X%lNW#>@z{1qX&_qGO+}z9@?05rHJp&7{u?I9I#LY|%4GqkUEfo|jOwG+r4HOhC z^-PVpCSTN2+$^Z&$S7)RZURbrrsn2GASW1_7=i-zqL$?325o6YBQpb2a3VA@H8cb{ z!O+4$&(esC%Q-kqAtkXSak8U^`sByjGsKK7AyH>x3CS|XrlxwvrjsY?7)e?hnwwY{ zfCJyq&<LC!j4TZGOiU(E)KQ%LS4U9N*ucob5)yGnrbZywDi|7>>Y15=Rk-U4iJKXj zSy)(r5{03$simoff`XB;p0V-f0^MXrQ8N<@kk^fjEzCj5)6m#R&%$`}L><Y=jQTQS zrsjrbAZbH0a|=+w8(LWE85nFf*0*5M&{N<FPEA!%a?HuePfje!%+J%!Ni8l`$S+7O z0&|rVl2UW>%O~GA`Lg+)X%Hi$!sI;j#mou{3Y(KGSh(aM3R8;}^7FX3v=sdFkP0k? zqRAaj3iT!V3dN~qsYQu73Q0Nn$=M1ismb{%sYS(lTv`f_3VEfuNvTB&`Dt)*NMQ(3 z1<?Xk3NH#3lJoP6QZn-rOHzv!N-|Q5Q=#e<67y0Nic|AaiWM?4i%as0DiuW1it=+6 z^7B#^O7cN!74lLmN+ydqmrj1~e4^e+AvwP&wOAoFEiE;<B(p3vr&5ngflGl)Sy@@Z zDK#%SBR8=qyO@hB1Z+!UQK~|5er~ElYDHphK@P~@X$l3YMQQm(xruqnsS3&Yxdn+u zsVN}KqCp8HB|lvuIXzz?Co`!iv8XauBcr6Gpx8=ZKRvS~qja*jkPwrm-sHP39*hc; zvt4BwEhaO%iB6uN!RiP~ZVC#<7N!OU1_oy43VFr)`30atQo+>JK+n`r!PiN@7|d5t zP%t&Iv`}z@DFBOFOrGa1J-NY^oz*!#Ul(j{x`F~IfhZ^#TAG`gnVBM+YG`0?q-SJ` zWU7(5ftk4xx~U3@ptJ&V3l|qWfLtI^>Y7)cnQaNNYqEeFy93A}Mg~Ua1_p*^1_nr8 zFtIe&Gd4l8Ou^8=#L^7aGDENzxFM#(JrSj#pa9CM3JR9ymL`^#M#u&m8W<VqSsEi5 zOxPFB`FY8uMMbH3C6lw<9Q+L-K?HI-6dPGsf=gZq*Tl%g%o5=hP|2!iV2)&?f`Wpf zp$W_@lN)`7Cp&m3Pd0HE@<uV+(9q1(0F*N!<|<fPnwcWZH8iv|FwiqJLo*m2L~wJ@ zxC{EAn5&?mU||WVi9seC8k-oI8zBrfHnp(OGdDmr7vw=`@_`y`<cDskf}x=WxaI+w zssO5AjV%zyni!fH>RF;0YifxZ4!=Aw+-q!N4z7E_1}hkw7+RPh3^q11Gt{%NKy|Nz znE`qL$0p`vCZ`%%>XlTK=v5V$=%Tyd$lTlzl5jxwm>8RwAZ03JQv(A%Q*>J_Ezxb6 ztl`BQfNnCVHD+W1Zd!nhR!}gs0M#|{9BX7~VPdLhh#EMC2AE-U&`a10*>E#sLsM{z z0Aj3yp}8ee$e5ZNm|N(Xqhup+=0J@}<;juWD8?F^SsECcfa(IMu?nDofxFhw+{n_{ zLeCI67lG0=Mo@h4#u^lc1}5Ov64-D<P<>^Lh)pw44Qh^Rw4tGiF}mU086~+n&}f|8 zs3Br!XlQI?fXJGL24?1l2xBcxEzR_d&~l-Ip((ntlNEeXbD^QBv4I&<?p9DRH%H3d zrbb4VdM1`=iBADF@d>yq$2q6x>t`1fWasInmn1>m4GsVpVP<M%2x^%@_=aYNmPmQh z(9qZdy+Bk@FhS4kN?>c!Q}gu-it<bHLG=roRYsOZpm2d$qM)E)VqlEq8zW0&Gh;nN zbnjrdrXZ&%F)7c`2y1>aGBXCXx}f%$m>C!$MTVh)iMfHE32G!8S)#`=#5Xy~sU?O6 zSS<my0xc{Nfo5!CiBi@Z85x=DS)!JZMh56{4zVV&xH7*qCo>zHMW6%=ZqY)#14@oa zDb~=y(!^5F0JXkVFhWfN4jxcz@RdR4rk3EY5Y!q|Q$wUG(bB@eRL=~xh)_^4hS$H) zVi{r$D09SD#G9bSKG<MGb7M<z3meQ+P%tw$HA7?+GXpat6FnoeBw%cgmQj?LozwFt zAMg@!hZjen#yGfr2{qTy7&&Q~o0*uK=viRoKy-7#DL5^&D78GlD7#oMs~|NU)f1LR zMwW<LMnS>Q*c2&gSsEG|80nd!TZ286N{e!e^$ZQXQ7wQv-^knyDKboq%?yz$Gea{2 zOHhXrCEuGEV1yFbH=xMCY6Yk)Hn%hY_g$d2ni!fP#krA*nIWi`iDC_?jfPr)L*g9N xwA2M>`J~J|H2cg=EG;2jT8KS{rpSeuk*S5Do;g|qRzNAlTo?^DAM-V01ps5W=XC%8 delta 3622 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 E0L7}g!vFvP diff --git a/vendor/github.com/klauspost/compress/zstd/bitreader.go b/vendor/github.com/klauspost/compress/zstd/bitreader.go index 97299d499cf0a206ab5340ece617c3e447cb077d..85445853715413c391237a729b508784662df216 100644 GIT binary patch delta 83 zcmZ21y;W+$!;LTAGfO4urKgrSWtJ4XB^H-x<Y{u%a&hVFE2O8EO#a2vA&QVuD9y|( fvCve=%qy8Zhqaw8Gp|IWOmnje+hn%MqP%?oFi0K9 delta 186 zcmdlgwOD$>L*}&Hl8tviGb?B2m1rdCrKgq{8#!f`6uTuBmuTc^YI4<bap~(TfW;@j zV(E}VmR2au%qy|b1XIRFliOL_8Ot_{uuW!*R7}!K%goCx&PYws&{U}A;^Zt!Eh#O^ zQ%K7#(Q_>-$}dXOP*P1%NUbO-N>oV7EGbsV&r?Xs$xqJKQ7F#HFU?6&NJ>>OP|{II W(kn{MP0Y;G(A4DOtew1wXEFd_a6Tab diff --git a/vendor/github.com/klauspost/compress/zstd/bitwriter.go b/vendor/github.com/klauspost/compress/zstd/bitwriter.go index 78b3c61be3ecd3a00cb781d6dc8dbc15e736f457..303ae90f944736ec8f9dec70c8cd55e6c351a789 100644 GIT binary patch delta 967 zcmeB|zNS3k2Tx{hL4Hw*f>K&;iPFYzUM!Pmvzt%$V~Lo2p0#!J91d^BdWG`LoE(L; zoYLY9g~Xg3g@V+)l+3(zg|yO~9EGIHlGI{7E`5E4kc`x#REXN7RE5M6g`CvH;t~Z@ zGlitgl46C#vc$}s#H5^5g|z%4h4P}z5|A0?8L4>+B^jB;3K@yT3Q4J{c?!viIXS5* zU?W3|GxO3lAXXb2DP$Haq$L)Yq!#HYB$a~AFH0>}$Vn|ORwyn=OrEU3rD3X}sZh<u zS*BoRtB|CZ=LE9Z&Q8IYi?g^qvm`k~p$sIQoLHQyU|_|?31%2tO}@Y_p~l6@$qDj} zMv`7qW{GotUP)qRUTTr14i_h<CRC{rSgAA~rIY7!$#TJz8xy5`@;olF$>+J);o3|{ z(gxBlXk>!oPE(RiV1t-2c`lc@ps^8(VP=#V#s)DAY_5p`in-=gGM5cvF2o886e}#K zZv~qP*b0zs^`>Sp+fq`~5=(PRthhKi3lj4(lQq(EOY~feit>xnG?c*UUqdxTQ^8Kb z%tT2CmNGRpxj1XNI8oD^f}NeMLYab%4JgsVlCYYsf;m?$7bu&7^P#a3D5GtD%ejad E0O3UyJOBUy delta 405 zcmcbn+%G-h$7VK04;Dtl&Hk*yjP_<Ge$EQznK?NMi76=xr3DHl`3hzx3Q3tI#d=)& z`U)W#sYR&@xuwM=3Q4I7#RZAUsS0WNMGD47U^SByIm9NfWnr%enWIsbm{XdnP@0)n zVrHTPmIrezG!?43I5X2AA~v=P#)cpP&Lq9WloY4Tl44^c=bY5UJPnXeV<U($nh*mt zxi~qCQcFsU^0+u_xo~QU23xJEqhM^L2~w4oQ(By1Y@`9^;IYNd&e#ZQlP*YWEf>hs zs2V2QvU*s+0z)A)ub{L95+Hf`B?`&;c_oRNc?!AtMX3<~m1HF5DHIo^CTFH)rl!CG bh#l(3$q!j=CfBlSZ;oaQV%)69w}Ke};b49l diff --git a/vendor/github.com/klauspost/compress/zstd/blockdec.go b/vendor/github.com/klauspost/compress/zstd/blockdec.go index 7eed729be2ad3325f01ed865d757ee86a49b9534..8a98c4562e017ea7889781fcdb6cf79c6bd9c19a 100644 GIT binary patch delta 5127 zcmex4jd9Bq#tBCzJ`mq5&FI85`4DsX<XTgo`kc&?)S|?k;`rj!<dV$%y!edN#FW$` zF3#M<3g`UXf}+&o;?xu$h^pYss#FDA1w#cJ8wEoPu$mwrS7b>A2!N_FG61XbO)N>y z@JY>s$iYZk1w&&)Sp#zuu$ti1!qU{d<kVuAG>G18!(zcypOINyl3!E_5>QCaNX%2v zf{Ji)X66-?mVhM`AX3F8MWx9l)wNulMXAN5IZ!#Uu9Vc|{FGGx(vpJG5-!eSsC`bQ zX$sM?#i@l{oT)`cP@@zSQj3c6i?}#bQj^2Q+@Yeym3hf};fa|g?nU{f1(R2?&6xa* z-B^ILB)0&pBHAQ2sj?(>vjj&LW4%I7ez|XIt_~L`)FoC53b~2dsTvq=(NQqe1Stdi z#YzEL8O%2@B~X7`A(;dV3#gJ>F3u#ql+<LoaCbe&loSm^O)k##e1#;v;*!Lo5*Kg~ z6lrK~?&18y$mx`mpPUVf)5#0C<0qfwxifhcZwLz)Cui;C4g4CDUHLXlZW0yUTqnTI z$f*euR!Ge$o*XNvK3QK^Z1Y>eO^jlkNqS&+E7<5Nz+78hJ9(aPT0LiSPJVH!22_D2 z7n~3E1(FCPt~8-;4|fNLvW6yCEf<%*z5*oT96`aaP@b8Sqfk(kT98<j3X#anOIIk# zNL5Gzc}Af;BQ;MUvqYgN)jT;hvn;h(0qi_IkU1e4nZ*zTib47lOHvi`!KpzZF)u{{ z>MFg-jT|ENsG+4$4N3`VsYMFlunl+DbIH$3)zIYPOv^7)C`!yrPgQ_=6Qq<=U%#Lz zGp{5kPeTdpDwot`D+Txb5~v%&E>Z#oXmNRFNpglll3qw<K`K~la$<3+LJ}XyFCeiX zA6F|b&dIqVYLh342v1%jqQcEt3yKA>>d6;HwCXu)xi~o?M81NREhJE&$-EjQ#hC(1 zR7s#D#>trkX6vOCmqc47=>_??f}%ebB9~fJWTlXonFHp5O)Uc%n537ISdtiR5DPL4 z<l#(^D8$$KdZ9^RcXM*)>m@~J#wyq<l!4TNwS$5bq}E0^Ne{%%FRBE|ftY%U1qG>j zDH{2DNuYq>Owxm-0Z=;1=i;2)C@NOZNrHb8OA^7(24!M2Pk^i=#}!OmoRjy6%8Gz8 zRB?%dEhzFq!3GM5$vI*&o_U!$V7HUt%;FLxSEd#ffqAu)?Rn(=L8%3lKVe0#LP@@o zjzUgqo<<TVx-@kZlt86Ru@0ncvQh#wzzzThHbw}FOHZCHu9(V+7W&BQAUO+CB;rUb zu=D^4*d#r;qq#UaQ&Q6sOLIy<DfGI4JQHW_WCLEsdPI_U%goCx&PYvxq<e6RujS&b zr6^lNb2TW(gCaJ+s1lsFJ=0(r*hC?-SfQXOzbrE)HAM$h7J$o)y!;Y{v{X=T%Pdhy zE6UFW7aE|#I4?B^oaraq8L@5F71_%u3l4AvTd;|GNnD(qAe;1(6l_7cV{*3GLT$JJ zSSc4LJdG45mZheE%lwkkqC8MkP2R{YGkK19^yIIGX7&2|3Z7{SdHG<YL3LVYu|jca zK|xMtY6{pvkQga~6jKlmq~J>|R>&<)&QM4!Rw&3XF3wEKNd=W@NvUc1MX3;<fl5NK z&tNeC&va>}dC3YINeYv@IJhU<8JX9oq~;`6rlxp6YgQ|WUlnY@KIG!!%uG{2QvymJ z`uYmtsS3HJ#U%=fIpv9!#R};~iAgZO=s{9MYLNoSIt@)oxsVBo7^u+@F-}ReGzm(; zwV?8}cCx=j?c|kaLX5SOpGfpf7E@B+yhc)sY4RIuk<IU<a~MI4$r=itlXuJhgR&DR z8_C}Tu{Ucdlrv5)kQ5a!ODs~zC{0UK&;pSLdcny>peD#<5v3!OSDJ}${;b5u2x3f@ zQAwVBSVV|BGfg2Uvm_`rJvDE#qo9Z~a+3z+b52f9eSHPjisaM+P$MZZhl_La0SyHi zm?lsu3eJkirSky|g~?Y`q=k_T)8qmbfSk3Pg;cvCF4&=Vaq=rwp~>+wT$A&(XM$bD ztZp{>q^<!k$Qz(W3AiybnNwrJ<ijE&lXs~|O@5#uAc|rvv<j%5JYQXWGQXY_W9?*n zy?XZ4q9RbeJy}OnX0xKcEaPM+gN(`R4B{pmTgpx@GW4CCX1Y|aIJM9N+~@<9l9_qn zl0GjuwXhh(H<+wrCe3PVt6*R?In7LQv!|IIqq)Amf@4ljeln;EErvFviovNSIk7+^ zNe?FGRGOx#V50yrteR``L=j;b6j=pZNK*#f0@G2LT;M7S$|G>Ya}z5-0ftWx*l-<% z+{6la6A}~?pn?WoQGy~bD76$+wU(x(fm*km=tjc%+Nn;ZY0*|-V`D+36(=Yfib26) ztDpw+nM-PNadqwH#TE;hCeN~-%$ky#tY9@+(oS>oWSb=_DXGbN#i=DhKCT+YmAQ}_ z4%Fh*ODhJopHotkxi}{~@JLQBuxFc`V_SyM&IO8ZNG(1&%&wg|B{g~S6T2;7dcM8r z<eApoVD<+4j(RSTw?OSt1yHRFDw4pZAxP9QCr6<qGdESCxF9vJL?JP)B(+GP1l0b? zELKP^$}GuDPRvm#&df_r1(lGXQmCXTGr1(EQUT(_lFY;$J#dVI%tg+<5Wa$qZas3P z4$bDE>LI@flFN%y!9}2JQ4y$GOGzzq2DJx4g(E0#xWKN5$S9N)rKaYj78ipuA*eS3 zsW2e+=VX?IfLcekwlLXZaJw~R@?TZ<dazac`U)ZbF8)@a(kVH=G$%!&I5iJao`PHp zDrZv@i*hOz!aYMg{6j;)C2es@QEFl?a^a<~ub`j+X(WOTNzBQ~FNd_JKt(IMBa0Q1 zQtQE`FQ_sC)y*)&Ks8WeSz=~RVp2{js8|G>9GsbxnwOlJs8C#zSW;}I5CZeGiLs@z zjzW26Nrshzv5~pCsg6QPeo11Em4dOkp_zq_f}x=*Jctm+<tyanJCs0bh5V$l%>2?~ zh4jSCJcW$ZqEtOlK?92vP$3Ai4LKS)A<;AWfcj13QiU6-RGBQKX~n28xlmVhvWous z$@W@hlXq&FPhMvbTaRdif~pEoAnU;`Q3O{a3TkSQA{fdAm!dESrDP_Tz#LOk0}eJl zkeFUhW{GQFvVtO{K0=rY*3AjB0-RzpQ;P!f^K<k9N=r0QEC=O$NLv_17*cbCN<wgk z1~~&%J0Lj?T{*}qklM-pVxp6I6*<M+GV>C1;3*K)`T{l0CTBY+3c<S2pe9;kUW$^A z!sHbWIv)D^3LwYA+jGhJc_pCCm|3illA4y8mztuGnpcupl$uiss@0(ZU#t)e>4+;p z)$2``H<pBV)AjW9Kz_ttKSSCn(3UmaRS<7O;~Uh10r?Bu0fw|CL8UyXc+<;GElN*? zHVHJ;z##%@ffN-_-fyfvd9s)wC@3_cN)*8AQxx*EK`lE_$Fm4zlv)y~A_a{hR8J0Z zv;-CBkj&|sSC(2_l9>*wG&0i^Kv@)&tw8qV7gd7Oe|~8RB)_E=6)S*xcxj2nC8<Sv z;IaZs-UMYlNO=VsI4H?iNP>0>Q&SWYi!1Yz6%y<7QWWy@aw-)v63bE*O7cO$3hAhV z`m3lV063d^ra{yfr6z-7D?cr*IJKl$p**!HRRPq9EGbIND^5!-Dgw1G!9{90xU@)0 zRY=TJfMvw;%shyzqd65EbBgnI6f)Bk(lU#ROB9TuMJ&k4DfxNopw4PqY7uDgLjl!N z9fic493<7riFrsq)Z?1$<KD)oF!_?Z!{ly9H4a#ePhRgBs0ta*um$NZ1`P=0r=)6t z>ogsOq#_-K3{ZImj#fU!q$0gEXiHr~bF!hQgu7~rLTW`xQKCXpW=XL^ejcPe)=?<V zfO*wG31p65QEF~tW}b$oCL~RPDlc1wq#`{?*MIVUW6{a;xmfkmG?YMvKPbB4(PgEe zTBf6*s$CY72kFY_C}<@Wfef0=;klw7oFem~BQ?c(`K2W~5Wm2D3FU&44<vi*fYLUY zfHYtgvA1A7(-g{66(9i*P7_dN;8G~Rs8R>iJkN7Y1vSX?6-o<I5=+2kILIPBNc{Li z(*!hh3yM<9AVP?Se_mz|7iaC{kDe1I`?<06Lh~fJx1c%spr^P1*ndbmVFgVrYNrXD gEij55SQsEm9B9-k!Gl*1k|{ysVBl&P<e*wE0P+!JcmMzZ delta 5207 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 LDFIaV)p7v<fo9q* diff --git a/vendor/github.com/klauspost/compress/zstd/blockenc.go b/vendor/github.com/klauspost/compress/zstd/blockenc.go index 12e8f6f0b61bce20dba421b826c12bf7b0f776cd..3df185ee465513f3a3ae09895265b3684801e761 100644 GIT binary patch delta 738 zcmeC&%D8G1<AxrV&AlvYnrzWlMy6)5n>Xv0%GGD4Ddgn1<|XUpCRR9QmK1B}qVV$5 zkmM9>Y!!@+6soy6Ira4w{PGp@Qd3hDO7a!ba!QLc6f~0ab93|aG`ToA)AEZHic<>} z>}(Yb!0I`R6>Jrf^ommpOH=cbQ;VaEQww9cI5`D4%Zv2D+Kr7gKsqN&dO6jD%`Ztz zO3lenSIAAQP{=G+uuuRQnwXQL$HmFXnV+VYnwOlPlB$uP<^<BmnVSO>$<2X?<iJI8 zpdu)CfsE1DR|rp4NX|%2&Ib7;Be6swF(*e_AvrNmp|~WmQlUJvBqK8q<m;r&l434S z&dEQ$G#EK2D|l-$a!wBSR%hbkoZJv7IeA8)QW$3~7s$}!)IwcdE>6x`F3wto)STi} za0q~0PgIa#3lR=jh)kaEBU4Z15XjBZ&dE`*1qZaTkpjr03MKg^i8&z8lo#nGrlf#U zhOv>KvqrIAPUd7@ZxKik2y$XL7Bxr&(1T?2k-*bTlQ$TMO<oex0ZoXLbwZV4On(Hk lD0C*P4k#5(<_?qEY!|kWQIr!o1!cx6*n*@t-wj{G1OO?})Mo$y delta 1455 zcmZ3riLrAl<AxrV&D|{Onwxj%mdY9G>njA8<QJtX6sH!JrsgH57As`tDHNrar4|*Z z>gnlmai--Lfg}~|Y!wU?s<|fD`ibjvadPITIVo7#D&(hyghUtX<)=C4r=-SmadMUy z>80hA7H1e6X=p0w>noHbCgn{2;3reBqfnf$kXfQoo|%)QkOm@h6Dt&qOcatbON#Zl zI63w8^V9TF^OEyZQZ@3^oHV&OIrEa7GE0j6OG`jjX_RK>l^7do<frKsmn4>?YAR?e z<fl35rKIMRB>I6>YAV>-DHxh@adM^<mjr_pfi!}()x-7K*=fMdRWmfz1epU?0<sli znp<XG3RpYH5#>dCi76={hZvgqIm3<7Q2@Ee0%4XWNHNTD3ZS5YxHBX%DJM0$9_FH0 zF0fw}9Fvnvb4zm)OHvh5D@uwI;o*>9S^}~R<Z_VrU|cl?V?!=ZPOw^-JjexRCK{md zPb*F>QBVUJ;+t5UZEO?`)fWqLRcb{^eNiGvmmk<zhz%fz<mP~*F*gSsjk!6nXw=uw z&4EQmZVp;x*ebx{A~y%(M^G5%=HQEqdXPtL6(9i((}p`L;D+Ig3Yan2qXH(YV5^Xu zqgM}3GmyAIi3(^qfmJ!_!FU*<Z3~GdP#D_Sz*N<M(*QUIauZ9EGkj9>)RHnwu*E<< zD2_q8{S>rq6`%%yVju?+138cw$U%yM9C!@m;EsVDq!`G-69e_&^sE4j0hl)2F#tCV zUkt#E!5#xJSp{2#oO-A`@x}niPH505kQ@U!nI(9_KLuC#BNteZ@(Y^V%}o59HQ?Dz z2NC~%nxJ^gOjAfnO)5<fh8LXGT$6SDRJdwEvc;)|y1JYF15Ptdz8@qy*&w)M^1fi@ r$<Kq8CkuqkoV+eXN~}1w5R@6!lJwwZZ**qt=A$7?7&kYBtzrTIXpPg1 diff --git a/vendor/github.com/klauspost/compress/zstd/bytebuf.go b/vendor/github.com/klauspost/compress/zstd/bytebuf.go index 2ad02070d740a528a1f10f6ca2b2a0eeaebe6a21..aab71c6cf851b922691d5e13f23fcc34b1d06ceb 100644 GIT binary patch delta 105 zcmaDYyhwP1I@4xNrVor#xrv#18k!2xu}PIBsS4FxoJFZ6rA2uPT1k@`Syr%XDx?+_ z<rhuXXOW(~fth!+I_n(f$v-*jCRcKr$Ykb~n3-tgX=-wDW~M3R87U~*D!{}h@8&cB E00!6~tpET3 delta 222 zcmZ1^{91T}Iunzb$!2w?4~&yNStit*nP@7c78T_eDO7WDCM79Y*(zuyadBp*DdZ{G zC>Vf5Ig3(DN{jLo(sE1mTtQ0HG?emE(-TWF%Tg7Jvoi}6G*nYG6^c>|OH+$WQd5+4 z6!J8=IBUVCWagEanP}vs=4m7)X=*CiDC8j<nYo#hbvE<l>1<-GsYOK!wv+cWi!pK5 oPF~2-$Yf?RS&7p`0%R1(HAV`GwouJ5rBXZ)hou%3an*7G0IMWGl>h($ diff --git a/vendor/github.com/klauspost/compress/zstd/bytereader.go b/vendor/github.com/klauspost/compress/zstd/bytereader.go index 0e59a242d8dc0f76487598163bb88ef07d539bc8..2c4fca17fa1d7ec9328a09cf8b5553c661e586ad 100644 GIT binary patch delta 107 zcmdnPzfoYr97grbyv!1X^30qZ1rRGUF(<PsRiPv!RiP*~F(tJ~Au%sSp*Xc<61#}8 yR#Ih2Y7kgh6RcVzGfyEp79^^vP|d}eq?e>%tB{!oV&$i$DcC9)Y@W)f&ISMm93x2p delta 12 Tcmdleu!n!c9LCLpObToO9>4>} diff --git a/vendor/github.com/klauspost/compress/zstd/decodeheader.go b/vendor/github.com/klauspost/compress/zstd/decodeheader.go index 5022e71c836300ce26fddf35cc6c2e93e56cc8cb..69736e8d4bb8c0ac04027f46feb7ed9fef5f4300 100644 GIT binary patch delta 408 zcmaEF+^aQV;>IN^jNIXwc`5nj3c;CGsgqYQxv+U87P~nIPyWfIEaz5~n47AQoS#>c znpdJwoLQBs$Hl3yui#oykeXaF`3AG~WEp0s%?H>gGffs|aWMDGSI95PNG(#x%uCBJ z%1tcE%+FIO&&<hDNJ>>G$S)|(Ni0cC(c|I_&dw|-NKDE}RY=Ou&zbDY<rw3USnQmU znw%Y6nhO@>0^8)7rcjcRS*(y*tWZ)^nyLVHku$_WAQwYS&qypwRY+7QOU%hk0g<Jt zT$~VZK#ZE)$RxV?Cf8fW$ya%dCQI=y)YZyRuvPF#O-xBGs)jqp3T#I$7bj;?YDsBP zo<d$`4i{%F*JMTkk;&Zra`Ip&Ip?G%7AfSHmK2nhaB(6VG+CWresUPU<K$`lA(QL) oYA3(tFWj6ju!)g7Gfg2$!PXXJ;A8;-_06_I#Y`B2=S37)0V(W<j{pDw delta 1668 zcmeCxdT%^oB41u|eoAIux_(k-USd(@#vV<^`rypG^qkb-)b!lcyb^`tg4E>9w9M3E zh4PHll8n?Mg_4X^g_OjSM1{;^g_3-Qq*R5J)a3l!f}+&o;?xv{%)F9(g+wk+eSL*u zut^HZ`FSOo>81Il#R|Epx%owv3dIn^^}wn;OB6D53vxhKlw>59SSf^O=B4D92WM8L zf~?5QD@)ADOi@V8OHlyHE4URU=B7I5=ar=9mB18%mFP{*XA>0yn~7q?<O7T@yePh! z%*CWUxsA!G-XpQt%{ds0CowF^NGw)JQ~=upB1=>CxHzG@lk)R(xWLw8=mG^%Myf(; zML}wENotBhX&zEY6=zP4V&R$`#iTPin$<xgBqOsJB_tHwGK-2!oO1G$v-SMFL1B@W zm{XiO`5>!!eQ<VWK|x|tPO7I1NCFfmrNya5y3puKR`7IDNXv&rRxwPiLK-OOAfX-x z4%D*5oYK@{g~Xy%g{0Jy^3>Ek1p`o|8k*`TWacI3lon@}fqaT$U0w-SJ=nW&QCKv9 zoRO27mtK;gke>!lC?H2cQcFp`0>~i>Y56%h`Q@2;>0l#3Ix<odQ&NlcxHwVGE6vO+ zF*bq(tOr;L!kYS2g`&iAg<?<|f!YN2n*!V{eSNU`ZuvzDdHF@Ti8&C@7wafwmO#9g zl3EOQBC;X5iRqci3VEfuNvTDk6bCi~<VIvg8L5f&DXB#Y8U?9E3dO0(C7Jno3dVYd zAgBomUC$DQl>F3Ug}i*YWeB@K@sgNV2?>@YQ1linXrP*7qzQ60s_h_cAg7cRC1%#= zWag!VGZrY1CTFB3XBU^|g6#%t0(l!0+TbJt_jw5@g(c^g=9S?0IoOEAocz3Wh4Rdj z41~*}L0z0#UzMtmmYJH90*mK@#LArf#1ya#6!7{UW(GV_LbWPnmK3Mvq(Mvw$w*Zw z$uEJ$8YH5jnF*8@^iqq!iJ>5;6yg<>qyx&DNC_sdWb+}WnM{*!uv(kz>nniFhJ_f^ z6Nx2YKc?oTfHG5JPI+Qwv4V+0Qe{bMu>vR@CJV5MY;IwD%gC#hp<t^3azbiRb?xMQ z4imu)JqQ=<AZ=R(lgSG?7EdnZ5T2~Yt5lC6%f-o=p$B)af~`VHQE4iwpr?z1EvOvT zNQyRyRZvqfs7TX9RROlkRsm9K>-l7sl;otk=A~pN=IMokvyDb(9!N_OXKG1lQJz9x zX3pdSuI9<5oO+s^X&EV?+^t{*vLxCd7Q~4*w2I~8M0TvU_T;;qu9KCyf+v6AD&a$w q+MLL}l~EE|OhFrDT8RcIqiAk+<t<~9!6u!STnuu%=H^%Y%B%nr<1<SD diff --git a/vendor/github.com/klauspost/compress/zstd/decoder.go b/vendor/github.com/klauspost/compress/zstd/decoder.go index d212f4737f20c80f16225f7f79117ae36fa9a467..f430f58b5726c8877593b0a23e150f223562770e 100644 GIT binary patch delta 2856 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 Pb1YJO3e+~@s^tOz4d#?R literal 22575 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 L4?Hf&Rm%kc!<L+k diff --git a/vendor/github.com/klauspost/compress/zstd/decoder_options.go b/vendor/github.com/klauspost/compress/zstd/decoder_options.go index c70e6fa0f737a8f09c4635bca37581d454d62742..95cc9b8b81f2133d8f884d6bb46504eab66956da 100644 GIT binary patch delta 279 zcmcaC(<!mxC*x#3rmIr<dbx=eE~&}+DXA&JnN_I@whD#{HZ}@o#+$X7IT`EAGjnnj zic?DzN-|OvlJoPDON)w9^O7rdxb*cEa#IuYGV{{Ga=D2WnYpF83VEfuNvTB&`DqF% zU{i~V6-x3Iic0ekx=V5@^+4J~GEx=F5_3vZ6^cs>3UV@2QxtMbi%S%eQWX+Q6mn7% zi%Xak3@0yQRpD~?_jQa22=aFhp8SF}p4nExV6q^u<m4nab%A_6xU)(WY!&h*Z{$*) z+{eK_nVbE(a$;VJLP}~{Vrfo^LS`|{YYIt~C8@=FTxq3w$qJJjI7BwfbJVf|01yvc Ap8x;= delta 787 zcmeB_xGb~bC!+{wW_n(JQL1xBYI1gQX|6(2etyp6AB@*LGSd|D^^)`Rl1qz<Qu9g_ z>=aBCs<}8hQ3P!jOt?5}xj6InauX|DQj_yjQd5F6t5Owg70gT&Y-|*a4K}}E;$*BZ zPAw@`D9K1w$SciFN-a{zPg6)PN=+<DO;JbzYbz?&<I>kx2+v5(gNS72r7I-m<R@n< zlxLP?C_oH%%*oMFD9OkyRw&QR$x+D3%*`x8G8SY)ewso-esOVTQckJ@-1+q-Ih6`U zrFnTEQy~^&v#+?MC^a#+7@rji`Dq|qGV{`MGSf3kAWp<%mO^4)ib8RHYDo#m>fFSN z%-qskg_3*)LmiMgdHD*7#g%!<2tR{8mXxZHlAo7~2$DpFvc#OyR8Y7XC}b8Z6cpu` zWu~O2D7gFkIz|Kp`8x+gf+Q(bp|m(P1+3GlQXwTZEwMDGWO5^msFI07ei4#-9fk6Y z#FEsq)FP09Ir-(OMUxk>#7|;%a>z_m$WySjRWJa@IC_*9mFAUX=BDZ)tky8l<l^M4 zRY=V#P6cV1?7%8IS(a06ayjcgrOaXlLr_vMGge5dEJ-caQ*ePe3S_OBiF>Bg=0dg^ ztdke8v-o+UCdR~^oc!`)P-vy)7bRyV<y0y_lB+^8EWLsmnR)4YTxq3w$qFb2Os-|N h)&eJ4h%R^{w^c~u;^Zt!Eh#O^Q^?EA0j1$uE&#s|2gm>b diff --git a/vendor/github.com/klauspost/compress/zstd/enc_base.go b/vendor/github.com/klauspost/compress/zstd/enc_base.go index 15ae8ee8077491f407529603b03f6076481c765f..295cd602a424979f80713b90f54ae0b394991a82 100644 GIT binary patch delta 212 zcmeyO)ULFlhKtQF-y^fQWO5CcQiQ&~f@?)dYF>&$Nk*zdZemGthC)fcLQ<+iVzEL_ zeqK6=F32w~&P>Wl)#KtUN-ZfZ%2UY9D={|G04w)N&C@6@N{%kJiq%m7F-ojrH8m&C XV-eq6!u6Ihii?w0c5FV*yOtRMCPGMU delta 378 zcmZoy`l7U<hHJAl_fy7t&O`+(TZQ7H<mh6nST4>a7_S7vvsFlnw#rG((@4~e<>E}u zO99De=9L&5X=p%%73}O3j5QT(Y!r+&xj57Eixe^uY78{36*3iU6jJk2Kn!hL1q+30 zE>6zOG=-GRv@`{)dRv8@{KOP96JsNdL>+}pO@%mwKoUs68lqCsR>1(Qm9r?dq_ikc zAyYwH0pgIP%#vcgkfOxQoXouRsMMnTVlxvBknx&!b|5!#)^c&ya&d7cD%dI{MyKYb zAiS2E0pY=&U6h!Yo~n=twkb1BAu&2LRzVRI2$`{9F}UsEAjs5I&<6R9ixXl8sw^aY Mph`AJ@vdbC0M}Y*2mk;8 diff --git a/vendor/github.com/klauspost/compress/zstd/enc_better.go b/vendor/github.com/klauspost/compress/zstd/enc_better.go index c769f6941d11e49bcc3ebddd6fb3170ed4efa018..602c05ee0c4cec83c3c782523d899bf3a33b0bd5 100644 GIT binary patch delta 93 zcmey=%k-(2X~TcP$>vt(lh^4>O!o8C-drhEr;a3`u{qD`G9QwF_T);T=ab(Qdrq$R WV%_|~YYK|$$$3^EH@_)n69xeDx+UBI delta 77 zcmey=%k-(2X~TcP$(B~8liygnZmtxnQ-^Y#Hs@Jg=7VxvCsztRpZuoSb8@{G>*fz$ RQ{bv5=UIK+{HB;q7yv+PB3u9f diff --git a/vendor/github.com/klauspost/compress/zstd/enc_dfast.go b/vendor/github.com/klauspost/compress/zstd/enc_dfast.go index 7ff0c64fa3382f27196fa87726f390d533a39465..d6b3104240b0a78a9723f542f37bacbc3e738953 100644 GIT binary patch delta 111 zcmcccj`6}f#tm<IC$Gseo$TRiw>g2YTmgy0&N$iFMR;?HL8B5(baDdU^T`b%ER(Nh zhi{%0@>Xc_nhcJ~9V)V$*Q6g}n#}LYKl!dW`($l>rODo|OD6NFwu4k}zM5Ul4FDy) BEdl@l delta 105 zcmcccj`6}f#tm<IC+qT=O@7MjusNBpL;;Dz!Z_L3MR;?HL8B5(baFD^lgSMsER(Nh phi{%0@>Yn^aB`!H%H}ochnS#hY$vz5W=`f)Z3n5_d^Nk88vvryDPI5p diff --git a/vendor/github.com/klauspost/compress/zstd/enc_fast.go b/vendor/github.com/klauspost/compress/zstd/enc_fast.go index f51ab529a0bc43d11ef7d0d3986ababa819a1a6b..f2502629bc551bf0593433fdd7c167dafabc2e8e 100644 GIT binary patch delta 3196 zcmX@NmGRga#tA2dIhAq~OEQ$WAhdo`W=ZkJ<15)WAGE1rnfy*QXtE9O6lQ&Wg~=Cq zjq0npI6)v$!OB*lxF|WgSli4h79y4e6DvwB@XSj|t<W}sNu}ncc!FeeQu8ztH5Jqp zG(cAB`6gC)=9L&5Dd;MgYeEdkNzF?y$xyIW$OK7ffHZ0<Xe*dNWYg;Nixe_JCK*^O zWGdJwfaF0eZCeEk1*qFNGt(4OGSkvP%5w4(Q_M^>5_J?ZH5K9%pxh)7*BYWo(N@6# zu9FkZ`b=$5Xy}C$C1&Pi=A}oaS{CIOo0({UjMucYGe&Y6CudSoYGO9Tot(808bZ}_ zadC1^4)l@SEXh~T!KAN0d4`yBJtt>bVv#})#G_oCoM6`@g)21h;GtRq3r>)q!G0qU zm^s)(F%1%g^|lJQ!;tI{MA(TDbZ8+bhlo`~z=6XHMAUBHB^JWWtgoLl`JkHU<W6J0 zdQS8JgM=6-W{`2h!z|wj7HFKrh8icr3m`4<7_R4p1{}U{qaf)ati>L3I#?4OBIuw= z4itEtwVMs4_OLTrY%b)u#<cl}%6CR^{@tyn4+=$2eSHOJI=8Y_Fj3HkBtcM?OwRC0 z&C`JAYaMVFN6yZgkZcN0xsaR+&Zpqi4o<+F$nk+$G}I#-2G&J<#Gq$Rl<46kDtb8U z$xhjv=+<M8Cakf9C>lgLIiV2+rI5>p8H}6fX=Je1>+9!$@^`9UZemGtMowy;U%p3X zafwE;wuz2H35X~zN`@s&P-KEsgW~}`4o$3LA#n&UJTzf?z|jYZbu0x>J&j8qd>IH7 zJ@sUj-GuTFwunLG9!R#~0!0qj<UL}Yn>QOAV1h*iD2rf^3{d$34q$M$fJFsJJ^ttb z>9dN3WG2+eKrYnkAsG=G9W*J`@aCF&SiJ~}6|y1)sW2rWyTGD_AD&qt(X-i5>Iu{2 zI%WCIGtG{2gNwA$Cdp`%gg~Q?_<~`yNuq$#8YUESBsEDU8%iymZ0RVsx!K>F8vwxm B91s8i delta 134 zcmX?hhVk51#tA1k-doPjXtudq^%~RW817D{$uD?~HV5-h<Cy$fTzT?Fv#!nZVJDd; zH^``LJ}<i)qVz1w<Y+DZ&3^n_7&o8Q&0q&9-MrDviy5lyG1KO3yC>X}U-0T}_T!(8 QY1HKNvP(AKjmqQ(0N=zn)c^nh diff --git a/vendor/github.com/klauspost/compress/zstd/encoder.go b/vendor/github.com/klauspost/compress/zstd/encoder.go index 7aaaedb23e58c639f1f9a7709279c3b77f3cfda2..e6e315969b00b89c8536b5d9f4753a896d3aba92 100644 GIT binary patch delta 184 zcmexf^|)w5HRt51oD!4Qaq2MDa!tO+DLeTOr|#qjT$W;)X$r-9<wcn#nR)37wzdj+ znK=s8T$Ag$^z`83dYO5dB^sJsoV8q>sDgf}<*s?j`6;Oynv=!3<tH0(NlsoUBfZ&( zJCS#DsmydS1w&saJuc4T%)IoRR0S(rg`CtpjpCwYO$8eTLmL|-gUxovwoH7vi51TI Txdlb3#l@*9PMaG{zq11X6Hh&b delta 419 zcmaD{^u20BHK$>!UcO#(eqM5EQBi7MiGrPip+YqmCue4wLULk(MzJ1LLQ}!kR>1%y zHF+YZ9t&qJ7w6=IoU)Vea_TX2)^bfQ5Rsewj!RYoq_J49yeP9IGcO&aCoeMxtSgF3 zPn;7jqnDYNS)!rI#R)cO4wnpL?c@V$Qj^uV<R<rvNN?umj^{NFj`VZ3;sTk7=15yx zs4I($k`=6M6^ixJGIMe=^U}E{dyA+|Hc}FutR^YIQe2srJlRyzXfmUe27gjcwq8+c zacYT1US^Ia*W`R7$;l2<mW*7JrOjj~7syyoK4GLk`Hqb9WCdAk#@flZjH`q}dQ$U} z^HWlT63aD;i;^|DCV!NTo4i0tg1cBRwWvtJRw1>hX!2K0t;s9o_$CWWs88+}k=Yz7 zu|~|OJTosPzg(d>vno}Oi?cX0FFhv}<k+0lJg`v;Hns{Ne?im*XI7<dR@Ap;Vg-pM KZO$?L&JF-CYJ<`M diff --git a/vendor/github.com/klauspost/compress/zstd/encoder_options.go b/vendor/github.com/klauspost/compress/zstd/encoder_options.go index a7c5e1aac432316f778376c0963721966a63d402..7d29e1d689eefbc249ebd41d032c317a63da2979 100644 GIT binary patch delta 108 zcmaDCu+@J7(_}HG%j|{<HZ}@|W}E*r<+5$w$f?G%`7^H;w{&u1ajHU2YFTQIf}O2` zp@9__CudP=Noi4@!ejwaQE|>%E*L+!AT>3`B{eOvG^b><o8(re$sbrmH~Y$L;n*yy H8p#X*e6=F_ delta 268 zcmdn$|1Mww6Mu4PaY=rzQ%-(zc5r4@>g1n{x5RQ2E1dIl3yM;Ui&InJQk!ov<+3@r z<rgUwmlUNY<`(NH6sMMyWagzSBr238=9H!?<fkbZDwJpD<S3+M7AGd<q$(s9SLP)v zBtuQh%+K5G#Hr09%bBl-X0d{;LP=3+Di<eb?c|Rt(v$V2*f&q$W#?v3Nli;E%_*6@ zTta#CeTgkhmYkVs3W}KetGPHqAYU&D<`)H91w#cJ8wEo%uvG2le(AFu{0fPADGDVS RsS4$pc`5njo5NM&m;vC4T&@5B diff --git a/vendor/github.com/klauspost/compress/zstd/framedec.go b/vendor/github.com/klauspost/compress/zstd/framedec.go index 9568a4ba314ed698b0d21fb8cf6460c87ade9add..989c79f8c3150e9afb63322fb481a7dfa05faf10 100644 GIT binary patch delta 4282 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 Ynp2z#OW>(RMGByH79y4>FHyG!02_5%`Tzg` delta 1619 zcmX?=eBXb<bEeGvi9aJIhcJpLX;oBYBo=4rxn!oN7ME~wafWB+rR0|fXI7;ulxF6Y zn3+tz$GCO!7AA+ymCTCltY#(}d76_i>WNR@z^T6ZHkURBS6Xs$XkK<+etF(zcHtXL z>OrZADGF}R!B$E-3MqPSMTxno&iQ#Isd*(JQ#H9bIcvE%Yq=&*5?jJ)r;wtTua}!x zG5MN==44Zew8<*shebIv(-czlkX!;%Hd&BWbn<2{naQRSPTC+NI5~?_OG=CK6kLmn zTvC(sQ&NjS7PwX<r>3T)roio)C2^lm5oAqHez|XIu0l=C<Tgpoczt~Z$DEw}WCf!N zg>tZ`6^cQ=&P-Ft%P&#L$uHN<P0iI&$S+bTOD(EYD9%mH$w5}B$HmE+qL-0bT#{c@ zsh0>c3+!2^(zLYHqR9s&HSFPblxLP?DCFm*DkP?)WR_&+=OyMSB<18MXA?3*VzRN4 z5F^**g}kDZa}_yd!8TYaxMU`mK*ATq0-0A->FF|=Lri;eh?tp-j)GEhQ8Gk<M`E#a zMrv|)aA~e4INX(_u8Zg7X(*+D!Ynf{T_G>E9O4+I$r{qr_`vScD^ATzaV;v+n0#JZ zj0+mjd6_wr&&!>j?5fbO3JTE7^t}9{RIusArMU{#T<|E#%gh1WHB)}w<ckU?%=PsZ zlJoP5OLJ45gPawLQWH~(6-qKv6_P<N1L;jkEJ;+zOalw1fs%|uMq;tT<N{R*9fU>= zO@-8=qWmI|P2ePg<TsEQXZ++m1*OSzI7KEeQjnj_B_POG%f$stCLq`Q>i$tg#2Li> zkoZ!tRme%r(?}^U(VXnA=dFfN1rDdwqGC`o4X(^f_DRiCuvIYN0;ST)ABBXC6m1m{ zc>wGVLYhI^thAvSOao>wC~JVd1xr)dY=&ipdYHFTic56xW&w~pAz4`?Ik5ojLrn!6 z1^jLV#U&>^`KIL;Ddd-y6qJ^5adL8|6qgt&)LYpq<R)gPYDC8-RhFdcz(Ws|>G60# zJ2^kMpeVJtI5ouylmYz9Qj5U(5afH#<otq4kPD4;6hJWnwN1em#502BXwI_4B8AD* z^o~wm&&4|Vg&zOpYW<|i)%xPRy2(Y!!6k`BC7KF$3ZOuq9H=cN4bC%2MUX-&w1`mB znfzW~f)lQ5a-X*R<Yog+X3osC$+7x!lYa?FPmb5-5kfZsqEQvDQBy}j$;K9Yc{h2P zf$`+eLV~;~$z<{yeQ7>~eg#EauzMM+C)XQ@)%#`^=O&gUXMlXHkeXAR3d$NOdg#d= z6tg(;Atz^QQ4uKI^pLX;C_HN+27)6P9FlnonR(!N<;>Fo<u3)>$^Q)$CLc5qo@`*K bGC9~#Mt~DV6DQ~7f7)WqoSe0j`wguD>pB>H diff --git a/vendor/github.com/klauspost/compress/zstd/fse_decoder.go b/vendor/github.com/klauspost/compress/zstd/fse_decoder.go index 2f8860a722b8f040e57d6db13d9fb936e433f97b..e6d3d49b39c0e96d0c9b54a258f3c908e882b201 100644 GIT binary patch delta 2705 zcmccP{3>L^QJ$ir{GwtdE>5Mi+>(v2ScP=-^%V+=GV@Au@-&L|^74yvqpgbdiYs%I z@^gGr^I~-rka&~d2+3}KB({@DUPDu%G&8Tn*hrz8i?b-Tq_ijxDxi^~U}rb^fQ0nq z$&${K`6VpbtGPI}QWR__M@y7W-X|rn`MP8=Bd1ehacWLxUaH3ASZQ^Zw6wIe$=p)% zyh%`DO&c3yqsazR(wn`c^O$^+N;7j(TuKs?a#9t_Gjnnjzyb;-8L0{>smb{%nR)37 zU|Bt`w9>p}1&v|_t+e7)7m!?PktRerM8C%59da`D#zq>33N|(h#d?X!C8dcuAt0lD z^3yfBI5RTSGeR<oQj0V4b5aznY#{~*XI7;u=qea;aYDkzFSVisBw4IiT#{Il3f3QO zWn^j=%f-d1udm>lmsz5tkds)ckdj}Xr;w9hUQm>uqyW)eT+hW>&Be)?mS3chsiRN^ zGN>pqFFjQOTNHqTn3FRzO`%M|)>c8+5W?py)=MdgMsaMcUU6!PV@irsW=XLID0(b3 zGBq{1I5{~{J*BH#4;F+t2IQ0I%vc3mkmoo#YZX#+ic?{BfYSj&1;|iCGmSE^p|xC` zoV8paq_3|KTu_vnm;&=3#CzZv@l7nw2Kf)nfrTQ-{^F9<0)#|KYJmn^3CQ?@{Nl`# z%=|o%5|FjVMj8enaZs2Q7ZVw1AjO#=6AY{sG8JqTGV@9_$~3JN>NB;qVO|6UBg`@^ zAy`}t4MLb21zQCTI9po*<PA*)HApG}c@`YBAdBIO>=aO<Nuipn9uy~_WCBYUiAAZ2 zV2zw`UBp-eiULpsfN^G;0$j7At%3o>gP{Bk3(DNm;u3|T)Wl@#428s;9EIf6oSb5X z{Ji8;9fkaojMSp?%;Ho9P$7_*lUbFT;+$WaSCU$!kXfvdnU|bjRFs-r!ZrB;mzX<< zQ(91xnxc@IS5R7l6e1v-HI+ay1x_2_%-{sdz6#*n2+yhDBr^GsoGu$U8<b9FmRG8W zW-d^SmFXoyQ!>ab&b-u$l3-9y1IZyJTnIB36m}3MII%*QpfruprwvKpd7#_@HUur} zE9ffJCsmfDYJegOqzIgajEywlMrcA(0yyK9s^unDfO9=4&cW%%53C7nKGezOa2F#C z0hKxsH43_rL<7ncAopjcNh#!|LiN}o<iPPbxj;y?9xkh)nxd(YUs_U}nUV@os89?l zpg`hEI&f2TAaWoJz%BwOm&`P{Jg7VY<t;-qjZ#eoH8lmW!$6|Y!~;sA!Ktaa#R}!A znMGPD3MCndB?=`OpafA2N^QlNkRrJxLm@9Iv!qzTPQgHri<1+Jb8T%E@^exkAp&xz zLSkNuLSDWCNE?cqOA&6x8Pw2V(tw2sNDDZ<!78J?%$&^|WoIz6fMRd5pQ2bjxF`c# zTAW%^46Zvsath$`TaQa$U%|0NAtyDlxC9bvIr-^ew<&;gO;V~tVp(El4yc|`$jk$4 zPs#-6rj*no)M^LpM@<Eg=^9Bz3R+2-B|)k6i7B9(sG5s2C%+t&Qb1`C8u&>?dg-Yp zAVCdieWI6_1m=R198^rfRskFyP_7=#?;4ugP$OfxYPmojNz2U3EY3(xQGnFU#R?@w zrS+)_nQ7o$4+?OFjKs23g{0KfJWzR%qL5aUp9}L-aY<2XVlK!WPz-_USddR3;iOQW zUz!6lx3Dy`C>5+1l%v5$!p#5|3Ftu*m{^jksQ_~sB3vNBl9ZpH14`#bkfuaZkse$n zIAOy53=I}gI-BgI7|02#=E31Td5)s88YC`ZjR?=Y5)Dmo0|r!ZAj*@;PKvYYLH+~z z%MBFa5NnYW1>w{Z0?Gx+iFpe7c{!B|NvR5@#h~Ia4V0!K<xjCfVo|Ds0XP+*C$RdY zoK&i$Fp&GvLlatZ>42ML7Mh@dg{BaAqN_L4K%_db8R$U_D(s+Q#H2h}#)E3ngGB<? K7~ra9<N^SthiaPu delta 721 zcmaDAa>seXQPsTU{FKbRbp52vyu_kPB`!{-)S{yNqGAv$Ew=<jW#(_Z$SNdRlv+|+ zl&4UvmsFaWlj2g6n3R*Mp~+RtHF<%wSXypraY;~WVv1W)ey&E5LT0`mh?iQVsZh<u znU+|RnB!Vhq+n&MkXD+PtdUw&qyV-DEX|pj2I46w+A8E_=72PCauy`!WrEdda&dCj za)FS(zQW`>W=AG{{mJ{7!$Fh?i#>=6V)13>)YqT9fW=r=U!SwMB(Wql1mrx0Xd_dz z*wW0r5<@dCkcw9<>h=2ioCQUxE~#mmd8sK1N%{FX2nT9Ff&uJyjUpWdDAy;mq$DTR zH7_MIF;7Q9tynLmL{pP=UB#8TN%{3TKB;-+=uS*7DNW1)`^zUkog5Q#6DyoD>r0Bs z(TfOFa&+hA7v)0rS%6alu>p;UDb3AN!uyyeONm);mJ}~x+{_`F$F$i@X(IFFZR%c= I7i)L|0RBepw*UYD diff --git a/vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.go b/vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.go deleted file mode 100644 index c881d28d88482a7ab4b7178d32233f7017aad3cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1683 zcmdPbPtUhXD$UGEQAo^9F*8w6Q&Uh(EGS6LOV7+p1@rRq6N_^}tn_3qeSHOOB-J_y zr8<gWbvo(ETwDc-$=QkNsR~uaB`I87nYjh|MI{OvT%1a2xg|<mnp|8Zl?AB^U~^nb z5|eUL9gB0F^YcnlD@qiKONvU9OBAZPIQ8`vGV=;bONzNTi%SwqQbRy06|_n-^GXcO zxH$9ji*gkpKnp6AQUc*CC_t2%nQ(!P$uBJdnWLbqtE*6)TB49tsZf%Us!&jrpPZUf zT9m4gnFkg~PApDU$WK#9Eh@?{vIc8S%P&&M%qvMPDkw@VNi50C&r>MKNd>7ZPE7@C z0xMR?NX$#g$;?YvC`c?SQAkS7$uH;POf4!3NGwXsHB<mO+ROwYVgwVZ<pPB%Qc%Q$ z0z0!<Au&&(!oo};vA8%jHz}u5Av3oiCp9-U59)~gG=;R{RF~A`{FKxpJtX~lAoJWx z^OC`CElMpZEy^oa$ji^utx7G*S4geMEKvYyQpnGP_!F!lJ>M!XKeaeHu^^Qztu!wg zIdVWQ(kNEYLfEIHkX%xspoL^BA_6r*!3FjdG@P<iQwu-=TwIx#tWcg=lA#cvo|>0h zlvt9gpPrf*pH`fzm!8j+oS#<=P9)&)bj~j-DlI5UP4UYw%1zA4tV&IB&MyVUgMzJs zAvhfKi~Lf{gTV<SKi?@c9Uk={hOL4Tnj*h^r_7RKkQ^M_Dj0(jqrN_}ZxzZjb8;X8 z;OI>O1u-aM!3k9l5;~~Cp$SnANy-|UkYEL+U{EMo*&@p#!l{~z6De6+DX10eAyRp? zL97lJCpd{)L7l5stOrW*P??kxn7D$11~^NYnP_UL73-yxL>t6v>Tq$^a&dyA8P$GB zT<R#OC6`oaa&d8Hra=;eqOF1f$i<w+<(VbP84y8`6Tw-6K$KW<adL7N<QHdxlbn?; zD0S$;(>_QNk_;8na!d4FL3t}pLn#>+!;nm_paC<$Ry9ROA+@3)HMt};MZrK*Nk;)D z1#&Sb!bPa@4|YW!G)X8}*(#)@CI?sMCgta7B$rem+@lF{P;q8eDo72oj1fozi%a2V zYN)1YD&&`z6lbQSDu9!N0@xgoxRQ<nOq~u`6o*?O$&e(s=I5k<lR3z}*!^S#_7g#; z+uAC?%>ubuAu%sSAunGcDYK*)#r-f<U_Yd!rX`l<lz^R##R{ZC0F<~CAWBkG6iV~J nWnwDGiac=H15S^&3aTkeI^YBba&;{@r9w0*<Yne?)p7v<aH1h9 diff --git a/vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.s b/vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.s deleted file mode 100644 index da32b4420e3a6121249c0a1354b98791632332d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2374 zcmdPbS8&cxNmWQs%}XsxEJ;mKNUBsw&d<$F%uBISNY7U&D$N5)#-|mh>ZRu^=;oJ} zDCp_wrxmBhr=%w5r=%9eC+4P@ndlWO=oVzB+g25qr06NQ_$&DNhbXwZc!ub4ap~)) z=UXL}X6B?QC?*yZq~@h(=A|mAsVOMt<tG;Bf>`OvAQHmo($`neMpv!_k<&>}hO$7$ zDx{U>B`biHx|Ad)<)p?Z7UyadD`=$^r@BB~r=yTuQlX%Qq{gv0*Ev70B(<VMQz0|2 zge$}~B1GZPb|e*GQ-Yl|bre(#bd5~7IDP%Y0zu|zTWGiiXzD09M?l4jwGAL5E}mRm zocj6-KKY3$3T25orK!bWB~F1+5eg;-mKGW=o|-xeE)iUu5&l7e3JMAejuAQvjuBj( zP9ecyz6+EOwoE}mLBlyhQ%AuGW|e}1f}t5iEZCEa)5p~jtV`EW!x5w|$O3F1Sj+;V z4C=~os1wYfPJp`9H7`XW2idjy`U;+TnI$?3If<1DDf#7j3OV`Z1x5Ku3dNPVN%=X& zP^Sl3>L>(Ra&db31}G?G=4F<|=O$+6#pmSb7sMy$=cQzpWaj5_aiPjsfn66K7#soi zmqw7KmXW58LXe>W7pJptKsYEsf(#9G6jXE#xj4Q2TtNZ~Df#hv`6cnC1u2Oosqq<^ z=^61Q8AYkZ8TmOWU;~{%%0Lb>)Cl&})CjWBve4w>ba8bChXZn$s2EfjpaMgP^<4NY zfjS%HP8|gerwC1m!?`#;{hR|qp@8O1L;zTU{RL8^qu}Dn#p&gvfF4?q6cb!fl$w}= z2xCx=Ow36x%}FdtRRAYyh2oOb0<d=j!HEVG_`x1QfeIi$fqY?!EC~uxxU4b6kC4=2 ztPy0XsS#vopk)XOdP|7?Zkahb3W+Hx3Q3tI#qgvHPG0b|1u_$yY=aCz_8A(&l7gWT z$O0p1VkicC1$%Npm$QNzp`f4;WC(VqG1wPKNyN|ynnp~Z<|`;DK#j@F%S$c7NOBmG zkmz$#2m-kinnVl@L1~05F(s?CxFo(HzZjfet++THU0fj16$J91qaTO|N|9i$vu{A4 z0>t+gT%2C+3JMBnCcx5!p)nU1hC{HV3y7ydUIV2J3>|RejNry$$!4%r2Js<0oxy?$ zu7is+#5Fhs<^z!byrMu^2Wo9{Mrv|)e10}K1_Bk3i#kvV1u2ohzBe)f6*n+-D%yrR z3Pq_U+J<JJVvvh7$TbA+T$rI&;DXT!T>OIz<;=WvNWz9D0T)kj7U2Sy!13TD4@pB{ zCNvH~g%~6TT|Bic5M?m9bOYy1=Lkr0u|O1#h8jU2rJxMs>mLRwWGtZ>8LS-U5e0=H z3rMNv6bvbyL4^ubAGj<5mCm37H8|7>%m>MX`5r!CzO#>x0;s%!$%9IF5Z~873|vTo z<iTYW*!f_4A?~rzQ7}T50H-uiuCRbq4_-cyvJg3Rz(H$>6k#Y)267f8${^k{G6B^G zU@O5+1v$;w2vtl)+XzccVztu>l9-$nKwfh80hQLEw1lD72<$#c;SLI2aOwmX>^PJ{ z+?-re0jp+_(jF+3P?8=f(HI+{CPrgoyZ~~R6*PB&oCFSUkZB;>z@;>@^T0U>oDQMk Kr=o3uX$t_{c!bXY diff --git a/vendor/github.com/klauspost/compress/zstd/fse_decoder_generic.go b/vendor/github.com/klauspost/compress/zstd/fse_decoder_generic.go deleted file mode 100644 index 332e51fe44faec1333ac8e322c70d2e71dfe77b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1856 zcmdPbPtUhXD$UGEQBX|GO))c3sHss%EGS6LOV7+p1#uM9lR;EoeqwPhm%hG&Hi~M5 zQjj``BCdkO<m|-sRE4VIk`ykk%-n+fq7nrSE>5M?qN4nwVkIt4rL^1<B`!@akbz+H zTuKs?a#9t_Gjnnjzyb;-8L0{>smb{%nR)37U|Bt`w9>p}1&v|_t+e7)7m!?PktRer zM8Afn0@w<LYA#N&mf*~)R0S(rh0@Ht5@RC`Lj@Zfg<`$L<dV|FoDh(WKKbdIT$~x1 z=@}szMXALZ`8g>d^$5+n3Wi*q#g(~9`8j^66(u0aV!h&$#FA97{%9*BQ?pnuE>3-Y z1<$<95*>w{#7c#f{PH}7oc!{FqWmNUh~{E0&T1}B&b0g@g-jiVGLSh%iFxU%3dMSP z`9-<WR>gV{g+8fyu^{(za%QF}lquNSD(D(Q_?*RhDJ9V;ZjIF|PAzdvNpZ?7Db@ga z(n2FsQ<IC6lM~fXy1HO7hz%frL}$h-*n+&q$yuwAnp2z#vjXl@hzgLIhGrUNU^8pE zI5}&%IBOx^4K653O-w=c9yr{56N|G!{sVKsF#rxk&f=2P0)%);YJmn^1<3e<{Nl`# z%=|o%5|FjVMj8enaZr#I7ZVv~AjO#=6AY{sG8JqTGV@9_$~3JNGPSi~J_H3K%q}e9 zS6mDYK$sc@TLld`TU!C-3rz(zNRkA36&$i4d*O=g6i^}wYB4B@z|urwQEDPsA17QB zF}8pr02BjYoSCKo*Q{u(U;wd3UmqcwTUuPAP?VaOoS~4IlcSKFnv+wkke`>Fs-uu! zl95_eo>`o#07`v{Ihj?dDbD$&c_pbu3Yo<UnR&_iMMbH}B_Kx@rIwTy<w0^*v7TRQ zxrP!*wzQxmHANvaub{L9DS$vO(NqG(8zQARfy)<ghJ|NlNOpiH08o^HBHhpoXC?*b zol>-PkWvzD1vdnmZy>20WMY|KA~bJ+9K@NIT2T@V%DNyqh$?VifG}f0euXfRMHOrn z5c;$sStbvZ-@t~Tl_d(g3Q3hEsT!d82dM$)Nn;}oxCxq�AdDrE0l}72r|?l#IYh z(GRQ%Y&_J(<!}ch3;~s55H$+AkaP&jWgzEgrYYp5Lbcc-q##Ly6B?0exg~n8pprOE zLkX^0Lp4QHA-}YwI5Q;`qEVq3RCt2Km2}{y>OkZ`_JJJ;PLasA+CmCjLo<z1O$9YI z1+Y6or5H4Qf^tD{YHDt=LV0RtQHnxIMq-IVNd_p*6@yZ4aVDf5D9KRBOUf)MR<Khr z&;xmmu<LDY74maZAmIgawnAcFib7t#0>~H?FO(vjjx!>lp{M~1AdnVtiiWu(FEfX$ GmJ0w#?LgxI diff --git a/vendor/github.com/klauspost/compress/zstd/fse_encoder.go b/vendor/github.com/klauspost/compress/zstd/fse_encoder.go index ab26326a8ff8089233d1f90ea2298f2159599a67..b4757ee3f03bd5ef517e332724017c8803aabe31 100644 GIT binary patch delta 708 zcmcaTiE+aW#tmK^2KxF6AsML(MX4pFMR}<y3dK2@$*BtEnK?NMi8<womBk84sR}u% zdFdq?3Pz@8dXpI?#3sjc@W@8TmS*Oa7#k^6b8$j+D-`P`=a=S{L|esf?&8?a7+X-3 zT98--H4Vl|%u7*7%*n}5PAo}PC{8X)EJ@B#C`nApNi9|=Ely2QNXsu$NXjqCP)N?t zEhtJYF3!x)Qvm5oNktL?JER_JsD`G3hE`f}s%u_yeoAVQjzVftQGSso$Z45r3dIVx zwhDQfIUp`)v4X9F8bWDxEf;4k7iY0vX>n?hkE?>MLRw-@aVi%lNS|JEPHJM2GssU0 zYHA9_dbx=e5T32Af`LLc*JLJX5m&HuH5Vr*C(Qquu?n^d23(vVlR<(AQ{cweA_7eZ z<hIRLT!nU)sbKdjlw_nT<d>Edl$IzISLP<==O`2u<(Flqq^5wwp}Z)wBvm1^M4==f ztTZXJWU`>UBtJyA21H9p$Yg(a(fYh3r_7RK|I!i#D_aE(NQ`MD>lK$ImZWMbXhY2p z3DHYQ%_&Lr1FP0lu(MMzG~?n-DJ}^HDFo>S$2Cl+ot*~UU^PQiO^`_t1u)AY=DCGu z=B0p*(B$Gw)=MhaOH4@tImpn=&lzTzjsnP876=nH!HU67RIpWmIyMB9LZV?Vn!MO! F2LQJJ>%jm3 delta 62 zcmdlmgYotx#tmK^lTUEUDQRdbXhj>Dn#Go8=9L&5DO7WD7NwSy7Ue0Z73(GEm*$mh S-pR3@aq}VWEW61K-Wvdy!WJ_C diff --git a/vendor/github.com/klauspost/compress/zstd/hash.go b/vendor/github.com/klauspost/compress/zstd/hash.go index 5d73c21ebdd4b01842c4d7a32aecaeca6fd53518..cf33f29a1b488eac4cbee823e22b996162306198 100644 GIT binary patch delta 262 zcmcc2ae-??FiSm`zP>_6VsVDCLQ!f-X;EIWLP<s{SVSQ|4b0BTFHbE}Fjh#aEJ-Z} z36?69<SV3QmMCQADI`LamLw+Sq$-qWmSiYoC?sW;6zhS^4Jb-YOD#%F%BfVyP$<sG zFU?6&NJ>>mR7lRxD=taQD^W<S%S(aDB<7SSRu+R4*ccn>aix{!C4&t&)+kjd&CDw? zHqueZ0JAJK!IZI)LNymB#MufO8l?(0HVPWXMhdzLMkbn?3R(&UMVYy&#$b1AD%ja6 SXh38$G!@hoj14upYPkRf%u)*g delta 7 Ocmcb>b(v#BFbe<->;k<2 diff --git a/vendor/github.com/klauspost/compress/zstd/history.go b/vendor/github.com/klauspost/compress/zstd/history.go index 28b40153cc2c9734e73b2f86d1109e488af4c067..f783e32d251b45d73a92572104e8a6a9522b32c1 100644 GIT binary patch delta 159 zcmZ1|F;{4VGowe60y2n>O{y$O<>JgJO-l<YN==2xX@R%~dcny>i6zMyT%1Lz$*FlI z{%L8&sU^h<(Z;cvc_ou4Fv@9{XXd5kmj`E7fi-64m2h$9CRV`s3JMBfq12+H{G!Rz jnPew#XWG5FjX8#K^JkXjjGK3{ePEjWolSi5F79*y;!ZQE delta 722 zcmbO$v`}J$Go!D*zJgC?NorAIjzUUma(-?>QEG8<W_}(QXGUpST1Zi9s)81XWuO<F zT$EUnoWaG#sjsgPoLX3#nwOl4s%dgJqg;JaYI15`iGNyJacW7iLbP#gW?l(IlSgK8 zNq$kKLQ-j3T56G=o*oxxl0tNBQe{ahL_ubHUVc%k6IfayvsfWFH8HP5p(I}cBB79| zkXM?Ulv<>apQZrPRSb4Zc}8lULUKlGa&~53x<Y+gevv{h$fc>p3YmEd84ydkI3Z@h z3<tZZJTosPzdSgzDpdgjKu+aM%*n}5b}LHEg}WrLL_uF)AulyGB{jvKi!-&TD8C4z z0YWC_=jU*7rer3UC@3&0On%OIQ~<>`TLpv7E0_`(1(S-b6f*Qc0iBXsRIHa&w3< zIin0*0BnS<0*KN}&d)1J%`4fwn)M5laB5z0X;G?EPJVK>LV0FRjzVhQWCb>f`ot22 zoYchP5{3M{RD~pvG$>fpO7oHxG%^&lpq|%MK+><FsZh<unVF`LoLHcdp_inoV55+s zhvDgJE>6x2y(9%&h1|sKR1HWp=_nZJAS<qi29YKgCudP=Noi3Y7iTRO7iVHwVrGtl zl`X;!U4@*~Jg{|OyCDkfY!x!}kRqX`Mgc0JkegWH3{8!xDPVttqY30HghiZ_7qK@@ M*5&Y+Jd>jZ0LGB*egFUf diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_asm.go b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.go similarity index 51% rename from vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_asm.go rename to vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.go index 1a1fac9c26130447e95cd31d9aab8883e89022c9..0ae847f75b05fb644aaa414ee5cc3c33486fafd9 100644 GIT binary patch delta 54 zcmX@X^q!GRUq3zHDycLxCuO3Xi~^UwzJfNGr=XZvP>`CJo|%`blb)=jSWsG&nw~## G{z?GbfD)Gg delta 169 zcmaFQc!EhzUq3zHDycLxCq+RcF*n7`M4_feA+ade%tTW`O>H8VOud4dnu20peqwPh zm%hG&HbgB%DOeqnsA6J4L26!lW?m|iV0tnVN3o!^C^bDFSp;G<S3zQOc4B&}LPbSJ SVsQo+NJVgIu9?Zignj_W+B0DQ diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s index cea178561970915c80ee85bbf879a8b5e63059ea..be8db5bf796015120afa0748cf1c39f2acf4f576 100644 GIT binary patch delta 10 Rcmew-{Z@K{$wt?myZ{`81fl={ delta 27 icmaDW{ZD#=iGaSof_74AW=@KNVqSh?aqdRrUAzE^X9>9g diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s deleted file mode 100644 index 4d64a17d69c127a25765fd3fb2b7f0956179ae6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3458 zcmdPbSI|x>&CE$rNKe*LEGR8XP0!a+%*#(K&gJ4#&df{BDNRXLP%25SC`rpnOxMd$ z;^NZRR|rZ?&nzxUEmBC#$;nSnEXmBz)8kT3NlnYlOI1k8OiwK?;S4f_i)3&H87Y9Z zm6R6cDU>DVl%^uo7jOm{gJeDP3Q9{93i31aN>Ymu(mAPloIxgVv+|O1@{_ZRIfG0= zdU8_p6!aC0jS$KUiZXLk4LO6%;X1$~Mw~$ws3OLkL6)c@CY(Wr2B<=&oI!>Nf0P+= z1{oT`Rg@WV1{oS7xW=48h6sn2fs8YS%T^e21{ontuQ1{aGD4VKVayq1gfO|ngfqy< zm<z7CD8Do>MI$jeSx2ElQz3?n)7R0(MFHY59R-Lum<GuO`3ET|sF<1P8XH2y6rcd4 zFVsf?q7Oq36t5Kuwh9ot3_vy^LKQ4%paHc!)CXdQk&Z$I%tn}nU;$s43PXqrxJPnR zi_%krz`lW)g)kWENH`V4#pw$2NrjF=23!!v0C@!z1Q|LImzY3lLy+Paa2gFQNJ%V7 zRVa%#)HR7!D9<d(P%t*qO{y$ORe&TRJq5?&;?msIVg*ntva>}=Mi3=F`S}GJ-~jgt z4g%Y)VyXjDuA=}=ham3<I6L}yy89`p7@C3Az=;?x&Yb-G0xP%x5+jC-)5j%1FF-*- z!PrQnKvPFSqXHCKMw$vBGr{4aQ3et*)I`z-lJju^=~7V8H8g{2G}ck5Faf(0st*)1 zAd?U}W4JhjL!H2U6+?vc!2&T{oKSrrgN)JbgUXpeECK6)5HVbw&Q5+&APzJ*bQC}y z1_?kSAtWOe5<$fZiAAXjMX3d;i6yBi3K^+IsR||e3aNR;r65*DVu?aYMrx&cQK~|5 zNq$jk3Me^d<|!m9B<JUqWTuzqmx7EaO03jTD9%?XPgO`x%u~q8PfP*n%Z0=*C_uSf z977zTcG}n}Xd7q*J89}$=qRWd8k!gwm>ZgyTbLS{o0wUem|Gg6tF}O>HZd@=G%+(b zHZ!xZG&eA`G&eFwRjqAkhEQ#0U}<V$ZfRs`Y-wa+Y-wnQX0*1E30$$InW=$+k)@G| zk&%VDg^`7+xh0y(#zt_(Mi%A<hUVrbrUnLvMrH;EMrMXw?mqrb&@5PNV+T^Iqu}Qs z5E7&v<PY+`j)IDb0XP$+mF6WY1efNTnP?;_M8|?szotTIW?qSz30H_~M2Nzn?GV{u zCrywUZb6Q|uG)V7!2v#=Avy{w2D-*Z;DoA>6rYq>oT_c0;T8Z&s|Da}pveW1L=SHr z1r2cFWC+ccMw)2qpkW77XAD(mqRGYS>mLR!+KO%Lv>_n@l{V$#;&k>6P*6}YHUitv z#pxXE>Z9P}4^yC{5ETR}0`&D2GSfgARl!EV*hryTAw$6y;z(14T7}e{;#8=ZfkG`8 zr<0Grf<j_iNoo-&!*g+Qf{GT1a<~t46v_;d9cQGYP-X-bP%+R^C^P2b^mBDbl&)na zTwI*U#RwM{C#Yx!6_kb`({vOn3=u-+AoFw-DvThuL&^e#v?0hoaPCABv(Ql}1LsPp z9+12Vlnp8YOmq}7xVSix3f(e8O;kQ8W{~BL(d11uxwzmVV+AogCp8aZaEKEq@2i-A z<3dNFq^QyY9M5_I3h<%{RDv0S(h0Z}G0><0xd0Rn;3~?<9Apx-pf^--uv0KI(FF^F z#lh7awlbazT4EV!RDgVd-8>^?^PqJmcEdm}x8mZ2_(ws-7~vrkNEGV@C|H2Y+6qG? ztBLdqA*)RgRx7AL5;iz6A;~K|R4+im1Y)@n7Z)d}ZiS~!P;x<d-WVKckXjS&d59oN zNW!w45lB5(Nl~Q{vI`6mzK5iE50DEWbyS5h7pJ423#fosP%$z!)lsMbB|1YcPIv`r z0TqL}6<iR26e1;dLr^^psoyJLu?`gjc@L}wtOVj+Fdt-u5mMp@%Y#!+1<bG5jVLLq zG=%#PlvTm$H#IK>9JNlN3Xre`WmmZ6Aj?d!TV?`HRoE>{%}cR@cq~J~&Q8G?8v3yI z5IDrajs{B`S%P8!9Hn4CLR5ny5G)NU<v<x2TqI`bC={iZfa(#q08K8=AlDE?31426 zS(54mZWwE%C}_EWTi`khh$25TuY^lqA5^CzwRtp>G!>xD9%x;FY!1#E!NdTZ$suVF zUjJYe_*|U&`U*av3c9!?u_P7N+JZI6K+OS2O^;N==Tz!}BgI7_1y<8QdJ_;E6$~^W zTu==JY8#b-GC#OEWN3ygWeh49L4^)T4q9_rVANb_g|oiCLNKW5p->8LIi@H;+|9)q z91@@aZi<x|Y3d-{0F!`NrUNSSpswTM;&k$K231p#yae?VINgEb(AWs%7DyZd0I55H A+W-In diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go index 209cb4a999c3a10c841cab1b9bdf9f0f128fae9a..1f52f296e71fb8b40d4501d0587d837e072d07ec 100644 GIT binary patch delta 68 zcmaFLbC^d^Uq3zHDycLxCq+RqF*n7`WTLE`8kfGlf;O_CLSjKdYF>I~UaEp(da^=6 NX;Er={>JimtN`057H$9l delta 83 zcmX@i^OQ$cUq3zHDycLxCq+R+F)=sA%tS#=O+hiSDA&wHbE2S}yh2TlLSBAiaW0p> YzJfMHB}AbPNYz9;aW;tj#?W`H01O!!W&i*H diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec.go b/vendor/github.com/klauspost/compress/zstd/seqdec.go index df044720302467aa7dc1efde8a06773edcdb8d07..1dd39e63b7e83f8e894aaeb90e8e63cfc94936cc 100644 GIT binary patch delta 2538 zcmaErwl#CZOvcTJ7&}>nGct=y6ks4aHmR~Cb+RX$<K*LPs*@Sn%Q<o~OHzvxbBZ^Y zu{$uTz<3I_3NR)YXR#jG5L*QhrI)mMF9$Q@<iEm^dK$&4g~bY)c_lguNks};Ntq=< zsfj76MLJ-W3J}{g6;g|e@{1IzH{TR-VB9=OY!~a~(?<N8Q)CpFn2Pl#x5%ZjDCsB^ zPv(}FWGdF%tRk<=2oeueSU%Z|+jw#Yx7uWP#X7-az5LP=1zUy0f`Zh%6pdoN$(Ix@ z_&7O1qE@yFVCl)6N_il?<w}#;zyg|+*Yf)C<mM~rDrn@S=7DtODNp2s$Z3N_GBS%N zujZ4UY@p)JoUfoe`5m9s<SLaHFzu)KeL)6pRxOo-1VeOjNn%lnRji(#o+cM3CnqP! za9f44$rft*AeHHAg>n$%6?7GH^Fc~7(-d-Z6l`o2K=u{uP5z{23i7DBdJH2sSgC@o zLVjt<<_3+EjQmcSCB<%u#U&bfAeQFlXsykRldtM1gUtS+BV(PHnZs4f#ig&WP+E|Z zSdywxT#{IlTCAgxSfY@Vnpj+-U}Ub4lvz@&kXu?@qL7rTkXV+OnUk25lR9}Li&%ZJ zCRC#aN|b3TRC96a>nr#sRw!72^@HL)C$q#SH7~s+qgW4Yjb2`AMTtgIktSTNC0uQ8 zVo7oa0o4`?vLL5{jLuI>D^4vzGk3DAZiNZCUXz1+%`pe$NTdV_^4(-+O;h$n9fc$v zh2+U6MFX6<IKe@zU}dY2sF#-n3T_Qe1#N{SWKJ@i!^N4IrU21lYpY-Y3NOydXGJCI z6+np(BcxJFq7(J<Qp<xu(W9Xm%f-oAtcN9xz~Kru0*hoyNpup1A*dl&47LDl0IEbv zNpv!r-lEi!(xN;r&RQ-`P&9yio>Zilo>~I(J5r+KnjEJktBCMAN}y;es3{m5YHD(U zeQyA^nUL?bbMnhUcEoaVO@5^%U5{im%rK}51vOhxit<e?&IWlM8Y^msrm>(zgC&Sa z2|t)Km_hF7)>cAt2h0Z4Fhm%RDvlPmFmq#}ITMsiK*6a{o|%)Q010)4ywq}NUR5a1 zNX=6y$w;*>N>xY%VOZ8RQ7FwTEly2Q02R~43OT81B?|dqr3%F*MX8Co5UnZsdEm^< zRjjE1wQKTv-S6xmJ2f=9CLhp~u**zS0HwDIP_Qf5DHt1p6KqnEURq{O4pbp1A>`&L zXxl0vl7U8Uj*}+W<PUn{?BEoin?G5~AcY@Xl0kd|N<Wk5OR7yiA*sxpnWm7FqX5ki zlmAHuP5x_eMLaiOTN|VdY64u|S6WgTVF+hgVv#~gYHk6j3PDn8JUPHfa`Jj<j>%p| z@=Uq;lk<&gK-5R0Y{A@o1zWHlE>4I+n<whtWR(V$hq<Xm>8T!>#U=Sgm5`7Ji%ixR zQLG2EpmG|ZYD__^IJK}eH7_~UB{jKNQ$YiTucH92vp~fLXIg%dLMAAylxF6YXc%Z( zD`YCzC>UESWNK@J!xZF;V!zaK9fe|$4Jamqa(#JbNqusLLMB*oN@`kSX-<h1s9w<5 zS13-*O;t!NR!~Y#EKXH0Py&mC3{$XGP%G9$<SUSRi1D@xY9J4w%7L{TqUnaFSuRe_ zdQMcm2pO<OBQ%Z3*$mTSG}&4%PEg4Ra<pDiYC&pZ3D~1xF;IBur4^^vgHk|VW)4IK z8gmMHnK?QNX}KkOuAl}&nuZcAN??gyHAP1OYGe^8wu(zqQ*;!PN=p>-^1)4v{Gv)F z9feGAMGSHWXL5dCNoHPYDi<dxZG+w5ms+k@pH`fT;si+AA<hMP`3fNIY5ApjDKOhW zmVt5@%!3Mwwjje4)YKFd!9fl3wO&C{s!M8GW?pJ|3dHAW#h~PtpORV>ke{EU7f@QF i0ap$31jtyp0H|aIIX<m86_l4?p$3Y49gt;QwOjx|3@xVs delta 2433 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 diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go deleted file mode 100644 index 7598c1018bded97034973beec588649ea6588116..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11021 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 diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s deleted file mode 100644 index 27e76774caba00a37dbe1cf33da126d0917d0992..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82479 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 C)W@6v diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_generic.go b/vendor/github.com/klauspost/compress/zstd/seqdec_generic.go deleted file mode 100644 index c3452bc3a9e2028cc507fd8c12b525a134bf501b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6484 zcmdPbPtUhXD$UGEQBX|GO))c3sHss%EGS6LOV7+p1#uM9lR;EoeqwPhm%hG&Hi~M5 zQjj``BCdkO<m|-sRE4VIk`ykk%-n+fq7nrSE>5Mi+!7@&PNmFzB`!@akYOpQ$@wX% z3dN~~rKx$zsl^IuMftf3B^jv-#U(|liMa~pnI#!uenC-wS!POVib6(aaY=qrr9x6^ z30OA2v_v5#Gr1%)KQFPUQjaUGG%r~}qgX);W~fVQa<QfY#HQfNyyW1_+=84`4Ujns z(XmODC8?SU8cF&2IXVidMMe2VnhMoioJFZ6rA2uPX^A<-sX7XInK@jw#5)+|B#<A_ z-Aur78pWxF#R}1}#i@m1i8;lZ5a)nglT@T&WvfuEmsG^X#i_5a;9iuNq>xsclcP|a zS(RF>P?DIGlUl5!P?E2ZSeBoeqL7qdnwL_nkerd4oL#KP#hH^60#c%*kPBnvr-4Nv z=H_IU_@w5gmt+*{r4^^@rIbWl<tA2u6@V;=)ln$c%S|jv&LF5NKP{~|wFHMTAa?|p zB$lLt+yQ0er-2z5?kEPS(*u(jwu40xaxgoQgt<72^@>vqgEOmA6>Jp@xHxk%OM+5! z6EpKb7UiVoX%y?_WR|2Bfx?-Ki!(Q|!YL;|IUB6O%2pvavBEh&x1cDsxHvThF2lu{ znWj*zSDu-dl3xy1Y6DUUmj^`^s!^awLn!CstmWcN%P&&M1i7LpF)tmQ^ozmz$`Xqd za&mMOa`Qo<qmY?b!o>-)FR4f`KP^qcPQgT5LnAk_!XF&MPMIae+J<J@hGv>}cE;c& z%Lz&unRz*xd8sK1pj-gT5>{NCU~wdqL2k-RttfFzEH2SVD$-HN$pJ?J$XX}^8Y!Aw zP~C2sd5Jj+<(WA-3VHb@3Pq`jDUh5B$)$QAWf1o}flL7r`A!O@nRz7^ASsaLIXO-W zwlJ&o(m)1kXo4hjL4F2H=0e<oA_)qNe2`A4li-pdt@`>3sTCzfi3&-XCB+JfMW9k6 zzbG|DAu~^*D77rLs5n(2zbGZO2<*V5BE7WCoE)&XAvWhLXxl0z73rm?mVm-jBRAg( zECG&XP?7){Yo}mr1dbq1P7D)jL9WQnK{qA`VoVOYL=H#-q$M*=AvfPi!A`*tYI3n& zK~ZWMBx<9LViiDfgd}1Z3)01jqRJ3Ml>ru21|U_r`5^7J3aL58sZa~`^%ZjS!PX?E zWR(_|K&;jPB|cDW!9oI*qsD!)jfD6u3XwMZc;GhLy$AT>3mv;br>D4FKuDA?L6 z7(k5&=?lq7ElO3$ELKR&Q%J2yPAveXM}?A%{L=Ic9fk6Y)I5dc(xRf&yb^f%uU@PG z%a!pt-~tJhd%>{>PQ{*i3MCnt#R|!Zpi;RgwIDUIBsE0=S^z*&Kt^U7NGz#RAwMrw zN1-?$WIsejd|6^nX{thgnu4K1Zfas)u|g2kh<J$qjdZ}?0l7Xg4{9tzlM!}J#ySd# zc`4XzF~+XJP(fG0FdkI#Kz){*udNNXxE7q@K*0%$9Hig`aTQRa9~#*xk;)0mgC(iC z1<=xi6I_6R^x7&I!(xULtN<;68N`Cz1a<=_s*zZg=jKC_8Yk4jAQwZ7MRGGJ6b(S} z4=OUs5_2+BtQ9iz3Q9{rV#)bMMWqELsVUY9Y57ITphy8#9H1J^5aJBZf}+g4lAJsZ zrEtd}KTkh*D+RC><%z`#21?+3%E<|H9aImJb8_<)6m8-8ixV~P;LKs50-BQ(O*PJ( zhH5A{tAU&daX%>7!7c`K!6gNlKrcj)gF7<~R2=1(r51sTSPf{g4hr3r)TGjM7jSE- z2o{sz07}zP0;$c+ONZwo1=SQCaE?m_wU-jh5;Jo^mA^ttVo735o|2A2CM5L0&VjXb zGV}FZi;6<?QY#8llS@)lT>afZ4hO4&ln9`b9b967Di1;x2PeF=1efyQh{;S-0DB`C z-rB1MSpoJ2D4v5;3qg+4QBd;9EXhgDvr+=pO*#rnx%nU_sBBWwNK7i$RLIQ%3*><O z0dk?fzJe<#Zzq<dg0hspzCw7aLT+YyMu|dFszORWD0ILDM`CehUNX2)NXb{oEKx{J zEXt__X#tnWkP=KyO(8c&!46iI!CHd3C7=MxFG|x;s!A=&R{*z%Ks7Tc^Mg4#sd)+- zswtWvy-J|af;kUlILO4@#0p<%D+&^aSj+~SqyRT6DKkAiwMd~PBQX!u)KEyw$;mHI zO#vxLFUdf$1<~Ts2352Q+6uWjkR}8|#tvi%YI_Bi0Md{=m|t1~%BNt@pt~Rm)J_7o zJHeh+0=3SdO)VW1(_y|xG`(~|?t(Z8A!vgqpiAM&5mqlKB<GjrmFOsxC+3wXsHP}@ zO3`8+aAzPtFQ*bD1gddhX&#z_;I?V!z|#z<u^pWWsve>3ZE#}D$*}^p!a(UVH^)jL zHwRoJ<mOv}+GSjv;PN3eO(7GMRKU&1)WTv-U1&9~udfgSs-7~7!CjV|#9~C%22OP4 zsS3pz`K382dFmw!r3ER8C7>n?G}Uq@6{RL-gYDn~*LJ>%d8LUtIh6{~MxBmAor0;Z zk%6j0T4HfYY7s<LD8!h=oE!yX1#lC%SRt`QAwMrURZqdOpr9zfLII%%l-Bb=jU7-6 z6x#69%S!@@XlR0y47dr1ECg$L!Bjya5Ml_T%7>Z-ZsUPF4$)8%y}Z<Nu$dZ~YOqd) zZ(?yaxCVhX`4ntn9g}FN2wq)K7b(~(KzlLKP!W8(kjq(cd(jHk_A@pDc^}*^1p5k< za5;1G%R!=`U;?#c4b3#bn(XWpG&JD0;SM)V1vLd@LrsWLkajIn&}d+WjW*Om^gsfo zM5vU4Ex1XI>=X=_AlVA_fSN6+c?=41MA$;zt!8M7BNj9;qk&`xf`T9^vjl82x;tSu zL&cF|5)ruYWP{6QaBi$c?&^UGK3GQ&+F64ZO$t~_J}jj#wF<skF3!{<aHl<~NG~}j zzc>|C4Q8f+y7ZuSNnU0SxCQ{%eQ6p>&N=zTph^lhW>IXVpjxJ*psHO4uCP;!igXmT zl8Q9JJxHj#Q;UkAgA%C~smY}!sgQvUg^a|!l$=yZBe@vT&Q3%cApy0%KrOP;;?xwJ z0}?1EqK!-FfQMk<Lnq)d6Od;>m2h5hX;G>|d8$H2Vp*y}Y96SquK*2H&`5%wo*p<} zz(uECerbuOHge^ZoLHby3>F3%$eEau;#66ZS`5mB2xZ!!$`7iH3)EBt4Y$}r2CY&c z;-HEsJ5>WRx}&22Ge=WTPY;wM!B&8qGWn$?(N+k@=)zRSf&v=sQgDj}x#0ziGFM2T zgK8X5RRSK1g4I%>=mYgaOY%X|;5rH%k6@cXHHHq<53t^jCQ>a5j$|%KTOL$qfCno; zLB+)h@+o*A2<+|>MA*f0K?WA$bwI5^P<Ww@F6iqkIHsh)-N(hrnVerxsR1&l#0osV z19M8WRdH&eUQSLdD5Oe2U0Vnr9MmvH;J|}%q9F>bK#l-4`h62~((;RP!Ts=pQs^)S zNKJ0Of}KK%HYgN8qi>p^aYeW|%D4)+E{3La<c0~Pbp+|nftw$ot|+{L1nW+M49_pB z1S<fwPf`o@K#fNvn?Zg9w@LN&6`b=6Dj}m8P<@~}GBZt~3>1t|=jkexSSyr)8g}4> z3G!tbC?kPJ`HD*ti%Jv<@{2RU9o)=3aQ*<<4<5`+%}W6p$O%zqWebjZkWHEjx(a2W z;vF>H0CFOziC6|PA7nvrer~EldVXp#s5h4nZc)HI2yTOcO$8|gd!PtBx|Nbz1nS;` zjL$Es1R0JN&mfs-uv4tS5zNU6j$*JoIKiIHQP8!8xC^<)#BB`NFl~rdWFsLWP$%S- zWagEof;gb&IxOTtjr7uDa2q`n)U!{84+tccrlqA8DdgpsLs}aU!w}&QwiFaUB?`Kr z6t4#v;y{F?jjck7E<_bLErG(xFJA%FwaQ6^3|gRO08mZ<tG5D^cs+y?F#7rm{$;5} zIf(@Ypb{KpD#)K83tcNpQu9(2Qc{acGV>C_siQb2GdUGJUI0=E8lnI<VL>f6P+BU< z%mw#gI5~@pl0p81J4?X|)VM1ufjJCpM@n%COi_syxGLua3E3*76vN83qGU~o1UQ~S zS+BS#8I=6NO-vUgr$Jk-#RZAU;36C}ECeb#LDdAPPmDfrS(FS-s~|g}E$O1<=uC)p zpm+wimTN&pDJV2R<qvq=52+La1p>B0NE3V6i|~UUtndMOB{NN-1XQbnd<QBhA?_+j z%*#yHKrTI?LrS@s#o%%T-iy#tNY4lLCUg{v!6i4S*N~bAa+ju#LJ4xw46+U4Ay^%f OUs}QipDuvR6952Tip4ts diff --git a/vendor/github.com/klauspost/compress/zstd/zip.go b/vendor/github.com/klauspost/compress/zstd/zip.go index 29c15c8c4efe59449cd2028aacd636c377731c74..967f29b3120e923620715900249ee31281ad0856 100644 GIT binary patch delta 489 zcmX>gy-93C0aJZhVv#~sW<gMDVoGXJKz@FXLUCnYvL1-V#ig&Wke6B>1(Q}tPRz^8 zFHuNJRVXb^O;IS$%u7yHC{I-=&o9kMQOHS6%vMOxFUl`1$;?YF*3;ADN-NDvMlnL8 zNFg&{4`Q39LT3Kt+sypQDXGai3i;UzR<@{4(Q{8N(a_Y>&~iyl&QD1#(&XaIOam#b z=Hlc`Nln%ZN-a(;(Ey3pDx~HVrz(IYbQDsHia>_>rItf%(kPm|fJJ)pTP8_kO)gH5 zAs`iswhDQfIbc1U1&Mi?$r`CeAhS4YA;v4%Dx`36)^bhW&8j&0HLJ$tSPoU@l+@(O zerz)YKn5!$rj?`?DLCik7pG4C%ceLvlYJf+A}}{|aZF_q1qVS?W&y|#xdlb3#l`tW s8k1{ybtZpjQ5C`GR##%(T9jH+T9l`dqUY%kau(P<MH-qQx7Tt30MIX-P5=M^ delta 1036 zcmdlac0hVV0aLxczCu-IK~QR9N@`I+etwQZX0bv^Myf(eYFc7xPKiPhSVo~BKR-v0 zt1PhyO|`8;ab;ez9!O`kUuwCPLRx8FvWBKYW?o5ZQCebhYIUtbH5X@<jzVftk%E=2 zf?sMm#4?S%%p4ts$#u-)@;VCPnI#!6smb{%sYSkt72%nADf#6ZhDH`PHbw@TlM|Vx z>ovJJGt<C^DB3FIW#)iP<t#|d%S_ftEh^IF;;iN3EJ`gYEy`1<;;OCX;?mbw$V)Ac zg85A$xhOTUB(+!}5$u=L6p%+0Qc{!ia|?=6i;MG%^teE7N71B_Ur<u4pr@zj!tP&C zl9`{UIk}!o#T677Ait=ggdEs`IjMPIO_~aJ3I<>|f{n0MNGvEw%}ddUj&*^UR1NZZ z6mFj@*w`o-8EDq(D1Z#m)6>)B;^frVS8&TON={Ws&d*COEh<XQORiKf<l^K6sZoGi z0^)%J%^0f38SHh1{L&(Y{PH}o|G79h!M?CnP(wsuEf;6)<Z>>(*wkblh5T%g7eR{j z+*3<5H1#yJpfLn8H8TyQpqh)5lQShXSuZHHIJHCr6b+oU3aL58sbH^jreKNoqRD}r zN(#s^#|er%usI603MpJ*?&K59iu^iYr&@u@S}xAXFPSwa|6x@V1vyGV3+`?%kP{Rp zTe8d$2c=ep#I%ysB8B9f{NhxF{2~Qcf49jGSrm0(>BrVqAv0gk)!z;5#v(n0`|~n$ zKz=LIE10~BRbw(Y>s00<y@JiFSf{ec=<6#$BCc2=IWbQmDOI7kAT>ENEi*MmZ}KiK zsd`YxNdrYriVi64CFZ3lBvrz*QKEvOk%h05LT+M3W^QRNQo_s3&r>J|CwPzv2tz@J zgk+?`<cc$^Qeigdm!%dJWu~O0<|$;RDHNp^mSz?)rKU`_<q{VF#XUI1LR<?@u=3E1 Oft(+}sT7>7YPkRru}cg9 diff --git a/vendor/github.com/klauspost/compress/zstd/zstd.go b/vendor/github.com/klauspost/compress/zstd/zstd.go index 3eb3f1c82661a49912b83e44b3b62770eb579000..ef1d49a009cc75e73a9519495b1dab05e6bdcfb9 100644 GIT binary patch delta 242 zcmX@8@?L2}3iIZ@%<)W{&$7*A*&M^Ok*VG-vA9GbB|o)TAvdukIU_SKT}L6Qv_zpi zGbcwOFTVsLtWc7Xs*nRxT3Vn`lCNN{kW^WcTCB&FR+^U#QR0)D2Qo_|QAZ(3AvzW$ zuc?rkSE5kO#hIFy;;CR|tB{kLr;(_spr)Xan^=;e=bKoe;F(uqY^0#8V6Mr<nU-Iq zkO@*}V6Bj;V50!iHu)02zhP2lNwHo?QDSCJW?p(!YEgc%nTbY9W?Gu2ot-fkCuc1e T2o<H4losWIb#4B~=gbTMRpCz| delta 315 zcmaE_bWmkO3Uj!=zCv1ZacEw4UVeF=LT0f-X>n?bLRx;2LMc=%ttc@!RUtV)uOv0E zM4>pdDpijwIX|zs1X-i4LT+M7hMsR?MQCPTiJ8gfB<4gWq0qe4ih|VSlGGHZoc!eM z;LNJYjm)Bx3s~5MGZKpxO5xIAV<*S4>YHO~NmZ~_NG&SLFDlmaOD)$>LeiB4G8L?M z^A6S}ESzp2rv_(MrB06Ll9;@aQ%oTxKebpPFTVujyyOgpl8jUZn3KTzCST$Vo!rMI jKG}|oTNX_*$g2wZc?!iPMX8Con*+J_Fm1NxGhqe*kZW-^ diff --git a/vendor/github.com/montanaflynn/stats/.gitignore b/vendor/github.com/montanaflynn/stats/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..96b11286e57c97034126ff80d22aad7a4d2bdac2 GIT binary patch literal 23 ecmYe!FH0>-Oi$IzFD>EHOUW!sO)kkVsssROmk8hh literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/.travis.yml b/vendor/github.com/montanaflynn/stats/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..697dcb7591351613c04126cad94c6f3907bccf55 GIT binary patch literal 275 zcmc~v%u6p#Oi#5^NYCd=&$r@IP|#H{)H8(AMo`)qN}E7wQ!rhUS-_Q)nwDRb8lRb0 zT#}fR1JPexnv$<jkXfJr6;(*iPf1PAFXJjsF3Kz@fhbDPS13s>F5yZ{D@iSiFD^|^ zPAx8mNWqln<(FipWhN(<Waj6ArBZVfGr@K!C={h8XBK3p=9PdY6cj-2&dtv&Nz6-h tfYNC>m3eu3xv5+r+59}X9SX@AiFxU8;k3leoYJCHD}}_I^2EwwE&%;VQ!oGk literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/CHANGELOG.md b/vendor/github.com/montanaflynn/stats/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..532f6ed3fd894356be9ebf0ffe3918c52f789e41 GIT binary patch literal 2181 zcmY#ZaL!1~OHWns$xr9vQdU-oHqbNDGl<p5C@Co@w$j&6&n(F(P0~xw&(+V(&nrpH zOH9kD%*)d+E=epY)-NeaP1OhM&;;pLR`5+NN>5EuC@9UzQ7B3+EKMygDYoL`(p7NF ztVm5!D5)&SPcKR=$jD4i%uz@!D#|a?QAh^6AVncDIXOQ!C9xz`p(G!|$;}6IGxHRJ zTpe9}UG)^AW0XyabsWeM`lgx+8qvjxMftgjdHH2nwdNO<WWZddTacQPm{+0+^-e%y za&}^RD%6P(pE#zZC?q)N7Zs)EB$j06=OrklmF6XbSX{aaP|32yqRhm+<Wx+#;F83= zl*FPGm(;RMH0>a7C#5QsWTYw-C+4OqBo-?qU?>mBFDQlD%cTp8yo4|e`>+{?&<j=% za&iLH%^9gV1*t^}xv3=?`6<O9%?WNf`H3ZFCN7C3i7-_tVxY(bM^$NYszPR7aY<@o zib8&xLPB(G8bm8xTX1SoW@>Q)L`Qi>W^#r?QEFOhQEFatD#WtrSm*rwqLj?M#FEqm zP*MUVL_?AjqM@FFCKp$5YFTPgVh%iBiWSOJi&7PeQu7jXQ&SW&^At)lGK&?8Qgc!h zi&OO!LNZb-70NSnaukY7KqM?a6_QFz6mk<Q6_QdFQc??wQj-%)VER)P(n?E8i&FJK zj#XB`mQaGg_9=iOCm;bFq-YTUN+4Xi3P|dLA?kt?a|?1(!I6Zf#wRl`C^a3T$|o}~ zHL)ltHN7acxEPcWk<4<fD1fVTttiOPOU*0EOw7Tq*e5?7uGl9(J+UaWBqKL78N1@( z5>VQOdWb;sg!v4j2j)5S902hxJk|~LEU{)&+{KT9o+UKDI_KmUgJP(-xHJ`#Tiu{} zvsfV`u`E@gG%vNHAT=2jjm4QMsS2rSX{pI2#h`M<m{?mg!KUjQYjWu-1f&)vgMv0E zRUxxjAuqo~AvrN88I(g)QxuXxg+y{mP9?~ABNB}_f_e#Oi3$lekkKZ@8VxQHO$e8W z@bZ#SIp~pCl$)QIne3aIm<P^o(Bi~BH9t4CqzF^OzqBMLGqtE#p}3?pxkMo`FGV4+ zG%>FvGba@;1<HO<b3F4(Qi}>p6N^9!6oNoCm5zdMW=cjTsLlfE4k^ma1zDb20nRhU zP>oPwC=aFs$_1MWvKPr%s1(dGAO{wqyAaujeyNE?sl_EAH)TVMO;F(ni~Y>JbcF(V z+JLzVT;UZfq~#YWB<3KMPf*K?!CruJAh}yd0V(%_g9|BxDj;&G0#p~o2(ZEecuk=I ztB%0pDX^LcrUxkvgF+Nq?uX=i=9R#d1m&0JrNB6_Os{}pQgCT5Op$M99@sYDL|ugn XxL|5xo{oZVYD#7zR5m{)Re=itiX`s{ literal 0 HcmV?d00001 diff --git a/vendor/github.com/go-stack/stack/LICENSE.md b/vendor/github.com/montanaflynn/stats/LICENSE similarity index 94% rename from vendor/github.com/go-stack/stack/LICENSE.md rename to vendor/github.com/montanaflynn/stats/LICENSE index 2abf98ea835e56210fe9ba5d0fd073b45b9e21e0..664818176557d58f42454cef13aa62a8a44a0b49 100644 GIT binary patch delta 57 zcmdnSaf4%mrk<{mfuX5_Z+>1$VqT(xTTW$Oo`Ob3Nl8JmmA-yrUVdI$X<l+kW`3St Ma(=GnMpH%>04M(wHUIzs delta 23 ecmcb?v5jMbCXa%1Mp0(5f=6avYVpQ!Miu~H-3Orn diff --git a/vendor/github.com/montanaflynn/stats/Makefile b/vendor/github.com/montanaflynn/stats/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..87844f485d7a9efcdb574835360981f04fedd3a8 GIT binary patch literal 361 zcmdN3@bLGGv{FdS$>HKk$xpW8;!Mv^$xl{DC@4=!;NmJzO+psc%_u1;u(dJ)0WPkz z{G!~%5-SCe9)+~r5-zTi)Z!Ab5egudf^Jb_a;gFsCs%StYI3%f0z?B?j*BZPH7_|M zH?b%iSp!(mR!>0}%*aj6<>E@tFH0>-Oix8t1{NzQ%1_J8Nwo!Y64O)l@=Hs=PASRH z&rtx2D(GgE<mT8afjLkmN?cqynRz8J*MN1Tr<N$BXO?7?Cg~;T=jtcsq$ZbS<mV<9 w>!;`Erj{gvG^7@Rlp=Tvy1JQp#U-GS<3v`az{Qo4nwD6aQ(~n6(g*P_0B!?#4FCWD literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/README.md b/vendor/github.com/montanaflynn/stats/README.md new file mode 100644 index 0000000000000000000000000000000000000000..5f8a9291bf15e042b5bbd6a77c4b5209bfcca926 GIT binary patch literal 4666 zcmY#Z2rfx1DOQM9jE;>iDM~EMEY>Y9OOJ(fN{e!0A+pK&WvNApIXN%|2tGnhdVWfN zGSmPF8zGmInVgzeoC=kN@j&uiT#gFGC5a`O#U+`^#R>(9$=QkNsS4$pB^e62iFuU@ zX{C9|C7Jno#R|EZ#l@L<=?ZB@`MC-u8L0~H`8kPs=^*WSDTzfX3OSicMTtd~dJ4g* zsbB@s&K{0_?yf%m?s~Z?u^JgAB?ZM+`ugdaB^jkjddc~@`nmaeC5d^7X*rd7dHNuC z6zeDD<R|IpCKi{Z7U?7F*HlQ$FH&#}@Ki|7NX$!5Emla(OHn9EOixcuQ7B5yNlh$H zEmo+^FI7lR%u^^!%}dEIQpn6J$p?uQDHIgtXQd{W6zg$u*?|Kd>f^+sRE5&w)D(r> z(&P+<oXqT0g+zsvqSCx<kZ`d=qC!q$Zb3nQafub!0mY>S1^GoKItqFDB?_52Ii<Oo zd5NF^(o@jV(p3n{%u@(XF3riQ)Y9VOQdU;*%quQQ%*g>O;o?e2NZ?A(S4dASQNSAt zV1-;-S^-7*C7A_QT3QMTP;I)U_;n^Iloq5UmZTPg;-#cmp(Gz16*(ZG5{0tVqT<Z_ zJUy_}LW>jAQ@OZ8GEx<yQ}aqPi&DYCo06Ygnwy#jN)-8dkXQpn8Yp?`<rk&nk3LO> z%wmPavc$}s#H5^5h5S4P_k5T9WRONKu1HwqWTuuYq~s?TE99r8<z(hT(;FyFrRC@3 z<d=hzS#o}EZem_au@x-TQu31(^z^yFX<I>0U%@vuB{MM(!FS8aPb@JraY-ym#0)<7 z)V$Q9#FA76j}TuUh~3~co&YgU7nC+_txQZzOcKCh<64oJTac5=#pRfj0}en$K1fc? zQ%FixC{9hyQ^?Fyh)#tlE!NLX%*@kE&xZsVX$c+O3{8ck(h`M?)S^^%a1zWcDalDy zC;{aPNO+{@bLs1YqPVC8l3784SDc@ls!*I?T9llskdj!E2#WmD;#97(#3BgaRv|hz z4H8V%hB^vHIts=*3MOD=TFb?i3l32og?I%kTaei$#d?rH)&QBN$(5E{q8Ct<nOBmN zrvXu`si3c~V611##Z{DFnwOHA0#T1*L=Z>@s$NII0M!^2ZD7+(Fe49^ZlaSDb8-}N zQ%f@PQ;I1IW{4Sj>G_(VGztnlkQWs)(-ca<g&ar(DM2ZeR2HN{LLL&D(BMH<Vhavq zF0S0f3aI~6^n4R5G*CU9n^*z%rYXdm%E}7P`FSNpnMtK3nR)44T%Kv5@=75iu`E>q zRQ?v1rl+SCg9?~p9fjng%#zIH%;H>y{33;<(sYHQR8V15tWW?h{uH8<i&8;}JTXrp zv$(i4mDn%>D=yXqm#CiVIXMa``3kv}3Q4KOC7?8vm<-B{`JiG2<TyPA&pd_1l$1=6 zs}zbea|?1RLE%wU1j@IdkOMhOp*+7dCq<z+BflJ^sYn4@a)L`ykRoV_47M~W6;w1; zLJHx;f`X#d<jlm9)D%TfW>i)PD9y=H2udw1O)V}d=Hdc#iy&MDPywEpQ=V8^tWchs zlMKoNdHD*ti6teeMG7FxlQPpm!Bw1_n3JQY-~r83c?zkC#gz)>iIpH9rsOMRmRNCd z8R{vx<rifuWR`%Pm7J5GmkM!xT7FSBmyw==GbDubQp**RiW2jZGZZuu(lbjGk~311 zv-3+!6m*jmit}?*bxSfb^U@PExs3G`d=s-F6=F(iab{6!3akd>GSO3T%_}Y~N>wNU z`Anf8vA7syUOt$wpqmV;_Y**_PsjzEky>1mpvh&br{J8Qn+vuTQWZko01?zp%vDf# z$xH#e1MCd-1Whh8J%xbM;tW(*7l1_ai!#$Q^T4X%t~S?G2rf+mSy2EAduU*DafN__ z7VMkMy!2v)#A1cw)WqDJ)M7BZAiuac6IAX)(_>;zalS%weqM2AN@@|L7=@Sb#U-f) zpu$~OArxF;DI^5BI=c9}>gA>+fTAQbFFB_)B~<|w(gmeSIho1eOjryG4Mbs_nFlr& zrOr|)P6anv^tcdaqZhCVkWw=dl6+GYpz;d&X<+j}mZqg9mXsEyf=uyFO)XF`G%!$A zNX}15RRBi|sF|bzYi@vJA7UgVreI1EG(q}<O7j$=6Vmf@Q%e$aGV@AOixRMA&BUD4 z<dTg1+{9viWW|t-2~Gi(`K3h=M}X1_$n4<4(!}Bng}l_%6mT?vvT9~YF{J4OD$8<G z6-x6!BKc_w<)Fk3t@tua6pB)l5{pw6bTdJrtPAyU0=RXctPD=JX_=r(&{MrERRJ0y zDGG@S(V!F!lEUf>0*yMDUQLCPjKmU!j6`q^mtO)3`;63_0#HgxEJ{x;DFzo6Aphj& zDI|iUv{<1S)J#h(RsaQKW?s4uIH!Oas8Itdf{H*zDmWwO=7S;<wLw*$SdyHfpqr;) zr~nRHa2$ftMNSSV&6Z^5mFAZg=Tw4Rk(&r95J1@!QXYV80|%6XuV;vY52S(3#pRq| zP+63jo>8Kpk*uj;WMF8bYh++(s^AN0=qk8@TDl50pyq~^zJ6j}ejY3>gWAJ(TwDRE zMc{^ZKBx!>w*ZnV71E0m^GZ@vbQIExQd2?Ul$-$yAstXY0aX$OsYS*4c?$VSC5f4N zph7rNAvwRG5~Q*uBePhcI6tkV99&T5r6?p87w1DtS5P|$(bQ7_MQE{t2B>US3Wn-X z(ga(QlA4$UYV3gIU{c`Z4l41AQj1H9GQshq15G6$H-M5ENIEAoHxtsB1ZOR9=z!a$ zrNyZ_V0Y>$<mRVjrd8@F<fay-r|Kwx^LufIjzUT%$mpcfl2jdqVsIe<>c{AS;#5Ds zNTE0t99IRIsi3AL*m#)hz-mC@QveFk5(P*Qf$c5NfOcSDYC&z*w9=xy%;JpH6p)^j ze1+nCu#KQT14snqapbmX9;EgI6=0zDb7E3{8K_)<MSfm>NoF#r0#8u@M*!Fn#h|7) zsNVpRD$W44Ws;DxRc4+7NGLfU;vG<hnN(bom{*dSn4<uy=E1!%XaNOtx*iu-h=;2} zu)kYKxMPs3f@iQoK#+f!r;DqLf|6sff@iRjjzYL+h=+e@h(fqyP>`cvNTh<ln}VZX zq=L7npNo!yYeYbhYjCiFe~^NwZ-9@dtBa0;r=PP=sEencyMj|_h=QMgh=Px&uV;v> zi$aLM0?0zBQJ${BAj5oJgFs!i5Jx9ZAJ33T9R)Yf5I>NaZvH_EjtT*eK_Q;bp+1g5 z3IU-(0sg_R3XXm*3V!~6o_=mYo__AGzOH^DdJ3L?3V!|yu3@fzAqv4Bjy^tMs~kf^ zJp6;eNg^5SN@xFo$RJO5j}Qe9e;*gupkM_jR|OwWM<*Xw1+ayFkqXW}j-I|c3NDVm zj_x2g1}XT5c(?|El|kJY?%@g+^7K=1^iyzj4)OH&19`^T-!CM{(K$p%A;do@1QaY_ zt>K=*t~v^iL7u^&U~vob_tjAV1**RrNQtMPg0sJ$pDV-^P=JHo4v!cAATU2P*cGH2 zY@mXRtD}#npL;OK-=HvsDc0lSf{h1&y69F4pwa@=pMVY$Bxi!UQ&{@WaBZMr1cbKC z+;qL-jLg)Wlw!Tie0_*1ShVXEm!)%YMMJ7C&|m|q?Qn6BAw^j9+d~>ewvf&{vO##= z12-3okx(arJ88P8&H;;o0|I|fIvT7HJoJGG60jIy&Gw)niPB=ID{>%(Ji0rG9?kIa jbawR%cIAqO8H6`jk`hzWQ}tm=eLX{TlX6N^!A=1HuZly5 literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/correlation.go b/vendor/github.com/montanaflynn/stats/correlation.go new file mode 100644 index 0000000000000000000000000000000000000000..d759bf8c426f0156694e6eae56545681f255d116 GIT binary patch literal 742 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`mT&MzuT%}FfD%+FIuNi9w; z%1lZvRw&6xRY*xqFG@{S$WK#%DJag!EKo>FEh$e;%~L2T&sQi;Ehz>mNJ%V7<Vq{e zOGY+M10-swqX43e6x?$16HClYToOwXH5D|{AUqv~)S{yNB29&AE-ua-Lj@~auxdj+ zpVT}JO)kzHBbbm8REUc+Gfg4KP{Gz#!9by=Mj^)t!mQ@v<Sa@pDJ{xV0QpVNFVRm! zQ%Auyx1glbGq0eugp0G53#M7o7Nie{mf*~)RM(;+i2CA`)G|XIg?NxNf=d$fQWA?& zTvE$2!QmB<Ur-7OIfz#^xi~@UjfhllqzQ2lNDsn8AReZl40IIoGIJnqO3p7UfLh_4 zUzS*unV6THitZL@uxoO`LItEtL0>@wWWJ$-mI8=2(u5dW3r-0Esfk6!`FRS-i8;w2 ze?gN0Ot_#ZKczIeL^n4-H#M(BAsH#%B<H85rDY~(g2a)N2iS2*IjO~Zki-Es3KCjS T7ZOYuFb^OlR1^a=xoWup0Ojte literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/data.go b/vendor/github.com/montanaflynn/stats/data.go new file mode 100644 index 0000000000000000000000000000000000000000..a087f457a072c5ddecc9d79a0cb6825aa8ee8615 GIT binary patch literal 4751 zcmXR&OwLYBPgN)`Nh~Sm;?mbwaLdV0EHN{2Ni0cJ$ShV!RLD!rO-)fKsVqoUNXsu$ zh>lHzs8A@+EXh#FNX;ooEmFu$Ey>7FDdqwzLpB1g9BjCIYKcN-NouY_W}ZTEPG)i{ zS6XRavVuk$vbCBD?x`gjnF^VCC7KE_%c>QMQcFsU@)XjdGh-EM!KV47=0Qb^6>?JZ z(n~TF^3(8{>yw(Np$Rfq0d8DQYMw@#CfvZ{Vz`N!X$tvysS0_exk;%-prFV}EiP6l z$w<soNX*MG$w)22?s%Wn;$n?V9fd5AMVbmp`T02r>%gwJQAmr<f_WmiJh4EbxID8Y zIU}`LA-}Xlp`<(?YHKlpa02N?vZ@*!I64s1ZNU_X0}n6XOhkB<WTYzOX69w)mgYh& z1K9-<O-U?C#O^cSOi=J?K%+!QA+@L|zep3|IgmU&EPWFz;6Vv8HaD??G|LhzG&B|P zSe96Uh`8X=TolVn@=FqPK#3tSCr1HfJ0upt;R)j6_G55qE?#Rv@(4esCZdHXNFYBA zY$a|xd{Yw%1SCiSk}WBj81{gLh_DHy4zGuNQ^86Qw&ka!qJ(8GNPw_S`6;O&d*JyU zOY#6If!pJrnxC6mQk0nt3Jp{X!7c*D9{#98F#%*Z&V-4o67B?##G>5%JZvr?%FD>w z@mi0f5N<mp;2o2S^K(i|Qe9HZG80QO^Yg%ICl@6M5}|4oQecXT71E0GbHPeM$*efF zL;<1&N5%ykhhY^~M{{u&K?+(N?$b!q<bo8xI1~ir7nJ5eypoogmjWs>Q=zVd#VKA7 z6(IDJ;U|RcWcdzBJKUeaC5d?{iA5=>QIwdQUz%3}@=;l05j5&DA+ZOI66|q-VH$pS zVk*b&E`;M15FwAvo$$ni2x}r8i?D)3XCrCE?SbIL+=84`VjQ2SPz+W}q_ZIgljvlq zCb)A0OB0JqGILV>OG|PxQ;Uj`+?ku1lcJEAm!gnbQBsten+mGO!D_I(58Wh?!(gT& z%1wAq#83`*Qb1}^a%vvPQAmy{N(E)VGH|0VFC{ZC9aOU?LfS>3^a?H}i?O>5VW36< ztnG!Z7KXbGNkf{BLIJF7KnVM#CKja@mjor|W#e^YX)(y9pb{UdLjkM>(y%1tSg00| z4wBuCtQXk}&iO@<kj&3hNJ%YDF3L<wg%oBfsp&<jsi2^QDJag!EKo>FEh$e;%>%dJ zic?F9K?*=c0d~hD8LyFo+Wf_A^uU7~Sy!5lLJA_h6N`%T^AwU3bCN-&FVv+0sSx3U zqWqN7<PzQ7{M^*M5`|<WuO;WFrln;jXM)6$eE=@il5$du^{~4iYBULMhv`6eH!NwR zGyqC6K*3uG&29<>`I&ho&>9aZ8RHIGn4uVMgGm(Q$z&SvF!jtUNiBkD2};aMM=qI) zz<gMM1sZ~Lf1ok;u);J6l;gqq(98sjTd=5yXL;Yul#EPNw<MOO7J)i(&_-HXW>Iko z*gYi~nMElIuz<vo<zWV5gcff1A+*5KUr14AE~xE`RPUfV3R0CrT?OiTKzxBcyr8C$ z;3BvVn1djNH#}KEY70oKDKoF2v;@+7ElMrONlZ=!XNvqHuvmU+33f+8Ow`B&b?bB# ziohK^O$7}s4PJO|g=$IDQOMI#D1tdH4Afr8OHKth->_BB#55ydhTu;~a8>Z+gQ$mL za!92znqxq21a<N=^Ar*l2sITj4aV;@Eb8HogoGQ34unK8zPN)Kh~HtTmLr<G&iUXX z5fmukagp5A#NyH-a5a#TU#^f_nw)`A^eZH1fXWH%jzSnnLPAH<gj|jygc0GYker`e qP+F2&tdNXwI%o(7)M6+~MT$|BstfE(JOw{CtH|;I!lfE8uK)nT2~iXP literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/data_set_distances.go b/vendor/github.com/montanaflynn/stats/data_set_distances.go new file mode 100644 index 0000000000000000000000000000000000000000..2e549c8d497917ab6b69f313dd34c61439909596 GIT binary patch literal 2530 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2U(BR@!%1tcEP~y_$;?mbw2usY#Oi3(BRY*xJ zNmNM7FH%U!EG|jROHNftPRvOz%}FfD%+KRWE6qz*D1)kXNi0d!0I3hi&&(@{&;jcO zvm+IvW7Bf-6HClYG!;^dit>vTs<}8b(-d-2^N@6CD%jd87%0@#po&LA#jCkEIg3(D zN{jLoTyqObDn0WGN=vvnYq_u*rD%&`3X%cAnN_K-MMWUpFf;QqbGT~3o_EgAEhsHX zEmm;ONKL9N&PXjo_&zDMq&zh>PobndAM8Jc;?$C2NI1Y%yFh~q$!oX*LjxYH(D2a# zg%1el7ioe5DYd9b!IqdH)&z$FNV%e|LSAMLNHff9pqSP3OZ3yw1RD?bby;GOLP=_F z0nD)qPzP{vf?_*U!OB*_z*-?w!3I4Ttrar0wZW#NXtz}W+v1p1jO6X;%vc3oa5zEI zL3C!UCKo3t=HdRfL3ITvjyU0xwkVQZoSd~_w?k6_OqmYIzmT{CrCoURxt1p9WTvDh z<`IfMeSJs_!ZpAG1<5Pq#vm6bC{Ab+g)sjs*eVzhh_(n#M6@AkgEO@iG?4s?E!q^c z6bPu$M2;J9VhAoQDuJhPO<d9Bo0yl8SW-fKG{H4cF`9-*EP;a+Bai9AOWjCF4y)yY zWqnu-;|l!T%)IRU^5X1F0(nG_OJ5(9xxj_46^NyvfXLVpRtj#JMa3nc(oi8k4J@Hh z0ICLx(UnG8DFmk`=jWwhQLCrmlbV-ak^wRzDZeBGY!1`_1tb6}a}{z+i%S%eQWa7Q zOA~WI&I2jPNz6@3Nwfkn6%w-(6$%vcixiSGODYwTa`Kb2i>(#HGfOfQAj%YM6%4VM z4k=wyQxGANS*(zYnMf1!Qn2WT8*OB*kXfRTS*(zXQ4HxR_<-GsMSD?dVsb`iUb;d_ zzCvbRT4r8mNh+uag;psF<@u#KDIjkrgX^Z$GAw4m;v5_({-q@ar6sT!Q-Ea|P`H3= zVo<z-t8rggN`NUr%I??;KOI;&LaPo<1$btM)h6Kjh91=!(Ule~a1?A2@v9A~y8`md zHHgY!Fpon@JR}prx<SUk#B^W*p<$>GNg0}uiW;oav)D5)4IXAX3Wng8PDxQ|D!6`y bBt(eYptZMWURqdUPH8G~QH!t((u4s3Cg3c~ literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/deviation.go b/vendor/github.com/montanaflynn/stats/deviation.go new file mode 100644 index 0000000000000000000000000000000000000000..539c02bcfd0edb5e33c2d3ce74e67d66977aca7a GIT binary patch literal 1519 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`n;O-;#6%yUdC&d(_=Np(pr z%S<fE%+FIu%gjqDRw&6xRmcUaP{>aM^Ae#d6;fbIixtv}@^itGDTyVC#i=DwEnI1( zdC9me(8$ayC@oQN%gIkHF*9*VEJ@T<(8x_pQAmS`=qRKX6@hSmk)}d57iUpwNoi3Y zF4F??3rcgq4u_bl$yJNbcL?R=`Lh6S9Wh=-*amSN@t)31Qve5(o=<9?hNgn8t%3n4 zEMS2FibXxYL_ZBp9R=6if|5#4P?&OY)^c%iW-3_ODkSF@R2JuCCZ|Fy*5u;M)lrBC z$v~oABU6)$i!&|1NFh75Qb(aIF{d;YBwLi2m!7JS3AQUUIy<#8R>4*QY@1_Ju?9q$ zu0pOR#441i0T~Gi`{0tqyp+VE6hxW=rKZH({L;J<P--emEP|%B%sk}O14%X*x*=Xb z3%lZ!)G`7o2E!oq=zygaJPMIg2{!k`(?23z;P3>x-Nbu`i<5%Hps%mso>~G9WP}qH zz!8v_oXW*nRsc;F2=|47VkZxga=1A4^%a63nGh6@NahqnBN|a8z_Tkj%>?9^Yk+Jp z&@<K4QOL{8fo4vO01r;gEyzhFCa@C~iot4e1T(}SQd11If*9g7<lrra1~0^2gn|~T NpQvCh)=@wXRsiBJ2KfL0 literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/errors.go b/vendor/github.com/montanaflynn/stats/errors.go new file mode 100644 index 0000000000000000000000000000000000000000..0bb32f0dd643e62576aeab6bb4266063006d20b5 GIT binary patch literal 665 zcmXR&OwLYBPgN)`Nh~Sm;wq^ufU;eSiWG`Vib|796soy6Qz5*}ymYQwF0QoFykrH9 zVu&W!q9RQN*P^2QA`MNDj?BDtkdC6%lG36)g<`$bq9TwUeSL+HjMU;(g~Xy%g_4X^ z1*pxs<(Vm|3aKFd3T25orK!bwT>AP7jyX9{!OWD@ypqhc%;dz9%=|os;*9*#oD_x9 zVz4R2sc=nYiA4$;T%4}C1tpc9c?G2<3JSJx7gj4lgmO!ZOBC|*OB9k)6;eSe^^|J4 zID->&3vyC}GpkZj^+3dn74k}RlTwQmz?zd%6>?IGixo;T67v)?!S>{&=B1ZpfKBpC z^aBN)0tg`6?w4PpkO(ygWTRhddSXdtSt>{|vbx}$%;Z#vMIcuu=jW9qX67m6L6yTi z3o;@qwJ0B?9o;G%MpUI1<s)l%$}i1JDTWw;>;gzQWfm*smzETRq9#90p(rsgJr(Rf zP#8h<poJ93-Ng`xCxK%|p*S%Y6jbn_@ytsL1H~`8dm)0E#R{2uX_<MMC18s*xd6he B<4gbm literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/legacy.go b/vendor/github.com/montanaflynn/stats/legacy.go new file mode 100644 index 0000000000000000000000000000000000000000..17557abd99d903e08303e6a32719c3f26bb7037c GIT binary patch literal 1047 zcmXR&OwLYBPgN)`Nh~Sm;?mbw2umyqP{=G+NK`1!$S*2ME-g_g$yW%-FDT7PEXmBz z3rj4@Ow3D8<w`5fO9rdf$jmD!Em3gG$xkdXGjT~QNz_!(C{9T&Q%Hjd=_sTY6@hSm zk)}d57iUpwNoi3Y7Be9xX>!%VToR1wlHkPLf}B(gR|G@!lI{vr^B|_cTo7E6;*wg1 zB{+gh67y0Li$JoO;7~z?4<uZmIw8i9;V9hZLySaqA+}&bHv!^LWY>`&WZ2C{b(v3Q zUQlW}X8ieN=A|YU1*N7Jr4|=w=I23N1W~O~tPmaRoS$Eml9`uSlB%hoQ3O|qDup9S zp&PDI3=1gNiUO?8ajhuG&r8iK$xO^acN0Vl#cslC1HxfG`RQ04=98bESd>|kk(-%} P?l6cJiXDd428hD|NG@<l literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/load.go b/vendor/github.com/montanaflynn/stats/load.go new file mode 100644 index 0000000000000000000000000000000000000000..1012d0bb54c2db2e77a85abdd8ca3c6d9ff06bd0 GIT binary patch literal 3264 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2U(BR@!DlREX&d)1T;^I^)$;?ev;?m^e($`n; z$xloPN-TFtEJ;)-NGvK&Emla(OHlwRO)V-ZR!CGR&dE$pRme|M$jz)sO;JbzsVu21 zNG(<<$yZ3r$p=}KR+^WLY?MY(V!1+QUP)?ET4Hi)b*-j?Mw)^fNUfO($SO^RYA(*Q z#3F?vh3Hr$br8W~WTjkOoW<ptCCM2IB??xy3Pp+KdKw_>!A2w}7N??`V8zABS)^dA zP{PFtl`PH7D*=h7<rgW$>nM~#Ovy`6RVV?uf|IjY!B!!$pdd9bMWa{;;v+K?jWSJ5 zE>6x`ka4LcrA2uP#V96PP~S*HGwPdZY(#xC%}l6kW>S8B4qg*8(-g`SY;6@vib_)< zQHB<0hI$5|$l|P3NX;q6uEYSQ1XrYjQ!>PBMUV(bO0OCvn()}CdUDFlE1_~~%FHXF zc4ErRE1`B;%FHW)gg5naW^qYTW?nkp!~`lFpt-$BN1+UqZffCi3o04)TuO@)OEUBG z$TcQ6u^>7#uLM-C!HmcR6*>mi3YiKv3OT8H8YP<63Yps4ki?9={3(gfjKx(1A=v;= zIkd9^k(6j>2O@3J&JILkqmdn`sSmFusHqSf*N}n<Txr4L7rE-fYaIDW2xJAV(-6oG znkOQVB{WY(AWLYTjF9U?ys@5{rT|JgG_D$9i4m!S1QpnLU51(-L5_r$vz*Yn71o%7 z8IHB!#cKu598}B2#R+mCYFn=eT-GADB+HQ6k&w0`v}Wf_1eMlM?}BT7PR=w$8!=5s zAra&oa83m!2v8x9rU0QCt`aJQMKP#t0dWAL0O3r_(NRb(DgwC#+H%(m05#9SjS`I# z9R)KJkkOo(X<%ixwhDQfIbc7cJ2ou`tPs?a1v?p*yg*t@(9#a7H?cOWP?aDztH7pX UL?qsjspSH-u%T%pjjNUm05-&pMF0Q* literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/max.go b/vendor/github.com/montanaflynn/stats/max.go new file mode 100644 index 0000000000000000000000000000000000000000..d0fdd42b48fed5ac118e025455369c0054ac5937 GIT binary patch literal 445 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`n;O{`Ez%gjqDRw&6xRmjLp z&qysUQOGOJO-e0N$jnnnR4C5LOitxWE6qy=Db~o$D<~~daLdV0EHN{2Ni0d!RM5x; z83GZ}QAjN+0^$53O@(SME>3-Yg`m`u(xN<t#5{<&LS`DsvZ7Rl#G+J%ynLu_#ax`3 zX$oND^?XwEG&B`#Z50d@s<}8hiy#JoT&?Gq=%=Bnqu`obP*Uj$atjw{EyNo4)Dn=n z3Tc@|#U%=5i8-aI3W*SZ6_+Fym1O3nD-`5s=9O@9f*foMwaY!VM8iN6VuVkAet|+_ zUW!6dYC%q7GBiMnAchrlai--LDP$^G*(w-XD`YCzKurL<)><J`TN~_JxGz8^XKE_g gDS)g4`2)k=OieCM&RU2M;GV3|QOL{8;i}~V09ILxF#rGn literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/mean.go b/vendor/github.com/montanaflynn/stats/mean.go new file mode 100644 index 0000000000000000000000000000000000000000..944bb657215b970dd42ca9c4ceef48d9bba2d913 GIT binary patch literal 1151 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`n;O-;;GNKY*(Rw&6xRY)vL zEdnXePg6)#D9*`DPF2WHQ^+gLO-d~)=1MEgO9pGu$jmD!Em3gG$xkdXGjT~QNz_!( zNQ3Zn6jF<d@{2STs=2s0Gt(5nO7(nF^E5OSY;6?`6soy6Ig3(DN{jLoK+e$fOZ3yw z)KPHFEhwq<1ewdlS<A)6SzMZ{qY$rPWeYVSxHMNolZy+cwYW4_L0<uCC&WDvOEh&9 z@-lO{YQes9PtDIwEh)-OM)hVoOjsco<o&e#BAnhuF#%!^5&q6WxEt(qa7g5k<bQpA z1^3hvaI6#*<)@S;mw=)oF((Hs1d9^Rvcw{V0$4b3ae}-OucMF$vcD)XFFh3!df-6M zOj9U8IDxZ3!B!!Ui<7ffAvLEs6|91@KtT&C2#ExJeFf*loaEA+#FA97y{I7vj}34{ z2IQA(6zC`z>ce6sM-wG7JQ9m?^YhT-A_FQ)I4Y3!4^T{iQXMF7pvHniQEGB#K~a8k zVotF_VqS^@G<hfHadGPFL-K<HC}zqMb4pV|IW4h7AvrNGFTX?~2^2%gIi)G7DGHf+ z3Miq$MPlscDcC^s7c7^6;{}?*{8G~sOESw+U5knkv7VWxkcX5epbkgY7L{6*57olO f$yuPFZL6SRsGzTqrwK_SP%Vf!SI}1|faO5|KulzF literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/median.go b/vendor/github.com/montanaflynn/stats/median.go new file mode 100644 index 0000000000000000000000000000000000000000..b13d8394bb5f8338d3dc6d7ca0d79096bb9e0ab7 GIT binary patch literal 592 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`n;O-;#6%u`5DEh$zg$w*bm zh4AxAbCXhw6f*M^5*3PbGLusk^3xO`g2h~ErFqFvjT)JG1*IhlZaMjhC1xfri6x1e z3K~!|(jbC53aLd!Ae>*MsZh<u#i_5a5L}X2RHBensZg9>RFavOu8^pZoL^80vIOJ^ zu#H@t$qH7sU=^t;&iMtE5W6%XCivwmfIOj)S*(zknwpZDqL7&e@<36lLSj*>LS8=H zwIKW4@{1Hw%Tn`Tf(qrS3W+HxAPov7<@pM^nJFnbsW4fv6BF}N6jCzFGE-7P?gS|+ zEe5$1<i6b0#5@I1D3oO8=P4v6<(H*`^?<C&Pf3B91F|Knw75i}v^W)P6^b=noH-!> z<)r3mBx`bUW~M3RDA?L67${V8adH-=mXsFdfxW2bm*}UVsiWYUTToKz2?}m5&RT`k zoZ?iFmvdB&5V{}%ucHvJV5{JpnwY1N9G#<Yq-&^PrI4d<q-_|h3D*j;1fpEQRskAQ X5anP+TwHJ`fD?p{LSAMLS1lI+MGd_4 literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/min.go b/vendor/github.com/montanaflynn/stats/min.go new file mode 100644 index 0000000000000000000000000000000000000000..4383852e15ea1b70bef8f94ed33757c191349f30 GIT binary patch literal 505 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`n;&CF9s%gjqDRw&6xRmjON zPc1G{$SciFN-a{z%u`5IC{8U=$WK#9Ni0d^N-NDv2I<hq%qu7@QE<!2Pb@JraY-ym z)Kt*O1(^g9(NRb(DgxpBB29&AE-p@eeFgW_60jA?`K5Va6CsuqgKPm=U7VAdoXW+S zqhMvL05)FFCpAw)6QVgNwWPEtPa!c6VyHr98py1oRE5N%RE4~JsDq2SI5X1}aujTB z6$})rxi~qCAlg8_)$>dA)6mpWaLp|!sq_RnpNq2=VmQoYX_-aEB?@JUIi;xziIDIp zE=epZ$;?YvD9F#uE8*e<`4Q$k_tX*%1E~8vOHzvxOHvg|^GY&v6jJi@QWcUjQj@bm zTGR526cWK9TLdwjixVW23G%3+wL+$XjY5vKLZ-Gh*vXk`P~U@$&(u_~Q2^Nq@(hOM ZnVMXjoV6ftz&)Cor=yUUnZs4f1pwF=o@@XB literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/mode.go b/vendor/github.com/montanaflynn/stats/mode.go new file mode 100644 index 0000000000000000000000000000000000000000..1160faf285f69923e185ee06f1ab8c273cd53d25 GIT binary patch literal 980 zcmXR&OwLYBPgN)`Nh~Sm;?mbw@Xb$2RY*@QDOM=SNL9!M@uG9{i%S&Jic$+pQ}ap` z$`W%*Q#Fb;V-@n#6cQDRb25`tLCmzA{KOJ7lVYy4(!6A_IU1RH1*IhlZV(BV#F9i! z1r3Oiu~5}I3aLd!Ae>*MsZh<usjsgPlv+|+ln1sRqCYbY#3@QuFILFU%c)ez&r4Ov zE6q(xE#l(LQLwUA04vk;NzK#H<l@XsQ^--UwN)?#8OK=!F$}CiM<FjWhl{gTAvLEs zRRN~X09jpLW{!@6Yi>bFr6<VgT%5IBT%5@uJBss*N>Wpt^9w3nGSeU)(*!#=q$sg0 zwWv5%0ir@7v8X7qQU@$mQk0mSotc*oa=t=NeqMTNafw1vYC&pZ2}raU9H7amT%6!A zu~o=T%udyaMg)ziCKqRNUWtxEZeoRVUJ1w<hB^v{T%2k7MGBc<uC+p@f{j9swL+%0 zHrOM@<(VbP8DM5|VsWZMa&%@aC^(X%Gj$DPt++TjK}Kq8b8&J)<nu~E(oh@J)L?cg z+A0`=RYTpDSWu9fmjaGG9gv~AhOwGZ!xU^mZbBGm2Q>qS_Gl}ESQH~5cIzl4gPZ~) z!G7dSNli;E%_#w!0+BN0;^eFa#R(_EmzbUaX~6F29EhXgT96%zsRQOts4h;3GZkz> zE(AFO9L2$zdC92?IjMQ+B^e62rNt!*NvR6yMX8A;sYMDU8HsrchLE(7oRONGtpJKR uaE2)c<(QPr;*!j~WN4Nu2B%$^EoccCDGycG!V)qU7c6~)Tn`bg<pKZ=BPkRB literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/outlier.go b/vendor/github.com/montanaflynn/stats/outlier.go new file mode 100644 index 0000000000000000000000000000000000000000..e969180ea7f0faff6e0aeeb9ff9e017c7a78e165 GIT binary patch literal 1062 zcmXR&OwLYBPgN)`Nh~Sm;?mbw@GmXN$xJOOR>;WDNhwyy&CE$rNX$!7NUbO-O3h7G z$cM?N<(KBAC}id-q$HLka+OpTq$2bdmlTyImnc+oar%PvD<~+q<>V)pn3=eM)N;B) z%|aHe1=}82npjklnUe~4MOtQFO0hyoMk;QXaHW;zB`cuo)X2;$C@n#@S5rX)W~`1v zYEe;sktWE6nQ01OrFuT8c^aAuwzdieAYsm;)RNMoJh-2#YjqS{a|=o;JwfJjan^Ei zaq8<U1eYWhl_(@tDir4zm1O3nD<mo;=ND8e<fnlhU7VAdoXW)s7P7JhD@sjq&M&Bh zI8PH|h;w32a%oOtNh(-RAv6q%!Qq~nSCU!;6H+Kj%u7$@;w&uIQHWQtvW5Fv17w3H z7iVT+5md$#qz@J-K_G2VHDG6>+L)7Ho>~O9t+b#ZwMZc|FAvJkFD*$eQb<e9OHM83 z;>^iR16f*FtQTmgpsS!^sAsC6rI1-zq{+ouijXr_&_<QZ$w$>^jL?OU0qcUxfL-a9 znU?|%5>OITD9F#uD*>g2#1e(XB5+D9&P+*#1~pg%!r>5)KpYPCSz-#<s9c4Td~i|% ztH+YC6~Iwe%*9!jSOivxoP;2vu&jWbd^ywdixlE@6v{vW1db(0I;iI2;^fRsQz%og zQ2+%)O^rgCf}KKXei}HDal*{9RY)u-NX<*pfC}g+lxcEta@H!O<`kzYzzoPtQ-B$e z2{izmLE*YVJeXE^8VxT>EC2;#u0m#BNxnjUX^{dXgK}Xca)^GY8)|hF@-lO{YPkSP CdRC19 literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/percentile.go b/vendor/github.com/montanaflynn/stats/percentile.go new file mode 100644 index 0000000000000000000000000000000000000000..baf24d8e36a3ec33badc4409c7bb012950bfa3a9 GIT binary patch literal 1729 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`lANG(cE%`3^wNmWS8%u6X& zD9K1wC`!#qEXgbbYs*W?%u83u%u`5ID9*`DPF2WHQ%K9n2N{=EnwN}ZfJSCsL1~GC z8%Wa3#3ivLQAeQwVmw5LnTe)?22=!WAw;E)LTXVF2<I1RDpYfEab~6|fQ{1gNzK#H zRIs&GFi@!G;^Zt!Eh#O^Qvf+$&o9wWLsLh=HMgLo(i3Da7iTR*E7Sr78<4h|8n_ee z6bub;n&XsTnwL`ST2urvMqghcxFoTtL?NkCp*X*&1QY~`3d#8el_2kff(RTIT%5@Y zR<>XjsVUC+1(lE>(B$Ic)Yn(=EzK#(EXb*ZyCA7jAtyC2y(9x<2-t^QoSAtksTCkY zU;(3`4|1obf)*^yG;&h&G?F!;hB{}YCTA;Trh(%LqB*lzAyJ_`BR?lqA+IzyDYXb1 zf*^x!ZQ;gb=9QS4Xn?h7Lc$s3Nay^#vecpyh$@AWe1*)s5-v{8Opuc@^GcxVxwtq% zirq5vQot6MCFYc-DkPSGIbb8XI60vK4~kh^h2-c=UBg%|F3wto)STi}kc+|U6zmiX z!I2Cy51Zu*WtoWzB}Juq$%!SI`FVuhl312n1WMxh$YGM0m!goCpOcec4vIRkbBj@& zsG|_CV5{JpnwY17lwhkN&ej1rKeiSW<WT41NPcL^2AV(-0imOimzl%GRg0F@{8AH( zQj1H167#Z2&UFf<#UL+%(je3r1+Y1}sU;ctDO_lI5~>8G0+KeVkUjPF72pX0DLt2@ z<`#p>36RU6xg#?Nl8g#UOCWg}k}-lH`8Y8TlIa!F@{1HwK^YlR!W2W&Zw^TrUteDV zYHVszQGOBF%$(F>P<fV^r(mFvU!;&;l$uzQTBJ~tk(dX{W3YUgn4Su;5*lv`HVOs` z16goDJpu~IoW$Z1h0K!FTyU7c9B69`a=#u*X_g$FnWJkM3rTU{vJe(e`9&$2d5Jj+ zMTvRYnR)44ocTqNXerSE7p2arnK>HZA{|sd<baAEm_?AX2$T;H;R|vW$VH%VEK$gW o$9X|cBBXWzDL}Rp?DYI1jOa{`Hb6KRR=6ie=NG}f!Bxuz0D6-rwg3PC literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/quartile.go b/vendor/github.com/montanaflynn/stats/quartile.go new file mode 100644 index 0000000000000000000000000000000000000000..29bb3a37a3aaf95c1c48759d264602eb638dedbb GIT binary patch literal 1513 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`lAEKMvb$;?SDR>;WDNhww+ z$w*Zw$tX%qRVakYC=}#p=9Lt4l~fj_A}KE}DJo4aQK;tP3^Y_o%gIkHF*D)f3^YPw z8^hVPD0V3nrIwTy<>9eRA+0DsS0PcMI43hXRUto3AtkXSkt?k<FB$Fvjm*4)(h>zX zh|MmEC5f5}8gSp}D5Mq@<rirxRC950X67hZ*(!k5>-nVSX=rkBW~M1*<|x?ODj0x# zzzJ~>-0b4&S{((~+=7xyPmm>CoV8qBocj6-!6k`BB??KE3dQ+FC7F5Y3W*BI`303A z2ZF*4>{>2Pu#lB4SW#+<bACZ3#I2eTL)<d+QozBSTw0Q!mZngUlbD=ZtdNpgkeUKA zGe1uuGYxDV$V{-Sq2Z8|nwMUZp^#aukXn|Sr;uNyke`ym#aWhEq>yZ=keOEkWg9`* zU_YuFA$*x^s9+27w!VT97bj=35fZOfAvLEs6&w~|RT`N&3c3o0nhHp2lMNNL6%65l z0r!V*YD#8eUa>-XW=RH$#~|s3Gtf{+As!S15QQ3`@QJocHjLE-r58*&kgzePaCEYf zRV*kBF(M0OL7<V2LZET2jzV5$4i^_By?N%9q!z)FL{MU0da6QNW*#(=7lHXnsU_v9 zsd);4h6;&!DGGtckVJ;56B31J$qkz9krEp?VS&;NB%vX~9_naN#?$jl^wZEpPhgyd z#ZW)PTnw=ilvoRkK*3j7tQTmkpsN6)4Y^=xHnXq@;%SJVeKS)sGEse+Se9A@Dg*M< zz_F8-SyWsC_H9W<W>E?}pBF>C4l@8^`@ncOHv{Bf4X{TQw80)Wh9*T=IA$PwI;1Ew zH#IR2DR$BPoC{8(P*0~S<U#`p;$x_8ntPawGa2M9P}zZ6EN~X0$9ytUI@c)F3k2mn W5N)KOrC_893KG3QaEO?|f&l<j%+`be literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/regression.go b/vendor/github.com/montanaflynn/stats/regression.go new file mode 100644 index 0000000000000000000000000000000000000000..a37a740609243f5a52dd2064f47724ed99c5507b GIT binary patch literal 2427 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`lAPA$qzEmp`ZR!CGx&d)1J z%*;zIQb@}$Qb<%NhREfoDWoKpByyEh7No+|N5?wn=NF}9<|US-g3Up26*BU3Qi>Hy zGE%|X6f*PRMnQ}~Qd(S6RGM6(P|d{|p`#F~kd~95SYl?vRSP!KCo?ZKu_!1ty(qP~ zI5R&_AuTfxYH&_!VsVK=abam<QEIV54p^Z=5kh5t9>i{l54h4w^O6<NjngQGdPY-0 z1ECcrsH2ctR0P8LMVboLTwI))X$m>1c^bu<3bwWi1|TPM7NwSy7Ue1AW#;H8xaJm= zRC?wWl$LOD)^c%i>gy{6<Rm7if&v2?pr8-|1-wE@zCu!}LP~yKDi>#2Vv#~|X|6)F zX)Mh5V9h@H`2`C3WvN9Fk7TE&7G&n7D`e)Sq*j1}v;br{7iXq|m92sS7bhsftQ9g9 zY@m*`R>;)W20OC2G&kBHRzcfVp*T7-Rxg5!lM^Ilh!Bc|3K=1UA{4Yxl^bJ`gXuFt z$VI~RMZ!bDEi*4gA-yOuB{MazL?JORMIke<B(*3xwV;HHGY#Z?sJ}HbHMuz93axAv zG}5#{E;Wu-&;<oiv_UMGZy2kopbwKYLX$Lz)#T!YTL3a$17wC_tb)Emnx=xTf(G0M zEvTVj8Ayyd7o{eaq=J)fUTQgVf`TR_a5!gyj5V-U$U+M3ENEyWCnQ^i#Dap<ycFcr zrK5mI{ncEYoSYF>3dPY`v3e0YAYLSlrv-PWHX^)0N@_JBAq!1=NcQP~5+WBg@3>YJ z<maX4m1HL7AY~wkrecM}JcU$*0%U(;%Q#rgqHXSh=L$2VTmeeskn~QIl#Y~i!8rse z$%B$LDCg?=<fm(Zvr(ibG}9m@et4$AqudmcR}jh}F`AN^m!AtNQ1gpG2@INU!ATyT z%1t3zz!a3q6G5uLt_sL6*8nqIbritbj3CO4V|77^AF9bDR#P9z4oxo3B#;SU4Tca6 zCa~ND)nW|JYDk*6ASDfLb3mekmIA~(6$KheT9E9aNkZcH$xlx#$}Gvq%}mCg_;U~n z2qk{3X3;6}n;<2ANWzB%KcVCg4m@~LjesRp<RTvy#F(m(Y5`aQ56KB&Q{hPsNu!Q} z5wuXkD9*uY6k3iO!V(uWbsB&Z7gQ3xkO!CJi1Z200Eytd0MV94mz0>KpskRo1@<_^ Lzo3Ge*pvtW&O_~^ literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/round.go b/vendor/github.com/montanaflynn/stats/round.go new file mode 100644 index 0000000000000000000000000000000000000000..b66779c9fc7f7826f489ae3fe5c92f7d2c9f5a2d GIT binary patch literal 910 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`lA$}i1JQAkus%gIkHQ7Fk* zNK_~;NKMX6%S={CNlnhoP0Ud!$Vp62Rmd+=C@4xz&MeN%&*Mrf%}a*p)yT{%C@q2L zH#5<JC@xmW%q!7U&?o|#o|=M?O)V-?NG&SLFVa+~=HlYi*H`dNQz*$ug{V--ELO<N zFHuNT$SciFN-g5z%uG`NxmC}z*e}r!ViiayCudP=Noi3YL=q&WsiWYR=;vBg#Kl<) zG1x6LFGV50v;=H?Vsc4oVva&_W_q4NVqS_ua(+=!YBEF)>Vf<sg`C6^kfmT%R<;U; zdIn$@Kor<07${V8adLuXZ54D4xi~o?GFlKG)ZWnIRIrucP%BnQEJ_CjYkDfgvc%l{ z(!3Id{4_*hDwHSYm87O{al(UF!O9lmvw-|^4MPJRNa&cEXh6)=)I{<jDDY4tsytO8 zu_#p`CqF+sGY@PzI2yP(Q!>*tOF(8rosDn;#5{MH8zF%OGZhjS3W>#_WKxuvT#}ie z2l7%<szP#pZb4!Z$nEhu@Z<t>yl;L=ng-ZTsC%JN4Kp{hSRp61xLBbiBQZ}w&s3p2 zRRQc!g_QjAJcay{jMSp?%;Hpq(gJWSz_i)fDj4XQf};YgJT*lD8d}b&nK>{EIcpVC zbBa^3DRaxo&o4r#gZSMoGcPeGrxN6dlzedffzlnwn~<cFQ>l<#l$uzQs*nhAWoimM akwViV%r*Lma8=L(CpjI3yv!V~S}p)oekNQ1 literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/sample.go b/vendor/github.com/montanaflynn/stats/sample.go new file mode 100644 index 0000000000000000000000000000000000000000..a52f6dcaafa1d4d765ef48693fc5417389e19c1b GIT binary patch literal 853 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$<QxK%u7+?;?mbw2u{o`$VpWwN-ZfZ z$}3hVhH%r0@^ck3^9o8!6v{J8G8BqZ3vv>ZQ*%@EN)+;oz+(BOC0uExdC5={G$5+o za`F>P%uHMoOA>VyN)oeE^GZPmmFS=tk(8gGqp6?~9h(MGuA`7zRFq$&sZh<u#hIA~ zv02Y2HBUoR!PZv6K%tt8lM~`Zg}lrh9R=6if|5#4ko&keYq_{Mb5irtOEMI!Y>~Bs zjY4)g$aK!4)Z)^d5|C0Pw^rAJEJ(~t(F;yZP0=XL%dE&t%*)r%)a2sg<kZ(!@XS+4 zElVw`R46V<EznT_g<pPdP9@lj3MCn-3Lt-`<ri^ra;D`MDP)4oH?UU7RImXn$t%sZ zR>;)W2781vGo=C~4>Cm0Gp{611LAy5E>4gy!OpW)NGvEw%}ddMI9CVaujtH_idc{` zke^`z0#lKfnZw1!S*wtmQ=F=hnWmtK>~%FYm^&0~Y!x8(fkT@U><S#dc26x)C`c{J zEiFkb$;{7F$WH_LGbyzQ#LCP|Nv+6CE#~6n1gU}hC?K^c7s*Eu=YeEV!y6K=ARAJ1 zpa}~a@d`<ma9dMT6u|aC!!=$<0TFoVsbFQ%23F9777GbpsEy<YAr}`cY{7}mDZex? MrP#Hoh^v+h0CuMm?EnA( literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/sum.go b/vendor/github.com/montanaflynn/stats/sum.go new file mode 100644 index 0000000000000000000000000000000000000000..53485f17c2e571cc634eaf38a9c00bfaf5e1c573 GIT binary patch literal 268 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`lAF3nX)Oi3wLNX*GmD9K1w z$SciFN-Zi@$WK#9R4C5LOiooO$xlx$$w)2YN-NDv2I<hq%qu7@QE<!2Pb@JraY-ym z)Kt(YF3nX)gNW!Tq!tx{aDI`dLNyl`XJ(oLSc{%dYMzFsf~~EBfkHJGCudP=Noi4@ z0?0Xfeu;h>nmP)uxdkPao*?tNIBU7MIQ8`v98*#hQganb3%EGb@{1JWbrkXxtZWsE i67$kiA?AV&135t3Rv{0f4{CIAX|9e!US<wgEf)Zyy;EWU literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/util.go b/vendor/github.com/montanaflynn/stats/util.go new file mode 100644 index 0000000000000000000000000000000000000000..881997604d231da249723e0280f7ad7a42b89f89 GIT binary patch literal 922 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2U(BR@!D$Xw|QR3oMD#^@ERpQd*;?mbwNXyAj zEHN_)$@k1FQ7FnU%}Xg(NQ8+hl;kTU<|$<6m2jn%<|V^~!HP99^9o8!U_zP-8u_Iq zAc4%h5>16_F3utyg?I%kTZJHynGnS~3I>{7oJFZ6rA1&vHHtL3YQe53&C9IFOU%nx zfJhcAfH=je$@w7Xq!s1oDujkOE2I|WCucxh0@I+O338p83D`!6!64u1`Q?{uXzGQA zID^Q%%nHB6ynGFqZOQosmBl%k$*Bs-`30G&AP+;h`Drl!6ho|mtAuz!!3`2xE{P?H zn#dfG^~E6H<|byRY9Oi7Q2+;%o=<9?hNdPLC&)mJVyGx0Fp8n!0E(g16zBYcN_a>l zDnJB5Zmm?na3Mqzqyw81H9+<uI}{u>U_o23fna|_bZT;Of(+Axy1p2!7w$w12fAdY z5#dICeTDqIoJxhvG=-9kRE7Ma%=FB>#2kf`#F9jX%;G%t5~%m|K#9>Gq_ng+RiPv! zvlyfYk{nV~6u|COD9;CJNJ>@6P0Y(ID9uSMNlj6N#1zQskdSl9OoMm`)!$(6pbAxU oab~80?T35Xu_!e-zo;ZN1!4p^xDY9}ptOXGvlbGI3Zw@h04ZKGng9R* literal 0 HcmV?d00001 diff --git a/vendor/github.com/montanaflynn/stats/variance.go b/vendor/github.com/montanaflynn/stats/variance.go new file mode 100644 index 0000000000000000000000000000000000000000..66e60c941f1adaadfcd7744f7e45426644c7d2e9 GIT binary patch literal 2305 zcmXR&OwLYBPgN)`Nh~Sm;>ye|$S*2UP|8g#$x!0r($`mrFH0=SOw3D8RY=RsODR?; z$w*Z|2;~<kB;}W6C=}!ul;$LsWaj57B<7_k6es2u<fJO3B$gy{rIqF-BTUiA%qu7@ zQE<!2Pb@JraY-ym)Pbqa%q!7U&_I|CQKF-eT2utW`9+!v)m&VhnQ01OGxU5?^E5OS zY;6?`6soy6Ig3(DN{jLoKrYwwOZ3yw)KPHFEhwq<1X;+%S<A)6sjsgPT$&5^LUCbf zVo|C>ej1pUo0^!XP+Xc+Qk0lnlA5BBR+OKskeZmBp^#Uao0M9_#hI(45U*fmtKgfO zm<RELCKnfHT7Hp2ypBR1NTw(;FFh6FG_ZT%9?`Z{&`5)LMk7yCL02JHQ$Y(u2=2o0 zjMO}Z^wg4)%)E4j<Dd?OI6FllB{MB8wJ0?&Ikgz<EhR{ZD=Cy`=Hw_O=H%p;E0h*1 zl;kU9=jE3xfWoXqy;va;8rEPv`9<i_R-Rgtky-@O1q%y>q)LVSyi|q!B89yC5-wOE z!~LeO0P`6nP@s{btDs@1par!|Q&Uq%AultBs}`J~!eHqMl#&v2^GoweK+ym;vILZX zGV{RR1|^>2)DlSgfoX!+f}DIb6*P)dQp;fOKuaz#2M55@C#p%BP)A|PBPDk<M}qP~ zd1gsQW}ZSKQV2pEifIs5Cl{0@7U6I*7iSs76IQn9*+xgfKogt+Kv_c378I!9q=qHw zrxq1KQWR9K3^@vd!PyfQ5=8nGlENUqL^S}b4~xn4p&?a#=$sEuPoSvE1SR|2)WqUa zNPf@AFIUJdP0mm#DbH6ZPAw@0r9Mz%Q%KGLWnqX95e8_0<P3Gdg_#jr%7Z3;aD2ha zryN62X#my)$qihbIYuxcBd8EK7IO?CrB_XjLXHuHNn}BmnWm6qsGw*I(uYG!aAsAi zD=ZP@8X^~8V7F;<apoGKiyDCnHGO>r=fs?3P<fuJP+Xb|3Li+hQ_RH)iq+y`Ski@* zfSDlQ8CWZ1D%dFG7+Nc2YHNd&WlCyJNg_BjAYrKIo?4=j2`&LavCIjU2L}yU-UvzF zNRx|`v$$9RRCa=u8ESzkBL!WB;$lq&M7fix4KfQ<x<gZXaj}9H%zYX;hRAAj40R1r z$|6K8Bl4|6a(-?>X-R6aLNX!|feQN6ypqhKRHPiQkd#_do|>8mPD$YOmXwoPtcRX} o5JrQ&Ig*kRIJLkcgT{#klvcoL1XS~Y8Ad22U@=mn$w4Fo09235G5`Po literal 0 HcmV?d00001 diff --git a/vendor/github.com/rcrowley/go-metrics/.travis.yml b/vendor/github.com/rcrowley/go-metrics/.travis.yml index ce9afeaeeac36727552503c34fd61843781cab26..409a5b631c33ba01677ff7036522f620900a7f38 100644 GIT binary patch delta 9 RcmX@Xw3}(d@`+of000$b1egE- delta 21 dcmdnZbb@KZa&83$1qEFNB||+!(}_!`0RTlV21)<` diff --git a/vendor/github.com/xdg-go/scram/CHANGELOG.md b/vendor/github.com/xdg-go/scram/CHANGELOG.md index 425c122fad32869372c57a5307722ece448dace7..21828db14918020b9faf63718cf636f561f3d2fc 100644 GIT binary patch delta 151 zcmZ3&bc$J7S;5)E(a+u0$KRccOIcZ=%uvrz&rm^E!N|bKNY}tv*T8t<I`wp8g|z%4 zh0=oJlA_eaTm|PaSB1393O$4t1GpALT|+Z2E?ou3loW+v4@X^7LnDQZ#NrHv^whl6 kqQsK?B89ZlyyTM1{5-Is$@zI@sd<^HdC94I8@VMJ0er40#sB~S delta 20 bcmX@byo8BcS;5)E(a+u0$KQS9MoC5hJKP1v diff --git a/vendor/github.com/xdg-go/scram/doc.go b/vendor/github.com/xdg-go/scram/doc.go index d43bee6071ce4e3eac5363060195133d356cab04..82e8aeed8794abe644952b5b33814dcb750ae138 100644 GIT binary patch delta 136 zcmbQjv59lTM@FNv#G=f^q@2`Z9fgEo4@biU2yJ9)mY}1Mn3n<;H8nI!&`~JKNG##f z*PlFrS$47|)7HuJnfN434UKdZQj3ZdtZWsElZz5_^@2SdO%07EmoaHhe#bO%vN<yz IMX}7=0XBIk_y7O^ delta 67 zcmdnQIfY}xM@IdU@_dD|#G=f^q@2`Z9fgEo4@biUg~YrRFw@A?EI~)1BqOmzA+acx UOJ9GoI@7tyF3b}r%d$)b01%xP8~^|S diff --git a/vendor/github.com/xdg-go/scram/scram.go b/vendor/github.com/xdg-go/scram/scram.go index 927659969b67d99ffb28eb96641dd12021a78b1f..a7b366027e2753fde300f34f1927de8db2b8c74a 100644 GIT binary patch delta 82 zcmew<dRKfy7$a|TQDs3%zJ75=qN$<L<{-weOl-j(j;4l2lh-q8FoWo&%wFQAhDHh* diNzV2dFgswWr;-!P&I5Uh9EVYtyuQ60RUD97^46H delta 17 ZcmcaB{!?^A7~|%2#*a*!wOKc@0RThV2D1PF diff --git a/vendor/github.com/xdg-go/stringprep/CHANGELOG.md b/vendor/github.com/xdg-go/stringprep/CHANGELOG.md index 2849637ca6ad61787ee2506b133330b9040d3fae..e06787fba385f0aaf62d8ca5fea7b525de697f43 100644 GIT binary patch delta 138 zcmdnTypv^ubiJ{XosE8?9hb7QLUfs-o`Ifmtb(qBk%5tsu7R<xfgu-{va+&*Z(?R% zNornVUUDiIm#%_SX>Nf+dVWq~Ub<d>QM!JGeo1OYi9$)fLYaY{v7Wg?N@*&H=N#s$ kYh++#sB3ItYG%mAWs|6omzbMss|2>mNXgD-qx^hE0QY?*82|tP delta 10 RcmdnVvX6O!^u}q6837j|1Qh@P diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/LICENSE b/vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/LICENSE similarity index 100% rename from vendor/code.vereign.com/gaiax/tsa/golib/LICENSE rename to vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/LICENSE diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/errors/errors.go b/vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors/errors.go similarity index 100% rename from vendor/code.vereign.com/gaiax/tsa/golib/errors/errors.go rename to vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors/errors.go diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/errors/shortid.go b/vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors/shortid.go similarity index 100% rename from vendor/code.vereign.com/gaiax/tsa/golib/errors/shortid.go rename to vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/errors/shortid.go diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/graceful/graceful.go b/vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/graceful/graceful.go similarity index 94% rename from vendor/code.vereign.com/gaiax/tsa/golib/graceful/graceful.go rename to vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/graceful/graceful.go index 7e7387d98d5546cf30d4b7c51240c9b64f6e5381..75e8402ae34ac60313f784d149e47f144f2587c7 100644 GIT binary patch delta 27 icmdnTet><05EEZ<WpQ$1PL5u%r@N<L$YwdF1&jcJgb2z2 delta 25 gcmX@WzK?x_5ED;+v7TpMNorA1X+g<m1*Qdz0CCF*umAu6 diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/ocm/README.md b/vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/ocm/README.md similarity index 70% rename from vendor/code.vereign.com/gaiax/tsa/golib/ocm/README.md rename to vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/ocm/README.md index 06775a0b0c0c4c37e1416fa2f7b20381592b6625..e6824beaaccdd704d3900ef331323b8001133af5 100644 GIT binary patch delta 129 zcmey$yqjf0k7ashNls#tUUGh}etKeNqHcwLN@7W(Zf0IuQDSjPQE75XX;G?fT53va dQDRAEex7b|YEfBca%%C!MZ3t?Jh_Om835~QGV}ld delta 59 ucmdnZ@|Af)k63bkN~&I2YEf!tdY)c#ey)CcVrF8+#G|`#$V}eB*bD%~j~AT) diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/ocm/client.go b/vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/ocm/client.go similarity index 100% rename from vendor/code.vereign.com/gaiax/tsa/golib/ocm/client.go rename to vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/ocm/client.go diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/ocm/option.go b/vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/ocm/option.go similarity index 100% rename from vendor/code.vereign.com/gaiax/tsa/golib/ocm/option.go rename to vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/ocm/option.go diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/ocm/types.go b/vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/ocm/types.go similarity index 95% rename from vendor/code.vereign.com/gaiax/tsa/golib/ocm/types.go rename to vendor/gitlab.com/gaia-x/data-infrastructure-federation-services/tsa/golib/ocm/types.go index 4cda32299bd08399fc4b8d2047b90032a6f1c1b8..44239dad70dd67ccbcae8e6d64ead67eb0c606bd 100644 GIT binary patch delta 16 YcmZ3<zJPthRVJ2{#FE6xkC=`F05#+Wy8r+H delta 25 hcmZ3$zLI^zRVLnoqSWHlypqI{%>2CK$v2sf0|0{j3a|hG diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go index 2c861b5cd3b974414475d57a9b5dfa1840787211..098ed69f98c1aee3318820de39835ddc02d5cb5b 100644 GIT binary patch delta 1127 zcmX?MJ;i0ib;il{jLIAZMVYyoC7ETLuQ1B8Oy0<%yjg^8F~{a@d=8BD`ubd)`uYkk zsRc!;$%!SYDOL)h#i<G|scDI&IVCRn$)&lec_qFI`9<hrE()1>#U-hUDSBL-j(N$c z#U=Sg3Pq`DIjPAddLfkssa#-_Q&3F;NhlN-q$X#kWu_J@)R$zWD!At>lvEa^DwO0a zq@*V2r+`=mx;d$3sW}RXc_|8csl_F!DGE-({(cH6P!|;|WagFR>nV8VDHJ3Ym1HKD z<|G#BD3oNRf^97=PE1c#NXsu$D9OkyR!GZC%}G(nELJE=EiNg_Oa>VTvMsT`BoS<P zib7(sf>LH)NorAAVsdJAtrEz`O1X&z(I5?Z>9NRidJ3Lt3b3#V0XaRh7;J5EY6-{} z5Hl4@G7?J^5>ef)kery8mtUfgl&Vmgmz!8$RGg8RlbQndje<t1Ub>!w62wL&O&zcj zu!@|_ymW=~%$yvM4@z@N6f*M^67#@zrWO_D7wMroC%-JUs3<cfwHOp23h>wg2ZJ6L zCn8Sj!O;u$0!q}?a&duE1zIWqy8s$TsksFul}PbXS`2a{C_Z87EmhAK9JqQ4A)rV| zO3g?t%girAj)(fx6i|SrBqGHF$Y$cBf-9{wFIhn&C0Rks1)O-C^YcnlD@ruc)2pwB zrb0CrXG*dj!uzH5pwtcazAZ}H^-t44@<ny6CKuKaae>4M2_fQw8Y1<WK|;R}anaDU T!VD5(Ld2!IR&z7Az+PSelq`@6 delta 52 zcmbQ@a>9DUb;ixCOj0aNnI)SQ*^Y2*e#U3dDC(G(oLXFxU!+i!nwFEAT%s3JS&+Ip ITx2gV0PRK+xc~qF diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go index 32fd1427874ed2d3b10e4b6bee7170224eaa1df5..e95cab585fb685c0613f99cf3e3a7b0f1b00fb1b 100644 GIT binary patch delta 686 zcmccD#=NYDdBZX`ro__CE7<rJZQi~@hGp`zwc+*p`U;+D3MCn-3MGj}>8T|O?)eI3 zi8-aI3Yo<Ui3$bznRz9tMGA>|DPToT!Tx><X_=`xDF{`mxdkPaIts<9C152G-6i=T z4i~4szCu-M5zNedh*dCCHS+2+b2Pz*r{w3UmnbAB=Hw`Z=H(_96=x*ofGpEP<tk(( z7AxfCE0iZzDwO1djZe-<%u7!N*#>tl#0hCd`MC<^nI##Sd0^SJ(!Au7%=|nBjr_cv zO0ZB_J=m*>5SPQ8m6(!Jlv-S@sRK5@IA0+X<T8-^V19(DEXh|;%FE1AQphYRPR&Wv zQwYw?ONO{5H@~<<Avr%cH$M*%rfK=0pi}^dm;%Uq^<XQ|0u*edjzW1VI84Djg^bjq zR007Nl95@gkd&H{SeBVzq>!6flAMuR3^pGWy>JO=9JuEzD5d75CFiGP=B4Xr73b$E zDU`xOKD9`pJR=nnY=qJU+y*Z!X+tTmG$%(%Z}RKaO8hygc^bt<$(jnbwh9Ic)sq9~ c>M`eK=1ji0TygTdHCrcdU*WXbcAcUq05E*-U;qFB delta 51 zcmZ41!+fuedBZX`rqaaCE7<rJF;;HgwnBzw^7ZA?lleAmWvraMZH3e1OKZX>`>zz< JEU}SK6aYM~77+jd diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go index c1e20f9489e6e775cef8b20bd9b81c85e530c154..b0ae0e23ff2eb38ea9b1baa921a22c23d6966e56 100644 GIT binary patch delta 280 zcmX@DbyKHaUthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ jg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guv25(USV_#ev delta 9 Qcmcbqb6RUNAEUP@02BBF9RL6T diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go index a15636d0a8c174b052acdf9340a38ba8b3713501..eda417cff8ae69642b09b13a48f37f52907a3533 100644 GIT binary patch delta 309 zcmdm?FhOZU1ABcn7bj<CnnFslUP@|OVrfo^OMY@`ZfaghNM%8)f}*WLUS^I0ND-&L zzJh0(LP<udLQ-*lUI|D#vsfW9Pa!ooDK#Y}HANu>s#PH|F9oa+#jMO?h2qo_h5S5- zRBCd5N~&{xeqKpxMTrhbEKi{*wWPEtkBgHNWLZf@Vu=FC8a<EzL<)yHbwIA<;^eG_ zd&V&@IkmVXzX;t2p~abb=?aN3+04mn*@GwlXV0IU%ONepiLeBwA8zvI`5ZIZ0h~={ Aj{pDw delta 53 zcmbQBv_oM-1G|KpnnFslo?~8eYH>+^k%FSFLSAN$LN(XqOpc7nmpJk!J90`*j^UKt JT**0|9RSjc5h4Hp diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go index 1f7acbcf16b33b1a6d7101ef353bb598a5b4276c..e1fbef9c6c77ececb87d0c1ea7d889c50518d1e5 100644 GIT binary patch delta 312 zcmaFr@Yr>O4kKr3UUGg)W?s6|W=+PoViuhG`U=^pmBk8~xdl0?xv6<23NRIVA*mH5 zzKKP}8HqWmMGA>UsS3GJUW(piM{xyS6qS=x#KYydI60F_({vP4i;5JiY!$L|^`HiT z%+i?bBPyq+qy(1c;^eI5;^O2iN-ZfZ%2OyVDay=C*GMW&)6`MO%gos<B(Z~$qb#vV zp(M4UWOA3JGOBHxH%LBW)C(!9R4B<;NJ&l3Pf0~}cxWEXu|>stT%5^?#i^68Nhz~{ jjr$|zi)!3tA87>vup6UelPXJ6HL_DHH8&Sae_{auxg%`1 delta 27 jcmaFt`qW{A4&!DE##dsST_m?KZuXKs!MIsK?lKDipWX^} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go index 02b9341ffed6efe1fcb723de41386bec569bf55f..f6f3800d404a98e43370c27529065986714e1faf 100644 GIT binary patch delta 21 dcmaD?_@;2f67|hX)p<E4FI89Cd{tkP699I{2_^sl delta 25 hcmaD;_^xon5_QJB$s6^RHXl=e&CZy&d858HCjg@c3lsnV diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go new file mode 100644 index 0000000000000000000000000000000000000000..c40973c8d436c7f3e6ec0fb9fa92740e173d1685 GIT binary patch literal 370 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xGSV$5N-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTSwACm=C7J25>~A*nb&FTbE9Ge56bAtf~}GcUCmY%)YF oF-IXeKQApay|gG1q9!dL5)@9s{(cI{`6;Q%#d=%?n1*oy0C-1ykpKVy literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go index 8a690e37ce311d2ee182d7a8a73ab16f44e8db74..54c76bf746a7e28f118d0e63610f881929f1fa00 100644 GIT binary patch delta 16 Ycmdl!nQ_Nt#tr+`8H+dXSO1|106zN%Q~&?~ delta 14 WcmdlnnQ{AM#tr+`Hy=>{p$Gso?FQih diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go index 5e147373bc23d51caa28810ab7febb3a69bea399..ef5d837c2f82b508d7f0c743c48bd197c7a906f4 100644 GIT binary patch delta 583 zcmcaSn{n=Z#tr-&ljm@nOcvrukx@ugh>lIFEJ;-;&&bS4RVc|w<>J)WR|xTU@t@qo z;XnBvhdd`j<S&QgWJgW|B#}Z+?ak*o%cSZ-x_lF}Qxy^wlJg5H74p+ShA9-KmXsFd zrKTu=Eh)~)OioouN=;5IElyR)EKx63$SN%^QAkuME=__+rWNJqf_0W9=9H!er6#7N z7O5A5osd+TmX=zikeHXEkXfvdmtUe#oS2rXP?E1ul<E$$Mj<l~thF>RH?gQVBQYm6 zMFDJ#9v5eFfr6E-LT+Mqss_ZzItn?dc^XNYnp~V92Wuo3=qMy<PQGX%!U<-UR2HO8 zW>iw$+^W(dQ?IYDP?VaO;#66ZS`20tgS4lYWPm+Ztbong3dJRfMJ1Ve=?aM@V0R^# z78RxDl_=z=r4^@^=qdQ+mw<vCBFhD~0^|+U(8?@UNK~lD8$Jq1A(IOV&!kj^<ovv{ z)S{Bq6ovdEP>f`zrhsfnN=?fzN`*!X$Z45*3W<3NSVAnVG%r~}qpV0lt1K~R@_%Qc O$r_F?HuF0j;RXP-lgMHK delta 132 zcmbO`pYif+#tr-&%=-FVlbtzI#JKeJ6%rMqW0NXNQWeTGGILTDN-|O>ALj5^LXk?$ zOHs(r14$;9D3l~-rxq(D=1sQZbY$kz*PmR?X)t*Ur}kui4wKCfI7_7_ud)<oOxkRy Zx<O{Ll#=-5mrfrhuXW|v{K$DXHvq&VECc`m diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_writer.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_writer.go index a39c4ea4cb812a57e578ac400f41d5e19c464b10..f95a08afd5d7a6eb8e31fadbdb2a902f7dc2aaee 100644 GIT binary patch delta 15 WcmeCn@5|rt!GNhWaq}mGIcxwt8wVNy delta 15 WcmeCn@5|rt!GI~Tbn_>JIcxwt2L~De diff --git a/vendor/go.mongodb.org/mongo-driver/bson/decoder.go b/vendor/go.mongodb.org/mongo-driver/bson/decoder.go index 7f6b7694f9c6400c592715b1b0975f96c7115ec5..6e189fa5899629f38e89d50d215bf75562ebe00c 100644 GIT binary patch delta 737 zcmZpWdMCfZi>026Q(s>pJXN6}wWv6=xI`f(H7&6;r^F>cximL5uf$g&F)syO&_y9X zPoX3uRly}SIX@+}NTDQOp`a+WEH$r0A-^oOsJtk%Br`8vA+0Ds7i_+U7F4CCUT|uO zbADb)YDI}27iUVU7Mg8I`T02@aTH+}1(5J&PnImU^vpDc6g><_R&#N3rs$<4>$#vg zUqh3NvzCh!n=TgxT)JE|G&ir~3Sz3~($`l&H&LNHGbcwO1?+Q$)ZBuSN`(|?U==Hr z7K8i^3YvnV%-qb9%(7HHUxkv&f>b?)kc`Y?g{0Js#Inr%B8ALig`(8rlA_GylGGGX z0H!3CB!X3@C?pnxELO@?&nrnSN=r;mt*%v4$S+b*%1tbY2I<L5kIh7qo6N`~QjhLV z4NZ{$u!NPZLP=3+DpxHR$PzSNE+qTT1?*-$g-Fu9hvWl7zB591Cl24aD8PLO03Oc* AVE_OC delta 17 YcmaDS-ypTYi)Hf{mQ1$IC%Ju@06}C1mH+?% diff --git a/vendor/go.mongodb.org/mongo-driver/bson/doc.go b/vendor/go.mongodb.org/mongo-driver/bson/doc.go index 094be934f094366e5e46248a5198e7eaa7687a13..5e3825a231246555251d3ba10dd37f030558f53e 100644 GIT binary patch delta 14 VcmaFt^u%dHx-?_n=5*;ltN=2z1|t9f delta 12 TcmaFj^w?=by7cA@=|8LhDIx{6 diff --git a/vendor/go.mongodb.org/mongo-driver/bson/marshal.go b/vendor/go.mongodb.org/mongo-driver/bson/marshal.go index 79f038581e0a39b2a57f0ac535e0d5ba7407d6ce..db8d8ee92b5ef0ae73d578e19364217d119c948f 100644 GIT binary patch delta 172 zcmbQ?{nTf}X5|=teFe|Fl+?Tu*NPIaV1GY_^30qZg@U5gw9E>H#Jm)ROt7p%Nk*zd zK~a8LW=d*`LTW`xY95FI)=^xP3|5&~P>>4JP@+(huaHt)qBnVya`WV83WBU)8z%pe u)zK->EXhzvO-#;E$jQu0RRD7#mZhd}>Fa~df!LUuGC4s?bhC#_03!f)5I!CN delta 16 XcmaFrGsAnsX64BODovZ2RFfG2KC%WP diff --git a/vendor/go.mongodb.org/mongo-driver/bson/registry.go b/vendor/go.mongodb.org/mongo-driver/bson/registry.go index 09062d20854e9948d1ee29096fbc64a45aab8eb9..16d7573e7536519e2b2c33f980c15de45d0be6fe 100644 GIT binary patch delta 15 Wcmey${*`@0Bok9|{^n?=S&RTOG6jPG delta 15 Wcmey${*`@0BokA9^5$r!S&RTOJ_UmS diff --git a/vendor/go.mongodb.org/mongo-driver/bson/unmarshal.go b/vendor/go.mongodb.org/mongo-driver/bson/unmarshal.go index 6f9ca04d3ce8874bad32ce87f84b0c43b7b7b733..f936ba1836354938f3da3b35ca6e51b54cc83ed8 100644 GIT binary patch delta 16 Xcmca2cSUYP4D)0eCgsib%vZSqHl_vL delta 15 Wcmca2cSUYP3^P+^$>uobZ`=SfECuKQ diff --git a/vendor/go.mongodb.org/mongo-driver/event/monitoring.go b/vendor/go.mongodb.org/mongo-driver/event/monitoring.go index d95deef01e903f74e1a5c9f8ba9decafd10e4044..ac05e401cca57c2914e6a2500868f93cba40b3af 100644 GIT binary patch delta 115 zcmbPYJ=JEzV@^fRpwz_T{5;p9qWmHSWMHeHlnN4@{E*XnvMZM!cR+rAPEcxMN~MCr y<Nz*7Rxo?A4|nY3BCg=cGF+Nm?x`igC5c5PsVS4sbIGy8*oU}!Hm~G<EeHTG^(F=Y delta 42 zcmbPgGsSwtV@^iR$*(yyCmV3_Pj=(hoNUjfH~9-!(By^Oos(y9MQ_&Pc`XP4Mw1UI diff --git a/vendor/go.mongodb.org/mongo-driver/internal/csfle_util.go b/vendor/go.mongodb.org/mongo-driver/internal/csfle_util.go new file mode 100644 index 0000000000000000000000000000000000000000..635d8e3538f2c82f209c3e526e3b0d8d41df39ac GIT binary patch literal 1206 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xGSV$5N-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTZf(keHmEn4YSTnOBlpl$V&p#g&;`kY7}ypuxqdl$Kkf z#Kpy_l%B7b3ksx^B(O<fwr)yMW?5>HeuaKgaef|zOwKP#RpQd*;!4iXD+U|knwMNu zSx}Oi;tUEd=lq<U)Z`LSI4OXDt%6c&a<UQ^CtO)@Nn%MVHf6;q%AE6a3lhNwA*ltM zmY)oEfWE$hduj<TWBn3yQx%F*OG=CKiot=G3Uj7HF~|W5$q0w$fz&1z7w0EuCYGe8 zKw>5(u_O^;GsrkSuC&s;WI~o|q^3Cq`}-+?f(#T`dM^3NrManjB{~Y2Mk*AS6lLb6 z>p<LuunsD&sh|N<kXlrfU!<u}&Bd9PnVORVa*u+QErvdA1to+jN?e>}i8(q7sYOK~ zwGfBt`Q+zkmln7d6=}dt(&XaIOam)Zv{lH<%mG=0Bm(z}Yf+JFPAbSVe)%PC`K5U& zV3nMZa8^)K0^7yK$yv+A$*Hfe5Cjf?g_P8^#L}D+1yDHaadC1&`7l2yrRG&6=jX)h zDJf`U3nOg>C9o7Y-Vnay;)L0YWS$Pl`COc}TwI)J%0ag2DCB2@LZU1&M=uy0@?nWN zrK$ej8juiB%+CgU2+2Qbxg~n8ps-KVP)e;RNKFPM5J;pbq~#YWsH>K#>nNn>mslyN hmMQ5dz{6BW0c1-^WkISY$UQK(Vs%wsW)4>^7XS!Tl2!l! literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/internal/csot_util.go b/vendor/go.mongodb.org/mongo-driver/internal/csot_util.go new file mode 100644 index 0000000000000000000000000000000000000000..ea07637bc545e5609e85aca08d1db579ed8c0f8a GIT binary patch literal 1151 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xGSV$5N-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTZf(keHmEn4YSTnOBlpl$V&p#g&;`kY7}ypuxqdl$@Ve zl3G!s#Koypl9`*T#HGo_RZ>}yssQ5UmzH>^Rw@*i6qP2IRM&EWoaCFBof?vvo0?x* z;tbKNP?TCyT9j9;kf@NCTCM;!5#m4RoXpg`65Zg;lvD-(g4CkK5>N<2^($yN2m6O; zDx{?*mXsEy>ZT`_q^2k&rDi0SW#$)wEKAHwQAkvPDKAbfQ7Fj=2Sq_*F(|S!^Auc4 zA%^NH1gDmiWagzKX~@r0NK`1!%uCNnRmg|io>{B_ilXAu0#GQVrYJzdx}Y>ECo@^W zF~Ad+CPMsO{59PDU4lHrT!VCtj7=;w6~a?N(X5b^s*sqJlL~T9QEF~}87#I-^OC_n z%m>9V$agqAr;wDIoS&Oo4Dt-fqadpkQc}|rOLI!#A)v>VR+^WrfEnT%$t4xAaMpvy zf)2<nph(k$g@~qt1~e`ZYTyE(B$(q?nwPApP|d}uudm>rms1H%wy6r3!K;u6ieHfV z`K2Wa`FS9RD?qJQ$V^knECHJW4%<B4s??%<Juc2<xGf4+whAE6XlN=_*K%=Yrh#0m zXsciVvYj)zq(VmlNwF>5bK#jK8PMnlc^c$NO)kz_E>1|ALs1u&m{XbxRRu|)-l>(< zwK@tVMWv~l$QE$bazTRDvlwbP)F&X_a5JG|nhHtz`8gnW!t5-m(1X|o4Gyq1nhJ`x L3VE41T(w*PO9zHq literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/internal/error.go b/vendor/go.mongodb.org/mongo-driver/internal/error.go index 6a105af4ffcc02562479cf445137e007b0e1154c..1fec3f1835ae395f25215dae9d63e96e4e564a1d 100644 GIT binary patch delta 47 zcmbOra$01A0M}$6P6_4Eyz-*N0u4=t)S{yNB86%$&Z5+k(xN<tRK3i+ywoDDS}p)= CwhuP| delta 7 OcmX>tGC^d602crYW&%zC diff --git a/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/bits.go b/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/bits.go new file mode 100644 index 0000000000000000000000000000000000000000..44790091447acbfb93760d0575faf14c688759a3 GIT binary patch literal 1046 zcmdPbS8&cR$V^R9NGr<ERmdnQDJZtm*H13i%P&aHE6y)1N>0^F&(BZKN!3r!2O({J zOB1sslcdDNG&55p!xU2^LrWtIQv-t}qa;&v6C=xHLla92Q<GG4tKy<${oKTo4E?0c zl48B|d@e4Cb(KY#=@}&oMh1rF3LzP(3hwy|j-@3T`9;Ng3XVBB3SjACg`(8r)S|M~ z6g`l((Bf2u{4|A<jLc#Mh_e)u^HWk4GK&?`^UG3;@={Y2k}4Gv6`X=ybc;(Wb5cRN zax#-s^NLdyN-`2l6p|D36p~UE((+65QWP@t6iPBu6?{CMUHyVx71A<uQuVmF3KEmE z6Vp=_iW2iuz^-*nNij1~C`v6UEy^nf>nJYGRVdFa$xuj6EGnu5xv4@&p;93+F9jlE zr2tZ4t5Bh!tx&0;4G{!;0pwMPrp&y8(h`N-(&7@3gA5e%ixdp474l0mQj5wn!Ol%p zNJ`B}EX&L<0{O5sFC{fCGY=XRaC7`iOBC`;OF(9Uf}u3AC^4@jH8n+{Bp+d}9#>jv zUa|t%BN`y5>Oh>NP@0)nVrHVLpix|!3l#$y2otX6;;c+ou(CyXf{PQ$XUSZgnQ36J z+9*^g)YK?cCM(z|R4P<+adLt^2{Ox8!H|oymWvY-eq6QSAoVTHK?_ntBMaT6%o2ry zqWqN7<Pvb0f&;YDN<kwdQ%4~uUsC}TqFM@-pjZV5KPdKK8bIkwU7@s~Ahk##BQYlp z8eys6XwJw4n*~yzlV6@%1Tq0bQBFQIoWQOFhZ7=zAWneutGPIn^Ye;J6mk=bvyF`u zY!wV`Y>bT*bV0tYFaU*Fg@PJXmW#8(5F%n{r(kTv#aRhfP>H0V60D$70ji)Jtf0a` zK}(_1fQz#PtlLnl(m+95q1?dE4rE9<SW5|#A>~FObtP~^3>CC(6(EKfa&cy4g2K;G XtI`l;h!Kb|gqW0*50U}dg%nKyy{tL7 literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/exp.go b/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/exp.go new file mode 100644 index 0000000000000000000000000000000000000000..859e4e0e4273efc073f3ae84a4f1e51fd8ff1fd5 GIT binary patch literal 11295 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 aDF&8i=0;}Fy4=9Pzyy@}OpMJzGid-HlN)dV literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/normal.go b/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/normal.go new file mode 100644 index 0000000000000000000000000000000000000000..8c74a358deb1ea97038072f009079a862c78266a GIT binary patch literal 6551 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 Y3=B+7O)M;-t}`$)GXvF9Mxfpo0D^TBHUIzs literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rand.go b/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rand.go new file mode 100644 index 0000000000000000000000000000000000000000..ffd0509bd53b4a9861ff6fd48764d97990f5705d GIT binary patch literal 12352 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 literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rng.go b/vendor/go.mongodb.org/mongo-driver/internal/randutil/rand/rng.go new file mode 100644 index 0000000000000000000000000000000000000000..f04f9879891cd0314cef8800bcc4b1c88ba9c983 GIT binary patch literal 2753 zcmdPbS8&cR$V^R9NGr<ERmdnQDJZtm*H13i%P&aHE6y)1N>0^F&(BZKN!3r!*RRk| zttimf);BUSF}6rGH8e0XPE0dSN=r6ONwP>xO))V}HZ(RdvM@AHwMb4&PO&OV%uCTP z%1hTv&*$QTSXNn-nVwOiU}Ruut`L%us^Ffl;8<FckzZ7-r{I{AqX3pJRwzm>PAw`+ zP0<5s3oTAn$WK!!$;d2LfH+DaIX@*;A+uN^J-;lqC@(cdA*oU!QNbzLMYp)5GA9+J zD<?BKHLo~Tp(G=*L?JmbPa!E)AuYc&FGV3UPoX3uRl+0`%DRUs`iCsmJ&s~|Bs zJ25>~0pw^duFTwm{Gt*C4K7Zl)V$>Ul+3(z{iMvi#G*<iE>5M)d=QzNSdyWilvz@& z#H9)LUx2fFFgVaaPD{*F$jmLsNzF~oD@iQL%+CY)AyL81L^mn3M4=$HD7UmEHANvg zKQFzgG&QdzGcgC`?DW*U)S|?a{33<KVuh5{v`moiGV{3f^||!*IRl*CtrQ#;+!Av$ zb1Fdw27~QTa7!#MQ3x(bOitBxO-sv6&P>fKQ3wXvTU?TvoS2hSso<WUp8_(%F(*C0 zD6=FZw^$)9zeph{F)t-QSHZ6|Hz~D9!5w0IW<JP5PT$m=%;Mri1y?-<|3?io{Zcb? za�t5{t@GD;0c8Q&JS1^K)`i(?Q|Q2}(Uy`ugSN<$49l>AIj`%+J-!FG|-hNJ-N# z$<Hm;&CdgwpbL^t1N%U?%uvt3NUtCz4dOp=l0bw&Mrsi_mO-(F98L-dB>~Rv3K79R z3PC{%hDH|pW+n<6KF;o%ppZ-ic@QbSi}TY;$`gxH6%xx5GjkG?a#9r%OTdX9yR*S* z&$C1!Be571U77hQ3Py2;MivU?nI#z@+Y~@?4~m51lEji!9fg9T{FKt<%)E41B$p-T zl%^I#%qdm?s{*BrqSOLV`pyGIe^RAFNqN3PX=YxDnTbMqeo;!X9#=_aL8<~GF%_2- zl_r-cRC96W<d-Wz)pBuWWTt1pIJI0{$@zK3-~^kSSP`0;S7L0WV5^{Es9<BGU~HtR zpsQfW#l@Lhnp2Wlkdv8Oq+qLHVs2n$W@KV+W?^n=Vq|D!XklVuXkubyU~Xb*Xklz_ zYGiC`WD3^g0kTU$LBUo5$pkw)1v3+{v=7K#=+bHmP?wmQaB*>F<|P+_^MZn{f}x?g zv8B1GrIDezp{bFXp`o#nnT4sTg{85Hp`oRLfr*iUrHO?(SQFG{TLpvxP<u1;lA-n@ zOQPDUudfi|@8WNz04hUDGE$3E?Lnqyf^u7C6*v@(Oiay<3`{L8EDcP}j15iAObkto zP0cOLjZDmp&5X<}%q&d|EG;40psrB>*@!R%?x4&PsEg1PAUg_DR0OA{rYMvarxt^Y zqJpCQvdom!6oq1tFgV#Ll;kU9=E3X$t3ssul6-|kg_P8i)S}$Xyi8CQhomk&uC&s; zWCe|a<a7lscmmQ?0NJJiHXD-AG(m}}AURzRl%Q<EwsLWT_~0}J5m11KT{x%&%`AqL z&GuZi;Ia;s#LP?-ic(8Ti}H#U5)}%HQ%h6wq4^$`14{FXGt(g@SV?MnD!5QfgeF>C zj)j=4p$Sz6b1F39RcdHLoSK-D0%GdxD@6DQDS#cGn3tje@{ySdBx{!Br>B-=fNaf6 zQ7Fm><x+?zK-C3UhZ#g+ei|(NI3XSa3+n}ewfLl_m6(};!c-5WCk_-&Ir-%}3c8tj zC2(OoJ5viyO;F%qj{>lBL4GMqEK*2LEGnvm`VZn8uz?U^TLs6I6sUz@;Y@Hs*HJKl z`W)m69ff!WWQ7p1%)De!3e|yFfX6k6zyvudBU48qCttzJR>8M42ifM_(j1@sa!pWK zqo8f80P;D=A_Xl_G2oM5jw}HRc(6Fg1#nL(*ec}YLwI1Fwh9@Upg_{sSMW_ND$YpE zaRS$>@Pq^^>me1b0=%4rSDzrs<kF%dQ0)dOPQmShR78b<D^a0XrlF~z5gnUU2`aQx zi;D7#!1)0bF-fIq3ekpUU^y;Mh&%M0GSgl2QZf_s^a4stps6#dG%ec7B31_;CYl75 zTUbGr=YWG0me4>3#p)>JW#&M`B{VM=C1i?IOCY5Lb{~TZ3Q)K}WZ_|!3U245B$g!N z3KBGXG(c(<Ai<)k01g&V+Q>{($VtruOKK|EC>WZ71Yx-(GhffOs3<fqwW1(3xg<5k q)!&VavlbHFp!8s?fDwey@B>*EZDAFQl%y31sJ5~IsfGp{B)9;+Qg8<V literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/internal/randutil/randutil.go b/vendor/go.mongodb.org/mongo-driver/internal/randutil/randutil.go index 631f95320e1970435bb0bf5a154ef7deeaa4cec6..961607432127c64b6358c179cdc6e7d5a8ac6104 100644 GIT binary patch literal 1378 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xGSV$5N-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTSwACm=C7J25>~p(rsgrL-h7N1>o7zbrE)wHV}}-26PS zM1HP9UTJPpYLNm+NoGlAYOx+y0h&%OuFTwm{Gt*C4KB`PkZ}r1$wid~CHeXwjuIEA zQd({ah|0`Y;^N}00EsFnrRVGAf}$WL3G7ZVTQ{XBvn;hpKQpf+wJ0w!2W$YyW-vpE zOB3vJztnP{{N(J^l%T}C6osPHlG38QVueJ7ywq|9r3(GjiUNpog@WSL(v*B%kbMY` zq^IVk7A2PC7bz5{rlzE(Kmt7x6eJK=rxzs_WMn2M=HyiB7N;hc7D2)YZUQKID0r4A zWELwFC#Iz;l;ne>HmxW>S0T4FrzEo=CsiRmzbL=7Br^{bUTLLy$qFcr*3eYY0tbU0 z*bCKMoMnkc-~bOUN>;E1`9uRE5AkSlerZv1swNjF$Sc7`$$G)5sVN!|=YpA<AUSYA zC_wc2rIu?z6>D<Uf`bjA94X8|YVvaxN;C6H%uE!DQWH}Yz#ajoWrz-FU_w<wlLI^y z^&mk33O-P*<$*%9BwryZ6%;5bpuhnIGc+o2m{AN$zOYo4nU`6TnV6GVl~|IQp9eO+ zATcj9xfpCknnGrYLTX-eekmx46e}d=RVt(w73CKd>v4g@8RBM0puoHZ4c{b%Xp7jS z%92zr&UhV=E(I%Fh0J`tpwz?^x6+&(4RGQGb5o0S6q2H?Vl}xqGt<CI6>SyrGIJEF zxi~q&&e2HAEzxrY*_@`Kl$My8lM41MI0P*eK(-V^LNZYy201&#C_yc-Qcx{Z0y_f~ zd9_?zoRE~PpaF>tjihLUSWN{R8wCSRg&HJLLx`vas;Ch})X)r7*cc*gWTL51!^O#o gFxvzoVQhq|-V`Eif@Y@~R2a=tbBM6187Peb0N_2twg3PC literal 1702 zcmdPbR|rT<&Q45ERVYf#ODQeM%uy&P$}h`INi9}L&d<%w&jU;3=PKlt<|d^UDS(t@ zmSm<D>v0vJ>Ez<d%q_?-DpAnj;#A5_EXmLZnW@CZsZ?B<m#oC4$;G9wui&WQlb@WO zni7<lm!eQ!lvq%#kf?y9Tn{V(lFTetC{9dERVc|<C@oG^NGr<ERmd&PDakCzNmWSC zFUl`1$;<;eq@=PS71`9{lA_Y&5`}6m&fHQ3kllK|r6s8qT%1J;3R)mHf$iX`1-r*D zwH(PoMX4pFMR_16<)xM*n^}^PSORiJF)TdF5_3vZiy^KmE=mTuGCegfwJ5P9RUyA5 zBee*s5aefwT0I5N5(T0?l~$UUtbpP;4Ujcp=LhGP7A2=@Drh0Oyqb#>;&=r$glIJv zC#Sx?f@gYOei10lic^yn$`gz7GV{_EltPPB74p**%2N}wp>BmmGSnmaMG6}5cvQ&D zD=tY*Oi{>BgBY4zR9R4x4~}C^B|U}kRE5mElGMDC%>2B>oSaHfU@0Uj6cneHrsV5_ zoQ+6CaP##*MrkQ1=jDT3=5AtOqM)VE#mQM@1$L31UurqX*P1$9oVC#S3Ie$SYCvkS zLQZO)Mu8?+b$+fwQe{bMu>vUZlow@!m?ashxgdAtD-?i(KQX5~v9eeJ5>jy8APtEM zd6_w&$Vx3L$}iI60*AjwP7!h-Ybt<j*C<ekjs@AIsi2XWSE8c;)}aYXZ#hMJxutrb z@Ym4f;>-g}DOlMm<P_-@=|S{ra&babh34htCuf7yL0qE%Q4aN{XI@Dj%$Yh0i6Bpb z{Gp?esF0VRr<<3Wo>-DumWn-mGxHQmGEx;X5_8gY^9xe*Ksr;4$`W%Fq78KNG(jN& z@@YY0US@K!LS~vmo`Q|7f&ng1gWRG4HbfI-5~fEh;C_TC#qGxmsP}?1O4HJE(43!H zm0ApTcz#hzY7r=HrskyPrskCt>nY@cat_E-&~hk0O#vYZHx1??kni#oY!nRi6pG6e z3%~@#XqYC2^30M9h0MH^)QZ$%g-mdo$<pJ}*9U3!%P&b)0Oxp^$)Ko$7yyb~Na>}c zP@Jz&4E6{pKjkDArKc(+=jY_4CWA6Tu|jTQr9xs#S!z*nYEGp>Vp>{iatWkt09lfp zpO;)(RFs-mqL7@JlT)mx;F+e7o0wOrfFuL6ACy9&c?evXK(r_%7Nsf_r52WE7Nw@> zfb<n-f<mseI5RIDWCtj~(sS~Y5_3?BSeU7>ES;2^oCqpnGoeLXZfSCcLN2(-C`!yL z%}Fd$00ls1UOKKM0yPnmN_4>CtpLhF8ksr@S)fFti6wu4a|K){L>Fe#spSFyf3Q4; diff --git a/vendor/go.mongodb.org/mongo-driver/internal/string_util.go b/vendor/go.mongodb.org/mongo-driver/internal/string_util.go index db1e1890e52c53c2eee992f3d62fa7614150fe7e..6cafa791dbe05808615d494db9641e0ccda8c423 100644 GIT binary patch delta 55 zcmbQlvxa8_6RUP{Nl~$am90W<Vs@%VbZl`+QD$Dcj)H-XLQZO)Mq*J>Vr5ujPHAef KrsiZ}*8c$YL=uYt delta 29 kcmZ3(Gl^#d6RTiZVv#~|Nl~#vbZl`+QD$EHWL?((0Fn9%hX4Qo diff --git a/vendor/go.mongodb.org/mongo-driver/internal/uuid/uuid.go b/vendor/go.mongodb.org/mongo-driver/internal/uuid/uuid.go new file mode 100644 index 0000000000000000000000000000000000000000..78f16645d7ef1c28a09dcd576470b4b344307778 GIT binary patch literal 1533 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xG}kRCN-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTZf(keHmEn4YRoTAG={#g&;`kY7}ypuxqdl$o!@#l@+V zp0Ae+3ZIlDupwZ!Zc0&RS!$7fW?o5ZQC?z>eo<mxN@+=EjuMw97szFyp`I=ZMXAtG zELKQV0Ey^vl~fj_f|&}@hGwxzl_jZQ<&Fx)`K3k4sS24er3&e(d8tK-CHbJhPApL< zN=-~DRsdO(pQ})om{XcstdLfepR16lkeRO+l$w~5S_FzL1<w+N;*9*#oD_wmRE6Ti zv{Z$Xd~kS!Rp*xGlw=m<q$;H67v-0hWagz7LmdTmKygV?X>y4|H5Vt;F1YDjwP2^_ zrIsrcrIwTy<$;_ERRr=}nF%D$K%OcFyBFd>P*Q*xt`7G=UTJPpY7xSZdR%FxdC3YI z#R^&wrJ4$PspT4)3K}4jbre#Iit>vzL9QxGECR<AI1srw<H2$YR<^KEa4XHp(J0n~ zxJw7DG}<awlZ!Jm4P=UfqOC$+W)8?CPKYnS236OB&Eev#<>CaTgJ`o@1zQCT7*kEb zpu!+cQ=vw|pu)sJL0=!9*iE47EfDH0ViiE@jiKr-AnFr~G86MkK=Es6zy-4!WWEl_ zJ&3RkhNJ_C+dv@<2@i#mj6`s@0SOfpr<SJV>q7jffF72hd{mSQO^*uD)D24-nZ*jA zG@F-_ngU7}NvWWu0cK|AWtL<n=44iZa%L(_pKf|ieo|r%IFK-+D=)Pi;#>_)SiFG( z7UFgVHHgcrxj3Oo$qJl&LAgZFFSXn!KRG)!B`7g3MMF~u6!4Jb1+foeEGV=R(OrV- zc~J5|b{8mlpcr8bN=OjnG$2{i4|f9A1LdC5;#5!|LrhUXwGL}oLxUQW?GsC2&Q*Yi zXJScaejX_NK?*>YL$fES97GC#Xns#sNG_@@D9KMRN-W68Ois+nsnjh_O)f1;1&3aK cE;uTRp&7;xdnSR#0K^Lr&+CEn6IU%40KTOD3IG5A literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/address/addr.go b/vendor/go.mongodb.org/mongo-driver/mongo/address/addr.go index 5655b3462fdd73437a95d2b5af429cdba2df0dcb..fb6abbcd7ca6c229912c33aaa1feaedc45590c94 100644 GIT binary patch delta 89 zcmey$d5CKRAES@HzCu7^a&}^RszPE)N>OTYu|h#nepzNpYOz9bNl|HXNoi4Pib7Fp mK~ZXPYF<fVNoIatu|j^DLSAY~d45qgOj~NP-ez9L7t8?2jUi+J delta 12 TcmX@a^_6o2ALHg|#^=lcARGjP diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/batch_cursor.go b/vendor/go.mongodb.org/mongo-driver/mongo/batch_cursor.go index 0b7432f408ac3153e382f2893dcd6bf939923a26..966e43cdafb4cd6ff990fd0f3af1842b43efd594 100644 GIT binary patch delta 280 zcmZ3_wU?(}UthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ jg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guv27Oil;DB3p delta 9 QcmdnXvz}`+AEQ1i01z+&c>n+a diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write.go b/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write.go index fb5c91a126e29abc9261b78b213201a16cfd0d39..2c58f222947c5da4549ff5341522b22ff4abd5aa 100644 GIT binary patch delta 805 zcmexTzP*8QLnO0Ga(-@ZYF>!~2FT1SNi9lCOirz?-5k#B!>G!clZr(dNFS2Y$%dAa zn|HHpWoIi&E!Oknn!M0dbn_&h21Zsef3qCl3PwFJlZ%rxDX}CuBPg|4&o@6MGc7YU z#W}w;uSCIC0jvNfxS2_yn3Y{GBr`WPzjQLAsJK=Mm|3F9#hIC=kW{V*^Mj(TLSAN$ zLNymBCsb&%jIPAwjS^x~I!Nkt6iSLpQ*{)Sz=|gO=_(rK7w8407MJFfXlUvvq!tx% zadOsjadPGt=s82eM+2-j4`gR8*xJbpMP(*ispoBG5nIPfTi3ah?z*IMJy2{R1xQY6 z$>dmBWl&%Ug99TcwFDjzIjNKVbrmMRQQ?{#EzUFftt5{i$ny%e3i$<kKB*-dAl?5& b?Ki)b{=_wGJgbDmlTzw0*fulkedGlIV*dJC delta 135 zcmdnq!1$$nLnQO&dS)-i$%~XEHnX#CWuNRPz{XaTTCC@%x%nW^G)A7xyb?1L4X8*A z-wITb$(#Z*B1lSn^HVa@GE-ADHya5QvrdlH?w_oxZMoT7yp(mafVlPMX>y;qz>GNU M7i^ndjXv=L0M+j-z5oCK diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write_models.go b/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write_models.go index b4b8e3ef8cec9313e5a05a34936a0731fa4efca9..64f45891895671ccef913367c536fbb340fe59ef 100644 GIT binary patch delta 93 zcmZ3Jv?FQ59tn~1@^Zc0{Jix1lq9|6{9OH%{N&=vbxJCmKS<PZVwK%orxePCRc3OX LlKW;YT_zR)#El~O delta 85 zcmdmyv?gi89tnYz{N!T2-2A-s{FEfU<ow*t7bF&OVu((@Afd8(m69PBR+-7Gl$1A{ I=`yhZ0JPj7Hvj+t diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go b/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go index f2a194d77527810ecbd3ea2f59f74d6e9190020c..01da999c02d8f589ce578a699c452e0e85c66118 100644 GIT binary patch delta 2886 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 adK94Q^D=WLH>%2Po?@_qadV)NnG^t=cH@cw delta 359 zcmZqQ$k;xUal?Pc&FV~C90Do%$;EoP`FZL2DM@<C`MH~2x!4&e`*EvCN5>`==jSEo z7p3aC<R_QrrskD!aVD1*73UXC-ovdm`31Mi<PvUC?xNJ<(%jUL{Or`c$p$>q+^I!H z`9)lu#i_-`lcRVvC;#LXpDf6yJozw>)a3g-I+J;MwI*Bgs%(zu&19SWSh#v}u;~BI zf2G(s<Vz}a6q1Ye$}@{n!%~ZiGxPH_xwtqvlZ*WeN?h`jCyN>>Z_ZSn$GEvny`PJV zGr8C$KRF~dw_viUk=kSvE1}6B6uBn<HR9SFZDheDh~fIlYfY|Ajxx8L{L4&j@@EU7 z$=$Ntli!(dVCCZEtmT@lU@0}Zz(`>7RSUz(zOtN?7hA4Flj*Q}I9bRhMu>~EmWzwC hD7B=tC{Ljv2jnzCUzyD-ZB{T&R#Ft*9B5}I1pq?bdbR)n diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/change_stream_deployment.go b/vendor/go.mongodb.org/mongo-driver/mongo/change_stream_deployment.go index 36c6e2547a6eb01f40f90edd1a966feb5f81cb78..9c61123c36093f466f5cb19754ce75b83539d824 100644 GIT binary patch delta 35 ocmaFNwS#-Zd=}QAkPu6Q$$l&<oM4uQCRgp`i%iOs=d&CE0Ljq{JOBUy delta 11 TcmdnN{g`XRe3r>ySdIVyA3g<B diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/client.go b/vendor/go.mongodb.org/mongo-driver/mongo/client.go index 63630ebe2d81ad9e353e47ba93848b90b523b734..d409135a7705caa6c208a22f0b49f4b628cf9765 100644 GIT binary patch delta 4638 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 delta 838 zcmeBM#dN)cX~R#(&1y{jjFZh+R!_EJ(d8>G%}i0^(&XYw&d)0@nf%aAOhUm{!O&De zOQ9q)H&xF!GbbmrI5jyxFJ-ek>jIX^>|AD(?YN{TM{&uEYvm>vRTh*u=VYelm2h!_ zIc`3#lc#fOO+LgW&8`KJ*(|`VAiMd2#!=4A#>PzYo1=rCvkD~ZmE;%X=j5kX`WKXB z=I2em@257oI3juSkBD4hg~YrRh49RhjNqU!-^2=!{Nj?yJ&{(E??g&UD%8{{<fP_l zAZahwRIpPpnJgRiWb*uI(aA~CeUs-!i;LvvrRRg)lmc;wn~$r;<bni+$rqv(I5>+^ zOG=CK6eeGc6#)q{YEDit65XsF*T6P8ppaA47pv~tLRH7qqN4mFg=#L&vcw{V)FLp> zFXG}%*2_icar1H20ZZB{<fWGTf}H_zg+~75wiMOL0fj=7YYSCb!KO|AoAP(^{b0_? z9BJ~C`_t<u3um~hCFkd*Wu})Fr7GluL#P;HV^U>7VsWuTQht687iVVL<aLEgJk?yB zoKSJw$-UXKjJ2EJ7FshZf?~(NprlyA%2q)wr6{v3wMfqyDwvs{S6n^0w75&jJGVHX zD8DQ-CAFy7N&yD4kwho|F7~$O3{K8S%}w-8EI=qyP*4DS4KAg_#aYV*3Jb6>EEFai z77L4kML@36<bnl$YEjW-kCFunilAhu=UP~rn4?jgT3oCL2`Wz)9ff4Q%oNSde@i4- zCjXzHKDoZhWO8Apw?ImMaxo;lQ<C(O^K&;}sI+F?ELZ=S8AEFFg-Z9$G0i<plPkI+ lHgmTxVcJ~Lb(C?lOm7(@reeDZ(wh(VWn#)~wwrK)1pw-}Fn|C6 diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/client_encryption.go b/vendor/go.mongodb.org/mongo-driver/mongo/client_encryption.go index fe4646b641c2baf1c919df4b9c52db0bc18cdbd9..a9794d60ba15435f3e173de2748af9eabb6d40c6 100644 GIT binary patch literal 12410 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 delta 286 zcmeyBuvB$}H4|5IQDs4ie?dvH!sHE%vXix#_%<(NVq}@@%~8p!qmWuuH2DaJHivg= zrCXkrg2H5WPNfh9h2+d4J+MaS{G1%mytI5BE>2GG+~R<u{IblH)S_Z5g={1qNH)YL z*f~EhEi>IpK|w(wIW=DoE~3N5Svy&gLu+z8r|4v19y7KQh0MH?{K<LJ>Z0+PDGK>% z3MCn-T>AP7$wjG&C8;Ts&AHSkU*R!hRG7@eYb(R4udh&2l$ckXlUS0fkPq@pNxlNu zeg2b^dEMEd%(c9)Cg0JP+x(L+fr(LJa<riB<e7ptFxeY|$2Kbq_b_ix(wATa0A&$f AKL7v# diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/collection.go b/vendor/go.mongodb.org/mongo-driver/mongo/collection.go index a5aaa35ea3c8556d3864e10f6f8cb599d928e9ee..aa3ffbe9584a158c72bc096f328f0e3f2d52f873 100644 GIT binary patch delta 5348 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 AH~;_u delta 1166 zcmZ4Wfcf|a<_(`2H%l{}6A(zrPcGKW&Cg5EPf5~C&d=TaS162ibB%-m<K~T$Nvx9% z<WFv1u3*KAp>VRGpVVf4wKhiPqSWHaA9SQPe^r0aj8)lWel_*YmO8;)lS9q*HY-^e zGm2#9m6(}m<QM1#r52awlxS$``Dt!Wvg~2PYQSb08&4cY%h;%I-etd$ZL*g8gw1Il zd5q>Tqk~e5_53t-xHvg|^HVa@GE-BW^GowetQ1fbz~nSH|Mgso#rBV<!zT0ie#CIr zW<kF^EKb6ue6paQ<7WL}Bdl7=C%*~1h-t&ca32;7(aDA}H!%eT{j4`f#`-W#J|4e$ z^ST6nOpk27m}JU`O{3Iilaz9%$!pTQCT~g+n#`YmYw~eXq0I|3rm$=d%00j|d38b2 z<g5(Y$t4BilRf71Otvqqg7eQ8@=t!yt}vOWq-Sz)mh9viCEvlc%QEH7n@aWAC)Jj3 z-c>sli#I^2r?!cWW%A-Sm(7#fbFl;rNQrLuahAy<6Y@73O=QKM1}CRZ%LTjK$KdZ| zJ?B}IRc6|N-Cz<gI{A6k#?5N8>=`G^9G2d^VD?4E&Ajte8R5?Nm@m2c_k1C^z-Hxz zmIzMKA`Jv*!{QP+XR_7OO<*frmMKl<TV@7gZ+2OB0W;J=nPhV6H08;uD_=~0xK?I! z_o@Tj*khq`+j7RqwmY&mr|hg{nyh?Hd-I+>Yq6MU7}GHM!5OZ}ng{tNe?Q}g)v(Ex z+l)3JJ|M+BdC!F}ljklJ-P~~LE5y*AlYy9qZvJ>W1bgBDo3!-oI>yZf=N*`kjq1d( rdGmp56R?<a;F{Ftx*LaCCO1nNO}1}Vn0#CM&}6&&oSW;Ot>FX!8VAnp diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go b/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go index 3ec03baf4b2f211d2b8ab6b506e239fd325974a8..d21005fedb1541579febf0ec6779c1e8d157f98c 100644 GIT binary patch delta 1229 zcmccN{v>F_X~xNAj0&5NFy^t<`=ypUmlhT07r7PX=ep!4m*%GCl@u!^7o{eaq!ueA zD&(b>D?n5z6cnZE=Hw@)q^2m8XO?6rlw_nT6cpu`Wr9RfV0v{FQj3c6ixd*`QWT0( z(=&@piYoOKJku2N^5J}i%wmYn`jpfZ9WH%+g{0#AJUy4xw8YY!k|3xqh4Rdt9EGG* zh0@~G6g@6|eUQSCj8p}<T?z$>MTxnoC8<RUxuwM=Ahn4K#W|VDsS5dN2xWQ-AYBmg z+{8+dvb@Y3h5RCg`qbQll1d$gq|y?F#GD+3)SOgE0KkmP%g@uz%goW^N-NDvR=^%w z8VL79$7bf0q!y(mCZ|@{f<pol8afECYk|C)oS%}KtQV9znV(f=@(ot2ATCaQeFf+I zyt34y5`@E{eksXUNK`0JEi6sVOHS1-E~(5(RY<BVNmWQJDoU)><Kiq!ECOjNcB%wL zT68Q(a`HrZ$$DsXR&#N37MEw1Bxfj;C|KEo)aq%JR2HOaDuASt6N^(7@-lO*xHvgE zi&9HUi}FBR9R=5-BEQTWShC>a<OHh(d7whiB|jOgJ|#a{!B(L}&pE%KQbQA_2I7W# zunK*Bh2Wgb^o$aP{DP9q+{~)PlFa-(h2ngL@>KPl9EB`U)Rh*eD)=TA6=x*oI0gIr zfs;>Oeu+YQzCuYxQGRJUB)x$HP9ZljIU_SKwFu;QPELpmK(5jYN-WnX0Xd?Ui<7e~ zvA#$l7h<MsQ4u62xWMWmA*F*XYYRz(P&YUh6r|>*glCpyz*3_IEHUeVf)8duN`5lP zy390WqZDmH!KYBorHB@u2*+@7a@KNj)^bgbWs|8-DatHMEz<K#Eq6*RNzQ;|H<Szs zN@5TzHFdZ^aRkX%R`6s65=|{CvQhwp)S@CCkm=x5<(ZdRl9`y3S(U1g1Tr2Rv|yG` zYF>IthC+QtYEddAkCf)6q!#5=X6B_s)h2@r2Y5~_C`v^u0l-$kOM&G4yb@3Wq64<1 zB%`!gAu*>YH8G`9AtMn~oPh0BNJ>r1FG^KNPRz+ERwxn3SMW=%DA5losszz`T$BBT pB`42jx8JPK;ma&iUS6)3o1d4SpOU1PoS&<olAm0>xrf_F0s!7TryBqO delta 39 vcmaD7bi;kaX~xZ;7}MD{@8b1h7D&lYF4oJ<&r8owNzzNs&)qB`=pz9DQ-=>G diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/database.go b/vendor/go.mongodb.org/mongo-driver/mongo/database.go index 2078733443d9aefb526f8a6a73bbb77b3c324967..57b5417fd36b9d23709652a1d1455c74e972b5d7 100644 GIT binary patch delta 5566 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 GvjYIi(VfEp delta 676 zcmX?moAKaU#toYpC*NlLHrat$Y4aH-O)i0y{N!T2-2A-s{FEfU<ow*toV-?y7^0JH zJ)|}l^1b8OTr0kUkx9XG@)=3R$ps2}^*RbA8L0|MsTql7nfXNunZ*jFc`2!BnR%%x zdR+SY3c&@b$(d=DnR)37jsczuWvNBQnfZAjZhk>YW`16=LS`P=h~)g-+{C;Tg_Qi{ z(%jU%5(O|PH904-2&6hO4_UuLK2(!<P9{igX0bwEeu+YHX+c4LQAuiw-eg7vxygGa z`ME*rGK&?G6N^(PD@xW(w$2dQd`@a73z8qCaQk7hf@Cd7%j9!XT$>#fCvaj7naTgO zgeEH~ifrDiy`2TGiphJm`8FpR9%7knZ+35Uv$--6%4gVwG3w`~R+K1M*(#_d73b$w z=(*%4SJ!fJa;6p)DcC9$r55YCq$cO5q-ucFX>xH+eyA!unLl1aAT=j7S4RP)%*s|F zFSTMatDO&%hUVlzyL2WE&CNUP9x-7$*xy-d^9jdd%w(|H-}x3+7hj(I%|v*zUncwH z?&y7+y<=q=C+Ehk+AI_A&bT=vA&GJG`NZi=le1G4CtGFdPp(N#!mxDnr_|f*09;G* Apa1{> diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/description.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/description.go index 40b1af1361cec88d1fb158b8c737e540f25ac1ad..e750e33b1470787c1565a2353d166a91c96b58df 100644 GIT binary patch delta 109 zcmZ3;+|06pk1<hSUm+kdIXf{uRUsv{IJqdZpd>RtPa!!!uOu-uuUMg^vLLlsAu%sS zA+0no86;P%kd|KrRh*QWm#$Efk*ZK!l30?eke{aDo1d4S@8YD8oKsp{l3G-(H<_1l F3II`|Colj2 delta 11 ScmZo>S;)MBk8yGV<75C7?*oDW diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/server_selector.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/server_selector.go index 753c45b666b9688f41e2818fcf67f2225be58e56..8e810cb9cd40c1e495fd51cbad09e4eb2a9976fb 100644 GIT binary patch delta 15 Wcmez3{l$AjydYCz>E=Yi$szzcAqGPL delta 15 Wcmez3{l$AjydYC);^sub$szzcH3mZf diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/doc.go b/vendor/go.mongodb.org/mongo-driver/mongo/doc.go index 669aa14c9f91673dbf060afaa36afe4f61b3a614..e6e4d9e5f07f52e928ed4952c11c7ad6c83e444b 100644 GIT binary patch delta 796 zcmdmCu*G1*N`d;|g4E>9w9I6MvecsD%>2A!h5R&yoXn)${Jix1<f6)g5-xpxg~Xy% zg`(8L(#)dN6os_>B88O9w6xTs)VvZDeI*&G3hwy|E=8GTsYO;?`uZTfx(FeKGDAHh zJp-6g#R@s~$Toqb4fG5Y@{1HQGSf3si?Ewuiedt~0fvMPus|44UySNmkQ0mvn_viX zCNw~>m;iDi+!K1BKnTf5ElO3$ELKQVC{8T{v6D*E70NT}Q}Yy(6LWGh^U@W9Qp<}H z3w#svDqRvw61`I^70NS9GSJ-zi>92^;$nr8jKn+zLp@VHBd9Hz#R?#Ua}z5Sic*V9 zb4nC4^Au7NOA-~5^NWf~3raHc^T0|2a#9nEQx)7xi&N2T02_yh1BLPod~O68#-*>n znM3de<77c$#mNmKT$?3?rJ3sUixj|#C?1@O6pAwvL5U|PGpQ)Cs1lrr5=%?+a}!H4 zlND0)z=~jw3r<Z{a4ap!cZCc47nBt11*ev{R+JPa`h&eu3^pSl$}Y)QNY2ko%S<mV wN>u=PN;W?YVn5jA6p)9IoHKc!xP(Y~dAS}~EG0=VIX_oFB|o`%@-y)u0M_6VQUCw| delta 818 zcmdmDu)|=(N`d&C%%t4>y!8C!qRN62g|gJ5;>`R!1w%b!Jp+aOB8801^o-OZh0J0u zeSL+Z)WXutqSO?H@{H6xh0@~8ymW<>qRg_?A|#C#$Qt!FzY%)DIQh4T+~%($s!a81 z`9%ter6u{fi6xoI3aNQuTQl?X^b|reGK&=oit>|Fi;ESK6Y~_3QWc6z5{pVwQxtL& z^GXwQaw<V?fEu7%T##6vmztuGRH;yskqUE0W=U~sPMV%VNWMa9USd*CD%duN;>^7C zdL4z-yyDWLRInbHZAqDViA9wPnZ*kEd0>eE#}E&&8DIw}WR`#|hB-n<p|m(v!LhU? z-xcnB|ALat{Jdf-E`5EFQUwKt#MFERD_ezph=d+gc|9nQGxPH_G@;56L7(DZP*M!i zlABl%U0hO>nU@}$nOBlpl$MyBT3uTW)u5oDprC}L%c-&;vA8%G6c|cY3MECQsX9=V zwNN@SHD50{wZyfeq$sf->QD_N6F~NYofDF;P+X9joS9askO+^7&>&9*P^2Mg&;f@L zvLix+Je8ncg+(36RjDZonUDYlTkc;_QV$9xh1|pfg~Vco^3<FhJ&+@VQz7x;oRgWF zR}!3=l8Ojfg~YrR1#A+|MX8A;sotrT3aJ%|xdl0?#R^HOIr-&a*Cywuq$(6cg%gwV zOG_ZB)k2{p1Co@}QWHx`i&8=MgPag;7^?tsMn*|VL9vy-eoB6Fu^!mZDM@<C`MHxH Hi3b4y^JO2| diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/errors.go b/vendor/go.mongodb.org/mongo-driver/mongo/errors.go index 2c3ae15790edd8e214c02609597fd0b3581b156a..33e23573fcb2f91c6f6d6289a84671ba2e25486c 100644 GIT binary patch delta 700 zcmdnp%lLK%<Ax>dQk+4F<yHzHkW`$Xrx%o1u91=oqBJKjU|%VZMY=FmFDSLRAV04- zRdcf|$603i)S@B<TU&*cqRg_?B0bllBA3*}l$^}G)bRY$oD`?c@3<FoZ_X1xz~~M# z4rG@C%rXUieT9&WRE7Ma%=FB>#2kg<)S|M~B84KT4GPKmc_oRNd6{|X3MCn-3aLd! z`9*q@6@^VFYfAHNE|6TuX2ZpaZb*4iW(icSLRwLNE?6s?$$DHM$4nMcSUcHG%5}23 z0{`R*X7YSRsU@XFc?#vJdd~SNsguu0g*YmNgN$<p*<7rUlCO}LUjlQMLQY~*YEH2Z zm%hG2alS%%szPE;d17U;0@Rqa#GK+(y~zp+Vw26KRVE*{7M`rH%Q1Pswg=ckBN>Ou z?{q{ax5_ku`QoyUlMAgaCZD&qpPa48J9(j;;^xx|=b5m@Qfg5VD4I4;RW@Yw2YCg5 zxI%&?IX^EswI~k~jJShlvZAo@<{v8dOjyDeEf`@Tff_-Ou-&6#Guc~TWOJ?h7Y=M* mC{G5bw9UB&dj(ZMUVtP-ut&fIER|@Klz{xIxmnd|8VdkE1?yh` delta 87 zcmaDmgK>8+<Ax>dlMk^k-Q2}-l6mtqo?7nBCKB@*Coj@5n%p2SusK$09oytU#l@S; rRc|tF&ezZZOKq0bvS*rXX=yZ>(^zEl3!N_<n}3<^6x@8reIg401coAa diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/index_view.go b/vendor/go.mongodb.org/mongo-driver/mongo/index_view.go index e8e260f1668577920616109bfcb5055e87bcdb37..a393c7e7c56afbb827904b80bf3615411ae5bc0b 100644 GIT binary patch delta 273 zcmZ2bGq-kw8@ot(dAVM0eqMThN|Ii3ey)B>esb~VFm_uetTL0|iA!zX%W2J`q{qd{ z8IqZsnqOL?ky)mfoS&1Umz<NCnpdJ%0ukQ)o%cB>R#P^=6K~)k#)MpjHbG+4eKJg9 Y!D<uOy>(`Lar<U+otfI^Zp*1G0J=D3L;wH) delta 140 zcmbPRyP#%+8@oVCesZy1Zhl^ReoB&Fa(?dSD0W*W4AIH55>lIwa$2)&R_1%gi6OmN iR-%Dp^8tlc!Oa;)i7c4%cg?P2G4!sP!)6YvsVo2wPcwV~ diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/mongo.go b/vendor/go.mongodb.org/mongo-driver/mongo/mongo.go index 89eec4342710faca05ec49703142c43e5c731a86..80282527e403d5ccf4f63beed64688db2e3f9d74 100644 GIT binary patch delta 35 rcmX?*HYa7nKmN&F%94}$1ynaD2;OF4Rme`QES?-7D!DmQ?70j8^56`v delta 191 zcmbP}av*KPKmN&V0%lQ~3K~hp`FRz3F8Rqi3aLd!`9+!v)m)sJX$mPIk^F20D_e!K z#2h_@I!$YZ{A`dS&Z5+k(xN<&N<HWNf=Ufd9fiEi94^jUF3zOM?{suU$`W&Q6iSLp zQ*{)SQu32ab5rw5CL8E#O2D*2EDuUeOmWFi)=1La{DxnfRiaoSJGHV{At^OIGcPYQ TFI}NLvm`@7U1hVr=vx^8aZ^7D diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/mongocryptd.go b/vendor/go.mongodb.org/mongo-driver/mongo/mongocryptd.go index c36b1d31cd5a75325e6f1ed31178f6a497be9569..016ccef62c9984d0f3b1b4f701093dc29d38db32 100644 GIT binary patch delta 575 zcmbQOdO~BvN@lM7y!8C!qRN7jl*#LubM+Bi=bX&cyb=wtTyREWQEG}$W|CuBVrEWa zQckKuQht7pj>2Sh77b)0LRi`+-()$KkyKfbSX>-fnp#xpn3tGSS)5s{U}dY2Ur<u4 z=Y&O0(N-ZZGe<#9O+gEn8ZIu*++>g;YPkqUPF}-mq?wpksgR$hP?C{aoT`wVpO=zZ zl9``ZtdLlgs!&o?nrg+x$*HfepsO(XKZ}^4LT0f7$Z@GDP~pk@S;V9>i@{12l2Vfs zON&z#knJ#IQ#1kV$L1>n8e_p4OEOXwzyTRw3=T<!oXn)6#G*=&TM`jL3bi}4M4>3P zASW?7wOAoBCkNRr3TdTz$spe)=46&s>P-$|Gd5DFsZqe@vYHx*otTlgxt-0J2`Sn( b@8=L>LE=xo#d98+yN)*jiMv^tuY&~u)6da> delta 182 zcmX@1F<W)RN@mvNqRN7j$(xyTdB7~^oXpg`5{=3JEE-U$MwYh89IQuqbCVUUY!%dU z!OA9^vKdXDz@}iKkYA*bnWm6bS&&#<>{wco@0tfzkeQ#SkXg*d$*HfeP+X9joSBxH znxc@Dnw(f#oT`vnGTD}0aq>QPgUt#Y#!L{KHpg;_u|SxUYx&MYSz-JM5Z2}c{2eR+ D+c!UP diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/aggregateoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/aggregateoptions.go index e1f710fd23ebc2cce038e5006a4615203d427b2d..38ed2490853f1c65f2cc785cc2de6da23c9eea0a 100644 GIT binary patch delta 1409 zcmX@Fb<K2x8l!;*7pGE5W^Sqy7Z;~edcIz6eqMThN|IiFQMx{ut(#JmS(aL)pH!Tm zr^KbXS%+~plSp}aIb3COey)B>esb~V>&zKU_4@i;ocj6-e*Ph@8cC^nS(!zt<(b8r zRtmm}6(O0qsS4$pIXMbRsR}8n1x2aJi6yBi3YmEdi3(|@C8b5F3Pq_osfop@dI}*K zsS3IIMX3tusd=eIi8%@&-T9>@3i$;knfZANxrvn^V@iutQ@}Q6<|$;B6pJbp<Rm7i zDwO0aB<JUq6y@hAlw_n%-pDFipQuornU|iEs*qohT9gPjBRMfop{O)ZAt^NtWK&UU zNoi4DW?s5NVxB^3QBi)89?aPgD~c5|)ARC+Ku%7ByC<_)p*XcfAwLgflR|P%W@=uE z9v3IfzgnQs)pIG`?9bNDIN60&c=I>*H0FA+fzGAHCHc8f9~FZfos_DOn39s30%9ko zrx&HBCzhltq*fFZr4|=w=I7}tc&AqCmL=wtrYaO9W)>AI<fnn{bqe<PQ^-v$P$<sG zFU?6&NX{=RO3eXjF3&8<P)JEF&Mbn46es}e^Yaw)5_40F6%zAO6u{;c>nVhR%q>>P zEiEnqg{^O5QE^6MPGV9{s-6OxTS38}oS&DLlbKwi0Jb78KTkIq#X~w^!y#f||AK7J z&ns3)s*Em3EG~uymTqxoN-D?=nJM6C(NhR0N=-{GQYZyQm;$D`3gsE8MX3q}`NhSV zAh&UGLLCQ6qk6uZqq!@XK?#wj>5xlb9~yDUNfDHmGfRpU3WRYa!))xy5M&y0DN!Ml z=v27*BHwK$&fwG%NbpQ{;FYL{Fcs1=Q*%;CPfQ?Zf+HK6o?szBbW*AZ#TUM`1h)Y* z+L4nJ)M8LlA}J*)LX#-S8dz#XO-++8@+tB|LP;Z80g|F7zvhwRf`}>DDkN{7CAff@ wmoqa>Au(SMB0Twlkf<(%sbGr`=Hle6<>IX6;^KsqEeeV0>HY;J#ay*q01*oBUjP6A delta 103 zcmca+dR}XT8Y7!hNoH=U(&jM6*-Qc{`N_q4x%qkN`6)?y$@#gPSy?ien0*r~Cf9LD zPQJpbviT@`IHN#GMyf(;Zb3<<LUBn^W?uScdCoHC&F^{3nJ2H}lixg3XcyDwpJIK? JlMhOX0suv>B+LK+ diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/autoencryptionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/autoencryptionoptions.go index 89c3c05f16b3360b44160aa6040aca99400db936..375d899918c7785548e80bafd4510133e36964d2 100644 GIT binary patch delta 2782 zcmca+wBBoj7Mn1qYhH3uWkE@5id$xCPD-(FV!`BxtTNJ0l?92##et=%MU{?ui8+<U znZ*hU3R+3|`8k_4*&=!B74nM|a`W@j^W(w#6^b(wi&9e*ax#;O5{oMJxb*e8^z{{j zOA89}i%L>c6kIDxiV_w43raHc^NOLeN?-%P`cp!KJe3r56+$vnA;v;P6+(kN^%NX) za`MZI6^c_!N;31(6%rMaOY4hE@^eA53Z=!VDGDX|3d#AoxutoT$%!SY3gww4844vC zsURmH*`ZKSl%JehT&xGSCM7j3u{5VdA+uNk;*gXiD}DW({N%)(jQrvfD<g9QBLgKJ zh4PHd<P3%K{G#k)xWNkbP~A9eP$(`)EYC|#QAnx;xkJG@Co?s#L{GuDw75heDODj+ zp}3?dGcO$$P7nt`{0s^DV2}Zz5b;a{c^u@!lA_X79jI~jAoCQ;Gjnnj^72a*5=%-_ za|=p9s=ziYBqE0*$dPcbBb)$=Ol%GSTOE*Ck^!<F6d?tPB^i)#F3(8K1N*H$4-^wf zVGA-y!37ee#UOWp+*1klrb1#~3RqiSF|xZ9(u(qP6^bj1OHy+cK$Z{}Kp^+k=Q$Ro z7lRz=oS&NuGCn6WFI6G2D7`c{HLs*t0hD}GQxxD1Cg|R1C0*Ujl$_MyjM9>n{PMhz z%-q!c(vslR<YHSh1Ep9bx8*4$))y5eRx0GDK|NRu@;)e-mB4Wr49*NbnMpyZg{7HA zsVN|bqDLeoO(-N6r6z(h1tc<yQcFsU@)Q#D6jF<d@{1HQ(?AgpG8t@eJS>~lL-H9Y z@q*$%CqFSIHAPRsGfkm1uQ;^?lsiFGNxni_Voq_Y4m1U#*#^=Iw-ICsvZV^BHlkWs z53>=JKA?F4<QTB+NI|85lE}a&!UG36iGgL{zJuD8UzS=_l$nwWO&cK@nZ*jZkQ`JG z3Kp<9D6K)WI*K7Fm3fJ|naK*!5=kK~GbdF+BQ3v3A+;hgw;(4~M<G!`uQ*>vK`$jI zM+X#QdMTATnMq)knmXWoRg#gakdj%Hnp~1!R0#^8l8nR>h2;Fa`jW)VykdpS5^$J< zl%Y5l6cmXHMX5Q7C7ERq_v<KRmO$b-DOI5;wKzYgEHwq8q$D5YBajuKk_MEy;P!%& z8OR2B7WPb2s0RrUvJ#x_Knl|`i;7FYp#`!aIX|}`KQA>8T=apYb23X(ixP97X<0!@ z#Xrc?-P2DAQrN(`pduEkvAiBs@_;>3kdv4UFX%wVCngo==aiN}d<~5qL?D6!4-|GF zA42TT%ZAh&h{6OGXL<_3up&QC0p?kd6$Od)B^e4SnZ=1oIjO~<fKz~_L1<|Li}m8v z#G>R3u-Cycm54A1EC`CI;)2xV%(P69CrV2|hJma=NlP%(k`wblStcn}!48uCapbEa z)Le|5A0Xxa<b{H&o0kiPF$)E!mY`L^lf8I!>e0k}6AKhl@{_@38>pyJz#^Yn3@M{Q zNgP~pg8~PpFf%_7tPh(6C=4?56aq?<ax#+@LQ<16^71p26LS;-ic-rmQ_J-fu<9z# z$S=)F0cVq>REX7?d7vsbr8F5_pn*!|%wmP&(xj}^WN_V-l$e}do>-JptdLZcnwSkr z1IZbQdFiQ>8->(GFj^uSscDn<3Ym#vNGRAUq^3>&$S36ib{V{d0*lFFP`O`{ky-@G z)u0$F1T|z75@9VFsMBH2PRlQvT*xe14-TQw;#7qaP)U;yZmWPy%2OyU2Dvr0q97+T zIkQ9|72=}I{5(jD0PG41f*TUrne+^9HDO3Q1MGBI08YLoXds3nqF}3_mIP`GZhkEq z#T?9;nWm6mP@;z=`6=2e<Yne4RC951awewcV^d;_P48rX32|>!JJF58;!*{OSy*Hy I+e?ZA0G{96jsO4v delta 44 zcmZ4Qb<Jpl7Te}hwg{fda@?w$m88O$H%lveFbmdlad8%<mXsFdDI})mbJcPI063}* A2mk;8 diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/bulkwriteoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/bulkwriteoptions.go index 57f98f83d17612a05f39115642ead0d8f5b6f504..0c36d0b7b05a8e7f68657b08785f266a7babb9cd 100644 GIT binary patch delta 1478 zcmcc1|3P{KE3-&>dAVM0eqMThN|Ii3ey)B>esb|-QRd2eM}^{&qRhN>h5RCgl>Fq< z+|;}hg_4ZK5{2^2oE(LuRE5mE<ebu!)D(rxJcZ)aqO#N?g`E8KVjYEoqWrYX9FSfJ zKQS*wA-S}uC^fIdzd)g|G_@!*wOFAfUm+tkr$C{kC^0#ei&I};p(G<!A-^ECD6u3n zzdlb-K_Mg~RUsucEwMDGM4>D(r!-X|vsfW7Ge<|EJR>tXLm@XcF|QcnsJwiI<osN) zBeA&;WHiVzdR&~&P-U5UC8<SeiOH$ewOnB9J<}9Qib_*;6!P*F$|uie4yp$W2N$F! zXQqK%T##6ln44OXT2!o%mS3chn3JPWT9A@hlBxjmVM=OFYDp^C6^VH%#h_3D+3Hl9 zlO0}^S(2)!5R#EutdL(&l9`_e@<@JOP9?}&nJHl7d_l3`;smy{EVZZ@6b8i#cD4$p zdIow5{y8bBMbKa_hD1S8YC(Qci9%wYLTXV_ei7J^(qd4smmn;H+L~KhTmp)-L_}QX zCKeQA=B0z}gZoS&FEJMqH)V-A^`)uBdJ18nfG<{nnUI{HS6q^qR{}~G$vOGOsVNGn z6$M49#l@NVu*gWsSIEmRQ7B4HOD#&xOHM^tnwFWGlTxe)wln|{oXLrKpxDm?J25#q zwHRb<qJObMSz=LUVp2{jI5-pY6cW?Zi&E1;L5{FgAvr&<B(<VMK_gW!T~9$tMWrmU zNJ&$Vi_<5yL;)$9C%<7{tOkqz;?xpQ(n$ryKxryC@IcW8m7ZM2swNF(Yrql~vQY<E zC1LUkw%|xl%`4&JEJ`gYEy`0!+T6<0&R8FuS^{zc4y!;?;PB8>05OZHmCm^I^&v@( z4>he#?qrg$rz|nSjfSNL%=DyyJuN|#QhiQoDmiHhWHIjKq(Cq!!BUbbSxISf4Xc8% zPil!q4qAdbz$(cFiaT2cwVc$F&A(aA7`36PMnTaQR8%Qcb8&KVCh5UMZ9xS9j5k@C leYFi|W*S%wWDcqxkO)M*PihGlCuc1eC#a}`r7^BrE&$zV1oZ#_ delta 66 zcmew$eV2a&E3-gKesZy1Zhl^ReoB&Fa(?b)N#@GQ%`EYg*Rw6!{EfYqaq~`YRmREU WymR?$xwtrsQcFsU@)VM|YPkR{gck4s diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/changestreamoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/changestreamoptions.go index fe19f45ebb83bcef3388c75f6437ee4ef88a6be5..862abcd340893ec2ae7f245a02a504990e29b34c 100644 GIT binary patch delta 2764 zcmZ3lcGY1+Fe9VVW&_4jrg}$(;*z4wymW<<jKmU!^30qZg``x4%)I2B(v;K`h0HvK z;?$zD)FOqP{PbcSg@U5|w9FikdI&!;FGV4_w5TXGuf)GVp|CWyC^NNKp(I}+BQ>W$ zp`<7=IaQ$~BUK^4Ahjs5Br`uxkBd`ZUm+wTRUsucEwPj-r)07{v$%g^i9%k!LUMj? zZfYKOXMjur*{R3H=?qn-1#vnT*vR05)a1-GknI`y<&(EDhY9K-tjQ?>shJ$lqN<>f zpO;gqP>@(ul9`yJP+E|ZSORiOPDx@h*!z>0v3SX#7zXx0K~btMMDgT9%wCQdW-DYC zE94h|d|0gKpO&VhP@a*QoS~4LnwVD%30sf{kW87v;=$vTnwDRb>YS07m!7)$4$D5q z`rwTGa@UH2#JrT$6xXuUypm#tVz|f3Gg3=3Qj5UufyN3r!irK$N{jLo67v*Np;{Gk zGK)(T^3xQO!DfTvI5ja>Ar)+*o`PdaN+!sui8-KPfeM2ny&e?nRtm{Qsfi`2o_Q&$ z6{*EK3MobT1#nJoeoAIqr4Ce$jzV!pVo{27eojtmGRR0Bg`!k6A%(=e6tF!-scD&c zsR*^fAg$i1m7u_c1mEP1oLX{bdIox2oLE9aD=9xeXY&-cG-eC1dCsN9CHc9qU<akT zq*R5(6i~V?$p?p0W?m*ZniJF0i&E1QOHwDVXO*b;POa1}OUx-vRVYZzEGh<t6DV?= zg8lszauW*_iZk*{b0AJm&MzuT%>gBm^30M9g_P9d%%ap3sFezNiMgr8Anz%FjVsnu z2m={gtdLt;Tms5RzKKP}8HqWGNja%{3NYu^Lz0O?ZepcEa(-S~PG&MF$(Lk+J(ZWA zr<;u8F&(fCsA399l?92##R|zenW=dty2Y6(sUSCGra&^8LO@Y!T56F(X)!3Pq8VAA zpI59<o{?IVs!)($T$~AV92Y0lbxFnfd3wH(ECm&UCTncrs{%=1!6ikY<W*dfm<}pC zum`=K0yNy~2PohRG7D03GV@aFq0v{2B@n?;P?nfOR6ybh#{j5Z3efPZ<>J!USAgbp zHZB$>c4#3sc|Vr~oV}4(TMR0$0V@k3W!&UO9yuYXl!C2-8dP@jMjo-rTs(UxbMf$S zBb6qT_i;&1*5lzpDPbmW<kgmSE6vGq$xki?m9t11QZ>?2l9DHv@R*Ari-N2INo?N8 z)5R!=Q8s}bFNB#<K^9443TqUnrYeB4Fvv5KnDQXYic?cTe%frsH;IumIJE?l1VQ%H zLzoI_nW;G`@U%oADJj77FDUpa%EI-aYy!{2Sh6tO2DI#!pI1zc9IOZ}6+qU&awKXd zp6tM*$`1)8jbv!T0|hk~L`=a}AsH05ybvxlg@RHFG-#nBsYC`b$RUuD5)sM@WCd|O zwqg>NTS3;q{7XThhb^zBmF6WYXe1X;_TrJ2KnaypjpPEP5EMq01chY5<c&PSo6qnc zXEcCiOGR6Syv!VhYA#Mr&g5eMf|6oAn3SzTa&bP4H@Q_XS^`%-oIGDpK^rX#g7o54 ze@Spz07k}Cz~UCH84hGLro`k-p-uIinQ0JLLn<RICPG356dEAUft7J_a@KNjqH2Yw gE1X8aRY1cDWR!9)OcY{fEf*Ijw4nnDT&`L!06;9$H~;_u delta 189 zcmccWuwHFLFyrQO#vmra;DXfT%(TqZVukXI)RK(UqRAUr!h#hNbMo`jxj6Op70NS9 zG89TOQWa8Cb4n766;e`*lZ!HwGV{{GqRAPFdFiRe3b~0XsR||eV6l|^<kH;Kyb?Wy z5U{?q#L}FS$>OZ4EFcpnZ(tFd9L{Dpc@nG0=B;e27&ouxOkm!8ieG?fa=Xyp&88wH hjGHUOCNgdglRnNkIa=0tvZUOM$pZ3=Cp#*L005kKK@tD} diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/clientoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/clientoptions.go index da5f630d19c8b47997aa5b737b79a8d0566d7dea..742a4da9b55155f9a03a7231bca95a9ba5f19f19 100644 GIT binary patch delta 2551 zcmbQUpXuENrVW?bM9Ry{^>Xv`((_Z2^pf*)^;7bbi#I=JYvh~UE9%ITnVXtlTA~03 zlM6&;HlG!}!CcS9sjsgPoS&SXS`q?PQCyIkoSBxHTC7l#k*ZJv6)nkENJ>>GEly2Q zNXst*OF8FcrskEX7b_Hl^(z#mCZ-fCB<7_klow@|q!#Oe3<qHaKmQO{jil7Ptjwa+ z^2}mQE0~q_P}9pZb8<lDr=%7Xr6wnqq^2lj<|!m9q?MMG7Nsf_rRJn27N_bdgk+>D z<mMNpDx|08r4}XTD8L+@Ur>^np9i)qH?b0A6xgYmc?y{&#R>&EiOH!7CHV@;`FSNp z`8i<cC+6mt*5{Qd<fnl>sZf%USfY@qP@I{Uo|CGOUyxdq2r^S4IWbS6s5DO@DK!mb zb5UwZX;EHgUOL#a#5{%6qN4mFJ%!-Zl9J54bePYe9s`92+>Ia~L5)uahn<20*yBa1 z#icnVARm|JrKF~1=B1`6B&B8~mSyG_>2YzQMvoRKM)X`tA+DReMDp9@FH%yn3dwq@ zMMYekwOpKFmV&K9vR+wYPG(ACN$TYFQYKs)nh>WdR8JO?p2G(5$K(VV<H<JCGE7RE zlLcfv5u#r8wIIW|I5X1}lJ$HOD+2QKbAmIgQWX?!74kB36x7r};+c6^#I-Oq7=V<6 zgpt(SDS!l!46f$l<b=3NAuYG0Ue6U2uxT1fxk#FFON&cDv73`x3`(Dgc?$VO3aN#q zi8-L?%|)1|qmZ6oqJX5;Ry9QdN#0g9MM($j0)*)hKGY1B%&Jt)$y;SII5N{f0jFR! zSy|SA$y#A@yq-97YEjYTJ#sRWvt{F8VRk`QcQU)20)i_$*;|fx^4U)I$(eGZ$ij={ zgeUKpD}@Oyke8VpF7Jfk8gRqHAuls$^LhDF7VLRDM5Rht9~3{udeAf$oLZs)3dUrZ zfP$@pS~6Uki?ep}!6?zq56nYY6uI>E70ObJiZk=`6zpsj4E2ol3>3;UOEN&kL~?q* z-sEtbyVxyuvArzf>zSrdl95@gkXfu?paTlp%-qskP!7vWO$KM2g8cj(g<?>W$t+gL z%P&#L$;{0xNlk%d<CN62L~yDvRxmU$nC$2#ySX%I0T*@)Rb#jC)a&bmoQ$(9f#x`H zj!H^Zps*-WKq^K+)@J6p<1b2xE=eYT%n(UJFE&6{pyqP|B?s7>_zDhCh)({J8N~(( zm&qI5<m+*iaG=sHKMxX{kU||?=%rSqCYP3^VibG|@InvdYEY4!lA4&3lbM$aDoYdd zDv=6LkkKU>Mfs)a844x!8L0|T^TEzfN>#|n&&w}LO;Jcp$}dY*0O^IMWQF3?5(TiM zV0x_Kg*{kveqK%`$bKY4GC?UawI~&oB=hnW5Uv9GEma|35?-b|=jWBAR+Q+$jGUa{ zC&ySa*)daOvMvudH>ilsFD>y6wl$pmDqW^NFEd9+AvZM<RO}->SFDhd4^G#ac^Roi znV`x8s!<`WC_fim$w0iT#|25do@ppv%q#}`QX{o2HBZ4n6V<yqVEtu@Ii;!f#h`%o zO{@Tg4M-Kdaw^tQ2q{X;D^3LGIDc>@SPUwyo%3^ZGr?6ls6qyXQ*dfAD67NNxInU> zZ(;?KQgFZ~r7C2mgJT6&snw^$!U<#;Gzwt`p{CmWB86~J<?o!Imz-LZr&kVga(-zE z$OT~2@g-SUFrjDhdMi-v3N=Zg2-HR>PR%PRRw&IYE=f$vN!3v(D9SI(1o<y9N5L_` z6H>&$>QGSVf!Z=DMVV!(MGEB^si2w|W*#UOpiQ0>h0J1*ON&dBvQm>vKvha|Mq(ag z`s9a>a+7-<bSEElP}uC7)vGv}sauo}W`eCkenE-eWW#RJ%{RMiSmSdOvr{#qW0NXN zQguLOV@_(GMs{kYOJYf)rZ$L^oLW=@;TdXjai%1eBr4b{Bo-8;=A~$WcsdGD<$8L0 Mm<l#0Otj$x0O6N`GXMYp delta 514 zcmaENfoaZurVW?b1XA*oi}iBz^V0KElJt`Eb2mR{Yvkk2PtHy)3CYY&%`Yucn0!W1 zdUCp`)8<Q}*O@1$OMewj)+<ZQ$xKNsNp;Li2~I6>Eh@?{nmk#?gcpggp*i`Yx*Q7^ zXD!#{i!yWAll4-IiWF=o7t4mQa~7qRlosVpJ|gQ07Z;ZE;)aTIadOs9j+f71gXo!j zUfy7`yh0gV={p74$vYGTP?R4~l%HHXjbrkA1x>i|qHr;p$>EB^aB*n`naRzHF<|vx zO45@Vm7L&adny@hZdEE_!3-H*^(x`Xmu-bMpSB8NQC28REh^5;&r`6oRWQ^u)-&MJ z*H=(bP$<tV$pD2~a(ez`2m8C2#uz$W7MaWw&TnLBV4$bqnWj*Zky)&eS*&27qmWsm zP@b8SqmY!UP@Gz#P?E2Zn^=;e=bKpJnO9<FvN<qxFBhhXN(ozdCbtGlPu9<i+B~_a qM{#q+lxkLy#Dap<ycCV>)Jm7cl0+Q^^_V>M$qKW?HwVp<;R66Ipt5BE diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/collectionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/collectionoptions.go index 5c8111471bddccb056f9f3faf9865f0ab0c1e567..e8b68a2706d31e8d20199a24c88b05773d76130c 100644 GIT binary patch delta 135 zcmca3K2u^t5|cnsYGR6WeqM5FQJz9(u|mn@WTs9=m&tFLlK8`mGD}hsa+41-3r{X) zN}YU+Srn|oVzLN}t}w`efTGm2)S}e9<Wz_mPAvUk6*iOkSe1E$QqwbwONuHXaz?C+ Nz;afb`Pt600sx;yE|UNN delta 68 zcmbO!aYuYZ5))&{<RYd{#+1o_n35PnCg(GEgV`37jahUVLnarq^n>{}lkHiRLGrAN Mz<jICK5S=M0VQV_9{>OV diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/countoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/countoptions.go index 094524c1006ad5a4ee7786f0fac93872b4597096..f772ec4a3be0e5b6e2822d8d47f89386a692b7d9 100644 GIT binary patch delta 1139 zcmcaBHcepzBXhmKi@%1uze|v3m}`)(k+FrDrj>$oeraBbe?duReqOOcYDH>tX-R&O zLTPbou|i^cdQob6B1lT1G%qE!NTDPnRUsokKSf8OJR>tXLm@XcF|SymBqOs}p`@}P zRUsp>SfM0eAt{xMQ(s>p#NWkVAyJ{Yq$o2lT_G*MzDOZ2zg$m2Aq1o$IWbQmDOI5; zwIC-kIW<M0JhLQ2A;CF6H#aq}L?JV;B(*3lF*&umHbEgjFF92K<X(l$Vuj4yf}B*4 zn$#3MF0eh0Fe~zl6jJh&OF@zfB^ik&3gwwOIUq|i^OAE)Q|ePw6f*M^ic^cqQi~LF z^3#iT6bg#+(=u~F?t}0X^HLO&ON)w9L4l%BSejatnF{t(MruxhLP=3#GQ@A7kjO7c zEdqxQ*h{GjDXD3Rr8y-aN9JYbpodXniIqZLzCtq8gQ!k}xC~?{$QgQEoUm}vf`s1Y zUre=3_4@i?|N8ldxN0P&=4E9TrIu$FYg#GzCRT)G=BC2^o03{kl$xAa0x>pGA+5Be zv<MW|IjM=osd@?_8L0}n`9-M;>8W|CMTt2IAl><;B?|fAgrJa{SP2TY(qgayU`sPg zit81?Q3Z<O<ovvnqWm0if=J8-B_W0UG=&n78^8gds8F1lm!6ZV01qPtP<$7ag5o?4 zWOGq!Noi3YDBu(G6jF<d@{9D~-pDM5Sec%eUj%YN8pM6#rQonFPAyT$&jVYXoRgWF zSF*W;wVsh38e)?Z*`%0rb5kb^va1?G#Wa$kDMV923njf*b8#l;>p@j1*ea-PzRMQO z2nuI?eFfSDGnc+T_K;S{EGbqfs0U>T@<SP9I?(~Gkck$^r6md?nZ*hifjoIXhwNr= Y4ml=xK;P#Q7eNFaA{;lza4|9h04_j^U;qFB delta 35 rcmbQHa93;tBlG6{EM-iaeK~3vH%D^WGEV-^DZTk9j~vrvCH^k}-(d_d diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/createcollectionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/createcollectionoptions.go index 130c8e75c35a616e4d6027394a31ef4a95cced59..6fc7d066a2337c51e3f4277beaeac4bc37a95eb0 100644 GIT binary patch delta 1450 zcmaD6^fX~ZCYMNgdAVM0eqMThN|Ii3ey)B>esb~VO0H>)nHl-z3dtFXdFiPN#U(|l ziMhoJ`30$YsVNGH>4}+n#U%<Q8L0}%`8heM$t9Wjc?!vic?w0TC8b4q3I#=}x(bPT zDGCMo#U;9#xryni#R~ap3Z(@pi6yBiT%7v)3Mu)?rManjCB>5inY1_+s%`QMK*mg- zz$7-gSyY+@q-c`3D6^TK!Q^@#naTT@1nWt04@kd4d1g+ILSB9ekq$#RN+B~(Au+E~ zp**otkBie891g*X;BW{iN_EUj3CJ%l@q~CRGp{7IC@nELwYqlmf9^gOtbsb&QAlC) zUV#!utg@ROg?O;bOm-BK-&`YXg+o?D%oD4DlN-fmPTnD!fL#)gu6_F8fOE}DE~+dj zNlkIfOwCCtR!GjzOUq0zElMp`NQFr$q=Don-w?B{H`6oV;zZYj6fRs~L!EO<i%U|A zQd2zhQc^1vGK&>Ti&Ik+O7azwi&7IyQWX-B(^Gk7Nd`y+rb!_aq)QKE5(q1VWMqPp zBskH$6VsG6=Hf)R04ZYZ#Ce!xpz(+`8Yi!pmcXx|QC3$8p9vbt#RUbKlN;o8RPiZO zuvJils5~eqve`@0gWW1PwFEuzic?F9!8r^qxQi9i@{160F!`puu{@ey4Y(Fa<bhnI zh^9ut7GVZd)j>HCKGXmN1qr%PqpYqhsw$0SSPX%q6=a({stN^L1ynVg8x<Zh*5eH% zMO%fu%p8SkE>2F)<YYa(YHbzr3rg@R;o{`1<>KVbOarTQNli;E&Dorxbd;$cCWan9 kX!fH^L##v-MYRPj4A2aO%F4hp1H?e6C{%E>x~d}!07A|OkpKVy delta 227 zcmaEw@FHkKCYL};esZy1Zhl^ReoB&Fa(?dSTCQn~n{V>gv0zGN3r%6f5S^SYq%hf7 z<PA0n`OQJ1R#>zw5c9-T{#WcLrXUWLGbc%^PM*&xwmDboE92%gSr7Kf@ASAgH>e$D P+`LcYG}C4+9cvZ<P;^!O diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/datakeyoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/datakeyoptions.go index c6a17f9e09e0ae0b1ddd95f1069a892b3f7f55f4..648d9714e0af7a2cebef33cf55662f557c44f1a3 100644 GIT binary patch delta 522 zcmeAZUnIR@4`V$Sr@p>|cWR|?Vo7RIW@3&)X0bwPacYV}NxnjAUUE@oL5V_2Vo9Q& zf@hjSer{$-NotCYLN=;~^whl6qQsKa6os_>qFjYU1+c#S^rFOqjLhW3oSaI9;?(5Q zqEv;V#JrUJT(G6Z`K3k4^{ILaO5UlJ3NZVX;10;lD@iR%&PdElPfbk9sZ=P>EXhz% z0=dOIwNgnTF)u|y$tAHQQNb1B%*^~ekVljhG+bQ0HTAeSk$n{%n^akn%2mt7rLV65 z(gm_JxhQq>Sw?$~gy7T?WX0u~IXMc&sU;wfloprd=c4$xBp+sge?duReqOOcc}8Y( zhC*^;o<dS8*1((G#i=9>^PvWE;6dCqxt~jX@&is5F_;<!TVyLY|Ke<BjNr^nQ^+qU z(L;8rqOC$+W{yHN7bhoYN_IYqoGrR)E>6x`F3wsmF3zIVlG36)g_P`ku39bt>3Fot delta 35 rcmZ1^-6y_b598*QOaUC5Z*mth3f6LQaTcYPlosVFq-5uF)p7v<<Qxmh diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/dboptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/dboptions.go index 900da51c1df9d5f27030b61eb3011cf15f2f553d..86e5cc80cc7b30d40866b2864e918fd4e3ec36e5 100644 GIT binary patch delta 127 zcmbO#eo1^o43j`mYGR6WeqM5FQJz9(u|mn@Sf+MH=gIq6EGEk`s|kh|WtOC($h$Ci zGCEH_$DAk#(i%{dnwDCWnwOlakXbx=A&cl_XO=3k{%GEy)bz~alA=n8xl*hPz~W|` JKe8@i1pw@(ED-<z delta 68 zcmca4K2>}}3=?C><Q%4U#^lNGSu7^&Fsm_!OipI*1oKTME3)V^hD=Um=>_wn8AB$A Pvn~L$%{J??Enx)!{S6iv diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/deleteoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/deleteoptions.go index fcea40a5cec778c5716220e7102a5ec88e791433..77e5d45cdc735f1bbfd2ea82277d5a6d70854df6 100644 GIT binary patch delta 869 zcmZ1=cuR7_AEtUoh2oN;%)E4k{33;v{N&Qy)Vvafl8nR>h4Rdt9EGG*h0MI<oYIuk z6ot$@h2qqrveY7loc#1+9fg9T{Itv*kX{HsF)u|SxwNP#HLt|KK%uZSwJ0;SSfM0e zAtN=XK%t~4F*%isQ(s@9BqLQJzaX_Ju_QB}IZsbvvMj6A<atc|4v8fSdHD*-`MF?6 zV6z{j6=azn7pF5+S!P~IYEfEZa%y$$=5I{(Oa@>(f(ufUGt)r!7bF%X=BAdU78NU` z<rjf1Pf5*5ElE{Kttco;EiRt?no+A>p)9qiI5R)5Si#O#!Bo#cPr*MYCAA1_7R1xV zkN_!4Eyyn_QAo^FNG&SLF9MrcS_}$=l8nq^h5Uk&%=|n(g%A)Yx3stf6oQF}kj+gj zC;%yjyGkK1F*mii9u!Pvi8-aI#d=^n!@z6>m<h@GdBr7(c_pA&O3ukIPECQi9_(gt ze5K?o<mHzr6s4x67NzDTry?v(%S_ElDb`a6Km<i{Vjd_c@)VN5apJ3xn4Fwi3^F&d zSfMPjC^IoBC$$(9<%xL;iRtM@sp*M`Aj{0pQ%KIwD@m;=QP4=$OV?9SQc)>OEK<_c z<Kpy5-JH%U&!_^6pyJe$Vvt=5VE=&w3>1xE>B&pj)Of+Hyb=v?#81A+rYZ;(QLu$2 zhRKC&ixh%WOMFsG6mXd5lR9}Rn<|@6YKcZp>f}poDjXoiwhB3^o7j^W^<YLS+A8E_ z<|tHiadL8|_!pEE!)0t0Qu1M($)Ow;PMn!(AR&-3n7TlsU>!cGC0v}GwOpLFTwI(* PsU@XFc?w{IxoWup=*%kJ delta 34 qcmca5xj=BkAEwQ3nJbw#OL7P@PCmogyZJGfKjY+F9_`7;d4vJ=a187K diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/distinctoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/distinctoptions.go index 40c19c463d08b7d9a8971438b06479413d32d121..fdd005c14a84f26f77e0141ccf219cb9c1277eef 100644 GIT binary patch delta 946 zcmZ3(w?S+HbG@TNaY<2TUb;elkwQv-a%paAUWr0UMq-IVd1g+ILQ<+iW?phmX-aB} zLS~*qacWUnYLP-tetNNvLP1e}T4oMNFNB|%m!gndT2z#pSK?owP*|E;l$lzrP?E2Z zk(yJWP*RkboXW+iudh&&k*bhikXn>jl9|t#H`$(9#;-ghGdV*cH#IS@7-D%|zCv<- zF4!^H+yOEIWT_q(r!!PpW?o5ZQCebhYIW`8Urh7s_4UD)`T2*qY9yuRWn~tnmS+}g zS}FJ@R)l2cro#P~l3Gxdnw(ey@nNDuT4_mXQK~{wYEEimajKp|NJgqcZhld!LV9Xm zYEfd20!Vj$X^BF9K}lwQo<eS7r9u+KXQjmuLo!Q>>lF%e5|dLw-cQcYD=Es)0sA{K zH@`HmL?J&-p#<axa6l(26ldn8=O6+lPa!!mPobzZPa!Ea4P<jsYDsBP9w?*}^Au8x zit>x}z@CG7C9_x|Gd(ZA2xNO2#C_tWB?_6v3dN}<3i)|ptCMpwQ}aqTPh+-ZRD%Ut zacT)Dz*7~<5_3vZ71HvHz)GRglOtF(oWYTx0gDWzP}Wq?a>*<%$;?YG@dt-Qu|hQ$ zXG*>vRJVdHED9&@VsQq=hrYf7?V^KAUmrC_6p&&=p`f0!*Z`T1KSJQ?3QJ^^mMDl| ki;T%}EDD>YS@$rqL&I$HJvJ#3C|ki+0TGy!Pq8Hd0Bwv;WB>pF delta 32 pcmdlWwuWy3^W+cAGdC|}HDjDy%dR&$gH3MpU5-7BlW%i{0szl23|RmG diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/doc.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/doc.go new file mode 100644 index 0000000000000000000000000000000000000000..23ef4c30a6bf7f5903a32674fba77e31bbaac856 GIT binary patch literal 368 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xGSV$5N-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTSwACm=C7J25>~A-|v`Ge56bAtf~}GcUCmY$`-7F-IXe lKQApay|gG1q9!dL5)9C=Q*h5$a4E_xOD)plDnK=k3jl4mdr|-Z literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/encryptoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/encryptoptions.go index 8a7d797b297453dc2e39ae04eb5a8af9a709d25f..31528b38effe2f14723ad842ae6a4da39796c023 100644 GIT binary patch literal 3470 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xG}kRCN-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTZf(keHmEn4YSTUr>^npI6Mqm6=<RUsR%?!NsYRp0Ae+ z3Y(N9umNDUZc0&RS!$7fQgMEsenC-YZe~elS*jA3CKt#_AsMN~sS3&YdBr7(c_qaP z#RaL!nQ4^@Wr;bNDIl^mwOAo7zepjlG_|NQq_Q9tqzleb$Sej0P6|RvVp2}3f@@xK zQ6<=Ypa_BJMUw#O%*;~=C{4=AOjZa<P0q;6Ois*E2q;P|%S<iT!>*|~Bfm5!MFA8i zNvRN<GxHP*it<xRlR?3ukeHVOGP$@kDJwO(M4=>KAt^CAyF9TdrC1@UC^a!VGcR2s zIU_MIJ+)Ym3+!)D$iY42T3DKxlUY)!P+U?3QfjN9lnNDs1sT+H{$T$VD-@+d(_S$w zN<g-zRutr9CTEu9R4SxG0z)AY5}bNmC6xv6AcC1vTvAk;T%u6T#p#_|>FJ_?1hn9h zrstHImsnH@R^ymc;+L443RR~CaV{69V@`U0QD#X-E>r^Q4=zr)578x@^Ycnl^FV>; zmY7_UU!<UwnO9<F!c_}SA5hOKBp0P7mZTOdBr4>kmc!x~=J-r->Pb%3<4P;dONPm6 zXewwywZjxvb8!}>mXsFdDX5{!RM$f73r;P81OOx<W`eBDQ;5$@0p*%Rg_OjSM1}0s zN<D=TP<DhShon@6M1{~$PZtG^L<RKFg5=EN(j;)On`lBEsga8AI!y(b<r>-GI6yZE ztAA4UAnvtQPy_3N`!E&7N3iJ1OaX;;8rWYTk0_KSmgbZwq~s@;=BDPAC?r)XsAs2E zLY1o%bSzXM$i+}5G{$i|7N!p3Vki%rvk_?tB{CA>NvtFvlm)?gADYNB^YbvGCO<C~ z6nUT`HZ4CVC%-&1FWm}Mis&jhx;nbVJGutP8=0ELJ3BeYd-ys!#|L{j#+w=%>AIwr zq!#67=4BR_WF`}%At*5~B|jIU(lak5wIVeI!U@gGL~y|=Cli!$3rjPLQd7W16jV95 z{D7-gNGyUDGVl@*trP?61!pZZ2~Z(4;Kds_H{wX>@W|Cb#3!T>!I5&{8We05;99UH z8*p%dY6@s&0!r(k$j=0oGbyPl3WcDmL;;i?^%OiyKp~Z%mjkPEO7azoQ%e*w(-4+` zR473sNC_O`;3!07emp4*R(ONb0m5NJyVk-Nt#ChTfI}G)4dAK_N3_B<DA+<G2BZaB zv|`i~h(ZAryUFlsL?I1akB}R;81@X`$U^t31|krlbuqXq#u0Pqx)p2{)X)vUh)Cbm zqV!bMx);=nP0GwmEe5wr6N}PIQ&V7dIIQB%%u`5I$Vn_N(FNtT^31$qg|x)t3{Y_o zsq?XztC3$&Qmmk-r-#-G!0w%V1uI*ats0tKoS+gnUI)~q0!b8s8f+j=F{p{enVAM+ zE7;m9<Ynf7ML0n|&&(@L<>KV5<>KOmDuGtcibx7m^Pz&aATuCruqI?Z&{|OeQzJ|U zt{W<VY6PONRJ2u4Qi3=!HD3=Q4$%+iqiRQFN>uF#afo&}A5}X>%0Tl5hCIYHbYY00 OpwNUi+EVkmYPkSPgrJ20 delta 111 zcmeB^zRbHJhH-K~Q`Y4FOmb3M#U(|VdFfo7jydW1MVTcTxe5vpq0ObtUQCm@+2khw zU=?J_FPhB7rYfYT5R#EutdLo(P?TC&npu>ZGTDzsZgMDl_+}sOd5i+JTwI(*sU@XF Lc?zldT(w*PIL9OY diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/estimatedcountoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/estimatedcountoptions.go index 2b997f4617a8971066f86bd02daf9424b43e2f9e..6ac53809a4ae436c0901bd1d166d55066aa298b7 100644 GIT binary patch delta 974 zcmX@ieO-9NRmOTph2oN;%)E4k{33;v{N&Qy)Vvafl8nR>h4Rdt9EGG*h0MI<oYIuk z6ot$@h2qqrveY7loc#1+9fg9T{Itv*kX{HsF)u|SxwNP#HLt|KK%uZSwJ0;SSfM0e zAtN=XK%t~4F*%isQ(s@9BqLQJzaX_Ju_QA;Jx@<TAtWPJAtf~}u{5VdA+uN^FEd9+ zp*$lqIYS{gH8HOk;+(vEh2;EPu=B9F3}h(C8G2lt&QN8Uc_pbuX^F|H)wNucFEGxl z*VhNz@8=)ls*#kMmz7zRTAo>~X{F$sSP_z$n+o@GN@_t-YI0%;#M6liX{9BlMX3r! zsX3{M#i@E=2j}J&r7EPS=A{-T<|u%4=a-f!<QJ4==I1HoCRTz%uCzEc1#Dwxo<e3x zv8X~pPGWK@C`6L;^Gb^Hb3j2c`2nM7eWF5fW?p&@B3$wmk`wb3ic0eol2X$^HWj6o zlosWI0y{BJA+@L|zeo?}Y={-b3YqD7`9&Znr@`HmS*%c;TB4Aj2eL^aIVUqUuSAcF z6Xsv7lFZyxJ(tqSbxfz(p}{sefLQ|0&Sy52fr@LuLLVtuH77SP%d09>b8)67=j%Zg zD%ipzii;ECYK7F~{K@vr7N7{w*H@r<_;cy&BS!%!;bxW;D-;Nm9sD2@A%4Lc1E5q( zbm*s*<|Qj=q$cMpXt@@bWacK8Z0=<Kz-YnAnVAMkK=5!>v;}1aQ0Q`Urou&Sk=1Z< La@J0+Wc307_%%}| delta 28 kcmcaEe3*N~RmRB&m}X8cWVt<AkWFuMFgp{|<X%oM0IdZIYybcN diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/findoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/findoptions.go index ad9409c975859b407141180f57b97002c0f9d10a..219a95940e58a1e18029e2dff1c347403b472862 100644 GIT binary patch delta 5715 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 Dl;6LC delta 660 zcmeyho9R;v(}u;2lly}>Cm&*TU`fl&OPQQdAkV_ZsjokIVx0VB4<`G`@0j>F6x{NQ zz=Cs`;wNwFlbS5Xtg!jDwg}_oY8J80wYs+%1xhkf6;g8xN-7nKONuh{(kC1CxK3W6 ze|PdScA3f7%3CLQ7%rI{6UH-ntB&|&70z#y#rwr3n{!Q=922H8`8Sv2WOL&OlVx}m zCoeFWxjE3xmT__zzw~4=CjQL|7Q&2^=LrZ+u8qi_Y*WrTd5<Lzl+QW&Y##gMmzMjW ze6Gn;g_S0E2}w-;W2HX%qLA0-5^HtF$uS~*o9BydW7&K|`U&G?Wl71+@8m2vH-~7j zuw!-i<^}pQSvLooJ>{Lea)!X<dPkngax)YszwqFlEGZu{Il+@}a)rF~WP2z6%?fTA zyaFlt$;EoP`FZL2DM@<C`MI0t1fOS|+}<;Da-f;|<oLcFlO5u?Chub8nap20ee=x7 zMJ$u&i*apcOYmTt%;BOpdF2e@$rI9qC(F%H+1#J9f_ZX)D%a+F8H`Mm|7loFmY?f9 zxwqrN<QIW*lXY_WHebj&%0#@CoB2zPSV7iJ-jl<#S-j>C!b;y}A&`}m`|5=!OUf%u z&h>Da{JvRq^0^s$llQj>PmWKmnha8t=gGEtLz5j7$XS!qYJ@j0Yc;@h+J-4?lLe-7 rY(CzJ@cZWYzD9^&S51jxg!)x=v)qhmuwk3!X7@5e{Wy2>i$DPYnFIiX diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/gridfsoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/gridfsoptions.go index 493fe983be97a9f0ba98c25af772bb0478367136..9221585baa40644f8a4240693aa8439c5ae306ad 100644 GIT binary patch delta 563 zcmdn)`Pg@ZopimvJ{PCHzJi~Bh^t0YYF<`mQEGW+v8I)RZ(>DAW^SrNd1g+ILQ<+i zN@_t-YI0&pYKlT;o<gERT4_mXQK~{wYEEimajKp|NJgqcZhld!LV9XmYEfd20!Vj$ zX^BF9K}lwQo<eS7CCHf4;?xwdjhT50nI*-d3I#cd$*Bq@`3lMTc_l^pISM5isgpNI ziPk476ldn8=cFp+7o-*?g3U-y%u^^T%~ME9O#|6flv+|+l$V*8u8^3gkXlrfU!(_f zHpGfzh0OH4{34K()8OvOELJE^Em6qN1KFgIoRgWFSE9$o3G=U3NoH=Uo=fRwKWPsZ xQ1H++bhz~Ou>=q(gfmNu6$*rL1Wq>gzyX;?T=*zt5*;>^A1Wwr-YU<;3IP0Q#5@21 delta 21 dcmaFtyWMkxo%H4~nFyB2GnM5xKU8F51ps3W2ju_& diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go index 076eedd7607b63c411dc45b1d819b6897da79e71..4c2d6920ab8dca990bfe084cb726c4dcd155cef0 100644 GIT binary patch delta 1702 zcmcav-rmZ%!I`aIU!RLpUtht`Kg3ldDK#%EvnaJZvslwg!8frYBr`Wvp*%AuM<FRy zAtkk-C^b2;BsE1LGfyE=A+5Bev?x`fC^aWFu{c#vAtWPJAveD$RUth!FSRH!M**Ze zzqCXlzn~;DKTjbyu@YoVX>n=_*v8B}h0Ky-QH6q>#N<?kl6-~a{JfH){2YanjMT~T zyrMaY3dNau={czi`30#(iC{C56Y~^`O7j$wQqw>-6{VJx7UgB;r7I-nDWnz^<rnF} zoDH#}SRpe#FTV)n<TSW@GK&?8Q%e-`^FTH!B<EzN=9Nq~6jGR+z_uS095f9LE`5D0 z0Rjrq%#vb-0%071k&QhtK&BBF9txR6hs9=D_6wuw0x4Z^@ogPV7kMR{_wto9g92i- zyeQdhC{)S_3X8#5Sk%+8u+Za5E6qz*(8y8H^2sbN@yts}t(Yt$%s2TyALr)t!fUxi t%FE03a`W@j^HY-alJj%*Q}UCGH}}W|GGUi_tFTRUvYM#s=4EEatN;oGP-p-E delta 101 zcmZo~WxQFw!I^FH5^>qd73}*rdvl(HaQp<fZWb3VW!}6*yohmfm4w3NTu!OYDN=K| m1XA*oi}iBz^V0KElJt`Eb2p2q1~OraR;q6k-5h9Z#tHyvX(U1b diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/insertoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/insertoptions.go index aa0e9716a29684645c2590c3f86d14f923b4c298..08c46b281819cf347fd3f7b8c415f369bf514a8b 100644 GIT binary patch delta 791 zcmeB^JfpB-29rp6dAVM0eqMThN|Ii3ey)B>esb~Twd|Gkjta#kMVWc&3i(9}Df!8z zxv6<23MCndB?{%4IXMbRsS25S$vLGdsVNGXc?!j;MP;c)3OV`d#X1TFMfqu&IUv0d zeqvsVLUL(QQEFa^e}O__X=+hsYOz8|zCuQ7PJu#6QDSl`7pK0yLP<udLViJNQDRAE zK69R)!sG&W(GZ2a%p4ts@{G*n429g(#JpmNBl7YUlJj%Hj>6_1kWnDZ^|&~lp~^Dz zN>Yo`5|dM_Yd1?X$1!pRr<OqFCJS;&u*2BTnKh)LYz>$dNO~vhvq}o*>p@j0*utE# zIgMo*qXlPXnnGqiLR!%l<bH)}E>2F)%zXcXl42yCND4Qzu}x<jp^>4$@rn^1`p7Y1 oz@>>dCN6MDh-T&@0viz*UpNDp3}8`&5(l~Hae&Z2*^DOw08Ank;Q#;t delta 82 zcmX@3&?mWJ29rQaesZy1Zhl^ReoB&Fa(?dQe$JA~5!^hRWmy6lH%qcjX59RWeIg?^ Vb(Nccay?<(+{J6fG?_`j3jonB9ccgn diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/listcollectionsoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/listcollectionsoptions.go index 4c2ce3e6d2027e426603ebdbcad27704b8cd69f2..6f4b1cca6de48ae5b1e97bdf0a5bcec9ce8ce45e 100644 GIT binary patch delta 648 zcmaFCvsq}vT&8+1PJMj^&oqUSqS90yg~YrR1;51HRR6r3N`=f~sAx`RZe~fbLP<ud zLP~yeX>Mv>NwGpvYDsBPUTTU$NxnipNO^L8UP)qRo<eedPEKlaNoIZ?L`!LLY7xk+ z#L|+C{G!Y%h?dggR6T`|jQUiCl+?7u(wq{7vc#OyRIqb0ixtumb07*bixu(<K!$;g z0NYcRn3I{Jkd|Mh;G3V9p6}wMP@Gy+mRh7xmReK{w$;v7!9>qMPazmh+y*49keQyB zUzDm)k^wSW8Em#57pEiKb<Rlc*GkII&)GbO=^LX&aB2xwHIv^mOVnePQAo>7%}D|I z5@ZwDBC<WfrLT|hABI2Jp<y&Rhgn?|t6L_|W>%NNDx+Ylpq8|`f#n8c31?;+$RIuJ s>J)7i@-lN2s<}8hIdhV6D6++E02e1`Ef;4k7Z)ca=_uqRbJcPI030>tssI20 delta 34 qcmdli^nz!@T&B(YnZGh_{>gTXQJ|KKi?b-Tq_ikcAt#xumJ0y*;taO{ diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/listdatabasesoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/listdatabasesoptions.go index 42fe17042edfae130b898cb7b3a0999c31ab86a4..496763667e2e65ad99fab6296d8d73ad403384a7 100644 GIT binary patch delta 37 tcmdnaw~KGXbtaMW@^Zc0{Jix1lq9|6{9OH%{N&=z&zU-zCl|6E0{|Jr4&eX* delta 35 rcmdnRx1DdpbtZw7{N!T2-2A-s{FEfU<ow*tubDcT8H*>EupI*c`PU7^ diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/mongooptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/mongooptions.go index ff6f6c807a85a9655d52895aab229e62828e609d..25689f521c85e9a9532c083af5156ebf2fe43606 100644 GIT binary patch delta 533 zcmbQD+itKSoq2Nxb3GSxMt=F^cf1lZMX4pFMR^J(8L0}n`6-!cnW-rXDf!8zxv6<2 zlQZ}N81*La;8U;nPfJtCECwqpPRvbJNGw(;PR&cn%u83u%U38%%qdM(NXsu$NGr|B zae-=gN=?fzN_Eai%u7$z<KhGv;f5rwV5^{%pO&V?#i_5a5R_V2npu>Zf^JE8Mrxj8 zSz>)=PGV9{szOp}i9%6gW^rn<LZU)(YEfBgk#2EjN~%I?QBi)8LS`D+g$4P=CAyip ziRq~z<MQ%L6cWo4AtvZ?al)-acT5q~4G<TF7NjJWr26FNXO|WzOn$?c$EY_sieI-L z<XWh!AVw-=<|XHprhuJ<WOF{mEm#8<98^WA1v!bysS1gCDGH@v%M_BqVWp5-mYP>m n3=S6zA9;cGmSkiWLzIDhi0nI5r=feX91@%mhi`7>=Vu21Q)ari delta 129 zcmZoSn4-HOotZInb2@W9*JN)VE}7(v#Ju!Wh2oN;)Wlqc;*9*#oD_x3yyTqHl+?-R z_?0ab$`gwfAgWRn(u(qPx%BlFit}?*6-qL5Qxy`^N>YmyN-|QRY83L5lS_+=Qd1_& Y@&!!J<5Qp9#$P>|NkDh=F9BY50AIo^kpKVy diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/replaceoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/replaceoptions.go index 543c81ceaf2094a418745acfa9e436bc1fdd5171..f5bc6b98ef4769541ae57179f0a2b839a378deea 100644 GIT binary patch delta 836 zcmX>h*{QT)3X@2AdAVM0eqMThN|Ii3ey)B>esb~VB~0fT>m3z}ONuh{(iQTH6jJh& zOLJ56N)$>m5=#`yGjnnjl2R2i^OAE)Q&LkDGV>IQQ;W({ixhJ5(~ET!3X1a6GIKzB zA^gO=6our{qN3Ei68{2)!qU{D%+z9ql6-}X)SLo^lA^@qR4z_^eT9;YRE7M4)S|?a z%zXAdJq3l3jMT~hnN=MUOBC|*6_WFF!H&RYKS(RcGCeL%XQ;Bwypq(Sw8Z4p>e|h@ zERxKVC7AhD3KEMFb5l!Fi;5M}@{7PWCZ?wsrKTsAq$;FV6cnWv7f()N)|xEM%3E)$ zXP~FxpOcbW1a=<8kHrxG7o`^D7nLX^<|(8W73CL!O)D)1`MD$`vsfX&pd>RtPfsBP z#K|o!E&&BtA|fDj6AKDJis9~2$V<$H1WH+APHAef9v5f5zP>^jn4<tQAvr&<xFj*J z1QaRBIr+t@DKJN8=I0edq9-L^Auqo~p(r&iwJ0?&ITc}PT4riaO0k|o03r~Q6Z1fU zkf)FYiGsxB<kVu2v5CbBzGaC;nTbg`sl}iePRvul2&v5cJcZ=^ypq(45(SM^y>vYV zB^8yj#3Ch4JuXh4)Di{cIA~>m&&UpqoXPh%q*%eRIr%?_Ixm=|0gd0u`#Dtvq3RTD zVX;2>0Eg)25>9bOw&2tfpVX4c_c$b&LG*tPRaT$W5{(>?K6a3$whB3$E4gkm>cI?A zv{lH<%u%T3;^gEk@-HYUhRfJ06y?J>lU;cVG&nQUKtdp6Fm-`M!8&|WC$Hm?0sxEO BBYXe= delta 57 zcmeBFIw84X3X?!eesZy1Zhl^ReoB&Fa(?dS6-?(DH)pU4GjBHJddIl=FpoIn<|Mx3 OjFVFYk|%!?5C#BiClu%a diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/rewrapdatakeyoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/rewrapdatakeyoptions.go new file mode 100644 index 0000000000000000000000000000000000000000..2ab1b3c5b74116c9493bccd46282eb47b34aea9c GIT binary patch literal 1827 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xGSV$5N-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTZf(keHmEn4YSTUr>^npI6KUGB_x;yeP52H!-i$C9x#Y zJGIguBB@Z63JsWIg~Xg3g@XLz;>@HRxMq;YQWQ$^6;e`@iz*9B6cY1N6jJk`?3^5h z+{BXPjLf`rg_OjSM1}0s%3_E|6G65@O{-MMOD$K(O)M@+E%HvS)Z;3tEJ#(r>7?S4 zqSE9Ng=#KNeSL+1qWrQ<Pz+_Jq~?`mre&rUgTn@7qPK6bLIG4>Pr)-yAwM^>q$D*( z2j)VMyGo0pI+9C^ic<4R6i{?=al$RoDlRF?%uDA2Tk8vRtO6E$5k5h&v<Mu=Q2&F{ z3(Q7@dM-{RgY!yKi_#L4Q>$yaYOzO>LUK`RVo7STLLxW>afVoCUU3O1jp=cvmF6X5 zhOCCBf)-BA)m)rKsU@XFc_2G9a4FM-x-mGl1Ri3=sU?ueC`-&KO;t$ChvXx;d|GB| zP72gb8b!G&+4;Dgp{ammvIZ<x6(Dg!$oU|n_2AapDyYHq!@UN!9pME;Ea311LIKI1 zfNRx&$Gbu%BCd(@3)~C^TSUIW>KWhEqV!Z;kp?P$k}~t486Z8gEHw`^allFfSRyJ0 zxi()RQK2|9FFhv}l#g+mpP8qSsF0IbT%wSl2P)z6iWSlli!(Cw^Ptg=*LfQG1trA_ zdU|>|6DJXY<qtB$$`;dK8k$_3pd=ZuqX3S51uI*HqQpE%!B`9`UN|$;pi;KB3VE41 zU@^|*{JfIPywX%IPR?2`PLLW{Y66>plGd!@<&T0Qk`W;LK<+|LlQ2UN#v+mj$Yo%2 c;qh*bh<5BI!&RcD5Rj8=Q4$Ks9bC0s0Ev`-Q~&?~ literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/sessionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/sessionoptions.go index 32bc20d5b94e40aba3b933487d1324961e8dd42c..ab5ecb5a46a1afb7a2c378c3be2faf86445453f7 100644 GIT binary patch delta 600 zcmbQH{8xQLDYHm<dAVM0eqMThN|Ii3ey)B>esb~VR%R9!Nqv1TPJMj^KmQO{jil7P ztjwa+^2}mQD}~7hyrT8xnK?NMNvR4csRc!;$%!SYDGHf+3W*A7r6r|BsR~7@IjM=o zsd@?_8L0}n`9-M;>8W|CMTt2IA(^?U`K2Wa`2{7J`FUU~auX{-MwJ#r49P4hRw&3x zOiooO$yZ3u&nqd)&rvAJNL5J8%`eR>QOHkIC~?lrO;sq#NGwrER4C5OOV3GF$S+7O zN(7mykeryOP*j?ykd&GRvbiX=q_ik6GcR2s5n^9zQBi)89@rncnZ*j3>3R7@Agj~h zj>{}oC{8U=$j<}Yo1BxGnpdL7#R>BH=6UQEtP=YAT+|C2kWtu!M}dr>$#jGV4ai_p aLPr5-$bd|O#T>T4nf!-ab@NZ2xhw$QP|gAX delta 51 zcmeyXK23Q;DYHOIesZy1Zhl^ReoB&Fa(?dSPG%OC$sc${H(%kfV4eJxUuJRuFZ<>M H{<$mw_ze<e diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/transactionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/transactionoptions.go index a42ddfbb8bbd346c6821fc1be2405f6c95c4dbe4..0b9d1081bb512224226f34337b02ac3f081c14df 100644 GIT binary patch delta 591 zcmX>g*&?@LFI&C7J{PCHzJi~Bh^t0YYF<`mQEGW+v8I)RZ(@aWer|4NNl0dHszP~Y zPL4uSszOR?K~ZXQVo7R>LS~*qqC#3}Noi54LQ!f?YGQG!o<c}QszPplQK~|EYF=tl zVvYhxcYbM!LViI>W`3SRZek_azNA!z(&E$<1?kK@h0Ky-g@T;K<Wz-{e1+uvypp2) z9EFmM)X9vj;`POudFeT+3i$=8MTuY&k`wb3ic0eol2X$^_7tU-losV>=A|nn<|(8W z73CM{fh|CFerB;kW_n(J5y;tTa5rTZD-@@eDCFmXY*R?i$xO{F(c|Jo*1Gv5n*=i` zkmwLbT>AP*!2}9za1dqYNm3L<AY-wF5?Tb45<+REdC3YIB??+0MTvREo8NO@WC8$g Ce9pB1 delta 21 dcmZpXJ0Q7XFWcsa>?+KYn>iIWyYlR30svgg2ekkI diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/updateoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/updateoptions.go index 4d1e7e47e24bebe97bcd252a45a1dd4090284e83..768d243ca14fc125a18b46b21647f88569ba3b4f 100644 GIT binary patch delta 858 zcmeB_JFK?h3$sXhdAVM0eqMThN|Ii3ey)B>esb|<7MAmj^^OX~B}JKe=?eKp3Mu)? zrManjB?=`Oi6si<nK?NMNvR5%dC57YDXA$6nRyDusYPX}MG86j>BTw<1x5L3nK>Z6 z5Po7_ib8T}QBi7MiGP7YVQFenW@@oQNxnixYEFSdNl{{QDi^1|zCuYxszQE2YEfcI zW<GnKo`OP1M(X5vR#k_@5{0~ch2;EPup_Y957G*<OplAx8LBKZuOzi7EipN@x_0wf zR!Qc`6)gNJ1&Kw8xv3?oMa2qf`9)wGOAAsGOHvh5D+-EIi;FY!^Co{_RG(bU##?Wy zXP~FxpOcbW1a=<8kHrxG7o`^D7nLX^<|(8W73CL!O)D)1`MD$`vsfX&pd>RtPfsBP z#K|o!E&&BtA|fDj6AKDJis9~2$V<$H1WH+APHAef9v5f5zP>^jn4<tQAvr&<xFj*J z1QaRBIr+t@DM;=vhD1+FzCvDpi9%6oT53^hUUDkJ(zMLfoRnfcg#bh#Bq!#90wGT! z2@(Z~$;qk3AY&7Y6@1GQi!u|Fa#D*yF`SsEkeHrcl$wqjSPIGcc_pb8B?=m;dg*!! zN-8R4iA749dR&}7sU-@?aqyI53KKgtawaQqNx<0wTq@E~aSd1;BWaxMz%9uSiFsRC z8rYn|t-;6^oLb_OS^_eQ8AJzgsR;U{mT2T4TRYi-Tbv!_6kCOy%~d>-OnOkO6clY0 y@-lN2s<}8hIZOQuN{Zn!whE>BFwW#Qz5)%-%ruY?$QVprAW^UmpVZ0k`J@0MA}Lw` delta 73 zcmX@C)+x8)3$s8<esZy1Zhl^ReoB&Fa(?b+4wmzbn@_L_GjHzWp3JoQFrP5v<`@BX drpfb!l7(xzxHyYaOG=CK6iWRIN{YE^xd7H+82A7H diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/readconcern/readconcern.go b/vendor/go.mongodb.org/mongo-driver/mongo/readconcern/readconcern.go index ce235ba8f25451e9cbbdf219bf5ac535eee83648..92429007ffc0eb4a85a779d0daf44117c6c9d2dd 100644 GIT binary patch delta 81 zcmZn{IU}-xkI_Y6Um+kdIXf{uRiP*~F(o-aFFCa+Pa!2WEi*5*7%Zj$6)aXr%P&&! c&Cg5EcX3k4FGwv)EXmBzE7sf0%lL}}0E62c<NyEw delta 12 TcmX>j(k`-rk8yJ_<4+C%9U=rn diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/readpref/options.go b/vendor/go.mongodb.org/mongo-driver/mongo/readpref/options.go index 68286d10a85d043dbab86dc9201221476a3800ce..8154198456efaf8075ec859b89056f7e639fd42a 100644 GIT binary patch delta 32 ncmcaAa8qCbyGVI?xn6F5UV45?l3sFtu6{~>a`9#Xc2`CK$_EQr delta 28 jcmca9a8+OdyFf~Qa<N`+eqMThN|Ii3e(q)wc2`CKnYanW diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/readpref/readpref.go b/vendor/go.mongodb.org/mongo-driver/mongo/readpref/readpref.go index b651b69e904f372df958c42378ea461897ad9881..a07e2f8bc65ec66b05ebd7db1f0cf87ea1bbcf6e 100644 GIT binary patch delta 115 zcmbO#{Zo1aAETqbzCu7^a&}^RszOm}VoE_#YMMeyYFcJqYB5+q0VI-Il$w{ETC9+k zU!>rhpO>ER;-pYmnp%{ZTCBI3mr;&QJ~K@rzo10H)>a`eGe@DCi<6TxIX|x?Gp{t2 Ni<7f<vj%%E8vyVlC364( delta 17 Ycmew<Jym)GALHf#Mp?Ga{p?w605_2ZWB>pF diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/results.go b/vendor/go.mongodb.org/mongo-driver/mongo/results.go index 6951bea653e20c9c2f88817bbdeb1d38d54700b9..0258238157114eaf5366bd90b14ca312f9c897f8 100644 GIT binary patch delta 641 zcmaFq^2u`pC!1r4zl*<yyT412XP9e{u92~sxu%suP-<>|S*k)wMyi5Su)m)|aY<2W za*0AoVtTPcex8C$YEEiNYEWu%X-<jWWEQqvf<dX}MTrHziFuVSi6x2Nsg;xY*+lE} z)4)a~mF8qClow@|q$=bWq!uNXWaj57loqF^D3s(Yloq5UmO!k^POVfZODxSPQAp0u z$w^HHt1Hhe$>7r0S11D8P>`CUkdj!EsF0mnS**uZQdy9yfMGYpVG70a5LZ`oacVi0 z=46M1TmX^ds^#L+*Pp~Ly7>~@LbiH+eUJ?<sRc!;$%!SYDOL)hdAW&2#Tkh?IhlFs z3W<3Np<ri1bStD}7NsVa<Wwr873JqbLMXFXAuqo~p}4f5Ait<2HANvYFGV3Yu~MO+ zC_kk%ITd6<N@iMGYEf!li9!)L=!zAR^K%Oli!>o2QB<0j2eJ)fl@=nbis2ScF66b3 z)Yn%a6lsY`nK_vymEiD&`2^xlxYJAW(Y>X&c^z*grwSJ*$byVih2)&l;*!*&)D(rx zyp+@mJuXgXn8+saMT|(?$@LOaoN(ov=S%Eol*!bCt5&d8C`rvNKnQG(k>ce50AJ?d A8~^|S delta 52 zcmez5`O;+rC);Fywyl#Fatd$0!@h`Z@;W89$$I?en-B1Zb8dE$oXt2nU&(cIkaRiY J=I1ip8~`DV6Bz&i diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/session.go b/vendor/go.mongodb.org/mongo-driver/mongo/session.go index c1a2c8ea329897404bdc837e5cda396c80fc468e..1c8b535c5a232a71a107cf3673f5a3bed4739f44 100644 GIT binary patch delta 481 zcmey9(V4kn4vPnuzCM?}zJh0NK~8FJYF<fVNoIatu|j^DLU3wvab|v=bADb)YDI}c zVo|C>UVe!}abjAkLRx;2LUMjya%oXfYF>##X>sc2hb%_y3Lv90N=gcft@QQF%ggn0 z^Yha4Q<C(O^K<o6@{@}v>+tA{V3o+`3BfLLo=3?Fx9bQwYw|-D`OP1BI@u;K5N20X zD9OxC)ln$PNL46?_)fi80p^MPg480g?>8?O)?<`QDND>tPAvv2PR=PUE=er{YX|#1 zaq>1kLot{k3K@yT3aNQ1sVRC~`udaa8cHfAB5Q}6jAno^vH_r=OU+B!EG_zkYjcl+ z03(ZzLSpe`S$=s9JuXg8&dfB0)S@B<TU&*^%p8SkkPv54YDsBPo<dP-u?|Rd@;Z6r O$-YWFo2Mwf5Cj0YZ>a15 delta 596 zcmeCo{FAX^4vVWoNJeI{LP=#oszPS5LSBA}LVA8terZW&UaCTIVp^&~VqS_uZfS7| zSS~45p|m(PMIkvqFS)d+C^fGnr;<xwf3hvF{AOlWVRlJ{jFOUqVk>?9l>Fpkz1;k~ z^!$`0z2yAd$!0wI0vLjoJRz8Z4|$X(Ur`p^oXcCm#+hG`T9jClnV&cLjj$|xa!zS+ zNovt%ArU=B-@FtB$CR?fyyR4Wn4*x(+*F0cqEv;n{33<Sypq(Syu=)klNIvwaw;+W zlAM^6lbWK(RZ>|n+0j6Fv#r=Eu6lia1=qY3h0HXNFH2G@N)$2@ixo;Tb5m0k@=Hq; z@{1IbQd9F3l0i1-q^9U7Bo-?arIr*`X6B`X)#l|ZBxitR74p**ic6D|Q;UoBxHvgE zL1vaz=(!dZX=o}a+A8E_<|tHyBshywOG=CK6pB)dxpWj#i;6&kwVRn0MHrbBG$zX^ z$<=G>fNU<$0NI?Mhud8so%;G@x-PY-NWm83u9_N!WF)srVRbCnt&_JY7;m1c^hFQ= D5{Adl diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/single_result.go b/vendor/go.mongodb.org/mongo-driver/mongo/single_result.go index c693dfae25c04443cfc60b025329695bed95a653..4760250217a7e96f6be08120bba0f83b48e5a94d 100644 GIT binary patch delta 889 zcmca6en)P@G3I)|)bilWy!4#Zpw!~hoD#R9{9Kp(<kH;Kyb^`vqSVBa)MAB11!N@( z<(VZJ3MCn-3I#>^Wtl0dDGI4YMfpWK3Pq{unZ+eVl{yNEc_|8sc?zX@DXB#{m6>_z z3eKfP#rZ`F1x2a4Ir)hoO(0{q>h<+ejY@%9t^+X?Y!b{|Jq6D+g}i*YJqnq{a5v~E zBo*i9>A9q)C6?xt1VLS*P@b8SqmY!UP+FXt0@j|G2Q@e)v$!NP&oa4$OJ83httdYi z?2i0AByZ&>Czlo#E2NYbfqVcCjm-Q!h5R&-(#ifTO7+Dh`9-NI3i){;5rv}ElG38Q z)D)E9(&N(C2U!u4k*WamoI*ijQDSatNotWoZfS7|$bpFpdHH#|d6_wIMS5ImrFqE; zcp^xn9&TV}UP)?ET4Hi)buBpLAf7}-iGmg=c#`u|Qj_&yfupIQg%YpTT%4I{aO)Lp zZ52SyspjJ3gm_Fr4Ow}0YEe<Wm4a(gkzZyGEXmYzan^!OfkhdrDUjr$V2d@bKw7yt zlS_+qpb5{ls7S%e78C%G#DknRi#4KSGxO@<p00+41jPFYk86UR1CF~?kb#PXePxBP zAM774?EdHC<kU<qEwWMoIhl)-GqtG53KZ-*-~davf+tfQF3#G``<ef+Zr;Ty!vp~F CdOX$u delta 17 Zcmca3cTIf5G3L$Q>|a?oJMv010RTom27Ukl diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/writeconcern/writeconcern.go b/vendor/go.mongodb.org/mongo-driver/mongo/writeconcern/writeconcern.go index b9145c9ee0c8675c90184c9c64eaf73590a499dc..29c667e3302156e9bb520784cca47089b95421b3 100644 GIT binary patch delta 741 zcmbQQbxMB&AETSTzCu7^a&}^RszP~DW=U#teqM5FQJz9dYFcJqYB5Am0V-Ookd|Mh z;G3V9p6}wMkYA8mlvt9PpI5B6nU~Rxr9LySB(*3lF*&ummWwk>At^sUhl`6-Utht` zKg3ldDK#%EvnaJZvslwgp*$orH#NVsM4>!0Cr2SERUsv{peQvtu_QG`Au~@QQ6a6g zq_ikip(r&cHL*BVPaz~DRUtROC{-anH7~U&F-HMv0NDKe0+2K66><|RL1vW}Lrlpm zDOM=RNlZ>vD9HzTp`<83N1-GmRUt7qzcjBzAwNx_Br`Wvp(G=*L?Kb3I5RIjCl%o> zh2+FMg`(0tuoX$EX&~E+QcFsU@-p+%6%z9lQj3c6i}VyiK^hgxL;Rs$O3X`9C{8UY z0jYwzQXxMNY;kf<W@;YP(?zMpr8y-EnGo|!^B^IfqL7rDkyw_QU!=FWgtd>QUSFS! r#v!P$uK)=^Y~fc=jR4fwS0Ez%um+z6B$?n1KYe`#%;4L^CC?22%F_jj delta 60 zcmX@5KVNGDALHgwMpqU^1qjH@D@iR%OH59!uI1v)f`}<7B<1JlY<|wx$1=G<kahDW H9tmy$5g-wU diff --git a/vendor/go.mongodb.org/mongo-driver/tag/tag.go b/vendor/go.mongodb.org/mongo-driver/tag/tag.go index 55cf7e31e4b72661a1993ec9d0cc0261c0ba0883..dc45f1e4764787e6b72f017379ab73ff199b8857 100644 GIT binary patch delta 80 zcmey%dysDfAEUFrzCu7^a&}^RszOO(x<WxwepzNpYOzA1LV04PLP@?tN@`kWUaCS` hW==_JQL#c=ei2AvdTNS7acWUnYEiM?W?se*tN?Ku9Ebn_ delta 12 TcmX@e_m_7AALHgA#`mlMAf5!1 diff --git a/vendor/go.mongodb.org/mongo-driver/version/version.go b/vendor/go.mongodb.org/mongo-driver/version/version.go index 3691f80f04de074eafe9d202d538098d717a0465..0ca08359df7a587b4a396d2a2c511ed931ecb53a 100644 GIT binary patch delta 68 zcmbQre1drcAETkZzCu7^a&}^RszO<6QE_H|o<d4$T4r8qu|i2ks)BpIf=f|mS!xkX RR&O#dV>6qffu4~P7XS?%70>_x delta 17 YcmX@XJe7F^ALC>P#wJz^JrgA^04{w5L;wH) diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_documentbuilder.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_documentbuilder.go index b0d45212dbe46857e37f9c2d0263982d34390fe3..52162f8aa02a43e461018c19cf8599d1db958457 100644 GIT binary patch delta 12 TcmbPWGSOtiGuF*dS+zv~Bl-ma delta 12 TcmbPeGQniSGuF+|S+zs}BmxBj diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go index b8db838a5fbe893f91647fe2034171397b9c54d1..17aad6d71ea15d2ca123c8a1f29f2bb141c8bdee 100644 GIT binary patch delta 128 zcmccrhVkPY#tob-jES2$Swh(-CvxX7CT>2<ohLAPfvg=97w2R<8DB<)$q6!|lNZZ~ zaB^|#>nnu#yZBGuE@L+NgN!ATh^DOaWPe#VQMej~l>Fq<+|;}hJuc44_hls~_e)D{ S7Lr@SGFe$oaPu*xnZW?Oqb4%| delta 93 zcmezPhVlLz#tob-o4Hs**_pZY^(V)3=WIU1ohQJoug^8PO2&8cL}`i1cV$E-|B^8S tD=?6?oLnTU3}#Q2b(^d&<2hMNQ+@J$C63Aa<+wL%%FSchd_rkuFaVGf9v1)r diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go index b687b5a8066c6196333271a751d65f4161080253..d6e4bb069f045024c857669a6f574bf1ebb3ce9b 100644 GIT binary patch delta 63 zcmbOby4in21mosXMkD6Qhgf1{6%zAOxb*cEic)hEGxIX@(iM^_OHzyVxYA1Vk|#Te TNl(sVO_}_Ob^7LS9J3Sw!cP|1 delta 722 zcmdn&KOuBO1fyhTNk(asUUGh}etN!caY<rwwmz6t+8n}Y#;m{@3=&cR0kE*1b7D>o zSd6Qdi%VaB@<Iuz$tziGwRIGVQgahC^D^_&x%BlFk}6A5i**zd^HLN_GEx<iON)w9 z^GX!JW=#Ie(yF4P05-)6BBU2ml$e~Vp{W;Al$je;npcvUo2sEXxrudpcu`S)5m>20 zQEEwPQC_h^qC#;=QD$DcLQ!f#QEG8&UI~Z;vIcCtLShNn&Vu~Ryb^`-jMSo3Fh3P! zl0tqm*exlO*Rg8qg3Z;?gqc^(#aXOiWeah<o?mLYQ)yaSYEdxQHjT-zSyk(;6rz<h zxwtsf@{1HQbrg~lb8<jBiW2kEQx!6kQuV+_DpYfEa%QF}WGX1yDj0xyoW*+KMVTe3 zP{WjT6qGc%I5}&%xHviW^%c_d70Oae6jJh2i}Tb=6ml}NQx#OR6;jJm^At)l@=Mb* z6f#THi|Z8%5{pU{^3x!}re3Vz7~rX+P@Jz&o~n?WUk34MT7FS(VhO}xXiydBD`X;! zPtMOR$Vtr1(^Jq0PgO|FDb80&P6XMTo0y#nQkbZaoS#=*l9*SbqmW+&b6s&seP&J$ z#9WvW#d;ubfWpBIY%3@<lvK0zRPz*6%alOAL-lxCZi!xSK~ZL2Nty;i7bGN+Nli^I iaNt072bJcfYN*GGse=L^k`NS%^`L>Nxml2Hks<&cd+R*_ diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go index 04d162faa19bda75fcf21e35b5d89ada9e7baa05..6c858a0109920fc7b4ad4e58a527d6dd8c6723ed 100644 GIT binary patch delta 280 zcmbQIxJJ2NUthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ jg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guvhIs-2?oV6% delta 9 QcmZ3ZJWp{mALBd$01-<9{{R30 diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/reflectionfree_d_codec.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/reflectionfree_d_codec.go index 94aa8f3348427a6d7ce8391ffbad04484c320920..7e68e55c1ef10ac03f2957d30124fafa8e585f0e 100644 GIT binary patch delta 451 zcmZ3zld*j><Ax=on^%Y)WuIIqYc#n~R%G&SSp_hCMNW#%Gq1$hNCV8(mYXnnzuel% z1@aD)x5%4LE|8a=+$A9~SwSHh%$}v7Ir+GPHJJTMQgm{REHAf9YI0_7VveDag~sGQ zMX|{lib|9F6fMANP782Ney^wuW=|Ft1gW3wufz`Kmnx}(>77c7VEU($CYW|qR-T-p zYzAiURfecxRMDPnpyD>UN~L<UplUzM<cGGhn{R5yGERPItG>BXyBfrh-K?u?%?uV< zZBPmlQQw?wlm%kQZe}x?4q~WpeqfpgV#rQbuw>obVxA1<Y*w&L0x{GlpBCWSeBKHy zs<FAu#-DNXLtCg>GwuDrYBp;*CO{ZxoeDq<+0A7xP^XBwWq?G~Hy?D*2Qwynt8i|v z@tg>D@?<x^%ai{{$4s7Ytjg+{S7M<7_Q)N7uz9kZO9K-@nq)Wg2hRX&*!&>;Gz$QT Ch^Z?8 delta 622 zcmZqQ%(!|d<Ax=olM}^-H*Xf*#tvdkz97RoxmH#V&R#F80B1i&VvEa70E;)su}$71 zHv`O8P~e%IFRuz_FP2vW(;%@n35m(J^1PEd75t!Lyp!D|g(e?R;N@^hEJ+Q?%uSt~ zATBa_m4Xgj!CVv0$sZ)SC-0Hvot$OD4Hnl`)P&OPlXDc6z-*8Ox|Up%b)~o`?^Be3 zi)Ba&g7xw%K|BUhHw!A}k0e&8qzKouRtaK0NUepm09ZetG8<T4Sy>%SgXC6AgUx0O zuFOr!&jC9fB>X~J1f+!%<e%b_#M}b7%xh(Bmegb&g~?(n)sr{r8gE{qQo%BLldk1v zTg_O;$(wYYHy_lh1~Du*N9tHJgG46lC~$5*qMrj2b>19qm<3{3ZoX$U9mH_nJjWyr z#IW2fZ<fJ0`DnQ1WO*~z%`45J=IL7If~1`{AG8X9Ff45RAdI!P5XR)SN*tTD>?0te zD;)|z49m@CPEaFuIcI=GoHu*A=0h0w-DZKEJ$ah<<;jIXtt_5-B^Hx6>RN5)@l60J WvE1D0mk4372h0Gg-MlB{Gz$QpoYOx5 diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/registry.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/registry.go index ac21df22b5efa500697701882d1b50e7b04b9b5e..3ca1c326c86b864fb470334ebf3c168b6e2ad370 100644 GIT binary patch delta 288 zcmX@gcA2AIUthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ rg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guvhEhhR<owO$jOQ2u^Rr&6 delta 17 Ycmcc2ag=Q{A7d#aQ-1R1R;F`|05y39yZ`_I diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/aws_conv.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/aws_conv.go index fa0b0d0ec267e055053f96f0d8076bb756972dc2..eb0032ce3f111b03851d222f96095a7490e684f9 100644 GIT binary patch delta 33 pcmez1dDnBp6ZXw7*@HybqGOXPOHwy`$pkP?7L-xkd_dNK9RT+=42S># delta 46 zcmccX`N4C;6ZXm49K4&~uzQK{YedH;RhFdcD5Mq@<risgwvh>7oXp9qvU#<v5jy~* Ck`M6! diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi.go index 6e9f398d0097f1624bf6eac96df4438a7c283c2c..4b860ba63f8b3d67066cf80421c5151f17de744f 100644 GIT binary patch delta 81 zcmcc2)6Tm=fYBvA-zupzGbcqMy|_5BAX7n2O+lkPGcP5-yjY>8Mj<CNue1WhNJ%Uz W&&<>0($`neM%Dll*sQ>4%nAT$*cwX! delta 29 kcmZqYz09*gfKfm@sWdYuMIpVoII$p;OJ9F;2%|A80E`I;&j0`b diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_enabled.go index d88b764fb648e078c873569402ef91049fc52aac..50522cbb6c7a4dd9c5511c3dd8855b336fc00a96 100644 GIT binary patch delta 32 ncmeBYS<JFQfKenp-zupzGbcqsF}=7ru^^L6UteLe0ONlEq_PSl delta 11 ScmZ3?($BI%fN`=4<9`4ZNdvP0 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_supported.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_supported.go index 55caa28445d23b4868c63750926d6eeca9bc6dcc..10312c228eebaf0d311c68a66047be541be65527 100644 GIT binary patch delta 65 zcmX@c@{47I0HaBIzEx6bW=@JidU0`LL8gM5nu20^W?o8uc`=xslbKgq0cNEn7L{k_ Oap~(TY!+ZNV*~)l3lq-( delta 12 Tcmeyxa*Snz0OMvCMl(hL9>oK> diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/signer.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/signer.go index 9567a6d63867d1f1126776ee779451fc3d6c754a..23508c1f77d69622efd1acf043fb3526fa3d34b5 100644 GIT binary patch delta 59 zcmX?@bS-JaQfaM>)Wnq3qGAOrTZP=j>{N~D*y56+%)E3R1p^(0oYXuGhyqPbuF2W5 L(wnbJ=ZFFTo+K3P delta 38 ucmcbXbTDbdQfbk$#3F@^)Wnq3qGE;U*y56+%)E52$qlm7n_o%ihynmO;SVDK diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss.go index 44faae4e9346fcdb0fb1c5fe362c3dadb0c89f6b..abfa4db47c359257075d581b0cbf7be864c7f99d 100644 GIT binary patch delta 70 zcmbQDv{z|^0HbAkzEx6bW=@JidU0`LL8gM5nu117W?pH9LQRcAN@7uYW}YUOzP^Gs NvMP|kW(CGC`~W~+7U}>1 delta 29 kcmdn1G(~BH0Hc6*QfX#Rib8sEabiIxm%jdHPsT6&0Fi15u>b%7 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.c b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.c index 0ca591f83fdd164c29404804dfb7ff4038bd7371..ec49d96125f1ad31f76679392cf8b37885bbce3b 100644 GIT binary patch delta 280 zcmbPiw9uqpUthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ jg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guv24P76`ZQaH delta 9 QcmZ2zGTCS|AEU4&01$ivi2wiq diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.h b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.h index ca7b907f16050f700ecd5c8bb72a155356eb008e..1cb9cd3c18dfc9609d77a198c4ab92b91404a0d1 100644 GIT binary patch delta 280 zcmaFK@tvz)UthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ jg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guvhD;U!TNYd& delta 9 Qcmey)^^#*VA7ds902C(!A^-pY diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi.go index f3c3c75cc9e9bde87efd3c6ce166a0bd5b7c7dd6..36e9633f8f18fc13ea62091491b6697aaec33e89 100644 GIT binary patch delta 43 ycmaEs(UQ4AfKe_z-zupzGbcqMy|_5BAX7n2O`$w9FD1Xcm`h(@VY2{Zm@xoa91czZ delta 12 TcmZq4e3r36fN`@PW0)}jB60+1 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.c b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.c index f03d8463a9c28de3ffc808b44e2f026a7e0b5f75..f655654713c41c6182f5a5d8046e4609e033dfa5 100644 GIT binary patch delta 280 zcmaE0{?4*qUthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ jg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guvh6mCBu8~~% delta 9 QcmaE7`M`WLAL9dQ02eL;`~Uy| diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.h b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.h index ee6e9a720b285f03ca1be1a70fd59ff8fd9c50e7..2d08e939e5eb2b57f471efb3a8675514f95c4cbe 100644 GIT binary patch delta 280 zcmbQuzLK+EUthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ jg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guvhS|&juR2?@ delta 9 QcmZ3<Ih%bmALDFh01uo3wEzGB diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go index 8f521f5864e85cf7f86bdafe873786cda4641325..fda3e313f95230e3aafad8919ffe4f393eefa8ca 100644 GIT binary patch delta 1106 zcmaEmx4fcWUthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ zg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guvh7=~{<ow*+)VvY}6p&P$pO>6pl&Tk& zm{XcMIf-eaVsUCwS!$6>YH@N=W<d$azX}QpDG09K=GRQ87&kMrzT%a2Ml}=Fw9PMt zZZaxCt+hh2Rw2Kjq*xECd-Fb#-;8pc81{m-Bp2y{oHBWvSkLBAaW*DtztnQ4#FFF; z=hC9${35ra{9Kp(<Wi8&iYFhGkcbBdYI12&5y-DeAe9QmsU->}`3i{&#i@m*sd>q% zy2T}xIjNxFh3O53$|xk~=YfJgGcO$+-~~nbWtl0dDGDi2OD69V7L!A<RRbnftPmZW zR9TWbnNd<rfQyq8>IkrFttP+ZlBwt7<m7ZoEJ?IdfSXsW0}>1dxyMQY9)2+AfW<*7 zYC(j)z5>`Vh}Vl1l8aIkOHxx{=?Ik8O7oJzQI?Tdma34KuaH<=oS&QtR^{musF0Um zqyPzL9fjh2kb?Bo65sryR4z_VeSL-G#GIUBh4Rdt9EGG*h1|rHR6Q<E&dd~WOeh$D z+yK#SrI44Iqr=6yIau-pFDSQ#WTYxUjRK|c+{8RkkfjzY<mHzr6qgnh<QJ8IB~tTB zKw(=@l&Wi@X96;wGc!#gDOnGiPV_=53sMynZNXttQdy7+7SJ%zR8Ug`DTCM#N)pi2 zsTVGuS(FORntHy86$*B?3YH4hT%427sY<AW)3s|(Dky<yq!gFvD8N#rk`Bl`sI{8~ b)i?5U=<6#4g@jldOg1sgV1=+2ne77rs<(3= delta 143 zcmZ2p@gQ$AA7cvB<mt@)oBdf1F?yz^Cni@afI(7zevX2^zCuVwX0bwAW@=7~LT0f- zK~a8LW=d*`LRx;2f=^~~iF1BVPHJ*VW`16=Q({SShI46Aaek5BW<IvJyql#&t}|{H p7yHgQSzn@)2V%IbLP=3+>gJ6SyiA+d$sFL_?5n+;e{!ewJODrZGmZcN diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batches.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batches.go index 4c25abd66cd661c28d43939eb1b672bce69cf507..3e7dca9ac1b27d3d30bf6f3eb84eadc33da9ac53 100644 GIT binary patch delta 280 zcmZ1^xIwsHUthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ jg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guvhD96z)JI$3 delta 9 QcmdlWyhv~}ALAkp01&GJ;{X5v diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/compression.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/compression.go index 39d490a9874d48a3080e442d8487f98545806de0..fa0dec7d7e3381cfb622519c34423183f9fcdb78 100644 GIT binary patch delta 389 zcmca1`cZ6yA0r#5QgLNo@@5~#AjbN##3F^N;*u2CyyX0p)S_YqTLm?cte$UTL3J$` zS6XRavO;=lNfbhjMh;kq9#o4@YFTQIrh<kR$QYQQjzVftQGSu8LNym>nT|q!wt|%{ zSQk`Nv7S$UVv0sipe7e*W*SJonv0XOD7B=tC{LkG57jVD9fiEi94^jUF3wblGr`8g zjMVc>Ee|isEJ-cW$ji)`?9VE}lB21~HF+b4ushVmyv!W17O)v0cfy?!T#{dussWOP zn5@YKa|PV0yv&@<vzS_$<lrKyMMWUXQG;c28msnXBQ|46s4{3!IOgPNWafc=usN44 Gn*{);V1jM{ delta 109 zcmew;c0+W7ALHgQ#sJ36ADA1NCVR0eO!nhqR|qf4EJ-cWP)pKLs46Z=(F@Nk$#Bg} z&QD1#@<}aA&6(WKraifz)ok(^E)M2$9fip;Tw1*G3bqR6dd@ld#i<&alV#bYCjVg# Onk>s5vN?&Jp9KK#lOrDh diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go index 25869ef4259ee6581c3bc08fd9e3222b6696dbf8..ac6a33c8fd981d43c6718f71139189a9c4260767 100644 GIT binary patch delta 708 zcmaF*l=1%y#tjXOn|m3%88_Q9v+%QpWag&kmrlMYC^1=pUxXdPEtx!#OMG$yFZX6g zp<r&7fW(rF%`;`o7$GbX`4cQ+xry1S8qu-EB}JKe={gDqItn?dc^Z=gl|<PzwZY6^ z%Cg3qnp~X8`FVM%$t9Wjd5%Tt0g0JK#R|3xi3J6zc_|v0aypX(l*CN*^z=y9Ir)dO z3M1EKMR&2yMk*}KOsa*OZPfXsL3DtV0f;}j&9xrH<#yZ6%vd=2xaVWW!p*C_q!~dR z?~9U!3W<3s3MrXIsmUeIa97)^7Ea#ibA+|fN<p=7a-*O4<cYqoA-v6vevFI|=Hx~{ z;mHL7tdr;a??e%q1?P!RRtr1}<rRj=O%@9}2IV~rIs|7)Og<322EyB17*fv!Wqu9g zfZ6mgNNTf8gfxr`vp6JjFGMZeDSA<};UeOb)uP2F|BgC|5ZU}7x*B1K_~!ChQD%tj z=7|a4piH=7OH$^ufzwLK<b?s55Ov_t5Xdl^e9>2OvQz3;B+=kBsK+;dN<#`G@y+}h qQb?9g=Fc#gT$(u(u2XpOn{4CFky%JC6W;tLyOxbfwQzENQ5gWBR`Ux0 delta 575 zcmezWg7N87#tjXOoVkf58Tv(uc`2J~82cGjK`cGL)bil`(xT*4jgrjVR6W1^at%$r z(7enFzr?(J4Nc9>+{`Teo3n(1xmg2CQ;RA$ACxU)gfgw=Pq4@&78IoBrD!DQ=jEj) zmt^MWITocCyA|c<hD3x+KBuCx`Ll`?Gh2+3YH^IxW_}GmX&77H*#IU!Inb>hCVa_l zH#1}L<UX&*jKz}^e8o3+db2Qs1bi++1Q?4aSNI-bEw)lnE#B<t$HWL>PImMYpB(T1 z3d-A<EjBqNU^f!aDsVcK2U7Vq@GKI~Ka_p)-JoMgBKw0^Bk|fo)*^VD{X;XDpxg-= zB9kwKe}VEG{lqsvh>(N12;>IIsQpk$5btx;TqqCZhBeXm5xmXIW2#{qLFU-Si88}w zMK|XrK7?^W24$u$ocu5i$==DX>C%&VGU_2(Hc!Z4L^f<~rW6u)^4d&;$->z)p=vi~ WAB0J6%y!$nH`j{|8X1#0OUeMwsKt{2 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/crypt.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/crypt.go index 36e0bc4abca75498f3337af79f0ab3ddc8691db8..a203ed29b7c6ac99351d5fbaa0b81afe6eaa8cf0 100644 GIT binary patch delta 2009 zcmbQ|wKsA@JtJRIaekgYh$yKnNLAXLz*xyF=9{0Fp6^^#Sx};Y09um;xkV>mXDOPz zgw<V?)2Xr`vA8&}G_|PGF)uNvvN*F?Ve?Z~0oHm>eSL+X)bgUl0++;+MDNr}g~XDQ z)ZBuSVug}?g(9$wLP<udLP~yeX>Mv>i9$+ZNuok_YGtuPZemGtMrK|*SUxQ?rzEvV zN1>o7wIHzwCR&uL3o^SPH3e=!F&D_rl6-}vRD~jg)RNMoywnth#A1a+h2osd<Wz<H zGzE|slk<yG^<1E~>Tz*GTsirIpsW?dE`{jWq{@<19ff?5YqjzVN;32FiuEAsd=v93 zp+545NN6f(M8{4}WRcqZmFohd10=+%xj2i!PEb%w1_fa?7bj;fJV31w0SdN64-wWn zlOOY3+`ND<lBFJEA=EP32cJSoK9{~eIP}0Sw<0F=(n|A^6*Q6+w7|a9ghn|iFs)Go zlZ%tI(3E6SsGhu6Oi>ag6rA((N>VFIG(cugt`zbSh9&~1V1GXyh18-V1uNUh_JUfI z#YLqi&lTbo%1nc%wSv?XkRk=!$q9U7^?8{&T%5IB;1mOn7O?Z<lS?Y%AxSenH!-g= z9+V`rQ!C>$^D;{mKvorllO!z37As`tDI_X@&CO2(OQq!(<tkJwD3vK$DMV|4Wnii` zbrkgU^kNlixj5_f^%cr9Qj1a*QWKLiAO^scfy@Nu3rL#H1SMa%RC0b^Nn&OmC=(<i z`~}WA*{PL!pfm?^WkG5REPXpwmZTQLLI$oy7#tRQKKc3Cr3J1<MH)(FN|PIfH0r?t z5|CI_oC@|$QEG8%P6^05uul>}9!|+D%S<Uv%t7QkG<%C3i;5B}brkZm6|8LGR-(E{ z53I)DTSJqJGc!#=F+W=YltU(8kdmlRttd!ME=f&MfY@HFkXDqRt3YflLGpiMo<btX z6-t_rXof^8Qn-XA=9FRym=u?M{$z*;^dL$!py7gHLNUm9(XkjMN_8z4XIg%dLc9*9 z-@!(L^c5xMrKjSMF9rt%a>8|~hn7}g{dysl1*r;(w&21HR9@@3<|d`4q#z<4YyhY* z^h{GoR44;^6_%=CNlCpJ5<m(?;JluiqL5UH6vhgmbeC6I0xpH~OA<3uixf&SK%tta zkP5X8o&a>XI5|PKm1LymDHP}Drb4u37Auq&<>#d<B<7_kl&2~bXXKaWq$rf67UgE< zC6+)_Sbk|qW?rh^<TFw-h?s{s8I+|!UR5pBQAp1(u~JYiR07+@2?}(qKGzE_0aXzi znh<puk%kCBxJpefPR?2`PR^p#dbGS#tYE8<SWu9fm!g4TP%*C9h1V<^n&7kts|K){ z04jxQxj==kYhH3u<>YT1Hk+-4UD+qMNI7UECl;q7#fY9ueqO2-D5N1VrjVDJqXQx~ aACzKdom?m_J^71#@#GwZ{LLQ}^jH9X#KCv~ delta 411 zcmdlRInQfDJ>%vzj8V*!jadsKy>p8Lit@`cQ&NkH6<{E#I6p5rzbIADB|o_|H#M(> zi!(SmBQ-bCH?aVw21Ms37DN}96lLb6$6{!iypYv%asw~hW^OhX*3J4n7Z~L<oQo<8 zN^}%bi;D7#G!?43IFl8uY!%d!LBiFO?fEX&b8+V8=cVU^Mf?j&ib3-E1tppJdBu9Z zAQ`X`8k%~+sU^rx*T^p@Db_<40W0yzPfpB%I~}43&ei1N%uNQn24oA^UU{&^dVZ<p zNS1+Rz!LtG-wA0ead9T=fyKaXQLt6WP3Gb(N-ZfZ%2P<zQOL{8+04%$#j<&!R2%!` wXNn4wos?7;Pf}u?yjjIyvcDSl<Q?i6tjQ%6Itr5&H1a1e<&fAsNkf|j0NV78G5`Po diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/dns/dns.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/dns/dns.go index c48d932a04a3d3ede5175acf1647a207d36e6c61..16268b593ef13987adba317bf1e02d6e44e4fc47 100644 GIT binary patch delta 61 zcmbQFv`T5iEG~nB#G>NV6p#Gkl41obTZP=j>{N~D*y56+%)E3R1p^(0oYXvx#FUhx Q)Z*gQVolA>o469#0IH`IbpQYW delta 37 scmZ3bG)Za0EG~(%#3F@)#G>NV6p#Gkl46DE*y56+%)Io?r??W>01mniLI3~& diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/driver.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/driver.go index c763740675916dce3931e5ff2c723d8283135c35..db5788aafbd8f0211577f2171b41f419f9c8e814 100644 GIT binary patch delta 716 zcmaFlyD+3)UthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ zg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guv24OZeE>3-Yg`kiSO9O?X)RNMoykfAC zmIfsm3I(Y}$*FlInK`MGce6UOf>kYMVq>faYjV!XFHTiR29d=IiFuWfAj+xC%u82D z&d<wBO)dciOJZIM+~oWsg|wp7REYAT)Z+ZoqU6+Kg^bjk6osTpki}q=5xVshAhu){ zD`cjm<`(3aq~?_<)Pu}SPRvtCN>xZs%*jbjQOGULDakCzNmVGx%uOxUQAo@w$;dBF z&rm2XO)5?;ECp!;DJ=$DP?8TdH#e~o>NthOJcZPvqWmH~1xIA(Cnx6R<(GhLDg`Bj z#I%ysA~}W35{1lSh~HE6xH!R%)X;<&z_nR`U0DheT9cP4q(E5$iZzq_6{R>p(HG+H q;y-z%qQ~Sfis}dfX(fxvVM;~_fes~YMuo}Sl$_y0n|~_3WCj2YXzSMi delta 108 zcmZ1&^2m2HAEPka<azAx`8b_(@{3b7G!;^dit>v#ujEvgnjEVVDa)m=uVAE*lvz@& zkd|MhP?C|Vkei>9s*sqMqF^}rhKdI>m%jdF1y%LQ{;C#WcDt(4<b$f(VD?*8=gk&s GFPQ;st|ABk diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/errors.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/errors.go index 5deb04ebadc9c8e73bbcfe0d8e42efa6b0e11f6c..20a7de55d612b67274cfad187adbe267456f9411 100644 GIT binary patch delta 671 zcmZ3UIyJjqUthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ zg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guvhU08<ocj6-u0=&Isfj5$nR%(<`K382 zPN}XH$*HL+sVS2eu!_`&Wag&kmzF3Lr<N$>=P4xSDdZQV7A2N|JY5b_uaE@s3P=YR z$iPg9yO5Nn7NshH!d0OpAME7f)S|M~B0Vln+;%J2Dx?+_<rg^?>-nXYYbYU1%gYBj zCa(l!7{nkQg~Vb7m^(4twD|~|Ckq#6P-3|P7)+KEke=)>slVBV+m)3ACJqwa+$bQ- z1{c}fD0Yqs&I8N)OCA^EPSpb$Wvh^qpFCMW=fUJaBPp;UV3EylbS|@qg7{Wo%U}dZ U@ovM@g5}AsAYUOF(QKpw04-?SWdHyG delta 78 zcmbQ5y*za@ALDVh&8IlrSSH_)*591M>&nVh%Qab1TyFClq0g+7&j@i%J}JqwSwM0r l)8-q}$Au<u(7QD`Sl3~)pP|%dZi7;m$umukPcAW41OSKw9b5na diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/legacy.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/legacy.go index a6df77f42b50b25502f72e2215518e2b05f0a104..9f3b8a39ac30fcec57c5f304efc0bc6aadd3cffc 100644 GIT binary patch delta 280 zcmey&+{jk1udm>oUr<?;nVwOipy8~k;G3V9p6}wMqu`mBtfydPU}U6QP?TDnnpdL7 zrLWJWudm>fnVgzeoSLFgnwOGVq)?KPs^D0Vn4FOclhIKKOD!tS%+FIW(lb!d04Y#{ zYEsg)R;bJ`Rme@O1R0fApI@R-TAZp-l95@gkd~Q~s*qZdoLW$#keR2DoS$2elbM*8 zoT^ZsS&{*^2x^R;LL|fxh5V$F#LPU9S&0hC`302<`Dw@s6%tDnGD=Dctn~HE%ggl= j!S2+{FG|<X0sBHAwOHTB)7jN8*j3j^&wz_-!)HbS-5p#p delta 9 QcmZo<`^>zVkMT1j01+AkGynhq diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/binary.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/binary.go index 3794ee5c95c155b1bb0bcc54f793133d69d53a29..9e887375a937f71c5044e569a210e82eecdcb620 100644 GIT binary patch delta 25 gcmX@lbB||(03%O&zEx6bW=@Jia&hWrUPdQY0CMpN761SM delta 12 Tcmcb|bDn2|0OMwPMtfEO9q|L6 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors.go index 8c235c5bfa2de167ca5a78a0efc84705fe7434cc..3401e738493fa4fa999585aa4130d68d55f0fd68 100644 GIT binary patch delta 25 gcmbQtxrlRv03%O&zEx6bW=@Jia&hWrUdA?N0B5ZS+5i9m delta 12 TcmZ3)Ihk{V0OMwP#%5*!8509y diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors_not_enabled.go index 816099abc95464d44377a58df225edd3ed7e8398..706a0f9e75e72428000725c90c937a6cdf86442e 100644 GIT binary patch delta 26 hcmbQjvV>)W03&aDzEx6bW=@KNVsdfnW?n{iMgVM>2Xp`c delta 12 TcmZ3&GKFP>0OMu_Mixc@7u5pW diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt.go index edfedf1a301276213d4b9d108fb9a1382827b29e..214d7c47b84dd8641821896389f783b444baf4b0 100644 GIT binary patch delta 4108 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 J$;n1A0syCPs6zk% delta 219 zcmZoq|7Np6fN`@tqYUF@CnojDy-a<ZUo(3#O>W@Kn><0EWAk@TH}=hQL|j-WM@m&p zmQoblEGzw;Y4Rd&>B$CiiIY8*>^3(jEM=PfRkeR|qO|B{8y!|A_T0>r3LS;q$>;dB z)Y9^c6tYt*bre$alNGFN6^at`(o+?RlQU9t6MYj46soy6IdfAcCu)jJ4iMl}&PmNp z%`4H!P03Hzf$P)c;;iN3gowo}Og7Mz<af<Wfhq!7ra5_^o+b-O!Q?M`>o&(3X)*!; DeKklQ diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context.go index dc0dd51455b648200feefe17801cca57a2864330..a538019655433c7c9975afaa6fc4656f0ef085d0 100644 GIT binary patch delta 25 gcmdlhaYkZ;03%O&zEx6bW=@Jia&hWrUPc3M0CAfK{r~^~ delta 12 TcmX>ju~%Y)0OMwPMqO?I9XA7p diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context_not_enabled.go index b0ff1689203aba211fb7a1281a87fc4ed86d9bd2..624888a2ffca93285c26e7f0500b69851ab182f1 100644 GIT binary patch delta 26 hcmeyv)5E(#fRQ&n-zupzGbcqsF}XN(GcRL4D*$&>2tfb< delta 12 TcmeC-{ll|CfN`?|V-70-97F@C diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context.go index 69a72d5c50e6cea2791feb92e8877ae18bc1fd63..296a22315c4eb628ec717990a6196559a6f1f8a9 100644 GIT binary patch delta 25 gcmZn`o+P|MfRQIX-zupzGbcqMxj1z*FJl=80A^kX!vFvP delta 12 TcmbOv+$_97fN`@tV=)H+7+?cS diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context_not_enabled.go index f2632a86840e31097b17bde1df9ec74133021746..272367ea55ca7a8f745211c2774ad0977d548aee 100644 GIT binary patch delta 26 hcmdnUd609103&aDzEx6bW=@KNVsdfnW?sf6%m8$52v-0A delta 12 TcmX@exsh{&0OMu_#)ZrP8}kFc diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_not_enabled.go index d91cc674618c9a1baecc3d1c8ddd4c657a6fedd3..45e16988c663de376baf69a8d4a15af1a286826b 100644 GIT binary patch delta 663 zcmcb|e@bkF03&aDzEx6bW=@KNVsdfnW?sf1#`>_-qT<Z_JcXjvlG38QVug~7RE09A zSaC^FW?s5NT7D5&I43_bB{fAMCo?HGKQBE$xu~+BL`NaNNFgy#AvL$4q*4K*flFUs zAu|nCokDqHu|i&ci2}qBJ+8FUykv#2R2i`C8k$h83e{Yk5SJ(@DRFI%WYT2e4N5I9 zN-S_mEJ^fEt(<Jntjb;l7ActglttABMb<e#uOzjiL?bOTrzEvVAv!jxvLsbUA-|xc zSV1elpd>RtuUHSF!#6Rna<U_9@Z<?>$Lc{o3C>6?N=@;}Ou`o;d8N5YsYU1^0uG7z zVz2=qZx<yNRe}S?02B@-8L6NU!KMfrDjcw2nY@5qLKd52G&B`TGxJK!OePz$t73I- yFeI)Zfk#X<Vsj7J(TRB==ORZa)E5d+Eixz`h57;63(DBM0C6BZrY9S+uLS^%SMgu~ delta 33 pcmX>lc8`C90OMu_Mt{c50?f)RlOHg%Pqt%YpRB-fZ1N$l4gjuW3S$5O diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_context_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_context_options.go index 0f7f43b931ba8ed695a6c6188254384855cbc0e3..fdf704ffa0d5d7fa98b682958f3fd9be0cd02fca 100644 GIT binary patch literal 4321 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 delta 40 wcmaE;_=Ru7KgP{MOg9)Oe_)fGT*z8J`5mj=WFa;Yw&Iea%)Io?DQwr608}XtYXATM diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_options.go index abaf260d7969d3cb28b56191751814d3fc9645cb..7e90a0ecd3aea5b5b3c8c5fcd17f0a57641237af 100644 GIT binary patch literal 2263 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xG}kRCN-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTZf(keHmEn4YSTUr>^npI6Mqm6=<RUsR%?!NsYRp0Ae+ z3Y(N9umNDUZc0&RS!$7fg?>_TejbEO&M!(;;?m>-ISL$@&PA04CH@c-6^aW|lQYvY zQ;T7CD3s(YB<JU)Wu})Fr79#s!XK<fAv3SI1mu4`u9C`vR3sU=VI@VS$t4QaT%6vy z#Q{b6Wtl0dMa2rJ0OT@|oAg}rlS^|`^Gdilee#nNbAppIQgai16AMt3=Oz|J7nc-e z=B3AC(dblJkXT$CSejZ?>6n+8Q(2q|w=F3@KZlFcH7^<D+td`d%+#EeVr0|tn+*1G za7JQLYKl*0l1pZBVp2|O3fO57lTj7;m!%dJWu~MCB$i|-K-|k!ix%Vx$wjG&C8@;< zi3)kC<ye9b5x!}qdC5o$G&B{oFr%)Ti?b-Tq_ikcK@CH)x)y4EaB2xkTp;2blnuOn zgB1$k@syibpvMKaS|c|fi;bEJXr^goBS$kv{NQqRZoVFhn`{-3&4K$WHy_~#v=oBs ziyTn$Q78td9|fX3fohxv*Z@TO!<RDf_zBfe1zQDFW3l=RTLLc5&MYVfml}SlsVU&7 z^-V0w&df_MRwyn>EJ-CCNmz{4NWzj=KuH;okFXe{V5@+|Agq4FlJ`*KEftnI71F@D zleoCUG*%-uEg6)v$&5El0~Kr)AVy;K7i!Lj7Y(Tu1v#0?nI$=u3Mr7{qF5m(KQSdU zFC842;DRW=7+j<%<YXolB^FgGWTq(;r<Q=q+>)YFA|e*M-5O8}Qxph9D0b}%wlEi` z5aD6eqAs-rl2r4d1)xF!s01v@$L(cMwW<dyNlG&F(m|C{Vx9u3Zm4e{2B)N^C6?xt zDC8HU7A1nTC=^!~m!#$@q*Uf5=4K|tgR(d^u_!qMY(L=)f*KIWUeW-208)hG$r`u~ LP_PBN0W~B6flDHY delta 20 ccmcaExQS!KHO9%07?mcsu*hsa#U#fB09!8ym;e9( diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/ocsp.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/ocsp.go index 764dcb4399c76dce83fd8d190ff5defcd63198d9..ed625706b7915b9c5d888a3d5e9c89dec720b14e 100644 GIT binary patch delta 1323 zcmX>d-x9WAGvnlajQciUVmidltYBq3d7ZQvn~p+qTDs=udwj>ZnG<tzCNGyV5a-g@ zS4hh&DlSndN-ZwP&nr$<D9K1Hnfy-5hnY)Xf3lUd#^h9KjrvTGf|AmrykdpC%p5(C zw&eW0lEmbaAh5oa)S_aA^30qZh4RGA5{0z<B8Acdg_3*)Q-$Kx<ovvpVh|@iwL~FN zAvv|EBr`2DIk6;Fp|~Wmq_h}rxgJ+qX<o7dhS8G`NGl0wL98lHbxAEr%*-jC{9D>` za)B;ey}rJJPiAgri9%vdj)K2)Z~)Z2l++@H<iwmDu-%CYxrr5-xuv-Z`DsY5$}dtV z&q&QvD9K1wC`c?WPEFCx%mX_hwW35JwW1)iD79FJi&I};p*$lqIU}_!wMZc&v7jI| zuNV??dIDUW$t4v!3dxCi$*DP@(7q@u;;jJ|Gu0}|%uUq`28V$r7iUUp8rV@Fl^U8{ zT%74e`K1Lq3dtoE3RboXsYOL#0lo0dk__kkypq(45{=}|Rr2wS^<11FM+BE77J&j0 ztPJFp^!%dy(vr-))M9YVDWoPQXDB3=l%(bslz_s#D7COOwYUWAK`bGkR+OKske`<d zF+D#GtPUK8sd*^{`I&ho#R@r@#U-irDGHg8U@A^60tEt+VR{PTsS4$Zd0-2biu2P- z6w(qibCeYF^FVO|F*~)WD8Hy!N1-@hp(G=-SOFB%C7Jno3VGl#ElPzXuf*h%(!?B4 zNaPn4>nZr><y0ypDk!DY=jWv=L4*}DK`92LJT(PkHaH3sq0wHP3Q>@pnpu{b0<kX@ zq!SWmkZ3AaNX)BL$S=uAEmFwL(=8~<PcKR>2AK;Eu3|kdPDtG7x#w$uoVxji!Y)SE z<dO<auE{Mb{*w!pgeM<Rv)KGyZ8f7X7bhn;b~5vl^YfB(N{chgCX1=qP5!JQSD%`f z0uEHTOe(^i`H&EW=e^{N#Js%J9EHTZ6on#ifPnpu<aJQ)1la~kkD%<9oLCCZvq&B+ z$%iFHP=1iY?Z?S|ng$`DQ1(kL*HB6U*`mqC$yuw(#aYY6#Tl<)s{jr%z3{}$5)Dl* z&f?UZ)Z`L{YA(*?#Nt$tH$aKjMmImXxB!+pi><ggC!Z6QuP;h1h9vmJ(wq`2NIZFh z(^nBVg7Wf_^J;M_D6xQYA$nlwfRYeIDI_zeW`bi4l)_R|6!ME8Mwh38j75aMT&kWz X5F`k}B^D=V5uC@xS-bh1)?XF?1jEUW delta 2398 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 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation.go index 56c10c4476aebf936e4daf6121fcef0c5e45cbc6..4ea80e755c6c58b93c3391b72ac12796795ac836 100644 GIT binary patch delta 6994 zcmaF4iuvDl=6Zd71?T*N%A(Blj1mP6XH5m){Jivh7bhJB&%9(k1tS9^Bi(|c)Z)~< z5<M<`eJ*`{1)t31)V$)<6ot~fl++@Hl8jUZ$AZM<j8vG6jzU;!QE_H|o`R8{fr17| zff7`clBTsnWqzqbZek_KsJ#085{1&@RE3g^%wmPK%$!t()QaTPf)a(yJcZ=^+=86U z#JuEGh4Rdj46sE|WAqdvA%-aACzT{-=7G#gR7lP*s8q;LLsqDeSfY?oQc_^0uU}qX zu9paQr(S+hx_%DW7Xqop`aYh{u71I;x<+~iTwEK%*z1E*ONuHJlX6l6^7C_Ci;D7# z6f%nyK<4M=r6!kvJXVmOpQDfpmMY0eEKx{K%u`58RVYd=DauSuQ7F%VcqKKtv?Mbx zT_G_~A-^ECC=sMrkE^7zAXNdIC3z*OMQMo=$*Bs}T%2$P8k!18`T03qwVMOkFUr)1 zWag&kmzIE>1Pa;2-2BqK60o;3b3p-_SON)6xP@THrB;C4lB$rDnwDP#c4%o)9@J@I zf9NTMWTYyjq^2d7=9DOuCFYc-a&hYGE97P7=z#o_oS~4LnwVD{r~vjb$m$ZPOQ1mx zw@|%UAvrN8C$&hSJToT;6fUL3sVRC~oG_<rfpqG*ltKbzvy93N9#BH`OjF3qS4c@s zOv%a2O9gqbIJHC}KMx$C1&PJQsVTbPbdgt*T2Z2-kYAt&GcmJRp*XcfM<FpUMIkvK zEDzG3mtUfgm{XLRm{JM$Orioz15}ZYLPmaGevv|cJ(5{@3VEsJ=qeS`K+0f|r~nDi z%=|n(F3!v}g?JsfyMt3p6s&9&l1nP|T%caj(6m-ig!v03ucn6Vctu-<y!y->1vNDV z#Y|8d$V<%8^DKrs)fwU)jpULFO;Ebv%u6kIE~(G~MQd_uj$3J7GRQu-M&HEjR7|Zp z3R;NZ(&XX<MQu=ON@^M?q?1c3>J>`zK`{l2SCH>PF_d3gqMMRhlv$Pv4^%xaPR`_# z3I$tG5IL7rKn!vQWzrmQG~v((%7-AMQ}a?lN!1ma8cXsO63g;4Qxp=F;n9|pnwSl; zCM7j3wFt?R8k&>W8Keo9B^E)mS+PQ9UI{4lCkL8~PX23ha&o`fBsDHhkc#4>vLc1x z)S|M~B8Wh8eqNq}b3QBsPxdx(<t->mEpsg@g5=}L3g(IRp!{1ITv||&UsRHs0t(i& z#GK+(F3z;fqGE8gmK1^VMRI9Tk!M~?Y6VD%0T(!JfeOhIxBMb-zEvnnP0lY$DF%lL zIDbL1O>!bAD}Y78c7c*ja#3n-YF<gPLQy@q_$Y=XW3YK(1E9v26jdtZ<mVSClqD8r zf{LeNP@EN|7M7+KmnbBHVnm@B>}7B^fCzy64K1@k2^bUyd8rj83W+5psksFudR&}f zdm!$vFRBE2D6KRvStAt|FpxwCa&2a6v92x`Cnqf2Y(XIhNdcZ|3gxK^>7eWeib!ZN zsiTmblV6;wkXfRTnVXxMl9^bNno|jJbxvwxajF8i94$&M&Mz%WPA#qnWip6?#idEb zAfM%xz+xMeCNk5&rYnGQOlA%^H*kV{sOJo_M+20uYa#kUxeVl4qyPaaga$=PKB!!S zI0Py9>XE|_p&Vp0I6>Khbb)dJC^11fwOm}BppdPG*y{<YexTOo7lGXiwKcIQ6=Z;p z0w^X+@)e3xb5fI$W6nOc2po0ksW4GgM`WfcK->YgTcM@~Y`TIigj>xuS;ozLGLyA% zJt%iWT~d@<Qd*RkngWU|NJR#UN^tcCwyPu~wJ22q<TQ|YW@@oQQEF~tCb(|U$V*L6 zEXgcO<>KT7ml!Z5;F<s&F_j9LdEinc6BM<YI-sPTR}Yl}MF6~3&{IH-6PTIMA{&}y zKyi|nnFFG5rfk$e;RKbxMX5zaItuyOpyZocR9~d00nUb?TmrAeHLXDk)YKF}iuK^~ z8k(Sj7v?iXTLlA1y5dC68AX+#3;{}CoSdK(SCW|rDhD_@IYIFc2^?^MXBI1D7S}5z zLPG%LIdBN87lRrBkdh#+C_h&rQ2~^VGV@D|VR=ypq^Gn9THO_;mVqQ;p#;&HnO9tr zng}jJL17CjhEnrNz^MS5#=z=yK`9m-E+9KVMI3U50eK9RCcqAGEh?JK?I%|cEp7Aj z@=)>;BvA*I<|!1Hq!xfmqr?)0+|puDwVYE4sxXR5^I%mpq>zM`EIJBFr6mgB3OGG6 zGfx4ON1%ZWa$RPc0z^3|-*D>J>npgVmZTQtf~up;G*Czsfzl!<T^7U3V~`oh{)VS5 zm<wP50?B@$u+!I9NJ%YDF3Kzbx4jespe<IAQy`h3yeP9IHN04%xF9t-Gc7Y2+(^?= z$j{5ER7iol3DQ8#2RC=2=0e;Lu?m`(Q&X%Uk`PisVe$kiiF%l`AsV3J1F8n0sRWct z6~N9wv=S9k@>7dprhtPH8Vul|L2`MqjzS8kiY_Wv@C^+Pfi_G)4Z&2XnXZY&3eX@$ z)(1Dd98>^+A}Tcx<PuOr4V*-ZkZM9(g~_FE3iVu2O`cSWA>_ExftsD1lL<=Gpa_Dc z0I0)s>OrLoQW$|7(wW5&e?n@_@>GS4#In>pbx;=qTC=96K#c~aosx<?g}l<-q|_pX zN>GatVm2gHAqEx0Qd4niF}N24%EXy@$wjI4pn4kY281b~#0)BKofC6%K<#NykV25U zkcvD%uss@@;KUD2C`hTXSOJut@(c2F^3y?H1vjiy@<Fi;bue<AXM*ZSja0pKJ%!?u z#JrTmocz30g%Y@SO-O4S+`@p>W8l)DSWm$poS5^$9RsM*$r-81*<go(LIpKxmgFmB zr=}Kw0|nfj0cDY5g-jht*;Jee>Sz=t<`pM`dqdzLfTb{a>uIuKw8Z3lPU4e4W{FMa zF_Tb-Hl;Yh1yg<jqy+ZOPf68tg(N%;a8qM4r<uxR9W#r`$!02QoS^C)RLH_hT8K++ z6=0@;%HPQ~hOv|9SV>O)XlO0USzMl3lAHl*VEd$|Cni^diu1|#Mq-mgj4Z@BlR?c6 zh=hA;iEn;UsudUK<ON2ylkXVGO#W_U&%{|fIWb;(a)7Zq4zs$96(_GUcAoskSY|T2 zi9I{mk+oc#r<q@2s&`JzNiNMvEJ=m*p+MPOJvXre)FSr{R#!;NOwCCF)oum(C8>EO znTa_$l?sUk1)zp;2`GX<o!z2Th1}HQ;>7e+g``AKPaE0?f);O(LK)hFQ7?w~JV5n1 zB#T%Ylw>Frq!uNEtjI}K2nq=S6#<}_2DRS7y;+cpK>bK){{j?=pq4Y-tqP@?c_n5h zT;S+}_bzaEOF-3dO6p`q2gQ1Dna&AsN5E{dvQ+?e5A;IwN-}daVErLYaG}Bpw>K;? z2ULrLE!RLdLmzB_Z)Q$TW^rnAeqM^E0;oj_N>d=mYJi$Ydi6meA(jRjnwW|qR_W_2 zI4Z#HgT|8$sN&DeO952?snCk99MUj?_8>uhnEWDzg2ZA_4?7jqn*jAgks<&ThMb(4 z^=SyxLB0VS4G9xYNOKI-b4e`%b@RfD5(~gX3~3s!MMba<V|adPPKr~iYejNuYD#Jf zxM<|$<Wz#j6(Ytn5{qFST!p06)I5da(xL({a93F&sZv3;ObOJgfVStL@c?PXKr$90 z6l|gKtpOJbOU%)n9A&it5jC5CSoyOUfvU5D{Nm!wq?}Yx(*qO;kk+N10;CHMO_~rv z9fjn{PWBqC;8Z)g#$K)-?tHL%TnSPKIxv)~fF(794O0MlUZEtTD782vKPN>`!5`Gr zD$guVMd;1V%*)Iz%~i-x0++uj3PB;}A)t5ybtOtF^jwRIG&E8A6QGU{r27t*<KpD3 zRY=V#PF0vJ<DjMnj>gP1L<C~Z5R)ApBv`?zaB{qZWIZRuOn4?DCDN6G;LUMR+6U!W z)iO|tkpn83!A(hMyn+Tia#D-IX*Ul!&~!^cqftR2Axb(}GaxuYKs}k6Hrd6&gdOVQ z$$btIQlJV0lv+R~Ehv+NJp=A?Y~J9Y$;1gS@i*Uf+QS4L$U&~Yp|x0Q3cR|37Gy|O zIkbd>l<wfDD#F${0F_|iN)6=M<ovwi%#_rk)D&<{1#aBv)PqVvP#sOUR|D3S32$Z* z=+uB!SAtANI2)9ZKtTfXEwr`7T#}kHd8w=VWM%i0f=GSqqDqaD63xxe-K$sxID-<) ztrS3@q(m<$v3zs1Pc@SiC%if9T2urQR<Koo$WOlPcYg9he>p@@PrmEax!EV+?Pzf0 z5AOER2v%r{EKgN00@bG_$r+$_8mLhRDlQ;Jd{Sabat3nWS4SZ+r3^Hz1*)q-sSZ49 z0#*hZDFt`)^3+S9<q#xo=qMEDD}Wn{p!Od)rIZvU=G8-+Nzi5|s6YmdYk~{~r5jMo z57Hoov|v;6L5<hqRH)g|yns5AfEd336}6zgs6uHm$X6gk!Ob(IJ~AWM<akff$)BRs z5$R{MY&5R~6Bp;?!YmOGWnZi-#Dys6p>@Gzxmp`&=t0|=m7shF>MQu<C#E<h=72&d zMMuFgz*C_NI_95Q3~InCq@*V2Bo?KnKs;5RS(J*bqBJi%FTXqwJhGKvq<|>4%pgU# ze?WX-sB2K9o<ba2q3$0L?;Gq68FdA<rS-fs^HM+sIEVx5<{`Td)Vt3w(1Q#Hf*cAR zE>TnC;^fqrY;SBd`F61kqvquA#cJH}%1=jOvTTVlB1AU(mE<uBz@=dU^sz>Fa!nui zWb0bl&HQD5SzseC2!)x&3h70ui6!8EXJVd$0jTT-we~VgKuHT6Fwn-H9+qZFewu;- zq%WFUQIM0FoLQ0s8OnxsSHVpc#JIg_QffwGSte+x8a$W|t1=*|NEcLGLV^zAKsyD4 z$@_byCcm30ECUx+(gD?QW+sT%fac^|&6b-TsyAbX!sd@PjBG>O=d$>Gt~vQ*kN#%a g=BG;H3dQ-ksTuj@3gGS&IQfS7yZCPwSr)1f04PF600000 delta 1457 zcmex&o%!V|=FNPJVeFeY&&X_Eq&A6XvR|FV<U&&qvErh#A{~X~{JcCJh18-V1uI*H z`~tnnSz1z)*Xqcqq!tx%an^Eirlh8&7J-%NIp^dTr)p?&fdq?_6|8J0Pn;w@S<TsM za-y>sBiH1!E@qS0IkTx1muHqFXMjxeNli~ou2iVz;^a(DEKXH`@ZB==QmnWp-*vVU zK@xROE%D7SO10vetm|SsIom~ga=VKiYc0qTlh3-?2xBpIvYe~pWCvHL$<40PlO0?| zCU17tVgu{onrw4jW^%o`MreLfW_o5`Vh+fU`9)luWr;-!MX4o4nW@DJnRz8#oFGnR zVp2{jGz8#$jg-{lWWC_jqO#N?O)k#NG_XFf(#aF^WF|i~J<7;6InGInEiEypIF)Pi znmo11iB1ZWo1DxiU(VBDs^yxz(rohNt>y`$$)!a_o_Q&$6(CCtxH!}DixjFiKXJXn zG<lu(1Qt*%Ox|}(Zt@yaj?KkB$}E%51}JAMB&8OY=z@bNFSVpRzbIRwD8Do>MWLi9 zvp^v!H7&m=RiPv!RlzwwuOzjigo~3?Utb|5H8CY8GcQ$7!81)EFTX@bA-O0uu_RR? zQ2}O3YEe;skwQsEVu?a|QDQ-{LgHk@U`cQ?$S+bz%u9ioRGghz05(4{xui5P2g!0h zuF2~?HJH@YCVvkyu>hqWaN>cQ?+P+rBN^f-Jr}5ZTq}}OQ&Un?G`ToAYZX#+ic>eI z1Zy&}fP#MV2S<s`>q3_>@t}nAgEaL3P;_Lb7VGMAadL8U!ei4G6rW%rP}sqerh>k{ zf@4{JW{N^iYGQU~UOL$MAQh>}C7JnodR&~7&s&)*fg%&+YDHUxyv!Vhni_BdSFnY1 z6(>)$S6~AtT+YcGEXC?MIXOYbz$^mW49XrLM-`=(losVFz}yCws|AyonFqTI^HR&f zE`Ym|lN02``~p4aoXpg`5{1cU!Z;^Sh}^vSS$YNI=8MsPnKnO(D`lEomUu=Hq86Nd zQ;Ul9G{C{HX^oUxKR8NEUKd)p`BT!{(GZ5F14yW04dGzc$yRw*?4X3Hpr$tYV3^3{ z36U(DXXJenpR7|VI{D;0?#XN0lo%Bzub*T&`J9XCWStI~$(|i*ldC$6H}B}kVVwMM ziP`3yE-BW@`Lj$m@0qZfaq`J|+MCx*y284-X{La(5Em$?7U$=tX5^PEBxj^1XK!A) HCsZE*c3tqK diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/abort_transaction.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/abort_transaction.go index e8cf3b766c91260d84d96253856e3f8c246e70da..608733b45fa96a9df293d2c771a5412d3b3d4539 100644 GIT binary patch delta 15 WcmZ3bwMuJ4Co5A)=H_nJ`TPJdy9KuZ delta 15 WcmZ3bwMuJ4Co5BC$>wg>`TPJdum!gO diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/aggregate.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/aggregate.go index 9163fb7cae8a11019531b5fe59ec59d4f7554687..be311780d3d1d5dc07695eb7a298c7970698d213 100644 GIT binary patch delta 777 zcmbOgJSA#_JtGIFQb}fRsuI`aiH!1_;}|C}>NuvS7p0~rmZT~ar4|&W7N_Qw6e}d= zDI~(h^9xdo5=%1k^Yk|JGGAnl;Y=<qF3HdJF93-ZD<FZ~#DeJJlA_GK^w^~0{JiA+ zqEx-G#GKMpE>4iO`K2XDilIy`kc^&7Da4A+ciCPsM(XP;1f>?2=9D;>78U0g1*H}j z<mVNGTv$?Clvk`!l98%VnwOGVlvA0Rm#%=J3ZzvbKTRREA~m_R1f--SBeR%GUw`sN zcD2n9IYbzlN-{Tp=lsFU&KZ)Ko0?xb*^yU@Gf@xZmi*F^&2M;rv($5O>gy}`=jBu? zBo-8;=A|eU7o;X<re&t4DC8zqfb{tWD`ciAKs7037AxfCmnbCW6z3z9>Tz*qrYR)q zA#^C(D&%G6D5$9^!0l78g@{#iadC2{6qhL2DkK$8<`#Z!mX=?nkPi-Mzr@^B9Vi<d zrV3WJ3Pp)|>8T2ddZ;l{JxN$%vNykwI1ZhgKL|hLWlY_CP4Ni3Czrmyf-_2l!n|3m zkXlhvlnAx6SfM0ep|m(vAu|sg{)qIEoS&PUn3pnnp_G^mib)#D`3gu$V)9o>4{KDH z+A1XHb8!}>f}&L+k*k&q<Qh=Of|5#cY6&E&p#eNuUO`h9Dyab#Q$R^RlNnX4<zO<l Ju!upi004>y5VrsT delta 102 zcmbOdH7j_7J>%rxjPje)7$-2w2c#CI<rn1^D<tMAB&MeqrKTsAq$=bWq!uNXWaj5> zR${)$yg7jVCFA6;oFbbyaY`{VWtMC{$Mu7G^Jl&vER&5y#3wrnOHD2pxwrX}=mXx( Jo0X5S0|40*C*%MC diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/command.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/command.go index 27d027297645d27799b2bbe1e5db2bb07a75d0d7..5176139232749b50a3a428efe8d7eb34bebbac1a 100644 GIT binary patch delta 201 zcmZ3lvr=z^JtG^ZQb}fR>SkNU8O(B=AZC7Pi2@X8f%tkZrA3J)nfZB}udo=iGL>X* z=H&X#EX5g;nVXtlT4DuNtB|Y*Qk`E~vYC<Z3kzfF=C49l%rad1`U+5$3dN}<#R?@E ssR~eqlVya|<)D%pP%#BmJ16rCn90GUY+)L?IEzwCN{jLolDTTR07mygwg3PC delta 39 vcmZ3fw_az1J>%qajPje)7|WSA|6ws=Wy&nsY{2!Kd9w%KN0!Z2!dA=xA`%U! diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/commit_transaction.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/commit_transaction.go index 7be5c7cb3d31a32bc359b7e5e95f08aca7fb1235..14ed7bcd8cc4117456ef86b9e995f9b7e0174367 100644 GIT binary patch delta 15 Wcmdm~y;FNbH!D*~=H^~j9RUC_umx!V delta 15 Wcmdm~y;FNbH!D+S$>v^G9RUC_r3GmK diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/count.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/count.go index 8266fa5915dad17ff03418b5835b7994fd1af756..756bb5f62023d2a9942cedbe592fa8267059106d 100644 GIT binary patch delta 723 zcmdmGKi_798zTp&Qb}fRsuI`avyAe*NyYhj`XHjDvLJQx8AgT8sf>n<%Fg+vc_j)( zsRc!;#i@BE#R`cE$zY-Ug4CkKlFa-(y~!Jx*2pI3=jNv7l_)>~$e`r>qEx-G#GKO9 z%~8zJj7gjz+wx1{YP3LnJ(p65F<iA=T>AP7VEckni%WB`+FAsYDJd<=OHENos#GY+ zNL46KEh<Yb(wn@UrE;?iYcT8NC0s#FC7GLlaGhY1<qXNpP0cSYv4Xk{L?!EiEYB}3 z*}Rw6iE*-%fac_Oe(}lk`NbwX35ZU9FTgqZ3cq}PEf*K3zP^HgUQVS#VnIP_UW!6- zL27blT4rjBLT+LO$YkGOh0HVssBsFJ#R_@(B?^f-#rX)OdR&~DX$r}D2px*H3VE41 z3TkQ!aF;09Ld2@MI5|^_OB8Gsk|ui!@J)6RF;oZZh6b@-NM%8)f}*VgD2zdo1s2dS z&{U|NY%d_81`cu8oK#SBXrvUE=qM;bbt>s7B<n%hoAX6(Fe`#$tT+`Mt7V{wQYgt+ z$Vkm8P$(%%Oioou%$wXGEhFa)iCYb*R<Om0$enB;Wh4lbvQ>bxHXBJuurQ`>_L3=J zmH|a9D5yY@54H{zXV4Ivd{<0W4l1bu6;nV>8Xz0wU{bcQpyuK%N(H3?g=DT;E&!rJ B^vwVO delta 1236 zcmbPlv&(*i8{_1QjPjdjF&Z*T1*8_G<rn1^D<mo;=a=S{DC8HU7A2Ns=I2d*$Fyei zPUc8PrdqDaC9IVqIts-_Wkm`pMVV!(MS8)hMP;c)o8Phqv-0XFWag#iLxm<ga0fAE zmTaEFeS&Fo4WB(@OmTT;NpgllH5X@cVsWZMN@{VkUU+6vYFKJfab|v=o^N7>f{lWq zk(GkJzJh0(LV0FUszMn=5-g#hVWMZLXP~L0P+FV{b!T#ZZf;^;%49wPiOCoEwZ%9y z(-e~R3QJRqDisuM74kB3Ko(Bs7qB<ttmWcNNli;E%_+fZg`KT}p%IE5llQaBP8Jjp zoqT~`#4s^Ey(l$3u_RSVM<H1+IX@>SH5n8@np~WmWr;-!nJE<tnRz9~MqHennJE=I z3X=r|RO*9E5{pVSQi@A-6qJ%ni;DA$lt3E50`UsA3Q5KJdCB=jsd|nD1*v%{F8Rr& zxv6<2u6ZdCO_?bbAoW;%#mQNeT2fk+2lAzkLRxN#o@-H2eo>l+k~%m5)D@EJ6Z7)& zOB9k)6^c_!6!P;FoWZf1n4XxKS6re{4352Gg~Sqt{33<Kr2Mi}1#lRH9a+o8#mNcs zXmCklNpWyVVtT5A6_S(vQp;iPbt=uwNl7iz(A4AN<m5#7r5@xN4J8%0DM~sBFXPmY zWB^1zI874N3U-8sCd3V#U|v0p3+8Enf-=1*zqEiX&p_Ow0yco4V?g1+=~xerRnNQ< zGZPJ^_{<a~9R)+E`w)QyF*lDmBcWjvTvC*om#(3tQe2v=q@w@|;nKVkB~3l3N1>L~ zqi~@daIBW*l>}rKq~>JiVMMB9QBh(gSS^+q1v?fVo#1eU*oEdFa3}=}f)Wix9&Dh7 zCMc&mfo*WjNd+4Q&I?KfP{)9B7buOw9H+^}2}+0H43L{x5t5mk>Km+}IC+miz~*wn QOU#@9h%&Qmk}6;Z0P)a^Q~&?~ diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/create.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/create.go index 9a8b8bfccdb00c07c6dbe3ee3a245e6c88ed700a..445b38e068e80d84367d93373aec07a48e7320d8 100644 GIT binary patch delta 1183 zcmaFu`YLEcCX-xIYC%zIacW*ku|lFka#3nxNvcAAL26NANoIbY-sEZ~?a6bQR3<-W zmXS%$NX$!54K684P0S4_N_EUj3CJ%l@ytz3Pc5E&fJuW{K|x{iBPQj^8(F0%i!+N( zPGc6FY{D!8(mXkuS!8k=v+Cr>%(9c`GYhjSfWYK+%!({v#wli{$&Z;0CUdc<O;%^o zo9x44!U2*1;mM3LVw0z`h)rI^qCNQti|XVDECvWkMS1DTTC8G>3X?5ZEheY4nom|{ z7M#3{6>P0gYF=_tWkE@5id$xCPD(Mzg%6qKgpzYgi%U|AQd2zhQc^3xmONyZ-F${s zmyxL?bMtSuIn2`deEX13adH5!m@U2_QPNRJ*2AY@b2nErt4L;=Lb4v3GbcmMw?PvJ z8;K^S$;DaA#R)bA)mJb>6j6o2W}pg9<`9tKa84{JNKH{F-mEIn!&vW($M*`w1*yrI zX_=|T3K{w33J@<U6qkU~MKLJx<fW!4B&H{3<`tJHlw_nTB<JVkq$YzBltOZ1o<dP- zNoi4@LP1fgE|<Q(LSkNuLP36UiEbu1B`M^mDU=Enq$HN4rYNN3Czs}e66fSc0tUQh zdIn(CiAniosgpNK3M=7rrbcpcK|$u^g(7aQ5GP_!xeB%lV1-<qP<JJB)pCK{<qUVV zUt(^mLh<BSNy*8l1viL-(~N%s$UiQrX^EvdCB+KGlWT;2u=*xeC=^dF72d`bkXewL zlbHw7rX%uzHM0uD;t^fPSCU_pn4apImkyEKC3;CHEHNiD1)Sd;A%RppxmWC~AVSzD zwJbG9p?Gq$cp@{GzW(GV;ybyaviU^{#gper?BfW_OfC1%Qz+gXE7`}X19HDBTGB60 zEhz>^2b#p>?ec0uXkr?vX`p};K}%~2whF0flg~>@sKRm%+)!uK9F-3Wp2^$f)df){ SG?KwFqJWwJL2;0Y5&-}NP@tgz delta 262 zcmaDA^xAbpCX-O2LUK`RVo9n(enDzcVo7Fx-sE;B?a8~Dq$hW?2v1gG7MX0%EIYYP zTySz3v)JUR%rao{v&<rsUop!}PGuIJti&QRIh93VvOf#&<Wv^f$=xjKlkJ%~Cm&%E znf#DNbuvGz_GD*P?aAe=N|P6{%1l1asy_KUtHERgHiOBTY<iOyuz}1J+HB6Q%gB^j zvN?@o4)f-@Jmsw7MX4pFMR^J-#U(lld6_v}wOm~K`U=6D#f5tq8G|S5i=AW)p3E!$ zgE4sWdP&jA@)8RfgD0Pocrbar<hse(QkNKmC;Ll(WelDiDw8;Qr_4^q;K{YJ`@lLS KH^<18asmLm4^_ed diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/createIndexes.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/createIndexes.go index b9ceefe0845831fe96c874ce65a916c40efa8484..b828bc18607ffbb5dd8a137b41ec235a52806b25 100644 GIT binary patch delta 456 zcmZ2!{oZba8zTp&Qb}fRsuI`a-;DB`QyI;fl{i5H`K2WaV4wx!>A92^C6;97=W*3? zap~(%PGAwSQYcC-C`v6(%_}KZNK{BJN=+<D^~_62tw=3aC`v6Z%_&hRN-ZfZ%1cdA zNUBsQ$w*ZwPAw`+Ez;XOkHv>^^FP+@tdkFM2QigoZWiOIXOiO#$;?g7FD<bG+Y2F* zGxb3B=a-gjp2X+J<f5;y;GdUMsgPJukeZjGP+X9joSBxHnxc@KSOL=R8?2C-rU2EV zkXfvdmtUfgm{XjOP^vfio`593nwkQ_Yz5oN9|h7Sobz*YGfM(X^NUJz;p&SON+w4N zhA@M?y;e|a@+l}=PDo-hvy9~AAfZ{pFmJ=0Q>>7<`K{0%E*UO;eFc!SK%rTjT2c%S q1*q#LKM>KAgGy>Z#S~COdvc<*t2|7~7UnH3PDr>aBxiEfasdD^cbokH delta 196 zcmaEFx6*op8{_1QjPjdv8O@p5Yq_{eDhpC4A7B&NtjlW5D59fKTvS%1kW!RcmRh72 zoLW?tTC_QVZ96NkjzVT$T0T^0vN%r=Q)bELY@T|i&D{LnO#GQ?3dxyzxrr4anYpRH z!IL=z6(>Iw^k58`>?jl>tB{<ZTac4llB!UWk*biHmy%kckW`wPlTys3uRnQ{P>7U5 raY<2TUb;elkwRu(iLsGFSz=CUsvbzXQBr!cweU<v$IZ`$_izCK^0YwM diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/delete.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/delete.go index 33976348ce3abe9b3e5f04ccc811d53558a0dc39..79f7f1730192c732566f8c1a5b6876c5fc5bc460 100644 GIT binary patch delta 771 zcmaE7cHC}*8zTp&Qb}fRsuI`abByx5NyYhj`XHjDvLJQxSw@A;sf@Oa(#iR`xv6<2 z3Sa<|PR=h%)eB3^DNWtHfaw$?A7@S~R2HOU@<t}%M3AZZrBG2V5Kqsgv?#G8Ge3{3 zmWxYYU%@3cC$%IsD7CmWr$nJBwV)`qI5n@NSRqj%1uUab1d}Q$Ey_zxQAny(D9K1w zC{8UZOD)oyoWl~pWM(pXAB*W`c2*`v5SyFLhf^WHNFg(?#LQ%KINL?W$)+4>OeL9{ z=W^&V%W{Tf=BDPCmRNyY3B@UTAh+e0mP|guy-NY=Q@xPNf>Z@XTLqA3L16(F&@j-P zJb_0_3+!>%oK#SlXrvUE=qM;b^(pBnr07A}np~W<o2z*$896f36jJnZQcEUx@+c~~ z<R_PcG@|OyNi6~E%}FiM-29$5id7L5-o>fl;3xwHv_eU~LPly%fkH`9VsffNV&3Ha zqOx+%keJbc+6i_qB621t2$~4Oq-<fH+iW6i#ZeE60iV<oh2nzL<jl0p)M9Yhg5og+ z>Ozo>rNyaw3LzPp#R~Zapr}&-vGQ^%70MEGGE)@N@{6F+p-`4uRGgWgSFB*FXP}Un zm!goElwX#r$CXx^m#m<XqM!wdZcPQB)Dn%HRHhPz$=}%ICJTtE8-XmfRme##;o>Yx u1;w>O3N(p8<4XY?5TLk+#g(+6njBP811hF~n#e$YmxD>!DnMB%HUI!gqXDG= delta 118 zcmX?Z_s(pC8{_1QjPjdjG1@Y2{=#&Ek*StzvK?yxld;j{39P0fIts-_Wkm`pMVV!( zMS8)hMP;c)n~$<GF@hAFWb@f9$9|EKS4SZ;FD)M`J^4LH8dGM;=5S6u=E+NWwr@Vp RTg14zlRuPo^Au544giWJD6;?n diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/distinct.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/distinct.go index 0ac804af30c74495bda037863cc8918ca13a84a6..c4b16cd7e77b67dc33a514d462ad22dcce54486d 100644 GIT binary patch delta 524 zcmZ2tzSm}hJtG^ZQb}fR>SS9+Mc$<1{5*XSQBqluIysO@VRIa#Ba>`$er|4RUWoz} zfD|O>7p3ZjCFYc-Zl22=$C$whG9$kfu0{*Q*K;W?N-W9D&*Q4);?mbwaLFt#$;?YG z2}&(4%_&hRN-Zc#El$lVDON~SNP)^J6u~4*N{jMRQxuXa6-qKv6^c`f%2JE;CjVub zw0SY>DW=I)96?ManVZjXoMV#Z49Uz*%`Yvng1QhyrRag2kY8G|c_#OHMir<Z^g=2N zQWX?!6+oT<`4TLkVW6o{&BZyHk4H=m>?zlrRFID~Qi@A-6qKNPm2?zR^q}m`vAoS} zil9I#P6fNa3=|d$CHV>&sW}A-B}IwJsS1gClmAP}%Q-`WPXnqIY&9bMCKpOr2*RXn z6`-umr-fZv7*jV3NK9dt0fimZhYDcpKmh{v-Q)#=8gfuc4XBs`YUqP(kb_CtDnMCW PoJFaiAXZ4>s^tOzaviip delta 100 zcmdmMv&4LZJ>%rxjPjc&GdePD{>&W1$W+TUc{}SQ5gmo%qOu}|l%mYC)FQp$)S|M~ zqRpOcr<izk6f*PD@}WYLg*k(mGD|k6bDm?`9LjTsadQt}1>5EWq6RFRKT1wv1^^v4 BBk}+M diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_collection.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_collection.go index 9f8f8c5208f733b9fc51afa6885252cde4144d08..fab279dc987345490a0cd6b685f2e7d4a4633ae2 100644 GIT binary patch delta 101 zcmbQHb3$i>6bqBS{^a=_VwOdz1x2aFsd**E3W*9SMfnBJ`8heM$t9Wjc?w0T#icnV z3Pq_UrA2wEDGEuI3MCn-3dN~KWvNAzCo+jnUdO>c*@WfjW?t3^mdQn&K};o?n~!k@ G@Bjce<s;7k delta 63 zcmX@1GfiiM6wBmXmir<)3dKcbMG7fJnPsU(dcmnhWvNA*eOMz{cy$yq^V0I6LX($p O1~FxpZ2rL+zyko$r514j diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_database.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_database.go index f2dc4ed70a24997dafcab2f4b5086bfe8d628339..be2220c6feb61e007304d04f21b8be313d881f1f 100644 GIT binary patch delta 15 WcmZpaZ<OCKpM|L;bMr!$2V4Lw#s#$i delta 15 WcmZpaZ<OCKpM@#2Wb;Cn2V4Lwy9KoX diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_indexes.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_indexes.go index 51aedc1cb766839b5243712a69466dd52b8fdb98..20ca3668beea7e32518a8e0d416d63399eb6a318 100644 GIT binary patch delta 428 zcmaE%_uFuT8zTp&Qb}fRsuI`abBywvQyK3t)pLRb@=Hq;z(5Pc({m{;N-W9D&*Q4) z;?mbwa4E_!@XSj|tw=2nN-ZwUDN!g&EhtJYPR%PRR!CGxK}ahU!Q@Lyi}F%a6p|_x zN-|Ovic^cqQj7GsN-7IdQH`4%#xi>|D{Bk$<Y^p1OeL9{UvX43$#I5c=BDPCmRNxu z1tC&0^+1lxFD==e#4W*?qpz>vpO;gqkXTTVnwO$bT#%ZanU<NFqL7<d0n+XptdN<e z0M(+9S*(zkU!sthQ=E@bs>j8dnWm7EsfW;_XseKynWLbl1`>v8ww-LiBfohS&ps|0 zP<Vh$2ZdO1YDqEJdr)<g-wEr;K_xYyVhX4sI+;<xQ645`3v(S8XHhCBz!Xw4xoWup DTicTF delta 89 zcmexu_(E@k8{=j_#@|d#wOo_8vaA!)Q7A4dD^f@)$}CGQ(hE*4DoZWeoXpz7%&Vi2 pnU|Ii6`K5<BZw)pWV1DAHPhzn+@g$=jd;Z;ui%l~T+X|X3joKrAD{pL diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/end_sessions.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/end_sessions.go index 0580c0ada34c4f26f1e21e59b5b10bf69db045d0..8384fb2d770b9732b92c3fa1603d4cda3ee49820 100644 GIT binary patch delta 41 xcmca5e@A}9GZv<j%*`)Y+?hp!Q;Ul;^Yc7iiWQ0rQj;^&GE<8;J95lq2LN4N55@oh delta 39 vcmca3e@lMDGZv=IlFctz+?j=nQ;Ul;^Yc7iiWQ0rQj;^&DmOcG%wz`uKvfSO diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find.go index 4d23d4943409caad0d42729cd6fcd0a9bcf16cb1..5ccbf9f91af6728b49d1ff91b439cfe87a4da1de 100644 GIT binary patch delta 524 zcmdm)d?#arJtGIFQb}fRsuI`aiH!1_;~4vym{Ln7`?08Oe#5+uS(y_gnO|C>fDE)i zf_g5cMTsSu`FWdXvb!=dm1J&y!1<0zmNO(XH#NVs#0p76njT0)erd_((>%7UAoCqX z%(-$>OO$jJ()4mtC;t{)ou#j@;GdUMsgPJukeZjGP+X9joSBxHnxc@KSOGHAH&`Jv zO#y0<LT0f-UVe!}Voq^BLa81XXJ(p0njS)jqOC$+W{!fIngZMn3bvCIgybjd3JGt1 zA=JTDpIQPppje?KBUK?MwL~E$Ke;qFHLpaWBwwMlI8{#}BqOs}A-@3RUy$ATAeWXU z=47TQq~#YW6sH!Ir4}iar4|)u=I0eFnCclQB<7_kBqrsTrRs5|mF6WYXrw7<xn<_1 zXe#)mmS})1Nh;3IOP<W3Zo>iM*(&6uZjP00Wnl(|=_AEr9>&zop?WFIGF<xl3ZM`G zMMH6F3B;AqfSCMOLq!fMsR0#JK#iZt4T=VGFezJD2y$^2rIwTy<te0b)p7v<vf!|v delta 75 zcmcbUu`_vtJ>%rxjPje)82gzv%do6v-u#x`g^4M%WV12XJEqN!yjHA}PYcbPyk1yr hvZk=)<PSo^n^{FVxHc!t7qM)<p<K+f*~cJ-82~ec8two9 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find_and_modify.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find_and_modify.go index 656d56a854d6d192fae31fbbb242b646049fdec1..deaabea3135e209fffecd19bf23fe5c030464e8e 100644 GIT binary patch delta 819 zcmZ3OFga_38zTp&Qb}fRsuI^^c_#VIsf;pA%*pw=lN(uuCkL?bu!be(l%{U3XLev_ z=FCZ*?8qiMxt4`{vH%Mg8%SGz>10PXVLmMoThFDmD6u3nKX39rHbohIeFdMy;u6=Q zqWmKNq^#8B5{07Ff}+&o)Vz|(Djez(3Pq_UrA2wEDGEuI3MCn-3dN~KWvNAalkc&u z3eeYAaLdd~am-8c%}>cps|-plF3mwQp;#eNAq`o9LJ>>_Rzo+pvnw%f-pjF&b#gXe zFjGn9<^z1|nPfOaGILY&OG~U2pdc+VR}bWu{L+%mIfB!fS(Ec~b5ke(7MGhGD6S<6 z=H-<r=_r5{LV1(Fi6qx^aq8<U_~+$RDkK&Zq~@h46c?l>XQpMQrYPhlR)DPW4OYlZ zQ-B(-kXfvdmtUfgm{XjOP^!npnVAMQ8lgwgRv|AlM?p;uEDqCd3lXj6;^O2?DK1f% zJXcI`bC2k8W^R}XIjJR+-Nh9rYm18U<fOu!oRhlQSF(dy)fwciyb^`t)DloomVshf zp(I}+BQ>W$p`<7=IaMJsZ!*8M8ZT6(2H3Nc_vuCQf?0Vb3bqQMgtAaxeDhTqAK}Rx zq*#)CQcK{zDF#PsPHKrlN`7)_Zfaf$$b!=1R6T`|jLc$%`~px~0R==pDA>vpb23vD z((;R-=|G_@wWv5VKd)H9RL?*mF)u|SF)6<+b@D+~88)BP5{;bH$#zQ793b;;6>?H1 zE9#3#fPy){6zVHbl7a@;<cli$a!^SPsF(s;niW*^fJcrkjK#$XNu;2#=c?rb0MO|e AJOBUy delta 118 zcmbQ7wJ>3W8{_2pjPjdv8D*F@Z(_D%p6tr5F!><+%FVku6d6Ty6pD+=iWE|cGRsnn z^nz21%2JCq-{D-y%B!Q0nU|Ii6`EYjAIy|lviTDKdZx__gr+c0UMv<i*+E=#@-=a( U&7I=MnKv(yZerg2Ti!<)0Mu_QLI3~& diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/hello.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/hello.go index d222ada93d33729d4ca0edac6115d59fc14401d0..5e75c08eefaa14b1ec7749290fabcba013158b78 100644 GIT binary patch delta 199 zcmezAw83S=SK)eneTC5CR0XAs)SR4rC56m1g_8V&{G9ysN`=f~1)u!H6sN?T#JuFx z6deV}08fRo)S}|d{5+6kN@{XWVo_>}LVl4#acWUnY7rNwzP>_6VzEL|YH>k+UP@|; zLV0FM2Gn%_Y$ZJf|B{T<qVmk*R2_xV;#38zoYeHh<Vppw^?F>KnQ00ssl~~9-kEtR c3bwXjPElq-NoIbY9<pN;YHBur7jEJO0H0DuZ~y=R delta 15 Wcmdns^3!R<S7D~iw9V^8ns@;`cm}-y diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/insert.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/insert.go index d422ba59d6b16a4d4d928e609cb44b7080e06d13..9f62cba347f03ebb12684fb02b4ccf5b8ce0cd5e 100644 GIT binary patch delta 540 zcmaEE+H1YRjgf;>sU$NuRf%izIYxQjq~iQMeGpMnS&%yUETh8aRK|Elw&eWW+|<0u z2bqQWK$6M%MX7pWi8-aIn-4L?F|l)kOvo<<$%krz*m^FdMTsSu`FUKmTwMD43Z8kz zsYNA0sl}x^B??8U1x2aFsd**E3W<3NnP4e}BA8rBX;EHkib7JQLP<udLUC$QS!$8q zWF^)>CNq=CrL3l#_pvfDg4l=Hd^i>Iixe{RO3X|)^RZuNocxI+jj1Gaa}=i$vn*#w zW^QVJX^E8r0%Yoe9G72OvbmF|jZq%rs}jAC%7Rn{MOy`s*FgRT3uqWjp2sV#2KJ?E zPHJvyUWrCZafyzC5>%U#jzXp$l)agS?*XH#GdPq=6pB+pUQ;Lo1&~5XzCuQ7PJu#6 zQDSncLSo+JjbgHLP?Z``?O>Y`fjW7jl!+ir%2ol&+I*Q`gj)s_noyrX>;Z)m)K`-g oB}FFR7ZQ?#D$sz6E1<>+$ap!Jl&u1k#l=~a3JQCLOs-lk0PQQfasU7T delta 114 zcmeCRer~$KjdAitM)}RN7~>f?D>26~G1YQSe#;ujWNb9qfz4DzN1?c=tVkiHD6=fJ zNG~|Gs4TT;b154WBS=9dyU*rx?AIB2brdr5((<9wlb3R)F=du)=H)VC-W<={%(&T? M|0?6=8-mQ-0BnLKP5=M^ diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/listDatabases.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/listDatabases.go index d6b31e32a4adeba57fa9eaf0f61f1a6ed907b84f..f1b4aa05a1f839e517d66ba804923c2cd3e472f3 100644 GIT binary patch delta 308 zcmez8c+_Qs8zTp&Qb}fRsuI`a1B~*UQyF8Jl{rBI`K2Wa$UqAusOM5zlvt9PpEvmc zi(-JjzJgC?afwS}Nn%oBacXf;YH?{!i9%6oK~ZXPYF<gPLZU(rvI2!7n2M6pqP)}; zg``S_l8jV^;?$zD)FQpj4_JyBH>b0eb54HEAIwyex!FNr5tB4$NM>$oerbsn%sDwJ zdLYN-mzHe4FBHYen7Y|g<|vB{m%hFNRH;I7YDqEJXsE);dnEMappqI;F$FX)8A`ay W!=!8#pe!!VqEwJ$6>?IzYPkURyJ_11 delta 83 zcmX@=^3QRD8{=j_#%kutZ&?&J$FUYMis&d57nKz$q!eYAr55Q0rxul^7Hz)3R?f+* jqmY@GmJb!0>@E<@lv%QQj=&<O%`w8^oSV1E9AyCj{Cyq^ diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_collections.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_collections.go index 6c98a670a7bd9efbb753df8df0de303caa829e5d..594a27f6b38e24eb1de738b452d3a22bfa73e9ac 100644 GIT binary patch delta 635 zcmexqblY-+JtGIFQb}fRsuI^^MJD;paf~U9lXo*|nkztnR#JX`4i{%)X-P(YQD#+Y zigSKWPHJ*VW`16=0#vd%wYWGlKM$;7vH-K_WL9R;$->OKlP#HbC&x3ZOs-*;V^UC< zJe66U4Xj9E@@{68$v2pdCNr~WPF7{nWmK5#!y@YnkyOx1DatHMEz%24Eh<Ybat!eF zF96%e#R+m~erX9*9gNZf3G2C(7A1m|ZEj?lz|2&VxmlRwCzBj!NM>$oerbsnOtFH3 zLQb+CNJoBY$z)FM+R6WT#3s+>ekz@r29m+*)5-cgW@cDrlynrda+3A1%4u?O)^crb z;90;V>WD4;Cj0Q|C>1M|WTYyT7N-_*>FX<G7Aqi(QYgs>Nld;kB&&_p01bp%q-dGE zhR+YXgA{BP)UayV%*Wrt%9y%&lE`xw8IU`mp{7urS^{w(EWkEO7|1~-HK1Y&sNp|( cBcG={Ov+XP%HrZIN-ZfZ%2UWm=Bnia0ER==EdT%j delta 145 zcmca@`O|2FJ>%rLjPje)7*iN0Uu06^(@M(E&*9=MPAx9Z%+H&w!>lnmnptgf2eaDb zt<17Q#U(|VdFfo7DX9fH`IWh;c_ouSF{@9m6c^$GY061WF3B&N?95^`xrRk)@=_MH z$(LBfCx2j(+^o;q&&-rrviShVPo~MYxT_`y^ZeO-gLfX&=JkR_tecg@pR)h}X@xWR diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_indexes.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_indexes.go index 99bc45b2344810575b4c319c91d8ddbd85aaef48..39e6f25cc8abe2a0f4f4831924b0ae6aecaaa10e 100644 GIT binary patch delta 325 zcmbQF^HpzyJtG^ZQb}fR>SkNU4kjs15Hr8DL_tA8K?}szb15xKEXmBz+kAw12@_LE z=H@K6rA*SCA(^?U`K2XRAcY{Dlc@(%o?lwBnTIo*v7U=lUthsLFQ-x=v7jI|FGZoa zAT>ENEi*MmAvduCq}w-GAu~+@s!1WUSRpUJL?JP!I3J-@kBc)iO(7>!51~cTRv|Al zM?p;uBn;DR3lXg5;^O2?DK1g4RoFa>tAbmGOJ83BWEIFm#i=F53MCn-FdHY!^XbSz jB{g6Mp?Z1pMG;4Nn3OF{BNt~;YDsBPo<dG0S1lI+wkB)S delta 43 zcmeyWH%VuMJ>%rLjPje)7}J?HzhGX>#FSaGxtDDz)8+uq493a-xg<90a5r-U0A#Tb ARR910 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/update.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/update.go index 3f22fc06f643c736e96c81b9f20ad1b3918c8018..8ea133e239f2c4d3ec9654d7c0c654306e680fc6 100644 GIT binary patch delta 771 zcmdnw`!i&N8zTp&Qb}fRsuI`a1B~*MQyEowlZx~6^g%>PWkKrXkBkbNI~n5{S(Ec~ zb5kc9u!!)1<dXA?QuV?Tb4pV;KVzE5#LStKI@yp#OiBSR>5`vZnwy$e!o>+PKfiRc zA&W4d7Kp9qQd*Q)l9`{kxtUdgk;%+tay6UO<o#^oAm$CWqRnyayo~IQ#h!U3W+syh zI6^oT@{1HQ!Mr?fxyk8V(vuHxa!h9BG(=KmJGp|BA5-P#1DrxEoA2|wGBTB9ZdT*h zW0vI%$;?g7FD<cBK!8#`kjwH*OEw1zbuub}J)2je7gAY}s-S2K_7x~NzycZunhMpE zbA%<-zyaWzlM3>uMoMvsjsi@ll8!>D9@Lc0=Y^A)gg7(P6iW4SQcFPQ<z?nTj8K9F z6RIgWsU=_&a#Bk)H|vU-bE!Imf<LcBp*XdqSRqlN3>5SVCHV>&sW}A-B}IwJsS1gC zlRqfQ%0X3XKy3%R9T8oVCn}l<!lY~!psdZo3h``dT>AP7KB*-N#RaL!nQ57+#R?@E zsR|$`r$8eUWMgS@s-8kfMrN@>egP;J6+o=KoJx?JGE)@N@{1ITQ;W({ixkRIi;6Sz z^NJNr^$Zje^HLNNlk&?_Cp*dsbNHl|Xn+i!{87f$2*j`j*~7(Ilv+|+l&4V2Rm%l( n4K$`8z6Lo48cUN4WYy%Lk{VDk1=Pd^@~9k4%2ol&La_k=yfFcl delta 170 zcmewvvdMRY8{_2pjPjFn8C5p#V~l6q?8ZEYX|p+-JR_5_(PTY#smVp`;vi->dy$Ba zLUB=9kwQvQW?5>HUT|trS!&VdzwEq>te$x##zvC`IYTDraTdXOw*2Y}nZ*hvl?AB^ znP3%poQ|7oxwu$(brdr5((++uwDY+#GG&%*KF6=eyje!Ljd3%tXgJg6E#k&po98O| Gu>k<w(=^-w diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go index 3449c85e9f8bd6d874a669f5244fbc81152edc5f..da85ac017702750d925389966922351b79f91613 100644 GIT binary patch delta 52 zcmdm0zNLJ_S4Q5<ypq(Syu=*+($dV7$;%lPHh*PgWZbOD9LT~{lDWBt{jTEVDca(j I3pBli06CZwu>b%7 delta 57 zcmdl|zN>u0SH{T=Ol*@in0`<G%%m{cospNNv@|nivm$da3sYvv<}&uXicFa$lP744 OPTru-y}4A=UI+k)6BM-o diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/server_session.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/server_session.go index 54152ea0f83271156aa3bac1149311528ff88698..044cbd497796d720969957f0633a289a2af814c4 100644 GIT binary patch delta 34 qcmZ22uvB1!KO=8uUP)?EUSf`ZX=!H4<OD{A$^MMan~yT4u>k<qGYjAV delta 40 wcmZ1~uv%b)KjY*YM(4?fjB>&i`nmae>G}F8MVV!(Mf#<snJJt1GG?#=02ap%0RR91 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection.go index 732be09bd06bab5b1c852395ddc8bedb2108b744..34cb6c95799cf269d03529bf03bbf4e334506934 100644 GIT binary patch delta 1272 zcmexxigE5q#trwGQuXx}ob&VYQj<$E^YavnOA<>`6_WGwic1pnN{aQkz)S@VF3#lq zygZl8Vi1*@T#}likeOFvW};xLkeOeS2$6=GlbQnIdgf)8WG3chR;8wFzRk3kkrizC z<b^DEA*{{qtb9zHH?kWs328x%1v#Obi!(VbeKIqb;$|<d*GxQMT{<8)<#|qa<Q3bz zhVKS*y+S6;^hA)ux%BlFG7|GriZc?kQ;YQ!9CLCMQj3c6i;5MBQcFsU@={Y2k}AQ5 zq$ZarBo;wDnVFJWl$xTTl$4s5UzDm)l97rqMIkvqw;(6AB(+#cAu%rnWJ7Lgafw0_ zNR4e?N)FV>#GIVWymYYM#DapN{DPuPP#6ZgIQk+P26haXpOacNd7+RAmquz)5yXv? zFAJ%wA$t?%wbT@dzu^I^IoUB(bh3`HLcM1i+%pgl7Aqv?L5$N;C{8T_y9X&$LB^LB zD<l>xq##FPVqS_ua!!6R*za7N`uYl`c`2zyIh7zU<)xPBfvi@@OjF1#Q7BI=R!A;N zO)N=G(VKiwPk8d8Afd_fykasSvr{21MNT1_TwI)-lQ-Cl$a8YWE7&R|>*XcuIfE?I z(B$Ie<gDca<64c)uEOGMyd|l*1%AmoAU`NrP41D5oxDv)e6lE?^kz}1cZ`#Rb-|p; z1~TH4<75_2zOT-;nN@Z>D_qqJrFTr+oRGj!$ji)`?5HL=`JF2J<lm}Blb1S5O#W}r zx;b7=jYS;nUQGo>TW}D9d<ag_lQ-%ZOg^KfGFi)5e)DwgawaZR!#2C?6*2RpX`Xz- zFnP0%u`BcDcC*JE(qLIgP{7TFa9t)h+OLA?wuM;jvf0WZlB-@{Um-asH8HQWAUL(C zEValjPoXHaIJKl09ErtXF=);#&q&QvNCdkZnqxDOQg}%|SO-$H7v$&XfTOi6Gf@E= z_6qq$3aJ$ZnV^&p5|(fUb2K#dxHwVVvANwVh*dK)O(7>WPa~zcL{q`mR>44_8WefZ zpeZg&)&T`JC@ME!^EYP~%1l#8)<ZF7^2IQ58JN$&QIDozQ+O)(=CmYNM%~ObNc7t( zB<EzN=9PHBvb08WNretnP}3T$NO7`an8@UPL7a?Slf6<LSu)cU6estm$W7jzQYcZ& O1xpDKgCLHq<pKa{nz<bS delta 1442 zcmbPxlJUbS#trwGHhVDdWaLcF&&x|qE=f(9%*J{b!Q1?Tm5)grB;#6Cq<{daMMe2V zn?JIfGbw0jLG@<l=jkYbB{UVPxj2*4(!t!xR$Pjcjiscx^D=Y50$iN6o1?hiFeyRx zrKad8Waed-WG3chR;8wBa&d7MrIwTy<tZdj4zQI|FDS}SPAx9>gegfZ$;{7l1vx+? zwWtVg<79na@jxUaQ!<O;JWVdn%ru2$y}V=vMO%fu%p8ydIpY;<!D4#OIr+t@8k$_3 zwOm}B$$C(2ARpUK_L0)b0P9W8&r8cp*8_XdBQY-}Co?bIIWZ?EDKR-4*;KH8oGLZI z($E0aQApNHPt8j$0((hEVR9j#^yYlti_CId`ud140m~|6B<7_QXC!8)7VAwmbP}5^ zEF?SGMo85F>RPl=)KP$ogJT04q+Fb}lV=GjZ9XF`z-CaE2o60+2y$_PxFxB%1%Am2 zd8s9O&iQ$HT$~UAaJ(r@ekmENm8^$9J~X*Fp>}O9lls6IL5zB+1};v{S}smba5UK} zl;jlqCBvd5sWi91GbJb0B{dNg@TnS_lh?>B*&HIfmz5M3IVyi(n%rb3!Bd`?S)!o{ z@%iLvHRH)CE`p4%lk4piHm_DwW8p^%JVjfD<jD`TVq`gsQ*%<2OF&5{Ik7lZ!A3W^ zq(aXnKQC27(`quGvee}Hh9W}YMTrFksVP<pAW7GvA`Q*S8+F74%ZoBgQk81CI8##7 z5=(PRtTtO{&teiu*2DDK<_o&hnX$M)WOA3GzY0D_aB*_#>nnt(P8J9eoqXO{OE<Gv zAu&&(G_NQ%F-0LawYWGjJyjt;PoX3uRiQkyC{+&}+{uvSKbhayh7-lr0w8_Jj-G6x zt-Sf0p$0Q{hs&5g<q(Gl9a0k1QAn9AW4B5QE~lwrYpZ~qLnk-dNpAjWXUettqNf|{ zW@mpB_RS~5BDgmzB)Kuxrxq1CXC&q+SlKG%CT6E<B!f8MoT#H<sL92dp0AKrnwP8r zN$N1wHo6MQIhm<>C3>Lz3eG#=Os)YcV$i}7RFYWPD%j{kHCu6Uf{F}~u%hkc7#Tr+ zMDYbKCMIu8c4Pr5nfxtTj+-;7C^az~oPZ|_rj)o~CJ=bG02Mzvh|~c};n4ICb*&Ca I1y?N>0ARJ=;Q#;t diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_legacy.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_legacy.go index 18f8a87cb9ac71f1df15f450796b8e42ba62059d..e602faf2078d85fbdcafe985bf52c71ac277750e 100644 GIT binary patch literal 287 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xGSV$5N-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u p>*qi`QLOLd>Fnwk?5b;|XTZf(keHmEn4YRol3$RYlb>G61pxMjUUdKf literal 17 YcmXR&OwLYBPgN+%FUZfyPp{+x06WhHbN~PV diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_options.go index 9c6ce05caba0a1d9e87bd66d2cbe4c0732997a50..1d4793e4a9288c774aee019be4f8ae2698a04077 100644 GIT binary patch delta 491 zcmbPezSyK*UthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ zg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guv1{IFUwH)gOwUYDm@=}vaGV}AC^YhX& z(<i%e?$F9iQ^+qUQLwdD$ji)8sOIA2<V?=bE6L0&P37X`tmWe5%r7X>NKQ-FoNUJB zIk|-^WAZ1iw#jwe=94G$Y@Zy!t3J7f_uu3WKHbTO__j^1<CmShg8$m&76H}C+XRkG zZV*(TyhU*L<WeE^$t#8SP0kh8oV-|g?c^{K<;iU#yC=Jgs!pyHojh4cOnI`C*yPE# u#gr#=i?5r!UtD?fd+}_>$qAB<lh;Y!p4=~`Ir*qm+vGrLeU@6TS}p+dL8%J> delta 753 zcmZ2%GSPf9AEOF~Luye`evwCFUP?}8Ub=H)PEJx{a<+nkf<jtpUb04NQIP^zg^ogT zNn%lndupCvX|6(PW?qSziH<^XS@L8-cJavuoExPyw374l@=}vaGV}AC^YhX&({&(P zH79@K++hJS$;wtCzo0}TIW1k2i<2`m4J5CiXseKynWIq6#mUK8lv+|+ln3I2^>T4? z)=s{{<;ki85}GW_oxujul3z5rmAj1<?5@dNJQmSN`nWi2xoWw%K#o@^&n(Gs#pXSY zv^<i$rzm1>47LsI%49t-8zanY71Hv!ko_>(foCVwl|OhixRG4BSdNzwDkICMhb%MM zlWzw^W)i;~ii8aR4T!|#&-`jAGU5WqpfYy^P^_8EB)AtUvriCJ=850|sLWy^EfmvE z3$2IBR0^x0$jlaonHDaB>Vj&KsZc%qqNsWdMPV{W(PW;BZh-2UCWfMC^A53GSm>xo fIH5QpMdB`0lY=Cxvoj<+pfc|z4Fr+G8j>OaS#bm` diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/errors.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/errors.go index cf0778bdf9b248cf1b80b59551ee1eae3e725d44..4aa99857e57de4fd99ef0a015682a02a0c450457 100644 GIT binary patch delta 291 zcmca3@<yy)UthsFzo4=xGd-h3LBm;7!8boIJ>SJiN5L~MSx>>pz{p6qpeVICHLpaE zOJAQ$Uthr|GdVS{I5kC~G%qE!NTDPnRl%_!F*zd@CZnSemReMtnV+X%q-UU@0aBm@ z)ug0ptx%a?s*syl2{J0LKEFhvv^Z6vBqOs}AuTf}RUx$^IklifAu~@QIX|}`Co?fG zIaQ%Nvm^s-5!4txg-D1Y3i(MTiJ5sIvl11O^9w2!^3#wNDkPRDWR#Q?Sn2DRmzV1$ vg59Z?UzDz&1NMbLYO%hLr?abHu&b_-o&guv21dq7jK3!_iftBP^5FmgW5izs delta 22 ecmaDOc1L70A0s2<WC5mMlLeSWH!CpvZ~y>Pc?LQF diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/fsm.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/fsm.go index 004eb21e86460b9ea10a0240b72c38c862bfacbc..b1bf0c4a7e4989c7e9dafcc2b9eded8a61808f6c 100644 GIT binary patch delta 68 zcmZ4L|I%+m1{0(C=1it}%$xbxb~A52$GL=gb2;w}#>pc5iIWd13s0^WVVk^#OLX%J aelGFJc4{({FRLjt)=rLB7oDu3UJC$Ey%$aZ delta 142 zcmaFqx72?_1{0&n=1it}%xpResYONko7vd*Fth3?<Yne;KE%0%nH$XH;^gG4<(fR7 zTY7UlZ#g4Ge)2!QL?|mzL~?Tlzq~k4Qht7pLNym>W|~6g<O%Ykljm}BPTr#?CCgcq dT2fk+r%+N<n##pl%LU`7CFT^TPQI=-2>@*CEu8=W diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool.go index a652594b0c16e44dfb93fca3933181540dfb3549..efbea595fcaa1f1dc95869aa80d808f525018aa5 100644 GIT binary patch delta 10044 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 delta 3011 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 XYRcpXouZ<gFlk$G(+E_Q)^Y&=&d?AI diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool_generation_counter.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool_generation_counter.go index e32f0b8e7d7e59b9afe5d4014f176265b6356d10..47fac2f618ab3da13d81ebd30ccacd5113fec50c 100644 GIT binary patch delta 221 zcmZ1~KVNA>DPvMVetwQZdTL&3QDRAEex5>cNn%N=LUMjyaY<rcNwFRmn5m$_#febl zl3ARbpO=@KT#}likeOFvW};xLkeOeSh^)vNrebp*;|vxNgl@Qm=Hy0hg~<kNI@}0J zm(8(k-`G$DLU^w*PS)cT=T1*8@hi;*X)m5!&!adwl09hhZeA-skduq`@?cUz{F4Fk CoKO@1 delta 36 tcmbQQv{ZgWDdXmQj1yTHlP6cPg)*jWzQy*9jWK2OZQd)4lNSlp0ssP<4k`cu diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/rtt_monitor.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/rtt_monitor.go index c7963bbfd17ad920a66b19b3c1f9d3398a98e02f..723f0fa8472e855548bb23870d7ec5167c2a2212 100644 GIT binary patch delta 3501 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 delta 1317 zcmez1FhysB8RKMIMybgaj8hm*C-X5GDP-oAq!yJW<|rUQNoH=Uo=a&_Vo7Fx-sH8+ zN_q<V`U>Hhc`5nj3dNaKsR||e3dxB%$)!1oC8-LznR%JHrMU`0At4I+WvNAalg~5D zh-hdf=jY|6CWFk-QAjN+$}iH~{EeB5akDJzJw`^;&41Z$Fix)Ia-4jfqs~B2Av{$f zIWbQmGd(ZAC{>{(BbAGjlT%+GqEjKQC_h&LWT0MoVrGek=H!K(!jpG#YOz67O@6|u zI+>qKYO)rWDoebAt-@q~E^URh{33;FE>2F6J_TEaBE6#0Jdf0zoO}(Ch$h$MT;5Pg zg`(2DVueHnr3{dal0tq#D%9godDZGui$P9NNPz~1jzVHyib7&aN->wdK8lP&VzEME z9ykn&6LSl4Qo$;VQcFsU@*rk_?1Th|LTPboik^aJ8rXz_qWrSVl++Zk_n-<gixu)R zbGY>D^%e4q6q0lDi&Il{KrRJ4U!kNZ6XdXbh1BAb#H5_e;tYjEg}l^qBqQL)WB5w} z=BUIxkSD+~gJd??GMI}wU@<s3pHJQ&9Bc|m@v4c;0R?qt8rTU6wzeSmE7a70xq4tT zQ#3R|O2DxJP7sriaVbu2k`=Pygt!Q#g^QE3mJ1qXde9KlDAG$VsnF!&<V-CpQm};> z2}uTAoRb@6h3h#%Q4UfKu}K4@7K@?!`k*i`PgTe&EiO?=E=o--Nln2BIUR+f)a3l4 z6maCgLJyR-!D+B0BNZ*A6%y<7Qn<ir73vR6HF^pz`FZLkpcqt0%*!vyNG*aVxa9oY zTu`bi$;d25<i@1b<iyhARE5kE^<s$OdHLlErJ(poEiO(hs?_7+<Sf!lOi2k&v<9U& zaOCKL6LC;T2q*-gt^tJ$7dTXlOA?Dp6s&9&z!}^xzg$C;Yw~>|J63Q2Pp+30t=HFA za0O-6Vn~hy`2^(k-2A-ElKditlzfG}{1Szt)Z)|<aQFm;gcO64XlX$Ts3-ubFUc>+ z&&f}()KMtTS13<~q+XC>h&NIzGK)(x^U}f52u<!F?-!*e7o|#o49P4}$j<|5P{>QI zC{akxNKMY3yn#nlfD<K7Yq=(?iYV}M!3076-0UtA#khH$Xf7i!Bnd;yrpbolI*g{1 i<Hcpzax?RSLP91th&#cUzr{5-hf6GD+H59Q$p`>&ZM0zk diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.go index 28453460ddfd6611bc5eb719c57847f786f4429e..6915ef035402524c3e1eb34e010cb6107c6c4e77 100644 GIT binary patch delta 4566 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 delta 1522 zcmdnn#<cDo<A&W#n>ksQGuMY?q!y<tB<JT9mn7zu6e|>^78Ioxr{<L?lw^R#^HP&b zGV}8kic1npQi~Px(-aaFic^cqQj7Gsz}gfvxHwZXi<9&7KuS|n6f*Nl%uEz)6*BWn z5|O1c^U}FE;mROPHIV5b@yxu;lFY=M%&OEBE=?}3w9>p}kgGsOX6ENjHfFY9G?=`B zS&Tb1MTv_uIk7lZ!Eo{hW<^G$$q$$%e82+6R$QE%MX4pFMR^KJ&Jg!x=B2~bn;=Vj zBJ5M*;;iN3f@@Toypr9QAL`CbaKMzLP8Q;@7gR_}P0!5B%gjqx$WP<q)YqS!#4$kt z<|UZY%@Um7*;sTGQi~?@320A_6HsGGEh<vjY$ssMIQcuj2uE^SI!Lx?a=oD3<TwG< z$+HEcHVX@tGKnOnq!j6JadP@*<^|;E=LBa~rCLp1B%(C=xQP7Zmm(^%$!Y0&2$zA> z_$F3(rsSlCWag$$4ipvU1*s^=&(HDA&&w>Cyin9R3ZdS=prlyARw1#VAT=*V165o{ zp**uB!?ma=zsMsoFC`~4FWosYCnqT}Ia{MxFQ6ztIkmVLBvYJ`n4Jn%r#bndXe_Ia zLSAOhWIM56NYMpOD>@3usX|8~d2^KbSw=BfI2Y@IoC)*I=Ht?=%(4h4K}~=Pq^9U7 zq-=gISH>g*3Q8+m1*mR>4I0TM6_cX{WY|)RinusyCl@Jd2|;zkB1T6cW%4S;S@m3; znQ1TsazVkAU!<UD3-X3SH5Vr*)M%)To@-fZUWtZUDu~hpg*aFMq>wYDvLMw;K|ukL z*z)t7Gg6bY{Yy)NOA?DpQd5*b(aGtUl2VjfTx<olRW3hA4;0a<#l?ETB}JKe=^C0K zRkfPnbU0boLqZhI<(eS(B~SJ@ke%G6B*+1h^~^2EnS4>%Fil@yAtWPJAr%yJ3K@yT z3W+&Isfj6-3Q4J{c?ubzxJ*q^NUB7N9$293D3oVpCTA!lC+6f7D+EI_HP)!so2;Rt zEdsI^lwb4ntiYy$+^~6>nl|%hF6|kNjKz~}9HciN)~RO3?*7gG1_xL-bDAGwo_xVd zWOA9Uz~--38B8F~<}%yeOq<Od{<CA(I@!(R;baFd`N>ntq$am|edNf?%+ciH<gDGi z(EBSZTWE2rLP^Hti+qxsmxm-VF>7cgPc~2z-7FFA%)$!EYthk?lVb&>pvhx%adbZ8 z<d-q>B8cP&@||9JVrGfPX13THjNsG*3n>jvg~Ys+$$#SHtU>u6<oo2(qN3EilAKCC zh455`<itFM%=EncB9KF1v5{7kp9@l&2QgN2vU<ER7o;EsnKC&g-g)whctw_Y1zUy9 zC*$+@HV5aauui^NlFkZpOz>pKQW;Pg3o8U;OGBhV5|B6u1{KKA1OyTdo_wS<iVw^J Q$tc*`DkN{#E92({06lOLQvd(} diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server_options.go index 37258aaf7b1ac38a7670128c61943b10f83a3f73..53215697b6220c64929be6325de5a5a4b7bded3a 100644 GIT binary patch delta 772 zcmbPautR@C1=HkuCauXEm}DnkVN##W#4J5og;`0lBr`Wv&!w~|u_QA;kBhT7wWut$ z$TvSPvn0Pr0R$%33yX4baTcYfXBL+fRZfmzF`hh$MRM{c7G0gB{QMj)E>3-Y1?T*{ zywqfn843mY`8f*t1t4~@9v5eBVg*RDcycDQ*5nz?vXgf)%SLIXmZj#E=mq5G=Rob^ z;sojQO|0-t$w>{#%uNN^t)PJBJcydiypqJsJkPw6)S|M)98@)vU$N-(YC*i=oS&DL znLb&cHEZ%_RyV86G?23tY;6_tGIJEFxi~pFlk@XRGV@APxi~p%xi~rV3raMS)6zA$ zIBUUPE-5X_Q%FurpX|owH+dFY;$%j4%gOHS`zCX9m`wKJSTp$_huLID&P9`7aw<=j z<k~U$I+yumY3_@YKXIE*-oz(9*_$U>J2$Z+Gq*HXAsH=*iZiQH6*7wz^72a*ax!x> zOHxxNpXW)OY{sj)IfGY-adHEn>gG*+LX4A7@$0kKa@BHi>FZB+6cU-N&%(V~M<9;T z3gn06v~)d4upolYRv|49<PmfUu*cx$SSO+dWHLCsN{dp96-qKv6*A!goRL@p7D-A> z&Q34NFU?DtTp%DKoeMG`H7_wQIaMJ&zbL=7Br`8np{O*kSZ}hRpcEU#_{qgwaW1GX zg-F075Y4%$vM6qrn#?M+ZSp}O?a4od&P+ZntUsAuWdGzdBJz`eh+LR_PE>WWBd73W XVX-5V?~18U78Kt*`HHwM3n=UW9@_`n delta 848 zcmdm?KgnQ21=Hk0CPQWg1%=7;m=u{56ejOt(wTgpNr_QmazBgcWC3Pj2x}6E!=f}< zmqlr^7mJd(0tjfOmZj#E=mq5G=lJI5WtQX@O*UW_WmK4K&nz=}4!@LKNoH=Uo=a&_ zVo7Fx9v5d(YI<gINl_(8FUZPdW@9xdJ1IXuhl{f~wWut$$T7eZDhj72+lxs~KF%!4 z4HW??pL~o(Ura*_qQ^NuFD)}&M<KPSD8EQ^G81c-SZ-p4bADc4u@zL0f`Wpffx+Yq zRxjVwq9O$=TZR0B5{=}vbWJW!&dfBBRs}^{g}lrhg=#KNPR^p#lG36)5FczT7bj;e z7iTRO$QxjZ<g|1hknH3)tbS}D-T6h6t=JM-!A_Vwi_MA~$%x69*bYEtCbFA~AjyEt ztmWd;*PqPCAwKyDdmmI;A%{7N0n0d+KxI5RRZwKIId?&2RJbfqWTLn(LuGWh%}`_# zxN8(kGEx;%QqvMkb4nD-Gjnnjl2R3N6H7Amd=o1?^GeK2CbRRvypztOhOB>cH;)J- z)aZG<C{mLXxFsjw=KT$oy~<~Rta0)#0lCR*__;P~^T)vqn8+?Xc^SU|r>#O-9w<Ka zCePuQ<O9VDA_^w|61)jD@sf}Ziiv-O&Ov2P3ZvTfUHBkWX1j<2ik_<?m!LAsL{VLT ZN)%?#A~6jVJtxHWL-n+Y>j`4SAOI~x5-k7# diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source_1_16.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source_1_16.go new file mode 100644 index 0000000000000000000000000000000000000000..387f2ec04d62632bab544fb567e04a419e6ecbe5 GIT binary patch literal 1391 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xG}kRCN-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTZg!ub-Z8l~kIUlcJ!Qo^PmUXbv)38&!m>ATc>RF+EkG zB)=d(CqKQCiz_p?Ait<YL4%7^DLFr{B(<VM3B)X_EGWs>FUcte@$ynjl(;mxxJoJu zQWZ*aik<WG@)R=jN>Yo`5|dLEs<}AxQcLteqFh{@`uYm~c{!B|MX80QnMJ7z9*KD= z#Tkj&sS5ddU=JcRrsWqYxaTVv>KU3TB<7_k<fIlC>v3_yb!ccRq!tzB7jbcd%uY=% z$;{6SE=ep&)zAbv18gIbC|4~PS6O0_LOe(kq(i}0K|`w~rx>hIQzI`k2h9^u&H1H8 z$*HIwa?Z(2%`4G>`AbIuW=>jWI@ofM`5+6C!vxtlw>*Wk(!69sCZIYP*#MB^p<#_I z?3M@f2*`K^jS`q=(G)4be2}bw@I-Q2I#!Q>qOd5nq_ikcp+qAuSw|r`EnO4jJ5X?@ zq^2d7=9Gl^1cUsHYz=m+6>OnCC)H+9L_vcc$qD-U3dvwmc(PC^&&<hDC`c_z%P-1R zNL0vxr!a7COH@eDFUl`1$;?Xyr>gSA%n}7qQp+qUhGflDP(lJFNA$!8$};5{sd<P* z>kP>g3Yo<Upd6oAmYA87n3R*M#{~|4G?!^4msBV~vk@rKfwGeh)cLT$f~ILukf#<E zIcFs1DOlMm<R)gPY9xa=;1sW;V5rH(nVt^`NllPqPMB&NU8sqA@DS0^<l?N=(B$Ic zEKbcyO)decPfjdO1!W(Q={CAh%~o8ToY06)Eh^&T1S_)9O)ja>bIH$3)zCyz01|X9 LDgv9$Rm%kcIIPcI literal 0 HcmV?d00001 diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source_1_17.go similarity index 66% rename from vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source.go rename to vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source_1_17.go index 718a9abbde1785d3d6a2546e1ea88d272636e09b..c9822e06090b8d5918ced49876fdd33da6f7f371 100644 GIT binary patch delta 374 zcmeywc9e61B9oEPMCI2?`ugelR!OCqIVlS1`G$Ii=3M&v3fjm5lX(~w*z@yBQY%W7 zCTlR-<ZyB7>njAM7M5lfr7CzN=A{&8Bxa{NLzF1w=P8tAq$*_Qm82G>B_^jTq~#YW zxaTW?%vMOuOHs(kOwULy(&OSp*Q$|RQlXFxF-8w++~#~nW~O?Oo04-fQ}asTdKAht zb8-|4Qj5~^i*gkb6*6G%0675DI)(Dgk_-&T>T#u&<|Qkj8I9o%m(+?99jGdWlAL1a m{JcC(h18;={33;FF3zIVlG36)sJtHBg-{=WOw;75<pKaI>VQlD delta 37 tcmX@g`H5|UB9o!{MCI3$jTq%7M>AS*b9yA^r4(l*W~XXw{?EwF1OV#{3<m%J diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology.go index 0f3ccdfd3d655dd40fe9fb09bc7cf7cb7efb1d5b..f02e5dea8636ddf36bd835328d8031d536620ff8 100644 GIT binary patch delta 2579 zcmeC%#<=Y$<A$?L%xSqLldm!9PoBsuvssf_i?Kc=zaT#+KfO|+xFoS8RUtV)uec;J zucTOy3(Qo|;NmQSDsjmyPR`HEOHD3GO;O0qD={-suvN&+FG<9vBr`7^A?ys(h9Sh9 znU}uVhh-V_WO0rin{RUb;#31WL`MOetq4))$?xQqHj4_M;1)nr?>zav+<j$qL6`#& zCb(>VEnmTeuG?jEsS-c4Fj%{$f}$<l8P1z$s@AYzmC(|XW@Idy?5ceLtF)93Gi$xR zzJh0(LP<tyQL1{eLVjLOr9ysQszPyTW=UdFPO3t2YEfBgkwQvpadJ^+K}lwQo{mCE zQKdpjzCv1NUJ6L3LSk`oesX3aDD<Jq6Z2BII63w86^c?zN{jLoGE4LnLNYRo6*7wz z67v-D3raF`GpiCyGOhCS6bgzma}$d)b1D_m@{2&xotKiB19C)SUW!6aeqxGlQesYG zUUF)RLP}~uPJU%>DkvRH-fJMPXQ)uk#mUJDu~tVRwWvtJ%2uI7&n+`AB^c~<4VYJ= z4Pqy6l$D(PQD3;e7NjXN4dy#rTZO#L9Eeez$@zIDnR%tDASGaRP(Q%z$ji*(;^eI5 zf_N|}F)t-QH>XmeI5j6VxkSMTU(kU(pQ4bKS)Z2zwYnJW=aP)nTs?(wP-ue<DJjo~ zm|mQ(P@bxgoS3IjkeQqf4s1}slxLP?pmNeu%TtRKGV^o`it^KoQj3cf@(WUn5<&4* ztdNwNlV7gK#mNbZMME8h6r0rIWFt^OflM`mhma;0EF=xF2PIhl<Nyn86_`RJ+zO2* z2UzH_L(*6I<adTjd?2Ui7bzs=mt-j9r%mQJlJqauQAo`Mr9Oy%p+Q}ekqSwL;1~o2 zK}KR(s*XZ_5jgE7rYC0RDP)3^ZKZlqD#XOR%pASR`bHA0V526x8>vk$HqxsH^WeD! z6bkToH&lQ|d`%5BI*ec<;8caFP)!Z1Ld-M+*II7~%B+ag1@$2$F&XNB(jE4MW(1Ri zr8IxAe-%o~^A(Cv6J2TwdZH`VfhCxFNJxTH3_OvP7J~~^P>GqDpH~bD6n%YA`U6R1 z=IMecXo(7vS4adUT!qBE#GL$eaDv5|(2^5DdP_1=D-{xpQWX+&>T~mpOCWKOm{Xou zSqx6M#fiD83T25orKw=!5*5-j%Tn{8VGD8&Jp2sx{9y^%IlnZoL_<@-2CB{oQwkhy zC_!8g4`WbXMv;Pra4lCY7ni<1IK+&gC04P55j2#cmLZpb#R_Rf`MF?^Wabr=mM9eG zWG1I7<ipDoP(Fc{mi5ItAhXj;6N?h_N>WoZ^U@VcG7?L`y1~Janv)7D&=6)qOv@}* z$jdJQJ1R9rp`<)BITcifrYhtYrKA=iECZR2WM8pDW**pVsLSfXPRmWKR7gry$jwj5 zOv_A7(F2wFkkn9;k(dW6v>-VR#h}EZRFL5XMfqi!DXA%tBxR&fo|%)QP>`6HnXJc^ zR+^U#cA}9+O0hz8ERudbNb$?8sh~00Ay~v0Q%Vz5;Ogru1Vc*BL|A}l=B1=oAc6zx z5wJf%H9~f3YQg0DK@#=QNJuPE0PE1>;>=8`0F`Qx?4jqGSCXfZlbWZIQmm=T#aV0! zl1nL$&P=I@<>CU>PQm4g1>nGf6yD(01IX@@e6VP0UWx+9#-db6l$7Kv6s6|om!&FX zmM9e0gUjZW{5*9?EP=IvV-%9P!8RcI8XAXOoKPp|D5MleL!GB<7^`55$_Gn>oywU~ z43V@#sOIA01XbOzpv%h#m7zoiAT$$zi($COA#O%V<$7G4P^HD7N~1U$HC)*t0UNvd zlaVkZ_6CN@Q_jsycJp~QFY>ZyQcNx_DoV{O(E(ec0IH?aigWc63kq^7H9+B{x!J<^ G8ZQ8Sz-@5= delta 748 zcmdmXl(BCc<A$?LoVkf58Tv(uc`1`GFzK_V<(4RMO>SV8-z?3n#klz#%Y0^4kffep zYI$&eX;E^jMoDIFs-9ndxrU}*XkKQ8Ut(UqhNkA^T#g-F$@zJCsmUdo`FWdFIe&2~ zAo#^4i6yBz3MrYzP_fh$9fjo0uEMXlg`gst`FT)P$&>Bn@5^EeLre$hOxf(HP{D+$ zGiCEhC4Od6G_9Hnina>LlmA#tZe~$SX2CAKxk^i#aq=|n1K6b}|FPEJJVWOSOMP)_ zPHJ*VYKnrDtwM2WW=UdFPHHqLjPi5!Jo8HOG;&h&G++{%nz3A*oG>lHItr;pMIenO zdTyC{DZ!~lWvN9PFlkMY((=rb<P3#sE>6zm#Nt%2dPQ4>yv!UcE>2F)qSVQ)MgmS? zDVVlkkoOP@N=l3J6yS0?Agx@SoGGbkiKRIuU_<ov6~ZTnm?+7YWTYw-6y=v?rlh7Q zq@)%n7iAWJVowibmA?MuHzpF3IZf5rpj>@ZJqv}B{DS<P{Pap4h5RCgl8nR>h@=9@ ztYWZ#pqA$sDHNrG9Fv-&ke5GM&{3F;le3nKvv%_}D`7_Lp}hHz^;1q}9fkPK4_)W; zY_1P-U@|F7ECPo@YEe;s5f^82X;D#XUWpFay^!#<RVdL*E6&wREGWpS)ByQo^4<uU O$$x{nHa`xz%nJa<kpT+; diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology_options.go index aca85b0b5cf1ef9b1071a7b6d92acb70731acbbf..b405739cb1fd8d4b6a1e635e09590c3f71ea6d89 100644 GIT binary patch delta 208 zcmewoH$7oP1FL*ynnHd-iGr=ILSAN$LNymBCueegUP)$NX(|^dXYJ-%R(pO^PM`e5 z6sN?T#JuFx6e|UV<YGN!k>J!41vNEv(aqaL7BVV;4CLf=EGY0x%uUruF4luGHT57e ele5L7t)OgVGeJs``Pl8yoNOy4zIm?LbqN58l0bU^ delta 74 zcmbQ9@Fi|T1MB8RtTz0cB}Hd5>N^$`_$B71Y9tryL7AF*&iT0oMXANb`9;MbaU`zh O<OfpXn;pcjO8@{7g&WBL diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/uuid/uuid.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/uuid/uuid.go deleted file mode 100644 index 50d2634472ff70bb9f55b6a58b607f7ef49801ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1177 zcmdPbS8&cRs4U7%&nQvQaMo1t&Cg5EcX85D@XSlrQ!p|xG}kRCN-a*!E79Z9*XPpL zSMbS9PR%P$O;IS#OGzzKD9K1wa4bkn&PavH=qQAx78Pga=P4NJ87OFg6evM8DQQ|O zROXi|<R(^vjLOR|Q7A1=RVc~GELKR%%t=*9tw>HSC{f7FQ%KIwEy&4C%u7yHD9<d( z0NVpKMNc6TVunI~Qb}TF9>}Ofh2;E#N`?G1WQ7WeB?=iOB?VUc`sL;2dWm3X>g5-u z>*qi`QLOLd>Fnwk?5b;|XTZf(keHmEn4YRoTAG=nps%lxnOl%wRHC4ip0Ae+3YU~5 zux2n@H>D`EEVW3#LLbc4hjKw$mAJT|IyJaBl``{{xHy$^6H7AmixTrvK%A1y+*Bnl zE>64#XXcfp7Ud=8fOVCYWacPwX>x(Q8XD^9qEM6yjh14CL<NwD9#=_aK`NN35N&7{ zn^akn3RVuXG(T4%6QmI8LEZG6{G`Mjg@WSL(v*B%sEWMO+@#bZh4j?C)S|?a{31QB zvcw_<sH82J0dj_(UuwBeesXqdN>E~6iUvp?Bov%qT9lls0rHxjUw*lUre0`XW`$p3 zUcQE=CdA=>spSeqsU@XFc_6odH0I}m9b9Ijr{D=r3Lpujup;0>h2qrIl++Y>0s(~% z)Qbw4d6^}di8+~7i6x+<2zD1V1%upCoRMFelcE4hfk~;LM3|ybk`MEHszP#6WkE@P zdQoCQMrLwiPEMt6acXjDQ7SkTpsp^~<4P;dOIGkpE!WUg&;Uh(jzVftQGSu8LNymB zDDXh30Vy^(<G~6PtZWrB^YwyK6I0wub8^5zn4hZyPIl2&v6@_*nQ0({6clY0@-lNk zhH*l|4Q^I-E!ZS3&RQ-`kR{P(u?n^d8Zf4sf<c8rnx;aHf<c9e0VpZMvZM)Ay#+$O zMXUlyy)jh11w?&fQD$OZ2`JeZ8gOyJ><3w(19B8sEjV$x7M3RFz$3M!s5Dg}GfknS vJRcmd#R`c<sS2qeHPEmEtJg@>QAh$S&{Rmu&j))D>c2z<TU&)Bu39bt6#;+p diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage/wiremessage.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage/wiremessage.go index abf9ad1c37a76e5988b191be35a57efd8a62e6ce..e3aa09673cac4334efcbf7f47d002843b2793fad 100644 GIT binary patch delta 574 zcmcc7%DBIav0h(a!8yO6vM4h>qeMZ&SyRC`KQBGs#YsoOGcQ?B!N|bKNVlLUwKz4e zM2|~fpG#j~!6!30HLo}|MWHk=CACPQBqLS9u^=%yBNZm2qY#!_RGgWgr(mRKpr8R# zpaj*Vq-m{CnO~}qn^*}lDz84jM4_}eRiPv!vsfW5GbdFcwIVsSphO`vPa!!!w;(4o zF)uk)p**uB18fo07(InZh#?C3NhOJyc_6bA6_WD{Di!k6kQFK<mMCPDloVL$>z9|8 z>m`ESsh3}ruAc+;g+OYtzK^G~t6#9Iu92Pr7uSa40+SE2oAYO;C^+Zmf_z?_U*zdB zc`b`feP)V6H5X@cVsR>xoL|0wffW}gXHjZNX;Gen5<(Y9MhQcGa9(0TK_zw_5IIae zQ9hYTR$TSiECESj(NJ8Hg58R!;*u04F3yzHw8YY!66|U`^U4x)GC|5}xoWw%lJoP5 VOB6J?HlG*BmSN1?Y^6I-6ac<-!L0xQ delta 21 dcmdnr#dxEYaWfy|ae>Xc!o@P17wXRw1pr*z2l@a2 diff --git a/vendor/go.uber.org/zap/CHANGELOG.md b/vendor/go.uber.org/zap/CHANGELOG.md index 1793b08c89abb6ddabfdf0777e420d4a67fa2da8..da36c370802a4295b7c01545fd1cb71bfc0593ca 100644 GIT binary patch delta 1421 zcmZo$%J_K`<AgQb#(D+{8b&4xj-~07<CvxD4Gm4qW20lO6dY4h6cQB@suBy5^NUjT zd{WC&bNtg16w*rbl1no4^At+*6;e`5Qj2mk^HLQ`GEx<CKuQ$y(-ac96ciG`8eH=d zlX6mv5)|@_6cU{Ci&7KxxU>|al?@F|P2skH?9dA?Day=CPmL-nPEbh8OwCDANY2kI zE-5NaF3B$f*_D%@u8>$%lvr5|vLZhzD>b>Km`g#SBqOmzAv3oiCp9-UuS6jMVvvTW zLNVCH1U)V;kbNfRlM~rAxC~9q!CX^Q5Le95)Rc>hOIcaLP|wH+6cQGQfG{vOM0KJ+ z#LfhT#Jm)6!016l!V+^zQ?WU_80u~=1x%OgDTHU1WPrl0I8~vfJRjM+#X1U=_4%a= zDfxNoB?@_|sVN|X;C=*!E-YFcK_TLsSX7*m2oC48{33<Y;#7rlkm2Bf1*=F<$V^ix z$;dBGRe**ZBFK=9gLnvJUOmJ>XmlBvTOz_DxHLVnC^f|=KRrFQNDt%<{{m2oC{6%5 zGpRH)2b6M>^9w3LF_oC7kXn&hT#}iW4zdYFa{|Pjpu|&9lwX#alA5BB4>7A=A+ew! zCo?q#<^l@?gbTEC@)8uv5{ohu^Gd*hoPcI5C>T-`lQR@RsRo=b^|%xiLNZc|Q{f4? zSOIFMLLxM+C}ibl=4IxkD<q|6)F+l@<`*dxXXa++B!UxQLRxN#UO-W1UP(?KEEyYE zSRh<gl~@1{4Y$OS#2k<O{Okm%XF$P{oS#=xl%E5NaFFp3)AK=*lFFq3a%OsJkpjrs z31ICB^}1kZgJcv^^Gb>`Q;YQ!LNYRo6;e{u5=(O+{!XpP1O+VE)Pkb?^rFOEXm}YK zAY2B?#(KV`#U;r37nE@-^Gg+y6Z4SLj9+SbKv8~5eJMDXgK{n?+Wb<>T|n78zW|iW zz!6=Ln3tIhNmr=~#g)Y+sksW}iNy+~;5-lVGbAa1VmAkpR-k#`5XEWGbmWtto}iGM zT9T2U0?O0%B?^f-Ir-(q3dIGf$(d=Dpm>2A1ubdP@{2$@OQE<Vu>_L&Q!4Wkb2F0@ zb8;&6xVS<x67#ab$-^Nzu_z@oM@PXSxhOF+y&$o;q$poU!J#;@I3qDPH77N%q%yS( zB#@C`l4xvdV5TDg&gBkO8KniOnOUWIT$2^qwb-JS4Gqi<CnvILa+({03K9czO9;;r t%(E~6@i;6DAiT+iOj;Zk79ftH!Q?_FO-@4t2+t72V>UFj*tq0TAONCF-T(jq delta 13 VcmeyoiLq@d<AgPvXR_Z41OPA128{p! diff --git a/vendor/go.uber.org/zap/CONTRIBUTING.md b/vendor/go.uber.org/zap/CONTRIBUTING.md index 5cd965687138cb728cd3157e1402c1e1e71ce9b9..ea02f3cae2d68df7c27e5e6b0fbc22808b9f0cfe 100644 GIT binary patch delta 78 zcmX>q^hjXC9VV8f#Nv#_cbFK#jLCPHr6#{*@c?r+8?uT+g+17&vBsAaRmN|A%*M>f Xs5|*NyAq@BWG)T^M%~TU99)b5Q=Ay{ delta 326 zcmaDPa8zi+9j3((m>BE1auc&t6-rWzOCYSA%)An=goFexF3&WD%KTFGqEv;v{1S!I z;>^5sg_4X^h1|@%{33<2)S}|d{5*yHGzIs3h2nzL<jl0p)D(rxJg_3)#O&0x%$!v9 zVy*-qPrndHCm+{%Ur#^(p!hJ?pkPmbzu*Lgvc#hL%*3ReR2_u`urolGCn%)krxxd_ zmnfv<D<tMsmSkk+rRyn#WMmdAWEOL!W#*;oC?u7ZC}fr><fbO(6)TivB$j}knv<iD zpO;gqkdj%PoL`n&qyREcAuTa8r?e=wSRpa3B((^nP$9n{H4nrn;^HkR&B;+HN-Zo+ zEiTcU{D;|VG9$C}<W!bFlT%rzv1*kRRcdWwV`gO3n#{tk#Hck{o!x*@YjXrU7b5^& C`fp<Z diff --git a/vendor/go.uber.org/zap/README.md b/vendor/go.uber.org/zap/README.md index 9c9dfe1ed7ba6e868debb911515b5882d2790b33..a553a428c8f6f5ccd14473c13caef465858eadf3 100644 GIT binary patch delta 1721 zcmbQBc}#DE2Rlc6az=iBaccbL0QS|4k_t$m2E-1@%uNN+lNmV;1ay&rLXCpeWJhkv z$v(U)wjdP{T%%xQX<(p`SFE33pr8OYLP0^>KousdprBx?keHK`pA1o<pincppI5Tp z*u>lvRhPCAvMxgdG+kUZ3RS5^`8oON5Tl`Fje?<pnXx6*D2V;qMrP&^2Y~p-Mwlk0 z*XQeIXO=+CfKoLIh9)M)Ca6XkTUsEDGPT4sDknd^sI(Yr1eB^#Ff=zbKr_k266!yY zqv|aTF^x(rNUhLE^I(mFv5|=pic#8z28KwEGBd+8DJMVO&=l$z7*(TSY;0-{4JkE9 zRB0O;m?9Zvj&9WCbzA||NFxfy=El%)g;<Q9M$ls$oJJH(OpQ==X&V_rVgq6dmN3Mg zMih)JEKp6-H8Msv3Eh6K8U<Ww#L(OVmU2Ncsi19aV1^X4rWRPE16vxgG&6!m2gEzt zriNxl5Lbart~bZxD(o?9WN2Y#2K69FtAe(vIkHjaSn>dl)Mj8|3C+&1G-6?Bf#fPv zjO@IICqx34$UrpM0nl;;dog0qDFG@*Y(T0ZxJJR)!Vu~KNMI0=LX_*_N}-7u!Y4Xe z7@NVuAEHq~L6=afC@x9NOGzwBQOL<mDymN`ssy<o<a$_|fSII?l2WmRe>&D8$jks1 zk5GfOO)Viw0?ao=@msxuLJe1q0<I#+7#fjaoeB!t#-=6^qd+lagdUGvH4501grTJ+ yEc1XgDkx~17(on*hnQ@RHN|5ofJ{tHV7>#Jq-|(m2@P-%-v~XFHeco2#R>q87LyJD delta 1032 zcmX@6H$iiQ2RnyWaz=iBajMql0QS|4Y&8lYnYpQxuksnNDAXueO^)U?Q>alevNSMI z$Sc;*FHopa&^Az2s8KLgNX*H}PX>uiKF6t2U!$OH1eP!~K*(^_C{(2u<>%z5E7T|$ z8kiYdB1|zdGY6StY=ojbJzqCFvjn8t#KhPHq1xEe0;Jm15=C`RetJ=9F-Ud2xuF4) zauZ9iTPzGwlqVLXR_H?<V{Bw%grwfkzz}S{nHh?Pocwe{Q-vA@V`EcuB&Qo1n1WTC zBUCdMOzz?iz!rS+H44V&#t5H)9flM}lh1KV)|;3bAygO{g1n0AbVM*3Sy;f8>KYk? zlp>kNRil6iLPK*4Q@C1fV*@j=-KG}kek`ho1fr#x5t1)W4b6-|rkkT04+|3`LklxA zgz2W{P}QjMi5%nx7M4h<$imP9Y`m$dLLvt|DP{77;0i<wLxgQ$k07}V5{QP##)F)W zD-4az5dPG~5`@JiiFqlBMJWn7nMp;7MU|i=fE<+I2txH}dVW1L<(e5F2a6@x9jFdL zBwKT1Bqtl2nt&7=A!RMD8U>^fG_<rt#J#qO5m>o7EH?G?3%F_&V9{e@YJ%hpLjy~& QH;s@Sy}3tl7b_zd04qo_xBvhE diff --git a/vendor/go.uber.org/zap/array_go118.go b/vendor/go.uber.org/zap/array_go118.go new file mode 100644 index 0000000000000000000000000000000000000000..ea94f9d75df08ec2a0dc6f1ed23442bceba1a679 GIT binary patch literal 5717 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 Bb(;VH literal 0 HcmV?d00001 diff --git a/vendor/go.uber.org/zap/config.go b/vendor/go.uber.org/zap/config.go index 55637fb0b4b1004612b5b21576ca0d8f92c7b331..ee6096766a85a96f0219e052454f5a4d8fdda995 100644 GIT binary patch delta 35 mcmccSdDC-46$@KxQBi(T@#b2VSV=AjThA}GeDf38Piz1M;tps4 delta 32 ocmccVdChY}6$^7(Zpr2bmRL!ywA>Os*P^2QqO{G=Wk0b20M{W61poj5 diff --git a/vendor/go.uber.org/zap/doc.go b/vendor/go.uber.org/zap/doc.go index 8638dd1b9656621728d718bdd2869945638b4f6a..3c50d7b4d3ffd9298c7272007a71285565fadd85 100644 GIT binary patch delta 282 zcmeCsY|z{g&CaO2Ig0%wBMX<lKIdd#P8D&^l+?7;B8B48^u!{);L5yY4Nb6I7pE#C z=j4r?iXxl}3QCD3C8@auB}zI9#yVi>7o0L|oM4rkdAJTi&AY%Y%g8zTJ+~Mm=VW#s zkbXTLT}IByu{_d@oRh0~v=})jFXLGXu^g`0h7)YLf|ad8PJViNYLQ+r$T1Li6yzjk z=7FTZYV=%E!8BNoOJ83>dGaCN3lQ_B@TrP$W~M2m78NNd+A8E_<|tHyoqC?noQ<;< b%zV!+wpoQ=gNadjv$tRx6QlCv4Z=47amq?q delta 328 zcmZqB?9kj0&AvI7{R1PDg2LoLP8CT7g_P8^)FOrA()7e4z2M5cWDQL&eSHOm$vvE^ z9102w3QDC#Ig@p{#O-vz;tC2%i6teexdkOkIts>cv82T0?EJJeB^`y5%-mGH;MC;& zycCEm#JtU%T!+B6p68a8g4vprpPrtIYAp+oD#&eGJi78A+p7`_^gQ!QG>|RTgqS<I zghvacbUx2gW(5U>$>+IcWfX9mtT4HjR|>3f2Cw|&oxJBkdVBa(#S|1W(-cyRiWC%W l74kB36sp1goP3neoI^pO7R=eq#Bay6*-0>!Y4S?p>i`rtS5g1~ diff --git a/vendor/go.uber.org/zap/encoder.go b/vendor/go.uber.org/zap/encoder.go index 08ed83354360124387f449d36d3d03dcc9a5280a..caa04ceefd81af9c9876b0e00fc3c545b1ebcde8 100644 GIT binary patch delta 23 ecmZ21wpeV#MNY2NqN4nwVm-gq^3At7Js1IQZ3x@| delta 23 ecmZ21wpeV#MNY1?+!8(4qN4nww9U6UJs1IOtO(2i diff --git a/vendor/go.uber.org/zap/http_handler.go b/vendor/go.uber.org/zap/http_handler.go index 1297c33b32851d00c421f4e48fe5d7504055889f..632b6831a85610279519936687c097e3c06f30d3 100644 GIT binary patch delta 150 zcmew@|4n{FHw#;8QBi(T@#J=vMU2XmHCUr%xb*cotCez6%TjZctduhI((;vRx%Bn9 z^z{{#C(mJB!^k-~fm3R-6|d;zYPQLYoSTK%85tQlC;M@zOt$9W2eW1{a!!89;RR-^ lO^)TX+B}Ohn}rKvm!4m0`DT8;rHn}Y$^3lElOOU+0RR$IEAapT delta 155 zcmew+|66`TH_POyEb}ItvPMZNC@54b<)oIS<|tVyW#*;jE7fx8>vQSrPhQQshDAX^ zL1A(nr_^LqUeU?zY?HwPo2A(q8NsZ{fgCEr_F&z%DXB@N>0J8yU@d_hGnheIUvYTB m6sk>*=Coqc*WWyaGlykzG(YcVUcN<)AjV`~K84A5_@w}h11eYm diff --git a/vendor/go.uber.org/zap/internal/exit/exit.go b/vendor/go.uber.org/zap/internal/exit/exit.go index dfc5b05feb77831a130824be7f68b8b94d999d7a..f673f9947b85831dc48b46cbf2ac005579fa900a 100644 GIT binary patch delta 216 zcmbO$a7<vseHMxM)QZd!1zUyuVm;T2%n~jxeSL-S%#w`BysX;N$@wX%ntBSJX$mD7 zsR{*&$=QkNsS26JT>AQx16XZkKngWLiWD;QN;DO!xj4bbfrTc|VU1OA&QD2IPyoqt zaTXM%mMJJGq?P6+gB5^8C$q8@@PhT!LiKKLU<+qt1q)5S&8}sDVtR2Z*paCz3bqO* VMWv}+oW-enU^{FTKnl5Pxd1g$M6>_^ delta 157 zcmX>mFjrv1eHOi<)WjSGTZOdJykrecg=&TTVm;T2%n}VlO@&%6E`5Ck5Kkd5zbH2` zC#Q1qcNT34Lrpye&oqUSj8uh!#N_P6^i+_#%;L$mthW3h<sgH&I6)?BOrFLX%TrL4 nTBe`?v176@TLCvnsurSR^8~hVMi!93<TvbEljS(Xm}<EIVCyj0 diff --git a/vendor/go.uber.org/zap/internal/level_enabler.go b/vendor/go.uber.org/zap/internal/level_enabler.go new file mode 100644 index 0000000000000000000000000000000000000000..5f3e3f1b924a166f8a8b5844fa8103da1f5fcd9a GIT binary patch literal 1528 zcmdPbS8&cRs4U7%&nQvQNY+#^GB7ey2u(^YQV2;+&dAHp$xqKrE!I)+%uCke(%0wG z*H;KgEy~R-F3!x)Q^+h<$Ve?pO{!E#FG|cSNlnpFNGnQBRme|MNX|$sN>9~MD9Kky z%&Sx=NG&SP&r`@xDoM=D%gjqxNK{D9FQ^2Wm!GCkl95@gP@JDuQl40ps*sqMqL5fz zoS&STSdyBekdmKVnwy$el2`(=GA%PFwOB!;BqLQpDHy6lNfT^ON@`*b$iU1z1&}mM zR-rtzBqP7HM4>3PxTGjE8Dxx(LS|laPH76rB{1on%-l?<B_QqKFewI^SCX$#TAZo_ zcCd~@ZhlH;TBVLcZYtP+1*J(jnZ+483MrW&)00X|QgsxHL4wJtc_3Yhc`5q&MGD2K zIbg>n=NDwA7K1_vWC_fTI$%$i<b%Q~H?ssp73b#_gF>%7BR?0_Kbc@xrIi-tWfo_o zrhpWs<SP{CgYC^qO)de6fJ{%z&&kOz2l+8MKQAQ{<ndxFXe@?gq$(sP<(H*`y#@BH zLSBAJW-=uF!7);Rh-s))aYkZJjzUr@H26|e6f*NbK?D+o`K$=!{o<0uypqhs9EF1X zBCx&aK8B^H5D!;{V1KueaK|851<zoGfFS=cPZw7g1trH|1<zn59ffeu5D)**5QT8Z zpdd%TkVpl8Hw8z(NCj_CKNlSZ*NA{1*Wh3U{~(Y%JbeRvJY8LM6g>T$eL`J4{oECt zLPHe%{6iFcJbgVwTwN4G{1rfULQV5@4F;L#>l)<j;pi9Q=;Z0+84{@jGRw^~#1CY$ zn}3jkqe6gVP>82<sE=ciLO^IxfPb*7f}@{{f}g*ir=MGpr=Pp4ud82(o`R>Jf}g*F zYnZEFh(fT3qmK{BHjr_Sp&=grK_G`JIQs`g26?)BgeZ9U`?$CU1uHnYD)@LhI{CON zfNk@ORB-lj^z_wHaB=i?bO*UHNWnkE!xijFkV=R%6~aASL82gA9sLv>okKkR{XqV4 z_V)`3a&!*SQ3&x53Q_Qf>JIk|cGXdE4Dt*Hg^XK}zc1LQpwRVq1F7=#Q*ie8^K*q5 z1PXbO^AQo`9|Y!y2D^e(gI%QH;_B$*>E|A-;OPhQCn#`X5vs?<RgjpRotO?vFeRx) zd5Jk(T$#C`G@+oBp08J$lv<>hUzDz2l~@46$@xX8N?agQd{WC&b5c`W^AeMCQj0(Z zO=6xxW?o5ZQCebhszPyMNoH|cW@?H;Ql$b|EmUQ(LP<tqi2}G7Ny<r8D9HzzR+I|1 zvLqulvq&MoJWnA9WIQ|xf=VBR*_p)(DXD3hd61k{TAZqon_mRVCV6G4d6}tsB{`J} zpdu!<xTF}IZS(T;bgL2zK#m7l2K8|<$asYiklD$Jd3pII;A{i-duob8T2X$k0#uVi zQfhJ{$R2P>n5vLmnVgfEtdNpgkeZj0nwMOu$5m2UkP7i9QkcL)qne8oYLp&wSa5N1 Pg1H)+Fq<IKT(w*Pzs~D@ literal 0 HcmV?d00001 diff --git a/vendor/go.uber.org/zap/level.go b/vendor/go.uber.org/zap/level.go index 8f86c430f0f75abff4a7d28087d1986369d275a1..db951e19a50f10df9fcd10c81545997daad89ffa 100644 GIT binary patch delta 75 zcmdm^(XP2+0SiZFUP)?EUSiJX9+uy1I%SDP3h@dsF+HEuvecZ^6xY1Oq@2_u1zQEj WlKkAvWUz4cWJey6%`>={Z~y>6tQ+nC delta 17 ZcmZqI+@rB!0n6q+EYI0CU*g`%0RTnu2bKT; diff --git a/vendor/go.uber.org/zap/logger.go b/vendor/go.uber.org/zap/logger.go index 087c74222819bf604f972c973f1d4bf7f325c893..b5f9a99fd8ef6ed35bef041c49d522b003cdfadc 100644 GIT binary patch delta 826 zcmeB)dXTW8nPqbqiz^e0M}B_x=BsS)SvH^G-osSyTUuPAkXfvdsF0DGQ;=GuP?C{Y zqEKFxSO5}BPRz+sD9KkyR7fk$OD@UG&r>K$Eh#O^%gjqx(9rV9Pft%R(osk)D#|a? z<kHtyNX$!7C`io9OfFW)Oj9VyNQKCOY{<*c)6L7w(NpjQTbP+wlA4!NpPHhOmS3b$ zTAZqonWs>eSd^KVl#>cFDl;#$Br`E5vnmm6Z*ggIhC*Vo6_>s~m%ct{Sz?hw4%m7H zTZO8`0zHsNG(Zf$)bfC${FG9#b2T(Ixj;@=082wPAi3MQ2;x9Z1*o7xH5X@Q8c0w< z(N-ZZGY2HV3HFjkYEh9U7iTRO7bheTpbpqv%O}9e<dZ*nqPWQ9A~E5~&hm<r^<;b} zCrAr3`{buj)>e|6oGqovlv6hOt(?i`UU3~hR>!oG)S}7zRm18*cH|c+gcoI&q=saq z=K1C47buix=Hw{kq$Z|-LO(e_uOu_CG&MybwIVgS6dW9hApKmNoS-mQa7!#n%mKMZ zAvLe0s8UCvJR>tX0~F|`d8rizsmUd&DS8TS`9%t;6^Xe8IjK5eonWF~K|vu69EA#2 zwhH;hdj18ec^Z0pnqXN41yDSu78N0fhQ7W62;}6a>w#_7P)bhB%gZlO$S+9EQ_=xP zhbt&afI|#!P%X^FwA>QCfTGO2lAJt^w0b?i#N1R+Jb^p|Q4*4os*na1hXe&U0zghF zPgQ^g2YP6Lk{d)n++})PoS@ju&jY(t!4?vuH8lzdk;x0xyrHr2QOyU++OI0VIZ1sL FD*&ks3c>&Y delta 202 zcmaEm&=a+xnT1_HGrzPXGiP%%iz^eGV{%Dme%|IYZ0}iEz@odk_b_eV&(F!Z`IDp$ zA6sxnerZn1<mp=SlbtloUHtO%3luVo6-qKv6;e{u5=(PR6v`5FN>dfm@{1IlGg6bY z!;3OYQX$6bC?w{kC}fr><fJC16f2bEb8&L&>rbAgA*G~{sNj}Zl9;1Vo{^cH0Wz{Q jFSVi|HMt};MURV<Gc#@SYt1m2^=?`|Q0C_8S|?cn5t2v6 diff --git a/vendor/go.uber.org/zap/options.go b/vendor/go.uber.org/zap/options.go index e9e66161f51098869a4c386a5ade87813dba9f70..1511166c06a2688de39bb3f6b0961b7dc113f670 100644 GIT binary patch delta 748 zcmZqGc%ZwXO-MsuU%@4{peQvtu_QIcN+Gm3RUtgHB*QJSBr(S$KR;U`Gq1QLH8Ev! zi;!bIii}2La!F=>o+ei<7ni<1ny%v1l46BK1?P;^<m~XG%#u{FSta=jMWuNP`FRRy zAoCS+^3#j;K$@cx3lz#Tb8-}t6LWGDN-{Ew6*54UC#IF87Ace$WtL>-r7P4Yf^;Yp zmn4>?=BDPAD3oWGWGEymfE}xllUkOV12PR{pj&>CLTW`~Zb43}jzURBszO?RPELL~ z$dshg%$yXE<8t!T(^HESN-`2bCgtQPq*i2>fE6c~78RxDm4FON&o9a^Ey>JFRY**$ zM|Mmi!Ve0$sl~;K>8UyjNu?zUnNZX6@=M?*f=ntX%1<v!%!Rs;vnsJb&o8xHBRRh) zRYw8DLk-=k!~&3%9ys(uGE(#0^Xowl)YRnC*9V#BS)!0xtdN;okY7}im<MurB8W&; zC@9J=%S=g4K@a`nlKg^Vi2w5QN{aGx6w-3?%M}vA{se^))Z0h_T#~Plo0<ypM?q?G zNqr(H!iyF1)4=hRS_Ec-bV7m><TZuxRE46{<ow*+)Vvh1GEkW37wfr#0yn=1lmJRH zb5r%)^Fh7=C9lksRE6Zy;*$JaaHJPQU6h-dmzi6dtH+gAnwJbtUaH`T2BjnoaO!{s Y5o#)%tiWM0`IQhC3rNl8UqalB0532H<p2Nx delta 37 tcmaE$+p4jlO=$84A^XYqIaCGm^V||k5_1%66%vz6GV}8`UlrwM1OOCA4X*$I diff --git a/vendor/go.uber.org/zap/sugar.go b/vendor/go.uber.org/zap/sugar.go index 0b9651981a900f6f82747e77fc881c4b82f9b10d..c450b2dda88108f5caef48541198f622ff5a7d3c 100644 GIT binary patch delta 1651 zcmewnbS7m(BwKx2erb_HZfZ$JeoC<wm%cuizP^Hjf-X!*AulmEHANvYtt7Qbp(G<! zAtygwAt$vgHAf*WzX-(B3n<FWE72`3smuY(rf24*qZ^W%my(&6u8^6hpj55|)tFzL znp3G;Us73+nxar#QdF8;Qd*Rn0y2_-5os_Z(jj)I5p8)+9-7vi`aBHHAjiAq7b&Dx zB<2?6r0RgZ4Gkf%+dcEr@_oQTkXV!o4Kq%VpoX5FUSeLQrUC+B4;--Sa**<RRQ16a z;h>;Vl$w~LkXWpsl$n>7uTY*@lA)x@rLPY*BTb{Yq$o2lT}J_KHP}YXAOS1S$phJm zY^9h2SbYv!Fl-KIPh+b0FDS{(&ns3)&dJY9Ee3}}a%oXfYF>##aA|sCQEG}$etLRp zk&Z%QK|xL?R7r6un3JLa)vf~y(8RnHg`(7w(xN<wIYp_(r8y;f3Z5nE#R|oVX{ib& z`3j}QsS3&Yc~CoY7%L|)l#@~k&n(G+8l{n6P*M!?Dul18papfu<c%Ck`k(|EucMG( zP@-UEt5B4fm!1mZ6f0D7adPGtl<0w6S*ekfSe&ZK#aTPKkyDNZ#M!)&Q<KpI6r>8p z$llTe*{lH;S5Q#ONX^N~SJF{XD$g&<Nl^m%igPj_x2iIyf`USDNn&!gh9+20K|w(& zIlnZoL`g@%#0V@jIg(q6l@k<elk2#p#X&}v=0WX3*fMz|x12jC$S_cpYAB^8X6BR@ zrGo6t&rrzASAv<3YMW<Xi3XB|5Ji*acr+O~H+%6Y@vwlb+ngt{iA~ZaHK{Z`Cl3_R z#R_S;C3?XHpv;?-H#v~cjwvT^vZA0IZ%&>DSRFWtPqr5p7r~*!k`0vTA-c?S@-#p^ zuqGXa#G>?K9fiEi98IoTE>Qf3Cl=-5GzKCGvYaO;PXojQ8#DP1zXVRZ*<Fi@@{1sr zgPaWJLbT-zNaE6_FnNbSCe)*RAddzl=4B>BwD}9-v`v2UG(jDxHjrgVx*mw((PbuN z4Amu(lc(X9Sdy3nwhJkMCQHcY^Xcn@iamwg)Z*gA^wh~liW-ww$O&(rFW<x{os$oW zF{l(c`zyd>t&mSr94xPqQ<kGpl~|CRUzDl`wqo*8dE?2E3Zcw7c^aE{Dx6@n(AQT; zPc89<*pZV5D#~&bOHfVJ<4P;dOGZ(rF}X}p(K@#{9h9k%(~L%1Zi!=2da<6Ko+cM3 kBy%g|7N<vB<)r3m<QAuE>Kev!)pAWP<dfVyQ|Ue%0F8tgPyhe` delta 478 zcmX?;@*`+NBwKw+Mp0_2LT+kFMt(}Ml|p`AszO?RkwQ*>esO9}rEW=OL23$@zP>_n zNl|HXNoi4Pib76)dU|GFx(-}%K~ZL2Nlu<_aY<zkSbJ__NeNg*VqOYN703{<!Zc)c z^<ag13U2vD3aJ%|xdl0?Itsz1>4`<DDL(n>>8VA<3dxCi3I#>^DW%D&3Z8js`97&- zsW~9y@=Hq!N=p>VGfOhS66FdSN|||S`Ct(xWG5%*=ar;ZlxXUJ)#)hY7l9dRdYiL3 z(wH{$@yIeVDJV?V=M|S$00E_p)SR4rB^?E&^8BKl6eS&ybqbT?c~vz*(h9*PiOJa- znh;?H1qG$#{L;J<B^?D5Be>Y)JU(f52v2kJIbLZA1qFrDykdyo^ujYsGBm)ZDoo;& zV^&a5m@LnyAdJQI$$ordVEI%&O%T1gpHGR0NkL)rR;f*FlRv1YPY%_V*t|fkiE(p+ MW&-2pQ0?z*0Lq}0WdHyG diff --git a/vendor/go.uber.org/zap/writer.go b/vendor/go.uber.org/zap/writer.go index 86a709ab0be28795471298513dc3ac369e5c11d9..2c3dbd425e37eed3e26711e47e22f0f2ce384369 100644 GIT binary patch delta 55 zcmaDOeOY>fD66iKfsxTh(E^sulUTCY1o8_~^Aw6R^Rg9G3#}AX%O{I+_c7;X=4@WY L{gH9<d|qDw?za*) delta 79 zcmcaC{YH9%=tijm7H&?Z%zXXK{L+%loXs69Ic$>2`K382dFmw!`30$Y3dNau*$S$K hRtl<RlUca?*vpGDOHzx9H&5mM$jAcHG`Wq}7XU{Y8>#>R diff --git a/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go b/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go index ef2f7d9637bcd16f9d5ab655f19f64be100fa3a6..a40e93b3ec8f84797249e8c57c9f918c5df87997 100644 GIT binary patch delta 967 zcmeyaen)@9XEs57eJ*`{g^+xO;?xp_(gKCV$%SkpsX7YD`FX`9MWx9l3W*BgMVTe3 z!IgQ*sYMED`9%tq`K3h)Ir-@zohhlsC7F4NC7Jno3L0AZ#d>a;IjIVn#R`cEWr;bN zDae{Nbri~r5(^YEOBBj8OEM<sv5D8~C?w{kD5RvOr4}h9Dg>A07iefIBq!$NfNd(z zNX-LTr;wMgkdvR6o?4`kmztWQP?C`fvOGU2D>b=9j|=PxPKC76ykv#k#LPSmO@(SM zeSJ;^1%>ir1uI(xJv}`IeSMHgV23NfU0t7_2UVB^QK?pySdg4wl&a@cnwFMYl$wI% z`RedsD~0mnTBr_)qm#;u^&rlMIYR+tm7X5RSs)jHOar+AX0TssxpRI|szz#FvW`MP zQhBkCLQYwZCe+ZJ{B)2nt!x#l5)1VFQp+_!`a!Z#1^W6R-+(wEcYs2{sS*@^iKRIu zI^gINogBc<T@Q-Pl6(atQ!|C^%$)qB%97M#h5R&7ycO$!w3R1jmSpCoD<qaE<mMNb zC>R?k6sIQV=cN=YB&C*=r>5p9q~(+rXQUQ`e4-GUU#gItn5U3jT3nK!n^~0#iiF}+ zg@VMQ#N5=9)S_aAq)JdK0vlRVpOLB%3{sU}q~HcJ#xt)ZwWusH2V`|xW@=6f#8|id zB8Ak7#N2|MR2`6s3TgQ{Ir-%vhb4hypcv{AQ$r(#Y$uox6p~WY@{3X-E(9qq$w<uw z8C{aE5L}XyT2x=815RWLi3+)i6`8rExgf3id8rDynR%rpsc=80CMIV<i~)HQ6t2*O zfGq)lq!koE$v^=C@<9n8CAFvs6s(*IU~gN+BIH3X*HSPvFf!2rr3?@^+X-S4O2}9# llw{_n>iL4*2Q~{7!<>+0hDc>4l?ADj3)w_B^RU0>0RZ>CEUN$j delta 21 dcmcbk|6P5<XEv6S%7WC%g>0gmKXSe10RU}630(jH diff --git a/vendor/go.uber.org/zap/zapcore/core.go b/vendor/go.uber.org/zap/zapcore/core.go index a1ef8b034bb415667c0cfd759ee619aa2651f5b9..9dfd64051f04dca8860dea170e7a64a63e77065e 100644 GIT binary patch delta 160 zcmcaC^GtRF6L)=CVv&Ld7iYYJbAC~(0s`17XlP~Tg9J4-@-lNYK}vE`%TjYvQ(W^B zlX6mv6fl%%a&e`V<|Qj=BrCx5D)@l(XlO!cg=#L&qSTVoqC5!SKaF1_Sr4oPYUt$s LykeV$xgD4RqKPmu delta 12 TcmaDRds$`!6Zht++=0vhA+`ip diff --git a/vendor/go.uber.org/zap/zapcore/encoder.go b/vendor/go.uber.org/zap/zapcore/encoder.go index 6e5fd5651137b6ae2defcea9991ef0eca970d3ff..5769ff3e4e568741dcf02025b578ba3bcb8436d0 100644 GIT binary patch delta 71 zcmbPQKdF90jFcglzCLG3W^Sr$UUGg)YLOL)ub_~VSeaj1Vx?eUrf*=VZ(yWgU~FYz WQjp7~uRpn8%8&)5YV%R43n~B(f)tei delta 52 zcmbPKKec{CjFhAT2$W>zrn=@O=cl9=S#jy>gM<_&7f8uYo*<>i3g&G-By~Xr0IxI; Ag8%>k diff --git a/vendor/go.uber.org/zap/zapcore/entry.go b/vendor/go.uber.org/zap/zapcore/entry.go index 0885505b75bc7fa48e14106c4d0c7e2e0833ea25..ea0431eb35a5181bc961cfe389c871fda95945a8 100644 GIT binary patch delta 1454 zcmca;dD?ly4i=8w(wvga)S{xv=UHSYA7#<q%*|TCUGI^fpRJHttdOXXTv}X`pR16V zT#}ier%;lSSfY@dSgDYds*qZdnp|3vnxc@HR+3tzkeH{CnpaX(sgPOBrLV70UX)o< zlA5Q-rLPa-2BoHF7K4=K=cOv-=P4vAIA^3LXQ!sPg7uVVmSiZDWTYxMg3YSWO)bgD zPl0OY%uG{APF1k7RmjOtPfsn<18ddL)6>(m21zK|D&%G6C{%Ol>vJlA1Z)+OQ}w_m zX=LQ*XKTVF^umiWOH#oaK|-}qw?*ccDkLZ7DJ19TrDdj<7NsiGgPa1=s*sjnq~MlV zl9&UsTcNllu_QG&HLs*tA+ZGPUWkhna#G7ua}+?n0C^UqyDG6jFFdm(1FRVwocRTy zAk^b3sVqo^_#W&Wuv}(dNorAAVsffNH5aG8e!YT!9#|3-2bp<g`Pr!{VAH{Ng1rw5 zIdF`WCl<p3Tp=+pMIlikC$qQ&WRgODnnGG;YEDYALSjk^!j!}kNNnkW6oIfpNJc7H z7f44vREvwhYp{Z!e~3b6UUE)pN-E4Kh^47TsS1fXMX8A?l@P<h=9J`v9SIE>P>_K6 zps-MYMJp%Ndm38Ee$i2gj&%dMRdaKZz-30BJcayXJ=coN5)DJm$!7#5CT9!r)I)VD zWabv+K%)W_+%RE?4GJas3fZZt1xUf{2uZ-n`MCv&C7DS%si260yDl%a97!!&l$2*= zCTA$5q!tvVCMPGBq!uG7g&3>Hl~$UUte^o+)!?Xu$Y{c1QX@H40nNAZaQ}j0y|_HH zBsoJNQK5SBUP+zF6_T=C$*Fq2sl~;K>8X=vNXnaof>6UylZ&&KtCowaEU`!-9?2zO zN82I^Kpdc9Fu71@11mT;OjZ~EF9pf13Sa;ZeXwgmx+gn{RB=P3!8vNOy@cH64<gnq z4&ba{1<qDrc`i_v1Pj9R9w#S=uLq3>jpS4vXkr1mce1~v*yh)grc93d`U)=KfJ`h& zO|eo4Erw=!jnupn1#nrQ11(Qb-KMFKnO9trnwT<qzLeBt3mKdGqSTVoqC7-SPt7aQ zQ7F#HFU?8O1ci^jKD00?PAw@`D9Ol#MjO}?btnh!cO3;tESG2I<bVpd<iwmDc+m#Z z3`#CJ`RR~cqmYrPR;-Yenwkg8c6th)CF;cr#ffRDpu`8#4z_c0t(2`Ys7yolASk4e ZA_^S#i88^^sIgT5$#ZeSJ;+td1pr@)>?;5O delta 288 zcmX@@e9>~l4wlImSggdkIF-`#^-7aci}dn~()Dvob4oH(i;6aLuvT$z<`X`|$fuB& zSdy5dkYB9lT9H{Y`HqOn<cVUd*n%_iOLI~tJBa_6DF!nYz`!{pH90%HD6=HhF}Wl& zKW}oRM3op+fvo~qA|xX<&o4i}VDmkRNEUC1oQ^_nak_$)twM6D9!w-TRnIrIxHvIA zm5Z~Wv;=H&YKm)KNl~Rna;hd57iV#KW=V2}0z`vC^<*9~dFI^W^vR}T@@yc-YG_V= uB&x$$ySYc!jA^p7oWx{V1)IrTat^XkEw)g-T%1LzC8b4q3dyNlwOjyU%woa- diff --git a/vendor/go.uber.org/zap/zapcore/error.go b/vendor/go.uber.org/zap/zapcore/error.go index 74919b0ccb1b820abcccd5a35967caea230c912b..06359907af41ed065c869ad5d2274ff3886c6a53 100644 GIT binary patch delta 93 zcmZ3YFjrwiJ)0tDHJ83Vr-Fh~YEe;sk&=}{YEhA%D~PS3sRNRlyqHZ_3$DO9v9vg~ cSjkEu8YHKnprD|qrw3uif|YOn$EL;!0I5$Gvj6}9 delta 100 zcmbQMutZ@)J)4SxLN%AZzJh{+f>LTxQGSt<l|pJ!k)A7vt)Zy{mYckQO;-=0#5u9F cIJH>GN+B973zE>&(}S{OAzC(nXH(+@08V}xF#rGn diff --git a/vendor/go.uber.org/zap/zapcore/hook.go b/vendor/go.uber.org/zap/zapcore/hook.go index 5db4afb302b3785d133369a1be26ac713c7ea91c..198def9917ceaa86d3a2793c313c05d620e79b19 100644 GIT binary patch delta 135 zcmeAYo+`58G>dOpVv&Ld7iYYJbAC~(0s`17XlP~R=Vzy;XlmqT=4gVH<fN9R=A@>$ z<|QWOq!uY)DAC+}lI0nrx(`U1hNc3TR;cFUEJ`gYEy{!N{nIou^gwoLZl1;Vfe8ST C{3<B` delta 17 ZcmbO#(j~m%G|Ofw)+dact=Mlf0RTIE22KC~ diff --git a/vendor/go.uber.org/zap/zapcore/increase_level.go b/vendor/go.uber.org/zap/zapcore/increase_level.go index 5a1749261ab255869be1cf687380817c3dc2be0f..7a11237ae9764d4dcd69f86f2e6adacc05fd87db 100644 GIT binary patch delta 158 zcmZ22bV+!_A(r^E#3BU^F3xxb=lr5n1q85F(9p_BElbUD%giZBEdt4EYUE|+XoA#& zB~nvd^AeMCQi~LDtJU0mfaMaCh7ZUf4NV0wtx(OyS(I8*T9gOj`=@Cn>w!(woUFhu Kw|Nr#Ohy1rTr!XV delta 17 Zcmca4yjp0(A(qX`tQVLzTXM`~1OPxY22=n5 diff --git a/vendor/go.uber.org/zap/zapcore/json_encoder.go b/vendor/go.uber.org/zap/zapcore/json_encoder.go index c5d751b8215af344468cb589a39a0234d8d36a04..3921c5cd333e6bca239ed44322d29e79ab4e6453 100644 GIT binary patch delta 21 dcmdl{wWn&sbq*FTeSOZ!w>V@rf97yC0RUqj2qgdj delta 20 ccmdl}wWDgobq;0)1%=7CIb=5f;&3tn0A5B27ytkO diff --git a/vendor/go.uber.org/zap/zapcore/level.go b/vendor/go.uber.org/zap/zapcore/level.go index 56e88dc0c84ff232b60072b8fa3b59d097aefb9d..e01a2413166d7a405b0d9db45e9ffc162f9dc7c7 100644 GIT binary patch delta 1044 zcmeyU^}%R^07pF+r@p>|XI@!iPG*WvYFTQILT0f-VxB@KL`b15F{d<DAuYd10W7Nr zQV+rk&iO^D3YobDIjOm+c_oP@nfZCe3b~1u3I&OInaK*7X$mD7sg(-Fsi_LNsl~;K z>8ZsE`5?i}Vuc)#MS5JEo_SJ87TYSs=O$Kwtx?ccFx<?~F^RFhq_Q9tqCPdnH7_wK zC$&f+Gp{7IC@nELRiT=T6RaL8!v*DPXhK}eRm;VtuMc7SrzsSr7UUO|6oVY5keiv8 znOmBxkP0?4MIk3Y9bygGuO%6&3h9|;sd@Df%`o%z^%c^J@^clU5)0Ie6^cs>KnA8F z=`Pk$$S+ceMh?(eP*~*U=cPitpPH+XSd<EK7Sw7zE`5Cv*Ac}ka8PFE)<eTrAyGjc z>{FQ6)D?15OEU6P6iV_H^2<_-iZWADK^_B{l$4s0SeBVz1hFu)SRt)6FBud;P^&mW zd<BhU1+C=#qEu*D!3<WY=F->a<Sa@pDJ{xVs87~QE-flb%_{-h4w9;cy4SM=lvIjR zlk;<PQ}a?%Qxr-v5=#`KK?x%kBV~Z)%8L>U6!J?lQi~KoHWw?D7K1|qY_@+I$S*~y zB}JL3WnjN3<fPVvQY1Lpq$+@P7o?_uwdyIj<rgWWRwRNFpbo@EsNM=MN-QWyEyC-& zs>A}2JM^ITYb5JI?Ev{f6Xe<YS}t&4!Bl|a3?-hR=7UmVW|~4ySx#z^jzWI6f|V^e zY3XTz(>gruYFdLNtGVC-4Aud0fQBX)XDt^OCn&S!l;wboh)>VW%mdqP4KiE71}Tq# vMYOd+HgjgCL2QGh(-e)IvK&pY1S}qN%5u0kIcp&nK;srUk#3&Ld4(GQSBYEZ delta 17 Zcmexh^igYr0LSK491|HgFW|kv4FE=(2RHx# diff --git a/vendor/go.uber.org/zap/zapcore/sampler.go b/vendor/go.uber.org/zap/zapcore/sampler.go index 8c116049d35ae8a282f4e469d5b2d81a4f6f7ef1..dc518055a4179f8515d351a5c6c41bd667d97c2a 100644 GIT binary patch delta 237 zcmexh{M%%LD66iKfsxTh(G5JZoMnkc3MobT1qG=o3W+88xtYm&o_Qr^CS3aZoRgpM z_%U)$HsMu~<y25mfT`2-%uCkL1SwEZs0C4*D|mgF*g2E)i&7PAC;JOYZ+^j_%i<3* zT7!!-Ucnh80WtuBZ51@MiW74Sa#D*lHS#iZG(l=|Qp-|vQd3;>5|eULixe=`Xl@P` n5n@*J0jbl_Q~=Wo)m)rKsU@XFc@VyTnntl6$hOUX;)|F7+Q&tn delta 98 zcmexu^1*n5=tijxJWL7-lTY(VgQ({`ejv(>S49B=Qi}2m3Q|+_JoAz@G`aNkL87%_ odUH9i4-=<?f<khBQL2LNWFH~v%}@DrSvD^g5n$f@LA;v@0Bv&{=l}o! diff --git a/vendor/go.uber.org/zap/zapcore/tee.go b/vendor/go.uber.org/zap/zapcore/tee.go index 07a32eef9a4582b63a96bb6f745dff753358f78a..9bb32f055764223e82a4bbc2e44c5426ae261500 100644 GIT binary patch delta 242 zcmaDO_+5B{D66iKfsxTh(J3sxWr;-!8eE+53OT7|sX3`Bu6c<`IjKbowhFnWIVG9S z`9-N3d6_wyASED<0s>$t(cHY8MV`sh2V|0lrUIB&sOI9#&CK&D%TchhRfx|`tbhpX z>nr3YD`XZc<fWFS7Ad6W7L-&@zRxD@odZz`R^^|jk((Ty8LMfn01~!QfSOdz#mNaX c)fObh#mQOA1wuusC8b4qP<5NvvDq;J0D+=QCIA2c delta 20 ccmew^{6=ts=tik2ESvwb$TDrd$gai&09x4xmH+?% diff --git a/vendor/goa.design/goa/v3/dsl/attribute.go b/vendor/goa.design/goa/v3/dsl/attribute.go index 614da35e126de19baf62dbe61ae08db10d3bfb01..d3d76235d141c235f80111159d1d03922b8929c5 100644 GIT binary patch delta 20 bcmX>ezcYS<>_!cHF_zSdf}+iNVv&*nSHcH| delta 33 jcmdlPe>{GIEGMT@aY<2TUV8CHX-6@3D0_2)SfnHX)B_9o diff --git a/vendor/goa.design/goa/v3/dsl/meta.go b/vendor/goa.design/goa/v3/dsl/meta.go index 5c84be3114a4e8bf3b9cce48ea035db6a1146985..a7fd6e0aeb09911e6fc20436ce52f5a442d6a82d 100644 GIT binary patch delta 939 zcmezAyw7KYhq!QlL26!NL8euHL26NANoIbYXUgP%qB8ZKDGF(ssW~YMY57IDi6wdp zAsML(Y56%h`Q@2;>0J8y3dIGf$(e~c3T25orK!aV<(WA-3Q4I7MX3cjiOH!c3gww4 z847S?b-~KhGLscD^B_iM=I2>~%uxUn3QE<*sYPX($*HwU3Yo?AXy%k;q$=bk=B6s- zrzwEgP_<n8`Y_$OsU;ctDPYY6^g>i3v}!0<7v-0hq<ZG1q*l~wf~;4lNA(8C%1n?n z%>IJJk_?5+JcZ=MVvyf6Qj1a*5+P1efS9k4kyxydn_rZwP?C|Dr;wkQssOe{A+fkP zKRGk81QtY@(7=V54-Uq>)cUg2B2Z{1rlh2%K+P@BNClabQ;B3)YDH#oNiigLlogUQ z5{nX(OHzvzauX{-+KbB*3kp)fk*JWESE-PkpI4HaSE5jvUkWocvp7ScBwwMlI8`CB zSRqlNxF9h(wWwYpDYc|LH8l?$+66_a$*C!sdFgNi67y2PG7v9;ovsHBQO`7x@e1Wo zgCX%=2{O4Pu_QAYkt94*bQJP)GfPT927_D&joZYe{IdE~wDbjXE;ww8Qu9($i@=t{ z6PITS#O*nmC8<S;IWU*Fq^2d7=9CnJ{D(+h%GHnvszr}?Jq5>tf}G6c#H5_m$(3T< z5;_XdWLB)BkY5CHK}o)XV}R#mUCC4p1qB6teFgW_JW#$#EmrWY42Gm%J>N=Sa9RXu oP*9k>K~l;9$)!p<NJ(7}?iM|iG&p&pfb!%IQk<KE#Fujc0GlyHBme*a delta 16 Ycmdnz^V4~Qhxp_;5suAMrB`wR06qQ&c>n+a diff --git a/vendor/goa.design/goa/v3/dsl/payload.go b/vendor/goa.design/goa/v3/dsl/payload.go index 7509be80205a2aea5b46b13380721a52e407cefd..eea7ca3755ed34af8e5de53ab30dec39f4da40be 100644 GIT binary patch delta 1185 zcmZ3l-lVmmh)J6>Ah9whKQTokq_QAYlS^NpOJ5%@mR6dVtf2`Lo&1_fngh-`!z9hf zIr%k{6(i^5er6DR9kY}QNVkH5f&$Fc;F6-uymXKz&RP%&l7}nTVdR{AkJ*9?i<IQ# zI2Hx4w8`Xk+`NpOllODWh;V|82AhM>GKp1^k#n*vs~#igWJNA<M$XAutQL%%lb5j? zGjdM8%W47==T*U@x0ubGk#q7oHVJivslKTt8Tlz1N-3FTnJKACItq}WP^bob;2WDA zBj;obc14KUyeRIPJe~aobE=NQ=6VhhMn=xb(>cARIQ8`vic5-86LS^v(?G1uy!2u{ zuvw6>gSgy=OAF+FE=x(Ui3r~!Sd$C6r6)h&VnGhHFI*n{ARF@Y6jBqDGr-0Ma?3Ds zPA=s3f&`r~*g$B|L1TIHcWx_2PDuC_a*Ohyc#-%(ocx_zk+-xswMe0)vLF>?IowEo z|AN$_#JrSZP}FnQYEHhz`-?YKM?onV92S{*>605cBqo33n<A2{pp{xtP^1S5c-M-8 zA{~XzUHoN?QYobc1*s_tR<;UY1umrp8i~mzrHMJ3lm7}RvqPk7C%+douFosYElMpc z2B|gR;^gGaOjAfKDbWi{%*jkiEXmBzQ&6;3$ji)8s0PV$!j#)8<fP_lpsLghN-ZqS zEJ{t$1Szcr5vgT~IeM-YsmY}!sTyfIAfv&Oa9irptx;3MYckk1P$xrNq_3~wnWj*Z zk*eSl?4yvIpOTrDnOY1M00l0{%A(Aq(vs9-1*IaW1M^agi<Lm`<E+=$2Pw@{C`!#s z%uNNc!EvHclCO|hmY<oTker{BlUbaZpI590){&V8Ra>N^ke>|-H%M^mX=LV=q!y(m zCZ|HfiZcjorbaO|LvwO+a@J~EgLFZh&RLY|4zjgK52_LpNqT;Xxv3hO3fc-v@k$EX c3b|kbIJdYoEiJPG9E_acKn4+;4Fv0%0B(9e!vFvP delta 853 zcmZqDTCcvLh{;4jK|vuPu`(w=F-0S!vLIEHOJAQ$UmsaGtu!xLLla42@?0h*7Lba` z2biQGjJZtGlfN^`LpX)ZP|;pyDR!t~lLMK>1VDOfkqtspsRPlwi`fFNGRet?EDA8C zCW1N&5Z5VG!|YMumXQV71Hxdt;0&0G|E!V_1MactK^VNO;t+-^s|AD+$7&2=Oky>G zFg~)W5O1#7WPLV8h`vBJ2?KN|_@<U*<fmvTrDT?6rlcxidSU{b9Za_f7C(MuQ;`9g z3BqW81O<n}WGUWrlfSWxZ06+<VT2gu&n-IHoYM@#$>WrOFyP@24}smBS`evcoR&%; z^I;fn4@dycnQXx&j~QQyTppqzW%~LG`FRSdiOCtTu;0NY12O(8mluSgz%7HtFNjn) z*`M1AqVhkhq#(#t5DqRWN=?ko%uAmv$SMqxrYP>_^XNiMfhUgVJc^tko4{V3%+332 oG6&zb&6oJf7$?sWQV>Y3C@9i%DJ{@QOfD%+%+cK3EL6_~0B#kxpa1{> diff --git a/vendor/goa.design/goa/v3/dsl/result.go b/vendor/goa.design/goa/v3/dsl/result.go index 829a33582e2ff819a2585f6a94e79a35abe94b8c..02cc4c9e9c2b8a362b8370f5f256d482d9c03767 100644 GIT binary patch delta 648 zcmZ1{e@AwM60;^}P-<~$PKicHWkISYm%cuizCKJStu!xLLlY)AIfPkJ1||hkt)qaZ zU^=rUBj;pC7F8CIA(L1n<vA4;6cnHqc;=ND8-WbttOb!EC6gUlEEqW_u}Cs<PM*c0 z%7r4MI{6EWB0^SiasW3kBj@BqZc!1iv0zhBbcj#h$SMKWApuqawHV?`g=(;k0z96K zoRb6DOc^;Rcd^M}H|j8(2G|%`WMhI$b3yJ#vQdxS60D3BtZednUU5dw$)|XwAV%|o zMPaU-{GI(hbE=NQ;%6L;jGU9t^C(Qd$Hf5)C`Qi74P26ZsOCe$rGZNiIb0wb)xq|H zb!ia_7m$w4+>!_#B0Qvr$ax+eBm*WJ@Uo*jDjno+n3F{&Z{rof6Btr_KR|&oS%`lQ E0A{t1e*gdg delta 916 zcmca3yH0+C60?zlf`UR&YH?{!iAG3eL8>N~zCM?}K9Xo!X<o91CX)DMZ)Qankb=p% z%u*1BH?!2_Ma=RLP8_TF<UK5W>`-GSFXWWe04WDys7;=ECB{Y|BSB)dAO=h^RP$sH z7Ga2K3pphrj4~Eg0UXNpAu8ZX*;w_=KuTfQH#09Yw=`G70Av$P5Ns`o17;xXM;Imt zk_BO?t05twPz_VNpVbp$F(;cTgkjGnBMZ_1!eC?J449sLHVuf<g`ARVAXyNGnjc)6 z3v(b?GfdApHcPl3WsrIhM(EK|KzA4;FEn24*<{2(ia{7`B%Cq1iT(X#2R@0(Jsd9} zhD-A(@Mq?gq^7496~k<Xhv*+pNfE4WLsFrK89mZG3X?;))FBoiDb<>MfQy&hC;}NO z&J9f!a6`Shp~;V&Sdr$@fx8i$_CetkTvC*pn46iGjtFY3K>%{kavo@i!`*X-M+IUe OF_GcQ`(v^L-y8sv)50<U diff --git a/vendor/goa.design/goa/v3/dsl/result_type.go b/vendor/goa.design/goa/v3/dsl/result_type.go index fafb1b84db9406177d3ea4efa9cb1a5aca51cfc3..725f19e5b610e3453e42a396b9a14dfd455af490 100644 GIT binary patch delta 19 acmbQ*!Z@jgal=Dfmeh)ZqRlUCby)yV<p<0F delta 22 dcmbQ#!Z@{sal=Df_TrMF%)IpC%};H0SpaKt2^RnW diff --git a/vendor/goa.design/goa/v3/dsl/user_type.go b/vendor/goa.design/goa/v3/dsl/user_type.go index 70e5296a644a313e9be55d0bed9793bb3539a4d9..1d85983362f0ea6ed4fb3d343d248ae33e8f2a25 100644 GIT binary patch delta 58 zcmX?TzsYXHCE>~UL=q-9%8E`-kYkzbAty6gLWFN}o*e(=N;w`*Q%x>?eFX&tg~<UT PqLY8i@^AJLE#(3LOOX+@ delta 125 zcmdmFchG*rC1D|_N>3LBTLs_50{=7(&%6>dlgW&%vXeEXr6*^LaH%UGfWE#$SYl3Q zN@7WBu|jrgWwAnjnnFoNszPpJ!Q@0)k;z+S6(%e3DG8P(=9H$Q$tp}fA)Gb2QCfKO IA&~+u06)Gb6#xJL diff --git a/vendor/goa.design/goa/v3/expr/attribute.go b/vendor/goa.design/goa/v3/expr/attribute.go index 004e41c675169a01fb7be805c338d86e376380c8..75d638f8cd5c2360a4a1744abd95c1adf3743eeb 100644 GIT binary patch delta 900 zcmX?jg7MRN#tqwKr4#kiGV>C1GOJQk6soy6Ig3(DN{jLo^z{`SCr`8$XVv54tmT?) zFE2WIv#g~;ad~D*at26Ya$<3+f@iURQdVkmiAJJcNM%8)rqyIdxqlL6iA4$p+35j^ zB^e6EB}JKe>0F$gnQ01>4_Hf2mT}<>0&#LvOA>Vy^0O7JY!ymN^c+h{iZYW*OHws7 z^?XxH5~G!hONvU9ORNgA)2#{;OEQ#VtwE|mPUPf-nQp59GA7y}cJdhs#mPS2T$6J> zxlKXF!&E5RDkv#|+{+1eLMg~P$Kueu%=|o!yhJ2>Co4LLGICBnmn1gX%Ym<+lao_l zUjeL6p`@}PwOApsC{-anH7~U&u_QG`p|m(NFI^!~p`a+UEU_e2Av3QewJ0qyIhBhO z4D|ICO7ay_^NLH0QWZ)v5=#{F^KvSoMuGVt^9mA+N)+<b6iPBu6;ks`bK#on6_OM4 z6p~UE5{rv7)ALeOK&F9ICBni<Paz~DvsfWFH8HOkVnIm;lI5i!A1ah3=9H!uE990I zmw*gQNlng4EJ{sL$jk#<S)7=gs!))aoSm2svI%axLWyYxNTMh;uS5Z1BUC;!O`)^| z7Imm$cu-a{66}5AVpPFaAvzY4LaLz=RtvQRN<%0xSv$E#UP%O+?7$HNOLddaBuVhY zA{CkvCwn_cPwtZ!sE2BBEGkN@glVwi;^cHJMiJ6;%}LD#rC~icXm-%h<l=;C_Dw86 g)|v}RL`b4soSeDXO%UbG)$>lRL^FBw9Qma#0E>tlw*UYD delta 111 zcmex#p7G!b#tqwKC$q|#iDsrLcozF7Wu+#UXe8=|R2HOaDpXI7mis4?nWm7amzJ5A zn3GwRnxat6#mUJz`K+v*A}422YDsBP9v3HPEf*&zvLaiBlA_Yo$sgqPCYvhBZT44Q G>;eFTOeKo| diff --git a/vendor/goa.design/goa/v3/expr/dup.go b/vendor/goa.design/goa/v3/expr/dup.go index 3eeffc1395c62b22a352534a1bbb59883ca8ba71..f14c0e47f3470197d9f586582a87cd1d2f8195b9 100644 GIT binary patch delta 258 zcmZ1>`b})YoBEW}f`Zf{1uI*Hywq|RFh@g^ixVuI;*?mNS`3oQP0UW!h>mqhEJ+Nh zEJ)Q+$Vtu9NGvJQ1FO)~<l;=rFH*?VQAh%*E=tTxPgQ_RD^zoFA{!W;8LMEc0Jfnh zM9-zP0A!>_k|q~tEf;4I#6pNHNYb&Sq$o3~v?LW|pC(uV#8#LY5LbdEN=l3J6pB)d iHw!S{VV2=c%gjs6$*f9Eu~JY_06PaRviT*;epUcoLszK) delta 53 zcmew+wnB8m8<nEelG36)g}l^qm(qfQ)FKT{J(tn~$C8qw%%swiRE@-v63xx~8SgM} J-o?6y6#z?#6<+`V diff --git a/vendor/goa.design/goa/v3/expr/hasher.go b/vendor/goa.design/goa/v3/expr/hasher.go index 0bbc28c30a9410dfe8dadc39b8d5a6591abf9965..8376b4ad5a96f11fe38e9bf45293eb790d93b1d1 100644 GIT binary patch delta 98 zcmdn5*r~Lkn~NzmWwL>QifO4{SYl3TYO$s!7iV&QL8V4<eo;wkijD$Yf{PO*q!*l% lnVbrhoji-HQ2->Gnxat6#mSkWplz!#nUPU+vlDkMD*#B@A36X4 delta 44 ucmeBF+ON2wn~P5`I43hXRijidEHS4vb@CnoiOGMtvN)jp;?23-b65dsq7Wwl diff --git a/vendor/goa.design/goa/v3/expr/helpers.go b/vendor/goa.design/goa/v3/expr/helpers.go index 7d1aa419cd86a8b2956be82ce8f7ae57dd0f674d..72be56a5cd992c684dc2f11f83ab7ad609c8c255 100644 GIT binary patch delta 266 zcmbQh@r`qWVLhi(dVWq~Ub<d>QM!JGeo1OYiGFfoacZ#=7d9!7($d8AR3$D=E-rn2 zg^<jWoK%IP)RNMoykdotj8ui<lA_GKbcOQFk_<3EEwiY&L?JmNu_!UQB(+E(KTRPu zF*!q_JijPKA+tVDp|qeNwMYSEryf^YX<jnKOpRiwNt#evp_+>mVh>ntu^!lJ4VZ)U uLi18|pfY~>KKbRTMVflSV7F)#YjV|sU7MDfm*SmTsQ{uOuHEQ)oEZRFd|ZYA delta 13 UcmeyyIe}w>A*1GI3C4TO03fXdFaQ7m diff --git a/vendor/goa.design/goa/v3/expr/http_body_types.go b/vendor/goa.design/goa/v3/expr/http_body_types.go index 9a624df94bded88fa7536e4d3512309a8d3f3743..8bb52e8e0354255efd3dbcb034e2b2e75b6a10d2 100644 GIT binary patch delta 1510 zcmbPQFtcpKJnqTKGP0X@adR>92Bqfam!$?|rw1gKWK7=9b6NpKL?bCbrBctaq@*Y_ zsk9{3wW6SCb3Lz;0Ght(vKI;Jn_SN;ySYiui=CyKi<5Km1=V%D3LutJSYl3Ts*=v+ zKw;s@af-Z?zo|+EDkymc`}--R<rn29mXxHXD3s=9=I1GtL6mZFa&m?irxv+ZB<2?6 zq!wE#M8|4DIUpxiSA)&8Qb+(Bqm)ovyO~uzjeT;lp4#MvdRChs>%}nE>+7SsS)rsT zu`IQyIJH=zBqLQJJ+mw|Pa!3-BvGNHvLIC<F)u}-2pn1vd8Oi#qSE9NtAgxwtAfOm z3?(joeTCfAl0>kUw4(f6g~Xg3uu-MOsYOsjU?EwoSI?DJnwN~~1dYU!k|G5yl<?LB zg;IH9PBvIlFQl>{RYw7&Rim^-0Tc=#5wIf8l+>Kml2nb-5=4w?XzKZ<mL%#ZU^us4 zlZ&%flZ!JgzepioN1>oZ!OB*lC^0WRRRQD*J*PxaNPuD}Gfg3-L`NY%8>FJ3L{9^5 zt2Iavq=XYS)uf=fK$DA;vzCjqmaCQv6h?^!1*v%{!P%v0X_*xYMXAZ9Ma7wAsX3KI zL;yrDBm%$@1TwG~Vp2&ymH^L7%uOxUn`~#GJJ~^>)d3uiAkSbAz|s=Epj40+P#F3p z=B8?BDrhS}%m)Y8W+7u{)_RboAd`r2aAsavel|*q0@+*wO3a{uPfbkD0GWnJA(<r# zX_<K`#R{2u$vLGdnR)37DJ2S-CB>;ZX?l<(QxCFRBc(*aC9xzC6#F^~Dfy5j0goAQ zf&i&2N=?=Pc{n9sM<F*cJ5?h$u^_s*q$o2lJr<IJt7|niK~V#8m;yozZqv0=HFXq< zQ&aO4u$cu)uEph<CCM2IDJ7F-4fTyvQ}d!zO7uKkG&ExoDW)j3q_ijxk~BC|@-<RQ zK<NZzY;;P=<OPOestC8Bq-U6qA#Rxb+E7C$r37RvCnrotULsNggk~8~0Dw%N>~ACn z4nauB=(*;k=7NkwQ>MwqnVeXhs-WeYSYXA4Fgm3~&pWjey9T)ZDJA%gjZ0O~3I&yD fAd^AqAYMlyFA*sRrj+P`i?Cwi{RIj=Xf6W)Iu`yO delta 703 zcmbPPHnm{GJnqf&xz!ja-{;vk`J$=B<{P~10+YYV9tU%N$oa5yaB*^0D}_`ROj1{w zT%gv*0^(2pt)>~}m{+O8#mUL(l3JWxlvz-cnV)B+pcI;ynV+XnmY7qTs-sX+S&*ub zTUuPAkd&&BpO>nTpQccpT2z*qoT^Zen4F!Mo(fh|tdNsgT#}likeHNTma4S5Pd$yD zqqw9fGcUbZZ}JyCH3UaW-wMvz9HJk?IC-X#PQ8voacXLwf}WmUZel?+L}zSqNl|HX zNp-EJLNym>Sz?hwu>uxZF3!v}g`Ctp4Uh?%3U&$xAmyCJ3btS~qYYxYIBOMBbBa^p z;<<_0sT#;e8N+Pi;^YJwqhPC$SWu9fmjX6aN1<4gi?f!Cv$#C7BsoJNF}b8PF=w)= zr9OK!l$~WM8wp|R1*PUC=B8>ud43?arh>LYacNpwW`!om0;ncEPZtf%SdcTJwpZ73 zadJZJ4F;=*8ZtRYSdtSGLV9|7lP_6nNI*;ndk96x<d0UOA`q+K8bEf|PL4E?Q-$c# ybInQ34XG?h)dLYaP?y1#Pi{1jje@H5POSu~!LATwE*94kGJdA9%w{Fy*DL^N4)6{D diff --git a/vendor/goa.design/goa/v3/expr/mapped_attribute.go b/vendor/goa.design/goa/v3/expr/mapped_attribute.go index 3146d3e231a80e9dc83b9b5e4bd1d34a39fd5773..a9bcdae235499efe7a0b33d5d67ae4403e52679f 100644 GIT binary patch delta 88 zcmaED_*Z|!30AAbl9D0?D_aGZ(gMel5{<-?5=|~nkf2^zVoqjCVo7Fxo`S7H8Jxq# fnVSgGpf>p;v+!gEZebRX>dD^RHk-rPrwRf9f5IKG delta 334 zcmeyX|JrcF3D(KKS#|5x97{@yGLuS6Qe7(wimJIdIXOcr3sS8VV8ErcKqIlFL=PmY zsRNP^N=-{GO3h17Ee5Fq$st6*3Y-#)A#z|dKnlPjU^$o6;^d;tf|AVqJSzo-#QKsF zJtQHBlKf<_$za_IAnh*s$;DtP-_(*skfjJIkO)}HB{eOvG^ZpiF{d=u3Ze^11gs>q zIJL;NA~Clh2jo1E!J(E&LSQvvi8+}miBRV$l)-r*$yyMRmzbOCn^<5qIfqMnb0pgm FK>(OSWbFU| diff --git a/vendor/goa.design/goa/v3/expr/method.go b/vendor/goa.design/goa/v3/expr/method.go index 4d6a422f624587d9d0332bae8325cf74befa02df..95d57156656cb0169ed403463295888a00fcc622 100644 GIT binary patch delta 150 zcmZn-IUl;=zLHLGYEfBca;lzdQBi(Tu|hQ$CudrIX<mwgm90WrVoq@?SfEHDUPmEq z@;?a)vCK4uR6W1M+*AcyTZJ?TtD0+azLcnKQc-GRHWw!+XDt^5XQnAALQDgh%b5$a Y#a1D)pdd9bMFS?Hqma7!pppwa04=dDV*mgE delta 16 XcmX>f+8VOqzS8783GU5Xl%?4LK_~`) diff --git a/vendor/goa.design/goa/v3/expr/result_type.go b/vendor/goa.design/goa/v3/expr/result_type.go index 0a8761d22bd0f878f3d4f2ece36ffdfe37f8c184..ffcd24ac9e531958f4b27adc3dbb0e754d683d99 100644 GIT binary patch delta 12 TcmX??d@OmxG`Y?5<P3xXDn12q delta 21 ccmX?>d@gyzG&zpqlA_GK^kTiu)8q_<0c*<$sQ>@~ diff --git a/vendor/goa.design/goa/v3/expr/testing.go b/vendor/goa.design/goa/v3/expr/testing.go index 79e537a6da8a6e74e47b16e664b92c7a6b4f49fe..f88c599b1405b1349b0f82d20c82c1aaf167c403 100644 GIT binary patch delta 29 kcmbO()FCuMa--T^Hs1VVJ?Em-#FEsI)ZBv2LhP(e0GTrhfdBvi delta 42 tcmeAWnl3a!k}ES`KQq6yBr`{8qu2vBeh6DHBsI6dEi)%|Gc!9Y6978b4iEqU diff --git a/vendor/goa.design/goa/v3/http/client.go b/vendor/goa.design/goa/v3/http/client.go index 1022c0a61cbfa41513b40a58edaa70729fa9b94c..e3f73d1eec8d92a7daf70857b41417fa2752f782 100644 GIT binary patch delta 61 zcmbPYa72HC{zjW%*2$Aul_u|Gt(|PeRy}zqoBQOQtje3!*<G0?7jQaG-pMMx`2yz| T#>oq~TQ_U+XmL+25?=%Wxl$Gi delta 150 zcmX@2KgD2zK4)gWerA4YNoLMQ?Qm8W5My!^s}h7UhfQ`8JKN;rtWglYB3m_tF^A0^ z#*p2_?#%?@cyl^}8Jl}JpEH74lZ&}qA&fa}GMhzs__(E0a|`l|5{oJoY!&iSi;DC@ NU;-MNljX#h0RU96Gp_&u diff --git a/vendor/goa.design/goa/v3/http/encoding.go b/vendor/goa.design/goa/v3/http/encoding.go index 778af1cf66e1e69b188649cd468bf8a7f82fabff..fa87dfa0b24b2cc29f174e421e6ba068b69312a2 100644 GIT binary patch delta 19 bcmZ4IKGS_d_QncR;msR`HTfssQ@Q{ER1*kP delta 39 pcmbQ~zRrC@HfLtOerA4YNoLN*bW33t5M%QKVNHH8Yw}5@3ji-r4@&?5 diff --git a/vendor/goa.design/goa/v3/http/mux.go b/vendor/goa.design/goa/v3/http/mux.go index 6d4e4cfdf2475403c00fbdf96b19a02700216a18..29d06b85f3db0adc6f1faeca90c7fa9ec8764a86 100644 GIT binary patch delta 465 zcmaDVu~cTm6SjKa%#@Uz)bhllRNvBy)FOr4#O%~!h0GF#g8bs*%%q%Dg_3-Q-2BqK z5`|p2(qe^_{PMiwlA_eaT!s8Jg_4X^E>3-Y1+Wo%T%72JX6BWo7NsR7rz%u)adLuH zadCn)gw_|QDkK&Zq~@g*D<mS>0J60tBUK?Mv$zCg1G3#E`3gy3T{)SlDG+l?@<DEZ z+s_$VoT`ylnwPARQBqQ%=aHC~l9O7bser=c;;iN3+Wdg6gpm{OvCY98znJRv^%X)X zc9*_Bav*{H0`|8a7sy=-8o3Huxuq4FAd5886hLBdw;Et^EGXb|^_=tbN>VFId`m0z RLW@(O-qJ|h?7=O|2mtFLp#}f| delta 22 ecmZ1~^HgHP6SmFI*b5jpCvg5`+RV!<!3Y3yV+dye diff --git a/vendor/goa.design/goa/v3/pkg/error.go b/vendor/goa.design/goa/v3/pkg/error.go index 25ac470d1705eeb8379aabeda1bba616bdd84788..b057f99c304e3a82726316bb1aa012fc354d2d1a 100644 GIT binary patch delta 342 zcmX@@cEf8zfGQWKQhH`dMro2>a(=FUMq+VBW^#T}fqr_vZf<E#NoHzMQGU@zzY|Qx zocj6-sYOK!8TmOW#R?@EsS5c;ndzB%i8&zQ{33<SG=<cP%;J(_JuXg8kjm7}0?ap< zxcpMfgHwyjGLus$-)9q3(&I`i%}Z85h`NHT&;V-yv2+wBTPkW#4&;`aJYUg^E48Rd z529i+qmr8_$Y3i42uLj|(&6H)<*MEMn01weI%ldL$Pilvgv0e53kp*6QZ&FaItuw9 z1)IC&oS5`AQWdnIt^%8`sSui1UX)m%p$YX(wL(#9Noi4@0$A_nBMN0qN(jp#R&&;Z MtmlL&<f`QY0Ofmel>h($ delta 48 zcmccNb=qx0z{c`pOq<J?FEMRyW?w3?IZ(lYY4b^?TqeO<F3wsm&Z5+k(xN<tRIXYs E0OF_-SO5S3 diff --git a/vendor/goa.design/goa/v3/pkg/version.go b/vendor/goa.design/goa/v3/pkg/version.go index 8300800be18045fbefbe38169c5418153bc42c79..0415e9569bc02cdff574fe226d5e43d71fab3e35 100644 GIT binary patch delta 40 rcmX@fagt*~v#bRdr@p>|Q)y;Sib7s#Zc=Iy7bk>gt6;iu!AfQT1VIev delta 40 rcmX@fagt*~v#dE6r@p>|Q)y;Sib7s#Zc=Iy7bk>gt6;Wq!AfQT1SJgT diff --git a/vendor/golang.org/x/mod/module/module.go b/vendor/golang.org/x/mod/module/module.go index 355b5a456854ffacbed82fe1e0253bff003f7dd2..c26d1d29ec3d0e1ea663232a15368d5797ede4f3 100644 GIT binary patch delta 65 zcmex$jq&9*#tnu{jLMr0nEtXeDsR@|>SkBrR7x!>$}cKb;^N{|O3%+p%uCnHFG|<1 V(9g|J(JxNTElVxh{6VlQ5&+;k7Rmqs delta 82 zcmaEPjq%qt#tnu{n~j<Nux~cx>SDL#;#5k{&q>Tn*UK+T*RRme%}>!UPR%V#EmGp* WOf4$PFDh0*RZ#&E-F#oLD-r<e;U0wm diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go index cbee7a4e230d7d5174a71b86f8ddbe4a7a4105ef..4c0850a45aa1444fdbe87df5484b8a01c0bc3c54 100644 GIT binary patch delta 35 qcmeB_JSVZCo=wbJA+w}dA+@L|zeu4xGbcwODV0lKfAa;lovZ-dy9_q~ delta 94 zcmX>n(J8s1o-I(lSRpw-uOzjiL`NYrO`#+sl}le=A-yQSv_PReu~;FwC^fMpHANw* tQXx4pCnqy6T_HTPB*Ph^M^7OnBUK@_s3^Zkp*%AuM<FS7^HjE-tN<T(A$$M; diff --git a/vendor/golang.org/x/sys/unix/ioctl_linux.go b/vendor/golang.org/x/sys/unix/ioctl_linux.go index 0d12c0851adf20163670405cb287e59e6233da47..884430b810ccc15fa3a38a3a424634554afe40a8 100644 GIT binary patch delta 24 fcmZp$Ut~35E3XC@r&4KNabjAk5|`%2y$Lb^W)lbu delta 451 zcmZ2v)nGqiD~D2PUU6bts?x?o2{Kk(`uYl<`N<_YKKc0t?x`igC5a`a#bzc7>8T~f z3MCn-3dLX%h5R%yFDF00Kp`cyEHinsHn(PdT8ctxab{jRSkA}aKOo-SH6%Vb#4#i^ z*vv#BzaX_Ju_QA;Pme3DG%p#eO&Vz_3YmE&nhF|PAUAmCrRAHM=qRKX73CLcDpYfE zmL(P`lqKerrYa!hxi~Y^6jF;OH!%qbVpu!*AiE@^_2fOQ$^o23sU@XFc?xP^19TMf zGIO|UxllYEjO6KJVmuv->FHpiJdI=%)YCdpk0JSd@&<14$s1TWAl^bYc=AhOX#n1p Bn2G=Z diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh index 3b2335d5fce27dfbfa0a0b9b283e62342fe6cdf1..dcef4de6f18634ea2ae06ccea042db2655913fd5 100644 GIT binary patch delta 123 zcmdmGKgnqW8#{Y^N@7uYX5M5r_7WI-a}~QN*W_s&Hj`h9E}QHpXgPTio9g5QKDo)S zMVEm1%!x(0lP7YBO%CPKm|P>wGkL#|&Sp6=amLB>ML8x<6>#4CTGWei^L$YzE@8(Y VXAdQ7g|tjAO@$f-m7>x-E&xLHC;k8c delta 210 zcmbQ_w99@28~bEl_L9vV?4n$gzp@Fk=%wc?O`gaqF?k1v2ET%CenDzpQgMocZcb)W z^5g(<oylfAnv?rD*d}if5<+NL$ZpGvTj>R10ff?ttfG^XxiltAitw<(jn$fbNMr{> q4L0LIO4e;=75~L4=^w11;_mMl<m{njt&o<<rKwP(pi)$t#{~eKjzTy9 diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go new file mode 100644 index 0000000000000000000000000000000000000000..8ba89ed8694f46b545cc2f5612667353cdbd03c6 GIT binary patch literal 705 zcmdPbS8&cRs4U7%&nQtaGBB`I2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?QBxY79)YK@XBo>ut=7Cv7iRt-yX*rc3PFhiFYEp3uh?$d_R|-~| zms$c9$}dRGgEEWra}tX(i$RXjMi>k=H3e=Y%shx;P?KQBz|7z(NKDR7OixuP&C9Id z;z}#cOIFA%$xqZMOUzNo%q!7UC@v|=%u83OR?yd1NXb{oEK$fvElO1=N-W7pEdqr? zo<ezMNrpmNZizxkzCvPIerAe7N@_uBUP@|SawQjMW|{)XFdGE}g=#KN&Z5+k(xN;C zC0!*2ZG}>>U8R|MB^tVAi8-2@T%5IBFeONm5V=~Y10fP1LqR$bPUPY&ODs}IDos;} zHa3b)sw_zbIXWpbT_H6uzcf8VAuYcM<S8=~F3wB^D_ez})I5!((lkv4T?IofPLM3f zP&-=%Lx@|GO4Fh<V-;)_KxTo0MAgthL0duHKwXoIlQUCSmy44Vq(dL11MGAR9dPAP Se?x*3WNUP$RjejgEf)Yd665>; literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go index 9916e5e85addbc7a4b468ff9f63c682b967e2882..649fa87405d16df8d0ead218500132f7e43b02f6 100644 GIT binary patch delta 156 zcmZ22K2>5v1*;|(r&4-;PGVlVUVc%!euaK<WwCx{UP)?EUSf`ZX<l(+T53jWVoGY! z<}%h9tgdB=MGD0V(XmODC8=DT846am3L09-%JhPBGLus^H6UVo0r_CVG}MYUHMux5 j^js245)~$I<PsJK@qAMA6l@jpKuqVv0x)y39d|AOPE0Z< delta 65 zcmbO#v08jX1?%R;tkYNxiWRJE6-x7p6Vp=lf^#yHQ#CZSk}6A5H8r4u0r{DEC8<Rk Q1)7>V3VE87S8(S70OcVT9RL6T 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 index 1259f6df58ec20f85b4be4e4879b42cec66e015f..1596426b1e2ecf7b35add0f9976c9a4d2098c831 100644 GIT binary patch delta 210 zcmX>ha$I!6D+>)SPNmYk;>5I6B`z*brS$xq#JqI9{GxRI3jN~BV*Sj#lGLKS#2kHy zqKwqUl++?6F3pXf6gcY35{ndy6{2I4DoawiI5{&?iWIDD6*RPv)#?T3WG1I-YCy#F z0`kEoYN!=!YC^Q=xg?e(D%dKZD@e^NDXN62aZW5yuvI8ZP0mTpgKG0h<;sJLP4?mZ F0{}!wMX~?@ delta 66 zcmX>udO~EvD-Na7yyC>PRHe;Ij0zl5#R^uo3J?*!;GE3lR1FQSq{@<1O^wO@oMK#> SItoRp$vLTcnv+j+{s92woE9el 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 b11ede89a960c1b27c3a2d4aaf081e44ea33c746..c3c4c698e0720914e30fed628cec8ea39434a6ac 100644 GIT binary patch delta 31 fcmeC>>*d=J#Kx|nl~h@hsyR85O%BekW9tV1k$nka delta 23 bcmeC>>*d=J#5Q>@tN7$hHa;-j$5syjTf+y9 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 9ed8eec6c287f121b7e1522c938d69e643ae3b59..82be61a2f98b15362e96bdebf214509c3a751452 100644 GIT binary patch delta 31 fcmaFB`+#?YDjU0oR#Ih2s^(-JHaR#ukgXp8ocjrW delta 23 bcmaFB`+#?YD%<1&R`JO;Y<yrkk*yv8U|$DN 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 f8ac9824790580bb6828f0e09bef15240a0ed9ca..cd58f1026c057c84f093e8fa1d65d5704c4089e6 100644 GIT binary patch delta 31 fcmey(^P6YG0akVmt)$A5RL#l9S>@pDH>~{ty^srl delta 23 fcmey(^P6YG0oKWJEaH=|v+_-jW09Erm$eQ6c7q8m 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 8e932036ec377431ec4dab91115db65ac4b496da..d6f538f9e007703e8b871e17191727bd4125bbfa 100644 GIT binary patch delta 31 fcmcb^bBAZcLRNMSt)$A5RL#jNSmogCv#k99u=on) delta 27 jcmcb^bBAZcLRR+D%)F9<lA_5gSmh?$ut-e4$65yfnxzVX diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go index cbe12227896b05e9a2cd7cf9304f23fba9a00b7d..8ea6e96100aceb87036f561d9e278250ef9d657c 100644 GIT binary patch delta 31 fcmaFB^MGf=QdV{it)$A5RL#k2SmogCi>&<svX~0_ delta 23 fcmaFB^MGf=Qr5{1EaH>*u<}iIV3C;oh_wy?YwHMV diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index 47146911f269e79d4d9ade65d00ddc4b28a4f02a..ecb0f27fb805e5ce517f5006ae4171aae56950a5 100644 GIT binary patch delta 325 zcmeypgXQ*imJRnAH@{-c7H7=d949&bSiQc!LS}JsX{v&uiLt33m%hG&f1W~4W?pH9 zLU3wHX=aK-VqOY}nVy-Vke`=RsgRhKmYQ5rtWc7Xs*qe-RFs-mqEM1il$w~LqmY*m zVy7w;6y+zU78irf3(3eVR!GTDEe6ZxCYB^;D3oU;mMG-r7njs4Bq!$Nq!tw`q*fH9 zCYLA_=PQ(_D&&?HmnamamXsFdDJ148q!tzB7lGWCky@0hP?T7bky@lsl98CFkds<c zl9`tdaSYfbg_4ZSyljvx#3>;26^cuflT%YuQd9J}xYA1Vl0hCS%}miKoy_z=PTbW$ ez|TJ<I5Z%Ds}>=jKKb8$B`$>A=7$ewSpfjRG<7Zj delta 368 zcmcb;o#poqmJRnA*-DC%^Yh9!-(oBf=PZVB^gK6vOHMyF`SJs8mEy|c<iwmDz2MZ6 z(##Z%(##Z1u39dxw9>p}h2YeZ^vo2E^vMq%$mt*{1Ph`mEJ_7wFDlJU(NRd9eE)&G z8IlGRNpvfUQbFbwrGs^X?Xp49iY$v^X)%(mV7rS!cDtY$fT;%43B{<k=qMC}U80O? Q5T>Hc6wS?!4`*2c07m+X5C8xG 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 ff5b5899d6db36b8ab119e47ccda833148d4cded..518e476e6dda3fcf266b0d54bb5e3a6a4ffb27ac 100644 GIT binary patch delta 208 zcmX@_{oZ$j7rS^~5@&E~Nl|KgW{O5pdS;43W?qSoLh9s)OwvZdt|39L?w&5jMqK*( z#g)Y{wZ&+P;o6Ep+RVV(g0bl<1zA!Gw*<~AF3n7tJda628=^H7(@IR8AoZ+Z^_%V4 HC&&Q+)?h_? delta 12 TcmaFwd)|A47yITcj#fDUCtn31 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 9b2703532989adf388d01447b36199c6c20f2e83..f5e9d6bef10971aeac1f9bf94609f7ed3425c3fb 100644 GIT binary patch delta 155 zcmeyQbw+2yMt0%U^vo2EqV&uZh0MGX9R(0~av`(0YF-j&aB4|WYB8ofL?uW9Rb?s2 jq*Ay^a8_|?W(r8<<W=leQZREd6;Cc?me~B1y_XjNw*oe4 delta 16 YcmX@3^GR#NM)t{39LAgXarE&506+i+xc~qF 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 856ad1d635cfdbdb021012ad9ed6c0498ad42d91..c1a7778f105066019d586a6aad429dfd55209eba 100644 GIT binary patch delta 204 zcmZp(S!TE40=IZx5@&E~Nl|KgW{O5pdS;43W?qSoLh9r?PHCfH*N`ArcTX2%BQAaY z;>u!}+F~@taBamPZ6;uC!PxYbf-EV8TLNblmrkzdl+uJ~48^n%T^~p_D_HgBquh={ E04F&^0RR91 delta 12 TcmZ2x*JiWf0{7+*JZ3@wB`F0d 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 6422704bc52aa82308411a010a9ae7757e452d50..d83e2c65716186ca5555fb2fdd9d8cd39df88b50 100644 GIT binary patch delta 162 zcmbPk^wD_3LN@W>)RLmq^vo2EqV&uZh0MGX9R(0~vOSZyYF-j2Sh^Tf9-<N?fvU0; nWKt>IBsi<MG&2RHauN^A<V9>|QZS=2)lar(lGuEc%}xja^*}d8 delta 16 YcmexpJl$x+Lbl0X?B<&{vD*s)06a1V9RL6T diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go b/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go index 59dab510e97cab584d2f12b3809120dfa07b956a..0b69c3eff9665c8ee55fb2a9025549956227c839 100644 GIT binary patch delta 158 zcmZ2()@ZRIi&ZKwi8DC0q$o8#Gex5)Ju^iiGp|HP0mPkL&nm78lP<=Tho}TepsFkd enN$il3C=1m%}fEQgj<QJaB@AX<mMdK-J$^aIX0dE delta 12 TcmZp)SZ=l<i*>UL+g?!sAD{$< 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 bfef09a39eb06c97a8e280d3118c8e8e6497a8e3..98a2660b91f7db779b1c321d83693f8ad86907b6 100644 GIT binary patch delta 145 zcmdm}-)*=dfK4DZJu^k4C_OVpAv3Q;M<I1GH?x#dUJ_?;YDrOQF`6V?SuseNGF(|H k$c$3B8E{r{>0};e$;qB<RuV9^=t?K^FiUN2Vbc`^0Fo#!*8l(j delta 16 XcmeA++^D}HfNk<mHsj5)?0SL#H(&+6 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 ab302509663e6508d054fd730f06a0ed39106814..b8a18c0ad2240abab1545efb92ee87418b252cd4 100644 GIT binary patch delta 148 zcmbPc{J~_yBv$dfB+lT}lA_e~%oL5H^vo26%)AmEh1AIg%u-4)xneX)xUyo9GG(~3 hQji&?a5Lbn;?l{6%#so?b?C|_8!}66p3KTD0sy)UF-8CY delta 12 TcmexhGR=6yB-YJ2Y%C%GBq#)O diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go index eac1cf1acc86c37404803145e4466a48b7b58aad..4ed9e67c6dfd6b570d3554e11545b158c7df4ed1 100644 GIT binary patch delta 148 zcmZ2$-EO<#536`y5@&E~Nl|KgW{O5pdS;43W?qSoLh59DW+^3@Trrv?Tv;(lnKE2i hDaedcxEXL(ap`0SW=RQ{I&@`|9hjvy|7G1E4gld)GQ|J@ delta 12 TcmZp-U2DDJ59{V@Y#YS^Cb$K) 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 4df56616b8f1a65992a4525d032204db7b59533c..db63d384c5bcb79702ef2d61decc478dd4402620 100644 GIT binary patch delta 155 zcmX@Du~cirTQ=d;^vo2EqV&uZh0MGX9R(0~@<L{D)x0Fm;M9_$)M89|h)R$Is>)K3 jNu_X;;H=`(%oLEy$<NrVq+sS^DxSQMSz@yyyB041-n}*^ delta 16 YcmZ3gby{P?Teiv5*o`;;V%O#c06)M6wEzGB 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 5f4243dea2c3b70c1048ffdf474dea0f814910bb..925a748a39bd8cfb0b04bff4c477dbb2884e3d90 100644 GIT binary patch delta 157 zcmbQB|H@!P5Su`1dS;47QF>;ILS|lxjza3>3G5=1>)F_p@{%}%Q%j0ci_sLol@`O4 oD#MkQg3Ky~n+0bTmrkC@E(|huvNxNR1WY};a*(3U^=yKI0B3YGTmS$7 delta 16 XcmaE5FhPGq5ZmP6Y{r}8*|`M)J6i?b 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 d0a7d4066851f345e8c90826a70fd0b177f476a9..6fcf277b0d7338c95bd2079719925d3835339477 100644 GIT binary patch delta 146 zcmezBb>3%#E1Pg?dS;47QF>;ILS|lxjsl1~xsY9avK<?{Txv0<Bt#iV0!djZ$c$3B e8E{r{X=VyknH9)H;Z#hOlMC4;HdnI!kplojaxoYH delta 16 YcmX@_^VMsEE8FCEY{r{|*#F7_07Ci)Hvj+t 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 f5c793be26d4a274d097a7d4540fdf01a47d4e66..02a45d9cc063c121ff4c120b5e73f8ee4d214ab1 100644 GIT binary patch delta 155 zcmX@5yhL?FB%5$*dS;47QF>;ILS|lxjsl1~c_Ev)YF-j&aB4|WYB8ofL?uW9Rb?s2 jq*Ay^a8_|?W(r8<<RCUHDVVvKiYG5*lib|LX2T5tZ!I-@ delta 16 XcmZ3YdP;diB->;rcH_-y>~`D$G42HZ diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go deleted file mode 100644 index 5930a8972b1cd357ec31fd60e85754cb5d03f554..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1263 zcmdPbS8&cRs4U7%&nQtaGB7ey2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?QXyg~9<|P%UD5$9^7+aWWD%8}Vh$ZHxn3-UT7Ug0SGc(ZyIY%2} zG}L4rV+%6{7#nOHf>)G_%r-OO;wnf?&Q45ERVdBNtl;9x%q_?-Dp816P%6zUPE1Qx z0=ZqmGq)foH8(Y{Bo*$#qSCyQ%-mE3n05`QfPQghaXi#=W4-izO|G=kykv#q%Hrh2 zoSb+lt&x_eqmXE*qmXE%qmXE<P@0)nQczN)si0A0sH0G11QXCvNG&Q-a4jmz!(osa znn^kei6%M<iKaRViDocENH^8c0FSXc3W?@A3W*jv3W=5=PZ*G4Pf=odFeF6KETYIP z$^!$EP;)Z#vhxyiQ_*7$#@B<!B7W6o=*rFTt2Z=2*I;OXLkA-G;93wu1oa>shR|fj qg*Ba8qD2pK@<L7rL`9oIH5X@5YDsBP9?aFS>_9?#GtlI!<pKa~GM%0P diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go index 8c6f4092abe47cf8580bbbe9dc3797613f0606f5..b5ec457cdccb67c37be641f19379efb966a8ef46 100644 GIT binary patch delta 997 zcmaF!im~ej<A$6t3$--o{QT_9RJ~*{#l;DsixqMc3!=3$^GZ^S(h`$Xt7~Jm(lT>W z{gbjF>Nn2_Tf!uTM?NSrjcN1AXd`Ck{G_bOjPYXJ8U=|Z89EBZC5a`I9hFsJHY-@! zDyX5DU7ePnl%=BpamnPscwg51q%2L%$!}5=xnR2Vk|*=0>Q4S0uPB8O0(&7=!Bzq4 zsm+E7SD28rY-UeRX4J%DVP0kq%)VMK&UhV#)S@B<tH}pbe2{cc=1=v)W7%ZG1li5q zsn;2iwWOrmv1;Tc=B7@TkCW8VRM3EhBG`)jB29&AE>4hlL5|8xE!ThsgeKSI+zj=} zF3OUV=ST2PK9-?7`AdfKWQ9x_Ign~S$CAukJ-_1AWCdG=Vg!$ib8=3m%;brga+7yt z%1pkSDaT!uT2fk+rvTEmnI}tzQAn>K)ibXoB;U27M57>8N1;G-a$5Ey#_Gunb8N&R zVGeSP26E(2{+=T*R*>piQKAQleg#_vEr{C5PjU?=e@+r&hj29~3+7D~R0CNDO;QTB zwhGCUH{`i%XQsg-Mn@q(8)OMA*%e1abjMnQB-GRtCU5W;pFB67k4eFHvTUAsy+Sn? zCnu-AzCvhmszQEg5hxWEXQZYm6s4x67NzDTrz#XBmSm(BDU@U+<|&jGXXd3Vl;#yD zrll(6=P8tDB$g<Yrz)i9mnbA9CTBwpE6GTODJn}XD$WF{%rDJJQAkQf#FVB+X&x`g zAiaQmaC+C6ET1Rpqp1lp1QI47-y%|-9*E1u$yuwAnp2z#ad|;vUS_g}Qf_8(Zem_y zdTNS7Zfb6RQKb^dl-kK3l0@O*Cy;*-Yxs#y{*W)fS-QZDd2&qg^~v@n%9FE7WTa}j VIH6ITnOCBbo?oH~PFh^GTmTI$Sfu~} delta 1401 zcmeBr!T9DC<A$6toiykC{OrtBF3w~yU96CsSP-q1mYI|4pOgiWi!ClGDork_uHC#O zYzdPX4!NYrG$xKzJ%}-z_eWbZn?khfD5Mq@DOlMmBp0P7mZZ8N8?8~0SdyWmP+XE& zqN4!OI@wWKWpZ}B*W~zI-pRY-6(`5#vQHLD)tD@lpePD;ZLET=0?bj>wUY}|WjALf zY-eIhbKb0-oXn_$*GeTN9fiEi95nlMC*Ms`gWBba-JZ>bsb3hG(wryfr`xeX{5E-Q zx?DZXB!$eplGLKK#N^cKT1^EF)IbC~DZfZlp_+>m>I+bq<fWEtpaiHUTpAjb3bxRI z;o{6pQ^-rqO;u2|RZvn=P*Vekn}UX-EyzD0gJCA?rR67ODcC9?nXbvjIr)3K`s9fb z!jm0^#5tgD(3|X%p*y)CLq!ioubyK`X0BdvYBDIG;T$ebxT47$GUSkW=Q3oFc&||8 zI5K4{;QBxg({lzH?pF*o9nRz8tmWb?N-ZfZ%2R+kZ?kWv45N5ak%Fy4s$M~=XI@E2 zzH3E^MnS5MLcwH5WtqvVBX}p*W<7{ZEh@?{0);_lngT2p7Ax2yf(B-AZi${NNNt*i zQb|T;v4U$^YF<e|eo=`+X0bwIPEl%NN~J<_PJVG}ijpQ5XYJ&;Y#S-4b3ieM7O#^x zX3N*d>nNn<m*%B_<l&Y_Lp8;6fn!b)qN19Mld~W(FEd#~sWdOOq98T7BsE1L732to z0+1^bQ&Ngji;JxlauX{Rl2R2?N>dd|@)fdEi}F%)6p~8Qtrdz>Qx!5wN(zdt^!3y8 z^-}y(%k(pgi%V1WO-+nUO~B6P;w(sYttiohq*Dc3ScpPX6&GhpYEEiNss`M-IxrQQ zT$7(=8%#FJnZyN(El?PyIZsZ=7oGen$7r%np3LNldHYbMOePnl3T>X1@4!6ye$gea zvc#NBa99{jUSF(QUsPlS2^gdZR4XWs&WzPjPy<n#T%4e^oeENjl$b$c5Tk5u6%0V> z9aNAYMJXqzzP^HI8mN3R0>xfQMyf)7UQQ)QAiqc<F)u}-BqO!HC{-b`C{-aZUjbqo zIIxSkI61-kOY#*UNka!pD`b{{0vu#ma$-(SYLOmTDcEk1$wnY<Er>`eN=?k>;shmI bPKeRA3YiMp3Wmrjxr_%C8sO~DRm%kcT}jl4 diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go index 9f7535607e55c7186465478dc1480f4506da0e2d..1ff5060b512324567a22c253f6a20f0b49d69472 100644 GIT binary patch delta 192 zcmeAu{8zZ4g;A4>Qz<<^CowNwFTW^Vze2ybvRFSeuOzi7FEK~IG_N=@Ej1%GF(tKV za}#3*XMI^>kwTI}bZk;(Nh%j-MoN)_m92t?7P3OU;GE3lR80+tm|j3W*f<TfBu!1Q w4n3E|l0*et1vL4@l$0W<0_Vg61zUxj)V%bP42Tw=)I6{V3rJ|Q5_g&|0F%Z+A^-pY delta 59 zcmexY*ipElg>mzG#xzc;Bn2y5h0?s@#I#hs;GE3lR1FQSq{@<1O^wM3+#+0>Itn?d PdFdq?nww{Er|AL!ea92$ diff --git a/vendor/golang.org/x/sys/unix/sysvshm_unix.go b/vendor/golang.org/x/sys/unix/sysvshm_unix.go index 5bb41d17bc47eb17711c93aeaa6cac81b5846e70..0bb4c8de557b5e67a142eaa5dbd4945f58709d44 100644 GIT binary patch delta 283 zcmX@g-NrlNyM+c9r&4KNabjAk5*HVzQhI()VqUsleo?x9g?@2mv3_P=NorAEVvasU zQATQFN@|f3m*&R*#Z2}3`U)ZbF8)>u$@zI@sYN9UCHV>vb$Y=$naQaN`FY8y3gxK^ z$%%OiiN(dGxv2{7`3i=5hUQ$HWr;-!Nea=iNtGq3T$~vxMG9873L07v{SbQ~rf6zF z#PkC4!LHFzOVZQ?=?E&)b4e^oRIr6v3R94nl2Qa#QKaXbSfF65keOGak(rm4uNRz} TUR(v0@=49ZklMV7S(pg`!S!A4 delta 90 zcmZqUJ<2`dJBLzfUU6bts?uhC#$qOiBn2y51&D}Va871&s)mMEQe{c1rUq0nAU`v& kB(+E*F(su)Q&UGFGp|G=GcPS)FE};5xJq+#F^e!00C>|LJOBUy 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 36c0dfc7c4cf4533e61123140a1afa95243b7bde..274e2dabdfed7410974b7bef1895b2c62bfc5bf1 100644 GIT binary patch delta 16 Ycmey<&Ge<4X@br~gNK_%8K1WR07HQXod5s; delta 24 dcmey;&Ge_6X@U;3v4z=0?MEPLGY{j7765fr2-yGt 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 4ff942703b7b0a15c7d820afc6a555e96466c6fd..95b6eeedfece1ee7b5a4fbff3e7a2ee545e47292 100644 GIT binary patch delta 16 XcmeC`Vfxq2G(l&g(bLVcjBi^2Jwyje delta 28 fcmey@&D7PyG(m?oF*n7`WTN&n2xGGV<GU6BnuQ8_ 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 3eaa0fb78e30f90065faee9a0f9fab7668f014d2..918cd130ec8b3d5b104962cece13cfe7d8bd0c4b 100644 GIT binary patch delta 16 YcmaFW%k-$1X@br~gFBlA7;m)#06}60X8-^I delta 24 dcmaFV%k-+3X@U-OVo~ly?YkgqGdtt$Rseq*3E=<$ 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 d7995bdc3a21892c94c3055fc3374398126e463b..3907dc5a90e5cff06ca9270c1657b4c50d332cf7 100644 GIT binary patch delta 19 bcmaFd&2+t+X@br~qjwXHL^oSAu4n-OR~QI2 delta 28 fcmccK&GfjNX@U-GVo|P{$wck<5XNRn#(gaSpmGYS diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go index 928e24c20535371a1f4718606acfc5f76bd13a73..03d5c105a3850c513cf9884c8c1532ff0d4d54dd 100644 GIT binary patch delta 16 Xcmey+!StYmX@br~lP8-M7z3ICK$iyb delta 32 hcmaFR!StbnX@U-WPJVt~x|zvD?WZv2W`4%NW&qRB3;6&5 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 179bffb474b43503d8ed8182195c161ef872568e..bd794e0108ebc61a6bf64d8dbb875f5504dace00 100644 GIT binary patch delta 16 YcmbO_fvI}}(*&J~hW9p$Ffz6S05)p{@c;k- delta 26 ecmeC4z%+FN(*zxs+{}XFiQ4zU^kz;*rgi{?1_@jM 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 1fba17bd75cb1c3d039a174cb9dea36b335be066..6c741b054765ea8eaf366a6960da54b5d078a6a6 100644 GIT binary patch delta 15 XcmbO;fvIl-(*&J~#*Y@uFt!5#F@**A delta 30 gcmeC1z%*w9(*zy1+{}VvGn0whkD;v1yo`+P0I1UnMF0Q* 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 b77dde31537e6a3ee2b63b52b42ebafca6918f28..807b8cd2a8d3ea48bcf690757e19c6766007c0c2 100644 GIT binary patch delta 15 XcmZ27foakNrU^O|O`k1RVQdEgGGzu5 delta 34 icmbO<foaJErU^P6xtRsUW+pkQ6Sbei*_#C!8QTHdzYG5W 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 78c6c751bfa5a639365832ce9d96988c46bc50dc..a39e4f5c206de1ca2fac2b88a24fbbd5a63b5136 100644 GIT binary patch delta 16 YcmbO`fvJB2(*&J~#*a43Ffz6S05@d@3jhEB delta 30 gcmeC5z%+LP(*zy1+{}XFoYaZhkD;v1yo^lk0J2mI761SM diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index 1c0d31f0b4c28d5ba89f9a05c65bba17904b4228..c0fcda86b4cecf1c5198dd0ef7de1b1c16a3a66e 100644 GIT binary patch delta 16 YcmaF4fa&1^rU^O|4eo3fV2tbs076a&6aWAK delta 24 dcmaF3fa&D|rU^RC1qI0yweNzc&FqX({Q!ZN36uZ; 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 959dd9bb8fcc050db999608e03c5c410b83e5a2b..f3b72407aa66aeeccbc3ed3722dd46b34057e680 100644 GIT binary patch delta 16 YcmbQah^coG(*&J~Mh`YiFfvX6065nMD*ylh delta 28 fcmeBO#58je(*zyXf`Vi-lZo07A&kx3j7$>%lk5q7 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 5a873cdbc9d273d76a5fa3344e86aec353818298..72f2a45d5038442eab471d0d03c8ea8479535f83 100644 GIT binary patch delta 16 YcmZ3uh-u;?rU^O|O`dF4U}T&C06EbHMF0Q* delta 32 icmbQZh-u*>rU^Ri1qI1wCON4SwV%S6oB0`;CIA4#mkT!l 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 e336d141e1f19aa20cc339a685ef4e0115e99ebf..45b214b4d3a8d115e4ee81b3a0a57057bc71e668 100644 GIT binary patch delta 16 YcmaFg&UC+>X@br~lP8-M7|%BW06|;_YXATM delta 32 hcmccL&h);WX@U-WQD$*+nVHE%?WZv2W`4#CO#sz141)jw 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 390c01d92a530d9ca06aee997ef330136f6ec1fa..1897f207bb389468d2d4d926ea5fe7b029767b95 100644 GIT binary patch delta 19 bcmZ3xfN9|ZrU^O|jowW(65VXg_^A&7Qwa!1 delta 28 fcmZ3ufNAXlrU^Q%#m1Hf6%)1JLl~PS89Dj^lWhrh 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 98a6e5f11f5086083ce42e5e898980ccaf6e000b..1fb7a3953a9ef7b0a40dbfbb64fc9a50eccd7635 100644 GIT binary patch delta 16 Ycmdn7kZHw2rU^O|O`dF4V4Tqp06l&O2LJ#7 delta 32 icmZ3nkZH$4rU^Ri#RZ8)$z~=KwV%S6oB0`M_5%RSLkt4| 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 index f5bb40eda9ee63222ec3d298e8e2318bd742c3e3..d6c3e25c018ac23d19979745aa8a653aec2f8779 100644 GIT binary patch delta 34 pcmeyz`j1soUtb|TU!kZpPa!uuu{bwAC9$YHGfyu)f1~76CIH!#47&gT delta 34 pcmeyz`j1soUtb|TU!kZpPa!uuu{c*RJzpUuv8X&VZ=>W>CIHn>4153p 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 b41467a0e50e9b33afea53b59f9f4cc0927a0269..7e308a476d933adc89987b913f08bf8565ea7df0 100644 GIT binary patch delta 36 rcmccfjPcGhMoE2rh4g%dqS8Et-0Z~S-1wBlqVmi<z4ZKzlFr2d4b=_` delta 36 rcmccfjPcGhMoE2rh4g%dqS8Et-0Z~ST)p&sg_Oji^31%AlFr2d36KrT 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 index 0c3f76bc203e536c7c488f0b5550587becf83f54..357989722cfbc392ad8bc844f4697df2073d8392 100644 GIT binary patch delta 34 pcmeyz`j1soUtb|TU!kZpPa!uuu{bwAC9$YHGfyu)f1~76CIH!#47&gT delta 34 pcmeyz`j1soUtb|TU!kZpPa!uuu{c*RJzpUuv8X&VZ=>W>CIHn>4153p 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 e1f9204a20851a4779bc480e91ffae3d2e2e0b55..b09e5bb0e2048702a332d5408f5c2266c17e6885 100644 GIT binary patch delta 36 rcmbRCjB(mCMoE2rh4g%dqS8Et-0Z~S-1wBlqVmi<z4ZKzl7EW;{96t; delta 36 rcmbRCjB(mCMoE2rh4g%dqS8Et-0Z~ST)p&sg_Oji^31%Al7EW;_!bTL 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 c81b0ad47772dc10fa2f1d93f57a77441f3c9cd7..88af526b7e23b74ef6341ddf8f2ce54d4070a52d 100644 GIT binary patch delta 341 zcmeB9ex0?ULPj{Xq$o8#Gex5)Ju^iiGp|HPA$4*thsxx?n!?Ji?w&5jMmh?mnRz7z zB}HI0ng}jP-{eA-2HBFL)M7L<;HDMBOfz;3CTtv%=^zs)Ph_rE2nIQ^xD@2ZQn(x8 ztm4wic^t|h=Nh{PhoZT+G&2Rs#8gx+$ViX{qF@Wq&4-z)>`K_s$%QKQn=535MFGVs BcxnIu delta 12 TcmaEz)t$VdLS}P>g0Lt6CvgPZ 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 2206bce7f4dda8910a03f40efd40725f1749019d..2a0c4aa6a634c13976cdb128067e7ecd954133df 100644 GIT binary patch delta 355 zcmbQ+#`v|DaRZZraB6yHibhd-W{N^)UWtwZh&zc(bh5r8&t!WAVMSMWPZu49(#*V) zf|4SzI!y!@q<Hc{{W_)K)RLmqVoZ}DW`ZP;%+zxYCS)j*9mSL5IA9i(f}C0kcPgA! zT$-7JWP!eGa43qaOEXiDOiV@P7MD(r=cwKMPo9%e4CD<=OOT9KbR}dmC_FZ^DT*rr E0F799Z2$lO delta 19 bcmey`%Q&}<aRZaW<_}7&jGOPPh$#U8P`L*) 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 edf6b39f1615e663323df1791888f7a901c59d52..4882bde3af0f28f5820120a11e519c33b99a71d9 100644 GIT binary patch delta 372 zcmeCFf78ae;ggnFYDrOQdS;47QF>;ILS|lxjsl1~IZ;t@@?U;_^<dYKAXj%!7h@wG zh0@Htl7f;Vuu@F~7p&gVx=tw=WL7bzVGv_M5-?*ez{Um>HW$enkbcd{iK10ddrCo$ zE`>W9&MGd=OhL0J6wUpmnJGvHr=oH}`oZ>ygZ+bP4a{&z*bp{*vZHm~=8sylMF0ea BgPH&U delta 13 UcmaFU#@JK8;gi<pOM0_J05SdstN;K2 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 190609f2140d4118993865e99a2f3fa20e326926..9f8c24e434385c9a92506dd65d500b8feac80bb1 100644 GIT binary patch delta 367 zcmZoDxlz4ASVlZJwWKIDJu^k4C_OVpAv3Q;M*+m0{7^t~vV%UqTCi(KkgL0=i;hBR zW?o4_NfB6~CV~r6tvNYByk4QCD76^VB#4<H37DB?U^9aW8j7$3q+4_HLYZnskZX%e zLC!6OI~UFZNuXI0isJIp%oJpoqjEvIH76hBuG%at!^tQHvI)~7nDLNsA!z#K0P(ub IGO|x(0A+}PH~;_u delta 17 Ycmcan-B7YYSY|V$JSXGkFA7g&06@?N%K!iX diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go index 806ffd1e125e641817274a955a167b57a09a938e..523f2ba03e4c37f8de4cedb718c81c870e8cfa47 100644 GIT binary patch delta 343 zcmeB5eU!6dnW$K5Nl|KgW{O5pdS;43W?qSo0*E^~kyml@1O*|bAXj%!7afJt%)F9< zk|MAwO#~OL^r1w(BFL0tOk*Ghf+S!D>Ib<76EYFWg5t>m9Cb>;VB<?ct}KPS63!|v z%}jwAZxG}f9E#%L(##Yj^HNc{#if%2Icmkh=3^QUGgK+am5`Z}A4=43UMBiP1^~g` BdG`PS delta 12 TcmaEq)0Mhmnds&^$tN-ZDrW`r 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 5f984cbb1ca74005ff95da999c051b36a4e26481..d7d6f42441be7d355a2163277158b36faa284e0f 100644 GIT binary patch delta 371 zcmZ40!Pqo`af5@TaB4|WYI<ghMp1fZib7^yiH<_*WCdP{$q%G?CfjNAs|LG<1i89< zy67mBX6BU?loWwgY9hEG-IG5$*2xEhj4DPm3vOyLvZ-cZQ-cW^i)0JPT+PXXLRAV7 zYf3>*E`>W8&MGdQtjH@4b3N3aP!#8vW~Lw+oQldV25~|5h=T1ww+7j8NYD^68x%B~ J?ImAp0RRHWf5ZR) delta 14 VcmZpgz__Y|af5^8W(nC>S^z0G1xx?{ 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 46fc380a40e5472092b958d7d71af0733dbe7ab3..7f1f8e653390ac74b69b06f70fe4e82dec06ce01 100644 GIT binary patch delta 344 zcmdnq!r0%#xZ%8%aB6yHibhd-W{N^)UWtwZh&#F7R&<iIyrQeSr;Cn4X=YwYK}iu< zjV6K%R@kUmrxcu8Qj}VZX$r(VkOb5`L)TzJ1|pdc*7#7R8ftzi$d#pVSHfAvrI{%R x^FvV_T$-7JWMC>P7p(E2O7-T`Qk;xpAU|MQ0X10Bm5{lU8x`v|UzSc$0{{nrdXoSE delta 19 bcmeD0Vcg!rxZ%9i=Do74jGNcUC#wMfQNag{ 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 cbd0d4dadbaddc68bc6c14750799e7fdfe00fba9..f933d0f51a18430ce5adeee90c4fc53f45b0dfa2 100644 GIT binary patch delta 360 zcmZ46#Ms)!xM81^SZaD^ibhd-W{N^)UWtwZh^vs9H~9jOu4=GrNRX?$r;Cn4X=YwY zK}iu<ohE_{Qargpu}(EOwWKJu7^_JoItm~OsF|i<GlK~kiev{!^JGW;YN#EhAlH_{ zT?=OwLs%epL+uDfad>HF3X-9zs9ca{kR6+MNpUhtg8YKj8j#_TKp|u{C{Q*ZlFn8I E0Gb|uq5uE@ delta 19 bcmZqeVqDwAxM82v<~6dcjGJf6XQ=`JPK5_Y 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 0c13d15f07cfd85954702c62f9aff48db80503eb..297d0a9982204254f195494c675fa2aabdd280f2 100644 GIT binary patch delta 383 zcmdnc!Pqf@af6$rSZYa8YI<ghMp1fZib7^yiH-t@JNcrt;^gxhTv{5zk-_o7t|39L z?w&3>3Z<EOB?To#VAYxkE?5hrbDdH!$hcxm^B^XJBw!|6AxsV?WHgdZU?UbXS3_+o z1-ZNw?s7P*xHK~bn@yo8o+!;sK{7fOl?ygvA#=4j*iV=i!Hh==B0{E5W^}IG>?-+M F3jjsehr|E? delta 14 VcmeB}z__7<af6%WW;xkcS^z2!1!MpK diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go index e01432aed51f78ed63371b72b3d9cdaea24c17a7..2e32e7a449fd76b0d50db3a2c304af881cb1b735 100644 GIT binary patch delta 359 zcmey`!FYB8;|4uBvDA{H)bz|0jiU6-6ot&Z5*-B)ce10L;^a9x0xGT{L9XteE;<UO znRz7zB}HI$ng}jf@kGHorC^Xj#h4~R%mhim%rpU+8BEAfBs;*GCo)$<?I;DgwiNDK zIIFlcGX>R-P!xxkW~Lw+nu^K=Yo5qlEe`evrWG)Q!2v?Z+{qIK>o)7kd8h#ZkH&q; delta 14 VcmX>*f$?hx;|4vs&1_2UY5*>$1t9<c 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 13c7ee7baff6cd95f670dedfedbd47bb0cb198eb..3c531704647d9f28c5c377c1ec20f3906c7e83df 100644 GIT binary patch delta 379 zcmX>xfpNhM#tokog;UcrQ#6XwGgA~Y^Gb9SK-|fUT%wZ?7>j9X1V;wP2fKy@xw?D0 z=qQwC=9Ltb6oFN1BDi2Ji6V7M!Ko!hsl}M)K}-foz)Utrm>f*VXe678C&zQZtSJRK zyA<whIIFlcGX-Xi1(G$PC_X67OhGa?6_s0DIyr%(cJn($PDU}1moTk@S%4Hmgv_6u MC{nlin^KS}059o-QUCw| delta 19 bcmZ25gYm=!#tokoH$PBeW!!vTEl?EzS%3&J 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 02d0c0fd61ecdd041d07316fac1be0324799adbe..a00c6744ecbd24553fd12281f39838b819ead4b5 100644 GIT binary patch delta 359 zcmX>%fpOUk#tlCdg;UcrQ#6XwGgA~Y^Gb9SK-|d!%8HZuP5D)WT|<Ig-924&6iPGm zN(xGfzzQ`HT(Ig3nsrLSsU=0J#h6Ax3<XKR3^f898cfJkBuk1XPY{OLPzrKvDcrGe zR&i-&3d{y$hz+4A?k>$tK{7HGm0Mgod7^Ob<}ZqzjA9^<VA=vR8xkahjGlZ!vu^Vr Hr65%RHGh1( delta 19 bcmZ2BgYn!1#tlCdH$PKhW!!vKEl?EzTIdK* 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 9fee3b1d23960cf0d31fdbb796aaa4b687f03a43..1239cc2de9c7b79c7f957b3997130a7490f2a838 100644 GIT binary patch delta 341 zcmeA!cwD|gNlG|1Ju^k4C_OVpAv3Q;M*+m0%rCDvIbKRw(be74MMt4DGq0qeqzJ4? z6Tt<mbmXj43QjF4N-f4T24Wyc0%o9|YcL@bkt`^l9KZoHy%glgQn(}Gtm4wl6qxDy yuEC)w?k&wsK{75Cm0MgoIgq1vvz!zsqZr5om^Q%7Rdgj}>|{sIy3K0RPh|kM-gG(u delta 17 YcmaD{-d(UkNouozEGy&Y|8h@c07BOW_y7O^ 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 647bbfecd6aa8315f81be254e3b55dbac703874e..e0dabc60278d812736bc2b65f0aeb567f37c165f 100644 GIT binary patch delta 347 zcmeBAex9`<TwWkGJu^k4C_OVpAv3Q;M<I1GpP<C#1=`Z8!LA`euI`>LItrzkc_jrU zMPOB$2rfwHWJTdR`QX%&qSRtEbKoWx!%Q>+n;1;UNF*DIC&zKrDL{-b1v#@6?o2qV zxO6hVpg73I#t`#EQJh?wnSx|sDk`_QbaFgL?dD*4PDT-sAJFZ9nG6XFLI#7vVso^D Gi68)!&UOv} delta 17 YcmaE!)t|f}Tz<2w5-a0o6BT1Y073!<*#H0l 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 ada057f89144bbe97bca49641a4ca2dee8c93694..368623c0f2e9cf0fe7d2789be33496f2905c2e0e 100644 GIT binary patch delta 350 zcmccF%DAzYaf7LXKx%qsibhd-W{N^)UWtxE>SS&XmC1HST$5`QI2B#pJzaDZN;C6H z3QCH=sx%Q?kj}}4D)n-yB}J*lXvV+|EJij^&o!8kiAWX{PrfKvrw|M_z7*ujQn)MO ztm4wiJRHg}2OGKuhoZQ+G&2Rsz*JOjacO4C<cG%9n++8>8AU+Wpxc6MwxTN`qd|eO J*-CM~A^;F#cMt#o delta 19 acmdnk%XqVuaf7MCW@Tko#?3;i^A!O|bp}lU 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 2925fe0a7b736b6db16e4aecc80d8d98bfa771d2..a057fc5d3511ef879ccd92f30379fbd389b41a30 100644 GIT binary patch delta 5033 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 literal 56701 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 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s deleted file mode 100644 index 75eb2f5f3f72329f748a372c935f353207ae35f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26255 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 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 98446d2b9540459f7c952ee8ea84ceab3c24ed2d..04db8fa2fea855704c39437b31d0acdeb9399fa6 100644 GIT binary patch delta 5043 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 literal 56556 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 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s deleted file mode 100644 index 243a6663ce67a67efbb8ccbb896a4c4a606e6c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26257 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 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 8da6791d1e339a84158cf519a70c50d84ee9b68a..69f80300674bc32a098d203b4b4c4529290091d0 100644 GIT binary patch delta 4882 zcmbQXn|a?JrU}{`4f`1-f)dMvD~pp8b8<9-BZK4JT|?Z1{6hnRCx2utm|S+-eX;<v z4Z5OWBt^!PH!vH3751|v3qg%C1Dh4@=ow-%Ile+-a%?>RWEa*}u(BMsD3~&^Do1B$ z*MN}8AK7}r(kdK&0#H-H(oUX!E|Wj9iA~ny@&YTE%^4_+tiajd&(GBvWB@{qBDc3F zn#Y3uoxNQ{CePxA_-X@BhB(v|h-2MdLqJOW!A=pI9LHM)wyldV4OLw*x;ov-$^5op zwLt>mQfRiiyM_d~x(4|<`npb@A0<91k$<unyVhhKK}e8o;9;LEAryc`7sxHRbX^cO z5rMiL97Mq$p&>5*;eL}1MFPMM(G?9rG7{oHkb$lt0gj$QlV@@3Pkt;K23Go7?5QZ! zEQq=wSLZOdAb($wb0;5|Ejn3CVj@^&y5t>LxI<J1yZX6=_=Dr-mZ{|Ac~S{rbxWkZ zVCulG0~zQW>^}J;o9bkHnNYAATUk^!AfwRLT$AgDnFF!U+cnJ9FJyAB{N~AJw|yqR zR_I4bN1-8}zOKQO1&^Cg-q6o7`GKM}*s6m{4lrZD&T)gPgT@B3Qfn0-l%yBn@8dJM zkymnZytUlq=PDjx^UkZTMlsLV(Iw0?*md#+Q`yOf)m*`9Hmc7Pga#_uPG28?XK%2I z41Ei*ib73&lqdwNaP;w+ENCP=`GKYxSkWP^)u@UBg8V~3NgZU@c5N51qUAa(QSAzj z^m7K=HC-3tntHtjs4fom!*EZ%9{c0~14S_uS3}f+T(!W!25ecMp_K?)3J>rMa5Vyl z5}%PLSkW(|?I_N6cMWlI^$Q7xrYNDw8uK6y`(d&cMPWRs^l=V%nS8-C1#HqSGY1sE zdHOqt_<)UxHisDDY;g}Y`NqcwM+SpbT`-lIoN2iXY|d7zG+0uBB&C1=MAXg$D_LOE z15*NyGEk`$96b4AOEOqG!OjgO3>{s(K*<g4@7H#ag#X394#l<39xk3ilP|U?On$q} z9Bj%oM|hG3TjK2D=HuuNvPEOE!DUDgM>%(+nd0m30(Xa~>jX4eP`(#Dt~uEuQgAY- zn=#m)`)>6po^kdF^7juxaY~zqCaOU`{=u%3r2^f+1|0G<<VQ{lE};RFrM)0|m)F|} zC6~B_1{h5~;3GG=&D#X5Im*WtU4ilB13vL!$^E`UD3Y!bo*|Qe`6_`W_xLS^r9enL zxj~}AF=X-t|2D9aqXAkdUUP$lGR)y@LFOn)$_*C8^P|Kk-wEZMT;~J{qRe1(baO!A z3{v*91yXVx4q1Ylw%nXOeEnUJ9Agl{Hu-Fr8M;BBC;=Jt-4&8Z4I)-z7~~)B2R6uJ zaznMy<V&H#aF;np8KK0C8#uGhj|v3)e{!@V%q(ycatm+_@o@I{a|36KSyLf(q)@Cm zsu{r{jv*iwlM=nb##F>DgoP6{q(LfRYWOD`L<&sSZx)+;CDa|PzA3>PCH=dBl)Hhm zG|b2^iKr>c4O|exBE}%u8ZBx=f<pbA9Yb6vzga0Yc}p@RaqUP^5ko6r++9Ol-923< zbEm3-opLKx8Jm(&PnXF$X{ul)ztWV@tA9|t#?xi8S2{$6Xofi!LjpkdRA+>P4XMt= z=9B>Upn%EeG9gZxn}yAu08f|62lh!%mN~}-HfTpSR)avwxN{%|-O6!;wKBl53Tie4 zdHM%=hD1&d$b}S!nR&M8?J#%OkRTsVU(b-q0l89>1@=H9|5d&THiaRMPCl-a{R{lS zj`AtA!=@-S*wNi}^4cvDli!N+PkvNr2UdK($P`O>279_pHY$cRBlJp4r7`0TR7Co_ zxj06G%gGHTkY>`-Qf#4y9DfJOv``YcXK=7<NGK?BB+B){F8WsPfKrTjd;0iHj<0|u zqL4~mlq~5T80s48I(bbcBz)#nO+=CQarOY^SoA`)p^jy8e$6!$YkWNYyeA7DF9N%v zq3%B{PeAezNY*iA^6L5}VEL~Ns3n7sXK;wCAGp1g(+COJfTkXleCh+rR^TQKe<Gwh zkZD1!4t%{Kl?tR<y52ei<^*uM0n38R72C--+8`y}mUh&d&DYz_)6E}Vqm*>cgp~wP zBS6w<W`uQ5L2;+Aw;#At(w}_ZpJTFj52Sii?L{k8z{<czxlgw0gT%f<zb8uE`Z@af z2m83X20+qCKct%2H(@SH!21Wd`c1yr0<mxRL`W^QaMCK6?;#NYQU$ec-((+fBy5;6 z6~%k-;__mP#$;G=Ibqr!Sc-rc6cFU<=mIJ)!7bn;Gc&<vt)H<M)xLo6AkPqR!yZN5 z<ymV{9FJreIDu~7I){f5#Z@2`pwu%N?5YLglXd4gfUMjsIbV_yRx&`G22%?5r^V!1 z3t~YEC$C(11Lg&AGzPhXdk?U*dSvkjWoU&CGX^B@7^0(4nweKpP*S9kR+OJR+3}+G zWa*_bU?Y{6p|&D|T*LgmT~S&Qr<S8Od4hZ)sZ#;o<jGkX3Ue34VxM4FSMSMhR;~uy zVYNCLHAsV9eLyYTldF$|<;~XWs-TrC!I1g@;qcV-%#_IwL#@CXn%C)~7wjMnpwi|3 zI!Fut!g_7=(hSt0^>mr6xdBq!iEV5|iJoBB5FdYcPf!X(`0V&5Gb}cNs}N9^*JU%L z6``@k6&8WuhzWKL2|yI>3X}J40mt;@O<OI*F?|{YuKJ|5g@8RLwH><}knbvYDNJ6% z3u%Eh?Qljf+=E?1f?R_^MX1y^g~?(&A(pc4!l4jiBBWj0u^Xe}0hxwb@o?@n#AYp| z;>q3%DScD+>0t?dP+f9hAEa%vaX&^~66_j+T9+6ffRrX02eHK^$n}i}A#s^^s2e3S zVwA9^M^O8bAO&uaek80A<~Vj2mP#RU80ibnt+3psbK)mTnHCI@cLX)LH6~Y|i~`4A z%PA#Pmw-BIu%6ZG)BP|bAo&E|JOXtfI?h0%V#-+qlyW%K*D=_8^1HK;PG!Lbw#nzu zRl@Qc*r}m@V3&dnf%QTPE=)&B-4G?v^2FdW+vGPskeVa#5^8rP)X&#H)DPk*Sa(JA z$~qJmA(x2Y!fx`PtHm%CmS89O`Z@+oj=rHZd2ceu<ipn>!#*FbJD|ARH`EWJ4AQ;` wzv+PzcA!!aR6c_SRNmcu0<!>YKHLcq$=Q?l-d=;+_5=?B_yt3~eBn+U0P2x%U;qFB literal 56726 zcmdPbS4huSC@RfU$jvUUEKW|$$<a&CSJ2HdHd4^dFG$TxDo#<*O)Sb)(9OwAN><P< zNlY(RfJ*3q#G$(4lZsP7I$>O>5-dXTiAA}3>G@px`U=kZDX9wSsd=eIi6yBi3Q3g; zB^jv-$@#gtiFqjsiAniosn!a`si_J<u8uCgu6nsCdI~Q73V!|}3a&1mA$nX~`ugel zR!OCqIVmtlDX6I_Bo^g@jMqky0J)Zns~|BsJ25>~p)@bEf{QCNw;;c$L_vd#Qwi#D zB`!{-(!Aotv{WT7O)jpo#3F@w1*n{!Yf({NKFCsq5D(8_1vgJ0R|U^t1$S3J*C59b zR~H4RNQDp&R|RK(UtdQ*7X`-<FgL_Mz#7@zTwH0TdC3atsU_(}`K1NL8hPoNDGHf+ zB{~WqhE}|LW=edCrh-NuL@>3eNFlYTD8EQkp_+@c$UsLSUPmF-P{GO;=Cb&r#PVQB z^l5<NDIRWid`VGaZb5!dW?pK1VoFMpjzVc>UP(bo5!g~q1Q+6Iy@348ypq%+jr7bE zO-&sI15GZ@JOx{jJ2Z+woXj+k&5E`P1|YX^f}Caxa$H`%Yf+I#s-Y$qXDt_JQEEwP zQ65(<BmnWd2<9MAxTfb@C8y`dL!u=<r7|xuH#1oQRX-x!6qG<Rdd2xlAiY$HlVXB# z0`f5;GUADd3%Hq7hzqiVAEzUT41TzN1q6%w!C#)3Sz@A50Lu;K#U+U)rNs(b@y_w! z?2%tkl9``Z3`&kV3Pq*Gpq#7~1g13=G|J%`Q6mX!j)CTBGe~{`TZ}t?3Nll0XBDU` zHIY<6-H9ZEmc1Zu2Wc^YWHPYZsgcjH`h>_x2J2OTkkpUd#N_1Ef)Wi_>=h>}Xayyf z2j?eeg9;|cyh<Gf5F;lwPeCglB%G6)r>UTk1}z$ik5fpLLaf6br^R?;r#KN5HL#Kr zE$*O>)YR1E;!I1SO5upztwhEeM6&{vqJF$3W#*;8Vh!YX1=R3B#2Qkhp+*+AQWBc~ zAaMn<g1DFhIRGi*KwMBV(d6PJyJ*B_IgvpR(y9O^s2}Xf`FVM%$?*IF@+l2M9%{>g z1wIb@i41?JZUq=k{a7f@PtHy)(MZY9P0WNg$4V*-AQezSQGQ82h)G&0h2B<!Sb;kR zAa)}q`jW~5Bp%omR4j|IJBP>!foN8MQq+%*^wbiN+4+ciBqy~jH3t+4ItqD-xv3CV zSz-=GUMWk=L9befE~TKY1cdFlV+*-j0lN(;sz44z;+7@mAn{O3RSk%9LDdkY&2DIb zp*xw#7)AIQ)bNIyMVpp4)Noi`0}ee%e1ZZF!om}?(CS)KL4(wIErzEm^gu%NkI0T! zXhcGqd1O~oxSdF3JR%GLwcw#aO@nw$Pc11(O)Ub&7`*9LL~L7+aKxb(o=Dc=j=MBG zt@k3L+j?Zj9UeCl8F@%1fN~)$fN2wbptM29=!01|n4=Gu8;OrTm<gchgR`k$KL%%% zmZapD=fTR*jQny?xk*Zy2x*ZQLk+?mE64?6Mt(VTu!!tTg3Cf8gBYe=0nVU);DX{U zwWJ_1vxq=@P)8vxML{dtC^j>%#Mp?az(<s8(6$D`GTc!>RLc-ig`u@D(jX&zlvYgO z1~Mp6(A`OF%)t$SHXA`^(V%22N=+_HE6UG>*GdHn(XmODC8;_JX*r-#ZSV*aNCoD& z1V|LU@d)h=pjKJn@!|plw8kg6bDEQyr%|A(U<VyJjV~}zutig+p;i!W5DOYYRY=V# zP6dy!VpkVmm0FY!Qix+b7}~prrX`ry(PIdaG*D{D_yPl@b}7W&NCM!{LgJ$*tD^i| zP_q@<9Mixe4eqg1ZDbjj?}$u)FzpI(1`SG%)V!3Ed|08JRGNk@>6PT8B?lr#RtTiG zq|!7(DK4orjr25!XFvy<<ch&Q#+~4hYY)uy268u23PVqECHY8_pn(x^f&%BVR6_+a zCMU4FmdFGI(X0TasGoR1=`y!C9hQ1>i_;afe2ddFK$AJ(kb&0lSPLY4W8aXP9%?*s zQH7S7bBoiFvpU!{prHurOc~*D8IjQf)eX+ppfIC;#DHR)h7kibeh@|s4wn%bF;Ly$ z3`3iU$xbax%`4H!E(GNa9fjnK#60knFKAj9Hp8i-kOvh9*ZW`{80BvsL>R21Br`WP zzqCX_D<m^FwYVTPnWPC?)Cw8mK-@8#U5He`L7a&s0ChN$2-ulOe2BY|1kmy=)Gy#E z4C>@n>^>qgML;wwKq=~H)KZXti!}-oOEMISONuh{(sdL-LZHDUP%|AAqoBb!^pPW2 z?WzT8CUSAc7Z~V(=DHPZ6`U$dQUgkg+=}vZgTV%Z4TsJ`6cvH$puEf+a03oH7Y>>h z$5U-W%3_E^ai<HkXarT9_#+wQD@uE2*d0Y=)Iu~XKq=}+Z5qU6c%z<}XeAg8P(yLY z14?rlEmEK^0M&~WjojjJ1d-tm)vW-dsUPwM`8hcnX(`1DS^@bvIc_OB3V9$NN?Dni zN7^zLXekNF3?K_|M*&)>r==8wLLAoV067IIXMo})zqEvUO%rTxBQj<{S{1+q_2a}h zF{LcCI8`GF-oHpn%}6W*Rf8C#5U|1xH6X!_Xi%3giD1Wps@(=il;=X+k2}^uB_5*J z3UMb=JcE4;ie<8gp>Vi>$hd{-R)Enoh~b?4<ZO8S4vk0!Iho`rrKs%8#bzb3aR}0@ z05*XJqfove(-T1@Cv40KBMu2xPhhtt=H%cGQ%FZlM*+IHi2U3DbuGG0qy%MRP7WkA zK@1vX2+;gDXq^P2%maxGogxq9+SKF{^dLr*as<jekbcUFJdg=kTtI9jL$xd9!WcA& z<l@S_WO%8EG+>L7c?M;z268>w@e9ez(5?kpqg%Py>?byML3$OyCeWfZEX@OzFz}ci z8qo=HG|3T4S&fF>QetBfqFW&sO4A^RLQDqLY#5P9xI%+##tc+Y6-MC{71Y;QYE06C z4^)96%%VYdD99{GHPR>mPaVRRJcF}8*4hkPup*`rAq{G<iI{;3>n5SL{WS`ZyHH?@ zDIGh&YCn;o4%VvxA*r8W-BU|aQu9iR;Ufo#Ss7dddxYv18cntk9>PzD`UQ7HqYPMJ zX;74=QE@B~mve}WcbIn2QVDPr(IBU}r<Np_r)UiAI8QE5!5!l`A{kPYQfJIJ9UO@0 zP9Q#(lgm>;aSWoUpT9HnlS@G3Q=p<#N1-US5bQ1;g~XzCFsq=Xi1dmIY$&>i5iNC; zTvn8dJcyrIlul729jnbSkASv6;n_L`)~f&^sUOgwF}so+joeI72Mktg<>#a*fJe=B z6!LRYz)L5fb&ifgUTQf^E-$qlBnOqkhz|k<Zf+*QL8{!$B&rTm!DhEBi<3+6^uIAP zAIPmp1661hZ+;GVEe<ps(3ea=LJ+xbM$?{`T8=CW2~~=c8zfTEQ#z694Wb#mH?bs# z28DM4X!MlO&@+6RPDi0QGd(x4I9ow0I5WLCwS>g2l_1|F=Hx(Q9&9&yxFAXZw1~k! zDvhQXK1hwzIH*TJaSdt~Q*8weR!<Qb*<ig25R&?Zi(_(fYBAc(T`p+XFes~FSy~4x zF~DUHJ!b4cyRM3hiB1rpf&r-*0C|PdCN_2#5E*+A&EUOb#l<wps*WjHpk%F)lA2SJ z2$?!BOUwaR3aCODWk0sw4Kyo4x;BXrqlpfBuzjGc14=re4bW)WFFz**u7sklIu3^s z8zT^JDL_r3L7X^eq+}L>=c}QU;TU00_gs_=auU%o3C%>%B9QFCZLF3O8B1Wj3J{X| zrJi#Jxbux1N5qVI(yh=-hPaQ^2!mxju;(Z(_Hej?==cLWLIG+DO>$XoehO*~f=YX^ z`vybBm7I~AkEi>HRyabl94rPwKA}7Uu{Z!6JOw311bQ@J$16ZcT4X=a4hodjLZz@H z2|x#QKvp$iU-(VOJeXgeM{W)*MLEv^eAWke;-9?Lv&k7)oI-R==9lLwfK8xDCM?R& zFG0?QgQ2bixrx-6qr9@iW-HN=1k$XKoB^h2kl}Lji&LQku^16VupyWX(v3Sj!Gkgs z2Ol;&hz&iEUInl#X^_NSN(&Gnmq+el87ZX&#DyTp25KBrg2h52gEOVHKmmlQpA20} z3yd^CTYVs7hVZ@ps3kqY^q5jwV1y?yLEB>xJ$&$128y~H*sLQyD2+g2X+)cJX^at= z_*${VgsU-W;R<W6fZKW$jfbU_7GT&-d>|Wx0@;`bf$Un5S)!2)8V>=tNvgRxp<U#7 zC=KZ<r&eU*SziLu4{FRorUszPm64C`!ls=_&x5oofC=hnS2xJuMPi9YN@fwP;6rJ( zftsmchZ-B<OL=tc?m|Zq(_l`=ou0vdLK-R}szHvL;3;4Kh0~qjP$k?>hwE2BuxOAF z!2NJUEl6T{od(v9J0_^ofWU4EvB3y-p#sDV8WbaL&~7j^2=V0=f~9mC)GPwwiIGw% zS>S}rPU3?XTtk2Y7{Z`Q8U>99z=|oPl8N*NZyLDcOJo3pYyy?;6oxPPeRYUyL1CMl zpF*3&o1339Bx?b1JSO6)ng>TEfWw)@=Pq#kKvO_s32o8<XvhYZy9kcf5L1d_8Ph;C z+rf1LtPG>>Xi6G*Fa$k!6Cc>1@f3&|Gz(}vnGHSY@zo^*(Cz|<E%kC7X3Qfc5zqpE zDwMqW<$0J6CMh{2mVoje*c@6U3GfPDSk@!^z?n3VG3cotDKwFfaH7I-Ggz%7HdH}Q zRREhni|_<>VUqLn(%`Kz&|yrVAqh<d(5Y}B7GxVL;uvDWO9azkrV<&%AUmOn7qm;3 z8bdxfoj`1`!@QsXH;ER(4?1%g9`qoNf>v+|C<l_!Py=ZvGQiRLcOadh$!dy*hSET$ zpxaMuXoK`BfK8xPC?}S{!x<E{(Aj7m1+dM~Kp$lF2gqrlw1DeSb<}nN_#AoIfdd+7 zb7(js9M-4+cSJxr5Hc)7_AECz1~HvXN-6-=9}thzDkY>LmSKY|g5<cgV(>~WQhW0t z13+5Ii6W3*>f}017myO-X~mG7mqv><Ic}gWJ<yy-PMKDjmyBMfpw-iq&bFk1T!?N5 z(cxE_m#hFbfflK?q^LA6Ik5ybTcx9rlbV-ak^!oe%}huMP1r~v%s_PSVg@O!WPsR+ zG&Beiu(LBZqDFav%R$73KTN+u8k|M_;S~4OlGOCf6b(>_!>8mCmt({exElkc7c;;? z$re)Dg5;48cE>U(o(^#Vx+z445>z*6`8(Jy+JsOkB!r-SGUVGs2nJ9o=n4|_A`}ro zAS035ggC+niy<V056BKsIDu%Igby?Uk&%AV@rMq`M1rA%#SG#D2V?{2j+abYjHtP% zmK1=(26~-_rh*2D3o7D>>UW^;K?5CLi^a2u0uFM!1}Jf9a&dyKLJB;x8$LL!B|eP7 zE`gdtgQ^4^%0&gBBCH_22z;bGDLE9R2fgrtO!z>GFpxaqA`GMo-4s$nsHgx`gn>+< zQ3ydwFnCHNzKActpG83?BBe6y1sE1HNC=!v@a`s%MKmeB3JRcM1F``&{R<rkAXL1A z^rA;QO5y>TNjP{Y3m=djpzH;rX%j+4nfXPTC6yZG8JWr8CYp{yc?RsphJvC@Fq5b< z4P`nV<Y=hTn1KjurGf24YNVBCfDWw$b?3nrBLyx+B^(ZSkdREFCV=xXj7^j1D9Xvq z%`8EVjGW9|1+5^kFsLDia?KgGA$lw|3&c?3qXDhgos$VZs}>Y3ltcq|R}dcw5dEMi zfU;;40VRn^IjNuurwGiVq(+CBfEn(fS{zaVK~x}DK@^2B*v07fkr2XQ{ooLWuxJy) z;H$_qpoI*UE6NBDW?)O>U{lfkj%YtYiWXSGgO<XPZW^Ox3OGHr1Y#1pGf0R6us6U_ z0AbN23W_sRU>C?~DrgkL)@`E(JhYl5c!y#!wnhXjpi!EwAd9F}rem>`_&^4^19W8z ztvUvv-CX%;DT$RDC1vpaT;vwsaKq3O6(Vh;rRI_{@bDa@grTH7!D%(|K@B$ol%x?H znxty-d-7QN;K(h#(oB>a?69|kv6w-8FoA4HPb~pa)DIfZ;^NejQc!1AQ$eF75p;KH zib7I;eh$vA6iQ1j6Q&(A0U|0gn6b8CgEfi_K&QKcS`1hM3#WlZh8JAF0)j>TQ1i~r z$$=G;;O)_QrMckk+Mw%ygEQ0f5_5>k(kNk>or&*6I!Iv&D>{oa)ALGmL8FzF)JfQE zBr=>qS{1+q4MMlDG_@4m%z{md6H)n~1|`@8d})$O_fBSGwTRd-1Z!4+m_dW?zYln^ z2J+?|P_+QP4HPs02JZBtUG_!CH6@U>)j42SV#XCLsiRe3=#zj{-H3(VEks5qM6&{v zqJFmU$;`_}jm(_Pylm*CFGg`g?RbQkX9ziX1avTfA*A1Li{&V9kh`Ge68T4YgA5@% zRiIBC8-iOsP&biv1|T-)5SuVS(FD>@i#(p0mz@aNpa&}~QI-OLtc6K{*wExc&s70* zOgYdwL6Ao=XY4_RALQnCPzaH*&;Vo{e&yig1uL-N3lAtwZkS#mA;Be<D1h8elhvX= znZ+fk@GH`i5|guY^3y?sAsD3)wm~SAnmPw;6z+VEe9aBiB1&65*sUZwXhB|AfS5sx z{0v$_fm+IgL?8<~uq@|*WG(|lu}te57IHw&!5v=&YHQST8DtdY1vAJLbO#X|n;^Xk zU@y@iE`77n&I!>`0Bt4!yKOL>V2}%PA9~0kN=f`t3GxZ0IT5P^z`;X!XB1ek0)(V~ zTMHa@cvfkHd=GZ$povG!$^sFSWbA^Vr0xPo3Z{F&;YDP`CYC^=mL}DgZ+2Q{T0Uwa zJIEpw<iLT=nb=%FbPR$tE98QMnI`2b$o!#`J0Y&c9i4Q~p4c5kQtW~=D8w9^#Bd&- zvww6HQd03>$wIe7WOB3fC_V%T)^A8jEu(0QJyy369jSTwDGFc{Xce8r<<~(Gx6p1R zI5;rtF^cL{B+aR1p!O4mGch>aNJ_MWvvMA22Ph4q-Y+pPzc?o~wLk+j!2_A_0^R)w zTKAh)l3$iugb*XW_m~GW9e3f1)`|tW0@USzWjZwJoK%RTKuSO}6lBkk;dB|1F$34H zfM8L-nd@Hwx>FhXRzGk%2z&)uL26Mh*s<UyE^G`5btInJy-%#u$|&On`30$DAKC@- z8`6RzkOx5pE|sPNu(=EzeuSI6Agu~uf;Lf1sOTM(@eM76LBT?^G8mi$AhWreT%1%) z2$(J=At@x5fD;2v`aS`PB^ltok)Sb9_+T(-vm$i-4zyVjoE`=`r-K{_aw*Y8JKD?; z$WNdOR+Ebp<R@yZEy3j^BI6dOT>;LZes(V?N=;0G?oHBBD1cvMn4gwboLT~kWAHAU zJP->qfrHot3oFf0>qPLmhM<cA3kY3kSU~zo@%RdSXaNBB5$;5QGB6KH0*DqC#L=KM zfDnU(15zyj5diP~q26)eph!S>GO>vSq*np#X&N-g3d)Nzk@j8<i}V5Z5_)JOVti00 z5Ug${HidvSD?p->25AJ805M7sGOzTZcbNfMQULM+B?*FR1pzjP5E;uLtqNd*`jtdb zYGMj#au9V0l=!=Rs5QI-sc;O@ZjFamI7z7YK^ZF8qN&tSODavnQt4n*8DEuJl&{GJ zx<wpcrGrR7pa8<1h*0ZD^sVXf1%^mf45%Ig`32P3pw7iXpmc%FeI%qUkalqT0yAir z#_;q#MiU(3S`=7}Vs;!5H5qB+#5mF*ythN$l!)nW64PR02|P8@q~jBm3hEF*4pc2J zDay=C*HI|RhxULlMxG!g6LHh(paXBA(`7hUJ3-7NZuL|NsF(r`JmEBr;HruuuxH6F zy)eo)@bVUlhQqKsi0C8&iaG^|88m3{K#~UNFqNYGT-ZPtC|04V1C&r;!ox7hK>Jyc z;Kj_xi1G&%Bq*(EjD%tU8aIUvt(N5DR}4v26pnx6ay3aw3taYq(in|Op0fPxROGf6 zMa2zh@PJTpLqq`qaucZq1ZYV=)M~QUP!^?Pvz6$m0%=x&m_dtDAQx@5&LD^-kdx>h zN!TnUHjY4g6^g(l^_!Hzsj1oUjwxi^1~iOiW&+xkoSK)M3gUq}s;T9uvZzCupyq!O zX!Wuo@*yYCSq5lfm{XjZnvFZ;!3CQEqGW_vht%YU2!KbG5UR>EK#l~BM}az+a7Thi zCe2JVGV@BzOf-rNHEnE+jTCA?o&oU<K-~sVbAYTYht(rQ#wJ*=0)(VRZ04jUmuP_Q zLjaFA7b$4Dr39yz=qQxKS*dUqXx=Wrv;;C)SO(r+gLMoO6uI#_3aA?sQRB8a6=X5) z$jt-CF02+qtK*80YdADHlshER<WlkIgZd4m0@TQ&PQx6#FNutKh-L*SMT@wHoIV6T zx(C}X6l@h3`o`X3><0)T@*Bu>P;R5JiGjl&qJt9bRRyRiG^n_OQ%h1o+Z#aysL;Tu zw}=f)EV~qu0uypnE2T{UP%vPzhlIcc?Sq7xLYu$@ZHC0PJBrAl#Cuu~=(Z?$FP!Xx zy*RZ5i!H>5BglskGiVcvIr-_Cc^aTbHMAFnkt`v7V&eMPAakHCPx5=k#i=D=SK%)D z(F$$QbP{z65UlnRA6a1Spdtjqph<xYI;{z@rxnDbq%Z;L#~se7n^{3>LBR}-V6xgd z#gHSn(5)msh(V43g)o?=O#nj=he1BT1%A*4_)HsOYeHyy1~OI+@;TIGbl)RNZ|sNZ zz}h$<%PDGQ;&B5BF#z=iI2K@Rn#4pAsAZs01S$f-O-~S)lEe-+4|m{$EJErVfNY~e za>r^Z@u3aY4hm`rgGS*DYL^s&YHUb2Ls=MA0g=^e5vYlSC!8To6j-VTDW*y|Q`BAo zyBQMBAm7s{oQpw?7En3^C1V{0P!fZ%KoTGp`9Tgc0Z*7iS~Ku4N9BU_Qd+PSrGiXB zcL6C09i$%;17H@dq5ykZ*HI`2#XGS@JC;sPQ7Xs;^Z-DV?V$XHT)d#>0+3!RL;;0) z0OSg26o5j5Hc<dR2MxJ)rSy2T;?xqzabmawAH8BlYe7=ucr=`@AR!Ncg9aP{5EgAB z0DLf*2K3xAN>V)7Al!itu>n-JQ{J_Qn1yZ^2|){XD>!H&ESdx@=uj@uF|rh###NkJ zg5_W=NJkVBjG%KQ!Gn<+MWAsgO1h?4Y$85LK}T>wTuYm-DR{gMas*ca@_-`hFfoyB z61ZXLNeEFuqm>CI1>liBNSIR+$T+PgKB(bFfD$l*Lz6TNsvkjxKLrH?mRblYn88QE zP+@=yi!H>5D9DGPBeiI9ejMl?737IT)T=%)+IXaluux@M5wxA2=zIVjU4b<n(Q*mM zC~!WZXjA}v?+ofG?8HW8Nn#1)A{82BhLXgRv|?Nl3A*`Wa6~1@C8&Xil-p2`a-dUW zV!DWg=u9gHM<`A11PQLp1udjQjZ=^aHAX*)$(xY8PTUG3kh`GSih|Kph>xk1-9f9> zKn*&mv&b6*#O@+uQwT)2LNS!4LAHmOoLHifpOXTLQ)t@IQOHXz2QTge_0+*UBw31z z0;omMP{kS9q$Hla)N+vP2pNg3`Gh)d2@4H!QxGiBkovx8bqF|7K^;m-io#qJMOvBy z)g&<A(xORQnU@SYl$vn+6)gg=-9rRwKT+B=#d5(B(E*m1tN^;ahz7wF0=sz#lzib? z4|4YpDC2=QMxllwBwr9WMFlbyn$~dUGd!6By6^;c<qxTu0%<V{#79WE0wMrii~@>Z zs58mR61W^lWCX*sE5I4lFK0t@6N|Go@>0t|G$>{@6+k5}f`{W043yka3Q~?c7NDks zsw_xu$<Ijv=|DcN9n0~ySWP7|=)igvAS4X}Ef3TxKyJTKRPj)l8z56#rC>MVjs%S2 z9=!gP(iD!}R$?Ow>|_Oq88j%wLc!+a*;D~OeGr=H2dpqdjy}xF6VZtPH+qmtD(n#o z>mh=@M$uR{Bw8?CL{j7?mO!JICaZ-*^K$b`^B^aB!Ye7T&j(ASg55`IrbLZHNRdhQ z*jFhejL_XcbS#2>pa3<62ALGRK@+}G6}HJ1v@#VGhl70EH6-tXy?`FTh>VM}L=x2Z zM@WHoyA^1HvMF^IGGcWJkx>oSs{kRXUuEXzCKhNUrlb_XTmw4P27H+%G_~s}6cpuy zH{C<d+l9nFY%57YelbV@-0Un$EkPK9T5RK6(P{~aERaKR#}&whNM$UfHHahtaw8HK zRMsGKLHC9uwJr<tk&k38$S;PqD>b<|LB6ns`Gdkq1Z;kS8O_C|ub-Z8m7Ja*pP5^b zUsMvGQkj>So0+VTlbMtp57MdtCTI}nrFn#69i!cZr_~RQKd_;s#~?+sG`UzUB{qn` zniU{s(4YhbZ--3HgO{P8t)k#v$2tmmAU0$Uf#en7kl+RxjyteXiZ-+c33wMTqNoEo zh2nxvUtb}_!!uaH&C|zK!82IF-PO-E$T7s#MZqajA;iN~!P(!}*U`^K!7&8P4e<}K zR&eoG@beE*aCPwv;o?dw%}a(9a-gyoR=j|MiE2RxE<%T0n3aNNyz+|iw5CA{iWRh? zjbcMGb5kJ)mw^gMaLJ94(dj>20QUjzxFM~Ljh5iS{s&FNKx;G&u;&rIUh<o8Ad^8s SkM3|H3m~}16%Z^$X%7G(Xl&>J diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s deleted file mode 100644 index 9ad116d9fbdd0bcfdedac222c9a64199a910c7c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26255 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 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 800aab6e3e795daf1d3b6e5e5ab34a5242b40edb..c96a505178f9ad3fe0fcd0b937b09c10f6439858 100644 GIT binary patch delta 5043 zcmaE}lX>}WrU{B0)u%H`1SOUSR~9EH=HzGuM+V2cyN0+2`G*DsPkzr>F!{_a_sM+B zHt33ikrWwEUdL<zR@lpuECe;m3~W}oqi2Z8WXB4L$!kOTCp)pWf|X^lMZuJTRXI94 zy9R_z-YBa&Nl<ID9lIS^l@f=a0MszBDko1rm&qGt#U`)k@B%BC$r&h&tiajd&(GBv zWDY`&Jh!(fn*W0RoxNQ{CePr8c#dC)eezbGL~*D|5O=$~hJcj$gIy&yIfl0iY-0ys z8mhWrbalFu6ZvhyY6AqqrO<44cMS<}bq(@!^mUzF7^^l(Fbb@aUkIB@kp1W?&k37| zK-~!rl3<U}5EuV&KX9<Pidcb-ljmleY$)o7WI4o7AOl@P0vtVqCePs3pS<aU<m6wX z5VyV*dnyVw7os-E)j7;9$lrHzVXXM%g6Z;;mq-ar-gAL}a)AWP<WPweutlkocVOWU z(G~3K=Mv%%cFYY^$;or162R&fNqfQ6fn5zU+&9>L@<v%ms9MXS%7ctSmcJs`4bu;? z$J;f`)h}dnxBTYGXKwjSeyPxplAJ<AJbhh*CkMuxPrjvS4|c+SB?p)hU?;di)fC36 z!PQu*_@Jb>0Dm8!$qz-PC&ydMOn$230XFEY>S`2&d>viFJcC^)pEH%6d{E65tY*FX zJV9t^f-Up)@ptwHt4Pzg0ISH?)JKU&unI>XpUD?OJ;4eNXst$75D?@a0!rH;d$wx3 zfE6v(S&3>-aHO9z*q*7n5SP^IEkJc`s2_$~YW3JB`xz*Tp|}{L4&<VF1~y>JdJL^Z z(2{e2XMn5G<cFe?lX;9F&i-Mv9mU!1t|2b2ej&loWF$2C*<6UjzL~5=Q5X*@b)3Up zCZ98fq^%of4k&)}^mh*N0UHx(4l%;f;vQ<6jgJqG3<jw>XDTx}-EtY&*_*A>U}*!A zb^?&1bq-j`JewYv5^!{ZN~2&<^3j+q*TX*9#>E7zEY8jiB`h6Xyg=y;?EjZ`kd*$( zz7ECJ&K@qFL6aYz3kRDp#Sxy4!4^4txcNA`Lu{IN2@=c^&fRDx`1-p{4va^2i?Hhi zG*zHNATVBYvR$O$WOg@Wuzh#k>QOxA>=ESe9|Ctyi-#tvAwK@Wu9GDK-N2d;cpCB} zCkdC(fXR|xp<p>~ZzBOTIitz@eB>s#*h0c8!p9a}f$`*hKJj4PdwqpaBwZssLni<5 zRRT-y@>>c^iIDhmgG7g8$Yg~D7L(<A_$S{Ah2-hO0a_^DbAyC7%mXYz<|s+b4Hn#> zBCS3M65Q#*=ICaC!W*RIL9jL0MF&Hcpr$i7XAfV07c36ai(s34I?N2+Kv2{a#!5{7 z<_gKSdJ!uz4D=88gBoZX83DG|G0F%fcHF=j7vwNlIX^Ml5oQiJIk^QmhIlyp`?-O$ zNzGJ9B`FYVj%rSDh-1j)!q_CREdsHuldI$Azyb;y<RB$rMQW25xU)|#s1={Q;Rwg% z3Gwb=O$`awC^^9mq}~mb$svY*N<>XqZs2kW7B70q)@I0w$1Nl%)X&*5#8pS3G&8TH zprlA6Ek#pD!2rR}NzF?y$<UnqP!p1{XQil!p_N7Mt|6}Oo-UK$rl^74xF=N^o03pZ zm&tr-s$eB|(v;Af2B4;or^{rWbcl-Y>E>7r2>{s>n*qtwv6<MM65t*bFnL2J#3}Vz z*z5`LbeViU3u4c#Y^;WWl)TM`7_ukF4c77iM>eP_5#;F~<QWn<xnZ}|WS?9}bbII7 zqBqstT|<I=JbgVwCO7Pc6s~9TO|U5nadh%=oora(2M!*+LOX1VLW3RMT_?{iOa&|2 zSY(PN41+ygCdX!oPu4Dm<WzwYQ)$fj0+pWrZZ3|IlMgCNO`co=$&u})*g^|A-WHW< zp`?4y;9%E~P*9}&D$@tM>PEQ(N(tlb>Ekomu>w+fnN{kd<WTRxP}fk`$$gcO0IaK; zh$8Ld>;cNa=w+*K%`Frwd_4WU!7YyVT1c^xRQDg2Ng%ljq{1;|a&P?-up6&8pcWK9 zp1~omkcOOJBcuUr)YOBLb$vkjY;s_{{p9(vkaG54Giq(&>kX=J&})mGtutUw0jC|X zDrj-DwGGlDnbwY43Ho}wdAj*yR6JpwGht-~)F_ZLG_x$ar=Ymo*V_+Xhe0YA_TGgs zV<3S8RsuCfu19#XLZ2l#l$iQGQR3Rq(a%5F$JI4p@<Bz}$<z9y!KxNan2Qn_{sFFj zV5j#@gv9xR2`rP_CoO}80>n;`DyWrx6GbL3oeU}6CQX?Na~s%;@KO~NtguqGXxbiF zDuEal5ajCU0xoz9ri%+Am0kI1X~n4}li!&_3jg{Udr@5x5FX?i0_qNkPsXov;;gkO zo<y=xbaML@2T(|CE}p}~h~j#XDp1M;2S>yL@yV~}LR4O#C&>saQ6OG`DFuhgRFH9# z(-+==c@rEKL9XB)38-ZaOXp3CKfq!LW(-J;W60zMOCW|kT#DKZ333hd_jZLhLpqkD zwwZ!_L1`G)X3|<2q6DoiAjbOyySjQKss>0^F?s7sB{p!CVKDjnN=QaNvMN~)MQ5<9 zkE?SCLTldSj|no9t5z=nd-cE?UG%a(7+R;utcA4w53FICEVxb+n=(-Ol(`O~ENZ>B zB3fw&>MeV^AgoT$oE(q@DJK?eXheyyVAl{Ie|Jwmc=!ZvGQ(mcxDo>OtIutMn6qiK zD=a#}Q5EbO5`bJmEHC7n?7sz)+5300PIlaCERN~QAaEtxutQ<;)lHBh2Bdc7HtcFa zzUJ8;0uI0aoothZc3@OK!LA`euEC(fxnT#SjoiP}8NFVCD1w-#Fj;vQIE79Y+KtsT z)T(Uq9z$%VL8`K^dmu^S-CjNPS_;&02iL&TlkL19gBRBOF>0w`*AUcNYTtfHEw$-@ zHWm{>KHxqGDMo%A>_*A17-jeV!>GMhkODVQX8=*WPda)RR#-sdG}0HEm(3@`^53@O zKVkU~S&d@|ILEV|gbXq8ol-(|4XCFG>)M%~?ng<2um;)Whv$^}VQn(>HW<@c1C&BO z)YmcCdveTKND8}mo^7)2xk{A6Bh(M<cv#N9cYZpGtq^H&;bSp*-X*rl4=zAjd;2e< zcAG-|eEmcHApV1Oo9^Fao!oI5wL6Slu)<5o$yry6VeYmB2biy~W5DE%*Oew~Uegvu zD!2>siy^I0gUJckAk~)Jbq5q5`G)#IG>3t+z}g!gD1i(rP(kB7lPhk`o_znNC(K^3 fwJ_JIZLYZG&WPIQ0S`|21w+F^pqYQN=^cLn+jhij literal 56556 zcmdPbS4huSC@RfU$jvUUEKW|$$<a&CSJ2HbNX<(sPEpX!$xKRC&@D+!FIIqx=_D5A znwcm-RmUe4r+{?8xKKq{gyO;a^wRUW^z{{-^HWk4(o^$NixNvxQxuXa6-qKv6_WFF za})DY6cUs2%Tlcsic?b+f?OS4d|mZ&Q}h&E{1yECLlj(HJVW%jxb*eY^R1FfGjmd4 z4pUH5QvllmvOpU}3gTuiu7bqm?8Nj`h0?st3NEh9+=Bd~5(Nz|P9>=GmAE*SO7n^n z(^8eVG`YCS5{ne#VLsJ!Eh@^(2U)BT;^7&r;O6P$s^A%{;O^?@8sr$_>Z0HjsSx7f zs^IMJ>+9&}qTm<;=7#tOSR=cgiz}@(FIgcywIsbLzqFuOBQHHOMIke<L`MO{(294@ zOo=biRM5zS2&NVlDWnz^<rirxRC93_8R#g)>nNleDp=XVTozxHSRM?CJPlBM#ly{x zFDXjQEy&Nw%u9_=Oi3xyQ7FyKD=8=`0$Zwy;6gmD7m%NsSCU$!k)D~Nsi~u2pvlFV zr(g?mhei>IlbHsxS<zO(0OS@<kkf2Ij?2q;Eh^GTHPqzdtmWb?N-ZfZ%Hyhq1R#DF z!5jn%*Ytd=<n;V_NVLSKROTh-W+p43>PLi|f)YqZuQ*=`q?amjQcN&TKt4u9Mm!O5 z0XLHhaY1(Q<8%a(!4KE3fM8KS_{$SBOH4EhV7Z~ZxFoTpv{*qa-Z>teJ@N}mGV}9_ zLCH}^p{TSNl#{iBz_g}<Mmby~Y9wLJG0^;O2FWjAi*d(KL1qf>tO9kVCXx!MJCQ`t zvKPedAT0)vOa^v4HS!r&pAZ?zV7&?ulKPRGn4FwiP@(~gz2Za#t)Rs6;QZulP{HJw zSE-`_V&tUeDQLxmgmY5!G!-<`phY9`aSDl2h;_K*v=~q96eohB23As{#U0d<nwpwi zoM|akDIBr8mB?6wXjXty)Q`8M%)As>tbzQlfEpf%SVM|5)X2hCN<#A=B(6YK5EoM* z2Ovcphzm+4np~V@7me5~Co<?kS{1+q^@BY*KQAve8J=H2KBYm(Lv0zbz{g=fk>L;3 ztpKB`9}C6#$=RtT8Y%g?iJ8#mSV?68qyj1^$}h<WF-a?>(A#PdD{#jE#BQWSUs73s z!~?s6ie(XY=MWho5X}luiu%!!o>~GjJ0DSx<fN9R=71tWM<FjUHx<GvOU%K@D`kl} z=v52Rr4+Q4fUq5RY#~=GV7DPf707`|+_J<RBpzz1ssV8>s2ZZQ*$oXabSD!TqX<8P z8s1Q|Xw&kB8V;*#z@Z0;Pf)-?Sa@O<T3u@@XpkDO#qd;x9!QA(5!vwyjYvo{kL*ec zw-bqsM}z^O7CbblX%LU;sU-!esYRd|gE!rZh;8c;jyUwf6UjQ<ahHat^<G4DTaWCx z!{bIGBM-?0P%eZ8Fm0j_ls4!XeK6|=bM)bIBk|D(GXWHRa5nYp$KZ_8l9c@NJXjf; zkzWofH%TcIAuaM^s6n`61-U@X$S;Qu7LlDva9K!X5W}=9z!}sJTu{8FmJ}pr77=I< z>L{e8C}>3+#b)M}7#k54_=s{1+SWi=hC2#~Y8fJ`Ftip%8f1iz(uxV(Kn4X0x;u%D zIk*APW+TWf8kB5BsmWz&Mfth#TB$%GIyR}YBvnTtEeABZ4IW_vslXhU0EwbE9-+Mf z)G7-+UR+>+*7yW>PIFT8Gzv5o?4Tp3@dXA7wrJ`!)C!^vVnIWw3aL58so)V-?CRpH zQj79I3UQ1FLwncIv;^}ydJG|w21*SXUtoaLE`_)oNdO#LNPP5URg|9#YPLd~V;Web z!98}WjV$Bx9g*n|rd<Kfph3xznwL_N4=a?DO4G0<y^?&i<Uqv83W4;NRGLO8#U+)d zk)G!84Cp|UTrt?kxDy<5?SYxzK<-9LVdyEYBp*o<G%x~AP~cpaYN$ZQ<OFut5}AM? zniZfF^%D;$UFH_2!%|Ofak_$*Z*h7CXfg*JGSC_xYk`Ds>>E<kLyadcs?aiXZgDzt zRtLKVG!#LdDI**%BQjc`y205R6lT<q7*LGUFk+y_55kDS;W8p42C5sJVQ3RE*{Nlz zc_kXzg`k|FqmZ1Dm<OKn1x@S1W;k^e@}T12dLOI<qx{W-2!mCWWag&kmzF4Kg=FTY z78j%@lQcn#S|LLmh&yJp3y}&qh%=D{pbke80Xq|k4{<k=09w9<`UO0NL7lvc-A6>G z2#96{C`J8@S_<-Su|`2+NrpmkNl|8Ax{d-!2sD@kYNmr?6f_uzK5_)BU9~{XL@v(w z0s|e;T(^R)f>UKlYCuVmTTy;)FxWt_;m}!#q9RZol$V(UZoon3!a>vGc&bfESqyO~ z?sS0`ji8DXe<Xu^MQP6ryQ7GVT8L%^C`J9KO@o*WZ`2bLtpuY1YAEh_Kxr<cMGDjf zpn8#_ky{*&ATr#cx)oqF^+UcOKPN{cEu~mND<D57$1O!iArHhuDJwJcNL$7NEhQnD z0b~L0C_oGKw3K2{h{HM^Ag3VZ3{afpmzGekX@bpdM8*tAs{)vyew_Fwrj%tCr)ng@ z`xi;68Hr_}Y7k=-0#>-81|+x<4eIhG5$rfnwc7xR@?41famPBS#6$F2A?`$qXRvQU zu}t<b6b=^<8Mjc~3NV@mF`Sd1oDGlPp%JMdCzBkd6qTL1*sLTr4ncYqz$VaO6v`K5 zdLpRggpE02#38}z3GBASoE+R?3h9XHC_on%k)Io&u0^+rl%Pz^$$^9>h(Uu40h<2? zt&>2Mc_5LYQ{;hMo0?pL9>j=JjzF0Q(ob2D2QmSR3y6(msCI>17=s3pTwIx#3@`PN z25d1h&!DW;K&~e{ej#}o+O;5SbSoE|{lvyDNUs9e1X`4arFozd1|G9RBRV0DCOJYW ztI@DqN^C4bbSvaSX&U5Eh{>Ru4I>f>S7>m}n1Kqa!YG`gg8CXujY(SYfhsVBSv1HF z1(^k@Mj8d+sYBS3XK?n%TAN`DR>U+Sq(Kcf5i?L>-6YhuzeWLa7Yb}KrDF$J?I$wS z!Fm-SB=r-ldumBaYF<e(eB=NzD}!rbk5Ju0qsbP+L-^@Xzu=B&lmQDY4T{n<Dvkx> zat@L44$}@=Dglln8ss$h)RN@#6pf)B=gH+MxMLhgBtwc)>WulOg98!W3B<>8a(N0U zjzJXl^LJ)`atUaB3RHCJC={g@g59N~kXV!sW)+kakzP@O4Mq1bqNR?K%ZgHw2k{e& z(kW`BW3?IP5zzK0JX@#0dKDlf^#d9-W>=D<k(&wXfWd05{G1d8@Tj?tLVivPc<BVR z&e2iGOD%`V<)xN`<e*X*@j;-#&CMh@NR^wJMAcy`*z9&?adHWs{x@dk1GyDxpbD+x z&Cda^#es$c`jQDq2qM?bXxj5q%aLUvp-NG5gG4HNN+&YCK{SK+CYI#TpztmLjh+%3 zdWKKa=_nLurspOWXDet0XQmgYmXNr$66Bl2oE&J(gY8BS7eonw7BToorO_0_2dQxy z2lWUju0hRWs;!{G>M0^48?09WLQ=nQaZFB5Ek>KU%LVNm24xj2OY2}I2Dt2@$BZ3l z*Hv*b(Fp=nFd!8JAg@r`#K!IdB4ZDt8N7F_xR?f6)iEUtl&m#UQgccYAyemNi8<g( z0aXa2?8nx-fo4TW*Cr8SG|@p1whxqbKuHI*0U9m)<>#cpl~B}G$KfzyV+7(Y1*j=B zh!f|Gl*}UVd^L1393$-Mo{N$}P9i!cp_vF;1d=_tjnz^jV+pKR0YXy0)N{@NcfOJ1 zh?p@?x)plK5ciQ9VX%w`_8g_f9u7AU9e-d)C_qi2NiNIHPeF}AP-zc#-(aY?k~4Di z@pK>23P)&`gT)}oCzMAZ76*WXr=X;WK#vCOcm)Vai|hy5L4mSbs1$Z20qB4Z$f^eH z3%}`@2lLDG$jyPJDCZe~&-wsQ{FAqOHaP=}Q;3eq{PH{nun9EDghl!JCCIsOFw}J* zH<221lvj4xY$ZC9K$;bjGr$xLGF(o6aVm5m79)ZPHUyJFx^agmcu<Do;KODIv7raj zs{nQ-4U)J^X#pbS^2j|bBc-%}xDW){K#gNcuvkcBaHf<ND1b2alc7s#fsqDis}E$% z5Wcq`wWKGQ9#cvSjPL{|XnPEzhY#M$Kv8!Cn{~tor4cABjcAiDjWGffUn`cFa5W|^ zTw%=>a9fX}@vxNA0t~x}4`gFdARE&lkX<V>OEi)}<00TSNi`QIw2K@Mr6FDA)QU_z z>q|iTL5(@c)Btq3GV;+~*t8Srd5~5GFhTw7>INCSNG#Dv$t;2ud?>9pP%{<mP-7!} zDUXibUFaxc8qDdq(=*slNJB+LHONsDJmu@ZaJmy5s)XC=aQzAh77Y>txF3$F1xYNg z)4<ws#{^Xx5ZEmtHW<M!RDhU4gJQ%D+6{&VA-=pqu#`@NnnfTyF;Xfe3!HG-Nqq2v zYY0#PLl`tkqoDBsSTTiEGLhckO#^p)i40(nO`y`9!tf=(uMTl7C~R}{Q)rWTbMsS% zWGw)W$3#3;^Wdlia5$6r+y#ywXbMOyp-mb94cWkQ7s1gQVoEVAV;YENJGf4Om0{E! zO-Ta}hM?ze;sYBro&qt0W&w>Sv!Mq)zPe-p+FjtVrCyH1jCrIa0$Sitg_1YFJP*^s zBqfK$5>Va)n?s8v0baoi%X(xVIFkl420hgyg(mV5PE<H<2CH?%hAPOZ3Sbjx5uTtf zOmco+8oV_II*bW4B%!GQIu#DYf^0)Y979ZaiC`McR3d{IWG6K7f_BMLW5@@m6Nn9V zm=_e_Ceb4JL1zxbgC4|D&<ZXA<v=nTY9Q@I1~^*(4x|$_SxwQ<P#VY-bo+@7ZIE6C zunDvZ<-`(rID?`VIvcH{0Ja$#=!2~O067hm7H}P^j@m8&pCb=Da6kiX4h=_y!x|Of zjtD3RLWX6?p5+F|Af}T^Nd=(#1LAR7rGzxZGHj4VkQ|p*3|^^4YHuE707xr2Q3TRU zom_|M0#ZUetr(K?(rB?J#|^Zl2b%N9Dbp(RlF`c)w0fG-*_Jer3(@T$I{Yg0k`=%v z&?2>#6qV*BCzilwt8^4{QuESFGC-BGnF$%82{RAfw`d^>D-|HNfr<r+`t!JKB{qy< z`W4dPEb0%LxTlt+re~&TfI<~M?T)wrBc8zh7a+Zup$bZxkP;Onk9>GLmVxhdhzrn7 zAu^Ppx<O0a!FJImgi0YH1nqYr-w;ADfJ#BvjGz~jhyVf^iPY}H5k6Q9At8J~c7VbO zMAIaEpb3bK^plQ1bU-E&3>_?H5Fa=o8$kECWYS{P%ssWF02DURD>F0|G(cQXF-BD1 z0)3wu=zv-*o<)>mkQ+2WiA$4<6KoYy;E~<9!C@`&VGMQ&)D#+27vNAXDgYH>1?ffL zW8+E5p&&izg%4y>2U3KA<OvsHAXVt5kP<>g1)w4fWD1Q!2vUN<QzG$2d;$I}3NjHX zm0>Tyu$VzY;ADb#Fo7(hN$FKk01X?E4X`O*XlI{L@eb099_=WJ2V^GU;GryhKz4w# z7l@`!2o+`K7iE@IYLsVWCWD({Itt|(uv-}liZa1WqRKRsDRYpcp+;i{BCItAwi9WN zwmbuLFeRwV4z?I6a49O`aJYknWC}F_oR48_nnXuYPG)Xq336oQWacVp1%ZV@4LOvn z%&-l^W2spnh7unQXg%wkOz?TMplG2a8nC;9_(*{02SovtMVkmHNleN~1ywjjU=}4c zI>ZFba0k`mkO~N*0=WvJD1^Z-Mz@cI5C-c9hcJXin-B(HH>LqCWUyRAMtHyiTN($O zitcwr`w3FCzzQC;6pnP87$x1p^wbiFN$AcXAqv3W07n6YMUyBf&P;(_5~r!4Q4Cv~ zjT-RKYLehRiN)9&5wL(pX|{qaqEeZT#Zuw}8RQPowJfyi7=U(c<)@`2R%(=#!S`&D zTX@3_Lr+wQw2hXUOUl4QaF7y)lJW$n)x-xi+z3#TMsR47s>$!kW9fq<xAaOgQEsWj z-VVlM2JyiJvLQXS1Vm9kXgrIHQ%g!gomEW*jgmyr{iG=hN%{FXIJ;6PExAmXcFY8b zsK{W(+JX(%C^7(@;0kInU<oXo1`-)waQzAh7WG5TJ2NK-R!D-kK<Aa_g12OYF8B@3 zOwUWqAu3Cwgk^RnzEkHQg(a-$EY3{NE6t^Js1lovM20g+s{)vyLFg8irj~-6S+I$3 zA}Sx$pah$MFHKVEZpmz{77-hUV9g2;GicEL_W>`+K;EDOsurL(eu4(Tz@1*S3%%&L zZUnM^ItT1Z%(#Ljb+if$eWH)5o2{_Bg~;fHXjXty)Xx?^nR(f$k(ra3mkpiR#VBs5 z9gh(63?YY$fHwadLi+u-SdQxkxeMA>CjYo@kRfEJ3iQcgLvX7H>L#+z`NQTMViN`^ znn3z#k;gOhvJ)Yj@L+`{%5*=-T9^cg4NWfeocX6?%7N|x0C^O1RvuLNL2hRUg%Amg z2|&i-R}M~IumTIdxPa2+hUo<o5?o@50?6GoSrO`!SzM9|zXmNSF*!RYKOHm}f>8=# z8-zlssdK<a;m+sCSJ^-<qO{e6-AbZ^7UXpWh#9oV&!ANjsHHqe1hQxY%aRR9<}yGO z%e1~lAqV6f-0?-Awni<NK}JztFoR4%cM!3$3DT<o_7V-^(l;CJED#+9(1ro9+Xlla z1-T&ip@$rzl*AvEAfHg06R|n~96W?~KY{fsKuGGhwZKt_XC*es_h5$(ns~&lED$kC z#!d%H>Mn4kV7dn!UPMN0VhJQ_X;OXpW~XJQ<)ap|gDgTp4jkB=iOmH>#~?_vLM}L% zX;Q9&%pW?r6XIIj(Mk90iQPdY#V$C5Ld>B_4CmoF-$zFwB^Cd*D|9<3CO12e;)8x* z{f3m(GK#j*V|5GBk(!sEq5w95R?$gZejOBX3++aNg9Ec3qo`g*(wtfbYClmp6NAHz zq(nP7E9ZfBdD0;2{Sx!?i*r&_3p79zJdg=5(EWa(wY_O2`DLj^2r<%ok9jcDaTl&= ztyqvNKwS=4rbCm?NrgBHqy#iWLG}z8PL~lGGjRP12p095x&8&9dy|oG?gO`jz}Jiw zq!#6Z9Sd&a!p4wLN8+j7`@}k}j51!3Uyw@n!CWA}AuT8Zc@R|KQfVpxo6ErAN4Uug z(y9O^XcNVRirzsP-_SxB6f86=gTYAvGMlT(#Yx44faziql0sq$I5E(q?-P(%k^$cT z2pR*04+euaBtpmUKpPUl>0zLAI>><_ml9pHqs<I~`~<3CHMuxJexk<O5?oFqGHzko z72pi&XZM1l)Wj6%{v#cQ0{B&h`DtmzsU@H|2JfWF1F;|zIEam|u+kj0P6VG_2)Ycg zfY7Cd1*D$_kFUUo764!$;Z6i71M{FHfM{Vs9F0`sLjnPmC?Ksa>fF?T)q%t&2~cz? zfK8x5<Ex;&C=+Qn)v!nnU@r~o<bc(M#HI(ZW(7#Z(I7>Dk{d?pK<1S^^ezt|%LPC_ zpd|XKcCJ4*hY%UdAgu~ug8CIeP-<cdXyOlbc$4_Mc&IgW0;x<4(QbW*S0+iQ_c<9V z*rKV_P)jOJ!&0GOQyE{CT9mKJ1-b<sUxk85K%fA^orqBDKlH8T@dbuRRSKw%0r>^g zk)Td>0!kOy+($y%0%-@QFEE34X$()lVl=@at~G(hC}yVs(N-aC3>Zfmg!g2qn-VeI zO=4P1EP<y+nsjP{QbCP<$bqQEB}JKe={gD}`Ow}C#;6jcWFl_L9CTnUbSezzN+yVT z#I1}f0TolAK_#4~5nM4*1okYsr58ro241>C(NGt52N9h_KvAavF@pvT9!Syv9fner zp9>qr0>vscb$}8IOn4Y38E79061<rC7*YO!f&`^2g^^GUKx3k?VbhX){E8u|3ew90 zC3mux+~IOHNl6P__JGnDjY^)f{OnZZwiZRj4QOD1P;o;<0ReIosRaaRxjxitG9wF{ ztwcu^NV7swDwv`{gC!SjCC(s-C6JTo9!c0NB{q&gdKHSmB=ut`I5jmJ-Z6!Y(}0Gk z%uGN#j#KlJQ$ajXM>Vw^RTg!al5q1sr#Lk=8+W*)6l)NhkXrlY86c;C+xl>KfCm=M zOf-rpszk9mi^!M(>s5e|w1}CU)Z`Kk(A@;!ap58bEw_~5)Dj(qayTm$&H~M^<(HN~ zCiTj|+hDMcHR6jXXr)!03bGh?ROO+>6<U2&gj`#p$)Vimh$fecM<3L0AQhmvrcNUp zyDy21d5C5OC`F67hnx}wK4J&kZV_yi5&8z)V(bU~Ale=v(-DKRWH%RZ*h6$sg1xE$ zHH8LE(csjQRM0j=5CJXCPzx_&0~5<`LZrZi9GgmMbq)#!EcTEPn4tZNP*Z3Vn4nFI zxOOoS8I*WW)dAhy1n*H(k}9#-LVP%ad{~@X0-|V=zjN}_GxIb+4P<DKh@z$u$Q)=Z zlKdWSacT+JRk(|Ov_cy+?L(ac1gpKoM;2H+s0e{DXcA$dQ<V^VPeD9N3KNii+~JJ6 z=@g_E6wJ^FCaarJ3^^JL-Adwv7~}|02!m<b1Tgdv7vzIh;0IEG&z>Q+CPZ1e0`fW3 zWOUynN^k6k-oSd@Aj?6GPf7|SkQtyeebC)NLJUBC0geS2n<g<)1Zo**6oJY<aMKgS zr6jR~%|rJ%BJe>LAvN|vwoxIuW3`m{&<1M<1vP|0qi_bbONu}>HYA*(ER3pv$ZE9+ z)WpFP&X6VwELDRPQze`!YOjFZ3<+nD?`agy#h^wDD4l_lv5o>Li9uK(2@s3?AP1R% zC(I$O8F-kZazT12Em(?DL8hR)fRuy|(hrFNFpE}EfIY42C=`R@o!FusODCr&6=VW> z03a1FSd%?0MnHP05Cs(G0gx-8Q2+`J+C%~PyfWn4mC|F(ic?D<$9~}seDsPHtp!Pq zW6W^6f`mK(4jOO-Kv=Yi0Pq1`8qo8_C`s{PgK!5r#0F5=PT@=dC}^?TMMBVm^@D>J z!lFsgf)39D9rsGXsaeITC0Guyf^<Y7!3a9<5j^Th;g}<Kn}`om&{0_sGicMn2amTw zj>;-P9#AA})C6uA?&OMACX^I_NBSUPPDzs+r`5y<HQWeL0!DCXl7>O`BdGAFpkTmK z3nA)3NHs`>0V*uE5Fer-AA*j)qRBaLpgT>FCk0Wj-N0z$K~@kDw<3WmQ-q*x??mSV z=;#Wpp@No6Kt_S{2}Pp<;5%SYPfI5@DoYYeAeWlZATyLCmZTNqib&8c6oVrwK`ucJ zJfz%)dgKC~A`{a^Bt&OgF*rhLaz96KWiDt@9BQ0`M5r<PNle~^<aOd!3xV7P%~lkQ zrb2v7rR)w`c?N3GL7he37$9~R5t~9Fx)q9{G!3#n#N@;hjr^PxP@F>3hK@pBYB_kJ z9;l}d<{`;aR1`ohf`%&2$R;K6<fWE_Tt~=AY(qMz<Cd_{AU6fU0u5<s4Xq9VCn~5z zDM?Y73!F$xQ=pmz=381cX)E)RL5D{ZZoi^M0Jb}UK<y_=o2FPU8zMTu@{$!m7YWfI zm_lH;0D+P(JnKO&=K*Cr@CGK-Fofg_IyRtSH}jC2Cm_C|v>?Uh3L+yBrd<Kfpnh2z znwwaht&x{n4x&M^r>OucRS`TK7gC_)fKrfh+(8XB9Tb|79Fd=s0@8tebUK!!X0e(| zWYB^2DnLjY1X>=b=0|R$P*k~q@)5Lj#aXiutOiQKZo(Z27)3gGy(p-Zf?7>h!H(Tl zVj~IcWCe&BG$^P-!RF)H1OYw?5Sr)*xWIx00%iq?=qP|2Hu&mjaD>8ofncvuG+vF% zMI=RTVhJ>QX|lREG%q*5G!JsRCcGj7`+TrOD%gFbW=hmJgcO-%k8hPi!U)|BM8_i7 z2MSPAXpl+48!F)|OJQ4JK`Ti?aX84gKtpz{fxUnpz=({CvJ4W`zeh-ccBd6+g0d-f z7As<P36W6^)~f&^sb6L0<|Y<sB&MVk!CV76U<Q17Bs8__C=?XsgEzoK&c21jK5Xkp zL4Gkv0Nk`JN-aScf?8}7v1%3M5ZrMEav@R~3vUKO9jO6wBa%F*tU=}?-_u=?Ukr*^ zkZWyW?xk=-0Gr!kMssoL>!;^iC8y`dXXX~<7nQ`PROTh-W+p4-WF{rYgS0Au2^z$0 zX&#~2#b_T9Y|rF^4JAFMKr4UAE-bNIN^B5=U912xg9arfc$;Es9=xmsZQ%s(2G&u? z1F<3V0VJ>HhLm9-!*K^TN)d+Ek_7LrMHFcur-0HuMFpC^zCwtHXRv~sr;n?GXRw01 ztDkF-V~DGZf>WeIh=;3!v%jyeqo0d{V+fcV;vZnG;Nq{~=O3cr>f#x~#g$f?mkcS) zKxHhf7y$(n)q)IMR1Ui^D+SG7<rU*;HG>osD`-U<#fD_&ra}%20~Lhe5*j0;)3NIh u-IoCO0q(dVtu2j~;KBX}O{u^t1+eE4y<4(NADj*+vH*hXS3s~3r9A+u<v3{o diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s deleted file mode 100644 index 4efeff9abbf49c3282199483249ed18249ac9495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26257 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 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 c9c4ad0314f98ce210a47ff2c2cdd2effca85593..62192e1de2a75541d59040fdf66ac39432155f1d 100644 GIT binary patch delta 30 lcmX@o#ki-7ae}2_W?phmX-cYsZmzMBf__PE!N#CZEc3rzq3 delta 38 tcmdnf#dxHPae}3!v4xp_W?phmX-cYsZmzMBf__PEfxfYY*+#EVE&%-u4DA2_ 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 12ff3417c5fd4f9d0ba9cded79f634d60ea733cb..490aab5d215e1e427f32fdc61f8f55c4b552a0fb 100644 GIT binary patch delta 28 jcmeB5`IkJwQZO?wIj1xwRY5n`%tS%IB)4E=*cL+oqQVNk delta 40 scmeyD+?6uHQZ_L+#mq!MGcP%(G$mC*H`mNWLBAxoKp!l=(QAt#05Vq&Q~&?~ 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 c3fb5e77ab432fa2feb02d2d58f7389f6ae12180..aca17b6fad41744561f8a0a0a2bceefced07432b 100644 GIT binary patch delta 23 ecmdl{zoCADB~NBva!zSVs)Bw=Zox+1Y<mEBM+s;E delta 31 mcmdl`zoUMFrAT5?u6|}-a!zSVs)Bw=Zh?McQSL_9Y<mFCQVd1_ 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 358c847a40c5fb71f64b46beda0660f8331e62cd..54b4dfa547f1bc48c5258a0e5d86d9eea73e6283 100644 GIT binary patch delta 13 UcmeARZ3>-WIniEvV}hO*03~4r*Z=?k delta 25 ccmZn)?F*e?$(mS{Yi2UhLI%Rv7_6@a0C129Bme*a diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go index 81c4849b1619a9fc3eef885e10b7d4119e236811..44a764c9917c1184f4baf2dee9cc1fbbf9f0c7f9 100644 GIT binary patch delta 23 ecmdlPyfS!#B~NBva!zSVs)Bw=Zo$UT6iondhY0lm delta 39 pcmZ1(yfb)$rA$tKeqOqniGF5Ya!zSVs)Bw=Zh<~jaHDIACIBlk4rKrU 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 202a57e9008685943e499f0dd880d40469401606..65a99efc236be115b39f06c3653bc0878fec9350 100644 GIT binary patch delta 25 gcmccF$#}k#ae^gJW?phmX-cYseo1b@M*l7s0E7Pt<NyEw delta 35 ocmX@#$#}Dqae}2-Ze~HTer8^BPH9T2f__PEfj&rNqidH70QwjWv;Y7A 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 1fbceb52d7cf6330f9de65b388ec600ae05c5147..841c8a668206b17d7e765b81421d27b39b7e7243 100644 GIT binary patch delta 23 ecmX?@x;b@%B~NBva!zSVs)Bw=Zo$UjJR<;g90@!C delta 37 ocmdm-dN6f@rBrTaL9v;Mer8^BPH9T2f__PEfj&fRqidcK02DM0-~a#s 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 b4ffb7a207d5432ada33f9b53d27325ab8ec2d1e..e26a7c7658e9bcb0761972d68ceb1e875e349d2f 100644 GIT binary patch delta 23 ecmX?^x;=G*B~NBva!zSVs)Bw=Zo$UzA|n8HJPA+$ delta 41 qcmdm<dNOr_rCe@iL9v-hPO5%pUUE)pN~(f>Np68YOmw4bkr4n?x(}8B 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 867985f9b440536f198aebe7913b9d2e5bbb47bb..26447260a9ef196769d160436ff1c8aa4834334b 100644 GIT binary patch delta 25 gcmaFZ$#}Vwae^gJW?phmX-cYseo1b@#^62|0EIIN_y7O^ delta 39 qcmccI$@s97ae}2(Ze~GoPO5%pUUE)pN~(f>Np68YL~NsLp9=suM-OTM diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go index a8cce69ede2f39bbda15524c6043b3a53cd1033a..26aefc1869aea0c4133da3bbcf7c6b7b9df55a35 100644 GIT binary patch delta 25 gcmccK&Un6^ae^gJW?phmX-cYseo1b@M&B-H0E27^+W-In delta 33 ocmX@#&Un3@ae}2tK|!*9W?phmX-cYseo1bDenCO<M%ON90Ni*CzW@LL 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 d44c5b39d79deb495f93a1e66f0966648c8622e1..8d4cd9d99d48cc614de076d0db232b2a390eda1b 100644 GIT binary patch delta 23 ecmZ3GKP7*HB~NBva!zSVs)Bw=Zo$Ste{%qE{|NK| delta 35 ncmbP|zaW2tr9?qNvYCl~W?phmX-cYseo1bDK3Hg@tG_t_?$->g 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 4214dd9c03a7e323d5d46c37d014ec87c5bad5a5..3b405d1f82a8132bb93a2911aaf02ccc7f38b23e 100644 GIT binary patch delta 23 ecmZ3HKO=vFB~NBva!zSVs)Bw=Zo$UTU~>R+9|;Hm delta 39 pcmbP{zaoEvrA$FVvYAOvs(xl(a!zSVs)Bw=Zh<~jaHDImIRGmE4q^ZR 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 3e594a8c091026a390df22e1cb05a72c2e81226e..3a9c96b28820039df61a8cb7438b519bff2d8258 100644 GIT binary patch delta 23 ecmaDBaxG+nB~NBva!zSVs)Bw=Zo$S-K`j7x$O!)c delta 39 pcmcZ>@+@S6rA$#~adMfNiGF5Ya!zSVs)Bw=Zh<~jaHFfB763U>4u1du 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 7ea465204b7c4652b2a62d7656db3f629ac94ae1..8ffa66469ef9abda828d8e7386722a96f07ad67b 100644 GIT binary patch delta 13 UcmZom`;|Jua-zNT#)M@?04#+C=>Px# delta 25 ccmeyB+LkuKlC{{_(x76Zg$#tTF?hKV0DB(@?*IS* 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 92f628ef4f23f6d6468db18dfa96a9819cdce9a9..6a39640e76daa2423cb8ee2c4b13e9eb9b038e87 100644 GIT binary patch delta 23 ecmcbac`|c?B~NBva!zSVs)Bw=Zo$UT783w@?g@+l delta 39 pcmX?^c{6i@rA%=_Vo|c0iGF5Ya!zSVs)Bw=Zh<~jaHDIB2>?2k4)6c~ diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go index 597733813e3788bc8ee2e7e9f7b43b8b9b44a0a8..817edbf95c0ab9c0840cb99449f356e35e23eea4 100644 GIT binary patch delta 13 Ucmdnm&-kN{al)I;nv6Ye04=Wt_y7O^ delta 73 zcmey-$GEkhal#uLeSHO&)Pkba<iwKH6f1?$;#7s4%%o(6@}k6og4Cj7h0MI-lGMZ$ ch5R&yl+2>k<PwGA%Hrh2oSb64jjwy%024DDi~s-t diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go index 16af29189940e281371e9ad5a767d1451c9530e2..ea453614e69770fc7186ac3cf3570b5b8e0f6502 100644 GIT binary patch delta 13 Ucmdnl&-ka0al(hqx{N(;04_5I2mk;8 delta 73 zcmey<$GEefal!{1eSHO&)Pkba<iwKH6f1?$;#7s4%%o(6@}k6og4Cj7h0MI-lGMZ$ ch5R&yl+2>k<PwGA%Hrh2oSb64jqiKi02YHBoB#j- diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go index f59b18a97795a1ab1f02dd5aa3ec107462bac4bb..467971eed661aea5847f7cfa9b127338cdb24918 100644 GIT binary patch delta 13 Ucmdnm&-kN{al)I;nv6Ye04=Wt_y7O^ delta 73 zcmey-$GEkhal#uLeSHO&)Pkba<iwKH6f1?$;#7s4%%o(6@}k6og4Cj7h0MI-lGMZ$ ch5R&yl+2>k<PwGA%Hrh2oSb64jjwy%024DDi~s-t diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go index 721ef591032167cbb39c47f5c78a4d9d239b6152..32eec5ed56f1a20ea2d3395b173b55f1e8944869 100644 GIT binary patch delta 13 UcmaFT$GE(Yal(hqx{T&-04!PshyVZp delta 73 zcmZ49$M~d=al!{1eSHO&)Pkba<iwKH6f1?$;#7s4%%o(6@}k6og4Cj7h0MI-lGMZ$ ch5R&yl+2>k<PwGA%Hrh2oSb64jqfeo00|i!8~^|S diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go index d9c78cdcbc45e9b294551b1cde3f344115c87508..dea0c9a607d83ba6357e5685e34b44dee09be5c8 100644 GIT binary patch delta 37 tcmbQ``^tO6Il;+S1pjTW5N2oM)=H`@N#){nOi3x4tj!~{d6nn~0RShx4mbb+ delta 80 zcmaFmJ<E5)IYG97lA^@q)XC=r|M8Yo7Njb~$3sO-h4R=-GxJIcN{TkG5YlE6g>tw! V9aB<@6rjAxhCE`Me~Ek$000&-A0hw% diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go index 26991b165596b2ea8bbafae776a147bc97eb7bb2..da0ea0d608a89431a8b6823419507a32248a74bf 100644 GIT binary patch delta 40 tcmccYyU1t5a>31O1z8w3M+nC;32G%(mZWlVI;Nx)DS+9VPm6L00st#t4Uzx= delta 72 zcmZ4FbJ=&pazVC$lA^@q)XmEUSr|Fu;~~7sd_sBbrI~pp1tmqB8-+TUM4=omPREp# NA_XXKvy>=@AOOj98EF6j diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go index f8324e7e7f495a678a138c8d0e5cdd6ef762d566..da8f7404509c06a159a34c46539159df0db3a526 100644 GIT binary patch delta 38 ucmbR1^Tun#dBM$B1z8w3HwgPOa%&}3mZWlVI;Nx)P1fO&+5AI9RS*Cj*9|oQ delta 72 zcmaFkHP>guc|o>-lA^@q)XnDwSr|Fu;~~7sW<q)FrI~pp1tmqBR|=Igib6SDoQ^3e NMG8>fW<wEcK>+Mi8c_fM 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 4220411f341aeb90ef5627d11ffaf33396dc56e2..d69988e5e58e978ed3464eda9f6759e362a16690 100644 GIT binary patch delta 40 tcmZ4M{l{~|4#Ca)1X&n2X9}w`3Th=)mZWlVI;Nx)DS+9Vmx^!*0st~P4V3@@ delta 72 zcmez4xz>Bb4neknlA^@q)Xh5tSr|Fu;~~7s@<Ms+rI~pp1tmqBCkX{Iib6SDoQ^3e NMG8>f<}bn=f&k$%8hii% diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go index 0660fd45c7c6f76e440a5e2f183a3230c1b5253d..d6fd9e88382e5e035e486914f6f24597e758527a 100644 GIT binary patch delta 38 ucmez7ebj5i9>L9r1X&n2=L$zNa%&}3mZWlVI;Nx)O_t!1+5B0ASr7mpE)4(x delta 76 zcmX@=_04<39znK%lA^@q)XjSYSr|Fu;~~7s%0hYUrI~pp1tmqBrwO$(ib6SDoQ^3e RMG8>fWH}zO%}yfBf&f=08t?!B diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index ff6881167d97978bc634c8cc4597e3ad1cbd205e..f6de1eedbdf60549d65d5030939686697cbae28d 100644 GIT binary patch delta 30 mcmex!itq0Uz6};#lQX*on?1VQJ-Qj&J-V5;dvr6KNC5!jB@CJX delta 138 zcmex+g742Mz6};#td2phej(EnIv5qEe>la+DrUjO>FMU<7#{$Zh<9-fi+2hQp1zTr zQDm~gY7TB=OQ-_(pvj!=8eGPSP=3f{j&{xI3#Kx%@PiEq3HFcob&QA)cAb8ZlTmE) bgL7O=#>veFUF`;4jO_+pOxq2*n0=)HLSZY^ 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 2636044018f25aad10ccbb98b869b160031801ce..7551af4831817e4da15251ad40704972fa4cb75e 100644 GIT binary patch delta 26 hcmZomdYj0nudk4tp0A*ro}ZGMRy<KzaihmR0|0*Z34H(n delta 51 zcmaEx*p{TMudk4tp0A*ro}ZGMR;-|#pOlr7S!AnUl3So}Y+<IKoSr|CPm$T!!fd17 Geggo;bP&V< 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 8187489d16fd20b8c953b1e29554259c470f99f4..3e738ac0bbf523542c0b627106cddbe7f473f8bb 100644 GIT binary patch delta 26 hcmX?}yegSbUtb|PJzqgLJwGKit$3oU;zplpLjZpw2|@q> delta 55 zcmZ3Ld^}lIUtb|PJzqgLJwGKityn=fKPf9Ev&dGzB)336F*n7`L_aw_e<GhEE10uU Huf`An7RM5O 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 d1612335f4eaaf9c96c4756613359c67722a082b..6183eef4a40b251e33cb9b6cd6bd8da5d5561120 100644 GIT binary patch delta 26 hcmaEmcs!9$Utb|PJzqgLJwGKit$3oc;zo}d1^|R535oy! delta 51 zcmX?}_#jbPUtb|PJzqgLJwGKityn=fKPf9Ev&dGzB)336u_#wRIX!<OpCWT&QSL^) GnFave*Afo^ 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 c28e5556b0a590095c9ea074c369d2842b72d244..968cecb17e885ac8599924ee2b64c733e4bec8b4 100644 GIT binary patch delta 26 hcmaEya4dmOUtb|PJzqgLJwGKit$3oU;zl2F0|0|T2@e1O delta 55 zcmX?>@HjzLUtb|PJzqgLJwGKityn=fKPf9Ev&dGzB)336u_)KfL_aw_e<GhEE10uU HPr?8IA`}v4 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go index 187061f9f86ff5f77d4b49fc714e76057a1a4bb5..8fe4c522a9cc4fe855017d491497366da5bf4050 100644 GIT binary patch delta 26 hcmeyBa5I5VUtb|PJzqgLJwGKit$3ok;>G|i0|1Ae2~q$6 delta 59 zcmcba@GC)GUtb|PJzqgLJwGKityn=fKPf9Ev&dGzB)336CqF+g-ONNkIX!<OpCUVy JyHQWu004qh6lDMa 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 369129917aba25e67f67e8b75e85a633a3b982c8..11426a3010b59bde3f3d3b730780beb1238c8fd5 100644 GIT binary patch delta 26 hcmbQ2)SSepudk4tp0A*ro}ZGMRy<KfaiiB20|0l$2}J+^ delta 53 zcmZopnwO-audk4tp0A*ro}ZGMR;-|#pOlr7S!AnUl3Spkn^{n-pPZgQkx!8Y#NMcP G)c^qNs1myX 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 7473468d717f6eb29de8caa38d30d02fa33ff62c..ad1c3b3de59789aecebf4f8d59ec99d51bc64d59 100644 GIT binary patch delta 26 hcmbQ6_%DG^Utb|PJzqgLJwGKit$3oE;zmDz0|0^g2|WM+ delta 57 zcmeyDFgH<6Utb|PJzqgLJwGKityn=fKPf9Ev&dGzB)336H?yGF%tSvqJ%1vfA{&Ia IQ7^y%08610g#Z8m 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 ed9448524b89ba74cf5eb9775b6293d996cb108c..15fd84e4dd06cfd1a4e6d67882bec12b36606219 100644 GIT binary patch delta 26 hcmZ3Q*p$epudk4tp0A*ro}ZGMRy<Kdabr-h0RVSl2-E-o delta 61 zcmZolT$-q%udk4tp0A*ro}ZGMR;-|#pOlr7S!AnUl3Spkn^{n7W|EVtpPZgQkx!8W K#^0zHVgLY!#T2{% 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 0892a73a4b7be2f608e0bf31819623a73a8a295e..49c49825ab32cbf6ea9e017730dfb965bb563e4f 100644 GIT binary patch delta 26 hcmZ3M)Skqrudk4tp0A*ro}ZGMRy<KnaiiZ20|0py30nXF delta 57 zcmZoqT9%}yudk4tp0A*ro}ZGMR;-|#pOlr7S!AnUl3Spkn^{ntld7Mbo<EUKkqyGz IsCUx<06yImaR2}S diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go index e1dd483333217b201efe1d2aee2471afa239836a..cd36d0da26a87cbb0c60df94c7e00607b78eea53 100644 GIT binary patch delta 26 hcmcbSyg!*wUtb|PJzqgLJwGKit$3oc;zo}Nh5&-*33mVh delta 51 zcmdm=d?Q&|Utb|PJzqgLJwGKityn=fKPf9Ev&dGzB)34npdeX4IX!<OpCWTXLGnhu GiG~2%;}QY@ 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 d9f654c7b1273cdf0ae1f602985abedc58a7a39c..8c6fce039501447994d1522ed52a3c48cc6bb784 100644 GIT binary patch delta 26 hcmZ3L)SJYoudk4tp0A*ro}ZGMRy<Kvaih;Y0|0sr31|QS delta 55 zcmeB8T9u@#udk4tp0A*ro}ZGMR;-|#pOlr7S!AnUl3So(P>^h9qMw|eKao$770lVF Hci#X24D%Aj 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 74acda9fe44c6ffed987866b83dc99a7ec9df9b2..20910f2ad78c663be344e8127aba7571ca9e8799 100644 GIT binary patch delta 26 hcmdm#G%<-!Utb|PJzqgLJwGKit$3ok;>LhS1^|0q34Q<o delta 59 zcmbQ3v?)nlUtb|PJzqgLJwGKityn=fKPf9Ev&dGzB)34npdi`IBqvorIX!<OpCUVy JyHW440RUkh6ng*w 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 50ebe69ebc03313bb1bdf3febcbdc651537d4001..71b7b3331db7e82d4fa155932af886056a94c219 100644 GIT binary patch delta 26 hcmX?@ydarRUtb|PJzqgLJwGKit$3ok;>LhNLjZl62`&Ht delta 59 zcmZ3Gd@xyEUtb|PJzqgLJwGKityn=fKPf9Ev&dGzB)34nD6=@Z%*;eTIX!<OpCUVy JyHT&m5CCgZ6j1;G 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 75b34c259930ce2e21871eb540526c44bdd4cdeb..71184cc2cda8ca8427304753c05063b3995abf91 100644 GIT binary patch delta 26 hcmcbfvMYs8Utb|PJzqgLJwGKit$3oU;zl2CBLIPu2=xE} delta 55 zcmdm$ay>;=Utb|PJzqgLJwGKityn=fKPf9Ev&dGzB)34n*x1sbLO(e@e<GhEE10uU HkH-iA8LJWo 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 429c3bf7dd8a7375c3f20ff6129786a2c1b84bf8..06156285d9e7ee2409eae8121e9a5e3660f5a91b 100644 GIT binary patch delta 26 hcmbP}_&b45Utb|PJzqgLJwGKit$3ok;>G|U0|0@Z2{`}& delta 59 zcmeyJFeg!6Utb|PJzqgLJwGKityn=fKPf9Ev&dGzB)34nxFE48*~~;gIX!<OpCUVy JyHU^A004Ct6hHs~ diff --git a/vendor/golang.org/x/sys/windows/setupapi_windows.go b/vendor/golang.org/x/sys/windows/setupapi_windows.go index f8126482fa5aad2b66d5aec88594d22b8dcb72fd..14027da3f3f117cc8b545ec62c131094b35ddf48 100644 GIT binary patch delta 14 Wcmex1ljYY;mJM!po1N^ooC5$hs0S1P delta 14 Wcmex0ljYk?mJM!po4xEdoC5$h%m)|% diff --git a/vendor/golang.org/x/text/cases/cases.go b/vendor/golang.org/x/text/cases/cases.go new file mode 100644 index 0000000000000000000000000000000000000000..752cdf03167329ce9b6d1374022d185c96cd0b8f GIT binary patch literal 4991 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/context.go b/vendor/golang.org/x/text/cases/context.go new file mode 100644 index 0000000000000000000000000000000000000000..e9aa9e1936fa2c7adbfb498afca839f855100b41 GIT binary patch literal 9701 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 Ngd7c34{>rW7XXuzMuh+X literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/fold.go b/vendor/golang.org/x/text/cases/fold.go new file mode 100644 index 0000000000000000000000000000000000000000..85cc434fac0f67c6517fdec8cc4d521faf4c1776 GIT binary patch literal 935 zcmdPbS8&cRs4U7%&nQtaGB7k#2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDkLWsrxtT@W#$&-7nLX|rRV1)=B4Z97p3c0=$E8cl<1cfCFT{U<rn2D zadDMY7C>~k<>#cN7AX{$6qP2IR4c&M==tRr1f>?ImXxFxDb#X-90sxgsys8dASX39 zHLs)??4l5u$*DyOnRz9tMQMr2AV(J|q~vGjrGuTOkd~j5l9`vT$CXx^m#m;sqM(H^ zP*VYJghonniH<^XQL;jGY*J-Os*XZpiL1YxLQ;Nyj;4Y}o(o7iFSsZfWRs3UYEcmg z=ND-zRC94AD_GeoB<JUW{9Bz;Tw<jFGtCNQB-AV`h>^8ioN4(*3dwqTsTCy}VEvpR zN4k~f<Y=fRYjSaNChH|<q$Xz<<Y(rUXlQbA)^c$crIwTy<tZfV6{UiNYPqocC%7On zPXo6v2s*yFD47T+tEnku7K7ph=4MbJ5OOuxX_{Oxm**yCr-F>o$XCcOD9OyvE7n9x z1|Y?GnR)5(_(?4S*`cqm5aRFRZ>11ikeZyCn1d3<ItnEjMfs)a8BhZid=m50OB2&m zbzsW%LrROXGm~``@{71Q_4O5!@=G%Gz$}QVp0M<#;GCaZkeFNoHK|w+9sz2I)Kgu{ HRm%kc<^DF@ literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/icu.go b/vendor/golang.org/x/text/cases/icu.go new file mode 100644 index 0000000000000000000000000000000000000000..2dc84b39efad2d2a8555a1fdf23df2e9aa07bf61 GIT binary patch literal 1458 zcmdPbS8&cRs4U7%&nQtaGB7k#2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?QWG0t_OwdN~xC#=JvlG)(6_OK+Q;R{06+BZ?6LWGZK}Hp)Dx{U> zC6{F8=M^iI=a=TBfGkT%P0Iv1Ei+FcQK2NYxCCsIjzUsti9&ilL?k6YwKz|`1Y}!c zPELNgg0s6n*nO$RCB=H+5P~?OBr#o~I0I~SYF=?^QK~{}W=TeBkwSSQ$O(xh5O;tK zLUKxGPL4ueeu+YAUW!6#0odS-R0XJCz<yQ;@ptjJQgDTs2@Wez*d*r{6{RMZD0n)D zDwL%b6=&w>fr7g@wFIO~i%U5<Jzv4c#m&djJ=jV?HzzZ>G}F)`PtVjG!YNJGGd1T@ z&df{BDNRXLuqiG{$;nL8%dkTdE6vLUMWcRcaY<2TUOEoRlFEYAV(fA``N@en1^JnI zC8<T&Rg{9FD>tzKB&(&*m6=<RUsR%?<gCO6XP4#`C#Iz;adClyO(7-U(>YY5Br#nF z9MeTQ3YmEYr6mdwCu%}zg=#L&)S@B<D_aF;y-?SpqWmJ~{FGD;15GZ@ocv^nxN|Vr zTOh+Uxj2(^A)+uB#pf5K=4s^QC+jFU>y>8al^7evmuMJh>L{qC78Pl7ad9S<rh&BN zCT6E<M8_somZa(^<fP_lfE}c%WunQ&nNnN=Qlg>dte2dTSfr@|@r+&oBuq5al1kH} z4PrGlxj2i9(3}M^hKq|cIS*upvmU|?TwI*R<(VbP8IUjl`4$w83QB4DIVnn3T$~_1 zAg{wcQ(BT{;g+A1;+$BVs*#+l!^O!7avaESFk?YZPby8*)C5Zw7lA#FED3QCL>dwX zoDf@c^2<|;a9SIZ?*o#jx~-)J1$b=@1<6z0){@MUoK!r14FSnh(bifn&Z5+k(xN<Q R%GLm-7^~#GSWT{4E&#*e$cF#` literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/info.go b/vendor/golang.org/x/text/cases/info.go new file mode 100644 index 0000000000000000000000000000000000000000..87a7c3e9557823a58afa4b0bc507f9e33846bf06 GIT binary patch literal 2997 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/map.go b/vendor/golang.org/x/text/cases/map.go new file mode 100644 index 0000000000000000000000000000000000000000..0f7c6a14bb73c5a7a70230281b079cb26e45ef0e GIT binary patch literal 23278 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 aBt@f$J!+T<tq+jaUV=}l0`1oUwblW6n?{-d literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/tables10.0.0.go b/vendor/golang.org/x/text/cases/tables10.0.0.go new file mode 100644 index 0000000000000000000000000000000000000000..ca9923105e3db63549d403a9a8483cbb1352a599 GIT binary patch literal 96215 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/tables11.0.0.go b/vendor/golang.org/x/text/cases/tables11.0.0.go new file mode 100644 index 0000000000000000000000000000000000000000..b1106b41713e6ac047363db7ef41340781244c3a GIT binary patch literal 99844 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 KTbeqXa{&N;-`WiT literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/tables12.0.0.go b/vendor/golang.org/x/text/cases/tables12.0.0.go new file mode 100644 index 0000000000000000000000000000000000000000..ae7dc2407228150426b5e4c2e12cde8033fec365 GIT binary patch literal 101579 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 BxTOF9 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/tables13.0.0.go b/vendor/golang.org/x/text/cases/tables13.0.0.go new file mode 100644 index 0000000000000000000000000000000000000000..cd874775b397510011f0de74a919590ca1775701 GIT binary patch literal 103149 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 L85*0L8gT&tFGFPQ literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/tables9.0.0.go b/vendor/golang.org/x/text/cases/tables9.0.0.go new file mode 100644 index 0000000000000000000000000000000000000000..636d5d14dfe12ebca3170c3f7f93d485ec8b1187 GIT binary patch literal 94612 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 Cy$PBC literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/cases/trieval.go b/vendor/golang.org/x/text/cases/trieval.go new file mode 100644 index 0000000000000000000000000000000000000000..99e0396288153926046cf9737c2139755581e67a GIT binary patch literal 6451 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 C9uBqu literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/internal.go b/vendor/golang.org/x/text/internal/internal.go new file mode 100644 index 0000000000000000000000000000000000000000..3cddbbdda8cabd338c0da8ff2602c7bff9e7b34b GIT binary patch literal 1040 zcmdPbS8&cRs4U7%&nQtaGB7k%2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zfwTl9CTAz6rz<m82HsCFUq3=jW9qX66+u<mKn-rdAZ>7nP)@D5RC<C6{F8=OyN3 zmQ+H_Pb^ARC@luN17uJE#GqoBRVAqvB??8U1^LC9CHX~_dR$Ni2%Gfv6*6-{<|`<r z=jSBmrR(JvrR!JdgLLY{+@r+B1y!WM#i>-BUsR&R#l?w51IU2V#Pn1pE={n<g7b?? zLK4$K!B<pLtWW}CX67jr<Rm7i>T!YmqX1K)0hWx8g&Cn2l9;ZkP|d{&vQ7`AN(017 zEdndl)a0t=;wq^uNL7G{Dxm7*f*7s=u{pI!Q^6-SPeT*rZ;+WqsU@XFc?vnHc^buF zlfX_vQXO2LSfG)qqmTvC0dYojW~`1vadcL!f-RT=aWZ2;&Oq1flUiJiq&X=+KL^Ru z;^@p+z2K6f%)E3BO$8gUS#UncI8e&V%PcHSMGCpZycAG+DM>9VR!Au=$jMAjEJ;NT zPX&+~h{uW*5*3O;=}@6Ovm^tQF!J+qDiun>rh;`r13wfj0<s4js%U|ziN*(cA~Ovf zYM{u{RIssCFa!y5LaYUw%*9#D#R-ZoxT%_4oY@Liwh9JZoN4(*3Yj3bp|wJ$f(^nb zYlTd0ZLm?9X<%cbvrz&GWFJbnRdaE2a%O95gD9|MHYi@etjt(0PLLyNxscrzZI!KU H2#PKMjw)0V literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/common.go b/vendor/golang.org/x/text/internal/language/common.go new file mode 100644 index 0000000000000000000000000000000000000000..cdfdb7497185e489d2edc03526a0bd3e450144ed GIT binary patch literal 334 zcmdPbS8&cxNmWQs%}XsxEJ;mKNUBsQD$UEw%u82LO3#N&C@Ey-DWvD;B<7{-<rk&v zSLm0dR+Q)|xcDph`G+XDx_E}@ad8zSCTAz6rz(Jyl_sXAa&hVFD}-cZ7AvG>=A<el z=jW9qX66+uB!lcs&d<%w&r>MLS18FyRme@uPAy4H%1JHOOV3wG%u4}_!VCmy&;y(1 zn3I`U98y`3s*qU>R#F0D=cg$o<|!nC<UkGuEAmY&(BlHjg1Hbqc_kKHT*>))#U%<F zT%0bc1x2aJV1Faj*eYb^mn3p=`X(k9<#TcRq^2h(S8{Q2!c~OkW#{FW=PAGi6l@iA I4Y@SA09X%h#Q*>R literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/compact.go b/vendor/golang.org/x/text/internal/language/compact.go new file mode 100644 index 0000000000000000000000000000000000000000..46a0015074f2469b917d4983cf73bebacbedf131 GIT binary patch literal 853 zcmdPbS8&cRs4U7%&nQtaGBC7I2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noD&!>QrI#kAr*eS|an8>zNK7tq&M!*!%uCA$S(&Ji3=vew%qvMvPc2d? z&n(FRn^=-jlnQcNQK~{oVtTPcY97d)DSBKbl?AB^=w_8>=9L&5fvs^*EkTl1NKeg6 zElMm&EmlZWfT&U^OUx;S`UT|e(!`>~ypq(^6ory}kjF~%G7C#V{wo5xIwdnLEwv~$ zuLSNH9fhLQ^vwJ`9fica6oumCqRfI4h?&KDTxq3w$qJ}W&?r#|Nle#N&`3_sM0dE3 zLVmVFQht7prb0CrXJ(p0iJnhlUb?4?f*sgCzkJWUl++6Uw6x;X5|9$kqSTVoqC5oy z9fh>SoZ?h2&RQ-`kij*!=w@rc%+ge_u~E>lP|#K|G}6SQIvDH~PZzLyLnAyYgTMjc z>7vO6b5C+|rj9~MQE4hyEjSiJ64OzFz9cbSA+0DsS0Nc1MjFZJ?$rbZlLnXs`4sBW zki_(AE>2EJs8}f|D1ca?G^LTOU}vXbWT2_T#mNbCkd*?2rID<lreIKEoR$WbhWX4& X0m9NqwzD%d(gdqXOVa@bVl5W{{38^# literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/compact/compact.go b/vendor/golang.org/x/text/internal/language/compact/compact.go new file mode 100644 index 0000000000000000000000000000000000000000..1b36935ef7be1945b8e75f5c74c95f88c7462b5d GIT binary patch literal 1707 zcmdPbS8&cRs4U7%&nQtaGBC7I2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zfwTl9CTAz6gG|pYNK7tKNJ&l0%u6j+NK{D9hlmuV7J!_VSCUwgnV$!8RZe1FdMQX# zNn(02$hjbcobz*Y^Yau?<P<a#OB8Za6N^g}5_57C((;QG$}=*PGZb?2lM{1N6*BYE z@{4jI=4KW{?M?ximYJvE?Bf!osgPKds*qS*oS6>taiT(LUS?q_NMlNBg`R?IVseH; zNMbrDSQ3ki^OG|ZOHxx5$}>wc6pBleGZYf@K!$m`fUPc0%}Grz$;?ZKJ5skOH3zJt zC>0XO#R?h_eZ>kTMTvREIbgRHYbqobE0m|^<bX^|ELO<R1BGjm0>Z?i)bz~!yu=)k z9}-J*N{SUUl1qz<QuC54brkYSbCXhwKyJuQECD${M<KN&Sx=KoUms+kXNf{?Vx>ZP zVqS?tNxnjAML~X12_)*%O7oIIp`MtNSyHKxSfWszpPQ;ske``XqN9*hS^^RRrxCCa z$S^Q36Xe94N`=I-#LS$;q#THAON&#%L6e!MP@!LvT2Z3MRe%=z`uYl)xnS#+((^%4 zsh3}rt`AYIpP5&ZT9lWVqYsh*#lJo@i70V#L3L?xaViz(7nLZ1=#rw$y!2uvE-p@D z3{&FL1Sd#O7jSImDS)g?Pc2f&Oi9fv$xN#RMO>mnab{k6PO3slV!9qzNo7H*f~Si@ zX=YxDp&1t!D6|yPQ%juli&8!FQc^24O5jng7m}E+si2XWqTuPGqmZAikd&XFqp48M z#hIL(2^O%jMJRR$83IoJAhR?|G`To4(-ai*vq2g-i&9HUi}Dl<bQIDObBa^BIBU5$ zGZn0C6+m9s3r<ZeO3u*8NzKzp&M!(0NlY)+)KLJrO(PTJDNV4|$Oa`RXDZm(D!^1n zXU1}I)<UezRIs&GKru?8rUqH1f}*VgNPjgKCsubs-RkM0k*TSpP*PNy%2f*v=YYhb z)VvY}h<q`)bntWm<!(?pQ2>$5F9M4f<>!}x!Z|ZdAu|OWJ2^$Ei7AzENj*r=Lqb<m z0b;a<CP+^;7tC1@GmE1$Q(~b`0Oj1|{JgT%qLN~e$tC#;iI8{)B{O(zfO0sR4Izo? z8k%qgptuEvC&+zyB^sG2nhJL4p@tMb#RaL!nTa`|h>6aGsMkdaVo>nIosEc<lvt2O z8k!*2mn9Y{Aeo~O9Sh48AT`jWn3<PZq5)20pn?*dKp=TSFSsBlvqS^QfZ&oM9R(!? zB~30)BvA!hh1|sKR1H+qb-)P%WTd7h7bmDt&D2pS0U2MEn3oRD8^xgDKsG5lGgbj9 VefyRcmjomh6{mueb}d&e7XS<-IClU5 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/compact/language.go b/vendor/golang.org/x/text/internal/language/compact/language.go new file mode 100644 index 0000000000000000000000000000000000000000..83816a72a8a0653a886857659aaf2dbcab5f1aa9 GIT binary patch literal 7437 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/compact/parents.go b/vendor/golang.org/x/text/internal/language/compact/parents.go new file mode 100644 index 0000000000000000000000000000000000000000..8d810723c75b476ea8f953fba4560c512a866fce GIT binary patch literal 6853 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 FxBy`Z2Y3Jg literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/compact/tables.go b/vendor/golang.org/x/text/internal/language/compact/tables.go new file mode 100644 index 0000000000000000000000000000000000000000..fe7ad9ea7c843a4ec21cb9b68f095f76eb3290d1 GIT binary patch literal 32128 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�K<v5{MaZq=H+Pir<&RER^ zwRiJ!(7X=QXT-&smlKSdlwfk8aLK{CuEZ47-p#`(Tp{5JYVYRdrekX>nu6N9dFaU+ zW}i71XI>umv;=DJ=H+2e*P!-pUS0-P`#|m8JnUtbDX6`hSBNeN@dK#6n}@wTGX=GG z^NMlkGvVUQE5)8ZLF2o5rNwBAc%b%~adGD1C?`Pe-MmWlK!fVD0O><t90QfJ<l@Z7 z-ghzuwRiJ#vF>#>1+{nc(YxBvI0ChI^Kpa=sJ)wyqnrn|ck|JM1!krx7iWGk)^P?? z(0YdaVyxRjOhN740`x9A%uEX|&Voe8BGe%YNVtH;cOi1fYu6xhp!RM-qI+o(O4|-9 zX9zMAEQeGlLFJ4<a#;5inS$E81vttAP<yu^Cji@At0}0xTTq1FfPva)#>H7sl#aHD z2P$XI#aVzOtU=?u1;tqB`%OXZ-2xnSBdEPwP=d9OU<zvQ7L;IJ!($3+?-pPmA2bEE zcMD3;hEbsL2O8fkD8V|vX$l(OEhurvTGoNacMD3e_PI<!?cIVBtm{opLG9gw60~L= z%q^B&oCPHT*!lscp!RM-NicRfP<kl|!5X)q_HH3c8iS9en}Wu73rn%Cmof#lcMD6g zt|u}DjqetgVqI@z3Tp2b;V270?cJhWtYf&Q78YEbMd(EjG+aRI8H%v)V=x7^cZ<-A zNT@zgd$%ax7u#66sihGYXHk9-*7gLby<3!zb$r4U)ZQ)1Ps7&lFa@=DQS&n*tU>MF zqEhU;W<le-MWtBB3rs=l8H!4=j;)!3#&?TKvHH&p)ZQ(^zRk@H)ZQ&B4aL^?H3PMG zi?EM}n1R~6MdeuMi_Jjo-J){z&IP!fFax!Bi^{XHg_#+sy<3dE9ccz??-nO!pcTqc zGcC9{i?O#c%|Pwl;>1F1eLOQzd$%|VYx!vgYVQ^&6<~EIsJ&Z^ea^-V)ZQ&lK`!Ir z@oolc?-r+EZBLki)-x1iZx5P*+PlT6Sl1Jof!e#psaV@DW}x<NaVple#AcxOZgDDh zw}9Ha#i>~Pn`WT)ZgDDlK@W)sP<yvHwHVu2vl(c7w-~)zf#gjyP<yvH9qX8m8K}LB zG0X?kXU4@@j4|N|b&EMz4sEwER1TD0GBQDONQ+CLa+Y9yA!&KYj)lm9+PlRWnIJg~ zeW3PkG4`=^Gtl^Mai$Np{<IlrJwq{iR)P8t)ZQ)54#uv}l#8<%d;M+(YVQ{3U|sKR z23pThoQvLof%*>=F1hHQfXacwB^T@1y&0&zTa3}Uhv);fcZ+k;Hzz^mjJP<9F*@Q< zIb$x)V(fK*8E8F2aURybni;6Qi_uJmh9_uzw>Tf`DJN#2_HJ=L*0!k`XneOAeTWQZ zCMaC;u^yaZ25RpXqj!Cw`atd7;zCDk^|TqNy<1#}b^OH))ZQ&FjKG>EK<(XP?CoST z(E8otBCK2P%|Pv4h#c}fJ0u=J?OlkRFVdVGR1TD0z-9&^&EZ1jK;Z(GLv|}f4%FT) zE&^pg<S99*oFNw{L=Mv}pz&RZ9Hv`9?Oli*rdvSmU5FeOw}A2ydT|DgBhdJ6aWQ%a z3F=Nz`GUROY6fcW7God(Gy}DFi_09bt$8*BwRellu$S|o_HJ<*_Ocw*-o;po1N8%_ zy<1$4bzImC)ZQ&FN2?lP`at1Qj#mA_<Ur+aIo7=qW}x<NaV2^pgoGKWy<37_^uWxt z<l-zz#5(3-25Rq?Bw{Z=LF2n6iCD+v%s}nkl0>Xya%Q0RZV8V17S!G?!9M<C25Rq? zq@p)6A^rokcS};y3ks;5ITvS1YCc+^LFFvCI7^VL8&H!08ZMyrZb^Cww(%@8P<yuo zy$Xlw1GRTcGD5J;Q<{O=yCvwwJWQW47iUQ()_taCp!RM_CiXHC)ZQ(@SdaqoAE>=s zf}@TDwRcOhL$HlUnt|H8B{=FhP<t2k@EcH|f$cK~wRcO<qX^<Zb5MJ?Bp>TOB6CoC zw*)=u!t{Z{r3mX@U~^D=x1=Zp+jy2asJ&Z)y?ikTwRcOfmm%h$_HIcDT5}iX7EpRA zN3U3*eh1~F@<O!5Vh}k{d$*(ty+a0-Gvwkdsmeua*C4_Z)ZQ({o<7Y%?cLIJtZRnM zLG9gA?D1|6YVVe2W9@gCgW9_oOD>^)2eo%gv5)tdgW9{LMOfS3=Aia2#!^41nV|M= zX%*IS8*@;57b1r|egO$HP<yu&d_EIKJ!TGS??U84k)~~+`b@YuOTi~JVbNy_lf$CV zjEl1@5k2EV%`^wgp;f9-ISaTP(nedToF!N;ED>c<7(@=#-YrYa1j%9O1GRU{u$Q0a zp!RMVx-+3+4QlU}WriV*Wg*fTsJ&Z;Bj19?cgwKvA2SEFcgsrA8;ejsfWoB|eUl$l z&Vq}x9D99a4jSJrPek`1L?5WVTb`JTHh2M*GvwmL*e(P0J7|2j9Q`;Cn4B>eX9f1M z+#J;2t;k2ufKdBPxi~BG(I@Vqa%Nndm5JyL5vZIwSPt9xwK=H0TZtq7K<gPQGtq_s zp?(0hcQKAKfyo(iaaQJI-TPq<YVTI&V_mOk4r=dKmST?wP<ywsG}R+954nJa_z%?H zg~}lnPEa{exPbMQAZ0+P94K5Ma!3aNK;<mBIIFPF(VBzCcdODfu$G^o_HGr9xCO0e zsLDX|0yNA(?Oli*k{4id#$22bIV5Mo<V;|4$m5O>KY+$}A^MQpMNm02s6OOifthIz zlfz;kC|p2(KpE$RnrR8s7lJf)3Xub~cdM|EN1B7$yH%xF_oteJ+Ple#uEAxAIjMQc zna~^zH50VIF)uW@v@Ee8zc>?mXc<(_giDi)t1PidAvwP&6?~kjtwMAx?0i){=sBm( z`9-Ood1?983i|pA=H|u<sX3{+sd**ET%7v)3a)u2MU@H$3c3o0Zd{xO6$VhCqhL^B zU}y&BA=oKKaJHeDp$=GsVKR~;5Ze@@$jA^O4rW^zKr|ScBT0bRW@%tkjS~^#5H{2X zFvrLkp~%=0!8U`~23BKc4zU5kNkUSTjKoesuq}}_SR!diG(;#$v_N7fBiWE-fRIQ+ za#B(vLOj_LNkb}<si{cLNJIF|(7-|mDPoL3F=Gsg8IZ3G4G@krG&F_VV`ylO#71(Y zp%KE7hDHdV7@DSnHJE_I92zqw#$X;q0>rk2_{s#L3L<V|U|?vJ2Jw}N1(F63+YDl= zDTr+VvDwtZ2&4$20n9OmM473DDJaIlrh?fp@l=p{sFO@V9B7I%M@ms(wh6@3=B7v* zKpaD8qA<6FNPyBZhz)W#m<=-20BVCdh+_;18HiIM?gqKd0O|)YJJ}dHW=udaV+x6x zM5qHmW`o(rkeC6pp<$Q^bqhGpfH|g+SO>GAiju%V1+gE@HV35!g9?KrBpbkNm<CY( zfjTnD9IP7>&|r=+#D*kuL_mYtQ1KL~X0VgM93x1~fZ5Qf1hdT{!2@Pnrb28;NkRlJ zm<{zbm<@Ga3aC7Q1vH3bXkZ48@02to&1nV(hQ^SrkqY%E*hwIcA=K1VXz+o87|e#| zRtOuE;NgXt87OAVAu*E%jyXtxg4xhyp9YF_Xt;scAa{Z6grqQt1cYr4&TxhX5FW_! z5Vjd8H5gPtI2Pb=Gc-UXdk8zx1fn4Y;#-IfAdV3@pBNf|*v8->fv`=G#LXZH6e3}X zB#{KQ4Wu~<oCORGk)jg9Nr6~xhzMvyFxw0q7=}jBEDd%Nm;=dVhDJz!FhWGJA&6~g zXabIVLnDyY&`<)iO~5J5&<M#kFgp>X0Uk3JpqQ})$BZGUc!6dw2-^bUFp#(*Bpn(W zL+c-~Bf%U~aH$EAuz+~o7?CmzA#6ys0pS>e%VG%I2%IaSY)GJkH5jEpd<Ee^0vf^w zS4<EM#*pv?iyNCEX)s2z!5Hd1kdsUxu>{s&f~>&=oS7h|nt%&fC>zNj6G$e5NSH!H z24pHUmcXW(f@?LX8e~5};~1>S44knbip(If1QADx8AnjeI6-3uWRDq=Pt1{gVvb~l zImifu3W(X}NP!E@GhlnnksN6bsWu=QVDSyI%>v1h7DzT&Bq9a01(Hb?NY1lFib`mO z4za-!DWD+*5>y;1pe>P|l!z42(5wsgLn2a2ON3PD5R(#-oRNg&ha{xLl4OeHha{vF zm5gLtGLj#XL5&i4o^b}nj0;lCBqO;#8B#cb9hr<2Jjuw(Ck4qKNCOVy_!OiVOF>Sc zDM*Pj1<8jgNRCg17EWNRQ;}SsiWF9<ND+{lgcJ;^NN!C-IM2`kq1n&?DWDAv5T1rM zfxvz+G(Z?+Xn>Rj3=I(3*w6ssZbL&vS_ZY5ASH{Xfq|hRA}9?F5uP?QMAB>oib{CQ zxPoHF4G}YjMu>1TG(vKi5t4DxmJ`JFkV+5AMkIS^od*?14hCZ+Q<2IVLt`XIniwGh z8q`QvfaXwWqX=TE88m?+)z5~;U=B1DBkD&(V-On_3?Q}<sJaE23gW=52C+?$G{Z_c zkhm$VL<V!9R)g8lgac+nLl49@0|hk91~X_X0!tt(f<`e&+yaz-;W1-q0E!wzNRI~M zehVax7SPZFX|zOgO){)307;}E*_sMXG$8R*Bn_#coC<R$EKP$Hr6B^s5LN@Ff?7F9 z{xXEt`=H=8G=`);NTm$P5MZ_$v;Z`Lwu?ZK31&lDXND%w8WJoHVw*x^AE{+-2xc2W z+zn=1LXwdQ$f?lQnIV`1tzE!u3#bN=qGU+ufyCi$08^wE5tt3FCQLy!IJ9j5W`jcs z5jWs2jUl8@V~EsIfUu!e6j<CGk~+X$0GKnu9B9Zv*pMOv!iJO*5H_^Dfp8!m2D716 zE`$vUb_g4qsv#UmmW8k(=?ub#Bpomt7Sv!4q{m?hVIw&S(sG7~n?oZLtjHY6RA^9x z#VsJEGK39E)dm$1-IkCv1(twxNg?9U79dzW3E74uB+n%w*#@nHz#35dG=|_#jUl90 z12H`rk_{k=A*leuMhejsXj2$00d04J*{Mi=Nkznsp#e0Jf)v5Zd<Yv!ks&1gfyE7x z;s)BI1v?McPy{Q2^ll;I#?Y(`mN0>2C@|X;5`ku*RtGeZg4xhsjiDJ*%NERrR)%Jv zYyi^$Vp~Gv2HbswN`TqW#t*~-h|OTO8MIDLM9LpvHnhzTW<!$;n4JU)B}BdfcWVqG z{TjnWaOnUs9n6NdZ@`^NsB03Tt#@!82j)QAG>PDX9;z9{hBlOvpoW4qfH}}M8kh}@ zSO^=EGn1fw1&9U<NC5{bijqL4LY)C-TSBr#5-8+gSsBcMx;q7_Fafh6T~tFb+Y;K= zNCEe6A?^mVq3zrhq{0!*wgiQoL4_f>zY28*m<>%LsYteg*_P09IThNC0{H>VPJwtd z7150}1hY*+Ngfe5;Es(Uv}cos6v1goPD_J^7RYcg+Y;JfNdu=3h`+#WXo>){p&dUE z+t3hXt3ib!m;)KIFa-B%p?*w*#<+q(1th4TK@H&~f@?7&1BCO83=sZ>u%Ts|5mHaq z$N=GaFdI6GVq}06nMMYPo*#Iy58AbZu+71xsgWVX9pL5(gkuIy7Dh<pj7G4YEXWUF zHn<CEP+<h_y+S-{WQ61g5F6$s*w7-<2$~_dYhwuM+Zcfrn1V|gBV%ZC2iXK>Cxe?{ zM&KqbEabo(NWL*Lfw~{00nAPWm#Rjv;W1D)fN&u7s1dlPhB_I{hKv&!!D?-Y22iyP zvjHinO+f5KaQZU>*RL=qfjN+TV`Pft2QWJk;x`BzQUw~Bf^2{~1I&hMHUrrJ6$i5| zA#F_~Go*9`V#9(LTp+?UfC@@jazQE`jlgV3&NMPda-Ib=(;>$VxN~C&>D?HC6+lW) zBMT&_f!T@Rs>H|=Ziqnzm;-Z~B_g94f!UC1(Fk0U!a@$jfsQm8B_btQ5F6U)HUf{X z!8Cw5Mvx!{vrWKtDnyY9xC(@_Az9f7Rw9Cu2$-D+u5XNzkZc39EunD(;Xq7+6q?|2 zzzEDvg2a9@G~I!d3z!3SMlw?Hg4xhylnf0Fhz1Y`CV`aSlR@kxaP@8kE@r`=MwDsb z?u{X&e*;kfH3Xy>7VO~RH)x6gvthY46_h++5+F9Dduo&hjX+QUf!Rrrn%XE0>PfH! zh@Ap%?-->a`4P;9rMWbuAO*9N!R4E=0YU?W4NcX?28dJ*VJCyrlrh9b;9xg4gsK6B z9E1bOE5=Br4}@(D&ifE{3Z#Mpb3olt1%nD>kQbnZAcPI+s~a1Eq5~Y%AVnY!q_8lC zx&t&|2w^9K8$iaOVSkW8NcqMH+`ln`^lu;vEWt_0*aYGkup!_Q2NDIwV0H?mS~NBR z#XL*`#7+UHaIm<cAtWF`O?`;11{KC2jv=JWXbf^ONCM<XFdLH9A>t{J0>l_xL_uu; zv!S5~W~YGjkg*xaW>`RgImQsHA#8BchbV%y-ym#LNWOt^AZ;@++t3i90os>0HiK5U z;K&4Xpg|2T?4ZsAv!MZC2F`WR$OLm>8W3sC7&O5E3jlLy$%-5|;Qoyfq<>><jwr{B zA+CY=5yS?KKY&8f0y!Wo5N!ct5F1)tfvX{ytzac)kbDD?faFYLaKQ)l7nltVc1w_T zu%HHWAT_cvhz%P0206nLluKcnQw%_H3$Ce+EkPW}P>!)>3V0Y6oW8(ps11qGbO#RV zBt-3O3}&Z-I}XN4NH##&kZ}QHa7z$sHJA<QtU?APpyJ@DF@p4OAQF(#1}Gbn8^MYo z)jLESbzHy*+`ln`^lzXFAc+yI5mIG9#32K65OxaGnP5e!2%8KI!KEiyk)aVJ{eg>N zSWtsGkO2~7Fxw0g5MVZBAi+2VT3mrc4$OhH{)|(=(F{p0U^Zl+*%&m90!j%G4Inoq zLGnIG!q5OxXrw^fW}t`#u|efESVJnLTmnZRm<^djGX}FEl`NDE>8?OHP#ZvsV95o{ zhUQq%L=D_YAP%%sXPgSnA0TId*dS+s+3;c(Uf&pj`!`0A{*7^Jl7Ru-CXgSYsUQ`^ zhNgB{I~(jT5C>*DQj^#i%!Vf3G>~Rk+@v8TMlc&Pd|?b`L(2mY8#KfSu>q+J0M|E= z3d#g&W(dLt_o)pkObie~4PiqX3?@j8ZWCBL8)Sot0b)WF!iG#Fn;2N6f^rln&LC`P zH{Zkn>LCS?Z6J0MxCLthYiNVSL2N@qND4MVYG{Mm(4kQiq&a*OLukMtmucYsjS-}O zV`7L%TP8@=B7_YIMH3^a-@*O@wa`Jy1LPbK8(Ni^7$H(Pglz_?pr9OZ%L&4U#5kA@ zo%J?>RhM8Jz#JoRX96MtX$yeah9=<NhY6$>h7|55#t;XBgA~k$^fw{mNiYpY28ITZ zo*`HQVG?{k)x_AyG|>RA*)-803DOb-OMrBPJPlF=*9<M~!Q#-`0pbT}o&ZU}dK7Rr zWTe;xEN%`8B}Bdf_iv0K{Tr|XP>Ka>1Qp?sd}9Kx{~@hL2pif?19PDH2EvBfgcQjT zbD$vy=0Hk)u%QOfGzS)kOf`VTLG2*0zs#Uj1IS5WHdM12wBQ4agV-=9fh3^So(Z@u z0QCciZ3w9uOhCO7P?Cb!04gjX>qAV;5V;h>hD>BZ*^oNZ1iW|vYAUP>2RQ@8HiRZ4 zSj`Q#0aAa0%VHCxH3DEZblBen+)V+OE{M1R_iv0K{Tqk^$OI;sZD<6pdrT~lg4z-k z5MV<LDoj8eXd!3<9^`>K8O(+Z$C$tde8A2GbD)I=(jbosm<?HOV3G*64Wa=&C=Kx! zcwh%=1DFksConq|vJSxnJeUJhlniMkfI=<_#D>OA61a;3O)emgp)n+9CM6^C4TudF zM|M(DDv}})8#0$>l9URn6QE87v6CRPk0zjU50n%@&PWE8lThb@*oKf+x=Av$q(Lsz z!2KH|NdE?^0Nmp+NrspRE*n5>SoTOpc4jhCIs>yIwYCYU_Jg?w#D)!*n;`XXOpwND zz-(x0H#LAe)1U&vfwVtOL4`QfR45zlR8vDp!UVU|ARNd<0)!12yfQ^9qfHIdj6uZ= zR0D_uNfsapkhejehOi+stfsK#0HEXo;Xu-tDN^BWYGes9Rl%SF!UhkI!8kCJK#CyE zDzG9@0RhzjwizjIjKTdIV@Ur7q&V3CVMww8!jNP`$U+KJ@L~gKz5#PUGhbY_pe1j? znN_J)3dV+pW(rA_C8@<+&^x({3sRFa6LUc8=7LL#6pBlVKzE?qDkvo<>beH&!dBxc zq~_^{2J4pUmL=+fm*7F}5f8~PNz73IUq`M`oLQBsU~Fh&4zWN%!`M61Nz+;(IU_YW TySOyhO2Nt1!qCjc#Dog~>2FdR literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/compact/tags.go b/vendor/golang.org/x/text/internal/language/compact/tags.go new file mode 100644 index 0000000000000000000000000000000000000000..ca135d295aef839ca685f2bbe77db80631e78163 GIT binary patch literal 5651 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/compose.go b/vendor/golang.org/x/text/internal/language/compose.go new file mode 100644 index 0000000000000000000000000000000000000000..4ae78e0fa5fa984eb4141efec035c1b5ce264213 GIT binary patch literal 3881 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/coverage.go b/vendor/golang.org/x/text/internal/language/coverage.go new file mode 100644 index 0000000000000000000000000000000000000000..9b20b88feb876da5f431824cf64ea05b4432d947 GIT binary patch literal 730 zcmdPbS8&cRs4U7%&nQtaGB7kz2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noD&!>QrI#kAr*eS|aY`&s^??e2Tvbw9lvfPaos(Hy0&-PiPL4uxX+c4L zQ3=QyiNy#LiuDvcOBB*m^HPfvOHzwL=7H=5>rARtC@D%TOD!tS%u5Fwn3-3ST9lWV zqflH@RGM5;T9jI>$CXx^m#l!|2n|hz=vbJO6soy6lR#El*(&5FW~XW(q;wPvbQJtb zb74x0HMuy`@{1HQ6|8I(46GG06>Pv>^~?9nOG&NpPfIIKEwNU})Yb+W%Biof5T2@# znU|bXnv$BLpj4WdqNI?RQ<R#RQmFtk2jr8o#GKMp1p_@UPR`6Ug-iuSTZO#*Jm<u` z{JhNM#GKH)6tGzkC)z3`78IoBrD%X0tfK&Pmqw<hCKo4XEf)xZ9S4d46jwnU9<QTN z26B5*VjeV>po+kDfSi;Kk~Xkb$X2jXu&`FhhI$3$wlXzC1zTGML$F#-VjKi=4ku@s ef}NeMf*}_tCugR%Hr$;>si1_Q0P+b}Ef)ZVDC4>S literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/language.go b/vendor/golang.org/x/text/internal/language/language.go new file mode 100644 index 0000000000000000000000000000000000000000..6105bc7fadc11148c74d33ed45d978b659dc69ac GIT binary patch literal 17174 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/lookup.go b/vendor/golang.org/x/text/internal/language/lookup.go new file mode 100644 index 0000000000000000000000000000000000000000..6294b81524cdbd265a275cbbfde86c48ea96a840 GIT binary patch literal 12385 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/match.go b/vendor/golang.org/x/text/internal/language/match.go new file mode 100644 index 0000000000000000000000000000000000000000..75a2dbca76434aa39d322b6049afa867440c003d GIT binary patch literal 5824 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 a0SJnBXnp{<ypoDi6SE<i4keR8#(V&48V=L| literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/parse.go b/vendor/golang.org/x/text/internal/language/parse.go new file mode 100644 index 0000000000000000000000000000000000000000..47ee0fed174f22d8e07542716ea146c12d894092 GIT binary patch literal 15063 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 LQ3Gcu(8vt{dsA0e literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/tables.go b/vendor/golang.org/x/text/internal/language/tables.go new file mode 100644 index 0000000000000000000000000000000000000000..a19480c5ba6a40313139448de0cf711fc7c42d13 GIT binary patch literal 155812 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 bCrxXG<c!qh?Bdc~D+NPm3sXy1M{_O!4$Y0l literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/language/tags.go b/vendor/golang.org/x/text/internal/language/tags.go new file mode 100644 index 0000000000000000000000000000000000000000..e7afd3188e6abe6e1c2ac93e07411d97df47c0a7 GIT binary patch literal 1211 zcmdPbS8&cRs4U7%&nQtaGB7k&2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noD&!>QrI#kAr*eS|@hvSb2}mp|23wYsnVqTt=IJOTm6j+JB<5u%7b|3f zoR+GPo>`Wfr{LrqpkQLIP?DGqvNJEg1Y~Ui$OMRAJWCXcGjj`aGSf0sixr9!(^3^O z^D;{^6LT`F5=%1k^FTfgNlaHLOUx-vE!N{oE6qz*fICB@SfRM2C^IizQvsx?nv1hU zM<KPSNWsb$;xdh5O)k#NG_aVWtwLUAjzTpTCnwmc8mUD^np~W<T%1LzC8b4q3ME{% zsJ?VcME5C31h;RKK<bkd^T_lk$Z#AU1xX=!)(09XAkQSB`WT{;1Yaki`#LzeD6^mh zl$;PT3=zZa^J0h|xZgpE1scr?M8z@00vx`FNFw<kA^`GzadHu={~=N&#d~pb5qcN| zrKW=tUuLlaA`Bp6xWk|bqKEu2fLMSd3?Pz7VE_>Tg#lU!KqN>C0hs?oLB&BaxHu@v V&o6;zem$<T#3BWdY)E1{7XX&$ljZ;b literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/match.go b/vendor/golang.org/x/text/internal/match.go new file mode 100644 index 0000000000000000000000000000000000000000..1cc004a6d5f2ec26ffd87ed581008fbd14223cf2 GIT binary patch literal 1912 zcmdPbS8&cRs4U7%&nQtaGB7k%2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDrDxBq!#5R=5T=w2?5y&QlOBWpI4HYnOCfkn^=;Zky=y?F*q}~ASX39 zHLpa$*~cYFAu}%{wJ5VBF)uk4<aCe`3JMAe!KtYV86_nJ#a8<IrFoek*X!jMrRx`^ z7UUO|6zi818Jp@W`{XAl=A_1ZVww@0p9>8Fko(|PD5RtoCl_TVr9%CbS*(zfpIi!d zPG+$}Vop(NVoIe#Mq*w{4mgZJ?g4o{IVYt^0qS8rF0Ra6kTVoCxHy&4^K%mO(!q|a z&@V}?DA5P;OB2&mmAEt^LE`V?Zv_gD;>?uPB8AK}1&v~a^E4shlbM&UkeHL6UzAyr zk*koGnwnCqP?8Udf`ZbdoXli}#I%ysB9L>^Q%g!fs=;QYrKaX6BqrsTmMD~iq74+o zsd=eIAPspbaIxZo)a1;x%w#>VgZxs<k%G(@5<Ln<sU@XFdBqBe5C^3eLE;M%d&LS# ziN&cY3i*(ffD~&WCnaYjX6C`750pqDnu-)ki&Kk1Nhv=sGdVFQvnsJ9Ge1uuF)sz2 zo(d9+K<S_;H3uwSoRL`o@^e~dUW!5@$Xu{7df;SVlv-Sx1NJvqP@z0CCr2SMr#!K; z7!*jUnI##iMGB#LDGK>T3W*A^I8Z3hEXe>_1~RTVF*g+<19Al@F%*<2B!bdrszOm} zVQFe{NoopQk)DEQ3B;<r{1QmGfDD3}UaXLoU!+i;k(ms(qX?YCO7l`ui;7F~^HV^c zNlI17EiEZc%mKM8KQC1`C9^0s859hOIUu7znI|VFGd(jYGbgj85*CP#3gBpg*qxb| zl9`-XlB$rHr{G$Vm<)9ZC?$c?Cd@Su_oWsil1g%79%jgUWTt1pw1UGjHASH$F&$Jm zBq~6nM2{=2G%r~JYdX;=QHYL(S*aJ2n69ayg(Wprb8(g=rWY$%*(#`EN>}G5W~XZ8 zCKf~^n-rUwSE5<V#R&@3OdYVJtZWsE67$ki6-pGUxi~qKOLP=ci;6&|!ZkYP<mfpg zJesOel9;Z^#mSkO23D$QtB{wO1J=!%T%uqLGM0;zvzCh!>_ENDyp+_6=;V@E1zUwo zE|7Q;I3s}66?4^cag|gSq$*%~L7}*$s5BYuEU*y@*n9)h4-QI=Tr5UtLLynCJTb3C zK~GN)?j>-jY9MoUK&7k>B3(M?=cQ$)q~;~3YJ$853bA+{g%VJ}K*9@bCh<XrH^895 zm7JfK2C@L|E^u1p;snPR$SP2fgTq2cAwL_WG8YlL)*vCUB2H-dg5naY8e}pTCnQop zhJfP97U5Y?u7+q$DoRbvhN}cAQ%Ek+3jmiR8X!M#f{ao?(hExM5ck(|!EA<mAT%#U ON5KFoSpD+3YPkSlg?c^! literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/internal/tag/tag.go b/vendor/golang.org/x/text/internal/tag/tag.go new file mode 100644 index 0000000000000000000000000000000000000000..b5d348891d8c1544e434824196ef28a1143287c6 GIT binary patch literal 2415 zcmdPbS8&cRs4U7%&nQtaGB7k%2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zfwTl9CTAz6rz(^rrYj`p=anR8<`pZXmF6XvWaj53=46&sDr6+)rQ~GhrGwNID<tNn zC={jUB$lM6D5NBoB<gV$AQ_>ruaKErkY7}ypp>4UlbDyTmtT~wU!h-;T2Z2(nOBlp zl$V&JUy_)v#Ki?uSe#!}q6Bt~W1fO%UP@{O$R%Z|MJ2@$D@*bf5*3p3a|;raOBC`- zb5n~llNHJmb4pV|VFmI9C>T?7Qgc)DN{ST{i@;%5oLQBsV4|lGl9*nskegTu3XIYM zg_3*)6NRM8lGI{_ocz3WJq6c_<kaF~s8DiZ9>~0;RE5&w)D)27;*$KLRE5NpluSs7 zC}ifP<rn29f_MsvN%^HE;E*jzOxNQosVqo^`k=U^C^Ih|>?_xt)Lez4)RNMoykf9g zs7t}Yr;rHIpPpHknx~Kn^1U7xDEt*PiXld6Du4{os8GnvE74Sdn5$6D#R)MHDxgsu zU7=;7V5Lx@Wuk2otI1Uhwi*(eMX8_|f!GbU0g|**6(E*or&cQD7b)l(DrBZ9WR@r- z=a=TBDCFgrfI<wMd_cjh;GdUM33h&3W>Im8LQZO)Ms{kYCN$vEit=;8vc)BdMI|r` zOmsmZt&o~mQk0omtWchrlcSIXPO8cIdBvG2sYR(N3TgR85S^)sMadc91O`g05NmQ1 zOOi7{$rs`ks0q;E1Z5VqumURsIZPos7G$?3DA+*3m8W233wJaZr@p>IF~mNQT_~Xf zu^8m$N`>;w5|E1&QVUBHb3mb#k(r*6S_DabpnR4GHVPDknRyDudR&|kqpWNdK*?G! z7;J|ID6on(^-XlZSxX}m<S0#rr2PCGkkepMnVegoQ5>DAWnz`7Wul!ItD^u8U`1O6 zT|+L;T1_s_OpqraHfSlBaB*g)DL^$@Wom;g0ck+eXMk)x*bsQS0h<C%CVr_EB?@Vo zc`1-Ik_Y1ECnuK{6{Y4SgEJGzgNbP+sYQ?^s!*Y$P@a*QoS~3gT3n)#kyw_hkd&GV z&O7-@ph5%`ub?E6sF0kPlLN{~;FwV;Ee4k)8L0}ziMgpD59%p+mO$gPSfN7O5ERO~ zh8URu<VK`;)lq<Eh|IhakS8<K6e_f}twHHu!3G@9#hMCgYS7@R&@!<C<qY&7vb9w} z38D%v&RTc~=^8?VCpotO?!ZJ)CM`)#Pc4F!NT6J<kO)q+NeVfs6`9HT=|zbJ8JQq& zS3-ROilanGZq`vq!kID?K{1>Lc6^eif{j8R$YY#&3XpW0qzQH$D7R$lC?tbYLQ!H~ zda6QFv{ha#SZQ&2CMdU5b8&JeCl;qFBt~b(D%dF`TXAu6!V;MwilhyyBq)i1LZFt5 z6JZwEC{V~Hf*b{6Bx!<7gcd*`J;+MzpdLU{0!qE`U^Re-sxzoSFG{5>WTA#=BtpwU zEWuj@E_uNT0h|Oi5;b)cl3*pITV{nbD5#23A*Fh;LJ}ykf(iw20xd`^0aaR{0uAKJ zVui$FP=S>TE)qS{;I2<g%qdO<6`;@pItf%&=O*TWOobOyP|Gwxf><03D-SXuX#k{3 zQ$Z0H``{RcdIoG8uH*n#n3)E4CMW^e*ea+;se?tq1%`s1t%7<YRDd&CLDyD6y-Hm{ z7o-Z5P-;O0sAN&FQBZeOSE#80$tc(;Bty)Ar6i~$I6(=9vsNJ$6ab*42eAa%R?cJv kZG4s_LM*9LCu9j1Cub7KOSTHhVBbT7qok-bm8+Hu04&Y&E&u=k literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/language/coverage.go b/vendor/golang.org/x/text/language/coverage.go new file mode 100644 index 0000000000000000000000000000000000000000..a24fd1a4d699d102506d638723fd80aa9aada32c GIT binary patch literal 4897 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 JuEkunTmZ6yPy7G? literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/language/doc.go b/vendor/golang.org/x/text/language/doc.go new file mode 100644 index 0000000000000000000000000000000000000000..8afecd50e12e35e993cf573eaaf0f46db2cacc1f GIT binary patch literal 4392 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 a(tt}WxTz3Vf=kx?@;vk^5#%R$GZz4yUfNv% literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/language/go1_1.go b/vendor/golang.org/x/text/language/go1_1.go new file mode 100644 index 0000000000000000000000000000000000000000..c7435583b5f2d92788b5629172193da25f6ec6c3 GIT binary patch literal 711 zcmdPbS8&cRs4U7%&nQtaGB7k&2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?QD5mEd>KTCy(MA#ADo9MuPE1c#$VtpgFHKBO<>JcBEyyn_QBW$* zFDg;u;z}#cOI84}gG&;Va#A%w4lXLu^UNzrElNvFPSsSX=He_aR<N>FC<dzt&Mzvd z=Hlcmwo*_~DAwWP<SfW9wo=GV%udyaj?K&~(NQSY^GVIq(A3o7;;iN3Ov^7)$OP#x zO3X`7RVXgjE66VfnaT-aMrXz<*eYa#)q)(N2eLs!t+-f|tCowaq_Q9t$!3M(lA_Y& z5|H*{kp20{Zsh_wMFH#xkXEqQG>R3p5DwQ=0J}^fGY@P;QEEwPQJz9hYMutzRbU%& zXe%z($kb8D0%_G$NXpO80l5KcK(QXk%TN`X3N<wfig2MU9feFy1vNDVuni#3+CZ6E tu{d2BT%K5fWF069^osT1qMBTsFw;PxU65ZKodpU+h+tMMOfVB<0{|l&;3NP5 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/language/go1_2.go b/vendor/golang.org/x/text/language/go1_2.go new file mode 100644 index 0000000000000000000000000000000000000000..77aaaa299eb11214ec8cc44c2a6fd28508f7eff2 GIT binary patch literal 256 zcmdPbS8&cRs4U7%&nQtaGB7k&2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?Qq~{yz8G+2uM&@%BBqnDkrl%_8B<7`;CZ?xyab@Nf<QJ7FC>7@y cl_+s>l_eG_fSAE0iAg!B3btU59)!mQ0O#pbOaK4? literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/language/language.go b/vendor/golang.org/x/text/language/language.go new file mode 100644 index 0000000000000000000000000000000000000000..289b3a36d524b618b37e68fcef30ff0a750aefd6 GIT binary patch literal 19330 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 B<YoW> literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/language/match.go b/vendor/golang.org/x/text/language/match.go new file mode 100644 index 0000000000000000000000000000000000000000..f734921349ca6b45a2a8274160d70e66fa145b56 GIT binary patch literal 25704 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 JW(epq2LMWR@&Et; literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/language/parse.go b/vendor/golang.org/x/text/language/parse.go new file mode 100644 index 0000000000000000000000000000000000000000..59b04100806a9186164d246b5f61f1f9d2f3bba7 GIT binary patch literal 7542 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/language/tables.go b/vendor/golang.org/x/text/language/tables.go new file mode 100644 index 0000000000000000000000000000000000000000..96b57f610adffcb88329695c09bd1a10e75e69c9 GIT binary patch literal 14578 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/text/language/tags.go b/vendor/golang.org/x/text/language/tags.go new file mode 100644 index 0000000000000000000000000000000000000000..42ea7926660588bcf49928720e58c6913271a321 GIT binary patch literal 5545 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/AUTHORS b/vendor/golang.org/x/tools/AUTHORS deleted file mode 100644 index 15167cd746c560e5b3d3b233a169aa64d3e9101e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmY#Z2+7DSRw&LdElN&RNX}15RVYeLOD!r^D9Kj{$w*aj&sT6PEy>6)Dpp9#FH%U( zFQ_caOwTA$C@3u|$S+PU*5d-1k*biJSX`1?q>z(YT%wSlrjQ8Llv%8hnWs>a0aB2e z2Qn@tv$&)vGpV#BGe1v<OIe{Tvp6#;CsiS_L?NT3q`*pFza+CjFFijeF)v*&zbIYb NF*L-(KPXs_3jn>NJV*cl diff --git a/vendor/golang.org/x/tools/CONTRIBUTORS b/vendor/golang.org/x/tools/CONTRIBUTORS deleted file mode 100644 index 1c4577e9680611383f46044d17fa343a96997c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmY#Z2+7DSRw&LdElN&RNX}15RVYs^RwysZEGbFNQ%I^*D9K1waL-pr&d)0;%1kOP z$uBC_;{s_*Rme>&E=es?$jK}&QOHk2QKFDptdN-p)|{J|nFlf<C9@b}LS}xR4wte* zS!Qu&QckKuVu?aVNlAf~zJ5t&fnIukPGVlVUVc%!zO%nyNRX#fXo!DMupSoxAuBsb diff --git a/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go b/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go index a5c6d6d4fa06cbc49cb7be1aea89cea6d5f821cb..9fa5aa192c297bb702169d3977da696436d33902 100644 GIT binary patch delta 445 zcmZo`VC-mM+)&KK$T_)@Ns^ya0R(Jx9d+%v^z}J6A7*+Cm15+ae4AC03#=dxEGNMh z%9s$6k*ZLXT3nh_l9`vTP>@)Xp^#auke6DPTBMMgTToJIt&mxwkeE}RSXr!)oS#>c zn3-3skXWLSlbTpuqEM2N%B8Qbpk9=pU!ty{l~`P&=a!k1s;8jfnUb2AlT$glfkUib zp*+7dCq<zsH7hl_1f)JQuOzjoEHS58p(F!jR%WU~c}9LtPNhPAkwQUYQAs99uR?xl zNpWUMD##XvqQt!PRE7LB5C>#LT4qkFjzUsti9%^!T7FSUX<lMUYEGpB%n1rbsmb|8 zDa8u;d0{z~AYBS2`Pr#?dI9;x3i)XuBT6z-71Rq7ld}`kQ`Hr+Q!C5!i&7wF=H-__ z?NTT%Ni2eMK(;DmmK3Mvr0H$0=D5hAuCK4)npa#}l&TO7R;iPkm!b&{!~DFI)a0Vn f#Ny1nbiK`9g1ebEbBOF=+<aWLQ+ji-;buMnznPUS delta 482 zcmeBZU~Fq(+)&KKr+@+`H?T@-qKH5^HoA_wc3k@U5FU)&JcsEqHWR#I3ShL2uCBAL zt{s?bqpPdys*A-mkZc^L9eY_r8S4XzQj_!ZQZh?2^Yg3}qKiusi%N79Qu9(Y6_WBx zG8A$$Qx(cHOENO^6iPBu6^avcQx(!Ob5a!&ixrCU^GozV=7#vY_-iDl<mcs=CFW^b zDHNralosVFXyj$)=qRKm<`k!DDu4~hELKQPEKXHO%u7)yO3lqLt4~!ZfVco`P*7@N zX=YJsv4UG>PHJ#!iM2v;YN|p`equ^$kzPrDc4{6-!Z|;$Br!9uI3T|mqzmMNfc)YT zB!3hnmSiYo7AxeXmZcUc<YneqD`b`^B<7SSRu(HHL$xa;mM941q$U=ZD5!(Hq7E`_ ib1cV2j?LkMJDHgD^*8g2>}3Ser$xJ@L3D`W7Cry~IEM8A diff --git a/vendor/golang.org/x/tools/go/ast/astutil/imports.go b/vendor/golang.org/x/tools/go/ast/astutil/imports.go index 2087ceec9cfd6c0e2a9b2d8b8ca669d9a9d54635..18d1adb05ddc981c0613bac1f20f5cd68255ba8a 100644 GIT binary patch delta 134 zcmcbb^(kw^Ii|^{nGCtP^z{`IQ&Nh#^z}D0GJD9SxaAjV<RliCc;*%q7o;ZZ1tgYa z=!GTbl%@vc7wagbCFT^TYU=r9=B09Ra&mI!WagzRSlKG16{nWy1>_fJmSpDVfy~In Lqkr>E#XZ6RFQ+b) delta 88 zcmeyAbv0|lIi|@Mne<o{5>rx&H*+z2$SG;$Bo>!=<`xteq$cYHB$j08g(c>crUv8} aYwG!A=B09RPEIh96wSn@V)Hh|J;DI4dmtwO diff --git a/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go b/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go index 6d9ca23e2b02c4fd99e0136df1c998d4597e7eaa..f430b21b9b9aec2763a8b0555a6cc89bd005ddcd 100644 GIT binary patch delta 251 zcmeyGa42bmAlqgUw*5?uoRhC{7%*~f=H%QamY$iWP*RXsl$cwrU}dXNQdy7+;pw^M z7rB+@C5KcNq-x}8TEkT-+A8E_<|tHiadL7d>LnHw<Wy?p=_n|H6b66|Qqlpb(1GdD n<l^M4-MmMB87E%LK>C9VQj@7**<?p)oyq*tteYojK4k*{K95p! delta 50 zcmX?<^fh6FARCju{$>HT15C^c3JQ}iau|T<%}kuz#3r9m;MuIFFr9O9t_II$Yb|zm E0E~hTng9R* diff --git a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go index cec819d641060ed74a32cfd115b591675004606a..2ed25a750248ee32104e225c7423d03384671a20 100644 GIT binary patch delta 784 zcmdn0^UrXDGs|Q*mL%TPyyX0p%)E5{tm6E<$xB#FI60N_i}h10Qj;fNW7)@<p0ALc zpPQSQw|O_K7-NRMK9|0}f=g;aQEGBxNotCfLTGWSLP<udLPlnKMrx66PHI_dj)G%= zr$T0)LVA8qVqUsleo?x9g?>qXeonD|dcJ-^Vsdt3dTOx_$f)v+%;XG(%wmPy{GwEa z)U>qB<jmB(lF8@Uoa&QvQxvRh6+mv$a|SyiMMEh)Ur9$nDJQeI1VrnCoDF8ARutqH zLBw>GbQCgkLEM1Ek_=5Q&g9$_J(tWP1zUyUqGXrMA}-GS(h?no)S@Dg`5;;6{M@9> zywnu`(vpJG5)Dl*&djvQZX)9KN+83PxHxOMILi`?6jBmP5*3O|ib|796soy6IX&Ul zfJ8I%(z!S}UBNC<0D<C?BCuF37bnP}dZBr_iABX3i8&fz2dIIJ)8yhTN-ZfZ$^#p& z2hptq;dpYw&EIUtzJ@~yWM^@CW=V1eSV6QwEZ7;ziN&c3>Y3_RT%42t@q22*Of1Mw z2YZu?i<1+grc7N&K|L8nq(D{6OfD19P~gO^r4*)+F?6!DfQ~;ll_{xdiKRIuR$QE% zoH?LC%}LGEfclP;Gc!#gN5M|P&;aaMkP2G`Lj#c7S}xAX{k&4arFp3p1*yp;sVNGO zhy;62p**uBL!qE3H7&D3LA6jJEx$;iAh9GvLA6*(2O8jDTcWLUVl{QZa++M6pvbD_ enmmD5QXw_BprjJTNRSy|?I43RH?I}wU<CkQtn=*v delta 201 zcmexoxK(F^GYgZx{$wYX<jLDu3?_eM*`r>bUzA;3keHmRkds)MUs|G&oS#>gnpcvU zpI5AqpQezWub)(!nX`Ets~F>CGj<2vqSTVoqCAE4<jmZH{GyW7B0aavyp(|KbPb3= zKw?RTjzV!!vP))>=H@9JYdA#I)D%(@OA@0EVijy{71T4;6{@)=TL{Tat`pQ1ftpv4 govx#hT2#cvS<A&W*-}V)@&`c;el*F=Wx^e-0Egv8MgRZ+ diff --git a/vendor/golang.org/x/tools/go/gcexportdata/importer.go b/vendor/golang.org/x/tools/go/gcexportdata/importer.go index efe221e7e1423e370d968eb512be02bb7ea6601e..37a7247e26867306df8cb607c0643e0975e8ed7a 100644 GIT binary patch delta 140 zcmZqXf5pFnmAPJDU%@4{peQvtu_QIcN+Gm3RiPv!RUsoYJtMV9Hz&0$HAlfQz*8YJ zPa!=&CowNwFTW^Vze2wxKR>5fKRsW+ATc>RF+H_dhf7~yp*$lqIYS|{SRpsRC{-af rEiE%SGc~V7k1MS-FImAawcIneAit<2wMZkaIJHDUt7Nk*a~cZ(L3}VL delta 12 TcmaFG-^{;(m3eaxa~%r+9XkW) diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go index 0a3cdb9a3b81c8aa88f7b3addfd030a5734a3f61..196cb3f9b41a31b185e6e2f1b9274bb7437ea298 100644 GIT binary patch delta 78 zcmdlzn{n%G#tmOsCVyn{ne5E!G`XAAnuSYWpL6nYRtrYXNo@YSej%<d3LdUOu3+I9 gHfu)C$urnI8966EVzXf6oGi`m%gDJolRd}{0LP{k%m4rY delta 88 zcmdlwn{oGS#tmOsCVyw~WK{rx$@Z+yP*x+W4Wq*3gRB;e3X^}a`t$mRxVk8KxCXg$ j>FX;@4r8-sRG2)8&681K@*Osi8c}v%MupAE>_Kh-fu|T4 diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go b/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go index 3ab66830d747c984a8ca0face61812d4be3b7837..e96c39600d16b0a0ff326a06de25445ad615a5f9 100644 GIT binary patch delta 2077 zcmX?cm+|v+#tpfwn+sTvv2C{GsbSi@gYPH{Us+<2LUCqQszPR7iJ8gdYGE}N5O?z; zVL4{=YA#Mr&f@aSlH?49l*E$6XoFY<uvl_pajJrPrn(hK0cX69LP2)AjzVftk%E=2 zg6Cu%ae4P>L#tRFh0GL9u#%$GlG36)xH2w~AjFU|bsYuuWDt>p&A7>$;#wx0oVfLu zV$)@-5DIccYP6vh$TtKWl9HO1SejD;@k|cL3puHI8Xylt9G{t{kfUIyU}ymGJSS(4 zf~|s~0mu)WwOpK&HwsGomFA^Z6r?7Xq^2mORutqHm4E|Gp**uBL!qE3H7&D3LA6jJ zEx$;iAh9GvLA6*(N1?c+C^Ih|Y*DmTPOK(8xN0{Ch|BP679<uGrv@Y@XD6nodb%ip zxy1^J3NWD*D=vL~E`5E@$vJA0lbtlgCeKs*XAf2eRpOVJn+nl~&;}BNX+&0LtB{$J znpZN}UPE&7JT>;om(<O4z-GDRmw19?AO?XPkOCFSOv_9yf|<3ML*pr<Ay`LXX<`mY zE(K&4LK})OOxxtQnl>P}Z+6l;%d}ZY*N_Fon;c_!9pV$G#Ny24kjet6KS0*Qg<xjD z1r(s309jrH_DQPI6)muv9E*w)D^bkJQ-F)X44Q0dtPHY#bE&Z^qbgXRZ(;$8E(NFn zT+1vI6_A$6*G&$}gLR;K8pMOC-8{o|786MEW^aoiCPlDnx6IU>6hs(-xiIyU=UPFW zbJOZ4i#Aw!a7j^VatW%75MpqRm+TD~IVUqaK(yOCTxEo%rlQ2$)RI(CGAt@i1%+ln zB2);jS;WZ^?8rPPUM7gGa5cpUmm<XA8mnFO7&#}ea?t~6pPc8!x%rn%4Akb}%=Em( zlF}lic!UeV4G42nW8|D%>!tuQVDmP&enum(uRZfhQj5|OlT%SVo~M8!4mZWs!yIIa zhZZB}<P{z}z-Co?iZH2z&2r92%tJ9o0VV=Bpx4_3tm&3_9Mtuw8bCalVh~%w7Mu$m zeeIbzIVZRII*4;}DrqPwfaR1ll@#<~8TFyB1S99<U%v8;oRg*eK%|wQG$ZHaFh51G zjT8JLSRlF1GZ$2fxTGfMz=J$b0U-#pe)5YTNNDQ^7b$`L=b2Z6q$4x0Bt9pz1g?Bx zuolRo$xnhimBGsWN^_HtlS3Yu4_BWX0!czEL#{AEl8|$LUU3PEyA<F;aBa2WHjJE; zcZG*Da!wYCP-f(uY!+e0$T>MT0+d4LL}-E>vH4!aHdaWafI<q@OqdAV$SHAZAWf4e z__1uh9w)>E$(~_}MX36q0&s0F6Cl}BEpZtnd%Bh8CBp+q0mOr=J(DOW%;}V$QmJ68 zpj54-pr@y&pj4{_E=VMk9zgPfZ)!<KehR9k2r;->Ka;c>IVY<oL$XqR@@#1G16hcw z872bPDwPKDX=K_Oh?7y(gLrVYtm$EsoixNZm!|J$Q~^h*E2R1Xvx^lH^AsQga2+O@ ThK!t((=shUp}Bc`rXVW-46~2o delta 731 zcmezTobkk6#tpfwO#1qpb6AhFvFqz|rIqF-PktyOve}y_g$X3Fj_(-D<Q8ES#`w)^ zgyoo()zlPH5=#=J4Pq5+Z57lr)fK9_I5|1vbrcG+({&V5i;5H`{}a=bu2o3QDNe<d zv{i7L%qT9;s-uvZqPcmKgbcrQKw@%sVtT4)ih`{|aY<2TUV3~^W{H9xm%jew4W{Cg z)inN14$u^1f^us#Z8tyFe9Acax3&#bY_qS<S+Hv*^^I7dVw1%}_$KEYpPZa%A_)_k zU~*-0pQ$p)UmHwq7$*ywtH7kZ%@1zYwwMJn1!U>w+g3qLll^SLY71-ySSPP`GGJ7g ze8&kS0#+gFe3fysu&X1~gw0v5yiAi9x$7}1Oup!@2NM<bNM)S7*i(&BVe%<Y1*qsI zuYShK2ffW16(;}m)?!qctm3l+Dz*8Oj|kIbU4IjhBNO~f8975L3sMzqL4olvz@AM3 z3?|zLI>4BXfg(~0PKm{t$zYWV3bqQFDXDpo092T~K2V-fVe)w}`94sZQDHK7kRr%3 zg=Fc?Zb2a|laGbLTsxU7ylC>ga4nEDDCF;jcTVn#fcyAx#1*E=2cm5l6(;|U4rf%D z92%p{s4%%Q#*9&6@`f0Y&+o@*f;1=iOKg^p-O4)ocaj>&BMQm7Op}XJ;i0`Ib=l;? zG&x3v$rI8<K^hFQr6=!CyEFM%x;CT2<WK4FQ1#51%`}-i8)V94gY3hTg>u3`>Nl8* aZ?4NZz&JT6&yZ1J@{~LanCPQCK~?}VE$X=d diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go index 209553409cb5f4e31a730a6b8b0b17a0679d3bb0..9a4ff329e1280909d857016874145f10e72b731a 100644 GIT binary patch delta 142 zcmZ3ohw;}Q#tq_<_4@h>&WSlWsYMFK8Tq9-DGGV{B?^hf*$Sn_3MKgpDftSi6$SZ4 zB?_4(dR&~DX$tvCS$YB4=^B~}wzdi-l?AEAdZBs6iD{_{)m)sM1&Mi?$r?(@iFqJ% hpjrzOld}`kQx!_V>XbCOIBU7UX2t7lc94AH0sy$vFO>iQ delta 48 zcmeyhhjGas#tq_<iiyR=sYN9k`AJ!N0omyqnhJ`x3MG{Vsl|GsdBuroshXSnB;U9I E0J(Az#sB~S diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go index 84cfb807d739e48d79b88d6937253dbf5b786743..4caa0f55d9de2a1a5db63eb0abe3b5785fd6c376 100644 GIT binary patch delta 457 zcmdnFg7MNK#tpj}IdT(AGW3%&(>HHtoXEtdRZ>}yTC5k4n4F!Mp1RqO<tYnmQfXdF z&g9*k(!#1`N;(Runp~WmoSd}^sX4`|3Y!f$w<vFZt@EG7v`C>sAt^Im&oi%ti<7fR zFSj5wuS7$wLPsG9q@^q|N5NJhIX|zsBr&f<&o?nURYR>}^LN7nX4wh_EvQZ%g_6nw z1*kKe5{omFH7B>4DlnH+7A#(7$|zQ$7o1w+nO9<FqEQAiwJ5cuv?y=#A+vra&ZNm< z=7z?aT%2G<PL(C8#Tp>1Gt(4`Gt=`@Qxw$H6!O#z6%=h13>2!lI5{iy{8H03Dkk66 zm!B+W$pNxua)zm5eOY3WLT+MS3Bo^c?|_8Cj@0Dh1Sv}ct8vT8Pb}f$OoO^kLk*-% zlZ!JmO(9J$I5Ry@Lla>uSe0*LUWsc(freU|jshs0iu5wUzS7jx<dWg6<>G|+3_ZZo UG$%jQm)`u(`Z&+#Gak9z00|e7&;S4c delta 1165 zcmcb#h;io%#tpj}Hy>y0WnwEXDay=C-<-tqlx1@*=SF3AJ-@`<R1M9|db<BvcyknN z6^it73o`RcG?F$a85J-yCQWv?P@MePRE9BWv5*;~Oi^k{X;Gd+a(-TMNn&1!o^N7y zs%Kt_nTbZ3=41`?epW8dq|&s>JIxL2OVc#DxH$FoL5j;#i%Jwq@)dG2OG<K56;kt3 zG86N_k|F*s{u=2;nVJge`T8(p6^b+ROLI~bG7`&D6%rM4^NUgyQZkEDlS`n66=&w> zDWsL=C6{F8L(EZt1C3O@bUht~`ux1)RE5kEh2qkJg8ZVAVueJ7q|9_Zx19XM5{0D1 z;?xv{%-n*U)ZEm(l0=X>np~V|`9%tuItp0|R<;TTItn?dc^XNjX_~r*)(V*lHVRqR z5LsJ=Ol?CQg)Ch|g=#KNkdLD?V|5ggO4FjVVijz`4E-#qNM<Y-XDt^OX9dVmm=D1L z=T?-T>r`2iS`4ye@=tR)Wd&Q12O&WlnwMBq>0h8xlAoQLrxzURq@z%wqhK)EAV7Sw zmW31~YU;tJ!Xr(Si!(C~VMK6ddY(pwrh=`lf&tj2(CDjxxG1%v0OY13y-aWnYI1QF zmuHqFXMmI@Cl;qFfE3s%7+7&}a#kQaEjS}Htwf_jN1>!1;y4c<9feX*vPrEd(A4DO z1Vy`RUU6wrszOOdVu?aYMk*+<^NUJSQxv>2^HLNtixt2zp`(zRQw&m-Sqyi#LT+NE zLQ!d+LS|k`KE$x3%#z~Fs#JxX%-qb9Vuk!Xh5WMAqMXF~qV!advefj{qGCM-*Rs^S zlG4PSoJxiARE6Y3kP*ctsfj5Hi7EL7B@nYfj!7&iD9TSv&QQotQ*icCFtV^PGd2Rn zAjqwWB_Oe))SS#zuvN$@(=oua80;sAS@q?qMPLUM<)@S;gOXI9LVCWTo}sZGSOJ(& z04MSyx6HhhoYYE9D~009yku~g<m9JkCM#rs%qY(+$xtZCEKqRIR{$s7@>GSqe1)9+ zy!6x}h%wNV46(onWI;tea<qixgM(C~LX(RV9)C8F_)7uBG(7b|A`s3+<YGfj9R+BD xgU6{ZEK*U@fKw(YeG2&(fYSju83cy<>nNmv6X-5eq0MrZ$9dod%v0A~ZUEA`bd&%9 diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/unified_no.go b/vendor/golang.org/x/tools/go/internal/gcimporter/unified_no.go new file mode 100644 index 0000000000000000000000000000000000000000..286bf445483d8ed2cc02985bc1e16fed22093deb GIT binary patch literal 290 zcmdPbS8&cRs4U7%&nQtaGB7ey2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?QC~BnV8|oQaD5$9^r01tr6r>hq=BDPA=#}PWre&t4XoAewhN^`s xRm7%{i>n|pIXf{uRUth&Gq)hWs3f(Biz_)lued}3YL;h^f~`VYVoq@?7Xb4gUwr@o literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/unified_yes.go b/vendor/golang.org/x/tools/go/internal/gcimporter/unified_yes.go new file mode 100644 index 0000000000000000000000000000000000000000..b5d69ffbe682d12cd588e44963201e69bbf3d8b1 GIT binary patch literal 284 zcmdPbS8&cRs4U7%&nQtaGB7ey2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?Qq~{yz8Coc)sVSuAr&biC7G>t9=9TD`=4Ga3rlx=l*G5*TgH;t* qL1J=tVtT4VdU9rNL4Hw5Y7rM#a(-TMi2~Fh&maX`g_5GuR4xD(_+E+t literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/ureader_no.go b/vendor/golang.org/x/tools/go/internal/gcimporter/ureader_no.go new file mode 100644 index 0000000000000000000000000000000000000000..8eb20729c2ad5a727ee314b291b8a30343e90a5a GIT binary patch literal 521 zcmdPbS8&cRs4U7%&nQtaGB7ey2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?QD5mEd>KR&qOwmRa;VMW>&Q45ERY*_H%q_?-DoHKk;)1XgG`KjG z(sE0bxHy&4^Yu&evs3e6?8<`FVkIt3F0QoFykvz?Pq0>(#F9jfwBpnf1ud{*J-5u9 z)Zo+-9R-Mi#R|EJ1<}PNMVWc&v05b{GxP!=*6S#wB$gy9M8_somZa(^6eN~pC_ofy zDrm$jWagFVC=_I;E1>I2Eh<t-Eh@?{(p0GC;so(*71DA`^jtw=X&MlB=jRkFB<JTA zWagx%D3oWGWGEzpqNyyks5mn}Pa!q2C?_+u2o$b)3ZP&D1#Vt`i9%6oVv0g(US?Wm eYKnqqkV0w&D1g8&Rnp|*EJ`gYEz0An<pKccm8;7D literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/ureader_yes.go b/vendor/golang.org/x/tools/go/internal/gcimporter/ureader_yes.go new file mode 100644 index 0000000000000000000000000000000000000000..3c1a4375435a79f34c736e3631f68d2e8d41c5da GIT binary patch literal 14895 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 RgH=JA!!Th~w{z8U0RXKo>Bj&7 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/codes.go b/vendor/golang.org/x/tools/go/internal/pkgbits/codes.go new file mode 100644 index 0000000000000000000000000000000000000000..f0cabde96eba92f937f973f45c36a346cae36ce7 GIT binary patch literal 1726 zcmdPbS8&cRs4U7%&nQtaGB7e!2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDima=CuNotbAiloRB(n`l$fWGnpc{uP?nfeifU$R9>_5uQ%mv{Ksrl` zQWJBFK`sXw0XCqdvLLlsA+ab`p`a)=Ewv~yDF@`3B8Zt_SsjI>)a1lcu!B=86%uoD z^2<T`T~a~D7b%qFE2N~Bq$Zarq@)&C<|P;Fae?$f9hg^=T9lTUoT^aG#i_5a;G0;K zom!+&lv+|+lvfP)ZE$5?GE_J%zX&V@a+-RvLP}*`Vs2)#0?0T$E>4Id4NV1v4lb~v zVPLN#n+Y`_zbGX$FEIxaHhNr~V1*i*3YmE&T(wBy7?zl$kdj$kl9`uYnpvCy3X$CW zymW>1eEsD7yyB9?yb?XIUIlQNX6B_MdlIA@WFl8uX<o8|Ml#svVTn1KP~W1sSfLu~ zd9W`)T5B=&f$f60Qvn9x`ZDuMG?FzHAny0eFG;lmrPtzAh%cd$S(=oSnXHhQmjX&) zdHE%vG?tu^n3tZKqEMb$l969p0*b@Zf|Nv%ufd_7p05uI>0*V<+=Bd~lGLJNJuWV= z{}nXAVds>ep9Axpf~`Vken}!&Jh-GNGcO&?^vo+UGXb-lGSfZtN?^>OL^#teCqJ=- zOA{&hLn;eWafLtFMS5Tr*uowxff4v1Q6fSgq)Y)d_(4LN3WG8HK`wJjEY5@^FAxtN z1t5-JVs2^*7bl1rke><4br4Q4sI-AF9gB(*D<MqhjKn+$%QvwA!U)bx&r2*RElP!Q zONvU9OCW4dka3_)4B>|6W#&V5gRM&}O3X!xPyeJW{L$&3lm#j;utg|HFGhU&CuI>4 zouEt)(vBLVV7-GeLj9An9CI=gi@`Yx<Zf7w@=wZg29-Kooc>8!pb!Q#+)DG3!HlrP OA}}3XQkul2$prw|Ge1ZG literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/decoder.go b/vendor/golang.org/x/tools/go/internal/pkgbits/decoder.go new file mode 100644 index 0000000000000000000000000000000000000000..2bc793668ec902f0c4838284f1c51896f70ebcee GIT binary patch literal 11825 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/doc.go b/vendor/golang.org/x/tools/go/internal/pkgbits/doc.go new file mode 100644 index 0000000000000000000000000000000000000000..c8a2796b5e4cb2c724228dbc919e6d0ffb4da3f3 GIT binary patch literal 1543 zcmdPbS8&cRs4U7%&nQtaGB7ey2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zfwTl9CTAz6rz#X=rzd5W6f0!r7UZPnrskCtE9B&t>*l1ErRIRF&df_!NK7g&DN0N( z$;{6yR!GY)0_hLU%S_8mO;PX+QZH6WttiMZDp5#DEJ*~(=O&hbJOfhZSfY@KFi=M! zQK0~8ab~eXqC#?hPEIP=V34mt4k;;0P0UqDg}Mb~jDl-oat2I9AtMo_PboVyFGWcq zF)u|SQ6UB7cO8Yi{5;*f)bzxX%(7I4%)FG;3W#o~QLu0+O3X{i&&{b+NK8&nEiO(? zQAp1$O9cm0W|0EOT(Gfl13<p;%uC5E%S<Uv%z?S1SRt_}RiQYwurxI<Ikgz%`m)5L z%*3ReRNb7^y!4U`g|ft)($r!Fja0pKJsprKnRz9t>8VA<Itoeo`8lbHdBr*k#U(|V zdFjPE3hDX!$@zK3C5d?@P@Oso$wm3a#kxhQX{kkETR?`C<SXQtWTY0s9ipkHfF73x zMfqi!DXGN@jsc$F2vbPSOU_RLM`d0L$dr^+D8D2lwKx?KL2#>+N=v{ACndEcF*673 zzud%vg3P>hkoJts^o-OZXd-dXR{*=bs5BXrj`B+K;cf#Z+nm(25`~g{1!O%SGmsM% zD55}OuCTbuO{_%sy+SG|89@AAo>`Kipj4Ealb@UjPL+B}3T}{enOczuO36A3iFq(* zC={g@fHGNL2{;543i3fQQKV2(S&#}%PY9zx&H#rvC|*GB24x>;as=yuxfRvhAO|Ob z@@j5DJ}6CrQz<xDQgd>^ZUiNf+|rzq%mPTBg_>Ec2XeUr!r2NbsmVEsMX4zYX{C9P ztN}7SBe5)1AwMq_?x~V|kW*7qi<65olR#NNRUtnqD>b<Un&K2dxjHW~H&qAhY#oJy z{NhYdU}=KFCPg6;q`f$`Ah9U11ld#txRD?O;BH9DPpQ;X2mzH#i8(p><)CsaF(tLA z7;H>_ZmL3BPHIJFQf5wONhPS*Nli=3OwLTrE6J%;C{9hy28DfokwQ_bZc%C?I4y#U z3*_vPlbHunRg_v-npu<zvH`9Z6bmSB0hKe5B$1hylbM$aPS(kZIXOBCpwy9HTB4Ab znhLh3Bp+rgI7vf737UAJ>01*Pt6&d8i>87~P@I9&N?u})KD?v^mldGW9A0LEBUq0M KR<uD?asdGKz8AIt literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/encoder.go b/vendor/golang.org/x/tools/go/internal/pkgbits/encoder.go new file mode 100644 index 0000000000000000000000000000000000000000..c50c838caaecd10929f46975feba32f3ef25903f GIT binary patch literal 9536 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 AegFUf literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/flags.go b/vendor/golang.org/x/tools/go/internal/pkgbits/flags.go new file mode 100644 index 0000000000000000000000000000000000000000..654222745facd222bec7f8c9989c1fb5f5e204af GIT binary patch literal 253 zcmdPbS8&cRs4U7%&nQtaGB7ey2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDima=CuNotb8#i-=M|SIXmD|+<s_yDSLP-ACKhF<78NVlDi|u**eGP? mmn16a>x1<xq~#aog6zr9D@n}ED^@73%u80tg=pZ?<N^R=np2Pf literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/frames_go1.go b/vendor/golang.org/x/tools/go/internal/pkgbits/frames_go1.go new file mode 100644 index 0000000000000000000000000000000000000000..5294f6a63edd7dcb5617fcd42a44f6b8dd241996 GIT binary patch literal 476 zcmdPbS8&cRs4U7%&nQtaGB7e!2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?QD5mEd>Y0NK(MAyfiG=vO_-o{*q~;bBXIE-kDFmhF=9i@^B&L<5 z7AYv3n3x)vf*e+qTAZI#mYTxFRgjpRotU1gP>`LTlvz^D#g&;`kY7}ypj1?vSCW~V zs>H>WR+^WrP@b5R?N*eSn_8?<kX)<~9b1~2S5i<?q@z%lS)5s-kOq<q12OZ9G!?43 zIMecr6ykLh3X&D9Y!!+U^FVea7lULt)AGP#5DWC&O7oK4@{0nTH42h7xi~pN9@bIF z$;?XysY=V!bIZ(0^~uaj1<P}Ba)K??Kq%8uNXygnOUzBx&;;41o0g~NnpaX(siCRK K#aYW$%LM>7ZI`hC literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/frames_go17.go b/vendor/golang.org/x/tools/go/internal/pkgbits/frames_go17.go new file mode 100644 index 0000000000000000000000000000000000000000..2324ae7adfe20de927093f5ed2410a4681a46cbc GIT binary patch literal 627 zcmdPbS8&cRs4U7%&nQtaGB7e!2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zap~))=UXL}X6B?Qq~{yznS;#GM&@%BBqnDkrl%?tWTz)(mK1YwW#$&-7nLX|6_w_d zWag$SfecY7Pt3`7D@x2wEmlZQ%*iQMD9bF)EKx|yFH%TNOwIrcDx`rFC={g@fIOO4 z0`WjWaxuuiAd3r<ixrA9@=J44K+aB7C<gfk6bJ#%#X1U!pa3c<g?Sumy`FPoPEKl3 zu^v}iX<jmtJ2XJ1MaPzA=9Ltb6zRYm1ad+c$Zh#WnhMoioSA6~IjMOd#hMDXwh9Iy zG0vh?kUd<SwOm}BU`H1#SlKF|*$DA2SSJ@J$fMO<oDkJI3c2}3sUR&7&3b;R6(t&) zT%4TXP|*O3>bYg+r0PJzM9(KP56*Tg%}XxH%+G_#1vu+MG`QxK6jg#u$xKsF1ls_z N5$;&dT9AWlxd2Z_%v=Bf literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/reloc.go b/vendor/golang.org/x/tools/go/internal/pkgbits/reloc.go new file mode 100644 index 0000000000000000000000000000000000000000..7a8f04ab3fc665448d6ffc97f5cf6271ee39c5c5 GIT binary patch literal 831 zcmdPbS8&cRs4U7%&nQtaGB7e!2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDima=CuNotbAiloR0vAV$xrsq1nWx4OinCGEmlZWC`c?S$xJTINi0$* zPE9V!%+FIO&n(Hv%u`5ID9y`E%S=sC@C;H&ttiMZD$(OAsVqoEF{uP%dY*!3UP@|( zLQ!e~$isOhAhSW1mlUNY<|?G-q~@mPl_+F_6~Qe)SPpU`)PATX5c4wgpcW_;ft>G} zSE8T+W+j51nwnQqRH+FHzQjBQFb5PQAU4E8^<ssb{N%(Oknu&SX{kl2dC92?C5cI( zaMITY35WQ*_-o{*q~;bBXIE-kDFmhFCFX*{I<r`zBtIYO8gSr&Y%eY;Dorj?sOI7X z2PIe>#Ny)gOsP<SgaTJBI8cJ1F%R-}W^!sVEMP$~mYZ6V2=NlcBXGYb=jRodC}?nT z29ze{WF`mY=a(Q1R<Knt;NlD@$}CGPNrg#40?JmwkV}(`3$7jPu;7xS%)E4@__9^V z%r8mg;sne3rox#4`Nd9&#i>w<fb4WA%P%n(CKys#0Au<mWkKcrld@bZN)Q~E%w!nP WDL<u>i;FX_G#6}Hu>#a?O)db=M-@&0 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/support.go b/vendor/golang.org/x/tools/go/internal/pkgbits/support.go new file mode 100644 index 0000000000000000000000000000000000000000..ad26d3b28cae1e3d2c0e97be8090bf19811d6cd5 GIT binary patch literal 344 zcmdPbS8&cRs4U7%&nQtaGB7ey2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDima=CuNotb8%(n7UUO|C@7`nmMC#?rIqF-D<l>drxulHBq=22=jUiD zRC94=rYR^Uff$?xiFujH8cGl)nfZANX^ELRsVPdDT%5IBwNL|6i;D7#(lpZYi*gf7 z6pBlVGV{`P6cUTlixu?r^fL2GQj5|OlT)i}!G=SOOv^3Nb4At%(V(ZNr>V(R%LM=^ CR&b^O literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/sync.go b/vendor/golang.org/x/tools/go/internal/pkgbits/sync.go new file mode 100644 index 0000000000000000000000000000000000000000..5bd51ef717007b7d9b0ff183ad6aa487cef066d3 GIT binary patch literal 2024 zcmdPbS8&cRs4U7%&nQtaGB7e!2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDima=CuNotb8%(n7UUO|C}?nTDy8L?C~<Kr6_*rc=A{=aacOdaY)H#3 zaVtv9O)XYP%P-1JEGbq<R7grp&MqlROa|Fiq)?O!G9oiCU7;v7F(tJ~zq}~3B(+E( zCAGLRFS%HcE3GsySpja2MnQ71f}WmUX=YwYK}nIOLUb&|N`-1J&Z5*}1uI*H+{Elu z4Vbu&f`N`gPHG-VqoyVoXL({yHpEFF5gi4P@fsliDL~B8QOL>6OI66sE74KNOUzA$ z3+Jb$6{nUcz%8!k;^frVR|qM}%vFE|Oj=QXF4)A9%=|pCc0C2p67^z*tkU8Vg`(7y z(!7+!yb^`H{LJE1JuXg8uno3QJBsx{h6NO*re#)WfMj$Ol#+8(^po>*3o>(3^)vHI zQj78ubM*7_Q&Nlclr*`xIKh6lRY)u-NX<*pC`v8X0fm)ba6wUKUP+pUl4`M)YMGUS zYO#X0L4|6Wk`6d7A)bVIP)7mcGf?2vYJvi>q_ijxl)SiVxwuLy3sM!*Kv5W$S)5st zUj+6ZIROSv55bjr$-aq2*{MaKq?wqfkeXMTs{pnHoCu3j3qa{QucTNZ7p$xpk~nh{ zD;1K!X%>_`N>cL_O7ay_D?mv{AtkXS5zNgiE-eBj=2U1>Qb^28Q2?n=Em9~hNvs4V zNKm56D9X>vtODg6u*Jx3$}0gmGd<rbJvA@2D6s?<{i#I?x*)~2NQ!k!iZXKxz_A4u z=Hg1u&npJ!hIj=eb+!tb`6Y>5T%gnvP@0sJnGE-vMs{9)IoL1h`T8L9ixnVQDz&Is zQxBrWC%;@bC$%g!2b7~h`2-p;dR&|!OI-ckAPlGc{2U0&Gq1$V1i}o>M6iRwSrZ~2 zmY7qT3THwXL8&?U$;C))2s5-e6)XdBjYnpBMrsk%LHS8psmUeaU<NrJ<}IkpAby1y z5|9ryI3T~+DX|!8wLe%tL<NLx2;l@|r^6X8sc8_lZ)!<KehP#gQds~s1H|%7sXzz^ zBo-y+`hm(Eh*)rDdR}5lX%SRCSQ_RSkWz>$=lqmZ|D-GkC%7^f!tlvYPR#L4NzE&P z@PkuxQj<&aiy&bUP?T8)N+Qq*QP9ZG%c)d=M=4U))r18JL<bkdG`G^cWY-F)(P4>2 za5l(Ka85u`VtOtp`G8})qM*npvlyz!wW6R1>J<<ZVk(FQG62GJEH2JW&x5f23m`Pe zUY|^;8P55+1t1PY$|W@!nutJ(obppDA>#f8sd>T4`LIBD&dD!MMdv%_<(Fin79k0P zOhbwZ7#HgO;F8=DsOz0_@{_Yce28tHX$ZDkei4EbT%K8yoPpp6CFZ54BDl_p#i`CY ziKVdg<(!|Ji_C{aA3{CIK~NX?BqpWiq^2O`LW@D^0h|CJj&e*%LE`yj=4FG5Xowt0 a8#L*Hn8mJn&~yqm7NW+#pajCx<N^TKEUYX5 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/internal/pkgbits/syncmarker_string.go b/vendor/golang.org/x/tools/go/internal/pkgbits/syncmarker_string.go new file mode 100644 index 0000000000000000000000000000000000000000..4a5b0ca5f2ffcb514daa620b8b3177ecfa28e44b GIT binary patch literal 2882 zcmdPbS8&cxNmWQs%}XsxEJ;mKNUBs&DlRF?%u7!#QqV1_EJ(EtuFOmJO)Sa=3lwGM z78IqXWmbTNm8=z9{1yECLlj(HJVW%jxC#=JvlG)(6$-M`lQK(+xwtZO3-XIfz-A`r z=angOaix{!B`d^hXev~5aq8<UIOZuRW#*M7=47TQBo-AVRw`uXrKDCUDJ19T7G&n6 z7Ad3_73CKx6lbRAWu|4O7AurwB$g<YWTYx2=jRodB<7VUlqKerrWPw?B$lNrBxfY% zrKhIofejBz)h#N`11pAmDmgzlH!&|op(G#fZIFUog~as4%sf3V&a%WJg$jje!`R}I zqSEA&>RK+&cm-R9ifB+kxca;48pa}vIOXT(=o+C2dFGXvndlm$h=pc?1x-){gTW!K zYl<Qm2J(%r8M>IRIf_V7YEFJ~v91NCpspo~SZHx7Sgo$10g8A)X;MyRvaTVjZvyg* zbq!H{6Odo*lvtdqYl!M0|D>$c<Pu#&R3AY^4RsAs{S=U$u4{<urGV^om((;}LsW11 zrj}&nr|24@`YWWeAXV28)n6bn&y)&XBUEpJgaZ<b5_A0$b5o0TjZnQ8oSB}NSW;S) zs%wPiNsyLeT_aRKf(_C&LiHjj$M`2@=^CMWF}N~U*9g^%KKaRsIi4x0c_q3=sNM`t z%}Grz$uH71LiK1sQD#|UNvf_9s$bno^O9XFN_34;{Th~71Qtd0BPayG!e~A$N=(m9 z)HO!+p=(7!kxyoEiLNoKCqd%Hy2hwp1PSUIqxumf2C`At7}bZ4#h@IkYmDkY{{mfO zOt1N5mgt(Gdd)dMw*V}R>Nl6v<Q!cSRF8oI$0<LhQr864YyJhPdBMr~1*y6wsD5+K z$uCZY%Ak4>EaRA$Uy_kp1XY0QTaf*bgk^&2U6_Qf395&KOL9w!bxlzH?39zAoDGuE zHAVHcXBtEl)zfbIMG#?Be+QRmmLz9DWKew`1S$d{5@<e8EKYUKNh~c+)ip))d46s# zOa|4<kfaJR4b#uXx~8Ze_DM`i%}Gsxs7Lj7XmP54QWiK<=$fH=+%Y8uDvs)PpUk}M zyu{p8T{ASlm*kch>YAZ?8)Rp(YhH@38LF?rPSQ0)^{{_I2~^xHmaCSF3tX8f#DmIs zNM#ofvRA=YLCMwM4OGU13w1~-4k@<5<#bqL4!CqJ29vO|7E-nb<QGHBPDrT;Aq@kv z(;;Oaq^tvF9uW3SsQ^*nA_ttr;AIt9s2EH_%bwuMTySuK%N9rk<rhKA4p4S*ttf$% z4ImR;D@p>uc^{NjL3tfS7lQ~82C0DLRsRBzR-eogXx;-QX^;pgZ^82tIER3<2AGAM zS3v5)4u>(o@c~ckkhBd=%ZRiKPpi)GwCM~_ix97Y%mJBM4302J+CoZ8u(Sh9D<I{D zAOe&Yz*=B&t;EFzs@#zy8Qj=VuvLiG)6<JB&CDw?G^;kyQ83m~FxOEqG}2Kpw9rv7 zGSN{mveZ#9Hqucrw$M>9G1gHqHPlfsHP=xvGtf~mGuKftH`Y<GFwjx30MV8@3YMli z3YL~S3Wf$|AcG7*1c+;Fs-s|N0^*v0Y%m3}KxP=4S?DMjnuBC5z}AAeAVZ7{40RNY z3@mjNj0{2U06WOYOh>^8<QyYokeCTbi3!N1rbapnMj-Qy%s@KKL4>85j)Jj)sg8oN zp)rWC0QtmRN5R+_#09y<7~~9NQ;-)y+KfTkj4eQ1OA{Rh6OdjLLo*!(6HrK)fb2Cf zHrG)wF)`IqFahZ`F}0|LHtjSr6%d(7Qvs4!G&B_;4KPrvFH=F+R>6>qGc!#gQ^7{T zK%u5aAydK57D=B*PHLV8Mm%Zi8iJdRoJFZ6rA2uPN(hTIloYf<R)89rdT#kexrrs7 zc_kX)MwdpWwxK2{CNvea6_hlUxHxOMU`8O@0m|^v$O7QR5uF)pg+)-?Fcws9003(V BgMt76 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/go/packages/doc.go b/vendor/golang.org/x/tools/go/packages/doc.go index 4bfe28a51ff520c88d0b1f37724d9e1e85b9b603..da4ab89fe63f1fd40823c0dc0d7bec392a02a3b0 100644 GIT binary patch delta 12 TcmdlNwl{2p0ncVb9$t9>BE|$T delta 12 TcmdlRwl8dh0ncWA9zJ;hBEAGK diff --git a/vendor/golang.org/x/tools/go/packages/golist.go b/vendor/golang.org/x/tools/go/packages/golist.go index 0e1e7f11fee8c102578eb752d48bccf676adb821..de881562de1d76193f637a9632cdc404092efb5e 100644 GIT binary patch delta 2212 zcmeBK%=BXm(*{1K&1y{hWaaYm6$%oQvlG)(ixm=!QWc6)OG=CKQd4xeI63w8CqIyv zo}{3`3gKudTwpO!sHvI!M?rG)XNA|?x~{oNsVM=8B_*jvdBqAK5FJ}wQk0pO&cz9q zbIZ(0g-9qUY`&~>jcsynw#MYvXvxX!CcKkZ8r$*cD5U3yr4|)u=I3cn?vs(<%x>Z= z%nH^#S<+ovp+FDJ1{<Uaauvj2n59;eH@J!Lf|bC8HoLh0maWe!&d+npNle#BPD@wN za?a07%S=bIOCd9_L{kCcR)uOV&dfA~I}~gb3@t%|oRH8^P|^jNro_cr%f(riSfr4a znVOSQtbp)qVoFMCih`A`LT+Mqszz>NLG)xECGL7nF3!Z16gP-!D_e!M(!6Aiv|<H4 zJw1rcnqXVf@{1JWbrjM-1{5XcrKc*S6@w)}u2KY>9i0{n5dj&PngZh5DwGtJrgCv| za&ki5W2=x@P>`CJq5<LS)GMTEg5+ztI6*G2MRJXXl3!wOs*;X^l4ou~eo;w4Vo3&w z=UP;hU!<g|ps%kGl95`R3iB!`X(Z;9Csr0K<fW#jq^5vFEIBP*&o@6MRn0FoH3b|) z3W~N0pd_LIlA7$mCs7X%01YLV%p#B-?)hM)Af{(}UVc$(3Z{sENk(cBT$wYJ1@erN zb2>u5b3_DGN<qmN&hmh>+}!Fx2@qseFjNq1MsRs%I+U-V1mYkY6kJ&hwE+}*nQ36Z zgrpXiKqCdoM<7uo$44OZL7Hp1*gzqlnKs#)PqtoPU%@#)w;(eI?qh}G)YRN!g_3-Q zq*R5X)WXutqSO=xP<klINL46FEiO?=PApDU0GaEYp6{0*T$xvrSOLlg`uYl~WvO`z z<r%4Y3cATqa}_d+^VCZe3KENpQ&SW&^Yp+uS0TjT#b2Xd+0@9y*i_R>AvhzyG$%!& zJQbW?72tLy7H5Mkha0D(kYA*bSXz>wn^=;WoS2hS2{8}kRFLD)y_1=zkepgnk_e(R zi;_!oi%Syol2eQAxi~o!>tR^|o)XZsD`|2;LJJ(?@Pvh?3X;UCK_(J3P)9+@wE~pB zK}OftVkTNh>Mur^sjsgP4hqpsaJGPziG`)9#U-gJItnhS1^#(Cl?s`~3Z<YBF3DF& z$t*6(%u6rLEY46!N-Zf*P0fQBsgTf0ttiOJOwOz?$*BZKGT1DI#Jm)RlA^@C;>?oF zvQ!0_h52a;B^mj}sc<tuQHYe}pe_I<X{h57Oy9%;kViqq1}Oi5QVmj?tp}Gw8cHBx zB(2~?3*$o)Ew)&2Ni9GMCM*tuM_y@hYB40#T@p(YLFF%`m;<H%pj2>BD!618DP-n> zQ(kFaPG)v$P9-FzLo|ZIH!r_LAu*{qKc}=L6+H|f1qnng$j4|g3o4>K^FWnSVvbvW z5y-;|injF%2H-Lj$?Z@{0!Dzm4lWpR20$@H8jCrglF>Imr8Fm1p&nc|q9t6291e}( zY7JaYArdH(>k-oU^uww}g<x#<gUx^`ff`c;ZUaDTJzFIOZD>7Ntml=VnFp&~6qIz7 zG$)&->hq&jtCLexOC&%QCan5JlGoh)Aax5Pvx1u1<d1Elte^_LcJiBaxy{?tud+?n M7v|YKC+~w20CD-ke*gdg delta 145 zcmeydg{fyT(*`~!F;1oQ{G7zRbiMqdbo~nbiqxW_{G#H`JWK~<C%=;yXXWDL)YqTP zs-Q91Na4a}6~$-Vo1Jt|vrUdRv18HH)6<)*SSC8TPlkQ6gBtJViza5moAW%r%1-{C ut2S9DuY_GmH>)^5Pigaxye*8ZnmSyZwUh4@$ZcL;aFvZ6W><arPbB~<3p51) diff --git a/vendor/golang.org/x/tools/go/packages/loadmode_string.go b/vendor/golang.org/x/tools/go/packages/loadmode_string.go index 7ea37e7eeac3c3acf27a65c879fc1793d54d8b74..5c080d21b54a9a1534d10d8a9eea76883530e2dd 100644 GIT binary patch delta 16 YcmZ3$K97Ba4dY~6#@(BLGA?HX05XRL8vp<R delta 20 ccmbQozJPs$4I^XmWE;lajK!P3GcIQY07jb!00000 diff --git a/vendor/golang.org/x/tools/go/packages/packages.go b/vendor/golang.org/x/tools/go/packages/packages.go index 1b5424e78f7a0e656548f4d6dc0b2e10cdd45d4a..a93dc6add4d8e7764f4db3fa24eae59788b9408b 100644 GIT binary patch delta 1410 zcmaF0m1)WzrVY|8n|HAsXH;~{%t=*9Oi3wLaIGlFFDe1?^|(0wQd3hP0+W}pU8&DY zO-=F4D@iTNOU!XeEhu&^D#|Y^hUhEFNL9#$$|<Cz78EO_LS)l2Q*%-j((;QGN{dq! zk}4I_^9yo{^|&~(o5sb(sjshqEa#SA6p~t8qL5e*avzF4X;3M!9eQA$Af?3$xuqZt zImP)3NvR6OsU-^ec?uw%$@zIDsTCz)=agh*7At^tDwKfL733F`<|LM+rl2_v>Hx0E z#q8(m!Ipr-B{wNG1r$!u0C0u#VF3phfcOcnDIl=~6o$z9U_!`RVPagGTwKZddBr6P z8eE*4eL0v|T)>WSNi8T!O$NEwN&##(IOd8$PEyD$R!CIH$Sf|&FUm|#%u&eAEG{lc z&B@8kOIOHG11q20!zLrBU<+nL;uxfJvmcM694pu_lQ}g_J<>9BQj5XXrGmVZlA5AW zo>`Kike+V^7SQA31S<yVEmnw*EiNg_%u9!O7%Tzx#bjPhSvQEU^V7glQIMFNotU1g z4lx~Uj{?|8oOVEs+FY;ogm>~Gb0H0+G-wM-d>Y8f1|g|A`JlP5A~Y5iFjYcjHYZxF zVS#%6wv7=#vh#}-6eh2;(b&vudz9G$ECKegl>!(P=plr3xHusp0(EUMNDWj0RA}>A z2PS5O4v+!`1%<Sn#1ca0Ak;vOn*6~*Z1a8Rvw~b2pd=7dS&&*hd2fis<};zU`JjH; zm?F&qvu*OlG<9Au2Wmj^<bP>mJjf!G8&l404oLNp-#ov?fqC<zb}s(<cpZiOYy~S@ zg|f`l@@S>>e7)j~#DY|%SZk1YH5Vr+&pIY2=a=Te@>Z%sL2+tnN<K826%d*fN-`2l z6w*^miXr-vi&8;}7+f@@=A{;8CMzW8r=;p}adLvJ^GVHP($=2*WSVM1Kw@5Ia+-!x zdVWq~Ub<d>QM!JGeo20QPO*M^zCP5ZVk?Exywr+<)Z~)X6otIhas`-#LP{wpaVq5G zC#HaMfoidmjzUgBcDi0bc6vZ!NycQ4=?4?Q0SQVxHSiEcusrk9@--C{Z50d@V7|`D z0VU_+RE3g^%)Insg`(8L(#)b%h3vfia!_^y6+4-^ph8t4y(qCDW3u6_^2sY_IRXGf CYVSh; delta 803 zcmbQThw0T;rVY|8_4@h>A^tA@8o7xjIr;fXnpO(o8L4>+i3(vx3i)XY>G}EviOJcC z>8ZsEnZ*i4sX3{M#i=Pe3Pq`TiMgo?eyOP`t`!COMJ2^<nK`KnCHY+X`beTsL51AJ z>{Nx!5{2aayyDE_lGMBsh4Rdj3<bH8j8ugHhz$y9nW;G`3YjJ9#R`cjDVcfcdYdI# zPBL;sj805RDOQ-A!7DSFo$bQpTkIz{i*fR?Y@WvJAh-Fn&K2Ix{MM^jHmf@vW!`M) z@|S6HsEfenPWQ8dlg+{vHdjR6=9~OIV+CXJ=J}aE@=W^rn_qP}GJ|NX9&Y~0`)149 zyCs$+=A>yTh32JJ6r?7Xq^2l9{jQK)l$uzQnV+YSQd*Rmm#&Zs_Oe1sVo9PxPJSZD ztxA)v=Nz28Jd1C#UpPlSNYFPwB~=X+K%Tka08+5ERWMMf=Hlek*H`dN1BX&bWkG7O zXI@&q4oXnxrKYA7E0p9bq~t4<R2HNrXQU=)gDlQ0DNfBvQz*^{2WDa(#IVHT;{4>y z#FA97Vuj4SoV0vM_=1AhF*rm|Ap~qzalVd1d8z`)cm<FYl0P6OrR5hXq@)(4=B1?O zC1<7<>nN0GWF}`Q<fbO(6(h9fD<l?YD}WT2WTZ~sI8j7X527F0yP3rbrNyZ!Aa9_l zo*Xk*F*!309CYwda!D;HR!{^5k(wH+47TtK2c;g6ZD4J1KjnjUDkPRDfD-ED4HHF4 Nc3C-N@#M>M9RW*f7!3db diff --git a/vendor/golang.org/x/tools/imports/forward.go b/vendor/golang.org/x/tools/imports/forward.go index 8be18a66b3c2577f54d614e57a0f273f87913b5f..d2547c7433822575e310d227c1433540642c6caf 100644 GIT binary patch delta 24 gcmca6d_#DHFdO%yhB=AF3Ylq-8s=`6VcW$F0Dp@K`v3p{ delta 22 dcmca1d`)<RFdJt=LSnH(W}3SCW;wQ9%m7#!2MhoJ diff --git a/vendor/golang.org/x/tools/internal/fastwalk/fastwalk.go b/vendor/golang.org/x/tools/internal/fastwalk/fastwalk.go index 9887f7e7a016e02f84e1eaf82d5745c537a64200..798fe599be4ce56e63d78a72cb85ecb578e1ab7f 100644 GIT binary patch delta 26 icmaE^^;~PiYgR_x$!}PvGwM!mVXI)&-Tap=iw^*oL<%ba delta 26 icmaE^^;~PiYgR_B$!}PvGipt4VXI)&+WeO-iw^*n*a{*5 diff --git a/vendor/golang.org/x/tools/internal/gocommand/invoke.go b/vendor/golang.org/x/tools/internal/gocommand/invoke.go index f75336834658436e6eda0c495abf952be2f0d35b..67256dc3974cc2ea302a88380422b030a5cd0eba 100644 GIT binary patch delta 55 zcmca=|H*y>pPX1`nnF%$o<?y&PG*Uwf~~EBkwP^W=VTr^d4A5+yt3%*SOr^!GA>Te K+RdhN3m5_H-4GA} delta 52 zcmexlf7N~ipPYKOjzXD&m90W?K~82#v_Y&6lw}yp#mSkPR~DTet6-~8wmC>{0V4p> C%@E-L diff --git a/vendor/golang.org/x/tools/internal/gopathwalk/walk.go b/vendor/golang.org/x/tools/internal/gopathwalk/walk.go index 925ff53560ad4da2c4fdc40ea15184a813790499..168405322683bb0b6a9a45dd21395dbac8ec6a59 100644 GIT binary patch delta 96 zcmX?Q`OAF6Qjy6AM8ug>GK(g6OUrD&B~rpXd5MI`<cZ?Klg~+f5-&(B$xtXRDay=C x*HlQ#&(Be)=He_Vo~$S%JlRM}d~%0WwoqDTPAW*9o=awt28f}#`J2=gMgaG6Bc}iW delta 281 zcmexme#&ygQjy7fM5IMB(-cZ73-mmTgHqE=a}tX*G!?2hUlplho*XEyEURd%ke8XG zP|d~3$*Hfe;8j{&qL7)MmtT~skXbU>QbLO-C9_CJAuUrAq-HXsnCRq2iRbkxnMDf4 zB}JKe=^#0U{9-+~%$!uuytI5xg{1s^uz>}MB^e4<whC#PIjJDFo>zWmo(9x7J-@`< zR1Hl{F3ys~qV&`f9fj1QA{5oGWr;b#mAN^YdD+DpApM$LoSA80Wr~yMOL9#<C&;dx qmY7qV%EejB#aU7eHzL1SFSsPJL<3^-<SCL3%qf{go7JSQFaiMK`CKRf diff --git a/vendor/golang.org/x/tools/internal/imports/fix.go b/vendor/golang.org/x/tools/internal/imports/fix.go index d859617b77452019e9be84cd50f3764448e7fb63..9e373d64ebcdc55b0b7565b3bd2db47e40a81934 100644 GIT binary patch delta 50 zcmbQ!z<juYc|&&;r;dV>yMMTUkoV@Us60*)H8q8t)I5z;J=eUlXqe3VWZf75su>XA delta 19 acmX@yz&xjcc|&*9=BZJ+oSWrSRAK;Bf(OX} diff --git a/vendor/golang.org/x/tools/internal/imports/imports.go b/vendor/golang.org/x/tools/internal/imports/imports.go index 25973989e620ebefeaa3b8baa56f10db2765efc4..95a88383a7922bddcce8e68085dbb59c7a576528 100644 GIT binary patch delta 418 zcmX@?cRXOj8J>E5eTB6AqTIw1x6GVWD6?3hBqLQJ4J1%pnOBlnp-@tknySa8udm=) zqL7<dsgPS*l30=oR#uXqotmcy(jA;y0#XB3mZp%Hr;wPERa#u4kXD+PT#}ier;u5! zP*9X#mYI^8qN9*m0^-*vC+6g&rYIz)m82FytuM*UO9vTJo>`Iswj#eMGd(jeF-M^| zzqBYhRY3#cV)bH$;-X}Qg2bZ4+|-iPB29(FycCcokO2^7C8;T3zvzIaic(8Ti}D~o zEXXfbC@IKKPAx7@O;IRHEiTO|(c=O+7wQtX%$&&=grq0`;3=P6!K)}zoLU0*sRk%) z^aApWH8eFRALmV#PAo1dEy>K$^UN*CFDfb4NGnb)(E;14x!Hj4J`*RLKUq&mbF+(J oDL=D<q2A=(3SrC&MtYNl6@4eiE2=On80$@LRrK0?R<Vo~0GYFqz5oCK delta 144 zcmX>eaM*9d86MHJ(!6AawEUvn#1gm6oK%gp%$(HV$?tgkSc6kbbQC66@Tuy7gg_jS zoF*4%W^O^Tf|ad8VsS}nNoJ0oXKq1$QAsgGYih~ljeMyrAT^r}`R_BafHZFw6k5j5 jWT-iLmtq)`k>+G!CEv-3O3F;env>g=yf$A}Dq#fx+;uVo diff --git a/vendor/golang.org/x/tools/internal/imports/mod.go b/vendor/golang.org/x/tools/internal/imports/mod.go index 2bcf41f5fa7107486c728d51743927be909b4908..46693f243393e4270db0348be3b95c57c3e89cdb 100644 GIT binary patch delta 247 zcmex2m+{Md#towEx?G%Psd*{+MXq^?Nja%03RboXX^A<-sa%|8iA4&ziJ5u6`6*#w zB??-T3q?eDxVSj=^%Z>cQ%ZAECx37esZT6QRme=w%P&ezQOL|wD9<m-E-pw+PF2Xw zPf4``tIjAXDJZtm*H6#aOV7_w&q*!LFD*(=)l1IL)h{T@FUT)W%+c4@&rK{YNiEV( zNiEJy&(k+CH8(WYg&U`ro5IDJnWm7Fnx|2umzr0m=bBd*t>iA~AMPLItrV-NU~8*j jpis@lIa!old9o$D^W;OaB9jda*e355;o3ZlJ;faWt@2TE delta 35 rcmew|pYh*Z#towEli4_w8LcL3ayT<(rcLhC6Q69y#=dzHN0K`L*Om(o diff --git a/vendor/golang.org/x/tools/internal/imports/sortimports.go b/vendor/golang.org/x/tools/internal/imports/sortimports.go index dc52372e48aea130a3d3c33082fc35cb93976d27..85144db1dfa2545aeb9b2f46bef85f104a18280f 100644 GIT binary patch delta 790 zcmbPj_t1XAF(-X}1>gLX%(TqZ6ory}h0@|wg+zto%)IoRRE3iK?9@Cxx6GVWh0HvK zf}+&4)S}e9WRQeHq5?=fIJHD?;?a*v`ube@`U;*U3b~1u3b~~vi6yBDB^e-vFcT(k zVN@3`$<GGqQqV$}y!joYG?NunLeD2NFIA&hFCf2ILsL`1PQg$cMJ7crxF9vTI66z$ zFjmhsFGWLBbFx2696MCe<c%zma5f+7zI3QK$h^#w%=|pJ{34B<#NrZ=DIh@&O&x`_ z#GK+(O|Z>eoSdAQX$nOFiAAY-Ag3r;*@6NA<Ytg^xEU#WK?NW+P~DRy+0@KncKN0j zrKf^4Yap4Ut6-?9ps%lxkyxxyoSBlUkeZg3np{$>I5~&y*k*Tj7xq|veTCxuBCykn z!K`9%2xjIM<QJ7F6odS&P@Y+mk(sBEnwXrS0F_8dP0rCH6!?0RyZBVFhW<gmH;jrf zr-NNxkY5~~lbWYdkYB6`4Q9>BR|M9GqNqxT2LI;Sf>)W%VNwXc!$crPYGU{N=DDIr znPgCug8dn75DN-!Q0%rySi)oUq{MwcWW~<;rFkV9nhMpRc;kf0Aly(;lv<XVUs?=u T0}cngmQ-ehnZH>|nvn$n!<-P& delta 586 zcmaE8Kih7?vB{i_A12E(sS2kRr<N#amE>oq=IOa*=A;IvmTV4Xl4f!PN$3US7iX4a z=I3b?gP0ncntDE&d8rC^3WnOK@+o@31*yr!(OJ5Nv3jm~DKMpzSFyygfRs+=XN`m~ z@>%!!f<!<jLJZGIEG_|Q2Z_Kma&dBUW~M0=1tb=w=7BA>vQ<FUmZBF_0Fs?Ng-s3Y z53mO`V8WV{53)&3{=jxj1k;N;3Y)jGyRx&SmF6W+{=gz8qflH@l$n>V1GWM^Jo@<G zFsh^4U65ZKos*iUQIKD(3H350Y$neZTqBLDHXS)YHpd8EW!42N00p;3fu^2sYEgPB z$cq|aVR)DqKupx!oFR6UNeNZ17#!LLvB*I-*;CSz2doTg^5jm*`_9M$;MjA{FU>2_ n&{U`f1u-XzG{PkXMX6<(`K84mXK8NUCZ)`XV)Et((u^zssT0aN diff --git a/vendor/golang.org/x/tools/internal/imports/zstdlib.go b/vendor/golang.org/x/tools/internal/imports/zstdlib.go index 7de2be9b4b7f51516424d7fab441b767e5f6e66a..437fbb78dbde89d819f00d19ab20ec26e97e94c0 100644 GIT binary patch delta 859 zcmex;pZmyj?hW@@nVd^E-(c0y<xDEg%t^`2OUs`g?#(DK6qK5nqNKyc$*BZlxn<_0 zZvJR=CXpk^)yFZ!Gt71K`YF;zlbhmnHa|J`NrXKmwZbQ}xMcIG+lhQEo<1(FlT}`2 z@}`&OrskEn78T_eDd|jZfAy2OB(-95*=r3(@#2!iyyR4f4W4-*UP)$RN$TclZ#FTq zIp^n<q*hF}d-sexGd(Y{q_ikCq_SYL<a-U~)S}$U=I=GcLn;eW0}_i8b0J3frIv^0 zW#;E?4twv<2v#)jgB1(NNt4fgkdQ!93D*dgyz?QRDL-$s(Z?%V0*)yuMQ%m;xga_q zzo=yTUui}Y4AJcxGK`@t>>i1EDLJV{+w&C|z4`0&QcE%ml&ln@V~b0QGV{`_K>-Ic z2jV&q3uLmP87kidl^dLs2@4XC4v-rV3P3!N84wZAfHITNyyAk?<jl0p)Ou)Cc?Oi3 z`DEs0`{XAl<~Zi$_~oah7Q;1|Av8eM`<51$1SA#}r-H15s6!C~*@-3`P?VaMSpgA* zYjr^5BlLllpy)x?4`zcrwSBEV<52<8{LH+P)FP;15Kc(`_G|}6Zf+hYQ2Go`Eh)*& zOP^lg&1l36ayVGjGcPTF`)qGU2X>a6{Jhl36IlJ3oJ-qff*H5V1T(!!WJ%1)@!S4y z3)4^O=`0tSCNjEB@4v|8!sS+4RTYw0l%86${pdxe9jvTQMX8C|(~GY&S#yArU}j!v q>hvYonT|ju;%*>GZ12CpbW4=Sv7jI|FD0lnFI7ord+Ix;X^a4al_}!@ delta 203 zcmX@|ocs5E?hW@@H@{$2)ZH9pyf<;O?NpA<x>H$=HoF|>5#5}8CzNmU;a5qMEna`# zZ1F~padYY0Rg9DM-`|<6_(68E_XoMnogds7C*S;NJXz`!-(;^(p_^BII;}OmPnJ=8 z`z2XMAC~RLN{qJr+jko=?hx4C@65=;J$<Pkqt5oHevFpvlc%$Kv{!{OZm$YsdYZUB zcL&pZX--b1@S?<mg4Ckv5m%U|PXBU+$!@#XRi;&})0uBG8BTY*&9rMe{~ad7?Ll{# NE{JY7`ouJe5df!VSK<Hw diff --git a/vendor/golang.org/x/tools/internal/packagesinternal/packages.go b/vendor/golang.org/x/tools/internal/packagesinternal/packages.go index 9702094c59edd4d8bf06196d717d5a2f6f2c22cd..d9950b1f0bef933eb164bfe95944a94f53667833 100644 GIT binary patch delta 148 zcmX@feu-m45OaN5Vv&MNYC*AUQBi(Tu|j5EiGseqLT+hsi9%AULUC$|LSnH(qJmF; yVv28mN~%IhzCv<hPL6_mY6(Ic7swR1{GyQ5;u5eC3JOG;!jW16(Kk7Oxe@^Nb~1VZ delta 11 Scmcb_agu#Q5cA~Q%;f+a&jgqN diff --git a/vendor/golang.org/x/tools/internal/typeparams/common.go b/vendor/golang.org/x/tools/internal/typeparams/common.go index ab6b30b83e45bdc3dbaed76ed63dd9d516ad33b8..25a1426d30ec2f5e2e3334b53393d3d06001542e 100644 GIT binary patch delta 202 zcmdm?_d$1qA4?LKzCM?}zJg<(LTW`xYEfQdjzU>#QE_H|o<e?_LP<tyajJr2fM>Bn zX0bwISz=~RVp2}3LS`OF3ZyYTKPNFST`#{VUB5y<wW2`3q_QBjAh9Shw^$)JKczG$ zb@NA-LT*OR$teOV{+yhS$;qh&B^n``T>AQ)wGi7mL3$LN^Ycm)GxJi5qC*rC^D1K% hic5-0lS>q;K`J?2b5e6t^GXy#Ks=bf&36T&*#N7TKw|&^ delta 247 zcmeyMyF+h-A4|Q0XP!byMyf(uX-R2Os*XZQMrN^sV}PeZZepcEQmR5?Sz=~RVp2{j zm%hG2T2X$kLVCV_No7H5u^yMcK1eV)H5F_^YDHphK~AcEkgKDMud7~eib7g`kwT(E zZhld!LP}~$VrEWiib8s6W=g6;ex5=`ez`(PzKTL=K}uptszOPAeoisSxRQK@;?jbG z{Gt+t^whl6qRiyt%^O$>xtSCcCMyZ3NGT|AIwmKl7L;g&XoA!$)I!~%FgaF05hU%J TlbV~FSE3MtD!qBCKr|ZwS9MFx diff --git a/vendor/golang.org/x/tools/internal/typeparams/coretype.go b/vendor/golang.org/x/tools/internal/typeparams/coretype.go new file mode 100644 index 0000000000000000000000000000000000000000..993135ec90e89688852e112f97b133b39196280a GIT binary patch literal 4438 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 literal 0 HcmV?d00001 diff --git a/vendor/golang.org/x/tools/internal/typeparams/normalize.go b/vendor/golang.org/x/tools/internal/typeparams/normalize.go index 090f142a5f34b4ad4c9ccadeb626ec99b1ba21b3..9c631b6512ded4241e8ff854a50c4b965d119d31 100644 GIT binary patch delta 45 zcmexr^37z!J|-3}eSOZ!2bfeRKVo{x$T|5evnC_w<R8o`jGU9@SkxIgH@mawi2(p_ CObwR+ delta 47 wcmexn^3`O+J|-pwg~^AQR42b;dIn-%WYz>xznN7)lmd%7lY+u#4;DQ!0GX!_RR910 diff --git a/vendor/golang.org/x/tools/internal/typeparams/termlist.go b/vendor/golang.org/x/tools/internal/typeparams/termlist.go index 10857d504c4faf4fb00998d7c97092c0e08423fa..933106a23dd433629208b854a639ced0175dc6ba 100644 GIT binary patch delta 12 TcmX@8&@H#&5a;F}T%N1|Bn$-! delta 276 zcmeB{JE*YX5GRvo+GGVr*{q5jh0J1w;)2xV%(TqZ6osTpg+zto%)IoRR0WN^{5;(c zb0;s+R47R;%GKf0*H<VmDJo4aDJ@FO38^edRVYd=DJ{w?Rw&6xEKw+_EJ)Q;@Gr?o zEh^6}PF2V(fy?J*=1jiGBwCNET|*PBr&tecRy7xAW|~4?j)Ik~LPd^VUVc%ohNiVb zPHLV;UXG@Mt*wHgLNymBC&W&Lyqsu*SiO?U0tJ121+YfF%wor!9FU<Isd*riL0-$t g%+XOO&&W*9P{=G6RLIZf;;iL@n~}MB7iS<V0O_D!j{pDw diff --git a/vendor/golang.org/x/xerrors/LICENSE b/vendor/golang.org/x/xerrors/LICENSE deleted file mode 100644 index e4a47e17f143b5b29fb29b6c23421ac67e4a6154..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1479 zcmZ?HFQ_caOwTA$&`8!)FfuT-R0zpPRdCN&a4ap!$S*3^Q*g}5Q2;9`Rwzm>PAw`+ zP0{1x3QA4MEG{X^Oe!tO%+FIu%u7)yElyR)%u^`NFD*(=1&btQ<|P(YDx~EX<reEG zlxLP?DC8G`>HN|XuH5{T%(TqpM34bG3W-Ij3I(Y}xtS#;sVNEtMfqi!DXA$6B^ik& z3MCn-3TgQ{Ir-(8dFcwt`FSasAWg*}O<cLDC01Nq3JMBZ3aE}MR>)6-xh6S3B~>A} zw75i}D77RpGY@QJVp4utszNd>2)Od{OEQyFbrec6GK&>*GK)(<1|Zv(2XYUxQ&KXE zlXDU?b5o1-u)82LPXQ?qU@j;q%1<dxPDMC^3+@O7N*uuj^;k-Na%paAUI{p8K{279 zU!;&<l95`ZkegVNT9lcXQ;Y~=aJ-acq;et0DAYfGshMDHpcu$Y%uNM_h<kp1dQPf> zXI`?NLSB9m*cTu<aCm2y6muo#=Rs0Neo?VPZepcEQYt8Mq$rf+E2QS7<QEmEg3>`j zQGRZINh-)8DW%CJ#R@5@MVV!(DGF&t`MF%+NGQ%vD=7!143Hc1OG^}r3sRFoiAJHI zC=-;Fia^OF50Y?-i!<}{^tiY}JUoLHg8kh>!X1NL6+D9#0)qU*JY8H}6r3UzLOfg* zoc#kLgFM|mLKHmweOz3Ff)yP7Toj!B{X&8~okBzWgMzt~9D@}+gO$J%j((8}t`Px2 zuED_y{y_?!z5za-t}Y7UjzK|=ej%Q&!8!__e$GCjE}nkwItosqAqsx}AzVJ5zMdhj zE(#(3I$%pNwJG?!DfqeuIeR$zg*ZBS`gn#!g6(tj4Dkcm<>nv6<){$g7!=~^9O~m3 zq!17q6yP81ssQqqi)XO2kE5rrtBan3r=NnKzk+L+t6zvhu!p0M57<JuFS-1~{ak}U zPDl2lf|IL)kEf%PkE?>4e~<#mlP;b?uFfGK-ym4do-VF_A&x#eT)_dZ&Yq4wIts24 zuD$_2jzN(+P&0#F14CW?LOdOP6kHsA9o=1n6*LHhNI;Okb7+vOFUZOMZVJJnPQf9b zA)z6z3hw^?F5qwub`1*ibaoB4R`Br$g}j?WXt1jemy2VFBiQ1AAb&T{kYH<&Bb-8m zJ;7n-=@;S}6cic|;_2_Fso>!s?i%JAq~Por8tm!<4qSgfkXN}vJY4;QB0(_#3IlN1 z>nMbKxQ2MR27$s898!*;zz7Zr@^lUX2NhJAe~?0me^3Y)!jB4muI@gb?yi2$t{~U= zgG>qc40hF2a18Pc_VjZH83_vEaK}gm|IiSSy`Y2`8tlsD@1}r~V0FL|so?3R;OG+O b334`Ag{wk<e{irTG?{>d%-I7P+<II9@ypKE diff --git a/vendor/golang.org/x/xerrors/PATENTS b/vendor/golang.org/x/xerrors/PATENTS deleted file mode 100644 index 733099041f84fa1e58611ab2e11af51c1f26d1d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1303 zcmZ=vNy#k9%+E{AQSb~<2+B;)C@EHOFG|cSQP2oTEJ@8PDc0oTQVPk)ELO<OEyzjD zP0cGw1nE#x$W2YmD^@7UNL5JAFQ_a6=}k<^NmVG%FUl@fNXaZNDauSLElEvLNUG#= z&(BZKNmWQJRwzg;DpAN!18a28S12gT&q_@$(c^+C$w)0qO{!E#2RWixp(I}+GQU(I zQK2BUs35hZG%-g9WI;|!d1gwgjzV63o^EPIa!zS+W?8BZS6;quaz<iNda8~>QGR7& zPD!P1T2X4MjzVTpQEFL!GT40@sTIko1tlQ26qh7|+?ScBPy+H{acVNiYnogIV6Q9W zWG1KP6{mt6k(-#Es-uvRSeB}gn+USGv^Z5qAwMlGwFo3#oSKuPqW~c@a|`l|N_4nN ziW2jRLGp=tDGK=|8L36(nZ>CJMWuN<3c2|ynQ4^@Aen-q{DQ>v#FA8Sh$QFdfkPb< zLYc)}sG$xLcF)&QC<ld-LUCzw2HcT}1qC^osl^KUc{!CJCzWL67pE#fe8QESlbD%X ztfP>WUy`AaTv}9=npcujsgPfumztuGU!(xCwkSU*2OL=nu*k|wQAkWKEX^!RO;O0q z;{ru>T4_mXQK}BqR&aPGRl+osWF(d-Bo?JA<fSI378fTLW#&{WWagz6W#*+rOa=ur zRxjx(D1Z|gINB9b@>7cy^72a*GV_viN>fr5AnsQHTTq@~nv<fCl*)xL8SLl8VueJI zM~YJmOH=cbQ$b;sR$2rKcu06>CWBKhNF0kh^b{04(-bQ6OF`jLnO|C@keHsDR|4X} zQyA3Ssi_K?dBr7}C8Z^)3i(A``9&$IMIeQV=|!pF<N^vRn3Bx=Jdl-;m{7>cEXhoV zxFaz=5u`>TF|U#<HLoPIq*6fx;^EA^bdX<)@{5ag!CnU$o}6ErSCU!;;b-P4Br4=2 zmKT?1mS`#@=H#TNXXd4IfddHSIkemga)5h2$dtsqN`>V76p#;+^NR}di@-UcJhLPN znhUT-4>(*Q9tLIYqSRz?z<`qtD3j+GRl<@QELK1zg$~HZ%)FG+WN^U&as@OPP*s&= zq~?Kw0cHlcFe!$V0jVjV)C`K3(mYTwgMH@%&6#QWMUbqEEt_x^XC&t2D3qiY<!0uA eGFW0U$OWLdNda-8*#{mUnZ*ienK`K`dRzdCpWLMY diff --git a/vendor/golang.org/x/xerrors/README b/vendor/golang.org/x/xerrors/README deleted file mode 100644 index aac7867a560b8f999243acd99b75af4d56ffe119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWH^$ShVUN-fAQ&Me6<s#M6x&q*m(D9K1wC@D(JE6yy*%+FIONKDR7OiwLVNXst* z%jKn(E4b$?80r}sE2I_`<rgWGCFYc-7VB{Zr=}{T=jSBmrR(JvrR%4p7H6jC=^I&E N8k^{XRqDc20syKWD)j&W diff --git a/vendor/golang.org/x/xerrors/adaptor.go b/vendor/golang.org/x/xerrors/adaptor.go deleted file mode 100644 index 4317f2483313167ef4577dc668e3a7270066f6d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4130 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 diff --git a/vendor/golang.org/x/xerrors/codereview.cfg b/vendor/golang.org/x/xerrors/codereview.cfg deleted file mode 100644 index 3f8b14b64e83f940ab7b05e8c542fd821b376d3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21 ccmc~SE-p<iN-fB@Qb^CwNz6;vPtWH909$Ye!2kdN diff --git a/vendor/golang.org/x/xerrors/doc.go b/vendor/golang.org/x/xerrors/doc.go deleted file mode 100644 index 2ef99f5a87bf5b8397495ba49d5db417739e22cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 785 zcmdPbS8&cRs4U7%&nQtaGBC7M2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zfwTl9CTAz6rz%vW78T_e6)R-s7UZPnrskCtE2Nd?C6{F8=M^iI<SXPR=4BR?<|LM+ zDnL|%oCz`@1mwg5s41Dn3Q38@sVNHi5c}No6^s-Lit-EcixYDc((;QSnia|tb4pW- zt+@2{x%BlpGfGMdimmkZ)AMr@^V0S5i_-N|Qj0Uw^Yo1@Esafd!4~R5^gy(L!m&6N z$%W;qMX3szdCB=j1^GpZC8;1Em*j)}TwIcvmy%eNqL7oBRFqg$sa_0mM6m+Y)gWJF z=7FNcP|wg9<R}GQ1<zuTu&#n5ln%`+FG?(c+U}TBoUfzc3JS3_^<o9pa)q+gq9ld# z#9}ONNXsqJgD8as87OkWF$;A7D16gXOB7NIOEb$7b5iq46p~Ui63a64i$D>Vn3JPW zTv||&Uj*`(dp^jrVo<!m%=61v$S=uAEmBBJO)M!bN-c&b9he2M;K?aX0S67tvpNci zc_|8sB?<+g)R$KR@-xV!RE5N%RE4~Jg@T+!Nc?B!C4)38B<58@Oi#_#<ANCvOFa7e Up!AbpRHC4S6qgnHP<bUT0FHeIr2qf` diff --git a/vendor/golang.org/x/xerrors/errors.go b/vendor/golang.org/x/xerrors/errors.go deleted file mode 100644 index e88d3772d8611f90009664490c88e6ae1634dd72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 815 zcmdPbS8&cRs4U7%&nQtaGB7k$2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDpaHv73CKdb8%(n7UUO|C@7`nmMC$7Oaw~=mlS2@rGxBFR46IREXz#H zQOL|K$Vtsj%_~VP$;{6KxfQHbkE^7zAXNd(hH5J=DJo4aQK;tPELH%4Vz6mkoM}ag zxv2_nAd;&VY?)tbxk6EDNoi4Du|i@V#1M#I((;RP6HAH}5{tp!NY5-w%~L2zttbHn z7Ra5TaD`}1O@V4m&d)1J%mf()u|%ObwM3yLA8bH!VopwKk$SO0PJS}P1BrPlAamf} zDpqg<+gXxY1kzNTkzWppjm$iVV?e$x&q&QvC@9LzD@jdJD9<d(P)JEFNzBYC*5gVm z%}ZABOD)#`xl#e*XHBTfs<}8JZdFi23aDz3N*x7fu+uaQHEThk0yah?RY40$p{9Z> zD7rK>p~ixO7HVFqUNLT65D#e-E2QO?=mnP~mZa(^lqnRI=A~*XR71TBF*#L7p;$+u zOjDtj3*r$B7eLH{s4h?l00%*lrh-OZYDEdemzp4F73hJbG*b17HMuxb^}uni2hpri Opa~C$yv!V~S}p+Vauoak diff --git a/vendor/golang.org/x/xerrors/fmt.go b/vendor/golang.org/x/xerrors/fmt.go deleted file mode 100644 index 6df18669fac3eac0abdd93b0e6a8d0611a4ee19d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5192 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 diff --git a/vendor/golang.org/x/xerrors/format.go b/vendor/golang.org/x/xerrors/format.go deleted file mode 100644 index 1bc9c26b97fdfba224fc44b18b31f0dbc90d35d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1148 zcmdPbS8&cRs4U7%&nQtaGBC7I2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDpaHv73CKdbAiloRB+2L%1taONi9-H1G9=1z|so2sl~;K>8ZtfTqTtS zsYuE)^GZ^S(h`$X6{@*7!D_j<IQ8|RDqKNkD-;xE=9LtK9Z{5;oSIpdTBKgAkd|3g zTmm&dF)u}-D7B=tC=a46FSP<Dm6-=N599-|@e0WqiJ5si3YlpNiFuWJT$~UmgKg3% zPzV6om0F~!pn)($ldBf$J*X^B&*|%ff&mm!x%tH<3d#Aox%qhtnYjfysky0nC5a`O z`FWtYftiyDac+KIszO0gepzM;Bx+z`o0eMwGB2gHC^Ih|;<Pjcjl^P*5$^d4hI)p^ zntBR8`N@ennN<+Op<0U-ic6C-6cRyEo|BlDu9shwu3w>Fl3G!s4~+|u$t9HqnaPPc zIh8Q$L4llEq>x{Z?rK=f!Cj6VZ~FQW$0;Nh6r|>*6e}bar57ud<bzCuMZH3PX-Pq8 zi5?dx*a!`<5<NXVcmk-d)r3SnSUydmyeP9IwOAn$8rUVNDGJ3Upn!lGk){DjV^Coo zh^<(SbV)5q%*;_JN-fAQDk)Yd&qyuFNG*aUo)m~=CMX*fmZlb$fbtP24LYWQ5;7>| zK++m0q(Hucn5LtUn3JOb3Q@3AOH%Vdav;@U52O}>(_LmUlKT^j6%tcYGC`>zF-HMn zuZ}`~kwRvAUVc$(3dmuQ<O-2f$Ve<!$jdKLNJ>r3Qz%MBah+$H0>mNkl%JNEQ=F;; v4s?)HQ;Wd)II%20GX;`|K&c4iK&a`7B_J>8adAS-(a=;#%FoZ?s^tOzOQni2 diff --git a/vendor/golang.org/x/xerrors/frame.go b/vendor/golang.org/x/xerrors/frame.go deleted file mode 100644 index 0de628ec501f65ba6bd9b9df321f4eb3c8294d2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1523 zcmdPbS8&cRs4U7%&nQtaGBC7I2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDpaHv73CKdb8%(n7UUO|C}?nTDixLHm1O3oDsgFYfsA%ka4Sm81-T-x zBr!9uSfL=Xs08H1M1|zUoE(MXlEma}J+6|<f>fx=;*z4$<PwEyE>3-Y1>eN%RE47a z{9J{!{33;tjH1+3g#hPbE3m8b^HLScL8vHIA+b0+H3g(dN1+_#i%gJ5a&l5rbin2$ z=A|eU<QErbCgp&9AK(m9s!*JrSrCwunpm6~TAb>fn3I!QR19`*v7SP3YN{1jYeq>) zL9vy-etN!MdVYR-PAVi^^^)^*_0#k9we<~*jm*p~QVr6Q^oxs<^`QZvpIT9pT9l`k zp08|ZX352w1`38^g=pj0(#*V)f|4SxT5teCtW_vVEh#O^D^^H^h5|S$Qc{bPi!zf^ zLBe4D3i*)u00muYk$N#K`1JL`DI~Edy)-v9uLSHdP@IF}F0V8<DYXa`<X|I;6-x3U z@}TqpPBaiFXc%b1T>;VuRt*j&5D#J_$P|cbJ+8FUykrFkM*|d)3YmE&no!qQb8(g> z7AX`%xLlmjFwui3F9xgEHq=ol)&tv89Bmb=$;Al?1BGH}$mHZFCzfR9=P4AWf>Kv8 zIL<*SP)8vrGcQ#~0TihqSAZ4erzs>VfK3DW36%6ec?M!6C}ou9C4<%FCRT!yw~~@V zYFTQYLS`B`QG?9_nW~Ujl&X-IUjp@?MjFHmnhG%2XlN>Ez%12)=q)ZO%FIiLxC#;q z)$sVXvQ<FyJS2f>q@j2{Gfg30M<G93!O9lmiDEs!)QS=fO=|_k{A^HWfQ62dl8yoh z8*p*ff^5O6i;FWe4ZlW6z$l~@>A68eMhDEv%t-|^d@}P=q4D6BUzD3zqEJwjnO6dd z1aPKRNGw(W=YNHi)RM%^98j<;c$O#>XXKaWq=3R0oMuuK(u(qP6%z9xiq(r1pyp-f z7UZOYQY$!;K@paiR+3r-u_rSxT_G{AQX#)2Bee*k6K)MC^c4^h12ImcKp_C+z|<m5 zP-tbQDHQ0rfZe457T^Tw0wn-QoIxWC6xw=-nC0RGg&Rzzf}*X0k`l-?PR;^7u<2<U xN~*;%c?t>&3Q9T(Fol|2oS?V>>&?tb#ih?mH6<nwqzxR#pu`5%Sj$z*1pqp<>sSB) diff --git a/vendor/golang.org/x/xerrors/internal/internal.go b/vendor/golang.org/x/xerrors/internal/internal.go deleted file mode 100644 index 89f4eca5df7bc746a9186e7f071694378ce2f05c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmdPbS8&cRs4U7%&nQtaGBC7I2+2rQaL-q8EG@~%FDlkkaLmb3081Au6r~oY7L}!@ z=yB=mD})xOD&(grlw@QUD-`FK7A2=DB<H83Dr6Qbr018V7UiX;C?r)XBq}%syXY2| zROY0Dbme3wr{)!>DwJd-mMA1A<|!nlDx~F?=A|fP<|&k9q$>D$I=lJ>yDFq*=A`Oz zaTO#cXD6noDrDxBq!#5R=5T=wam`Ci%1I3=N=ybxq+}*1mZTOdlxL)tWTX};6qh6> zXDejprR5jpCYEI8=P49t<d^28fUGJ?P0lY$Nd?=MT2ut`AXiypkpi-bwhARhrKwy1 DFcV-i diff --git a/vendor/golang.org/x/xerrors/wrap.go b/vendor/golang.org/x/xerrors/wrap.go deleted file mode 100644 index 9842758ca7c48d5441d1d2a7a9f48e03021a75eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3222 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 diff --git a/vendor/modules.txt b/vendor/modules.txt index decbf0a090ec295f50bc92294ca9bf9a9b6e0a0a..bd396d0ba0e0f8ba3d25b4c796bc0cdb18e66e79 100644 GIT binary patch delta 1121 zcmX?>*__R!tT36EQEK9cUz4+#1UEY|En}Q~mW6Y(70V~a$vJHPEQWf9=93S~icS8& zmM)QzSe%iWoL^L+pITH@UX)m%P-duSsAn+QkwwB5Ly}8bAw9Dsqclk`IX_n)A)TJD zn_HSwl9^gmlwSlf!EmynrpV+IGQ8qAluh<z-^*w`xj;jV(RA`g4!OxT9C@2>auhL| z=H};>B<3Zi<y7Y7=@*wImJ}<L8R!}48R!}r7@8Xz85kNF7#SE_>KZ1cS*9c<r&uH> zrGgwRim8)JSz&S_ufpa8E+0X017kyD0|QeNQ!`ydgXEN?)I<xjq-3yPC*PKyGx?*0 z)aD5?28_&xdJyNwGVxA+B5TNK4E9Vc6YpkoId7)a%#xf$ND!naW+v)Z=%*x>B<g17 zr4=O>mlTyImy{Nz>ZYZpq!uNXWaj7T7N-`KWhSQ<>z5QK>Zj-DWF{dzWMpJuX=rR{ zU~FM*q-$uIWNwt0Xqswf1h%r?k}I8Z%Ro_^UsOznQArpM*H14>OioQJ%^|}yOvCb% zb0^m+C@~sNJ|HW;dAmX<<K(xB9DMpkiFqldC7C&3#$-c9S&;DLJ~gGy4odzkllQB| zP4-t0U^JebC@;onF?qYX!(=86smVXo%b6|oOhJ*wXgRrEV~UuWk&%(1v7w=nu7Rnk zrKzQ{VOpwX%49>$d@&P4OCuv=17iza3$tWX!_*Wbv!o=G$%dNBlW%H<Pp;My6g4+8 zGBh<cGBwq;urNzYvNSd~Oih}+P|HKi!ob+j($v7zSl2Ao%)lbeGC9@U0HRq*dr5tA zVsUCQS9*R<VqUsleo?x9g?>qDMTvf9UP)?EUSbX&DSeQh(!}&sV$|p-=jRqACYPY8 z)kd~Uza%joO&%l-vu5&U?QljTaFAI{X4DgzY@)MZa*YlrdqH-3Qf5gpNNn>(o$HL7 Jwe;t(0s#Aqdm{h< delta 859 zcmZq9K9*UptdN|alB!phT9lfZo~M_bpR1pqn3-6iUs9Z?pPrwSnWRu=sAs5WsB55S zWME`uU}0owU}0)(V61D9oN8%gVV-7cVqwIktgMh)QIM0FoLOS6ke;t#sAp)-MaXFV z)X<`${GwvQ3e$@clT*`5a|o-<PtN7qAjYVaR9TV=vOh5=Co?fGIaR+ru{gIRGdEQ? zJzt^BK+nWrvV*i3qse9t#-ogay2T}l$=Ui~669fv$ro8<_>o1qlocj3GK+1##`K9% zC@m+kB&jqlEw!jvq0C6nK+j@wESvh|*DTzV&#-ta8t5758R&w8%gD&kz{uFp)I`@H z$;imUAjLQ>&C+bLENk^-Z?^T!rh1l>Gb9x!+pr5wHek<VPcA6U%uCCkY``wRc`AD~ z<K|k<L_u*wBO`MIb7Ko*Q{Ch=!^GsY<difMbJNKm86_t3O3z_5ns`BM^Fe7NMn;3l zI*iJb#bpgA>oO{B&XV<Jnk=j+$84czve{H|F5_l>Wq+2*e9DTG)c7aYsmF1q=jWs* zW-F8#PL|V^WHAPNQbT0&6Lk+pLs0lk-l@(vIZ(rR@?4DyW^+BW$uU|IlS?!OCOc?0 zikTXj8W|f{8k^~wTN)>(n3<U+rJ1Hqj?q${yiSvCl9rp8p@Es9rJ;$Tsjg*`Ws-4< zg<*<ms`2C)tt!>L)DloMzyr$Cz|zpn#Mr=6Hz_sIz}O_!JjK*<;zdzL^U24w6h$o! z%neNp42(>4(+rIajSUh_jVuf%|IzXg18X!gF*VgqOiHv&OEyZhNJ}#UyP{Tm$>e)F zE|VRlMJE?%@lT$w&o<ddcfn?1y(^5SIf;4cdih1^`W5;Wso-RY;vQ2&b0b4TV?!g| hG~+}IV*}$<ON*2=kg>8*<y`6cm}cm2zNNpC6#zAj2N3`O -- GitLab