Changes
182 changed files (+17444/-15178)
-
-
@@ -11,6 +11,7 @@ require (gitea.com/go-chi/captcha v0.0.0-20211013065431-70641c1a35d5 gitea.com/go-chi/session v0.0.0-20211013065435-7d334f340c09 gitea.com/lunny/levelqueue v0.4.1 github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121 github.com/Microsoft/go-winio v0.5.0 // indirect github.com/NYTimes/gziphandler v1.1.1 github.com/ProtonMail/go-crypto v0.0.0-20210705153151-cc34b1f6908b // indirect
-
@@ -121,10 +122,10 @@ require (go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.7.0 // indirect go.uber.org/zap v1.19.0 // indirect golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 golang.org/x/text v0.3.7 golang.org/x/time v0.0.0-20210611083556-38a9dc6acbc6 // indirect golang.org/x/tools v0.1.0
-
-
-
@@ -54,6 +54,8 @@ gitea.com/lunny/levelqueue v0.4.1 h1:RZ+AFx5gBsZuyqCvofhAkPQ9uaVDPJnsULoJZIYaJNwgitea.com/lunny/levelqueue v0.4.1/go.mod h1:HBqmLbz56JWpfEGG0prskAV97ATNRoj5LDmPicD22hU= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:EXuID2Zs0pAQhH8yz+DNjUbjppKQzKFAn28TMYPB6IU= github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121 h1:r3qt8PCHnfjOv9PN3H+XXKmDA1dfFMIN1AislhlA/ps= github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121/go.mod h1:Ock8XgA7pvULhIaHGAk/cDnRfNrF9Jey81nPcc403iU= github.com/6543/go-version v1.3.1 h1:HvOp+Telns7HWJ2Xo/05YXQSB2bE0WmVgbHqwMPZT4U= github.com/6543/go-version v1.3.1/go.mod h1:oqFAHCwtLVUTLdhQmVZWYvaHXTdsbB4SY85at64SQEo= github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c h1:/IBSNwUN8+eKzUzbJPqhK839ygXJ82sde8x3ogr6R28=
-
@@ -1261,6 +1263,8 @@ golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 h1:/pEO3GD/ABYAjuakUS6xSEmmlyVS4kxBNkeA9tLJiTI= golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/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=
-
@@ -1355,6 +1359,8 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxgolang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d h1:LO7XpTYMwTqxjLcGWPijK3vRXg1aWdlNOVOHRq45d7c= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= 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/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-
@@ -1462,6 +1468,8 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBcgolang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf h1:2ucpDCmfkl8Bd/FsLtiD653Wf96cW37s+iGx93zsu4k= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 h1:kwrAHlwJ0DUBZwQ238v+Uod/3eZ8B2K5rYsUHBQvzmI= golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/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=
-
-
-
@@ -246,3 +246,19 @@ func IsErrDeployKeyNameAlreadyUsed(err error) bool {func (err ErrDeployKeyNameAlreadyUsed) Error() string { return fmt.Sprintf("public key with name already exists [repo_id: %d, name: %s]", err.RepoID, err.Name) } // ErrSSHInvalidTokenSignature represents a "ErrSSHInvalidTokenSignature" kind of error. type ErrSSHInvalidTokenSignature struct { Wrapped error Fingerprint string } // IsErrSSHInvalidTokenSignature checks if an error is a ErrSSHInvalidTokenSignature. func IsErrSSHInvalidTokenSignature(err error) bool { _, ok := err.(ErrSSHInvalidTokenSignature) return ok } func (err ErrSSHInvalidTokenSignature) Error() string { return "the provided signature does not sign the token with the provided key" }
-
-
-
@@ -49,6 +49,7 @@ type CommitVerification struct {CommittingUser *user_model.User SigningEmail string SigningKey *GPGKey SigningSSHKey *PublicKey TrustStatus string }
-
@@ -122,6 +123,11 @@ func ParseCommitWithSignature(c *git.Commit) *CommitVerification {} } // If this a SSH signature handle it differently if strings.HasPrefix(c.Signature.Signature, "-----BEGIN SSH SIGNATURE-----") { return ParseCommitWithSSHSignature(c, committer) } // Parsing signature sig, err := extractSignature(c.Signature.Signature) if err != nil { // Skipping failed to extract sign
-
@@ -487,28 +493,31 @@ func CalculateTrustStatus(verification *CommitVerification, repoTrustModel repo_return } var isMember bool if keyMap != nil { var has bool isMember, has = (*keyMap)[verification.SigningKey.KeyID] if !has { // Check we actually have a GPG SigningKey if verification.SigningKey != nil { var isMember bool if keyMap != nil { var has bool isMember, has = (*keyMap)[verification.SigningKey.KeyID] if !has { isMember, err = isCodeReader(verification.SigningUser) (*keyMap)[verification.SigningKey.KeyID] = isMember } } else { isMember, err = isCodeReader(verification.SigningUser) (*keyMap)[verification.SigningKey.KeyID] = isMember } } else { isMember, err = isCodeReader(verification.SigningUser) } if !isMember { verification.TrustStatus = "untrusted" if verification.CommittingUser.ID != verification.SigningUser.ID { // The committing user and the signing user are not the same // This should be marked as questionable unless the signing user is a collaborator/team member etc. if !isMember { verification.TrustStatus = "untrusted" if verification.CommittingUser.ID != verification.SigningUser.ID { // The committing user and the signing user are not the same // This should be marked as questionable unless the signing user is a collaborator/team member etc. verification.TrustStatus = "unmatched" } } else if repoTrustModel == repo_model.CollaboratorCommitterTrustModel && verification.CommittingUser.ID != verification.SigningUser.ID { // The committing user and the signing user are not the same and our trustmodel states that they must match verification.TrustStatus = "unmatched" } } else if repoTrustModel == repo_model.CollaboratorCommitterTrustModel && verification.CommittingUser.ID != verification.SigningUser.ID { // The committing user and the signing user are not the same and our trustmodel states that they must match verification.TrustStatus = "unmatched" } return
-
-
-
@@ -50,6 +50,7 @@ type PublicKey struct {UpdatedUnix timeutil.TimeStamp `xorm:"updated"` HasRecentActivity bool `xorm:"-"` HasUsed bool `xorm:"-"` Verified bool `xorm:"NOT NULL DEFAULT false"` } func init() {
-
-
-
@@ -0,0 +1,77 @@// Copyright 2021 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. package asymkey import ( "bytes" "fmt" "strings" "code.gitea.io/gitea/models/db" user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" "github.com/42wim/sshsig" ) // ParseCommitWithSSHSignature check if signature is good against keystore. func ParseCommitWithSSHSignature(c *git.Commit, committer *user_model.User) *CommitVerification { // Now try to associate the signature with the committer, if present if committer.ID != 0 { keys, err := ListPublicKeys(committer.ID, db.ListOptions{}) if err != nil { // Skipping failed to get ssh keys of user log.Error("ListPublicKeys: %v", err) return &CommitVerification{ CommittingUser: committer, Verified: false, Reason: "gpg.error.failed_retrieval_gpg_keys", } } committerEmailAddresses, err := user_model.GetEmailAddresses(committer.ID) if err != nil { log.Error("GetEmailAddresses: %v", err) } activated := false for _, e := range committerEmailAddresses { if e.IsActivated && strings.EqualFold(e.Email, c.Committer.Email) { activated = true break } } for _, k := range keys { if k.Verified && activated { commitVerification := verifySSHCommitVerification(c.Signature.Signature, c.Signature.Payload, k, committer, committer, c.Committer.Email) if commitVerification != nil { return commitVerification } } } } return &CommitVerification{ CommittingUser: committer, Verified: false, Reason: NoKeyFound, } } func verifySSHCommitVerification(sig, payload string, k *PublicKey, committer, signer *user_model.User, email string) *CommitVerification { if err := sshsig.Verify(bytes.NewBuffer([]byte(payload)), []byte(sig), []byte(k.Content), "git"); err != nil { return nil } return &CommitVerification{ // Everything is ok CommittingUser: committer, Verified: true, Reason: fmt.Sprintf("%s / %s", signer.Name, k.Fingerprint), SigningUser: signer, SigningSSHKey: k, SigningEmail: email, } }
-
-
-
@@ -6,11 +6,16 @@package asymkey import ( "bytes" "io/ioutil" "os/exec" "path/filepath" "strings" "testing" "code.gitea.io/gitea/modules/setting" "github.com/42wim/sshsig" "github.com/stretchr/testify/assert" )
-
@@ -185,3 +190,309 @@ func Test_calcFingerprint(t *testing.T) {}) } } var ( // Generated with "ssh-keygen -C test@rekor.dev -f id_rsa" sshPrivateKey = `-----BEGIN OPENSSH PRIVATE KEY----- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn NhAAAAAwEAAQAAAYEA16H5ImoRO7mr41r8Z8JFBdu6jIM+6XU8M0r9F81RuhLYqzr9zw1n LeGCqFxPXNBKm8ZyH2BCsBHsbXbwe85IMHM3SUh8X/9fI0Lpi5/xbqAproFUpNR+UJYv6s 8AaWk5zpN1rmpBrqGFJfGQKJCioDiiwNGmSdVkUNmQmYIANxJMDWYmNe8vUOh6nYEHB+lz fGgDAAzVSXTACW994UkSY47AD05swU4rIT/JWA6BkUrEhO//F0QQhFeROCPJiPRhJXGcFf 9SicffJqR/ELzM1zNYnRXMD0bbdTUwDrIcIFFNBbtcfJVOUUCGumSlt+qjUC7y8cvwbHAu wf5nS6baA7P6LfTYplF2XIAkdWtkN6O1ouoyIHICXMlddDW2vNaJeEXTeKjx51WSM7qPnQ ZKsBtwjLQeEY/OPkIvu88lNNYSD63qMUA12msohjwVFCIgJVvYLIrkViczZ7t3L7lgy1X0 CJI4e1roOfM/r9jTieyDHchEYpZYcw3L1R2qtePlAAAFiHdJQKl3SUCpAAAAB3NzaC1yc2 EAAAGBANeh+SJqETu5q+Na/GfCRQXbuoyDPul1PDNK/RfNUboS2Ks6/c8NZy3hgqhcT1zQ SpvGch9gQrAR7G128HvOSDBzN0lIfF//XyNC6Yuf8W6gKa6BVKTUflCWL+rPAGlpOc6Tda 5qQa6hhSXxkCiQoqA4osDRpknVZFDZkJmCADcSTA1mJjXvL1Doep2BBwfpc3xoAwAM1Ul0 wAlvfeFJEmOOwA9ObMFOKyE/yVgOgZFKxITv/xdEEIRXkTgjyYj0YSVxnBX/UonH3yakfx C8zNczWJ0VzA9G23U1MA6yHCBRTQW7XHyVTlFAhrpkpbfqo1Au8vHL8GxwLsH+Z0um2gOz +i302KZRdlyAJHVrZDejtaLqMiByAlzJXXQ1trzWiXhF03io8edVkjO6j50GSrAbcIy0Hh GPzj5CL7vPJTTWEg+t6jFANdprKIY8FRQiICVb2CyK5FYnM2e7dy+5YMtV9AiSOHta6Dnz P6/Y04nsgx3IRGKWWHMNy9UdqrXj5QAAAAMBAAEAAAGAJyaOcFQnuttUPRxY9ZHNLGofrc Fqm8KgYoO7/iVWMF2Zn0U/rec2E5t9OIpCEozy7uOR9uZoVUV70sgkk6X5b2qL4C9b/aYF JQbSFnq8wCQuTTPIJYE7SfBq1Mwuu/TR/RLC7B74u/cxkJkSXnscO9Dso+ussH0hEJjf6y 8yUM1up4Qjbel2gs8i7BPwLdySDkVoPgsWcpbTAyOODGhTAWZ6soy/rD1AEXJeYTGJDtMv aR+WBihig1TO1g2RWt9bqqiG7PIlljd3ZsjSSU5y3t6ZN/8j5keKD032EtxbZB0WFD3Ar4 FbFwlW+urb2MQ0JyNKOio3nhdjolXYkJa+C6LXdaaml/8BhMR1eLoMe8nS45w76o8mdJWX wsirB8tvjCLY0QBXgGv/1DTsKu/wEFCW2/Y0e50gF7pHAlYFNmKDcgI9OyORRYhFbV4D82 fI8JLQ42ZJkS/0t6xQma8WC88pbHGEuVSB6CE/p25fyYRX+UPTQ79tWFvLV4kNQAaBAAAA wEvyd6H8ePyBXImg8JzGxthufB0eXSfZBrabjf6e6bR2ivpJsHmB64gbMkV6MFV7EWYX1B wYPQxf4gA2Ez7aJvDtfE7uV6pa0WJS3hW1+be8DHEftmLSbTy/TEvDujNb2gqoi7uWQXWJ yYWZlYO65r1a6HucryQ8+78fTuTRbZALO43vNGz0oXH1hPSddkcbNAhZTsD0rQKNwqVTe5 wl+6Cduy/CQwjHLYrY73MyWy1Vh1LXhAdGMPnWZwGIu/dnkgAAAMEA9KuaoGnfnLQkrjeR tO4RCRS2quNRvm4L6i4vHgTDsYtoSlR1ujge7SGOOmIPS4XVjZN5zzCOA7+EDVnuz3WWmx hmkjpG1YxzmJGaWoYdeo3a6UgJtisfMp8eUKqjJT1mhsCliCWtaOQNRoQieDQmgwZzSX/v ZiGsOIKa6cR37eKvOJSjVrHsAUzdtYrmi8P2gvAUFWyzXobAtpzHcWrwWkOEIm04G0OGXb J46hfIX3f45E5EKXvFzexGgVOD2I7hAAAAwQDhniYAizfW9YfG7UJWekkl42xMP7Cb8b0W SindSIuE8bFTukV1yxbmNZp/f0pKvn/DWc2n0I0bwSGZpy8BCY46RKKB2DYQavY/tGcC1N AynKuvbtWs11A0mTXmq3WwHVXQDozMwJ2nnHpm0UHspPuHqkYpurlP+xoFsocaQ9QwITyp lL4qHtXBEzaT8okkcGZBHdSx3gk4TzCsEDOP7ZZPLq42lpKMK10zFPTMd0maXtJDYKU/b4 gAATvvPoylyYUAAAAOdGVzdEByZWtvci5kZXYBAgMEBQ== -----END OPENSSH PRIVATE KEY----- ` sshPublicKey = `ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDXofkiahE7uavjWvxnwkUF27qMgz7pdTwzSv0XzVG6EtirOv3PDWct4YKoXE9c0EqbxnIfYEKwEextdvB7zkgwczdJSHxf/18jQumLn/FuoCmugVSk1H5Qli/qzwBpaTnOk3WuakGuoYUl8ZAokKKgOKLA0aZJ1WRQ2ZCZggA3EkwNZiY17y9Q6HqdgQcH6XN8aAMADNVJdMAJb33hSRJjjsAPTmzBTishP8lYDoGRSsSE7/8XRBCEV5E4I8mI9GElcZwV/1KJx98mpH8QvMzXM1idFcwPRtt1NTAOshwgUU0Fu1x8lU5RQIa6ZKW36qNQLvLxy/BscC7B/mdLptoDs/ot9NimUXZcgCR1a2Q3o7Wi6jIgcgJcyV10Nba81ol4RdN4qPHnVZIzuo+dBkqwG3CMtB4Rj84+Qi+7zyU01hIPreoxQDXaayiGPBUUIiAlW9gsiuRWJzNnu3cvuWDLVfQIkjh7Wug58z+v2NOJ7IMdyERillhzDcvVHaq14+U= test@rekor.dev ` // Generated with "ssh-keygen -C other-test@rekor.dev -f id_rsa" otherSSHPrivateKey = `-----BEGIN OPENSSH PRIVATE KEY----- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn NhAAAAAwEAAQAAAYEAw/WCSWC9TEvCQOwO+T68EvNa3OSIv1Y0+sT8uSvyjPyEO0+p0t8C g/zy67vOxiQpU5jN6MItjXAjMmeCm8GKMt6gk+cDoaAev/ZfjuzSL7RayExpmhBleh2X3G KLkkXF9ABFNchlTqSLOZiEjDoNpbFv16KT1sE6CqW8DjxXQkQk9JK65hLH+BxeWMNCEJVa Cma4X04aJmC7zJAi5yGeeT0SKVqMohavF90O6XiYFCQHuwXPPyHfocqgudmXnozz+6D6ax JKZMwQsNp3WKumOjlzWnxBCCB1l2jN6Rag8aJ2277iMFXRwjTL/8jaEsW4KkysDf0GjV2/ iqbr0q5b0arDYbv7CrGBR+uH0wGz/Zog1x5iZANObhZULpDrLVJidEMc27HXBb7PMsNDy7 BGYRB1yc0d0y83p8mUqvOlWSArxn1WnAZO04pAgTrclrhEh4ZXOkn2Sn82eu3DpQ8inkol Y4IfnhIfbOIeemoUNq1tOUquhow9GLRM6INieHLBAAAFkPPnA1jz5wNYAAAAB3NzaC1yc2 EAAAGBAMP1gklgvUxLwkDsDvk+vBLzWtzkiL9WNPrE/Lkr8oz8hDtPqdLfAoP88uu7zsYk KVOYzejCLY1wIzJngpvBijLeoJPnA6GgHr/2X47s0i+0WshMaZoQZXodl9xii5JFxfQART XIZU6kizmYhIw6DaWxb9eik9bBOgqlvA48V0JEJPSSuuYSx/gcXljDQhCVWgpmuF9OGiZg u8yQIuchnnk9EilajKIWrxfdDul4mBQkB7sFzz8h36HKoLnZl56M8/ug+msSSmTMELDad1 irpjo5c1p8QQggdZdozekWoPGidtu+4jBV0cI0y//I2hLFuCpMrA39Bo1dv4qm69KuW9Gq w2G7+wqxgUfrh9MBs/2aINceYmQDTm4WVC6Q6y1SYnRDHNux1wW+zzLDQ8uwRmEQdcnNHd MvN6fJlKrzpVkgK8Z9VpwGTtOKQIE63Ja4RIeGVzpJ9kp/Nnrtw6UPIp5KJWOCH54SH2zi HnpqFDatbTlKroaMPRi0TOiDYnhywQAAAAMBAAEAAAGAYycx4oEhp55Zz1HijblxnsEmQ8 kbbH1pV04fdm7HTxFis0Qu8PVIp5JxNFiWWunnQ1Z5MgI23G9WT+XST4+RpwXBCLWGv9xu UsGOPpqUC/FdUiZf9MXBIxYgRjJS3xORA1KzsnAQ2sclb2I+B1pEl4d9yQWJesvQ25xa2H Utzej/LgWkrk/ogSGRl6ZNImj/421wc0DouGyP+gUgtATt0/jT3LrlmAqUVCXVqssLYH2O r9JTuGUibBJEW2W/c0lsM0jaHa5bGAdL3nhDuF1Q6KFB87mZoNw8c2znYoTzQ3FyWtIEZI V/9oWrkS7V6242SKSR9tJoEzK0jtrKC/FZwBiI4hPcwoqY6fZbT1701i/n50xWEfEUOLVm d6VqNKyAbIaZIPN0qfZuD+xdrHuM3V6k/rgFxGl4XTrp/N4AsruiQs0nRQKNTw3fHE0zPq UTxSeMvjywRCepxhBFCNh8NHydapclHtEPEGdTVHohL3krJehstPO/IuRyKLfSVtL1AAAA wQCmGA8k+uW6mway9J3jp8mlMhhp3DCX6DAcvalbA/S5OcqMyiTM3c/HD5OJ6OYFDldcqu MPEgLRL2HfxL29LsbQSzjyOIrfp5PLJlo70P5lXS8u2QPbo4/KQJmQmsIX18LDyU2zRtNA C2WfBiHSZV+guLhmHms9S5gQYKt2T5OnY/W0tmnInx9lmFCMC+XKS1iSQ2o433IrtCPQJp IXZd59OQpO9QjJABgJIDtXxFIXt45qpXduDPJuggrhg81stOwAAADBAPX73u/CY+QUPts+ LV185Z4mZ2y+qu2ZMCAU3BnpHktGZZ1vFN1Xq9o8KdnuPZ+QJRdO8eKMWpySqrIdIbTYLm 9nXmVH0uNECIEAvdU+wgKeR+BSHxCRVuTF4YSygmNadgH/z+oRWLgOblGo2ywFBoXsIAKQ paNu1MFGRUmhz67+dcpkkBUDRU9loAgBKexMo8D9vkR0YiHLOUjCrtmEZRNm0YRZt0gQhD ZSD1fOH0fZDcCVNpGP2zqAKos4EGLnkwAAAMEAy/AuLtPKA2u9oCA8e18ZnuQRAi27FBVU rU2D7bMg1eS0IakG8v0gE9K6WdYzyArY1RoKB3ZklK5VmJ1cOcWc2x3Ejc5jcJgc8cC6lZ wwjpE8HfWL1kIIYgPdcexqFc+l6MdgH6QMKU3nLg1LsM4v5FEldtk/2dmnw620xnFfstpF VxSZNdKrYfM/v9o6sRaDRqSfH1dG8BvkUxPznTAF+JDxBENcKXYECcq9f6dcl1w5IEnNTD Wry/EKQvgvOUjbAAAAFG90aGVyLXRlc3RAcmVrb3IuZGV2AQIDBAUG -----END OPENSSH PRIVATE KEY----- ` otherSSHPublicKey = `ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDD9YJJYL1MS8JA7A75PrwS81rc5Ii/VjT6xPy5K/KM/IQ7T6nS3wKD/PLru87GJClTmM3owi2NcCMyZ4KbwYoy3qCT5wOhoB6/9l+O7NIvtFrITGmaEGV6HZfcYouSRcX0AEU1yGVOpIs5mISMOg2lsW/XopPWwToKpbwOPFdCRCT0krrmEsf4HF5Yw0IQlVoKZrhfThomYLvMkCLnIZ55PRIpWoyiFq8X3Q7peJgUJAe7Bc8/Id+hyqC52ZeejPP7oPprEkpkzBCw2ndYq6Y6OXNafEEIIHWXaM3pFqDxonbbvuIwVdHCNMv/yNoSxbgqTKwN/QaNXb+KpuvSrlvRqsNhu/sKsYFH64fTAbP9miDXHmJkA05uFlQukOstUmJ0QxzbsdcFvs8yw0PLsEZhEHXJzR3TLzenyZSq86VZICvGfVacBk7TikCBOtyWuESHhlc6SfZKfzZ67cOlDyKeSiVjgh+eEh9s4h56ahQ2rW05Sq6GjD0YtEzog2J4csE= other-test@rekor.dev ` // Generated with ssh-keygen -C test@rekor.dev -t ed25519 -f id_ed25519 ed25519PrivateKey = `-----BEGIN OPENSSH PRIVATE KEY----- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW QyNTUxOQAAACBB45zRHxPPFtabwS3Vd6Lb9vMe+tIHZj2qN5VQ+bgLfQAAAJgyRa3cMkWt 3AAAAAtzc2gtZWQyNTUxOQAAACBB45zRHxPPFtabwS3Vd6Lb9vMe+tIHZj2qN5VQ+bgLfQ AAAED7y4N/DsVnRQiBZNxEWdsJ9RmbranvtQ3X9jnb6gFed0HjnNEfE88W1pvBLdV3otv2 8x760gdmPao3lVD5uAt9AAAADnRlc3RAcmVrb3IuZGV2AQIDBAUGBw== -----END OPENSSH PRIVATE KEY----- ` ed25519PublicKey = `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEHjnNEfE88W1pvBLdV3otv28x760gdmPao3lVD5uAt9 test@rekor.dev ` ) func TestFromOpenSSH(t *testing.T) { for _, tt := range []struct { name string pub string priv string }{ { name: "rsa", pub: sshPublicKey, priv: sshPrivateKey, }, { name: "ed25519", pub: ed25519PublicKey, priv: ed25519PrivateKey, }, } { if _, err := exec.LookPath("ssh-keygen"); err != nil { t.Skip("skip TestFromOpenSSH: missing ssh-keygen in PATH") } t.Run(tt.name, func(t *testing.T) { tt := tt // Test that a signature from the cli can validate here. td := t.TempDir() data := []byte("hello, ssh world") dataPath := write(t, []byte(data), td, "data") privPath := write(t, []byte(tt.priv), td, "id") write(t, []byte(tt.pub), td, "id.pub") sigPath := dataPath + ".sig" run(t, nil, "ssh-keygen", "-Y", "sign", "-n", "file", "-f", privPath, dataPath) sigBytes, err := ioutil.ReadFile(sigPath) if err != nil { t.Fatal(err) } if err := sshsig.Verify(bytes.NewReader(data), sigBytes, []byte(tt.pub), "file"); err != nil { t.Error(err) } // It should not verify if we check against another public key if err := sshsig.Verify(bytes.NewReader(data), sigBytes, []byte(otherSSHPublicKey), "file"); err == nil { t.Error("expected error with incorrect key") } // It should not verify if the data is tampered if err := sshsig.Verify(strings.NewReader("bad data"), sigBytes, []byte(sshPublicKey), "file"); err == nil { t.Error("expected error with incorrect data") } }) } } func TestToOpenSSH(t *testing.T) { for _, tt := range []struct { name string pub string priv string }{ { name: "rsa", pub: sshPublicKey, priv: sshPrivateKey, }, { name: "ed25519", pub: ed25519PublicKey, priv: ed25519PrivateKey, }, } { if _, err := exec.LookPath("ssh-keygen"); err != nil { t.Skip("skip TestToOpenSSH: missing ssh-keygen in PATH") } t.Run(tt.name, func(t *testing.T) { tt := tt // Test that a signature from here can validate in the CLI. td := t.TempDir() data := []byte("hello, ssh world") write(t, []byte(data), td, "data") armored, err := sshsig.Sign([]byte(tt.priv), bytes.NewReader(data), "file") if err != nil { t.Fatal(err) } sigPath := write(t, []byte(armored), td, "oursig") // Create an allowed_signers file with two keys to check against. allowedSigner := "test@rekor.dev " + tt.pub + "\n" allowedSigner += "othertest@rekor.dev " + otherSSHPublicKey + "\n" allowedSigners := write(t, []byte(allowedSigner), td, "allowed_signer") // We use the correct principal here so it should work. run(t, data, "ssh-keygen", "-Y", "verify", "-f", allowedSigners, "-I", "test@rekor.dev", "-n", "file", "-s", sigPath) // Just to be sure, check against the other public key as well. runErr(t, data, "ssh-keygen", "-Y", "verify", "-f", allowedSigners, "-I", "othertest@rekor.dev", "-n", "file", "-s", sigPath) // It should error if we run it against other data data = []byte("other data!") runErr(t, data, "ssh-keygen", "-Y", "check-novalidate", "-n", "file", "-s", sigPath) }) } } func TestRoundTrip(t *testing.T) { data := []byte("my good data to be signed!") // Create one extra signature for all the tests. otherSig, err := sshsig.Sign([]byte(otherSSHPrivateKey), bytes.NewReader(data), "file") if err != nil { t.Fatal(err) } for _, tt := range []struct { name string pub string priv string }{ { name: "rsa", pub: sshPublicKey, priv: sshPrivateKey, }, { name: "ed25519", pub: ed25519PublicKey, priv: ed25519PrivateKey, }, } { t.Run(tt.name, func(t *testing.T) { tt := tt sig, err := sshsig.Sign([]byte(tt.priv), bytes.NewReader(data), "file") if err != nil { t.Fatal(err) } // Check the signature against that data and public key if err := sshsig.Verify(bytes.NewReader(data), sig, []byte(tt.pub), "file"); err != nil { t.Error(err) } // Now check it against invalid data. if err := sshsig.Verify(strings.NewReader("invalid data!"), sig, []byte(tt.pub), "file"); err == nil { t.Error("expected error!") } // Now check it against the wrong key. if err := sshsig.Verify(bytes.NewReader(data), sig, []byte(otherSSHPublicKey), "file"); err == nil { t.Error("expected error!") } // Now check it against an invalid signature data. if err := sshsig.Verify(bytes.NewReader(data), []byte("invalid signature!"), []byte(tt.pub), "file"); err == nil { t.Error("expected error!") } // Once more, use the wrong signature and check it against the original (wrong public key) if err := sshsig.Verify(bytes.NewReader(data), otherSig, []byte(tt.pub), "file"); err == nil { t.Error("expected error!") } // It should work against the correct public key. if err := sshsig.Verify(bytes.NewReader(data), otherSig, []byte(otherSSHPublicKey), "file"); err != nil { t.Error(err) } }) } } func write(t *testing.T, d []byte, fp ...string) string { p := filepath.Join(fp...) if err := ioutil.WriteFile(p, d, 0o600); err != nil { t.Fatal(err) } return p } func run(t *testing.T, stdin []byte, args ...string) { t.Helper() /* #nosec */ cmd := exec.Command(args[0], args[1:]...) cmd.Stdin = bytes.NewReader(stdin) out, err := cmd.CombinedOutput() t.Logf("cmd %v: %s", cmd, string(out)) if err != nil { t.Fatal(err) } } func runErr(t *testing.T, stdin []byte, args ...string) { t.Helper() /* #nosec */ cmd := exec.Command(args[0], args[1:]...) cmd.Stdin = bytes.NewReader(stdin) out, err := cmd.CombinedOutput() t.Logf("cmd %v: %s", cmd, string(out)) if err == nil { t.Fatal("expected error") } }
-
-
-
@@ -0,0 +1,49 @@// Copyright 2021 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. package asymkey import ( "bytes" "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "github.com/42wim/sshsig" ) // VerifySSHKey marks a SSH key as verified func VerifySSHKey(ownerID int64, fingerprint, token, signature string) (string, error) { ctx, committer, err := db.TxContext() if err != nil { return "", err } defer committer.Close() key := new(PublicKey) has, err := db.GetEngine(ctx).Where("owner_id = ? AND fingerprint = ?", ownerID, fingerprint).Get(key) if err != nil { return "", err } else if !has { return "", ErrKeyNotExist{} } if err := sshsig.Verify(bytes.NewBuffer([]byte(token)), []byte(signature), []byte(key.Content), "gitea"); err != nil { log.Error("Unable to validate token signature. Error: %v", err) return "", ErrSSHInvalidTokenSignature{ Fingerprint: key.Fingerprint, } } key.Verified = true if _, err := db.GetEngine(ctx).ID(key.ID).Cols("verified").Update(key); err != nil { return "", err } if err := committer.Commit(); err != nil { return "", err } return key.Fingerprint, nil }
-
-
-
@@ -361,6 +361,8 @@ var migrations = []Migration{NewMigration("Create key/value table for user settings", createUserSettingsTable), // v203 -> v204 NewMigration("Add Sorting to ProjectIssue table", addProjectIssueSorting), // v204 -> v205 NewMigration("Add key is verified to ssh key", addSSHKeyIsVerified), } // GetCurrentDBVersion returns the current db version
-
-
-
@@ -21,5 +21,4 @@ func createUserSettingsTable(x *xorm.Engine) error {return fmt.Errorf("sync2: %v", err) } return nil }
-
-
-
@@ -0,0 +1,15 @@// Copyright 2021 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. package migrations import "xorm.io/xorm" func addSSHKeyIsVerified(x *xorm.Engine) error { type PublicKey struct { Verified bool `xorm:"NOT NULL DEFAULT false"` } return x.Sync(new(PublicKey)) }
-
-
-
@@ -629,7 +629,18 @@ gpg_token_help = You can generate a signature using:gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig gpg_token_signature = Armored GPG signature key_signature_gpg_placeholder = Begins with '-----BEGIN PGP SIGNATURE-----' verify_gpg_key_success = The GPG key '%s' has been verified. verify_gpg_key_success = GPG key '%s' has been verified. ssh_key_verified=Verified Key ssh_key_verified_long=Key has been verified with a token and can be used to verify commits matching any activated email addresses for this user. ssh_key_verify=Verify ssh_invalid_token_signature = The provided SSH key, signature or token do not match or token is out-of-date. ssh_token_required = You must provide a signature for the below token ssh_token = Token ssh_token_help = You can generate a signature using: ssh_token_code = echo -n "%s" | ssh-keygen -Y sign -n gitea -f /path_to_your_pubkey ssh_token_signature = Armored SSH signature key_signature_ssh_placeholder = Begins with '-----BEGIN SSH SIGNATURE-----' verify_ssh_key_success = SSH key '%s' has been verified. subkeys = Subkeys key_id = Key ID key_name = Key Name
-
@@ -1084,6 +1095,7 @@ commits.signed_by = Signed bycommits.signed_by_untrusted_user = Signed by untrusted user commits.signed_by_untrusted_user_unmatched = Signed by untrusted user who does not match committer commits.gpg_key_id = GPG Key ID commits.ssh_key_fingerprint = SSH Key Fingerprint ext_issues = Ext. Issues ext_issues.desc = Link to an external issue tracker.
-
-
-
@@ -184,6 +184,28 @@ func KeysPost(ctx *context.Context) {} ctx.Flash.Success(ctx.Tr("settings.add_key_success", form.Title)) ctx.Redirect(setting.AppSubURL + "/user/settings/keys") case "verify_ssh": token := asymkey_model.VerificationToken(ctx.User, 1) lastToken := asymkey_model.VerificationToken(ctx.User, 0) fingerprint, err := asymkey_model.VerifySSHKey(ctx.User.ID, form.Fingerprint, token, form.Signature) if err != nil && asymkey_model.IsErrSSHInvalidTokenSignature(err) { fingerprint, err = asymkey_model.VerifySSHKey(ctx.User.ID, form.Fingerprint, lastToken, form.Signature) } if err != nil { ctx.Data["HasSSHVerifyError"] = true switch { case asymkey_model.IsErrSSHInvalidTokenSignature(err): loadKeysData(ctx) ctx.Data["Err_Signature"] = true ctx.Data["Fingerprint"] = err.(asymkey_model.ErrSSHInvalidTokenSignature).Fingerprint ctx.RenderWithErr(ctx.Tr("settings.ssh_invalid_token_signature"), tplSettingsKeys, &form) default: ctx.ServerError("VerifySSH", err) } } ctx.Flash.Success(ctx.Tr("settings.verify_ssh_key_success", fingerprint)) ctx.Redirect(setting.AppSubURL + "/user/settings/keys") default: ctx.Flash.Warning("Function not implemented")
-
@@ -268,4 +290,5 @@ func loadKeysData(ctx *context.Context) {ctx.Data["Principals"] = principals ctx.Data["VerifyingID"] = ctx.FormString("verify_gpg") ctx.Data["VerifyingFingerprint"] = ctx.FormString("verify_ssh") }
-
-
-
@@ -349,12 +349,13 @@ func (f *AddOpenIDForm) Validate(req *http.Request, errs binding.Errors) binding// AddKeyForm form for adding SSH/GPG key type AddKeyForm struct { Type string `binding:"OmitEmpty"` Title string `binding:"Required;MaxSize(50)"` Content string `binding:"Required"` Signature string `binding:"OmitEmpty"` KeyID string `binding:"OmitEmpty"` IsWritable bool Type string `binding:"OmitEmpty"` Title string `binding:"Required;MaxSize(50)"` Content string `binding:"Required"` Signature string `binding:"OmitEmpty"` KeyID string `binding:"OmitEmpty"` Fingerprint string `binding:"OmitEmpty"` IsWritable bool } // Validate validates the fields
-
-
-
@@ -109,17 +109,32 @@{{if .Verification.Verified}} {{if ne .Verification.SigningUser.ID 0}} {{svg "octicon-shield-check" 16 "mr-3"}} <span class="ui text mr-3">{{.i18n.Tr "repo.commits.gpg_key_id"}}:</span> {{.Verification.SigningKey.KeyID}} {{if .Verification.SigningSSHKey}} <span class="ui text mr-3">{{.i18n.Tr "repo.commits.ssh_key_fingerprint"}}:</span> {{.Verification.SigningSSHKey.Fingerprint}} {{else}} <span class="ui text mr-3">{{.i18n.Tr "repo.commits.gpg_key_id"}}:</span> {{.Verification.SigningKey.KeyID}} {{end}} {{else}} {{svg "octicon-shield-lock" 16 "mr-3"}} <span class="ui text mr-3 tooltip" data-content="{{.i18n.Tr "gpg.default_key"}}">{{.i18n.Tr "repo.commits.gpg_key_id"}}:</span> {{.Verification.SigningKey.KeyID}} {{if .Verification.SigningSSHKey}} <span class="ui text mr-3 tooltip" data-content="{{.i18n.Tr "gpg.default_key"}}">{{.i18n.Tr "repo.commits.ssh_key_fingerprint"}}:</span> {{.Verification.SigningSSHKey.Fingerprint}} {{else}} <span class="ui text mr-3 tooltip" data-content="{{.i18n.Tr "gpg.default_key"}}">{{.i18n.Tr "repo.commits.gpg_key_id"}}:</span> {{.Verification.SigningKey.KeyID}} {{end}} {{end}} {{else if .Verification.Warning}} {{svg "octicon-shield" 16 "mr-3"}} <span class="ui text mr-3">{{.i18n.Tr "repo.commits.gpg_key_id"}}:</span> {{.Verification.SigningKey.KeyID}} {{if .Verification.SigningSSHKey}} <span class="ui text mr-3">{{.i18n.Tr "repo.commits.ssh_key_fingerprint"}}:</span> {{.Verification.SigningSSHKey.Fingerprint}} {{else}} <span class="ui text mr-3">{{.i18n.Tr "repo.commits.gpg_key_id"}}:</span> {{.Verification.SigningKey.KeyID}} {{end}} {{else}} {{if .Verification.SigningKey}} {{if ne .Verification.SigningKey.KeyID ""}}
-
@@ -128,6 +143,13 @@{{.Verification.SigningKey.KeyID}} {{end}} {{end}} {{if .Verification.SigningSSHKey}} {{if ne .Verification.SigningSSHKey.Fingerprint ""}} {{svg "octicon-shield" 16 "mr-3"}} <span class="ui text mr-3">{{.i18n.Tr "repo.commits.ssh_key_fingerprint"}}:</span> {{.Verification.SigningSSHKey.Fingerprint}} {{end}} {{end}} {{end}} </div> </div>
-
-
-
@@ -41,11 +41,18 @@<button class="ui red tiny button delete-button{{if index $.ExternalKeys $index}} disabled{{end}}" data-modal-id="delete-ssh" data-url="{{$.Link}}/delete?type=ssh" data-id="{{.ID}}"{{if index $.ExternalKeys $index}} title="{{$.i18n.Tr "settings.ssh_externally_managed"}}"{{end}}> {{$.i18n.Tr "settings.delete_key"}} </button> {{if and (not .Verified) (ne $.VerifyingFingerprint .Fingerprint)}} <a class="ui blue tiny show-panel button" href="{{$.Link}}?verify_ssh={{.Fingerprint}}">{{$.i18n.Tr "settings.ssh_key_verify"}}</a> {{end}} </div> <div class="left floated content"> <span class="{{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted tiny"{{end}}>{{svg "octicon-key" 32}}</span> </div> <div class="content"> {{if .Verified}} <span class="tooltip" data-content="{{$.i18n.Tr "settings.ssh_key_verified_long"}}">{{svg "octicon-shield-check"}} <strong>{{$.i18n.Tr "settings.ssh_key_verified"}}</strong></span> {{end}} <strong>{{.Name}}</strong> <div class="print meta"> {{.Fingerprint}}
-
@@ -55,6 +62,37 @@</div> </div> </div> {{if and (not .Verified) (eq $.VerifyingFingerprint .Fingerprint)}} <div class="ui segment"> <h4>{{$.i18n.Tr "settings.ssh_token_required"}}</h4> <form class="ui form{{if $.HasSSHVerifyError}} error{{end}}" action="{{$.Link}}" method="post"> {{$.CsrfTokenHtml}} <input type="hidden" name="title" value="none"> <input type="hidden" name="content" value="{{.Content}}"> <input type="hidden" name="fingerprint" value="{{.Fingerprint}}"> <div class="field"> <label for="token">{{$.i18n.Tr "settings.ssh_token"}}</label> <input readonly="" value="{{$.TokenToSign}}"> <div class="help"> <p>{{$.i18n.Tr "settings.ssh_token_help"}}</p> <p><code>{{$.i18n.Tr "settings.ssh_token_code" $.TokenToSign}}</code></p> </div> <br> </div> <div class="field"> <label for="signature">{{$.i18n.Tr "settings.ssh_token_signature"}}</label> <textarea id="ssh-key-signature" name="signature" placeholder="{{$.i18n.Tr "settings.key_signature_ssh_placeholder"}}" required>{{$.signature}}</textarea> </div> <input name="type" type="hidden" value="verify_ssh"> <button class="ui green button"> {{$.i18n.Tr "settings.ssh_key_verify"}} </button> <a class="ui red button" href="{{$.Link}}"> {{$.i18n.Tr "settings.cancel"}} </a> </form> </div> {{end}} {{end}} </div> </div>
-
-
-
@@ -0,0 +1,201 @@Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
-
-
-
@@ -0,0 +1,82 @@# Armored ssh signatures in go [](https://pkg.go.dev/github.com/42wim/sshsig#section-documentation) Package sshsig implements signing/verifying armored SSH signatures. You can use this package to sign data and verify signatures using your ssh private keys or your ssh agent. It gives the same output as using `ssh-keygen`, eg when signing `ssh-keygen -Y sign -f keyfile -n namespace data` This code is based upon work by <https://github.com/sigstore/rekor> References: <https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig> You can find some examples on how to use this library on: <https://pkg.go.dev/github.com/42wim/sshsig#pkg-examples> ## Examples ```golang package main import ( "bytes" "fmt" "net" "os" "github.com/42wim/sshsig" "golang.org/x/crypto/ssh/agent" ) func ExampleSignWithAgent() { // This example will panic when you don't have a ssh-agent running. conn, err := net.Dial("unix", os.Getenv("SSH_AUTH_SOCK")) if err != nil { panic(err) } ag := agent.NewClient(conn) // This public key must match in your agent (use `ssh-add -L` to get the public key) pubkey := []byte(`ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAo3D7CGN01tTYY/dLKXEv8RxRyxa32c51X0uKMhnMab wim@localhost`) // data := []byte("hello world") res, err := sshsig.SignWithAgent(pubkey, ag, bytes.NewBuffer(data), "file") if err != nil { panic(err) } fmt.Println(string(res)) } func ExampleSign() { privkey := []byte(`-----BEGIN OPENSSH PRIVATE KEY----- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW QyNTUxOQAAACCOjP6i4Pm/pYAAmpAMNZ6xrbHl9RW8xdul6kzIWuKMMAAAAIhoQm34aEJt +AAAAAtzc2gtZWQyNTUxOQAAACCOjP6i4Pm/pYAAmpAMNZ6xrbHl9RW8xdul6kzIWuKMMA AAAEBfIl93TLj6qHeg37GnPuZ00h8OVv1mzlhy0rhuO4Y0do6M/qLg+b+lgACakAw1nrGt seX1FbzF26XqTMha4owwAAAAAAECAwQF -----END OPENSSH PRIVATE KEY-----`) data := []byte("hello world") res, err := sshsig.Sign(privkey, bytes.NewBuffer(data), "file") if err != nil { panic(err) } fmt.Println(string(res)) // Output: // -----BEGIN SSH SIGNATURE----- // U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgjoz+ouD5v6WAAJqQDDWesa2x5f // UVvMXbpepMyFrijDAAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx // OQAAAEBeu9Z+vLxBORysiqEbTzJP0EZKG0/aE5HpTtvimjQS6mHZCAGFg+kimNatBE0Y1j // gS4pfD73TlML1SyB5lb/YO // -----END SSH SIGNATURE----- } func main() { ExampleSign() } ```
-
-
-
@@ -0,0 +1,11 @@/* Package sshsig implements signing/verifying armored SSH signatures. You can use this package to sign data and verify signatures using your ssh private keys or your ssh agent. It gives the same output as using `ssh-keygen`, eg when signing `ssh-keygen -Y sign -f keyfile -n namespace data` This code is based upon work by https://github.com/sigstore/rekor References: - https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig */ package sshsig
-
-
-
@@ -0,0 +1,95 @@// Modified by 42wim // // Copyright 2021 The Sigstore Authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package sshsig import ( "errors" "fmt" "github.com/42wim/sshsig/pem" "golang.org/x/crypto/ssh" ) const ( pemType = "SSH SIGNATURE" ) // Armored returns the signature in an armored format. func Armor(s *ssh.Signature, p ssh.PublicKey, ns string) []byte { sig := WrappedSig{ Version: 1, PublicKey: string(p.Marshal()), Namespace: ns, HashAlgorithm: defaultHashAlgorithm, Signature: string(ssh.Marshal(s)), } copy(sig.MagicHeader[:], magicHeader) enc := pem.EncodeToMemory(&pem.Block{ Type: pemType, Bytes: ssh.Marshal(sig), }) return enc } // Decode parses an armored signature. func Decode(b []byte) (*Signature, error) { pemBlock, _ := pem.Decode(b) if pemBlock == nil { return nil, errors.New("unable to decode pem file") } if pemBlock.Type != pemType { return nil, fmt.Errorf("wrong pem block type: %s. Expected SSH-SIGNATURE", pemBlock.Type) } // Now we unmarshal it into the Signature block sig := WrappedSig{} if err := ssh.Unmarshal(pemBlock.Bytes, &sig); err != nil { return nil, err } if sig.Version != 1 { return nil, fmt.Errorf("unsupported signature version: %d", sig.Version) } if string(sig.MagicHeader[:]) != magicHeader { return nil, fmt.Errorf("invalid magic header: %s", sig.MagicHeader[:]) } if _, ok := supportedHashAlgorithms[sig.HashAlgorithm]; !ok { return nil, fmt.Errorf("unsupported hash algorithm: %s", sig.HashAlgorithm) } // Now we can unpack the Signature and PublicKey blocks sshSig := ssh.Signature{} if err := ssh.Unmarshal([]byte(sig.Signature), &sshSig); err != nil { return nil, err } // TODO: check the format here (should be rsa-sha512) pk, err := ssh.ParsePublicKey([]byte(sig.PublicKey)) if err != nil { return nil, err } return &Signature{ signature: &sshSig, pk: pk, hashAlg: sig.HashAlgorithm, }, nil }
-
-
-
@@ -0,0 +1,7 @@module github.com/42wim/sshsig go 1.17 require golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 require golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 // indirect
-
-
-
@@ -0,0 +1,12 @@golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 h1:/pEO3GD/ABYAjuakUS6xSEmmlyVS4kxBNkeA9tLJiTI= golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 h1:kwrAHlwJ0DUBZwQ238v+Uod/3eZ8B2K5rYsUHBQvzmI= golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-
-
-
@@ -0,0 +1,346 @@// Modified by 42wim // // 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 pem implements the PEM data encoding, which originated in Privacy // Enhanced Mail. The most common use of PEM encoding today is in TLS keys and // certificates. See RFC 1421. package pem import ( "bytes" "encoding/base64" "errors" "io" "sort" "strings" ) // A Block represents a PEM encoded structure. // // The encoded form is: // -----BEGIN Type----- // Headers // base64-encoded Bytes // -----END Type----- // where Headers is a possibly empty sequence of Key: Value lines. type Block struct { Type string // The type, taken from the preamble (i.e. "RSA PRIVATE KEY"). Headers map[string]string // Optional headers. Bytes []byte // The decoded bytes of the contents. Typically a DER encoded ASN.1 structure. } // getLine results the first \r\n or \n delineated line from the given byte // array. The line does not include trailing whitespace or the trailing new // line bytes. The remainder of the byte array (also not including the new line // bytes) is also returned and this will always be smaller than the original // argument. func getLine(data []byte) (line, rest []byte) { i := bytes.IndexByte(data, '\n') var j int if i < 0 { i = len(data) j = i } else { j = i + 1 if i > 0 && data[i-1] == '\r' { i-- } } return bytes.TrimRight(data[0:i], " \t"), data[j:] } // removeSpacesAndTabs returns a copy of its input with all spaces and tabs // removed, if there were any. Otherwise, the input is returned unchanged. // // The base64 decoder already skips newline characters, so we don't need to // filter them out here. func removeSpacesAndTabs(data []byte) []byte { if !bytes.ContainsAny(data, " \t") { // Fast path; most base64 data within PEM contains newlines, but // no spaces nor tabs. Skip the extra alloc and work. return data } result := make([]byte, len(data)) n := 0 for _, b := range data { if b == ' ' || b == '\t' { continue } result[n] = b n++ } return result[0:n] } var ( pemStart = []byte("\n-----BEGIN ") pemEnd = []byte("\n-----END ") pemEndOfLine = []byte("-----") ) // Decode will find the next PEM formatted block (certificate, private key // etc) in the input. It returns that block and the remainder of the input. If // no PEM data is found, p is nil and the whole of the input is returned in // rest. func Decode(data []byte) (p *Block, rest []byte) { // pemStart begins with a newline. However, at the very beginning of // the byte array, we'll accept the start string without it. rest = data if bytes.HasPrefix(data, pemStart[1:]) { rest = rest[len(pemStart)-1 : len(data)] } else if i := bytes.Index(data, pemStart); i >= 0 { rest = rest[i+len(pemStart) : len(data)] } else { return nil, data } typeLine, rest := getLine(rest) if !bytes.HasSuffix(typeLine, pemEndOfLine) { return decodeError(data, rest) } typeLine = typeLine[0 : len(typeLine)-len(pemEndOfLine)] p = &Block{ Headers: make(map[string]string), Type: string(typeLine), } for { // This loop terminates because getLine's second result is // always smaller than its argument. if len(rest) == 0 { return nil, data } line, next := getLine(rest) i := bytes.IndexByte(line, ':') if i == -1 { break } // TODO(agl): need to cope with values that spread across lines. key, val := line[:i], line[i+1:] key = bytes.TrimSpace(key) val = bytes.TrimSpace(val) p.Headers[string(key)] = string(val) rest = next } var endIndex, endTrailerIndex int // If there were no headers, the END line might occur // immediately, without a leading newline. if len(p.Headers) == 0 && bytes.HasPrefix(rest, pemEnd[1:]) { endIndex = 0 endTrailerIndex = len(pemEnd) - 1 } else { endIndex = bytes.Index(rest, pemEnd) endTrailerIndex = endIndex + len(pemEnd) } if endIndex < 0 { return decodeError(data, rest) } // After the "-----" of the ending line, there should be the same type // and then a final five dashes. endTrailer := rest[endTrailerIndex:] endTrailerLen := len(typeLine) + len(pemEndOfLine) if len(endTrailer) < endTrailerLen { return decodeError(data, rest) } restOfEndLine := endTrailer[endTrailerLen:] endTrailer = endTrailer[:endTrailerLen] if !bytes.HasPrefix(endTrailer, typeLine) || !bytes.HasSuffix(endTrailer, pemEndOfLine) { return decodeError(data, rest) } // The line must end with only whitespace. if s, _ := getLine(restOfEndLine); len(s) != 0 { return decodeError(data, rest) } base64Data := removeSpacesAndTabs(rest[:endIndex]) p.Bytes = make([]byte, base64.StdEncoding.DecodedLen(len(base64Data))) n, err := base64.StdEncoding.Decode(p.Bytes, base64Data) if err != nil { return decodeError(data, rest) } p.Bytes = p.Bytes[:n] // the -1 is because we might have only matched pemEnd without the // leading newline if the PEM block was empty. _, rest = getLine(rest[endIndex+len(pemEnd)-1:]) return } func decodeError(data, rest []byte) (*Block, []byte) { // If we get here then we have rejected a likely looking, but // ultimately invalid PEM block. We need to start over from a new // position. We have consumed the preamble line and will have consumed // any lines which could be header lines. However, a valid preamble // line is not a valid header line, therefore we cannot have consumed // the preamble line for the any subsequent block. Thus, we will always // find any valid block, no matter what bytes precede it. // // For example, if the input is // // -----BEGIN MALFORMED BLOCK----- // junk that may look like header lines // or data lines, but no END line // // -----BEGIN ACTUAL BLOCK----- // realdata // -----END ACTUAL BLOCK----- // // we've failed to parse using the first BEGIN line // and now will try again, using the second BEGIN line. p, rest := Decode(rest) if p == nil { rest = data } return p, rest } // https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig#L20-L21 // Should be on 76 chars, but strangely enough ssh breaks on 70 const pemLineLength = 70 type lineBreaker struct { line [pemLineLength]byte used int out io.Writer } var nl = []byte{'\n'} func (l *lineBreaker) Write(b []byte) (n int, err error) { if l.used+len(b) < pemLineLength { copy(l.line[l.used:], b) l.used += len(b) return len(b), nil } n, err = l.out.Write(l.line[0:l.used]) if err != nil { return } excess := pemLineLength - l.used l.used = 0 n, err = l.out.Write(b[0:excess]) if err != nil { return } n, err = l.out.Write(nl) if err != nil { return } return l.Write(b[excess:]) } func (l *lineBreaker) Close() (err error) { if l.used > 0 { _, err = l.out.Write(l.line[0:l.used]) if err != nil { return } _, err = l.out.Write(nl) } return } func writeHeader(out io.Writer, k, v string) error { _, err := out.Write([]byte(k + ": " + v + "\n")) return err } // Encode writes the PEM encoding of b to out. func Encode(out io.Writer, b *Block) error { // Check for invalid block before writing any output. for k := range b.Headers { if strings.Contains(k, ":") { return errors.New("pem: cannot encode a header key that contains a colon") } } // All errors below are relayed from underlying io.Writer, // so it is now safe to write data. if _, err := out.Write(pemStart[1:]); err != nil { return err } if _, err := out.Write([]byte(b.Type + "-----\n")); err != nil { return err } if len(b.Headers) > 0 { const procType = "Proc-Type" h := make([]string, 0, len(b.Headers)) hasProcType := false for k := range b.Headers { if k == procType { hasProcType = true continue } h = append(h, k) } // The Proc-Type header must be written first. // See RFC 1421, section 4.6.1.1 if hasProcType { if err := writeHeader(out, procType, b.Headers[procType]); err != nil { return err } } // For consistency of output, write other headers sorted by key. sort.Strings(h) for _, k := range h { if err := writeHeader(out, k, b.Headers[k]); err != nil { return err } } if _, err := out.Write(nl); err != nil { return err } } var breaker lineBreaker breaker.out = out b64 := base64.NewEncoder(base64.StdEncoding, &breaker) if _, err := b64.Write(b.Bytes); err != nil { return err } b64.Close() breaker.Close() if _, err := out.Write(pemEnd[1:]); err != nil { return err } _, err := out.Write([]byte(b.Type + "-----\n")) return err } // EncodeToMemory returns the PEM encoding of b. // // If b has invalid headers and cannot be encoded, // EncodeToMemory returns nil. If it is important to // report details about this error case, use Encode instead. func EncodeToMemory(b *Block) []byte { var buf bytes.Buffer if err := Encode(&buf, b); err != nil { return nil } return buf.Bytes() }
-
-
-
@@ -0,0 +1,169 @@// Modifications by 42wim // // Copyright 2021 The Sigstore Authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package sshsig import ( "crypto/rand" "crypto/sha256" "crypto/sha512" "errors" "hash" "io" "golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh/agent" ) // https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig#L81 type MessageWrapper struct { Namespace string Reserved string HashAlgorithm string Hash string } // https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig#L34 type WrappedSig struct { MagicHeader [6]byte Version uint32 PublicKey string Namespace string Reserved string HashAlgorithm string Signature string } const ( magicHeader = "SSHSIG" defaultHashAlgorithm = "sha512" ) var supportedHashAlgorithms = map[string]func() hash.Hash{ "sha256": sha256.New, "sha512": sha512.New, } func wrapData(m io.Reader, ns string) ([]byte, error) { hf := sha512.New() if _, err := io.Copy(hf, m); err != nil { return nil, err } mh := hf.Sum(nil) sp := MessageWrapper{ Namespace: ns, HashAlgorithm: defaultHashAlgorithm, Hash: string(mh), } dataMessageWrapper := ssh.Marshal(sp) dataMessageWrapper = append([]byte(magicHeader), dataMessageWrapper...) return dataMessageWrapper, nil } func sign(s ssh.AlgorithmSigner, m io.Reader, ns string) (*ssh.Signature, error) { dataMessageWrapper, err := wrapData(m, ns) if err != nil { return nil, err } // ssh-rsa is not supported for RSA keys: // https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig#L71 // We can use the default value of "" for other key types though. algo := "" if s.PublicKey().Type() == ssh.KeyAlgoRSA { algo = ssh.SigAlgoRSASHA2512 } return s.SignWithAlgorithm(rand.Reader, dataMessageWrapper, algo) } func signAgent(pk ssh.PublicKey, ag agent.Agent, m io.Reader, ns string) (*ssh.Signature, error) { dataMessageWrapper, err := wrapData(m, ns) if err != nil { return nil, err } var sigFlag agent.SignatureFlags if pk.Type() == ssh.KeyAlgoRSA { sigFlag = agent.SignatureFlagRsaSha512 } agExt, ok := ag.(agent.ExtendedAgent) if !ok { return nil, errors.New("couldn't cast to ExtendedAgent") } return agExt.SignWithFlags(pk, dataMessageWrapper, sigFlag) } // SignWithAgent asks the ssh Agent to sign the data with the signer matching the given publicKey and returns an armored signature. // The purpose of the namespace value is to specify a unambiguous // interpretation domain for the signature, e.g. file signing. // This prevents cross-protocol attacks caused by signatures // intended for one intended domain being accepted in another. // If empty, the default is "file". // This can be compared with `ssh-keygen -Y sign -f keyfile -n namespace data` func SignWithAgent(publicKey []byte, ag agent.Agent, data io.Reader, namespace string) ([]byte, error) { pk, _, _, _, err := ssh.ParseAuthorizedKey(publicKey) if err != nil { return nil, err } if namespace == "" { namespace = defaultNamespace } sig, err := signAgent(pk, ag, data, namespace) if err != nil { return nil, err } armored := Armor(sig, pk, namespace) return armored, nil } // Sign signs the data with the given private key in PEM format and returns an armored signature. // The purpose of the namespace value is to specify a unambiguous // interpretation domain for the signature, e.g. file signing. // This prevents cross-protocol attacks caused by signatures // intended for one intended domain being accepted in another. // If empty, the default is "file". // This can be compared with `ssh-keygen -Y sign -f keyfile -n namespace data` func Sign(pemBytes []byte, data io.Reader, namespace string) ([]byte, error) { s, err := ssh.ParsePrivateKey(pemBytes) if err != nil { return nil, err } as, ok := s.(ssh.AlgorithmSigner) if !ok { return nil, err } if namespace == "" { namespace = defaultNamespace } sig, err := sign(as, data, namespace) if err != nil { return nil, err } armored := Armor(sig, s.PublicKey(), namespace) return armored, nil }
-
-
-
@@ -0,0 +1,29 @@// modified by 42wim // // Copyright 2021 The Sigstore Authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package sshsig import ( "golang.org/x/crypto/ssh" ) type Signature struct { signature *ssh.Signature pk ssh.PublicKey hashAlg string } const defaultNamespace = "file"
-
-
-
@@ -0,0 +1,56 @@// // Copyright 2021 The Sigstore Authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package sshsig import ( "io" "golang.org/x/crypto/ssh" ) // Verify verifies the signature of the given data and the armored signature using the given public key and the namespace. // If the namespace is empty, the default namespace (file) is used. func Verify(message io.Reader, armoredSignature []byte, publicKey []byte, namespace string) error { if namespace == "" { namespace = defaultNamespace } decodedSignature, err := Decode(armoredSignature) if err != nil { return err } desiredPk, _, _, _, err := ssh.ParseAuthorizedKey(publicKey) if err != nil { return err } // Hash the message so we can verify it against the signature. h := supportedHashAlgorithms[decodedSignature.hashAlg]() if _, err := io.Copy(h, message); err != nil { return err } hm := h.Sum(nil) toVerify := MessageWrapper{ Namespace: namespace, HashAlgorithm: decodedSignature.hashAlg, Hash: string(hm), } signedMessage := ssh.Marshal(toVerify) signedMessage = append([]byte(magicHeader), signedMessage...) return desiredPk.Verify(signedMessage, decodedSignature.signature) }
-
-
vendor/golang.org/x/crypto/poly1305/bits_compat.go > vendor/golang.org/x/crypto/internal/poly1305/bits_compat.go
-
vendor/golang.org/x/crypto/poly1305/bits_go1.13.go > vendor/golang.org/x/crypto/internal/poly1305/bits_go1.13.go
-
vendor/golang.org/x/crypto/poly1305/mac_noasm.go > vendor/golang.org/x/crypto/internal/poly1305/mac_noasm.go
-
vendor/golang.org/x/crypto/poly1305/poly1305.go > vendor/golang.org/x/crypto/internal/poly1305/poly1305.go
-
@@ -15,7 +15,7 @@// used with a fixed key in order to generate one-time keys from an nonce. // However, in this package AES isn't used and the one-time key is specified // directly. package poly1305 // import "golang.org/x/crypto/poly1305" package poly1305 import "crypto/subtle"
-
-
vendor/golang.org/x/crypto/poly1305/sum_amd64.go > vendor/golang.org/x/crypto/internal/poly1305/sum_amd64.go
-
vendor/golang.org/x/crypto/poly1305/sum_amd64.s > vendor/golang.org/x/crypto/internal/poly1305/sum_amd64.s
-
vendor/golang.org/x/crypto/poly1305/sum_generic.go > vendor/golang.org/x/crypto/internal/poly1305/sum_generic.go
-
vendor/golang.org/x/crypto/poly1305/sum_ppc64le.go > vendor/golang.org/x/crypto/internal/poly1305/sum_ppc64le.go
-
vendor/golang.org/x/crypto/poly1305/sum_ppc64le.s > vendor/golang.org/x/crypto/internal/poly1305/sum_ppc64le.s
-
vendor/golang.org/x/crypto/poly1305/sum_s390x.go > vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.go
-
vendor/golang.org/x/crypto/poly1305/sum_s390x.s > vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.s
-
@@ -18,7 +18,7 @@// value. These limbs are, for the most part, zero extended and // placed into 64-bit vector register elements. Each vector // register is 128-bits wide and so holds 2 of these elements. // Using 26-bit limbs allows us plenty of headroom to accomodate // Using 26-bit limbs allows us plenty of headroom to accommodate // accumulations before and after multiplication without // overflowing either 32-bits (before multiplication) or 64-bits // (after multiplication).
-
-
-
@@ -14,7 +14,7 @@ import ("time" ) // These constants from [PROTOCOL.certkeys] represent the algorithm names // These constants from [PROTOCOL.certkeys] represent the key algorithm names // for certificate types supported by this package. const ( CertAlgoRSAv01 = "ssh-rsa-cert-v01@openssh.com"
-
@@ -27,6 +27,14 @@ const (CertAlgoSKED25519v01 = "sk-ssh-ed25519-cert-v01@openssh.com" ) // These constants from [PROTOCOL.certkeys] represent additional signature // algorithm names for certificate types supported by this package. const ( CertSigAlgoRSAv01 = "ssh-rsa-cert-v01@openssh.com" CertSigAlgoRSASHA2256v01 = "rsa-sha2-256-cert-v01@openssh.com" CertSigAlgoRSASHA2512v01 = "rsa-sha2-512-cert-v01@openssh.com" ) // Certificate types distinguish between host and user // certificates. The values can be set in the CertType field of // Certificate.
-
@@ -423,6 +431,12 @@ func (c *Certificate) SignCert(rand io.Reader, authority Signer) error {} c.SignatureKey = authority.PublicKey() if v, ok := authority.(AlgorithmSigner); ok { if v.PublicKey().Type() == KeyAlgoRSA { authority = &rsaSigner{v, SigAlgoRSASHA2512} } } sig, err := authority.Sign(rand, c.bytesForSigning()) if err != nil { return err
-
@@ -431,8 +445,14 @@ func (c *Certificate) SignCert(rand io.Reader, authority Signer) error {return nil } // certAlgoNames includes a mapping from signature algorithms to the // corresponding certificate signature algorithm. When a key type (such // as ED25516) is associated with only one algorithm, the KeyAlgo // constant is used instead of the SigAlgo. var certAlgoNames = map[string]string{ KeyAlgoRSA: CertAlgoRSAv01, SigAlgoRSA: CertSigAlgoRSAv01, SigAlgoRSASHA2256: CertSigAlgoRSASHA2256v01, SigAlgoRSASHA2512: CertSigAlgoRSASHA2512v01, KeyAlgoDSA: CertAlgoDSAv01, KeyAlgoECDSA256: CertAlgoECDSA256v01, KeyAlgoECDSA384: CertAlgoECDSA384v01,
-
-
-
@@ -18,7 +18,7 @@ import ("io/ioutil" "golang.org/x/crypto/chacha20" "golang.org/x/crypto/poly1305" "golang.org/x/crypto/internal/poly1305" ) const (
-
-
-
@@ -115,12 +115,25 @@ func (c *connection) clientHandshake(dialAddress string, config *ClientConfig) e// verifyHostKeySignature verifies the host key obtained in the key // exchange. func verifyHostKeySignature(hostKey PublicKey, result *kexResult) error { 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") } // For keys, underlyingAlgo is exactly algo. For certificates, // we have to look up the underlying key algorithm that SSH // uses to evaluate signatures. underlyingAlgo := algo for sigAlgo, certAlgo := range certAlgoNames { if certAlgo == algo { underlyingAlgo = sigAlgo } } if sig.Format != underlyingAlgo { return fmt.Errorf("ssh: invalid signature algorithm %q, expected %q", sig.Format, underlyingAlgo) } return hostKey.Verify(result.H, sig) }
-
-
-
@@ -69,11 +69,13 @@ var preferredKexAlgos = []string{// supportedHostKeyAlgos specifies the supported host-key algorithms (i.e. methods // of authenticating servers) in preference order. var supportedHostKeyAlgos = []string{ CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertSigAlgoRSASHA2512v01, CertSigAlgoRSASHA2256v01, CertSigAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoED25519v01, KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521, KeyAlgoRSA, KeyAlgoDSA, SigAlgoRSASHA2512, SigAlgoRSASHA2256, SigAlgoRSA, KeyAlgoDSA, KeyAlgoED25519, }
-
@@ -90,16 +92,20 @@ var supportedCompressions = []string{compressionNone}// hashFuncs keeps the mapping of supported algorithms to their respective // hashes needed for signature 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, SigAlgoRSA: crypto.SHA1, SigAlgoRSASHA2256: crypto.SHA256, SigAlgoRSASHA2512: crypto.SHA512, KeyAlgoDSA: crypto.SHA1, KeyAlgoECDSA256: crypto.SHA256, KeyAlgoECDSA384: crypto.SHA384, KeyAlgoECDSA521: crypto.SHA512, CertSigAlgoRSAv01: crypto.SHA1, CertSigAlgoRSASHA2256v01: crypto.SHA256, CertSigAlgoRSASHA2512v01: crypto.SHA512, CertAlgoDSAv01: crypto.SHA1, CertAlgoECDSA256v01: crypto.SHA256, CertAlgoECDSA384v01: crypto.SHA384, CertAlgoECDSA521v01: crypto.SHA512, } // unexpectedMessageError results when the SSH message that we received didn't
-
-
-
@@ -457,8 +457,15 @@ func (t *handshakeTransport) sendKexInit() error {if len(t.hostKeys) > 0 { for _, k := range t.hostKeys { msg.ServerHostKeyAlgos = append( msg.ServerHostKeyAlgos, k.PublicKey().Type()) algo := k.PublicKey().Type() switch algo { case KeyAlgoRSA: msg.ServerHostKeyAlgos = append(msg.ServerHostKeyAlgos, []string{SigAlgoRSASHA2512, SigAlgoRSASHA2256, SigAlgoRSA}...) case CertAlgoRSAv01: msg.ServerHostKeyAlgos = append(msg.ServerHostKeyAlgos, []string{CertSigAlgoRSASHA2512v01, CertSigAlgoRSASHA2256v01, CertSigAlgoRSAv01}...) default: msg.ServerHostKeyAlgos = append(msg.ServerHostKeyAlgos, algo) } } } else { msg.ServerHostKeyAlgos = t.hostKeyAlgorithms
-
@@ -614,8 +621,22 @@ func (t *handshakeTransport) enterKeyExchange(otherInitPacket []byte) error {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() { kt := k.PublicKey().Type() if kt == algs.hostKey { hostKey = k } else if signer, ok := k.(AlgorithmSigner); ok { // Some signature algorithms don't show up as key types // so we have to manually check for a compatible host key. switch kt { case KeyAlgoRSA: if algs.hostKey == SigAlgoRSASHA2256 || algs.hostKey == SigAlgoRSASHA2512 { hostKey = &rsaSigner{signer, algs.hostKey} } case CertAlgoRSAv01: if algs.hostKey == CertSigAlgoRSASHA2256v01 || algs.hostKey == CertSigAlgoRSASHA2512v01 { hostKey = &rsaSigner{signer, certToPrivAlgo(algs.hostKey)} } } } }
-
@@ -634,7 +655,7 @@ func (t *handshakeTransport) client(kex kexAlgorithm, algs *algorithms, magics *return nil, err } if err := verifyHostKeySignature(hostKey, result); err != nil { if err := verifyHostKeySignature(hostKey, algs.hostKey, result); err != nil { return nil, err }
-
-
-
@@ -939,6 +939,15 @@ func newDSAPrivateKey(key *dsa.PrivateKey) (Signer, error) {return &dsaPrivateKey{key}, nil } type rsaSigner struct { AlgorithmSigner defaultAlgorithm string } func (s *rsaSigner) Sign(rand io.Reader, data []byte) (*Signature, error) { return s.AlgorithmSigner.SignWithAlgorithm(rand, data, s.defaultAlgorithm) } type wrappedSigner struct { signer crypto.Signer pubKey PublicKey
-
-
-
@@ -284,7 +284,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 SigAlgoRSA, SigAlgoRSASHA2256, SigAlgoRSASHA2512, KeyAlgoDSA, KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521, KeyAlgoSKECDSA256, KeyAlgoED25519, KeyAlgoSKED25519, CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoSKECDSA256v01, CertAlgoED25519v01, CertAlgoSKED25519v01: return true }
-
-
-
@@ -0,0 +1,14 @@// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. // 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 go1.18 // +build go1.18 package idna // Transitional processing is disabled by default in Go 1.18. // https://golang.org/issue/47510 const transitionalLookup = false
-
-
-
@@ -59,10 +59,10 @@ type Option func(*options)// Transitional sets a Profile to use the Transitional mapping as defined in UTS // #46. This will cause, for example, "ß" to be mapped to "ss". Using the // transitional mapping provides a compromise between IDNA2003 and IDNA2008 // compatibility. It is used by most browsers when resolving domain names. This // compatibility. It is used by some browsers when resolving domain names. This // option is only meaningful if combined with MapForLookup. func Transitional(transitional bool) Option { return func(o *options) { o.transitional = true } return func(o *options) { o.transitional = transitional } } // VerifyDNSLength sets whether a Profile should fail if any of the IDN parts
-
@@ -284,7 +284,7 @@ var (punycode = &Profile{} lookup = &Profile{options{ transitional: true, transitional: transitionalLookup, useSTD3Rules: true, checkHyphens: true, checkJoiners: true,
-
-
-
@@ -58,10 +58,10 @@ type Option func(*options)// Transitional sets a Profile to use the Transitional mapping as defined in UTS // #46. This will cause, for example, "ß" to be mapped to "ss". Using the // transitional mapping provides a compromise between IDNA2003 and IDNA2008 // compatibility. It is used by most browsers when resolving domain names. This // compatibility. It is used by some browsers when resolving domain names. This // option is only meaningful if combined with MapForLookup. func Transitional(transitional bool) Option { return func(o *options) { o.transitional = true } return func(o *options) { o.transitional = transitional } } // VerifyDNSLength sets whether a Profile should fail if any of the IDN parts
-
-
-
@@ -0,0 +1,12 @@// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. // 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 !go1.18 // +build !go1.18 package idna const transitionalLookup = true
-
-
-
@@ -49,6 +49,7 @@ func decode(encoded string) (string, error) {} } i, n, bias := int32(0), initialN, initialBias overflow := false for pos < len(encoded) { oldI, w := i, int32(1) for k := base; ; k += base {
-
@@ -60,29 +61,32 @@ func decode(encoded string) (string, error) {return "", punyError(encoded) } pos++ i += digit * w if i < 0 { i, overflow = madd(i, digit, w) if overflow { return "", punyError(encoded) } t := k - bias if t < tmin { if k <= bias { t = tmin } else if t > tmax { } else if k >= bias+tmax { t = tmax } if digit < t { break } w *= base - t if w >= math.MaxInt32/base { w, overflow = madd(0, w, base-t) if overflow { return "", punyError(encoded) } } if len(output) >= 1024 { return "", punyError(encoded) } x := int32(len(output) + 1) bias = adapt(i-oldI, x, oldI == 0) n += i / x i %= x if n > utf8.MaxRune || len(output) >= 1024 { if n < 0 || n > utf8.MaxRune { return "", punyError(encoded) } output = append(output, 0)
-
@@ -115,6 +119,7 @@ func encode(prefix, s string) (string, error) {if b > 0 { output = append(output, '-') } overflow := false for remaining != 0 { m := int32(0x7fffffff) for _, r := range s {
-
@@ -122,8 +127,8 @@ func encode(prefix, s string) (string, error) {m = r } } delta += (m - n) * (h + 1) if delta < 0 { delta, overflow = madd(delta, m-n, h+1) if overflow { return "", punyError(s) } n = m
-
@@ -141,9 +146,9 @@ func encode(prefix, s string) (string, error) {q := delta for k := base; ; k += base { t := k - bias if t < tmin { if k <= bias { t = tmin } else if t > tmax { } else if k >= bias+tmax { t = tmax } if q < t {
-
@@ -164,6 +169,15 @@ func encode(prefix, s string) (string, error) {return string(output), nil } // madd computes a + (b * c), detecting overflow. func madd(a, b, c int32) (next int32, overflow bool) { p := int64(b) * int64(c) if p > math.MaxInt32-int64(a) { return 0, true } return a + int32(p), false } func decodeDigit(x byte) (digit int32, ok bool) { switch { case '0' <= x && x <= '9':
-
-
-
@@ -2,6 +2,7 @@// Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build darwin && go1.12 // +build darwin,go1.12 // This exists solely so we can linkname in symbols from syscall.
-
-
-
@@ -2,7 +2,7 @@package publicsuffix const version = "publicsuffix.org's public_suffix_list.dat, git revision 1e2388af5cee935fdec6dc557db41559111e3fb9 (2021-04-26T23:42:06Z)" const version = "publicsuffix.org's public_suffix_list.dat, git revision 792f13d38c795cf910de96de4baac48f1fee3162 (2021-08-23T07:37:32Z)" const ( nodesBitsChildren = 10
-
@@ -23,506 +23,510 @@ const () // numTLD is the number of top level domains. const numTLD = 1506 const numTLD = 1508 // Text is the combined text of all labels. const text = "9guacuiababia-goracleaningroks-theatree12hpalmasfjorden4tatarant" + "ours3-ap-northeast-2ix4432-balsan-suedtirolkuszczytnord-aurdalp1" + "kappchizip6116-b-datacentermezproxyzgorabogadobeaemcloud-fr1337b" + "irdartcenterprisecloudaccesscambridgeiseiroumuenchenirasakincheo" + "nishiazaindianapolis-a-bloggerbirkenesoddtangenovarahkkeravjuego" + "shikikugawashtenawdev-myqnapcloudcontrolledekagaminogifts3-websi" + "te-ap-southeast-2birthplacevje-og-hornnes3-website-eu-west-1bjar" + "koyuu2-localhostrolekaniepcextraspace-to-rentalstomakomaibarabje" + "rkreimbamblebesbyglandroverhallaakesvuemieleccebinagisoccertmgra" + "zerbaijan-mayengerdalipaywhirlimanowarudaustevollillyokosukanrag" + "rocerybnikeisenbahnaumburggfarmerseine164-balsfjordd-dnshome-web" + "serverdal-o-g-i-naval-d-aosta-valleyboltateshinanomachimkentatey" + "amajudygarlanddnslivefsnillfjorddnss3-ap-south-1bjugnieznord-oda" + "lomzaporizhzhiablackfridayuzawabloombergbauernishigohtawaramotoi" + "neppueblockbusterniiminamiawajikindianmarketinglitcheltenham-rad" + "io-opencraftrainingliwicebloxcms3-website-sa-east-1bluedagestang" + "emologicallyngenishiharabmoattachments3-website-us-east-1bms3-we" + "bsite-us-west-1bmwedeploybnrwegroweibolognagareyamakeuparaglidin" + "globoavistanbulsan-sudtirolondonetskaratebomloabathsbchernivtsic" + "iliabondigitaloceanographicsxboxfordellogliastradinglogoweirbonn" + "ishiizunazukindielddanuorrindigenamsosnowiechernovtsyncloudray-d" + "nstracebookinghostedpictetjeldsundrayddnsfreebox-osascoli-piceno" + "rdlandraydnsupdaterbookonlinewjerseyboomlajollamericanexpressexy" + "boschaefflerdalondrinapleskns3-website-us-west-2bostik-serverran" + "koshigayachts5ybostonakijinsekikogentappsselfiparisor-fronishika" + "taketomisatomobelembetsukubankaratsuginamikatagamilanotairesakyo" + "tanabellevuelosangelesjabbottjmaxxxenishikatsuragit-reposalangen" + "ishikawazukamisatohoboleslawiechirurgiens-dentistes-en-francebot" + "anicalgardeno-stagingloppenzaporizhzhedmarkareliancebotanicgarde" + "nishimerabotanychiryukyuragifuchungbukharanzanishinomiyashironom" + "niweatherchannelorenskoglugsjcbnpparibashkiriabouncemerckmsdnipr" + "opetrovskjervoyageorgeorgiabounty-fullensakerrypropertiesalon-1b" + "outiquebeconomiastalowa-wolawassamukawataricoharuovatmallorcafed" + "eration-webpaashorokanaieboutiresindevicenzaganquannefrankfurtjo" + "meloyalistoragebozen-sudtirolottebozen-suedtirolottokonamegataka" + "yamassa-carrara-massacarraramassabusinessebykleclerchitachinakag" + "awatchandclockariyameiwamarshallstatebankarlsoybplaceducatoraybr" + "andywinevalleybrasiliabrindisibenikilatironrenderbristoloseyouri" + "parliamentjxeroxfinitybritishcolumbialowiezakopanelastxjampalace" + "broadcastlebtimnetzjavaldaostathelleluxembourgmbhartipschlesisch" + "esaltdalouvrehabmerbroadwaybroke-itkmaxxn--0trq7p7nnishinoomoteg" + "omurabrokerbronnoysundrivegarsheiheijindowapblogsiteleafamilycom" + "pany-2brothermesaverdealerbrowsersafetymarketsaludrobaknoluoktac" + "hikawafflecellclstagehirnrtksatxn--11b4c3drudupontariobranconaka" + "niikawatanagurabrumunddalpusercontentlon-2brunelblagrarchaeology" + "eongbuk0brusselsalvadordalibabalena-devicesalzburgminakamichihar" + "abruxellesamegawabryanskleppgafanishinoshimatsusakahoginankokubu" + "njindustriabrynewmexicodyn-o-saurlandesamnangerbuskerudurbanamex" + "hibitionishiokoppegardurhamburgmodellingmxn--12c1fe0bradescotlan" + "dynathomebuiltwithdarkarmoybuzentsujiiebuzzlgretakamoriokakegawa" + "bwellbeingzonebzhitomirbzzwesteuropenairbusantiquest-a-la-maison" + "dre-landroidyndns-at-homedepotenzaolbia-tempio-olbiatempioolbial" + "ystokkeliwebhostingrimstadyndns-at-workisboringripecolumbusheyco" + "mmunecommunity-prochowicecomoarekecomparemarkerryhotelsantamaria" + "kecomsecaaskoyabearalvahkihokumakogenebakkeshibechambagriculture" + "nnebugattiffanyaarborteaches-yogasawara-rugbydgoszczecinemacerat" + "abuseating-organicbcieszyncondoshichinohealth-carereformemergenc" + "yahikobeardubaiduckdnswedeniwaizumiotsukumiyamazonawsglobalaccel" + "eratorahimeshimabaridagawalbrzycharternopilawalesundyndns-remote" + "wdyndns-serverisignconferenceconstructionconsuladoesntexisteinge" + "ekashibatakatorinzais-a-candidateconsultanthropologyconsultingro" + "undhandlingroznynysaikisosakitagawacontactoyouracontagematsubara" + "vpagexluzerncontemporaryarteducationalchikugodogadollsantoandrea" + "mhostersanukis-a-caterercontractorskenconventureshinodearthruher" + "ecifedexetercookingchannelsdvrdnsdojoburgrpasadenaritakoelncoolv" + "ivanovoldacooperativano-frankivskolefrakkestadyndns-webhareidsbe" + "rgentingruecopenhagencyclopedichonanbulsan-suedtirolubindalublin" + "desnesamsclubartowestfalenishitosashimizunaminamibosogndalucania" + "coproductionsaobernardocorporationcorsicahcesuoloansaogoncarrier" + "corvettemp-dnsaotomelbournecosenzamamidorissadonnagatorogersvps-" + "hostrowiechoseikarugamvikarpaczeladzcosidnsfor-better-thanawawsm" + "pplanetariumemorialcostumedicinaharimalborkashiharacouchpotatofr" + "iesapporocoukashiwaracouncilcouponsardegnarusawacozoracqcxn--12c" + "fi8ixb8lcranbrookuwanalyticsardiniacrdyndns-wikinkobierzycecredi" + "tcardyndns-workshoparenakanojohanamakinoharacreditunioncremonash" + "gabadaddjaguarqhachinoheguris-a-celticsfancrewhoswholdingsmall-w" + "ebredirectmeetoystre-slidrettozawacricketrzyncrimeast-kazakhstan" + "angercrotonecrownipassagensarlcrsarpsborguidefenseljordyndns1cru" + "isesarufutsunomiyawakasaikaitabashijonawatecuisinellancashirecip" + "escaracalvinklein-berlindaskvollculturalcentertainmentozsdelmenh" + "orstalbansasayamattelekommunikationcuneocupcakecuritibaghdadynns" + "asebofageologycurvallee-aosteroycymrussiacyonabarumemsettlersask" + "atchewancyouthachiojiyaizuwakamatsubushikusakadogawaferrarivnefe" + "rrerotikagoshimalopolskanlandynv6fetsundynvpnpluscountryestateof" + "delawareclaimsaudafgulenfhvalerfidoomdnsiskinkyotobetsumidatlant" + "ichoshibuyahabackyardsamsungriwataraidyndns-freeboxoslocus-4fiel" + "dyroyrvikinguitarsauheradynservebbsassaris-a-chefashionfigueresi" + "stancefilateliafilegear-audnedalnfilegear-dealstahaugesunderseap" + "ortsinfolionetworkangerfilegear-gbizfilegear-iefilegear-jpmorgan" + "filegear-sg-1filminamiechizenfinalfinancefineartschokokekschokol" + "adenfinlandfinnoyfirebaseappatriafirenetraniandriabarlettatrania" + "ndriafirenzefirestonefirewebhopensocialfirmdalegnicapebretonamic" + "rolightingunmaniwakuratefishingokasells-for-lesscholarshipschool" + "sztynsettsurgeonshalloffameldalfitjarvodkafjordvagsoygardendofth" + "einternetnedalceschulefitnessettlementranoyfjalerflekkefjordfles" + "berguovdageaidnulminamifuranoflickragerokunohealthcareerschulser" + "verflirfloginlinefloraflorencefloridatsunanjoetsuwanouchikujogas" + "zkolancasterfloripaderbornfloristanohatajiris-a-cpadualstackasse" + "rversailleschwarzgwangjuifminamiiserniafloromskogushikamifuranor" + "e-og-uvdalflowerschweizfltranslateflynnhosting-clusterfndfnwkasu" + "kabedzin-addrammenulvikasumigaurayasudafoodnetworkdalfor-ourfor-" + "somedizinhistorischesciencecentersciencehistoryfor-theaterforexr" + "othachirogatakanabeautysfjordforgotdnscientistordalforli-cesena-" + "forlicesenaforlikescandyn53forsalegoldpoint2thisamitsukeforsanda" + "suoloftransportefortalfortevaksdalfortmissoulanciafortworthadano" + "rfolkebibleksvikasuyanaizuerichardlillesandefjordfosnescjohnsonf" + "otaruis-a-cubicle-slavellinodeobjectscrapper-sitefoxafozfranamiz" + "uhobby-sitexascrappingwiddleitungsenfrancaiseharafranziskanerima" + "ringatlantakahamalselvendrellfredrikstadtvscrysecuritytacticserv" + "ehttpaviancargodaddyn-vpndnservehumourfreeddnsgeekgalaxyfreedesk" + "topocznordreisa-hockeynutazurestaticappspacehosted-by-previderfr" + "eemasonryfreemyiphosteurovisionfreesitextileikangerfreetlserveir" + "choyodobashichikashukujitawaraumalatvuopmicrosoftbankaruizawafre" + "iburgxn--1ck2e1bar0emmafann-arboretumbriamallamaceiobbcg12038fre" + "seniusculturecreationfribourgfriuli-v-giuliafriuli-ve-giuliafriu" + "li-vegiuliafriuli-venezia-giuliafriuli-veneziagiuliafriuli-vgiul" + "iafriuliv-giuliafriulive-giuliafriulivegiuliafriulivenezia-giuli" + "afriuliveneziagiuliafriulivgiuliafrlfroganserveminecraftransurlf" + "rognfrolandfrom-akrehamnfrom-alfrom-arfrom-azimuthatogayabukijob" + "servableusercontentrapaniizafrom-capetownnews-stagingfrom-coffee" + "dbackplaneappfizerfrom-ctravelchannelfrom-dchristiansburgroks-th" + "isayamanobeokakudamatsuefrom-deatnuniversityfrom-flanderservemp3" + "from-gaulardalfrom-hichisochildrensgardenfrom-iafrom-idfrom-ilfr" + "om-in-brbar1from-kservep2pgfoggiafrom-kyowariasahikawafrom-lange" + "vagrigentomologyeonggiehtavuoatnabudapest-a-la-masion-rancherkas" + "ydneyfrom-malvikaszubyfrom-mdfrom-meerestaurantravelersinsurance" + "from-mifunefrom-mnfrom-modalenfrom-mservepicservequakefrom-mtnfr" + "om-nctulanservesarcasmatartanddesignfrom-ndfrom-nefrom-nh-serveb" + "logspotrdfrom-njservicesevastopolefrom-nminamiizukaminokawanishi" + "aizubangefrom-nvallee-d-aosteigenfrom-nyminamimakis-a-democratre" + "ndhostingfrom-ohdattorelayfrom-oketogolffansevenassisicilyfrom-o" + "rfrom-padoval-daostavalleyfrom-pratogurafrom-ris-a-designerfrom-" + "schoenbrunnfrom-sdscloudfrom-tnfrom-txn--1ctwolominamatarnobrzeg" + "yptianfrom-utsiracusagaeroclubmedecincinnativeamericanantiquest-" + "mon-blogueurodirumadridnbloggerimo-i-rana4unjargafrom-vald-aosta" + "rostwodzislawienfrom-vtrentin-sud-tirolfrom-wafrom-wiardwebspace" + "from-wvalleeaosteinkjerusalempresashibetsukuis-a-doctorprojectre" + "ntin-sudtirolfrom-wyfrosinonefrostaplesharis-a-financialadvisor-" + "aurdalfroyaitakaharunusualpersonfstcgroupharmaciensharpharmacysh" + "awaiijimarburgfujiiderafujikawaguchikonefujiminokamoenairlineen-" + "rootaribeiraogashimadachicagoboatshellaspeziafujinomiyadattowebc" + "ampinashikiminohostfoldnavyfujiokayamamurogawafujisatoshonairpor" + "tland-4-salernoduminamiminowafujisawafujishiroishidakabiratoride" + "bianfujitsurugashimandalfujiyoshidavvenjargap-northeast-3fukayab" + "eatshimojis-a-geekatowicefukuchiyamadavvesiidappnodebalancertifi" + "cationfukudomigawafukuis-a-greenfukumitsubishigakirovogradoyfuku" + "okazakiryuohkurafukuroishikarikaturindalfukusakisarazure-mobilei" + "rfjordfukuyamagatakahashimamakishiwadazaifudaigojomedio-campidan" + "o-mediocampidanomediofunabashiriuchinadafunagatakahatakaishimogo" + "senfunahashikamiamakusatsumasendaisennangonohejis-a-gurunzenfund" + "aciofunkfeuerfuoiskujukuriyamangooglecodespotrentin-sued-tirolfu" + "osskoczowiiheyakumodernfurnitureggio-calabriafurubirafurudonosti" + "aafurukawairtelebitbridgestonekobayashikaoirmitakeharackmazeplay" + "fusodegaurafussagamiharafutabayamaguchinomihachimanagementrentin" + "-suedtirolfutboldlygoingnowhere-for-morenakatombetsumitakagiizef" + "uttsurugimperiafuturecmshimokawafuturehostingfuturemailingfvghan" + "gglidinghangoutsystemscloudsitehannanmokuizumodenaklodzkochikush" + "inonsenergyhannorthwesternmutualhanyuzenhapmircloudletshimonitay" + "anagitapphdfcbankatsuyamarugame-hostyhostinghappousrcfastly-terr" + "ariumetacentrumeteorappassenger-associationharstadharvestcelebra" + "tionhasamansionshimonosekikawahasaminami-alpshimosuwalkis-a-land" + "scaperugiahashbanghasudahasura-apphiladelphiaareadmyblogsytehasv" + "ikaufentigerhatoyamazakitahiroshimanxn--1lqs03nhatsukaichikaisei" + "yoichippubetsubetsugarustkanmakiwakunigamiharutwentehattfjelldal" + "hayashimamotobungotakadancehazuminobusells-for-uhelsinkitakamiiz" + "umisanofidelitysvardontexistmein-iservebeerhembygdsforbundhemnes" + "himotsukehemsedalhepforgeblockshimotsumaherokusslattuminamioguni" + "5heroyhgtvalleedaostehidorahigashiagatsumagoianiahigashichichibu" + "nkyonanaoshimakanegasakimobetsuldalhigashihiroshimanehigashiizum" + "ozakitakatakaokalmykiahigashikagawahigashikagurasoedahigashikawa" + "kitaaikitakyushuaiahigashikurumegurownproviderhigashimatsushimao" + "ris-a-lawyerhigashimatsuyamakitaakitadaitoigawahigashimurayamamo" + "torcycleshinichinanhigashinarusells-itrentino-aadigehigashinehig" + "ashiomitamamurausukitamihamadahigashiosakasayamanakakogawahigash" + "ishirakawamatakarazukaluganskygearapphilatelyhigashisumiyoshikaw" + "aminamiaikitamotosumy-gatewayhigashitsunortonhigashiurawa-mazows" + "zexnetrentino-alto-adigehigashiyamatokoriyamanashifteditorxn--1l" + "qs71dhigashiyodogawahigashiyoshinogaris-a-liberalhiraizumisatohm" + "apartmentshinjournalismailillehammerfeste-iphilipsynology-diskst" + "ationhirakatashinagawahiranairtrafficplexus-1hirarahiratsukaeruh" + "irayakagehistorichouseshinjukumamotoyamashikokuchuohitachiomiyag" + "ildeskaliszhitachiotagoppdalhitraeumtgeradegreehjartdalhjelmelan" + "dholeckodairaholidayhomegoodshinkamigototalhomeiphoenixn--1qqw23" + "ahomelinkyard-cloudjiffylkesbiblackbaudcdn-edgestackhero-network" + "inggroupowiathletajimageandsoundandvision-riopretochigiessensios" + "itecnologiahomelinuxn--2m4a15ehomeofficehomesecuritymacaparecida" + "homesecuritypchristmaseratinterhostsolutionsandnessjoenishiwakin" + "ternationalfirearmsandoyhomesenseeringhomeunixn--2scrj9chromedic" + "altanissettaishinomakinderoyhondahongotembaixadahonjyoitakasagot" + "pantheonsitehornindalhorsellsyourhomeftphonefosshinshinotsurgery" + "hortendofinternet-dnshinshirohospitalhoteleshintokushimahotelwit" + "hflightshintomikasaharahotmailhoyangerhoylandetroitskypehumaniti" + "eshinyoshitomiokamishihoronobeauxartsandcraftshiojirishirifujied" + "ahurdalhurumajis-a-libertarianhyllestadhyogoris-a-linux-usershio" + "yandexcloudhyugawarahyundaiwafuneis-uberleetrentino-stirolis-ver" + "y-badajozis-a-painteractivestfoldis-very-evillageis-very-goodyea" + "ris-very-niceis-very-sweetpepperis-with-thebandownloadisleofmana" + "ustdaljenv-arubajddarchitecturealtoregontrailroadjeonnamerikawau" + "ejetztrentino-sud-tiroljevnakershusdecorativeartshisognejewelryj" + "ewishartgalleryjfkazteleportlligatrentino-sudtiroljgorajlljls-st" + "o1jls-sto2jls-sto3jmphxn--30rr7yjnjaworznoshiroomgjoyentrentino-" + "sued-tiroljoyokaichibalashovhadselburgjpnjprshisuifuettertdasnet" + "zjurkosaigawakosakaerodromegallupaascolipiceno-ipifony-1koseis-a" + "-photographerokuapphotographysiokosherbrookegawakoshimizumakiyos" + "emitekoshunantankddiamondshizukuishimofusaitoshimatta-varjjatren" + "tino-suedtirolkosugekotohiradomainsureggioemiliaromagnamsskogane" + "is-a-playershiftcryptonomichigangwonkotourakouhokutamakiyosunnda" + "lkounosupplieshopitsitekouyamashikekouzushimashikizunokunimilita" + "rykozagawakozakis-a-republicancerresearchaeologicaliforniakozowi" + "ldlifestylekpnkppspdnshoppingkrasnikahokutokamachintaifun-dnsali" + "ashopwarendalenugkrasnodarkredstonekrelliankristiansandcatshouji" + "s-a-rockstarachowicekristiansundkrodsheradkrokstadelvalle-aostat" + "ic-accesshowakryminamisanrikubetsupportrentinoa-adigekumanottero" + "ykumatorinow-dnshowtimelhusgardenkumejimasoykumenantokigawakunis" + "akis-a-socialistdlibestadkunitachiarailwaykunitomigusukuleuvenet" + "okashikis-a-soxfankunneppubtlshwilliamhillkunstsammlungkunstundd" + "esignkuokgroupilotsienarviikamiokameokamakurazakitchenkuregruhos" + "tingkurgankurobeepilepsykkylvenicekurogimimatakatsukis-a-student" + "alkuroisoftwarezzokuromatsunais-a-teacherkassyno-dshirahamatonbe" + "tsurnadalkurotakikawasakis-a-techietis-a-llamaritimoldell-oglias" + "traderkushirogawakustanais-a-therapistoiakusupplynxn--3bst00mina" + "mitanekutchanelkutnowruzhgorodeokuzumakis-an-accountantshirakoka" + "miminershiranukamisunagawakvafjordkvalsundkvamlidlugolekadenagah" + "amaroyerkvanangenkvinesdalkvinnheradkviteseidatingkvitsoykwpspec" + "truminamiuonumassivegridkzmisconfusedmishimasudamissilewismiller" + "misugitokorozawamitourismilezajskfh-muenstermitoyoakemiuramiyazu" + "recontainerdpolicemiyotamanomjondalenmlbfanmontrealestatefarmequ" + "ipmentrentinoaadigemonza-brianzapposigdalmonza-e-della-brianzapt" + "okuyamatsumaebashikshacknetrentinoalto-adigemonzabrianzaramonzae" + "brianzamonzaedellabrianzamoonscaleforcemordoviamoriyamatsumotofu" + "kemoriyoshiminamiashigaramormonstermoroyamatsunomortgagemoscowin" + "barclaycards3-external-1moseushistorymosjoenmoskenesilkhakassiam" + "ossimple-urlmosvikharkivanylvenneslaskerrylogisticshizuokamitsue" + "moteginowaniigatakamatsukawamoviemovimientokyotangovtrentinoalto" + "adigemozilla-iotrentinos-tirolmtranbymuginozawaonsenmuikaminoyam" + "axunispacemukoebenhavnmulhouseoullensvanguardmultibaasirdalmunak" + "atanemuncienciamuosattemupimientakinouemurmanskharkovaomurotorcr" + "aftrentinostirolmusashinoharamuseetrentinosud-tirolmuseumverenig" + "ingmusicarbonia-iglesias-carboniaiglesiascarboniamutsuzawamy-vig" + "orgemy-wanggouvichurchaseljedugit-pagespeedmobilizeroticagliarik" + "uzentakataipeidsvolluccaravantaarparochernigovernmentoyosatoyoka" + "wamyactivedirectorymyasustor-elvdalmycdmycloudnslupskhersonmydat" + "tolocalhistorymyddnskingmydissentrentinosudtirolmydobisshikis-an" + "-artistgstagemydroboehringerikemydslzmyeffectrentinosued-tirolmy" + "fastblogermyfirewallonieruchomoscienceandindustrynmyforuminamiya" + "mashirokawanabelaudibleasingmyfritzmyftpaccessmolarvikhmelnitski" + "yamarumorimachidamyhome-servermyjinomykolaivarggatrentinosuedtir" + "olmymailermymediapcircustomer-ocimdbananarepublic66myokohamamats" + "udamypepinbarclays3-fips-us-gov-west-1mypetsmushcdn77-sslingmyph" + "otoshibalatinoipirangalsaceomypicturesnoasakakinokiamypsxn--3ds4" + "43gmysecuritycamerakermyshopblocksokndalmyshopifyresdalmythic-be" + "astsolarssonmytis-a-bookkeeperspectakashimarcheapigeelvinckhmeln" + "ytskyivaporcloudmytuleaprendemasakievennodesabaerobaticketsologn" + "emyvncistrondheimmobilienissandiegomywireitrentinsud-tirolplatte" + "rpioneerplazaplcube-serverplumbingoplurinacionalpodhalepodlasiel" + "laktyubinskiptveterinairealmpmnpodzonepohlpoivronpokerpokrovsknx" + "-serversicherungpoliticarrdpolitiendapolkowicepoltavalle-d-aosta" + "ticsomnarvikomaganepomorzeszowindmillponpesaro-urbino-pesarourbi" + "nopesaromasvuotnaroyponypordenonepornporsangerporsangugeporsgrun" + "nanyokoshibahikariwanumatakkofuefukihabororosoopoznanpraxis-a-br" + "uinsfanprdpresidioprgmrprimetelemarkomakiyosatokaizukamikoaniiha" + "matamakawajimarnardalprincipeprivatizehealthinsuranceprofesional" + "progressivestnesopotrentinsudtirolpromombetsurfaststacksavannahg" + "apropertyprotectionprotonetrentinsued-tirolprudentialpruszkowind" + "owskrakowinnersor-odalprvcyberlevagangaviikanonjis-an-engineerin" + "gprzeworskogpulawypupippugliapvhagebostadpvtrentinsuedtirolpwcit" + "adeliverydyndns-iparsanfranciscofreakunemurorangecloudplatform0p" + "ythonanywherepaircraftingvollolipopittsburghofficialpzqldqotoyoh" + "ashimotoolsor-varangerqponiatowadaqslgbtrentoyonakagyokutoyakolo" + "brzegersundqualifioappiwatequickconnectrevisohughesorfoldquicksy" + "tesorocabalestrandabergamo-siemenscaledogawarabikomaezakirunombr" + "esciaquipelementsorreisahayakawakamiichikawamisatottoris-an-ente" + "rtainerqvcitichitosetoeigersundyndns-blogdnsampaleomutashinaindu" + "striesteamfamberkeleyswidnikkokonoeswiebodzin-butterswiftcoversw" + "inoujscienceandhistoryswissmarterthanyousynology-dsowatuvalleaos" + "taverntuxfamilytwmailvevelstadvibo-valentiavibovalentiavideovill" + "asphinxn--3e0b707evinnicasacamdvrcampinagrandebuilderschmidtre-g" + "auldalvinnytsiavipsinaappixolinovirginiavirtual-userveexchangevi" + "rtualcloudvirtualservervirtualuserveftpizzavirtueeldomein-vigorl" + "icevirtuelvisakegawaviterboknowsitallvivolkenkundenvixn--3hcrj9c" + "ivilizationisshingucciprianidyndns-mailukowestus2vlaanderenvladi" + "kavkazimierz-dolnyvladimirvlogintoyonezawavminiservervologdansko" + "mmunevolvolkswagentspjelkavikomatsushimarylandvolyngdalvoorloper" + "auniterois-foundationvossevangenvotevotingvotoyonowithyoutubersp" + "acekitagatargitlaborwiwatsukiyonosegawawixsitewloclawekomorotsuk" + "agawawmcloudwmflabsrhtritonwnextdirectromsojamisonwoodsideloitte" + "mpurlworldworse-thandawowiospydebergwpdevcloudwpenginepoweredwph" + "ostedmailwpmucdnpklabudhabikinokawabarthaebaruericssongdalenvikn" + "akatsugawawpmudevcdnaccessokamogawawritesthisblogwroclawitdkomon" + "otogawawtcircleverappspotagerwtfastvps-serveronakasatsunairguard" + "iannakadomarinedre-eikerwuozuwzmiuwajimaxn--45brj9civilwarmiasak" + "uchinotsuchiurakawatchesangoxn--45q11clanbibaidarmeniaxn--4gbrim" + "iningxn--4it168dxn--4it797kongsbergxn--4pvxs4allxn--54b7fta0ccld" + "mailuroyxn--55qw42gxn--55qx5dxn--5js045dxn--5rtp49clic20001wwwfa" + "rmsteadyndns-office-on-the-weberxn--5rtq34kongsvingerxn--5su34j9" + "36bgsgxn--5tzm5gxn--6btw5axn--6frz82gxn--6orx2rxn--6qq986b3xlxn-" + "-7t0a264clicketcloudcontrolappartintuitoyotapartsanjotoyotomiyaz" + "akinuyamashinatsukigatakasakitashiobaraxn--80aaa0cvacationsrlxn-" + "-80adxhksrvaroyxn--80ao21axn--80aqecdr1axn--80asehdbarefootballo" + "oningjesdalimitediscourses3-sa-east-1xn--80aswgxn--80augustowith" + "googleapiszxn--8ltr62koninjambylxn--8pvr4uxn--8y0a063axn--90a1af" + "lakstadaokagakicks-assnasaarlandxn--90a3academiamicable-modemone" + "yxn--90aeroportalaheadjudaicadaquestorebaselectroandinosaurepbod" + "ynamic-dnsoruminanoxn--90aishobarakawagoexn--90amcdirxn--90azhyt" + "omyravendbargainstantcloudfrontdoorlandiscoveryggeehimejiiyamano" + "uchikuhokuryugasakitanakagusukumodumcpreservationayorovnoceanogr" + "aphiquemrhcloudishakotanfshostrodawaraustraliamuneues3-ap-southe" + "ast-1xn--9dbhblg6dietrusteexn--9dbq2axn--9et52uxn--9krt00axn--an" + "dy-iraxn--aroport-byaotsurreyxn--asky-iraxn--aurskog-hland-jnbar" + "reauctioncilla-speziaustrheimatunduhrennesoyokoteastasiamusement" + "dllpages3-ap-southeast-2xn--avery-yuasakuhokksundxn--b-5gaxn--b4" + "w605ferdxn--balsan-sdtirol-nsbstorfjordxn--bck1b9a5dre4clickrisi" + "nglesannaniyodogawaxn--bdddj-mrabdxn--bearalvhki-y4axn--berlevg-" + "jxaxn--bhcavuotna-s4axn--bhccavuotna-k7axn--bidr-5nachikatsuurax" + "n--bievt-0qa2xn--bjarky-fyasakaiminatoyookanazawaxn--bjddar-ptar" + "umizusawaxn--blt-elabourxn--bmlo-graingerxn--bod-2naturalhistory" + "museumcenterxn--bozen-sdtirol-2obanazawaxn--brnny-wuacademy-fire" + "wall-gatewayxn--brnnysund-m8accident-investigation-aptibleadpage" + "square7xn--brum-voagatrvestre-slidreportromsakatamayufuelverumin" + "comcastresinstagingxn--btsfjord-9zaxn--bulsan-sdtirol-nsbarrel-o" + "f-knowledgeappleborkaracoldwarszawauthordalandds3-ca-central-1xn" + "--c1avgxn--c2br7gxn--c3s14minnesotaketakazakis-an-actorxn--cck2b" + "3barrell-of-knowledgecomputerhistoryofscience-fictionfabricafjs3" + "-us-east-2xn--cckwcxetdxn--cesena-forl-mcbremangerxn--cesenaforl" + "-i8axn--cg4bkis-gonexn--ciqpnxn--clchc0ea0b2g2a9gcdxn--comunicae" + "s-v6a2oxn--correios-e-telecomunicaes-ghc29axn--czr694barsycenter" + "prisesakikonaikawachinaganoharamcoachampionshiphoptobamagazineat" + "-urlimolisemineu-1xn--czrs0try-snowplowiczest-le-patronxn--czru2" + "dxn--czrw28barsyonlineustargardiskussionsbereichattanooganordest" + "e-idcasadelamonedapliernewspaperxn--d1acj3basicservercelliguriau" + "tomotivelandeportenrittogitsulikes-piedmonticellocalzoneastcoast" + "aldefenceastus2xn--d1alfaromeoxn--d1atrycloudflareplantationxn--" + "d5qv7z876clinichofunatoriginstitutemasekd1xn--davvenjrga-y4axn--" + "djrs72d6uyxn--djty4konskowolayangroupiemontexn--dnna-grajewolter" + "skluwerxn--drbak-wuaxn--dyry-iraxn--e1a4cliniquenoharavennagasak" + "indlecznagasukexn--eckvdtc9dxn--efvn9storjcloud-ver-jpchungnamda" + "lseidfjordyndns-homednsandvikcoromantovalle-daostavangerxn--efvy" + "88haibarakitahatakanezawaxn--ehqz56nxn--elqq16hair-surveillancex" + "n--eveni-0qa01gaxn--f6qx53axn--fct429konsulatrobeeldengeluidvare" + "serve-onlinexn--fhbeiarnxn--finny-yuaxn--fiq228c5hstpetersburgxn" + "--fiq64basilicataniautoscanadaeguambulancentralus-2xn--fiqs8stre" + "amscompute-1xn--fiqz9studioxn--fjord-lraxn--fjq720axn--fl-ziaxn-" + "-flor-jraxn--flw351exn--forl-cesena-fcbsstudynamisches-dnsoundca" + "stronomy-routerxn--forlcesena-c8axn--fpcrj9c3dxn--frde-grandrapi" + "dstuff-4-salexn--frna-woaraisaijosoyrovigotsukisofukushimangyshl" + "akasamatsudopaasnesoddenmarkhangelskjakdnepropetrovskiervaapstei" + "ermarkonyvelohmusashimurayamarylhurstjordalshalsenxn--frya-hraxn" + "--fzc2c9e2clintonoshoesannohelplfinancialutskarumaifarsundyndns-" + "picsanokasaokamikitayamatsurinvestmentsantabarbaraxn--fzys8d69uv" + "gmailxn--g2xx48clothingdustdataitogakushimotoganewyorkshirebungo" + "onordkappartyxn--gckr3f0fauskedsmokorsetagayaseralingenoamishira" + "satogliattis-a-conservativegasaveincloudynufcfanxn--gecrj9cn-nor" + "thwest-1xn--ggaviika-8ya47hakatanorth-kazakhstanxn--gildeskl-g0a" + "xn--givuotna-8yasugitpagefrontapplantsolundbeckmpspbar2xn--gjvik" + "-wuaxn--gk3at1exn--gls-elacaixaxn--gmq050is-into-animeinforumzxn" + "--gmqw5axn--gnstigbestellen-zvbrplsbxn--3oq18vl8pn36axn--gnstigl" + "iefern-wobihirosakikamijimatsushigexn--h-2failxn--h1aeghakodatex" + "n--h1ahnxn--h1alizxn--h2breg3evenestufftoread-booksnesouthcaroli" + "natalxn--h2brj9c8cngrondarxn--h3cuzk1discountysnestuttgartrogsta" + "dxn--hbmer-xqaxn--hcesuolo-7ya35basketballfinanzgorzeleccogjovik" + "aragandaveroykenflfanpachigasakids3-eu-central-1xn--hery-iraxn--" + "hgebostad-g3axn--hkkinen-5waxn--hmmrfeasta-s4accident-prevention" + "-k3susakis-bytomaritimekeepingxn--hnefoss-q1axn--hobl-iraxn--hol" + "tlen-hxaxn--hpmir-xqaxn--hxt814exn--hyanger-q1axn--hylandet-54ax" + "n--i1b6b1a6a2exn--imr513nxn--indery-fyasuokannamihokkaidovre-eik" + "erxn--io0a7is-into-carshiraokamitondabayashiogamagoriziaxn--j1ad" + "platformshangrilaquilanxessomaxn--j1aefbsbxn--12co0c3b4evalled-a" + "ostaobaomoriguchiharag-cloud-charitychyattorneyagawakayamagnethn" + "ologyxn--j1ael8batochiokinoshimaintenanceu-2xn--j1amhakonexn--j6" + "w193gxn--jlq480n2rgxn--jlq61u9w7batsfjordisrechtranakaiwamizawav" + "ocatanzarowbq-aukraanghkembuchikumagayagawakepnogatagajoboji234l" + "ima-cityeatselinogradult3l3p0rtatamotorsitestingdyniabruzzoologi" + "calabamagasakishimabaraogakibichuobiraetnaamesjevuemielnoboribet" + "sucks3-ap-northeast-1xn--jlster-byatominamidaitomanchesterxn--jr" + "peland-54axn--jvr189mintereisenxn--k7yn95exn--karmy-yuaxn--kbrq7" + "oxn--kcrx77d1x4axn--kfjord-iuaxn--klbu-woaxn--klt787dxn--kltp7dx" + "n--kltx9axn--klty5xn--3pxu8komvuxn--32vp30hagakhanamigawaxn--kol" + "uokta-7ya57hakubahcavuotnagaivuotnagaokakyotambabyenglandxn--kpr" + "w13dxn--kpry57dxn--kput3is-into-cartoonshiratakahagithubusercont" + "entrentino-altoadigexn--krager-gyatsukanoyaltakasugais-into-game" + "ssinazawaxn--kranghke-b0axn--krdsherad-m8axn--krehamn-dxaxn--krj" + "ohka-hwab49jdevcloudfunctionshishikuis-a-patsfanxn--ksnes-uuaxn-" + "-kvfjord-nxaxn--kvitsy-fyatsushiroxn--kvnangen-k0axn--l-1fairwin" + "dsusonoxn--l1accentureklamborghinikolaeventsuzakanagawaxn--lahea" + "dju-7yawaraxn--langevg-jxaxn--lcvr32dxn--ldingen-q1axn--leagavii" + "ka-52bauhausposts-and-telecommunicationsncfditchyouripalmsprings" + "akerxn--lesund-huaxn--lgbbat1ad8jdfastlylbanzaicloudappspaceuser" + "contentatsunobninskanzakiwielunnereviewsaitamatsukuribmdevelopme" + "ntattoolforgerockartuzyolasitebinordre-landgcanonoichinomiyakebi" + "zenakanotoddenavuotnarashinobserverevistarnbergjerstadotsuruokak" + "amigaharaustinnavigationavoizumizakibigawamswatch-and-clockeretr" + "osnubaltimore-og-romsdalpha-myqnapcloud66xn--lgrd-poacctrysiljan" + "xn--lhppi-xqaxn--linds-pramericanartunespeedpartnersortlandxn--l" + "ns-qlavagiskexn--loabt-0qaxn--lrdal-sraxn--lrenskog-54axn--lt-li" + "acnpyatigorskodjeepsondriodejaneirodoyxn--lten-granexn--lury-ira" + "xn--m3ch0j3axn--mely-iraxn--merker-kuaxn--mgb2ddesuzukananiikapp" + "uboliviajessheimpertrixcdn77-secureggiocalabriaxn--mgb9awbfbx-os" + "trowwlkpmgujoinvilleirvikashiwazakiyokawaraxn--mgba3a3ejtunkommu" + "nalforbundxn--mgba3a4f16axn--mgba3a4fra1-deltaiwanairforcechirea" + "dthedocscbgxn--mgba7c0bbn0axn--mgbaakc7dvfbxosaves-the-whalessan" + "dria-trani-barletta-andriatranibarlettaandriaxn--mgbaam7a8hakuis" + "-a-hard-workershimokitayamayfirstockholmestrandxn--mgbab2bdxn--m" + "gbah1a3hjkrdxn--mgbai9a5eva00bellunord-frontierxn--mgbai9azgqp6j" + "ejuniperxn--mgbayh7gpalermomahachijolsterxn--mgbbh1a71exn--mgbc0" + "a9azcgxn--mgbca7dzdoxn--mgbcpq6gpa1axn--mgberp4a5d4a87gxn--mgber" + "p4a5d4arxn--mgbgu82axn--mgbi4ecexposedxn--mgbpl2fhskydivingxn--m" + "gbqly7c0a67fbcnsantacruzsewhalingrongausdaluxuryxn--mgbqly7cvafr" + "-1xn--mgbt3dhdxn--mgbtf8flapymnturystykaneyamazoexn--mgbtx2benev" + "entodayombolzano-altoadigeometre-experts-comptables3-us-gov-west" + "-1xn--mgbx4cd0abbvieeexn--mix082fedorainfraclouderaxn--mix891fed" + "orapeoplegallodingenxn--mjndalen-64axn--mk0axin-dsldxn--mk1bu44c" + "ntoyotsukaidoxn--mkru45is-leetrentino-s-tirolxn--mlatvuopmi-s4ax" + "n--mli-tlavangenxn--mlselv-iuaxn--moreke-juaxn--mori-qsakuragawa" + "xn--mosjen-eyawatahamaxn--mot-tlazioxn--mre-og-romsdal-qqbuseran" + "ishiaritakurashikis-lostre-toteneis-a-nursembokukitauraxn--msy-u" + "la0hakusanagochijiwadefinimamateramobaraxn--mtta-vrjjat-k7afedor" + "aprojectrani-andria-barletta-trani-andriaxn--muost-0qaxn--mxtq1m" + "isakis-an-actresshiraois-a-musicianxn--ngbc5azdxn--ngbe9e0axn--n" + "gbrxn--41axn--nit225kooris-a-personaltrainerxn--nmesjevuemie-tcb" + "alsan-sudtirollagdenesnaaseinet-freaksuzukis-certifiedunetlifyis" + "-a-nascarfanxn--nnx388axn--nodessakurais-not-certifiedxn--nqv7fs" + "00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--nttery-byaeserveg" + "ame-serverxn--nvuotna-hwaxn--nyqy26axn--o1achernihivgubsvalbardu" + "nloppacificivilaviationissayokkaichiropractichocolatelevisionthe" + "wifiatmparmatsuzakinfinitintelligencexn--o3cw4haldenxn--o3cyx2ax" + "n--od0algxn--od0aq3bentleyomitanocelotenkawavoues3-eu-west-1xn--" + "ogbpf8flatangerxn--oppegrd-ixaxn--ostery-fyaxn--osyro-wuaxn--otu" + "796dxn--p1acfeiraquarelleaseeklogesavonarutolgaxn--p1ais-savedxn" + "--pgbs0dhlxn--porsgu-sta26fermochizukirkenesaxoxn--pssu33lxn--ps" + "sy2uxn--q7ce6axn--q9jyb4collectionxn--qcka1pmckinseyxn--qqqt11mi" + "sasaguris-an-anarchistoricalsocietyxn--qxa6axn--qxamsterdamnserv" + "erbaniaxn--rady-iraxn--rdal-poaxn--rde-ulaxn--rdy-0nabaris-slick" + "autokeinoticeablevangerxn--rennesy-v1axn--rhkkervju-01aferraraxn" + "--rholt-mragowoltlab-democraciaxn--rhqv96gxn--rht27zxn--rht3dxn-" + "-rht61exn--risa-5naturalsciencesnaturellesvcivilisationissedaluc" + "ernexn--risr-iraxn--rland-uuaxn--rlingen-mxaxn--rmskog-byaxn--rn" + "y31halsaintlouis-a-anarchistoireggio-emilia-romagnakayamannorthf" + "lankatsushikabeebyteapplinzis-a-hunterxn--rovu88beppublishproxyo" + "nagoyaxarnetflixilovecollegefantasyleaguernseyokozeatonsbergivin" + "gjemnes3-eu-west-2xn--rros-granvindafjordxn--rskog-uuaxn--rst-0n" + "aturbruksgymnxn--rsta-framercanvasveioxn--rvc1e0am3exn--ryken-vu" + "axn--ryrvik-byaxn--s-1faithammarfeastafricapitalonewportrentino-" + "a-adigexn--s9brj9colognexus-3xn--sandnessjen-ogbeskidyn-ip24xn--" + "sandy-yuaxn--sdtirol-n2axn--seral-lraxn--ses554gxn--sgne-graphox" + "n--42c2d9axn--skierv-utazasvelvikomforbarcelonagawakuyachimataij" + "iitatebayashiibahccavuotnagaragusarts3-eu-west-3utilities-1xn--s" + "kjervy-v1axn--skjk-soaxn--sknit-yqaxn--sknland-fxaxn--slat-5natu" + "rhistorischesvizzeraxn--slt-elabcn-north-1xn--smla-hraxn--smna-g" + "ratangentlentapisa-geekopervikazunoticiashitaramaxn--snase-nraxn" + "--sndre-land-0cbestbuyshouses3-us-west-1xn--snes-poaxn--snsa-roa" + "xn--sr-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn--sr-varanger-g" + "gbetainaboxfusejnyanagawalmartaxihuanhktcmembers3-us-west-2xn--s" + "rfold-byaxn--srreisa-q1axn--srum-gratis-a-bulls-fanxn--stfold-9x" + "axn--stjrdal-s1axn--stjrdalshalsen-sqbhzcasertairaholtalenhlfanh" + "s3-website-ap-northeast-1xn--stre-toten-zcbieidskoguchikuzenviro" + "nmentalconservationionjukudoyamaizuruhrxn--t60b56axn--tckwebthin" + "gsvn-reposouthwest1-uslivinghistoryxn--tiq49xqyjelasticbeanstalk" + "azoologyxn--tjme-hraxn--tn0agrinetbankoryokamikawanehonbetsuruta" + "haraxn--tnsberg-q1axn--tor131oxn--trany-yuaxn--trentin-sd-tirol-" + "rzbielawaltervistainaioirasebastopologyeongnamegawafaicloudinebr" + "askaunicommbankarasjohkameyamatotakadazurewebsiteshikagamiishibu" + "kawakkanaibetsubamericanfamilydsmynasushiobaracingjerdrumcpebets" + "uikiraurskog-holandingivestbytemark12xn--trentin-sdtirol-7vbiell" + "ahppiacenzachpomorskienikonanporocpanamatsuuraxn--trentino-sd-ti" + "rol-c3bieszczadygeyachiyodaejeonbukcoalwaysdatabaseballangenkain" + "anaejrietisalatinabenonicasinorddalivornowtv-infolldalombardiade" + "mbroideryonagunicloudivtasvuodnakamagayahooguyoriikarasjokarasuy" + "amarriottcp4xn--trentino-sdtirol-szbievat-band-campaniaxn--trent" + "inosd-tirol-rzbifukagawashingtondclk3xn--trentinosdtirol-7vbigva" + "lledaostargetmyipanasonicateringebuildingladedyn-berlincolninohe" + "kinannestadivttasvuotnakamuratajimidsundiyoshiokanumazuryukin-th" + "e-bandain-vpncatholicaxiaskimitsubatamibudejjuedischesapeakebaye" + "rnuorochesterxn--trentinsd-tirol-6vbihorologyukuhashimoichinosek" + "igaharaxn--trentinsdtirol-nsbikedaemonmoutheworkpccweddinglassas" + "sinationalheritagets-itgoryurihonjournalistjohninomiyakonojorpel" + "andrangedalombardynalias3-website-ap-southeast-1xn--trgstad-r1ax" + "n--trna-woaxn--troms-zuaxn--tysvr-vraxn--uc0atvestre-totennishia" + "wakuraxn--uc0ay4axn--uist22hamurakamigoris-a-knightpointtohnosho" + "ooshikamaishimodatexn--uisz3gxn--unjrga-rtashkentuscanyxn--unup4" + "yxn--uuwu58axn--vads-jraxn--valle-aoste-ebbtushuissier-justicexn" + "--valle-d-aoste-ehbodoes-itvedestrandxn--valleaoste-e7axn--valle" + "daoste-ebbvadsobetsuitaikikuchikuseihicampobassociatest-iserveco" + "unterstrikeymachinewhampshirealtydalvdalaskanittedallasalleangav" + "iikaasdaburxn--vard-jraxn--vegrshei-c0axn--vermgensberater-ctbit" + "swidnicartoonartdecologiaxn--vermgensberatung-pwblogoiplatter-ap" + "pinkhplaystation-cloudyclusterxn--vestvgy-ixa6oxn--vg-yiabkhazia" + "xn--vgan-qoaxn--vgsy-qoa0jelenia-goraxn--vgu402colonialwilliamsb" + "urgrossetouchihayaakasakawaharaxn--vhquvestvagoyxn--vler-qoaxn--" + "vre-eiker-k8axn--vrggt-xqadxn--vry-yla5gxn--vuq861bilbaokinawash" + "irosatobishimagentositechnologyusuharaxn--w4r85el8fhu5dnraxn--w4" + "rs40lxn--wcvs22dxn--wgbh1coloradoplateaudiopsysantafedjeffersonx" + "n--wgbl6axn--xhq521billustrationredumbrellair-traffic-controlley" + "usuisservehalflifeinsuranceu-3xn--xkc2al3hye2axn--xkc2dl3a5ee0ha" + "ndsonyxn--y9a3aquariumisawaxn--yer-znatuurwetenschappenginexn--y" + "fro4i67oxn--ygarden-p1axn--ygbi2ammxn--45br5cylxn--ystre-slidre-" + "ujbioddaxn--zbx025dxn--zf0ao64axn--zf0avxlxn--zfr164biparachutin" + "gleezeu-4xnbayxz" const text = "9guacuiababia-goracleaningroks-theatree164-balsfjordd-dnshome-we" + "bserverdal-o-g-i-n4t3l3p0rtashkentatamotorsitestinggfarmerseinea" + "stasiaetnaamesjevuemielnoboribetsucks3-ap-northeast-2ix4432-bals" + "an-suedtirolkuszczytnoopencraftrainingdyniabruzzoologicalabamaga" + "sakishimabaraogashimadachicagoboats3-ap-northeast-1kappchizip611" + "6-b-datacentermezproxyzgorabogadobeaemcloud-fr1337birdartcenterp" + "risecloudaccesscambridgeiseiroumuencheninohekinannestaditchyouri" + "parachutingleezebirkenesoddtangenovaranzanquannefrankfurtcmember" + "s3-website-ap-southeast-2birthplacebitbucketrzyninomiyakonojorpe" + "landivtasvuodnakamagayahooguyurihonjournalistjohnirasakin-vpncas" + "inord-odalombardynalias3-website-eu-west-1bjarkoyusuharabjerkrei" + "mbamblebesbyenvironmentalconservationionjukudoyamaintenancebizen" + "akanojohanamakinoharaustinnaumburgjerdrumcpeatonsbergjerstadotsu" + "ruokakamigaharamswatch-and-clockerevistarnbergivestbytemark12bju" + "gnieznord-frontierblackfridayusuisservehttpbin-butterbloombergba" + "uernishiazaincheonishigovtcp4bloxcms3-website-sa-east-1bluebitem" + "p-dnswedenishiharabmoattachments3-website-us-east-1bms3-website-" + "us-west-1bmwedeployuufcfanishiizunazukindianapolis-a-bloggerbnrw" + "egroweibolognagareyamakeuparaglidinglitcheltenham-radio-opensoci" + "alomzaporizhzhegurindianmarketingliwicebomloabathsbcateringebuil" + "dingloboavistanbulsan-sudtirolondonetskaratsuginamikatagamilanos" + "hiroomglogoweirbondigitaloceanographicsxboxfordellogliastradingl" + "oppenzaolbia-tempio-olbiatempioolbialystokkeliwebhostinglugsjcbn" + "pparibashkiriabonnishikatakazakindielddanuorrindigenaklodzkodair" + "abookinghostedpictetgoryuzawabookonlinewjerseyboomlajollamerican" + "expressexyboschaefflerdalondrinamsskoganeindowapblogsiteleafamil" + "ycompany-2bostik-serverrankoshigayachts3-website-us-west-2boston" + "akijinsekikogentappsselfiparisor-fronishikatsuragit-reposts-and-" + "telecommunicationsakyotanabellevuelosangelesjabbottjeldsundivtta" + "svuotnakamurataiwanairforcechireadthedocscbgmbhartipschlesisches" + "alangenishikawazukamisatohoboleslawieconomiastalowa-wolawabotani" + "calgardeno-stagingminakamichiharabotanicgardenishimerabotanycath" + "olicaxiaskimitsubatamibudejjuegoshikievennodesabaerobaticketsalo" + "n-1bouncemerckmsdnipropetrovskjervoyageometre-experts-comptables" + "altdalorenskogmodellingmxenishinomiyashironoddabounty-fullensake" + "rrypropertiesaludiyboutiquebecommerce-shopitsitempurlotteboutire" + "serve-onlinewmexicodyn-o-saurlandesalvadordalibabalena-devicesal" + "zburgretakamatsukawabozen-sudtirolottokonamegatakatsukindustriab" + "ozen-suedtirolouvrehabmerbplaceducatorprojectjmaxxxeroxfinitybra" + "ndywinevalleybrasiliabresciabrindisibenikikugawashtenawdevcdnacc" + "essobetsuitaijindustriesteamfamberkeleybristoloseyouriparliament" + "jomelhusgardenishinoomotegohtawaramotoineppubtlsamegawabritishco" + "lumbialowiezaganishinoshimatsunowruzhgorodeomniweatherchannelpus" + "ercontentjxjampalacebroadcastlebtimnetzjavaldaostathelleluxembou" + "rgrimstadrangedalublindesnesamnangerbroadwaybroke-itvedestrandra" + "y-dnstracebrokerbronnoysundrayddns5ybrothermesaverdealerbrowsers" + "afetymarketsampaleomurabrumunddalucaniabrunelastxn--0trq7p7nnish" + "iokoppegardraydnsupdaterbrusselsamsclubartowellbeingzonebruxelle" + "samsungripebryanskodjedugit-pagespeedmobilizeroticagliaricoharuh" + "rbrynewportkmaxxn--11b4c3drivegarsheiheijinfinitinsureggioemilia" + "romagnamsosnowiechernivtsiciliabuskerudrobaknoluoktachikawafflec" + "elluciancrmadviseharag-cloud-charitychyattorneyagawakayamagazine" + "kobayashikaoirmitakeharagusartsandnessjoenishitosashimizunaminam" + "ibosognebuzentsujiiebuzzlgriwataraidrrbwesteuropenairbusantiques" + "t-a-la-maisondre-landroidrudupontariobranconavstackareliancebzhi" + "tomirbzzwestfalenishiwakintelligencecoloradoplateaudiopsysanokar" + "umaifarsundyndns-homednsantabarbaracolumbusheycommunecommunity-p" + "rochowicecomobaracomparemarkerryhotelsantacruzsantafedjeffersonc" + "omsecaaskoyabearalvahkihokumakogenebakkeshibechambagriculturenne" + "bugattiffanyaarborteaches-yogasawaracingrpartinternationalfirear" + "msantamariakecondoshichinohealth-carereformemergencyahikobeardub" + "aiduckdnsncfdyndns-ipartsantoandreamhostersanukintuitoyosatoyoka" + "waconferenceconstructionconsuladoesntexisteingeekasaokamikitayam" + "atsurinuyamashinatsukigatakasagotpantheonsiteconsultanthropology" + "consultingruenoharacontactoyotapartycontagematsubaracontemporary" + "arteducationalchikugodogadollsaobernardocontractorskenconventure" + "shinodearthruherecifedexetercookingchannelsdvrdnsdojoburguidefen" + "seljordyndns-mailcoolcooperativano-frankivskygearappasadenarashi" + "nocopenhagencyclopedichofunatoriginstantcloudfrontdoorcoproducti" + "onsaogoncarriercorporationcorsicahcesuoloansaotomeiwamashikokuch" + "uocorvettenrissadonnagatorogersvp4cosenzakopanelblagrarchaeology" + "eongbuk0cosidnsfor-better-thanawatchesapporocostumedicaltanisset" + "taishinomakindlefrakkestadyndns-office-on-the-webercouchpotatofr" + "iesardegnaroycoukashibatakasugainvestmentsardiniacouncilcouponsa" + "rlcozoracqcxn--12cfi8ixb8lcranbrookuwanalyticsarpsborguitarsaruf" + "utsunomiyawakasaikaitabashijonawatecrdyndns-picsasayamatta-varjj" + "atoyotomiyazakinzais-a-candidatecreditcardyndns-remotewdyndns-se" + "rverisigncreditunioncremonashgabadaddjaguarqhachinohedmarkashiha" + "racrewhalingujoinvilleirvikashiwaracricketoyotsukaidocrimeast-ka" + "zakhstanangercrotonecrownipassagensasebofagemologicallynxn--12co" + "0c3b4evalled-aostamayufuettertdasnetzcrsaskatchewancruisesassari" + "s-a-caterercuisinellancashirecipescaracalvinklein-berlindaskvoll" + "pagesaudaculturalcentertainmentoyouracuneocupcakecuritibaghdadul" + "toystre-slidrettozawacurvalledaostaobaomoriguchiharahkkeravjuedi" + "schesapeakebayernuorochestercymruovatmallorcafederationcilla-spe" + "ziacyonabarumemorialcyouthachiojiyaizuwakamatsubushikusakadogawa" + "ferrarivneferrerotikagoshimalopolskanlandyndns-workshoparenakani" + "ikawatanagurafetsundyndns1fgushikamifuranordreisa-hockeynutsirac" + "usaintlouis-a-anarchistoireggio-emilia-romagnakatombetsumitakagi" + "izefhvalerfidoomdnsiskinkyotobetsulikes-piedmonticellocalzonefie" + "ldynnsauheradyndns-webhareidsbergentingulenfigueresinstagingwidd" + "leitungsenfilateliafilegear-audnedalnfilegear-dealstahaugesunder" + "seaportsinfolionetworkangerfilegear-gbizfilegear-iefilegear-jpmo" + "rganfilegear-sg-1filminamiechizenfinalfinancefineartschulefinlan" + "dynservebbsavannahgafinnoyfirebaseappatriafirenetrani-andria-bar" + "letta-trani-andriafirenzefirestonefirewebhopocznordre-landynulme" + "msettlersaveincloudyndns-wikirafirmdalegnicapebretonamicrolighti" + "ngxn--1ctwolominamatargithubusercontentraniandriabarlettatranian" + "driafishingokasellfylkesbiblackbaudcdn-edgestackhero-networkingg" + "roupowiathletajimageandsoundandvision-riopretochigiessensiositel" + "evision-webpaashorokanaiefitjarvodkagaminogatagajobojis-a-chefas" + "tly-terrariumetacentrumeteorappassenger-associationfitnessettlem" + "entranoyfjalerflekkefjordynv6flesbergflickragerokunohealthcareer" + "schulserverflirfloginlinefloraflorencefloridatsunanjoetsuwanouch" + "ikujogaszkolancasterfloripaderbornfloristanohatajimidsundynvpnpl" + "us-4floromskogflowerschwarzgwangjuifminamifuranowtvallee-aostero" + "yfltranslateflynnhosting-clusterfndyroyrvikingunmaniwakuratefnwk" + "asukabedzin-addrammenuniversityfoodnetworkdalfor-ourfor-somedio-" + "campidano-mediocampidanomediofor-theaterforexrothachirogatakamor" + "iokakudamatsueforgotdnschweizforli-cesena-forlicesenaforlikescan" + "dyn53forsalegoldpoint2thisamitsukeforsandasuoloftransportefortal" + "fortextileikangerfortmissoulanciafortworthadanore-og-uvdalfosnes" + "ciencecentersciencehistoryfotransurlfoxafozfranamizuhobby-sitefr" + "ancaiserniafranziskanerimaringatlantajiris-a-conservativegascien" + "tistordalfredrikstadtvscjohnsonfreeddnsfreebox-oscrapper-sitefre" + "edesktoppdalfreemasonryfreemyiphosteurovisionfreesitefreetlscrap" + "pingfreiburgfreseniusculturecreationfribourgfriuli-v-giuliafriul" + "i-ve-giuliafriuli-vegiuliafriuli-venezia-giuliafriuli-veneziagiu" + "liafriuli-vgiuliafriuliv-giuliafriulive-giuliafriulivegiuliafriu" + "livenezia-giuliafriuliveneziagiuliafriulivgiuliafrlfroganscrysec" + "uritytacticservehumourfrognfrolandfrom-akrehamnfrom-alfrom-arfro" + "m-azimuthatogayabukijobservableusercontentrapaniizafrom-capetown" + "news-stagingfrom-coffeedbackplaneappaviancargodaddyn-vpndnservei" + "rchonanbulsan-suedtirolucernefrom-ctravelchannelfrom-dchoseikaru" + "gamvikarlsoyfrom-deatnunjargafrom-flanderserveminecraftravelersi" + "nsurancefrom-gaulardalfrom-hichisodegaurafrom-iafrom-idfrom-ilfr" + "om-in-brbar1from-kservemp3from-kyowariasahikawafrom-langevagrige" + "ntomologyeonggiehtavuoatnabudapest-a-la-masion-rancherkasydneyfr" + "om-malselvendrelluciancrmadvancefrom-mdfrom-medizinhistorischese" + "rvep2pfizerfrom-mifunefrom-mnfrom-modalenfrom-mservepicservequak" + "efrom-mtnfrom-nctulanservesarcasmatartanddesignfrom-ndfrom-nefro" + "m-nhktrdfrom-njservicesevastopolefrom-nminamiiseoullensvanguardf" + "rom-nvallee-d-aosteigenfrom-nynysagaeroclubmedecincinnativeameri" + "canantiquest-mon-blogueurodirumaceratabuseating-organichoshibuya" + "habackyardsandvikcoromantovalle-daostavangerfrom-ohdattorelayfro" + "m-oketogolffansevenassisicilyfrom-orfrom-padoval-daostavalleyfro" + "m-pratogurafrom-ris-a-cpadualstackasumigaurayasudafrom-schoenbru" + "nnfrom-sdscloudfrom-tnfrom-txn--1lqs03nfrom-utazurestaticappspac" + "eusercontentrendhostingfrom-vald-aostarostwodzislawhoswholdingsm" + "all-webredirectmeeresistancefrom-vtrentin-sud-tirolfrom-wafrom-w" + "iardwebspacefrom-wvalleeaosteinkjerusalembroideryfrom-wyfrosinon" + "efrostaplesewienfroyaitakahamalvikasuyanaizuerichardlillesandefj" + "ordfruskydivingfstcgroupgfoggiafujiiderafujikawaguchikonefujimin" + "okamoenairguardiannakadomarinebraskaunicommbankaszubyfujinomiyad" + "attowebcampinashikiminohostfoldnavyfujiokayamamurogawafujisatosh" + "onairlinedre-eikerfujisawafujishiroishidakabiratoridebianfujitsu" + "rugashimandalfujiyoshidavvenjargap-northeast-3fukayabeatsharis-a" + "-cubicle-slavellinodeobjectsharpharmacienshawaiijimarburgfukuchi" + "yamadavvesiidappnodebalancertificationfukudomigawafukuis-a-democ" + "ratrentin-sudtirolfukumitsubishigakirovogradoyfukuokazakiryuohku" + "rafukuroishikarikaturindalfukusakisarazure-mobileirfjordfukuyama" + "gatakaharussiafunabashiriuchinadazaifudaigojomedicinaharimalbork" + "atowicefunagatakahashimamakishiwadafunahashikamiamakusatsumasend" + "aisennangonohejis-a-designerfundaciofunkfeuerfuoiskujukuriyamang" + "ooglecodespotrentin-sued-tirolfuosskoczowiiheyakumodernfurniture" + "ggio-calabriafurubirafurudonostiaafurukawairportland-4-salernodu" + "minamiizukaminokawanishiaizubangefusoftwarezzoologyfussagamihara" + "futabayamaguchinomihachimanagementrentin-suedtirolfutboldlygoing" + "nowhere-for-morenakasatsunairtelebitbridgestoneen-rootaruis-a-do" + "ctorfuttsurugimperiafuturecmshellaspeziafuturehostingfuturemaili" + "ngfvghangglidinghangoutsystemscloudsitehannanmokuizumodenakayama" + "nnorth-kazakhstanhannorthflankautokeinotairestaurantrentino-a-ad" + "igehanyuzenhapmircloudletshimojis-a-hard-workershimokawahappounz" + "enharstadharvestcelebrationhasamansionshimokitayamattelekommunik" + "ationhasaminami-alpshimonitayanagitappharmacyshimonosekikawahash" + "banghasudahasura-apphdfcbankazohasvikazteleportlligatrentino-aad" + "igehatoyamazakitahiroshimanxn--1lqs71dhatsukaichikaiseiyoichippu" + "betsubetsugarusrcfastlylbanzaicloudappspotagerhattfjelldalhayash" + "imamotobungotakadagestangeorgeorgiahazuminobusells-for-lesshimos" + "uwalkis-a-hunterhelsinkitakamiizumisanofidelitysvardontexistmein" + "-iservebeero-stagehembygdsforbundhemneshimotsukehemsedalhepforge" + "blockshimotsumayfirstockholmestrandherokusslattuminamimakis-a-kn" + "ightpointtohnoshoooshikamaishimodateheroyhgtvalleedaostehidorahi" + "gashiagatsumagoianiahigashichichibunkyonanaoshimakanegasakilatir" + "onthewifiatlassian-dev-myqnapcloudcontrolledogawarabikomaezakiru" + "nogiftshinichinanhigashihiroshimanehigashiizumozakitakatakanezaw" + "ahigashikagawahigashikagurasoedahigashikawakitaaikitakyushuaiahi" + "gashikurumeetrentino-alto-adigehigashimatsushimaoris-a-landscape" + "rugiahigashimatsuyamakitaakitadaitoigawahigashimurayamamotorcycl" + "eshinjournalismailillehammerfeste-iphiladelphiaareadmyblogsytehi" + "gashinarusells-for-ustkanmakitchenhigashinehigashiomitamamurausu" + "kitamihamadahigashiosakasayamanakakogawahigashishirakawamatakaok" + "almykiahigashisumiyoshikawaminamiaikitamotosumy-gatewayhigashits" + "unorthwesternmutualhigashiurawa-mazowszexnetrentino-altoadigehig" + "ashiyamatokoriyamanashifteditorxn--1qqw23ahigashiyodogawahigashi" + "yoshinogaris-a-lawyerhiraizumisatohmapartmentshinjukumamotoyamas" + "hikehirakatashinagawahiranairtrafficplexus-1hirarahiratsukaerutw" + "entehirayakagehistorichouseshinkamigototalhitachiomiyagildeskali" + "szhitachiotagophilatelyhitraeumtgeradegreehjartdalhjelmelandhole" + "ckochikushinonsenergyholidayhomegoodshinshinotsurgeonshalloffame" + "lbournehomeiphilipsynology-diskstationhomelinkyard-cloudjiffyres" + "dalhomelinuxn--2m4a15ehomeofficehomesecuritymacaparecidahomesecu" + "ritypchoyodobashichikashukujitawaravpagexlukowestus2homesenseeri" + "nghomesklepphoenixn--2scrj9christiansburgrondarhomeunixn--30rr7y" + "hondahongotembaixadahonjyoitakarazukaluganskazunoticeablevangerh" + "ornindalhorsells-itrentino-s-tirolhortendofinternet-dnshinshiroh" + "ospitalhoteleshintokushimahotelwithflightshintomikasaharahotmail" + "hoyangerhoylandetroitskddiamondshinyoshitomiokamishihoronobeauxa" + "rtsandcraftshiojirishirifujiedahumanitieshioyandexcloudhurdalhur" + "umajis-a-liberalhyllestadhyogoris-a-libertarianhyugawarahyundaiw" + "afuneis-uberleetrentino-sudtirolis-very-badajozis-a-painteractiv" + "estfoldis-very-evillageis-very-goodyearis-very-niceis-very-sweet" + "pepperis-with-thebandownloadisleofmanaustdaljenv-arubajddarchite" + "cturealtorlandjeonnamerikawauejetztrentino-sued-tiroljevnakershu" + "sdecorativeartshopwarendalenugjewelryjewishartgalleryjfkharkovao" + "jgorajlljls-sto1jls-sto2jls-sto3jmphxn--32vp30hadselburgjnjaworz" + "nosegawajoyentrentino-suedtiroljoyokaichibalashovhaebaruericsson" + "gdalenviknakatsugawajpnjprshoujis-a-personaltrainerjurkoshimizum" + "akiyosatokaizukamikoaniihamatamakawajimaritimoldell-ogliastrader" + "koshunantankhmelnitskiyamarugame-hostyhostingkosugekotohiradomai" + "nstitutekotourakouhokutamakiyosemitekounosupabasembokukiyosunnda" + "lkouyamarylhurstjordalshalsenkouzushimasfjordenkozagawakozakizun" + "okunimilitarykozowildlifestylekpnkppspdnshowtimeldalkrasnikahoku" + "tokamachintaifun-dnsaliashwilliamhillkrasnodarkredstonekrelliank" + "ristiansandcatsienarutolgakristiansundkrodsheradkrokstadelvalle-" + "aostatic-accessigdalkryminamioguni5kumanotogawakumatorinotteroyk" + "umejimashikis-a-republicancerresearchaeologicaliforniakumenantok" + "igawakunisakis-a-rockstarachowicekunitachiarailwaykunitomigusuku" + "leuvenetokashikis-a-socialistdlibestadkunneppuboliviajessheimper" + "trixcdn77-secureggiocalabriakunstsammlungkunstunddesignkuokgroup" + "ilotsilkhmelnytskyivaporcloudkuregruhostingkurgankurobeepilepsyk" + "kylvenicekurogimimatakatoris-a-soxfankuroisogndalkuromatsunais-a" + "-studentalkurotakikawasakis-a-teacherkassyno-dshiraois-a-linux-u" + "sershirahamatonbetsurgerykushirogawakustanais-a-techietis-a-llam" + "archeapigeelvinckfh-muensterkusuppliesimple-urlkutchanelverumina" + "misanrikubetsupplykutnovecoregontrailroadkuzumakis-a-therapistoi" + "akvafjordkvalsundkvamlidlugolekafjordvagsoygardendoftheinterneth" + "nologykvanangenkvinesdalkvinnheradkviteseidatingkvitsoykwpspectr" + "uminamitanekzmisakis-an-accountantshiraokamitondabayashiogamagor" + "iziamisasaguris-an-actormisawamisconfusedmishimassivegridmissile" + "wismillermisugitokorozawamitourismilezajskhplaystation-cloudyclu" + "stermitoyoakemiuramiyazurecontainerdpolicemiyotamanomjondalenmlb" + "fanmontrealestatefarmequipmentrentinoa-adigemonza-brianzapposird" + "almonza-e-della-brianzaptokuyamasudamonzabrianzaramonzaebrianzam" + "onzaedellabrianzamoonscaleforcemordoviamoriyamatsumaebashikshack" + "netrentinoaadigemoriyoshiminamiashigaramormonstermoroyamatsumoto" + "fukemortgagemoscowinbarclaycards3-external-1moseushistorymosjoen" + "moskeneslupsklabudhabikinokawabarthagakhanamigawamosslzmosvikmps" + "pbar2moteginowaniigatakahatakaishimogosenmoviemovimientokyotango" + "uvichungnamdalseidfjordynathomebuiltwithdarkarmoymozilla-iotrent" + "inoalto-adigemtranbymuginozawaonsenmuikaminoyamaxunispacemukoebe" + "nhavnmulhouservegame-servermunakatanemuncienciamuosattemupimient" + "aketomisatomobelementoraymurmansknx-serversicherungmurotorcraftr" + "entinoaltoadigemusashinoharamuseetrentinos-tirolmuseumvereniging" + "musicarbonia-iglesias-carboniaiglesiascarboniamutsuzawamy-vigorg" + "emy-wanggoupilemyactivedirectorymyasustor-elvdalmycdmycloudnsmol" + "arvikomaganemydattolocalhistorymyddnsgeekgalaxymydissentrentinos" + "tirolmydobisshikis-an-actresshiratakahagithubpreviewsaikisofukus" + "himangyshlakasamatsudopaashishikuis-a-musicianmydroboehringerike" + "mydsmushcdn77-sslingmyeffectrentinosud-tirolmyfastblogermyfirewa" + "llonieruchomoscienceandindustrynmyforuminamiuonumasoymyfritzmyft" + "paccessnoasakakinokiamyhome-servermyjinomykolaivarggatrentinosud" + "tirolmymailermymediapchurchaseljeepsondriodejaneirodoymyokohamam" + "atsudamypepinbarclays3-fips-us-gov-west-1mypetsokndalmyphotoshib" + "alatinombrendlyngeniwaizumiotsukumiyamazonawsglobalacceleratorah" + "imeshimabaridagawakuyachimataikikonaikawachinaganoharamcoachampi" + "onshiphoptobamadridnbloggerimo-siemenscaledekaasdaburmypictureso" + "larssonmypsxn--3ds443gmysecuritycamerakermyshopblocksolognemysho" + "pifymyspreadshoppingmythic-beastsolundbeckomakiyokawaramytis-a-b" + "ookkeeperspectakasakitashiobaramytuleap-partnersomamyvncircustom" + "er-ocimdbananarepublic66mywireitrentinosued-tirolplatterpioneerp" + "lazaplcube-serverplumbingoplurinacionalpodhalepodlasiellaktyubin" + "skiptveterinairealmpmnpodzonepohlpoivronpokerpokrovskommunalforb" + "undpoliticarrdpolitiendapolkowicepoltavalle-d-aostaticsopotrenti" + "nosuedtirolpomorzeszowindmillponpesaro-urbino-pesarourbinopesaro" + "masvuotnaritakoelnponypordenonepornporsangerporsangugeporsgrunna" + "nyokoshibahikariwanumatakinouepoznanpraxis-a-bruinsfanprdpresidi" + "oprgmrprimetelemarkommuneprincipeprivatizehealthinsuranceprofesi" + "onalprogressivestnesor-odalpromombetsupportrentinsud-tirolproper" + "typrotectionprotonetrentinsudtirolprudentialpruszkowindowskrakow" + "innersor-varangerprvcyberlevagangaviikanonjis-an-artistgstageprz" + "eworskogpugliapulawypupippueblockbusterniiminamiawajikis-an-anar" + "chistoricalsocietypvhagebostadpvtrentinsued-tirolpwcistrondheimm" + "obilienissayokkaichiropractichernovtsyncloudurbanamexhibitioniss" + "andiegomutashinainterhostsolutionsandoypythonanywherepaircraftin" + "gvollolipopittsburghofficialpzqldqotoyohashimotoolsorfoldqponiat" + "owadaqslgbtrentinsuedtirolqualifioappiwatequickconnectrentoyonak" + "agyokutoyakolobrzegersundquicksytesorocabalestrandabergamoarekey" + "machineustargardquipelementsorreisahayakawakamiichikawamisatotto" + "ris-an-engineeringqvcitadeliverydyndns-at-homedepotenzamamidorit" + "togitsumidatlantichirurgiens-dentistes-en-franceswidnikkokonoesw" + "iebodzin-dsldswiftcoverswinoujscienceandhistoryswissmarterthanyo" + "usynology-dsouthwest1-uslivinghistorytushuissier-justicetuvallea" + "ostaverntuxfamilytwmailvevelstadvibo-valentiavibovalentiavideovi" + "llasphinxn--3e0b707evinnicasacamdvrcampinagrandebuilderschmidtre" + "-gauldalvinnytsiavipsinaappixolinovirginiavirtual-userveexchange" + "virtualcloudvirtualservervirtualuserveftpizzavirtueeldomein-vigo" + "rlicevirtuelvisakegawaviterboknowsitallvivolkenkundenvixn--3hcrj" + "9civilisationisshingucciprianidyndns-at-workisboringrongausdalut" + "skarpaczeladzvlaanderenvladikavkazimierz-dolnyvladimirvlogintoyo" + "nezawavminanovologdanskongsvingervolvolkswagentspjelkavikomorots" + "ukagawavolyngdalvoorlopervossevangenvotevotingvotoyonovps-hostro" + "wiecivilizationiyodogawawithyoutuberspacekitagatargetmyipkomforb" + "arcelonagawalbrzycharternopilawalesundgcanonoichinomiyakehimejib" + "igawaustraliamuneues3-ap-south-1wiwatsukiyonortonwixsitewloclawe" + "konskowolayangroupiemontewmcloudwmflabsrhtrevisojamisonwnextdire" + "ctromsakatakkofuefukihabororosowawoodsideloittevaksdalworse-than" + "dawowiospydebergwpdevcloudwpenginepoweredwphostedmailwpmucdnplan" + "tsomnarviikamiokameokamakurazakitaurawpmudeveloperauniterois-cer" + "tifiedunetlifyis-a-nascarfanwritesthisblogwroclawitdkoninjambylw" + "tcirclerkstagets-itromsokamogawawtfastvps-serveronakanotoddenwuo" + "zuwzmiuwajimaxn--45brj9civilwarmiasakuchinotsuchiurakawatchandcl" + "ockaruizawaxn--45q11clanbibaidarmeniaxn--4gbriminingxn--4it168dx" + "n--4it797konyvelohmusashimurayamarylandxn--4pvxs4allxn--54b7fta0" + "ccldmailuxuryxn--55qw42gxn--55qx5dxn--5js045dxn--5rtp49cleverapp" + "stmnxn--5rtq34kooris-a-photographerokuapphotographysioxn--5su34j" + "936bgsgxn--5tzm5gxn--6btw5axn--6frz82gxn--6orx2rxn--6qq986b3xlxn" + "--7t0a264clic20001wwwfarmsteadyndns-blogdnsanfranciscofreakunemu" + "rorangecloudplatform0xn--80aaa0cvacationsrlxn--80adxhksrvaroyxn-" + "-80ao21axn--80aqecdr1axn--80asehdbarefootballooningjovikaraganda" + "ustrheimatunduhrennesoyokosukanramusementdllclstagehirnrtatarant" + "ours3-ap-southeast-1xn--80aswgxn--80augustowithgoogleapiszxn--8l" + "tr62kopervikhersonxn--8pvr4uxn--8y0a063axn--90a1aflakstadaokagak" + "icks-assnasaarlandxn--90a3academiamicable-modemoneyxn--90aeropor" + "talaheadjudaicadaquestorebaselectritonxn--90aishobarakawagoexn--" + "90amcdirxn--90azhytomyravendbargainstancempresashibetsukuibmdisc" + "ourses3-sa-east-1xn--9dbhblg6dietrusteexn--9dbq2axn--9et52uxn--9" + "krt00axn--andy-iraxn--aroport-byaotsurnadalxn--asky-iraxn--aursk" + "og-hland-jnbarreauctionfabricafjs3-us-east-2xn--avery-yuasakuhok" + "ksundxn--b-5gaxn--b4w605ferdxn--balsan-sdtirol-nsbstorfjordxn--b" + "ck1b9a5dre4clicketcloudcontrolappgafanxn--bdddj-mrabdxn--bearalv" + "hki-y4axn--berlevg-jxaxn--bhcavuotna-s4axn--bhccavuotna-k7axn--b" + "idr-5nachikatsuuraxn--bievt-0qa2xn--bjarky-fyasakaiminatoyookana" + "zawaxn--bjddar-ptarnobrzegyptianxn--blt-elabourxn--bmlo-grainger" + "xn--bod-2natalxn--bozen-sdtirol-2obanazawaxn--brnny-wuacademy-fi" + "rewall-gatewayxn--brnnysund-m8accident-investigation-aptibleadpa" + "gesquare7xn--brum-voagatrvestre-slidreportrogstadxn--btsfjord-9z" + "axn--bulsan-sdtirol-nsbarrel-of-knowledgeappleborkarasjohkameyam" + "atotakadauthgear-stagingjesdalimanowarudaukraanghkembuchikumagay" + "agawakepnoipirangalsaceobiragrocerybnikeisenbahnatuurwetenschapp" + "engineastcoastaldefenceastus2xn--c1avgxn--c2br7gxn--c3s14mincomc" + "astresindevicenzaporizhzhiaxn--cck2b3barrell-of-knowledgecompute" + "rhistoryofscience-fictionredumbrellaakesvuemieleccemrxn--cckwcxe" + "tdxn--cesena-forl-mcbremangerxn--cesenaforl-i8axn--cg4bkis-found" + "ationxn--ciqpnxn--clchc0ea0b2g2a9gcdxn--comunicaes-v6a2oxn--corr" + "eios-e-telecomunicaes-ghc29axn--czr694barsycenterprisesakikuchik" + "useihicampobassociatest-iservecounterstrikeu-1xn--czrs0try-snowp" + "lowiczest-le-patronxn--czru2dxn--czrw28barsyonlinewhampshirealty" + "dalpha-myqnapcloud66xn--d1acj3basicservercelliguriauthgearappspa" + "cehosted-by-previderhclouddnslivefsnillfjorddnss3-ca-central-1xn" + "--d1alfaromeoxn--d1atrycloudflareplantationxn--d5qv7z876clickris" + "inglesangoxn--davvenjrga-y4axn--djrs72d6uyxn--djty4koryokamikawa" + "nehonbetsurutaharaxn--dnna-grajewolterskluwerxn--drbak-wuaxn--dy" + "ry-iraxn--e1a4clinichitachinakagawassamukawatarikuzentakatairave" + "nnagasakimobetsuldaluccaravantaarparmatsuuraxn--eckvdtc9dxn--efv" + "n9storjcloud-ver-jpchristmasakinderoyxn--efvy88haibarakitahataka" + "nabeautysfjordxn--ehqz56nxn--elqq16hair-surveillancexn--eveni-0q" + "a01gaxn--f6qx53axn--fct429kosaigawaxn--fhbeiarnxn--finny-yuaxn--" + "fiq228c5hstpetersburgxn--fiq64basilicataniauthordalandds3-eu-cen" + "tral-1xn--fiqs8streamscompute-1xn--fiqz9studioxn--fjord-lraxn--f" + "jq720axn--fl-ziaxn--flor-jraxn--flw351exn--forl-cesena-fcbsstudy" + "namisches-dnsortlandxn--forlcesena-c8axn--fpcrj9c3dxn--frde-gran" + "drapidstuff-4-salexn--frna-woaraisaijosoyrovigotsukisosakitagawa" + "xn--frya-hraxn--fzc2c9e2cliniquedapliernewyorkshirebungoonordest" + "e-idchitosetoeigersundurhamburgroks-thisayamanobeokakegawaxn--fz" + "ys8d69uvgmailxn--g2xx48clintonoshoesanjotelulubindaluzernxn--gck" + "r3f0fauskedsmokorsetagayaseralingenoamishirasatogliattis-a-celti" + "csfanxn--gecrj9clothingdustdatadetectksatxn--12c1fe0bradescotlan" + "dyndns-freeboxosascoli-picenordkapparochernigovernmentlon-2xn--g" + "gaviika-8ya47hakatanorfolkebibleksvikatsushikabeebyteapplinzis-a" + "-financialadvisor-aurdalxn--gildeskl-g0axn--givuotna-8yasugitlab" + "orxn--gjvik-wuaxn--gk3at1exn--gls-elacaixaxn--gmq050is-gonexn--g" + "mqw5axn--gnstigbestellen-zvbrplsbxn--3oq18vl8pn36axn--gnstiglief" + "ern-wobihirosakikamijimatsusakahoginankokubunjis-into-animegurow" + "nproviderxn--h-2failxn--h1aeghakodatexn--h1ahnxn--h1alizxn--h2br" + "eg3evenestufftoread-booksnesoruminamiyamashirokawanabelaudibleas" + "ingxn--h2brj9c8cn-northwest-1xn--h3cuzk1discountysnestuttgartroa" + "ndinosaurepbodynamic-dnsoundcastronomy-routerxn--hbmer-xqaxn--hc" + "esuolo-7ya35basketballfinanzgorzeleccogladedyn-berlincolnavigati" + "onavoizumizakiitatebayashiibahccavuotnagaraholtalenglandiscovery" + "ggeeu-2xn--hery-iraxn--hgebostad-g3axn--hkkinen-5waxn--hmmrfeast" + "a-s4accident-prevention-k3surreyxn--hnefoss-q1axn--hobl-iraxn--h" + "oltlen-hxaxn--hpmir-xqaxn--hxt814exn--hyanger-q1axn--hylandet-54" + "axn--i1b6b1a6a2exn--imr513nxn--indery-fyasuokannamiharuxn--io0a7" + "is-into-carshisohugheshisuifuelluciancrmrecruitrentino-stirolxn-" + "-j1adplatformshangrilaquilanxessooxn--j1aefbsbxn--1ck2e1bar0emma" + "fann-arboretumbriamallamaceiobbcg12038xn--j1ael8batochiokinoshim" + "aizurugbyglandroverhallahppiacenzachpomorskienavuotnapleskns3-us" + "-gov-west-1xn--j1amhakonexn--j6w193gxn--jlq480n2rgxn--jlq61u9w7b" + "atsfjordishakotanayorovnobserverxn--jlster-byatominamidaitomanch" + "esterxn--jrpeland-54axn--jvr189miniserverxn--k7yn95exn--karmy-yu" + "axn--kbrq7oxn--kcrx77d1x4axn--kfjord-iuaxn--klbu-woaxn--klt787dx" + "n--kltp7dxn--kltx9axn--klty5xn--3pxu8konsulatrobeeldengeluidvare" + "servdxn--koluokta-7ya57hakubahcavuotnagaivuotnagaokakyotambabydg" + "oszczecinemagnetnedalipaywhirlxn--kprw13dxn--kpry57dxn--kput3is-" + "into-cartoonshitaramaxn--krager-gyatsukanoyaltakashimarnardalxn-" + "-kranghke-b0axn--krdsherad-m8axn--krehamn-dxaxn--krjohka-hwab49j" + "devcloudfunctionshizukuishimofusaitoshimatsuzakis-a-patsfanxn--k" + "snes-uuaxn--kvfjord-nxaxn--kvitsy-fyatsushiroxn--kvnangen-k0axn-" + "-l-1fairwindsusakis-an-entertainerxn--l1accentureklamborghinikol" + "aeventsusonoxn--laheadju-7yawaraxn--langevg-jxaxn--lcvr32dxn--ld" + "ingen-q1axn--leagaviika-52bauhauspostman-echocolatemasekd1xn--le" + "sund-huaxn--lgbbat1ad8jdfaststacksaves-the-whalessandria-trani-b" + "arletta-andriatranibarlettaandriaxn--lgrd-poacctrysiljanxn--lhpp" + "i-xqaxn--linds-pramericanartunespeedpartnerxn--lns-qlavagiskexn-" + "-loabt-0qaxn--lrdal-sraxn--lrenskog-54axn--lt-liacngrossetouchih" + "ayaakasakawaharaxn--lten-granexn--lury-iraxn--m3ch0j3axn--mely-i" + "raxn--merker-kuaxn--mgb2ddesuzakanagawaxn--mgb9awbfbx-oslocuscou" + "ntryestateofdelawareclaimsavonarusawaxn--mgba3a3ejtunkongsbergxn" + "--mgba3a4f16axn--mgba3a4fra1-deltaitogakushimotoganexn--mgba7c0b" + "bn0axn--mgbaakc7dvfbxostrowwlkpmguovdageaidnulvikashiwazakiwielu" + "nnerxn--mgbaam7a8hakuis-a-geekatsuyamarshallstatebankaufentigerx" + "n--mgbab2bdxn--mgbah1a3hjkrdxn--mgbai9a5eva00bellunord-aurdalvda" + "laskanittedallasalleangaviikadenagahamaroyerxn--mgbai9azgqp6jeju" + "niperxn--mgbayh7gpalermomahachijolsterxn--mgbbh1a71exn--mgbc0a9a" + "zcgxn--mgbca7dzdoxn--mgbcpq6gpa1axn--mgberp4a5d4a87gxn--mgberp4a" + "5d4arxn--mgbgu82axn--mgbi4ecexposedxn--mgbpl2fhskypexn--mgbqly7c" + "0a67fbcnpyatigorskolecznagasukexn--mgbqly7cvafr-1xn--mgbt3dhdxn-" + "-mgbtf8flapymnturystykaneyamazoexn--mgbtx2beneventodayombolzano-" + "altoadigeologyomitanoceanographiqueu-3xn--mgbx4cd0abbvieeexn--mi" + "x082fedorainfraclouderaxn--mix891fedorapeoplegallodingenxn--mjnd" + "alen-64axn--mk0axin-the-bandais-into-gamessinazawaxn--mk1bu44cns" + "annanxn--mkru45is-leetrentino-sud-tirolxn--mlatvuopmi-s4axn--mli" + "-tlavangenxn--mlselv-iuaxn--moreke-juaxn--mori-qsakuragawaxn--mo" + "sjen-eyawatahamaxn--mot-tlazioxn--mre-og-romsdal-qqbuseranishiar" + "itakurashikis-lostre-toteneis-a-nursellsyourhomeftphonefosshirak" + "okamiminershiranukamisunagawaxn--msy-ula0hakusanagochijiwadefini" + "mamateramochizukinkobierzycexn--mtta-vrjjat-k7afedoraprojectozsd" + "elmenhorstalbansaxoxn--muost-0qaxn--mxtq1minisitexn--ngbc5azdxn-" + "-ngbe9e0axn--ngbrxn--41axn--nit225kosakaerodromegallupaascolipic" + "eno-ipifony-1xn--nmesjevuemie-tcbalsan-sudtirollagdenesnaaseinet" + "-freaksuzukananiikappudoxn--nnx388axn--nodessakurais-not-certifi" + "edxn--nqv7fs00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--ntter" + "y-byaeservehalflifeinsurancexn--nvuotna-hwaxn--nyqy26axn--o1ache" + "rnihivgubsuzukis-bytomaritimekeepingxn--o3cw4haldenxn--o3cyx2axn" + "--od0algxn--od0aq3bentleyonagoyautomotivelandeportexasnesoddenma" + "rkhangelskjakdnepropetrovskiervaapsteiermarkanzakiwakunigamihokk" + "aidovre-eikerxn--ogbpf8flatangerxn--oppegrd-ixaxn--ostery-fyaxn-" + "-osyro-wuaxn--otu796dxn--p1acfeiraquarelleaseeklogeschokokekscho" + "koladenxn--p1ais-savedxn--pgbs0dhlx3xn--porsgu-sta26fermockasser" + "versaillescholarshipschoolsztynsettsurfashionxn--pssu33lxn--pssy" + "2uxn--q7ce6axn--q9jyb4cntmparsannohelplfinancialvivanovoldaxn--q" + "cka1pmckinseyxn--qqqt11minnesotaketakayamassa-carrara-massacarra" + "ramassabusinessebykleclerchromediatechnologyxn--qxa6axn--qxamste" + "rdamnserverbaniaxn--rady-iraxn--rdal-poaxn--rde-ulaxn--rdy-0naba" + "ris-slickhakassiaxn--rennesy-v1axn--rhkkervju-01aferraraxn--rhol" + "t-mragowoltlab-democraciaxn--rhqv96gxn--rht27zxn--rht3dxn--rht61" + "exn--risa-5naturalhistorymuseumcenterxn--risr-iraxn--rland-uuaxn" + "--rlingen-mxaxn--rmskog-byaxn--rny31halsaitamatsukuris-a-greenxn" + "--rovu88beppublishproxyonagunicloudiskussionsbereichattanooganor" + "ddalimitedisrechtranakaiwamizawawsmpplanetariumcpreservationfsho" + "strodawarautoscanadaeguambulancentralus-2xn--rros-granvindafjord" + "xn--rskog-uuaxn--rst-0naturalsciencesnaturellesvalbardunloppacif" + "icitichiryukyuragifuchungbukharaumalatvuopmicrosoftbankariyamein" + "forumzxn--rsta-framercanvasvcivilaviationissedaluroyxn--rvc1e0am" + "3exn--ryken-vuaxn--ryrvik-byaxn--s-1faithammarfeastafricapitalon" + "ewspaperxn--s9brj9collectionxn--sandnessjen-ogbeskidyn-ip24lima-" + "cityeatselinogradimo-i-rana4u2-localhostrolekaniepce12hpalmasera" + "ti234xn--sandy-yuaxn--sdtirol-n2axn--seral-lraxn--ses554gxn--sgn" + "e-graphoxn--42c2d9axn--skierv-utazasveioxn--skjervy-v1axn--skjk-" + "soaxn--sknit-yqaxn--sknland-fxaxn--slat-5naturbruksgymnxn--slt-e" + "labcieszynh-serveblogspotaribeiraogakibichuoxn--smla-hraxn--smna" + "-gratangentlentapisa-geekoseis-a-playershiftcryptonomichigangwon" + "xn--snase-nraxn--sndre-land-0cbestbuyshouses3-us-west-1xn--snes-" + "poaxn--snsa-roaxn--sr-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn" + "--sr-varanger-ggbetainaboxfusejnyanagawalmartattoolforgerockartu" + "zyoriikarasjokarasuyamarriottaxihuanhlfanhs3-us-west-2xn--srfold" + "-byaxn--srreisa-q1axn--srum-gratis-a-bulls-fanxn--stfold-9xaxn--" + "stjrdal-s1axn--stjrdalshalsen-sqbhzcasadelamonedanceu-4xn--stre-" + "toten-zcbieidskoguchikuzenikonanporocelotenkawaveroykenflfanpach" + "igasakids3-eu-west-1xn--t60b56axn--tckwebthingsvelvikomvuxn--3bs" + "t00minamiminowaxn--tiq49xqyjelasticbeanstalkharkivanylvenneslask" + "errylogisticshizuokamitsuexn--tjme-hraxn--tn0agrinetbankosherbro" + "okegawaxn--tnsberg-q1axn--tor131oxn--trany-yuaxn--trentin-sd-tir" + "ol-rzbielawaltervistainaioirasebastopologyeongnamegawafaicloudin" + "eat-urlimoliseminevje-og-hornnes3-website-ap-northeast-1xn--tren" + "tin-sdtirol-7vbiellair-traffic-controlleyoshiokanumazuryukiiyama" + "nouchikuhokuryugasakitanakagusukumodumeloyalistoragextraspace-to" + "-rentalstomakomaibaravocatanzarowbq-aurskog-holandingivingjemnes" + "3-ap-southeast-2xn--trentino-sd-tirol-c3bieszczadygeyachiyodaeje" + "onbukcoalwaysdatabaseballangenkainanaejrietisalatinabenonicbcn-n" + "orth-1xn--trentino-sdtirol-szbievat-band-campaniavoues3-eu-west-" + "2xn--trentinosd-tirol-rzbifukagawashingtondclk3xn--trentinosdtir" + "ol-7vbigv-infolldalivornow-dns3-website-ap-southeast-1xn--trenti" + "nsd-tirol-6vbihorologyukuhashimoichinosekigaharaxarnetflixilovec" + "ollegefantasyleaguernseyokotebetsuikirkenes3-eu-west-3utilities-" + "1xn--trentinsdtirol-nsbikedaemonmoutheworkpccweddinglassassinati" + "onalheritagexn--trgstad-r1axn--trna-woaxn--troms-zuaxn--tysvr-vr" + "axn--uc0atvestre-totennishiawakuraxn--uc0ay4axn--uist22hamurakam" + "igoris-a-gurunusualpersonxn--uisz3gxn--unjrga-rtarumizusawaxn--u" + "nup4yxn--uuwu58axn--vads-jraxn--valle-aoste-ebbtuscanyxn--valle-" + "d-aoste-ehbodoes-itcouldbeworldxn--valleaoste-e7axn--valledaoste" + "-ebbvadsoccertmgrazerbaijan-mayengerdalcesvizzeraxn--vard-jraxn-" + "-vegrshei-c0axn--vermgensberater-ctbitsvn-reposouthcarolinarviko" + "monoticiashowaxn--vermgensberatung-pwblogoiplatter-appinkomatsus" + "himarumorimachidaxn--vestvgy-ixa6oxn--vg-yiabkhaziaxn--vgan-qoax" + "n--vgsy-qoa0jelenia-goraxn--vgu402colognexus-3xn--vhquvestvagoyx" + "n--vler-qoaxn--vre-eiker-k8axn--vrggt-xqadxn--vry-yla5gxn--vuq86" + "1bilbaokinawashirosatobishimagentositecnologiazurewebsiteshikaga" + "miishibukawakkanaibetsubamericanfamilydsmynasushiobarackmazeplay" + "okozebinagisochildrensgardenaval-d-aosta-valleyolasitebinordland" + "evelopmentatsunobninskaracoldwarszawaustevollillyboltateshinanom" + "achimkentateyamajudygarlanddnskingitpagefrontappalmspringsakeret" + "rosnubaltimore-og-romsdalp1xn--w4r85el8fhu5dnraxn--w4rs40lxn--wc" + "vs22dxn--wgbh1colonialwilliamsburgroundhandlingroznyxn--wgbl6axn" + "--xhq521billustrationrenderxn--xkc2al3hye2axn--xkc2dl3a5ee0hands" + "onyxn--y9a3aquariumintereisenxn--yer-znaturhistorischeswidnicart" + "oonartdecologiaxn--yfro4i67oxn--ygarden-p1axn--ygbi2ammxn--45br5" + "cylxn--ystre-slidre-ujbiocpanamatsushigexn--zbx025dxn--zf0ao64ax" + "n--zf0avxlxn--zfr164bipanasonicasertaipeidsvollombardiadembetsuk" + "ubankaratexnbayxz" // nodes is the list of nodes. Each node is represented as a uint32, which // encodes the node's children, wildcard bit and node type (as an index into
-
@@ -542,9307 +546,9337 @@ const text = "9guacuiababia-goracleaningroks-theatree12hpalmasfjorden4tatarant"// [15 bits] text index // [ 6 bits] text length var nodes = [...]uint32{ 0x329b43, 0x2f0784, 0x31f886, 0x21a5c3, 0x21a5c6, 0x399386, 0x3bf783, 0x277104, 0x2029c7, 0x31f4c8, 0x3346c3, 0x358784, 0x2ed746, 0x21cb43, 0x21cb46, 0x399c86, 0x3c3043, 0x221ec4, 0x205687, 0x2ed388, 0x1a000c2, 0x1f3cd07, 0x37f349, 0x2ddb4a, 0x2ddb4b, 0x23d883, 0x23f745, 0x2202ac2, 0x28c4c4, 0x2c9743, 0x3734c5, 0x2602c02, 0x354743, 0x2a85584, 0x374945, 0x2e0f242, 0x229d8e, 0x260543, 0x3b9946, 0x3205b42, 0x378ac7, 0x242446, 0x36041c2, 0x293b03, 0x232946, 0x38ec88, 0x298246, 0x359944, 0x3a00ac2, 0x34b549, 0x22d607, 0x2094c6, 0x3679c9, 0x224748, 0x210204, 0x2f9546, 0x207b46, 0x3e03742, 0x239b06, 0x216b8f, 0x3cd40e, 0x22ff04, 0x311205, 0x32dbc5, 0x3aec89, 0x2494c9, 0x233147, 0x221b46, 0x21da43, 0x420b602, 0x233843, 0x2b200a, 0x4602043, 0x3402c5, 0x30c842, 0x3ab409, 0x4e00ec2, 0x207e84, 0x346706, 0x2c54c5, 0x376bc4, 0x5646644, 0x2030c3, 0x23a844, 0x5a00b82, 0x3e3104, 0x5f35d04, 0x3e1b0a, 0x1f44d87, 0x385a09, 0x2e460a, 0x2e460b, 0x238883, 0x241b45, 0x2204502, 0x204504, 0x2cdbc3, 0x252f05, 0x2602142, 0x36c683, 0x2a20c04, 0x202145, 0x2e03702, 0x219e8e, 0x267743, 0x3bdcc6, 0x3203f42, 0x2ed8c7, 0x244206, 0x3603802, 0x2979c3, 0x235c86, 0x21d4c8, 0x29e686, 0x3aa2c4, 0x3a00b02, 0x354109, 0x224ac7, 0x3804c6, 0x3704c9, 0x391a48, 0x24fcc4, 0x349446, 0x3d4146, 0x3e01902, 0x2fe906, 0x218e0f, 0x3e960e, 0x311c44, 0x228685, 0x339845, 0x3b1ec9, 0x24a949, 0x236487, 0x207a06, 0x207943, 0x4204302, 0x216183, 0x2b990a, 0x4604d03, 0x347a45, 0x314102, 0x3ac849, 0x4e01d42, 0x20ad44, 0x2ffcc6, 0x258405, 0x37ce44, 0x5721084, 0x205d83, 0x241004, 0x5a016c2, 0x300b84, 0x5e02084, 0x35030a, 0x6200882, 0x2b82c7, 0x36f9c8, 0x7a01e02, 0x335087, 0x2f5404, 0x2f5407, 0x3ea985, 0x381247, 0x340886, 0x349f84, 0x3544c5, 0x26d147, 0x9205202, 0x239c83, 0x961a7c2, 0x3b6143, 0x9a04142, 0x26e645, 0x2631c7, 0x2339c8, 0x7a0c502, 0x33e407, 0x237c44, 0x36ddc7, 0x237c45, 0x387787, 0x35ca86, 0x2a1784, 0x3b9245, 0x27a907, 0x9218682, 0x2fea83, 0x9620102, 0x3dabc3, 0x9a0f202, 0x289b85, 0x9e00202, 0x379b84, 0x239305, 0x22fe47, 0x2f78ce, 0x2c4ac4, 0x219684, 0x207e43, 0x3bc989, 0x2e700b, 0x2f8288, 0x32acc8, 0x330248, 0x3d0bc8, 0xa36780a, 0x381147, 0x3d7f06, 0xa61a602, 0x271d03, 0x3dfa43, 0x3e1204, 0x271d43, 0x396303, 0x17385c2, 0xaa02b82, 0x28ffc5, 0x266446, 0x2a59c4, 0x3a94c7, 0x24f486, 0x2d64c4, 0x3c13c7, 0x2194c3, 0xb6e29c2, 0xbb27082, 0xbe27bc2, 0x227bc6, 0x37fe84, 0x23cfc5, 0x311b87, 0x30420e, 0x2ca444, 0x28fac4, 0x204243, 0x324fc9, 0x2ec50b, 0x2fd348, 0x335848, 0x33b708, 0x3d6448, 0xa37030a, 0x387687, 0x2542c6, 0xa61cb82, 0x378743, 0x3e0b43, 0x3e2084, 0x378783, 0x397143, 0x1740a82, 0xaa02742, 0x292d05, 0x35a086, 0x2aa1c4, 0x3a9487, 0x251c86, 0x2da804, 0x3c5787, 0x202743, 0xb6e7fc2, 0xba1da82, 0xbe16c02, 0x21db46, 0xc200282, 0x269185, 0x339b03, 0x3d9704, 0x2fe784, 0x2fe785, 0x3ef083, 0xc658843, 0xca06f02, 0x20d3c5, 0x20d3cb, 0x20e18b, 0x2045c4, 0x20d7c9, 0x20fcc4, 0xce10602, 0x210e43, 0x2113c3, 0xd20a182, 0x21e78a, 0xd602a02, 0x28c745, 0x2f348a, 0x2510c4, 0x212a43, 0x213104, 0x2151c3, 0x2151c4, 0x2151c7, 0x217005, 0x217c06, 0x2183c6, 0x21a643, 0x21ffc8, 0x213743, 0xda037c2, 0x230d08, 0x2984cb, 0x2284c8, 0x229146, 0x22a187, 0x22d208, 0xf205f42, 0xf6272c2, 0x27c848, 0x2370c7, 0x314b85, 0xfb14b88, 0xfe23848, 0x2551c3, 0x2319c4, 0x399402, 0x10232002, 0x106083c2, 0x10e32382, 0x232383, 0x11203702, 0x30e183, 0x220ec4, 0x207243, 0x2101c4, 0x24f18b, 0x203703, 0x2fa346, 0x28cfc4, 0x2d06ce, 0x384b05, 0x277848, 0x3b9a47, 0x3b9a4a, 0x223203, 0x2f0587, 0x2e71c5, 0x238b84, 0x25fc86, 0x25fc87, 0x36d4c4, 0x117145c4, 0x3c5a04, 0x24ed84, 0x3d1606, 0x224dc3, 0x3d5608, 0x3d7348, 0x29e303, 0x21e743, 0x343a04, 0x356943, 0x11e035c2, 0x122b79c2, 0x202546, 0x2f9643, 0x3b2fc4, 0x12648fc2, 0x29ed03, 0x381a43, 0x21ce82, 0x12a02102, 0x2dd246, 0x21e247, 0x36f747, 0x2ef505, 0x348b84, 0x2fbb05, 0x2d1bc7, 0x2ba349, 0x2bbdc6, 0x2ef406, 0x13a12fc2, 0x318508, 0x321246, 0x30a6c5, 0x309f47, 0x310244, 0x310245, 0x373104, 0x373108, 0x13e0d482, 0x3676c5, 0x341fc3, 0x3dc584, 0x305544, 0x305545, 0x3f2583, 0xc60bec3, 0xca0aa82, 0x20e485, 0x20e48b, 0x30f70b, 0x211d44, 0x20ed49, 0x20fdc4, 0xce10482, 0x210cc3, 0x211243, 0xd211f02, 0x216f8a, 0xd602642, 0x204785, 0x2f8cca, 0x24f984, 0x2139c3, 0x2153c4, 0x218043, 0x218044, 0x218047, 0x219285, 0x21a286, 0x21ae86, 0x21cbc3, 0x2234c8, 0x215a03, 0xda03ac2, 0x365d08, 0x29e90b, 0x22c908, 0x22d286, 0x22d907, 0x22f608, 0xf201002, 0xf629b02, 0x27f688, 0x23b007, 0x213f05, 0xfb1cc08, 0xffb11c8, 0x285f03, 0x235504, 0x399d02, 0x10235982, 0x1060b282, 0x10e36f02, 0x236f03, 0x11203d82, 0x315983, 0x254ac4, 0x203d83, 0x24fc84, 0x25198b, 0x2063c3, 0x301806, 0x26c004, 0x2d85ce, 0x3259c5, 0x279e08, 0x3bddc7, 0x3bddca, 0x23c843, 0x358587, 0x2ec6c5, 0x23c844, 0x266e86, 0x266e87, 0x376204, 0x1171c644, 0x3f3784, 0x251584, 0x209f46, 0x213cc3, 0x213cc8, 0x21ff08, 0x2a55c3, 0x216f43, 0x34d4c4, 0x35ee03, 0x11e06282, 0x12227e82, 0x205206, 0x349543, 0x27b604, 0x12611582, 0x211583, 0x23d283, 0x21f9c2, 0x12a045c2, 0x2e0c86, 0x22ad87, 0x233747, 0x2fc645, 0x3b7c84, 0x2e0085, 0x2d5187, 0x3594c9, 0x3b1646, 0x2fc546, 0x13a12f82, 0x320588, 0x32c046, 0x333c45, 0x317507, 0x3bb044, 0x3bb045, 0x3bf004, 0x3bf008, 0x13e02882, 0x14200482, 0x254206, 0x38e506, 0x200488, 0x328205, 0x34c246, 0x34ea08, 0x35d3c8, 0x14602cc5, 0x17243244, 0x285687, 0x1760f742, 0x17ab90c2, 0x18e05842, 0x346805, 0x19a96945, 0x277e86, 0x3b6547, 0x3ba447, 0x19e29f43, 0x33f007, 0x3cc1c8, 0x27635149, 0x229f47, 0x235887, 0x342548, 0x236086, 0x238686, 0x23b74c, 0x23cd0a, 0x23d8c7, 0x23f60b, 0x240307, 0x24030e, 0x27a40ec4, 0x241284, 0x244887, 0x253c47, 0x248706, 0x248707, 0x32b4c7, 0x261c03, 0x27e0f1c2, 0x249ec6, 0x249eca, 0x24ab0b, 0x24c887, 0x24d305, 0x24d783, 0x24df46, 0x24df47, 0x38f183, 0x28200102, 0x24eaca, 0x28729c42, 0x28ba8ac2, 0x28e48e02, 0x29238fc2, 0x251805, 0x252204, 0x29e01bc2, 0x3e3185, 0x24b103, 0x2a4585, 0x202444, 0x216384, 0x2dfb06, 0x2608c6, 0x20d5c3, 0x3d4804, 0x340b43, 0x2ae00d02, 0x22a504, 0x22a506, 0x257a85, 0x2b5a46, 0x30a048, 0x2138c4, 0x31de08, 0x38ea45, 0x281d88, 0x2d9f06, 0x21ba87, 0x27f784, 0x2c27f786, 0x2c605483, 0x3ac1c3, 0x2cc488, 0x333444, 0x2ca131c7, 0x24c106, 0x2f1289, 0x366948, 0x330988, 0x332384, 0x3d69c3, 0x24b1c2, 0x2d25d9c2, 0x2d61c982, 0x31f383, 0x2da02b02, 0x38f104, 0x288c46, 0x23eb43, 0x2cd707, 0x385d43, 0x2c4b88, 0x229545, 0x26c9c3, 0x239285, 0x2393c4, 0x3a6f86, 0x22bb06, 0x22fd86, 0x25db84, 0x2406c3, 0x2de46882, 0x2e23fd85, 0x3402c5, 0x357386, 0x361608, 0x3653c8, 0x14605985, 0x1722f8c4, 0x2849c7, 0x17607e42, 0x17b6e3c2, 0x18e0b642, 0x2ffdc5, 0x19a9a145, 0x27a446, 0x3dafc7, 0x3e6887, 0x19e1a043, 0x34af07, 0x28f9c8, 0x27a38d49, 0x21a047, 0x239447, 0x34be48, 0x239fc6, 0x23c346, 0x23e30c, 0x24000a, 0x2404c7, 0x241a0b, 0x242707, 0x24270e, 0x27e43444, 0x243544, 0x245687, 0x38df47, 0x249e06, 0x249e07, 0x33bfc7, 0x288583, 0x28203682, 0x24c806, 0x24c80a, 0x24d24b, 0x24e8c7, 0x24f505, 0x250943, 0x250cc6, 0x250cc7, 0x21d9c3, 0x28600102, 0x2512ca, 0x28b347c2, 0x28fa8a82, 0x2924a282, 0x2963cc82, 0x254705, 0x255504, 0x2a203402, 0x300c05, 0x24d843, 0x3cabc5, 0x205104, 0x22f4c4, 0x2e3a86, 0x267ac6, 0x20e683, 0x3d8a84, 0x35cd43, 0x2b2101c2, 0x22dc84, 0x22dc86, 0x25bb85, 0x2bc906, 0x317608, 0x215b84, 0x3289c8, 0x38f745, 0x294ec8, 0x2de106, 0x318747, 0x282a44, 0x2c682a46, 0x2ca24dc3, 0x3ad7c3, 0x2c5608, 0x33c744, 0x2ce15487, 0x28b246, 0x2f55c9, 0x36ea08, 0x371dc8, 0x37b1c4, 0x223403, 0x2304c2, 0x2d664842, 0x2da30902, 0x329e83, 0x2de057c2, 0x21d944, 0x29ef86, 0x241543, 0x2d1ec7, 0x20cec3, 0x2ca508, 0x231645, 0x2724c3, 0x23cf45, 0x23d084, 0x3bad46, 0x2366c6, 0x311ac6, 0x2e2904, 0x242ac3, 0x2e217e02, 0x2e642185, 0x200843, 0x2ea03402, 0x220203, 0x205a45, 0x2ee24d03, 0x2f63e6c9, 0x2fa00942, 0x30204f42, 0x29bc85, 0x21ecc6, 0x29d146, 0x308d88, 0x308d8b, 0x345ecb, 0x38a445, 0x2e2f49, 0x1602642, 0x31fb88, 0x20dac4, 0x30a03642, 0x33dfc3, 0x31253e06, 0x3160ea82, 0x3d11c8, 0x31a06cc2, 0x26f54a, 0x322771c3, 0x32b7f986, 0x315d88, 0x398846, 0x3957c7, 0x216d87, 0x2076ca, 0x251144, 0x364a84, 0x37ee49, 0x32fb9585, 0x229dc6, 0x22e783, 0x282a04, 0x3320a6c4, 0x20a6c7, 0x33656c07, 0x29ed44, 0x2400c5, 0x277f48, 0x252d07, 0x252f87, 0x33a18b02, 0x3a8084, 0x2a51c8, 0x2547c4, 0x259344, 0x259745, 0x259887, 0x34689bc9, 0x25a444, 0x25b309, 0x25b9c8, 0x25c604, 0x25c607, 0x25d7c3, 0x25e587, 0x34a00c02, 0x16c7402, 0x25f746, 0x2bf047, 0x2600c4, 0x261687, 0x263287, 0x263883, 0x34e62642, 0x213802, 0x2649c3, 0x2649c4, 0x2649cb, 0x32adc8, 0x213804, 0x265e85, 0x2676c7, 0x2f4d05, 0x31b2ca, 0x26ac43, 0x35202e42, 0x215a44, 0x271f49, 0x275843, 0x275907, 0x330689, 0x3929c8, 0x20f283, 0x28f107, 0x27e1c3, 0x295f04, 0x2975c9, 0x29a286, 0x3a3f03, 0x202a82, 0x26dc83, 0x2c7207, 0x39a245, 0x2ca6c6, 0x29e6c4, 0x37bf05, 0x28fa83, 0x21c186, 0x218143, 0x20d9c2, 0x258804, 0x356a5c02, 0x35b10a03, 0x35e038c2, 0x2574c3, 0x218844, 0x242047, 0x21f406, 0x20a682, 0x36204682, 0x330bc4, 0x36a15342, 0x36e05d02, 0x205d04, 0x205d05, 0x3ce545, 0x3b6ec6, 0x37208442, 0x3d5a05, 0x3d9e45, 0x296883, 0x239d46, 0x212005, 0x227b42, 0x35d005, 0x227b44, 0x230783, 0x2309c3, 0x3760ccc2, 0x26d347, 0x267884, 0x267889, 0x282904, 0x2967c3, 0x2c3e48, 0x37a967c4, 0x2967c6, 0x2b5543, 0x266803, 0x2e9c43, 0x37f003c2, 0x392ec2, 0x38200642, 0x33b848, 0x213508, 0x3c4846, 0x2916c5, 0x234b85, 0x209fc7, 0x3868a905, 0x21e682, 0x38aa71c2, 0x38e00042, 0x321ec8, 0x318445, 0x302d04, 0x24da05, 0x2562c7, 0x295d04, 0x262442, 0x3922cf82, 0x351b84, 0x230607, 0x29c207, 0x381204, 0x3e0443, 0x29e244, 0x29e248, 0x396389c6, 0x25fb0a, 0x35b6c4, 0x2a4c08, 0x23ff44, 0x22a286, 0x2a7184, 0x346b06, 0x267b49, 0x223d07, 0x3a6c43, 0x39a04d02, 0x3c3943, 0x210802, 0x39e0a442, 0x26e406, 0x24bc88, 0x2b6347, 0x233549, 0x2b6509, 0x2b9a05, 0x2bb609, 0x2bc705, 0x2bd545, 0x2be748, 0x3a207304, 0x3a634307, 0x235c43, 0x2be947, 0x235c46, 0x2bf5c7, 0x2b4445, 0x2354c3, 0x3aa3cac2, 0x212c84, 0x3ae05302, 0x3b21d7c2, 0x30db46, 0x36f945, 0x2c2507, 0x383d03, 0x238404, 0x2ee060c2, 0x21c0c3, 0x300a45, 0x2f226783, 0x2fa410c9, 0x2fe00942, 0x30612002, 0x29fe85, 0x221206, 0x2bd3c6, 0x3171c8, 0x3171cb, 0x34fb0b, 0x2fc845, 0x2e8549, 0x1601082, 0x2cee08, 0x20f044, 0x30e01b42, 0x346043, 0x316e82c6, 0x31a02182, 0x3d6a48, 0x31e0a842, 0x2738ca, 0x32679783, 0x32f86046, 0x31de08, 0x221b86, 0x396707, 0x219007, 0x3d3cca, 0x24fa04, 0x36c404, 0x385109, 0x333bd905, 0x219ec6, 0x2115c3, 0x2872c4, 0x33601d04, 0x201d07, 0x33bae987, 0x264f44, 0x2424c5, 0x27a508, 0x256007, 0x256287, 0x33e1b5c2, 0x2ae1c4, 0x2a99c8, 0x259284, 0x25d444, 0x25d845, 0x25d987, 0x34b68049, 0x23be84, 0x25f649, 0x2607c8, 0x262104, 0x262107, 0x264643, 0x265cc7, 0x34e00bc2, 0x16ccd82, 0x266946, 0x2c48c7, 0x2672c4, 0x268887, 0x269387, 0x26a303, 0x352698c2, 0x215ac2, 0x26b7c3, 0x26b7c4, 0x26b7cb, 0x335948, 0x215ac4, 0x26ca05, 0x26e147, 0x2fa885, 0x34deca, 0x270903, 0x35605b02, 0x2727c4, 0x274309, 0x277c03, 0x277cc7, 0x244b49, 0x20e288, 0x203743, 0x291e47, 0x244603, 0x299704, 0x29adc9, 0x29dc86, 0x32b303, 0x203f82, 0x2ccb83, 0x2ccb87, 0x39ab45, 0x3a3c06, 0x2d1704, 0x39b945, 0x2927c3, 0x21f0c6, 0x2094c3, 0x20ef42, 0x25c904, 0x35a03942, 0x35f339c3, 0x36206582, 0x243b43, 0x21b304, 0x25a807, 0x2a8606, 0x201cc2, 0x36601c82, 0x372004, 0x36e181c2, 0x37203d02, 0x2af084, 0x2af085, 0x20db45, 0x3d4d06, 0x37607282, 0x370985, 0x3dccc5, 0x207283, 0x2feb46, 0x2140c5, 0x21dac2, 0x363205, 0x21dac4, 0x222343, 0x222583, 0x37a0e002, 0x27ab07, 0x26e304, 0x26e309, 0x2871c4, 0x299fc3, 0x2c97c8, 0x37e99fc4, 0x299fc6, 0x2bc303, 0x23f783, 0x20f583, 0x236e03, 0x3b603842, 0x3be075c2, 0x399484, 0x262603, 0x308a45, 0x3c209c42, 0x3ca08102, 0x39f646, 0x2f7804, 0x2fd3c4, 0x2fd3ca, 0x3d2005c2, 0x203e83, 0x310f0a, 0x3a8488, 0x3d658104, 0x2005c3, 0x249bc3, 0x34c689, 0x27ddc9, 0x2cd806, 0x3da5e043, 0x2baf8d, 0x328846, 0x35c70b, 0x3de0f002, 0x2f9388, 0x42a200c2, 0x42e019c2, 0x2c0c85, 0x43203382, 0x2b2507, 0x2121c3, 0x2121c8, 0x43605fc2, 0x39ec44, 0x3e0643, 0x24b206, 0x2274c4, 0x21e703, 0x44a06702, 0x38a3c4, 0x2c6045, 0x2c6e07, 0x28d743, 0x2c7dc3, 0x161a742, 0x2c8483, 0x2c8803, 0x44e00c42, 0x276f44, 0x2408c6, 0x328cc3, 0x2c8c83, 0x45258e02, 0x258e08, 0x2c9a44, 0x204ec6, 0x393047, 0x2a2046, 0x2cc404, 0x53604842, 0x235b0b, 0x2e894e, 0x21fa8f, 0x2e1803, 0x53e6dc42, 0x161d942, 0x54203e42, 0x2a94c3, 0x28d243, 0x2bc506, 0x34efc6, 0x2d8bc7, 0x3835c4, 0x5461ee02, 0x54a17682, 0x240d85, 0x31a707, 0x2cb806, 0x54e78102, 0x38d184, 0x2d12c3, 0x55208042, 0x5577c743, 0x2d2684, 0x2d8149, 0x55adfe42, 0x55e19f42, 0x254b45, 0x562e0602, 0x56a065c2, 0x3830f1c2, 0x317442, 0x38600642, 0x343e08, 0x2157c8, 0x3c9706, 0x3b6e45, 0x230185, 0x349707, 0x38a62fc5, 0x216e82, 0x38eaca82, 0x39200042, 0x28f288, 0x3204c5, 0x309c84, 0x242e05, 0x24ad47, 0x3df244, 0x25aec2, 0x3963ff82, 0x35a8c4, 0x362607, 0x37f5cb, 0x216b45, 0x2610c9, 0x268b06, 0x56e08484, 0x208489, 0x36e507, 0x3e2d07, 0x225903, 0x2f9206, 0x352a87, 0x21b643, 0x2ab186, 0x5762cbc2, 0x57a2b342, 0x215703, 0x3ab5c5, 0x223b47, 0x241886, 0x39a1c5, 0x267804, 0x2b3985, 0x30c904, 0x57e04442, 0x2deb84, 0x2d1084, 0x3ec38d, 0x2d1089, 0x25c088, 0x267384, 0x209c05, 0x32b287, 0x3470c4, 0x3d5d07, 0x242f45, 0x582b7144, 0x2b2b85, 0x20c444, 0x3c8586, 0x3b6345, 0x58601a82, 0x22b303, 0x3018c3, 0x244bc4, 0x244bc5, 0x386dc6, 0x255d45, 0x2680c4, 0x58b0b703, 0x58e12686, 0x222705, 0x222bc5, 0x3b6444, 0x2fde43, 0x35b74c, 0x592c5b02, 0x59601742, 0x59a0b982, 0x2280c3, 0x2280c4, 0x59e0fd02, 0x3619c8, 0x227904, 0x396a86, 0x5a22d442, 0x5a609cc2, 0x5aa00b42, 0x28ae85, 0x286446, 0x35bc04, 0x232e86, 0x211c46, 0x2097c3, 0x5ae99c0a, 0x296705, 0x2b1fc3, 0x20e986, 0x5b20e989, 0x22a9c7, 0x3d3048, 0x224609, 0x2ba4c8, 0x2503c6, 0x208143, 0x5b602c82, 0x3adb08, 0x5ba54902, 0x5be026c2, 0x2335c3, 0x2f7305, 0x24c284, 0x245489, 0x238dc4, 0x2472c8, 0x5c610843, 0x5ca643c4, 0x21ed08, 0x5ce08f02, 0x23f002, 0x32db45, 0x270a09, 0x219c03, 0x319ac4, 0x376504, 0x267c43, 0x29190a, 0x5d20bdc2, 0x5d612ac2, 0x2e2943, 0x39c503, 0x1635002, 0x271503, 0x5da1dfc2, 0x5de0dec2, 0x5e292e44, 0x292e46, 0x27e5c4, 0x28bc83, 0x3d8d43, 0x5e706943, 0x24ae86, 0x32df05, 0x2e6707, 0x2e6646, 0x2e6c08, 0x2e6e06, 0x20dec4, 0x2abf8b, 0x2e9703, 0x2e9705, 0x226e42, 0x362902, 0x5ea51882, 0x5ee0f782, 0x21ee43, 0x5f27eec2, 0x27eec3, 0x2ea783, 0x5fa03b02, 0x5feedcc6, 0x29d686, 0x60246542, 0x60611402, 0x60a30a02, 0x60e05582, 0x6120d082, 0x61604342, 0x21a083, 0x3b6006, 0x61a22d84, 0x33bc86, 0x28d5c4, 0x20a383, 0x62603bc2, 0x2048c2, 0x2350c3, 0x62a127c3, 0x3c97c7, 0x3b6247, 0x67e582c7, 0x348507, 0x2166c3, 0x68277a44, 0x31d704, 0x31d70a, 0x3ba585, 0x6863b542, 0x261643, 0x68a00602, 0x25c743, 0x3c3903, 0x69200582, 0x2a0407, 0x387744, 0x3e1243, 0x2a5504, 0x2a5508, 0x39a3c686, 0x266d0a, 0x3af884, 0x2a9408, 0x242344, 0x22da06, 0x2aca44, 0x3000c6, 0x26e5c9, 0x2bba87, 0x3a80c3, 0x39e01742, 0x2830c3, 0x210682, 0x3a209bc2, 0x257c86, 0x28adc8, 0x2bd547, 0x317a89, 0x2bd709, 0x2bf805, 0x2c0d09, 0x2c2005, 0x2c3205, 0x2c3fc8, 0x3a616c44, 0x3aa16c47, 0x239803, 0x2c41c7, 0x239806, 0x2c4e47, 0x2bb585, 0x2390c3, 0x3ae30fc2, 0x213c04, 0x3b20e9c2, 0x3b607142, 0x376406, 0x233945, 0x2c7e07, 0x33be43, 0x3d6e44, 0x213903, 0x23ad43, 0x3ba06502, 0x3c202502, 0x399d84, 0x269883, 0x30e905, 0x3c613f82, 0x3ce04182, 0x3a0fc6, 0x304144, 0x310f44, 0x310f4a, 0x3d6005c2, 0x20f2c3, 0x22838a, 0x231a48, 0x3da5c204, 0x2005c3, 0x251a83, 0x2d1fc9, 0x27cfc9, 0x231c06, 0x3de0bc83, 0x23bb4d, 0x23dbc6, 0x2497cb, 0x3e20b882, 0x349288, 0x432235c2, 0x43603202, 0x2c6405, 0x43a040c2, 0x2b3307, 0x209a83, 0x214288, 0x43e01ac2, 0x32a7c4, 0x22cc83, 0x24d946, 0x22b9c4, 0x216f03, 0x45202382, 0x2fc7c4, 0x2cb785, 0x2cc787, 0x290943, 0x2cd143, 0x1626b42, 0x2cd803, 0x2cde03, 0x45600c02, 0x279504, 0x242cc6, 0x363983, 0x2ce203, 0x45a5cf02, 0x25cf08, 0x2cf5c4, 0x2206c6, 0x393f87, 0x391d06, 0x2c5584, 0x53e01782, 0x2396cb, 0x3cdfce, 0x222f8f, 0x2e0403, 0x546dbe82, 0x164f082, 0x54a04082, 0x2b6103, 0x3cc144, 0x20a1c4, 0x3cf585, 0x32c5c5, 0x2fd606, 0x3a7586, 0x69616602, 0x69a01242, 0x2f9bc5, 0x29d392, 0x2af9c6, 0x209843, 0x2dd486, 0x3d19c5, 0x161e7c2, 0x71e09f02, 0x209f03, 0x211683, 0x3a5bc3, 0x72214542, 0x21d343, 0x7261c682, 0x249c83, 0x3856c8, 0x25d543, 0x2b9886, 0x3e8dc7, 0x34d686, 0x34d68b, 0x28d507, 0x30b684, 0x72e07c42, 0x2ca605, 0x73212783, 0x22d043, 0x3c7445, 0x2165c3, 0x73a165c6, 0x3ddfc3, 0x20f0c4, 0x220243, 0x359746, 0x248286, 0x2b46c7, 0x390e44, 0x54e21342, 0x55232ac2, 0x309345, 0x3e4e07, 0x3cedc6, 0x5567a6c2, 0x390744, 0x2d4783, 0x55a0af02, 0x55f82443, 0x2d5b84, 0x2dbdc9, 0x562e3dc2, 0x5661c4c2, 0x259605, 0x56ae42c2, 0x57203e02, 0x3698c7, 0x385c8b, 0x218dc5, 0x2682c9, 0x26f6c6, 0x57609004, 0x379289, 0x377647, 0x393347, 0x237b43, 0x2fe046, 0x37ea87, 0x21e803, 0x2b93c6, 0x57e16202, 0x5820b602, 0x21cd43, 0x3aca05, 0x3b14c7, 0x248386, 0x39aac5, 0x26e284, 0x2ba945, 0x3141c4, 0x58609a42, 0x2e2544, 0x2d4544, 0x3a73cd, 0x2d4549, 0x260e88, 0x259884, 0x3ebb05, 0x3b80c7, 0x3d1184, 0x370c87, 0x22c4c5, 0x58abea84, 0x2be3c5, 0x58e768c4, 0x31a606, 0x3dadc5, 0x592032c2, 0x336a83, 0x251f83, 0x2459c4, 0x2459c5, 0x20d706, 0x38de05, 0x26eb44, 0x59713103, 0x59a14746, 0x223d05, 0x225845, 0x3daec4, 0x304c03, 0x3af90c, 0x59ecc882, 0x5a200b42, 0x5a612a82, 0x222043, 0x222044, 0x5aa0fe02, 0x302888, 0x22be04, 0x3301c6, 0x5ae24902, 0x5b216902, 0x5b603f02, 0x2a4a45, 0x300346, 0x238044, 0x2361c6, 0x212506, 0x26ac03, 0x5ba9d60a, 0x299f05, 0x2b98c3, 0x213606, 0x5be13609, 0x22e147, 0x3c8548, 0x391909, 0x3bfe88, 0x2a3c46, 0x20a2c3, 0x5c205942, 0x3b0148, 0x5c6593c2, 0x5ca00ec2, 0x2384c3, 0x2fc3c5, 0x2b1244, 0x2bdf89, 0x23ca84, 0x255308, 0x5d20b4c3, 0x5d66b484, 0x221248, 0x5da15142, 0x23d8c2, 0x3397c5, 0x3bba89, 0x214e43, 0x32eb84, 0x3f0484, 0x2202c3, 0x29558a, 0x5df9b302, 0x5e213a42, 0x2e7f43, 0x39d383, 0x161c182, 0x377f43, 0x5e62ab02, 0x5ea01942, 0x5ee30944, 0x296ac6, 0x281884, 0x28f0c3, 0x3da783, 0x5f30c783, 0x24d5c6, 0x339b85, 0x2eba87, 0x2eb9c6, 0x2ec108, 0x2ec306, 0x201944, 0x2b2dcb, 0x2eea43, 0x2eea45, 0x5f60ffc2, 0x369bc2, 0x5fa54782, 0x5fe0d3c2, 0x221383, 0x60282182, 0x282183, 0x2f0343, 0x60a067c2, 0x60ef3c06, 0x2f4005, 0x2b7346, 0x6127c082, 0x61611282, 0x61a225c2, 0x61e736c2, 0x622130c2, 0x62602202, 0x21c603, 0x3a9686, 0x62a25a04, 0x3b52c6, 0x2907c4, 0x2ec4c3, 0x63603642, 0x201f42, 0x238cc3, 0x63a14883, 0x3cec47, 0x3dacc7, 0x6965c3c7, 0x316147, 0x218943, 0x69a7a004, 0x327e04, 0x327e0a, 0x3e69c5, 0x69e31a82, 0x268843, 0x6a200602, 0x262243, 0x283083, 0x6aa00582, 0x28f944, 0x349904, 0x3cb645, 0x32bd85, 0x311f06, 0x311186, 0x6ae18882, 0x6b2025c2, 0x2fb405, 0x2b7052, 0x326ac6, 0x22a783, 0x22a786, 0x269b85, 0x1616fc2, 0x73611f42, 0x336783, 0x211f43, 0x2ac1c3, 0x73a17a02, 0x21fe83, 0x73e07982, 0x230983, 0x37b608, 0x248803, 0x248806, 0x3e8187, 0x3271c6, 0x3271cb, 0x290707, 0x313084, 0x74600e82, 0x3a3b45, 0x74a14843, 0x247043, 0x20b8c5, 0x218843, 0x75218846, 0x2ac403, 0x203584, 0x2003c6, 0x30aac6, 0x73e1f483, 0x2382c7, 0x34c587, 0x2ad945, 0x31cec6, 0x21a683, 0x76ac9683, 0x76e00a82, 0x7723e044, 0x3d5409, 0x218b85, 0x30a444, 0x388b08, 0x328b05, 0x7775e205, 0x24d489, 0x209583, 0x3d9c04, 0x77a0f102, 0x21f043, 0x77e78302, 0x278306, 0x162e6c2, 0x782135c2, 0x28ad88, 0x29e203, 0x2b2ac7, 0x2bd9c5, 0x2cb045, 0x2cb48b, 0x2f8f86, 0x2cb686, 0x27ea44, 0x215506, 0x786f9788, 0x293ec3, 0x26b483, 0x26b484, 0x3e5004, 0x2fe047, 0x316985, 0x78b1f402, 0x78e06582, 0x79606585, 0x298f04, 0x3e514b, 0x2fe688, 0x253b44, 0x79a58e42, 0x79e53ac2, 0x3d72c3, 0x2ff984, 0x2ffc45, 0x3006c7, 0x7a302844, 0x381304, 0x7a602782, 0x3885c9, 0x303d45, 0x216e05, 0x3045c5, 0x7aa02783, 0x244084, 0x24408b, 0x305d44, 0x30600b, 0x306885, 0x21fbca, 0x307048, 0x30724a, 0x307ac3, 0x307aca, 0x7b2189c2, 0x7b685042, 0x7baa31c3, 0x7bed2102, 0x309ec3, 0x7c30afc2, 0x7c73a282, 0x30c584, 0x220106, 0x232bc5, 0x3101c3, 0x3cdb06, 0x20ef45, 0x255884, 0x7ca00902, 0x2a1b84, 0x2e2bca, 0x2c5747, 0x3e26c6, 0x24eec7, 0x249f03, 0x2d26c8, 0x3eb80b, 0x2282c5, 0x376645, 0x376646, 0x2fd9c4, 0x21cb08, 0x207a43, 0x207a44, 0x207a47, 0x30b2c6, 0x33e886, 0x2d050a, 0x25b384, 0x27d94a, 0x7cf83846, 0x383847, 0x265f07, 0x2696c4, 0x2696c9, 0x220a45, 0x36e343, 0x22bcc3, 0x7d225f83, 0x298ac4, 0x7d600682, 0x2f08c6, 0x7dad3105, 0x2dd6c5, 0x245d86, 0x2c8b44, 0x7de01082, 0x245e84, 0x7e209942, 0x237a05, 0x3c78c4, 0x7f62cac3, 0x7fa116c2, 0x2116c3, 0x21d486, 0x7fe01782, 0x32d608, 0x22a844, 0x22a846, 0x39cd86, 0x80267784, 0x21fe05, 0x243148, 0x255547, 0x350587, 0x35058f, 0x2a50c6, 0x248083, 0x24d684, 0x215c83, 0x22a3c4, 0x334046, 0x7564acc3, 0x285c07, 0x244747, 0x2b54c5, 0x24eb06, 0x21cc03, 0x782cebc3, 0x78607002, 0x78a30704, 0x3f3589, 0x21b645, 0x3af684, 0x303a08, 0x23d505, 0x78e407c5, 0x24f689, 0x380583, 0x3dca84, 0x792035c2, 0x221583, 0x79681142, 0x281146, 0x168e5c2, 0x79a15882, 0x2a4948, 0x2a54c3, 0x2be307, 0x39fc85, 0x2fddc5, 0x331a0b, 0x2fddc6, 0x331c06, 0x24bb04, 0x218386, 0x79f00dc8, 0x26c0c3, 0x274003, 0x274004, 0x3e4d44, 0x304e07, 0x31ea05, 0x7a324e02, 0x7a608782, 0x7ae08785, 0x2e6ac4, 0x2e6acb, 0x305448, 0x268f84, 0x7b25cf42, 0x7b609ec2, 0x209ec3, 0x306744, 0x306a05, 0x307387, 0x7bb097c4, 0x21bd84, 0x7be05442, 0x38a3c9, 0x30a905, 0x219085, 0x30b185, 0x7c205443, 0x244e04, 0x244e0b, 0x30be44, 0x30c10b, 0x30c6c5, 0x2230ca, 0x30ce88, 0x30d08a, 0x30d883, 0x30d88a, 0x7ca1b482, 0x7ce21e42, 0x7d229a83, 0x7d6cc442, 0x310c43, 0x7db129c2, 0x7df42742, 0x313e44, 0x223606, 0x235f05, 0x317483, 0x23b886, 0x212c85, 0x235804, 0x7e200902, 0x21d784, 0x2e81ca, 0x2cb0c7, 0x351e86, 0x2516c7, 0x24c843, 0x2d5bc8, 0x34c64b, 0x226445, 0x3f05c5, 0x3f05c6, 0x304704, 0x236d08, 0x2221c3, 0x28b8c4, 0x3d4047, 0x312cc6, 0x346906, 0x2d840a, 0x25f6c4, 0x2a1a8a, 0x7e6f7b86, 0x2f7b87, 0x26ca87, 0x28db44, 0x28db49, 0x230dc5, 0x377483, 0x236883, 0x7ea06f83, 0x234344, 0x7ee00682, 0x366906, 0x7f2d9445, 0x22a9c5, 0x246646, 0x215084, 0x7f601a42, 0x246744, 0x7fe03b02, 0x379105, 0x230f44, 0x8122ea03, 0x81611f82, 0x211f83, 0x3bb206, 0x81a02fc2, 0x339288, 0x22dfc4, 0x22dfc6, 0x39dc06, 0x81e6e204, 0x220f05, 0x22f7c8, 0x230007, 0x286287, 0x28628f, 0x2a98c6, 0x247943, 0x249f84, 0x234c03, 0x22db44, 0x3a23c4, 0x8220b242, 0x2625c3, 0x33fc03, 0x82606382, 0x206383, 0x21da03, 0x21930a, 0x31cdc7, 0x3ae24c, 0x3ae506, 0x25dd06, 0x269507, 0x82a6ffc7, 0x272589, 0x82f65e44, 0x836213c2, 0x83a01042, 0x2d87c6, 0x285a04, 0x2db286, 0x277f48, 0x3acac4, 0x80608382, 0x2b76c3, 0x337703, 0x80a036c2, 0x2036c3, 0x38f1c3, 0x21708a, 0x314d47, 0x25cbcc, 0x25ce86, 0x25e406, 0x262287, 0x80e65507, 0x269d89, 0x81230e44, 0x81a1ee82, 0x81e033c2, 0x2d08c6, 0x2380c4, 0x38c746, 0x26cb88, 0x3ab684, 0x32ea46, 0x29d105, 0x82280408, 0x24e043, 0x282ac5, 0x396603, 0x216f03, 0x216f04, 0x215a03, 0x82639d02, 0x82a04082, 0x36e209, 0x28ac85, 0x28af84, 0x28c845, 0x204084, 0x2e43c7, 0x35b485, 0x8324a3c4, 0x2d1548, 0x2d2e86, 0x2d4204, 0x2d53c8, 0x83605f82, 0x2e7cc4, 0x315484, 0x337f87, 0x83a05f84, 0x21a542, 0x83e12882, 0x254a43, 0x254a44, 0x2ae6c3, 0x2bfcc5, 0x8420c402, 0x2f8dc5, 0x246f82, 0x312685, 0x2e15c5, 0x8460c582, 0x3819c4, 0x84a04942, 0x208d46, 0x25b846, 0x270b48, 0x2da1c8, 0x30dac4, 0x2fb0c5, 0x2ba8c9, 0x31fcc4, 0x3ed084, 0x224b03, 0x207803, 0x84e07805, 0x268285, 0x2800c4, 0x29ec82, 0x329e83, 0x85203682, 0x85601402, 0x32d0c5, 0x289807, 0x286f44, 0x224809, 0x2e2d09, 0x28a843, 0x28a848, 0x3917c9, 0x222207, 0x85b2e885, 0x354f06, 0x355546, 0x356a05, 0x2d1185, 0x85e01882, 0x375005, 0x2cf188, 0x2dcac6, 0x862d4807, 0x306ac4, 0x2bde47, 0x3a3946, 0x866088c2, 0x386ac6, 0x311d0a, 0x312585, 0x86a136c2, 0x86e14cc2, 0x27cfc6, 0x8729c3c7, 0x87601b42, 0x237fc3, 0x2f0206, 0x2d9fc4, 0x36f086, 0x3d51c6, 0x37378a, 0x200e05, 0x384046, 0x3c3743, 0x3c3744, 0x87a03142, 0x321203, 0x87e28102, 0x320e43, 0x88311184, 0x2db744, 0x887e954a, 0x229c83, 0x34c847, 0x3dcdc6, 0x268644, 0x243502, 0x2b5902, 0x88a007c2, 0x231403, 0x265cc7, 0x33a6c6, 0x2bd385, 0x842833c8, 0x250dc3, 0x287385, 0x28d283, 0x219183, 0x219184, 0x272983, 0x846291c2, 0x84a00e02, 0x377349, 0x2936c5, 0x293a44, 0x29f705, 0x20f144, 0x2eadc7, 0x3637c5, 0x85223984, 0x302308, 0x2cf686, 0x2d4a04, 0x2d4a08, 0x85601a82, 0x2dc104, 0x31d504, 0x354fc7, 0x85a01a84, 0x202342, 0x85e14942, 0x220203, 0x259504, 0x243a83, 0x396bc5, 0x8621e7c2, 0x2f93c5, 0x2827c2, 0x319cc5, 0x2e6805, 0x8662c602, 0x23d204, 0x86a075c2, 0x3e21c6, 0x212f06, 0x3bbbc8, 0x29c8c8, 0x376384, 0x300f85, 0x312649, 0x2cef44, 0x3effc4, 0x27c243, 0x289f03, 0x86e89f05, 0x26ed05, 0x29a244, 0x2a7382, 0x334a03, 0x87206342, 0x87601b82, 0x338d45, 0x28d107, 0x20d944, 0x391b09, 0x2e8309, 0x28e403, 0x28e408, 0x2ab4c9, 0x3d3b47, 0x87b3a505, 0x35d3c6, 0x35da06, 0x35eec5, 0x2d4645, 0x87e02802, 0x202805, 0x2e0788, 0x2e1306, 0x8830c907, 0x3ae8c4, 0x2df487, 0x3a8246, 0x88609202, 0x20d406, 0x31934a, 0x319bc5, 0x88a15982, 0x88e37dc2, 0x27fe06, 0x892a05c7, 0x89603382, 0x221e83, 0x3f38c6, 0x2de1c4, 0x253846, 0x324bc6, 0x20184a, 0x336e05, 0x3c7b06, 0x3c8703, 0x3c8704, 0x89a05e02, 0x32c003, 0x89e22082, 0x32bc83, 0x8a228604, 0x2dfc04, 0x8a7b188a, 0x219d83, 0x387c47, 0x3de4c6, 0x328b44, 0x2372c2, 0x2184c2, 0x8aa007c2, 0x2ef983, 0x26c847, 0x2007c7, 0x297f84, 0x2fcd07, 0x3007c6, 0x237207, 0x227cc4, 0x221705, 0x201985, 0x88e15642, 0x21a706, 0x226243, 0x228882, 0x228886, 0x89227202, 0x89608ec2, 0x220d05, 0x89a01c82, 0x89e00fc2, 0x398085, 0x2e9a45, 0x30c185, 0x8a66e003, 0x224e45, 0x2f9047, 0x2b6985, 0x200fc5, 0x277944, 0x328986, 0x24c344, 0x8aa008c2, 0x8b6dc005, 0x213b47, 0x20f2c8, 0x278606, 0x27860d, 0x27db89, 0x27db92, 0x333505, 0x33e543, 0x8ba10702, 0x31be44, 0x3288c3, 0x3888c5, 0x3dfac5, 0x8be6ca02, 0x26ca03, 0x8c231342, 0x8ca27442, 0x8ce00082, 0x219645, 0x3a6d43, 0x8d205182, 0x8d609e42, 0x3cc106, 0x27988a, 0x24e2c3, 0x244b43, 0x2f1c43, 0x8f201b02, 0x9da55202, 0x9e20d682, 0x204c02, 0x329c89, 0x2df244, 0x2eb948, 0x9e708602, 0x9ee08602, 0x35f645, 0x23fa48, 0x23b2c8, 0x30010c, 0x2450c3, 0x9f273ec2, 0x9f612182, 0x38c146, 0x313dc5, 0x2eef43, 0x256186, 0x313f06, 0x24f243, 0x3153c3, 0x315806, 0x317284, 0x26f646, 0x240fc4, 0x317944, 0x318c4a, 0x9fa52ec2, 0x25d945, 0x31a20a, 0x31a145, 0x31b804, 0x31b906, 0x31ba84, 0x21f306, 0x9fe08902, 0x21a246, 0x23ab05, 0x3c35c7, 0x3cb1c6, 0x262484, 0x2ef1c7, 0x224045, 0x323447, 0x21e087, 0x21e08e, 0x28cf06, 0x3266c5, 0x205ec7, 0x3d9cc7, 0x211845, 0x213e04, 0x325f42, 0x24bb47, 0x287304, 0x249b04, 0x2d77cb, 0xa0225103, 0x307f07, 0x225104, 0x308207, 0x22f403, 0x34de8d, 0x31dc88, 0xa06348c4, 0x24a2c5, 0x31e145, 0x31e583, 0xa0a2a742, 0x3211c3, 0x321743, 0x213704, 0x2262c5, 0x2263c7, 0x3c37c6, 0x39ab03, 0x22b7cb, 0x27114b, 0x2b6d8b, 0x2bbb4b, 0x2c858a, 0x2dcc8b, 0x2f9e0b, 0x31418c, 0x317d4b, 0x363911, 0x37848a, 0x3bbfcb, 0x3ee8cc, 0x322a0b, 0x32370a, 0x323d8a, 0x324c0e, 0x32520b, 0x3254ca, 0x326d51, 0x32718a, 0x32768b, 0x327bce, 0x329f4c, 0x32a3cb, 0x32a68e, 0x32aa0c, 0x32b94a, 0x32ca8c, 0xa0f2d80a, 0x32e048, 0x32f4c9, 0x3336ca, 0x33394a, 0x333bcb, 0x336e8e, 0x3379d1, 0x340f89, 0x3411ca, 0x341dcb, 0x34328d, 0x34410a, 0x344756, 0x345acb, 0x34748a, 0x347dca, 0x34980b, 0x34b3c9, 0x34e809, 0x34f3cd, 0x350e0b, 0x3526cb, 0x353309, 0x35394e, 0x353f8a, 0x354cca, 0x35530a, 0x355a0b, 0x35624b, 0x35784d, 0x35af8d, 0x35cc90, 0x35d14b, 0x35e34c, 0x35fc0b, 0x36210b, 0x36548e, 0x36614b, 0x36614d, 0x36b54b, 0x36bfcf, 0x36c38b, 0x36d08a, 0x36e789, 0x370b09, 0xa1370e8b, 0x37114e, 0x3714ce, 0x37628b, 0x37704f, 0x379e4b, 0x37a10b, 0x37a3ca, 0x37f1c9, 0x38248f, 0x38b98c, 0x38cbcc, 0x38dace, 0x38e28f, 0x38e64e, 0x38f2d0, 0x38f6cf, 0x390b4e, 0x391bcc, 0x391ed1, 0x392312, 0x392bd1, 0x39320e, 0x393a4b, 0x393a4e, 0x393dcf, 0x39418e, 0x394510, 0x394913, 0x394dd1, 0x39520c, 0x39550e, 0x39598c, 0x395ed3, 0x396c10, 0x39708c, 0x39738c, 0x397c4b, 0x39908e, 0x39958b, 0x399ccb, 0x39ad0c, 0x3a0d8a, 0x3a18cc, 0x3a1bcc, 0x3a1ec9, 0x3a430b, 0x3a45c8, 0x3a4d89, 0x3a4d8f, 0x3a664b, 0xa17a894a, 0x3a9f0c, 0x3aae4b, 0xa1bab109, 0x3abbc8, 0x3abf8b, 0x3ace8a, 0x3ad10a, 0x3ad38b, 0x3ad88c, 0x3ae8c9, 0x3aeb08, 0x3b17cb, 0x3b598b, 0x3b898e, 0x3ba1cb, 0x3bb94b, 0x3c79cb, 0x3c7c89, 0x3c88cd, 0x3dedca, 0x3e39d7, 0x3e4658, 0x3e77c9, 0x3e8a0b, 0x3e9994, 0x3e9e8b, 0x3ea40a, 0x3eafca, 0x3eb24b, 0x3ec790, 0x3ecb91, 0x3ed18a, 0x3edecd, 0x3ee5cd, 0x3efa8b, 0x21a803, 0xa1e02843, 0x2181c6, 0x3d2985, 0x2eaf47, 0x2c2006, 0xa2209302, 0x2700c9, 0x237744, 0x2f7d08, 0x225ec3, 0x31bd87, 0xa2601c42, 0x2c2543, 0xa2a04182, 0x2e3786, 0x2e4d84, 0x2efc44, 0x2021c3, 0xa32e0642, 0xa3632284, 0x269607, 0xa3a32642, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0x21f483, 0x10bb08, 0x20bc03, 0x29b784, 0x220d87, 0x307486, 0x23b147, 0x21dc44, 0x223f05, 0x2031c5, 0x8ae09b02, 0x226b06, 0x22b203, 0x231282, 0x231286, 0x8b229b42, 0x8b649902, 0x254905, 0x8ba021c2, 0x8be019c2, 0x398c45, 0x2eed85, 0x313b85, 0x8c673143, 0x2f2505, 0x2fde87, 0x2bb945, 0x336fc5, 0x279f04, 0x240646, 0x253004, 0x8ca008c2, 0x8d6d0e85, 0x215e07, 0x203788, 0x27b8c6, 0x27b8cd, 0x27cd89, 0x27cd92, 0x33c805, 0x3465c3, 0x8da0ea02, 0x3247c4, 0x23dc43, 0x38a6c5, 0x31a945, 0x8de2ccc2, 0x272503, 0x8e25c442, 0x8ea2b942, 0x8ee00082, 0x3f4005, 0x3a81c3, 0x8f20dfc2, 0x8f60ba42, 0x28f906, 0x26b54a, 0x22a743, 0x245943, 0x2ed243, 0x91203342, 0x9fa096c2, 0xa0203b42, 0x207882, 0x334809, 0x2e31c4, 0x283dc8, 0xa0627e42, 0xa0e01102, 0x271dc5, 0x241e48, 0x24d048, 0x2f29cc, 0x246143, 0xa1276282, 0xa160b382, 0x2dac86, 0x31be45, 0x2f4e83, 0x26aa06, 0x31bf86, 0x251a43, 0x31d443, 0x31d886, 0x31f304, 0x2637c6, 0x3afc04, 0x31f9c4, 0x32134a, 0xa1a561c2, 0x2647c5, 0x32290a, 0x322845, 0x323904, 0x323a06, 0x323b84, 0x221846, 0xa1e02402, 0x21c7c6, 0x325785, 0x3c7987, 0x3d0286, 0x269704, 0x2f5107, 0x20d445, 0x2477c7, 0x22abc7, 0x22abce, 0x290106, 0x248b85, 0x2080c7, 0x3dcb47, 0x212105, 0x2152c4, 0x333502, 0x28ac87, 0x28d304, 0x260644, 0x2d568b, 0xa22270c3, 0x30dcc7, 0x2270c4, 0x30dfc7, 0x224303, 0x35680d, 0x328848, 0xa2656bc4, 0x256bc5, 0x3e1685, 0x329083, 0xa2a2dec2, 0x32bfc3, 0x32c803, 0x2159c4, 0x226c85, 0x226d87, 0x3c8786, 0x39b403, 0x2313cb, 0x377b8b, 0x2b87cb, 0x2c144b, 0x2c1d8a, 0x3cce4b, 0x3012cb, 0x31c20c, 0x31fdcb, 0x36a851, 0x37e70a, 0x3c120b, 0x3f1dcc, 0x32d34b, 0x32e2ca, 0x32e94a, 0x32fd0e, 0x33034b, 0x33060a, 0x331d91, 0x3321ca, 0x3326cb, 0x332c0e, 0x334acc, 0x334f4b, 0x33520e, 0x33558c, 0x33750a, 0x33870c, 0xa2f3948a, 0x339cc8, 0x33a989, 0x33c9ca, 0x33cc4a, 0x33cecb, 0x33f38e, 0x33fed1, 0x34a749, 0x34a98a, 0x34b6cb, 0x34cd4d, 0x34dbca, 0x34e396, 0x34f70b, 0x350b8a, 0x3514ca, 0x35250b, 0x353f89, 0x357189, 0x358b0d, 0x35994b, 0x35b40b, 0x35b8c9, 0x35bf0e, 0x35c54a, 0x35d18a, 0x35d7ca, 0x35decb, 0x35e70b, 0x35f98d, 0x36130d, 0x362e90, 0x36334b, 0x363e4c, 0x36514b, 0x3693cb, 0x36ce0e, 0x36e0cb, 0x36e0cd, 0x3745cb, 0x37504f, 0x37540b, 0x375dca, 0x377889, 0x37a2c9, 0xa337a64b, 0x37a90e, 0x37ac8e, 0x37c54b, 0x37d2cf, 0x38078b, 0x380a4b, 0x380d0a, 0x385889, 0x38820f, 0x38d40c, 0x38d9cc, 0x38e94e, 0x38ef8f, 0x38f34e, 0x38fd10, 0x39010f, 0x39110e, 0x391fcc, 0x3922d1, 0x392712, 0x393b11, 0x39414e, 0x39498b, 0x39498e, 0x394d0f, 0x3950ce, 0x395450, 0x395853, 0x395d11, 0x39614c, 0x39644e, 0x3968cc, 0x396d13, 0x3977d0, 0x397c4c, 0x397f4c, 0x39880b, 0x39998e, 0x399e8b, 0x39a5cb, 0x39bc8c, 0x3a280a, 0x3a2c4c, 0x3a2f4c, 0x3a3249, 0x3a560b, 0x3a58c8, 0x3a6089, 0x3a608f, 0x3a7acb, 0xa37a890a, 0x3ab34c, 0x3ac28b, 0xa3bac549, 0x3ad1c8, 0x3ad58b, 0x3aee0a, 0x3af08a, 0x3af30b, 0x3afecc, 0x3b1b09, 0x3b1d48, 0x3b464b, 0x3b6f8b, 0x3bcd0e, 0x3be20b, 0x3c0b8b, 0x3cc50b, 0x3cc7c9, 0x3cd3cd, 0x3dfeca, 0x3e3357, 0x3e4398, 0x3e6b89, 0x3e7dcb, 0x3ed6d4, 0x3edbcb, 0x3ee14a, 0x3eed0a, 0x3eef8b, 0x3ef6d0, 0x3efad1, 0x3f00ca, 0x3f13cd, 0x3f1acd, 0x3f328b, 0x226c03, 0xa3e05503, 0x21a846, 0x209545, 0x2f0b07, 0x2c6b06, 0xa420b2c2, 0x2c0209, 0x23b684, 0x2fcdc8, 0x206ec3, 0x324707, 0xa4603482, 0x2c7e43, 0xa4a079c2, 0x2e8dc6, 0x2e9b84, 0x230ac4, 0x204e83, 0xa52e4302, 0xa562fd04, 0x28da87, 0xa5a371c2, 0x21a043, 0x358c3, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x113508, 0x208c43, 0x2000c2, 0x7ffc8, 0x205842, 0x2e9c43, 0x219c03, 0x2127c3, 0xbc03, 0x21f483, 0x217083, 0x33d716, 0x369b53, 0x2fcb89, 0x285588, 0x2ca489, 0x31a386, 0x351bd0, 0x3eba93, 0x30b388, 0x28bd87, 0x28de87, 0x2b36ca, 0x354849, 0x335dc9, 0x29f80b, 0x340886, 0x32aeca, 0x229146, 0x2361c3, 0x26d285, 0x3d5608, 0x290e4d, 0x3468cc, 0x23a7c7, 0x3a728d, 0x243244, 0x23b4ca, 0x23c84a, 0x23cd0a, 0x205847, 0x248547, 0x24ba84, 0x27f786, 0x384a84, 0x224d08, 0x238e09, 0x308d86, 0x308d88, 0x24fa4d, 0x2e2f49, 0x315d88, 0x216d87, 0x220f4a, 0x2bf046, 0x33ed44, 0x211e87, 0x2f0aca, 0x23cf4e, 0x28a905, 0x29bf4b, 0x231149, 0x27ddc9, 0x2b2347, 0x3da84a, 0x2f5547, 0x2e8a89, 0x346d88, 0x37078b, 0x2f7305, 0x25bf4a, 0x2307c9, 0x38638a, 0x3efd8b, 0x211d8b, 0x29f595, 0x2d8345, 0x216e05, 0x24408a, 0x2722ca, 0x32ee87, 0x216e43, 0x2d0848, 0x2ece4a, 0x22a846, 0x266949, 0x280408, 0x2d4204, 0x395c89, 0x2da1c8, 0x2d9e47, 0x2dc006, 0x213b47, 0x3a2947, 0x24ac85, 0x2b7f0c, 0x24a2c5, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0xbc03, 0x21f483, 0x205842, 0x229f43, 0x2127c3, 0x20bc03, 0x21f483, 0x229f43, 0x2127c3, 0xbc03, 0x25d543, 0x21f483, 0x1df183, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0xbc03, 0x21f483, 0x7ffc8, 0x205842, 0x229f43, 0x234f87, 0x98704, 0x2127c3, 0x37344, 0x21f483, 0xef45, 0x205842, 0x201902, 0x30b602, 0x205fc2, 0x202a42, 0x229ac2, 0x164ca, 0x14244b, 0x5b547, 0x1b8586, 0xa1606, 0x60209, 0xebb49, 0x1a3dc7, 0x15b4e8a, 0x1314e, 0x10ad89, 0x482cac3, 0x98307, 0x149c86, 0x5ec3, 0x11d6c5, 0x1c3448, 0x20b642, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x219303, 0x345796, 0x373113, 0x220c09, 0x2848c8, 0x3a39c9, 0x322a86, 0x35a910, 0x3d24d3, 0x312d88, 0x291087, 0x29ba47, 0x2ba68a, 0x3b95c9, 0x336809, 0x265a0b, 0x35ca86, 0x335a4a, 0x22d286, 0x23a103, 0x27aa45, 0x213cc8, 0x29464d, 0x2ffe8c, 0x325447, 0x3bc70d, 0x22f8c4, 0x23e08a, 0x23fb4a, 0x24000a, 0x2ae887, 0x249c47, 0x24e084, 0x282a46, 0x325944, 0x226788, 0x23cac9, 0x3171c6, 0x3171c8, 0x25248d, 0x2e8549, 0x31de08, 0x219007, 0x254b4a, 0x2c48c6, 0x3766c4, 0x212747, 0x366b0a, 0x3ee84e, 0x262fc5, 0x2a014b, 0x2ef6c9, 0x27cfc9, 0x2098c7, 0x2098ca, 0x36df07, 0x3ce109, 0x233e08, 0x20bc0b, 0x2fc3c5, 0x260d4a, 0x222389, 0x370e0a, 0x20700b, 0x21264b, 0x265795, 0x2dbfc5, 0x219085, 0x244e0a, 0x27468a, 0x36f207, 0x2190c3, 0x2d8748, 0x2f2d4a, 0x22dfc6, 0x271ec9, 0x2833c8, 0x2d4a04, 0x28e189, 0x29c8c8, 0x2de047, 0x2d0e86, 0x215e07, 0x2cfb07, 0x24d3c5, 0x262e0c, 0x256bc5, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x20b642, 0x21a043, 0x214883, 0x208c43, 0x24acc3, 0x21a043, 0x214883, 0x248803, 0x24acc3, 0x1e0283, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x1c3448, 0x20b642, 0x21a043, 0x238b87, 0x33f84, 0x214883, 0x3b284, 0x24acc3, 0x12c85, 0x20b642, 0x203142, 0x313002, 0x201ac2, 0x203cc2, 0x20ea82, 0x1874a, 0x12c105, 0x12c10a, 0x152aa49, 0x14bd4b, 0x5f887, 0x1bc3c6, 0xa5286, 0x67409, 0x12b1c7, 0x3504, 0x14a150a, 0x1540e, 0x134309, 0x482ea03, 0x9e747, 0x152986, 0xf83, 0x127dc5, 0xc1, 0x5229f43, 0x224d03, 0x28c6c3, 0x2e9c43, 0x25e043, 0x219c03, 0x2ee0c6, 0x2127c3, 0x21f483, 0x236f03, 0x7ffc8, 0x20a944, 0x264187, 0x202203, 0x261a44, 0x225f43, 0x2455c3, 0x2e9c43, 0xf1a47, 0x9c4, 0x14c3, 0x172f85, 0x521a043, 0x226783, 0x204703, 0x20f583, 0x20bc83, 0x214e43, 0x2f4006, 0x214883, 0x24acc3, 0x23ae43, 0x1c3448, 0x200984, 0x26b247, 0x204ec3, 0x271984, 0x206f43, 0x209943, 0x20f583, 0xf5d87, 0x1bfd04, 0x2d03, 0x1bee85, 0x66000c2, 0x58843, 0x6a05842, 0x6e96109, 0x709b3c9, 0x9b80d, 0x9bb4d, 0x30b602, 0x58104, 0x172fc9, 0xbec3, 0x6a0b642, 0x6e99909, 0x709f509, 0x9fa0d, 0x9fd4d, 0x313002, 0x5c204, 0x1beec9, 0x10210c, 0x2003c2, 0x7658008, 0x105744, 0x320a03, 0x7ffc8, 0x87304, 0x14076c2, 0x765c108, 0x10b844, 0x32b843, 0x1c3448, 0x8d304, 0x1419002, 0x14005c2, 0x14076c2, 0x1517b46, 0x23d9c3, 0x2c9ec3, 0x7e29f43, 0x23b4c4, 0x8624d03, 0x8ee9c43, 0x203842, 0x258104, 0x2127c3, 0x239503, 0x200f82, 0x21f483, 0x222402, 0x30bd83, 0x201782, 0x2b32c3, 0x221943, 0x205242, 0x7ffc8, 0x829db89, 0x22003, 0x23d9c3, 0x3d7348, 0x8a39503, 0x200f82, 0x30bd83, 0x201782, 0x2b32c3, 0x221943, 0x205242, 0x25ce87, 0x30bd83, 0x201782, 0x2b32c3, 0x221943, 0x205242, 0x229f43, 0x2b82, 0x24dc3, 0x3642, 0x6cc2, 0x4682, 0x2c82, 0x1b02, 0x2842, 0x258843, 0x229f43, 0x224d03, 0x2e9c43, 0x258104, 0x25e043, 0x219c03, 0x222d84, 0x2127c3, 0x21f483, 0x202082, 0x202783, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0x21f483, 0x9a03, 0x1c682, 0x258843, 0x205842, 0x229f43, 0x224d03, 0x2e9c43, 0x258104, 0x2127c3, 0x21f483, 0x32e885, 0x26ca02, 0x1419002, 0x151fbc6, 0x2405c3, 0x2507c3, 0x7e1a043, 0x23e084, 0x8626783, 0x8e0f583, 0x206502, 0x25c204, 0x214883, 0x2100c3, 0x201802, 0x24acc3, 0x225542, 0x313783, 0x202fc2, 0x201683, 0x224e43, 0x20d442, 0x1c3448, 0x82a2449, 0x10210c, 0x29083, 0x2405c3, 0x21ff08, 0x8a100c3, 0x201802, 0x313783, 0x202fc2, 0x201683, 0x224e43, 0x20d442, 0x3ae507, 0x313783, 0x202fc2, 0x201683, 0x224e43, 0x20d442, 0x21a043, 0x2742, 0x13cc3, 0x1b42, 0xa842, 0x1c82, 0x5942, 0x3342, 0x5502, 0x20bec3, 0x21a043, 0x226783, 0x20f583, 0x25c204, 0x20bc83, 0x214e43, 0x225a04, 0x214883, 0x24acc3, 0x204d42, 0x205443, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x1a42, 0xc503, 0x7982, 0x20bec3, 0x20b642, 0x21a043, 0x226783, 0x20f583, 0x25c204, 0x214883, 0x24acc3, 0x33a505, 0x22ccc2, 0x2000c2, 0x7ffc8, 0xaeba692, 0xb2d6d88, 0x1475dc8, 0x3424a, 0x2cc5, 0x2707, 0x2e9c43, 0x228ac1, 0x1c3448, 0xaf12412, 0xb2d9f88, 0x10210c, 0x1470708, 0x16b8a, 0x5985, 0x53c7, 0x20f583, 0x201601, 0x2009c1, 0x202d01, 0x201501, 0x200a41, 0x22d881, 0x200a01, 0x201101, 0x200dc1, 0x218341, 0x202281, 0x202f81, 0x249081, 0x205c41, 0x24a501, 0x200001, 0x2000c1, 0x200201, 0x145d45, 0x7ffc8, 0x14f985, 0x1c3448, 0x200101, 0x200d01, 0x200cc1, 0x200501, 0x200c01, 0x200bc1, 0x200041, 0x200801, 0x200181, 0x200c41, 0x200c01, 0x200701, 0x2004c1, 0x200b41, 0x200ec1, 0x200581, 0x2003c1, 0x200a81, 0x205601, 0x2015c1, 0x207a81, 0x200401, 0x200741, 0x2007c1, 0x200081, 0x204c01, 0x205241, 0x201541, 0x201c41, 0x201b81, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x205842, 0x229f43, 0x224d03, 0x201101, 0x200f81, 0x202d81, 0x203481, 0x2033c1, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x20b642, 0x21a043, 0x226783, 0x2003c2, 0x21f483, 0xf1a47, 0x84447, 0x332c6, 0x46aca, 0x9a808, 0x64f08, 0x65bc7, 0xc3184, 0x71506, 0xf58c5, 0xcab05, 0xb0e03, 0x18a46, 0x5b646, 0x29f804, 0x334f47, 0x7ffc8, 0x2ef2c4, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x5842, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x32da08, 0x209f84, 0x23a844, 0x2045c4, 0x38c047, 0x2ec207, 0x229f43, 0x24128b, 0x3b154a, 0x34a2c7, 0x3e4448, 0x220208, 0x224d03, 0x2886c7, 0x28c6c3, 0x214688, 0x22f089, 0x258104, 0x25e043, 0x247608, 0x219c03, 0x2e984a, 0x2ee0c6, 0x33bc87, 0x2127c3, 0x30eec6, 0x3c0848, 0x21f483, 0x25a6c6, 0x2fe8cd, 0x300408, 0x305d4b, 0x20e0c6, 0x385887, 0x22ab45, 0x2b904a, 0x22b685, 0x26818a, 0x26ca02, 0x205ec3, 0x249b04, 0x24acc3, 0xf5d87, 0x89207, 0x38286, 0x473ca, 0x9e208, 0x6bd08, 0x6c747, 0xc8b04, 0x177f46, 0xfaf05, 0x1a4045, 0xb8743, 0x1b506, 0x5f986, 0x265a04, 0x33e2c7, 0x1c3448, 0x2eef84, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0xb642, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x339688, 0x3496c4, 0x241004, 0x211d44, 0x2dab87, 0x2f1a07, 0x21a043, 0x24354b, 0x3b43ca, 0x3a9b07, 0x3f11c8, 0x21e908, 0x226783, 0x33ba07, 0x204703, 0x217b48, 0x225d89, 0x25c204, 0x20bc83, 0x297b48, 0x214e43, 0x2eeb8a, 0x2f4006, 0x3b52c7, 0x214883, 0x2fe146, 0x3e4088, 0x24acc3, 0x25e906, 0x30568d, 0x3070c8, 0x30be4b, 0x30f646, 0x20d847, 0x223305, 0x3e890a, 0x365905, 0x26ec0a, 0x22ccc2, 0x200f83, 0x260644, 0x200006, 0x3bf783, 0x2a1c03, 0x289e03, 0x209f83, 0x20c083, 0x203742, 0x38bd85, 0x2b9dc9, 0x202043, 0x24b303, 0x2030c3, 0x219243, 0x3c3043, 0x2b3c83, 0x2332c3, 0x23ac83, 0x3ec3c3, 0x201902, 0x3a52c5, 0x2bfbc9, 0x204d03, 0x24da43, 0x205d83, 0x20cb03, 0x200201, 0x31fa87, 0x219385, 0x3c5943, 0x269183, 0x3ef083, 0x2045c4, 0x383d43, 0x2120c8, 0x36e9c3, 0x31484d, 0x28cfc8, 0x3d7506, 0x2f77c3, 0x366443, 0x39afc3, 0xde29f43, 0x23dc08, 0x241284, 0x248c03, 0x24c883, 0x2ced07, 0x2f2345, 0x3ca803, 0x262603, 0x3f2583, 0x211d44, 0x33be83, 0x214188, 0x377ac3, 0x31c8cd, 0x2901c8, 0x2200c6, 0x304103, 0x38bc43, 0x3af583, 0xde1a043, 0x240908, 0x243544, 0x24a083, 0x24e8c3, 0x200106, 0x250bc8, 0x24dac3, 0x22f903, 0x2bfb03, 0x205483, 0x2b9083, 0x220203, 0x224d03, 0x233a43, 0x254583, 0x209343, 0x296a03, 0x328343, 0x20ea83, 0x20a6c3, 0x3ab305, 0x2601c4, 0x261307, 0x262642, 0x263d83, 0x268406, 0x269fc3, 0x26ad43, 0x28a803, 0x271dc3, 0x21f403, 0x20a643, 0x2a7a87, 0xeae9c43, 0x2421c3, 0x208103, 0x204203, 0x258103, 0x21a583, 0x226dc5, 0x382803, 0x38d2c9, 0x200c43, 0x3dfdc3, 0xee57443, 0x227883, 0x204603, 0x217388, 0x2b9d06, 0x271b86, 0x2c4f06, 0x26bf87, 0x22ea83, 0x2335c3, 0x219c03, 0x29a906, 0x226e42, 0x2ed403, 0x366005, 0x2127c3, 0x31b087, 0x160bc03, 0x219d03, 0x2058c3, 0x23eb03, 0x22d043, 0x21f483, 0x215c46, 0x200a86, 0x387c83, 0x22e683, 0x202783, 0x227d43, 0x315443, 0x309743, 0x30c883, 0x20ef45, 0x23ffc3, 0x23ffc6, 0x21ad03, 0x28c148, 0x22bcc3, 0x22bcc9, 0x2b8a88, 0x22d3c8, 0x310ac5, 0x235d8a, 0x23ed4a, 0x24430b, 0x244cc8, 0x31c843, 0x21e6c3, 0x30c8c3, 0x2f3883, 0x30e088, 0x32a203, 0x3c3744, 0x203142, 0x23c7c3, 0x253f03, 0x252c48, 0x242ec3, 0x220ac3, 0x2c5383, 0x224dc3, 0x3e8943, 0x21c0c3, 0x226783, 0x20ff83, 0x25aa43, 0x265883, 0x2307c3, 0x340403, 0x213703, 0x201d03, 0x3ac745, 0x2673c4, 0x268507, 0x2698c2, 0x26a803, 0x26ee86, 0x270683, 0x270a03, 0x28e3c3, 0x378803, 0x221943, 0x201c83, 0x2ad347, 0xea0f583, 0x240243, 0x20afc3, 0x211983, 0x231a43, 0x21cb03, 0x22b2c5, 0x388583, 0x24e349, 0x200c03, 0x31ac43, 0xee5b543, 0x22bd83, 0x203c83, 0x219608, 0x2bfb06, 0x3785c6, 0x2ca886, 0x271607, 0x2252c3, 0x2384c3, 0x214e43, 0x29e306, 0x20ffc2, 0x2f33c3, 0x344245, 0x214883, 0x32ad07, 0x1608c43, 0x2a1943, 0x241a83, 0x241503, 0x247043, 0x24acc3, 0x366386, 0x3bfdc6, 0x389a83, 0x3407c3, 0x205443, 0x21dcc3, 0x31d4c3, 0x310483, 0x314143, 0x212c85, 0x2423c3, 0x2423c6, 0x21bd03, 0x3c3688, 0x236883, 0x236889, 0x263988, 0x224888, 0x22e2c5, 0x23c04a, 0x23d60a, 0x24174b, 0x245088, 0x2ce083, 0x216ec3, 0x314183, 0x2edd03, 0x315888, 0x334d83, 0x3c8704, 0x205e02, 0x23fac3, 0x265603, 0x2007c3, 0x3a8143, 0x280183, 0x236f03, 0x26ca02, 0x2f5443, 0x2450c3, 0x317cc3, 0x319684, 0x249b04, 0x231a83, 0x7ffc8, 0xe315f8c, 0xe6e5745, 0xc1e05, 0x3af603, 0x283143, 0x23ae43, 0x22ccc2, 0x2233c3, 0x246143, 0x31fd43, 0x321d84, 0x260644, 0x2355c3, 0x1c3448, 0xe31e00c, 0xe6ea545, 0xdefc5, 0x2000c2, 0x200ac2, 0x203742, 0x201182, 0x200b02, 0x201902, 0x2029c2, 0x200202, 0x202542, 0x25a282, 0x203642, 0x205202, 0x244b02, 0x201b42, 0x200382, 0x200b42, 0x208f02, 0x20f782, 0x27eec2, 0x200a82, 0x229ac2, 0x20f102, 0x215502, 0x202782, 0x2bbd02, 0x206902, 0x203f02, 0x215142, 0x20d3c2, 0x282182, 0x207002, 0x20ea82, 0x2035c2, 0x216402, 0x205442, 0x24bf42, 0x209982, 0x200682, 0x214602, 0x201082, 0x2036c2, 0x2033c2, 0x207802, 0x200fc2, 0x217ac2, 0x201a42, 0x206382, 0x201042, 0x230802, 0x2019c2, 0xc2, 0xac2, 0x3742, 0x1182, 0xb02, 0x1902, 0x29c2, 0x202, 0x2542, 0x5a282, 0x3642, 0x5202, 0x44b02, 0x1b42, 0x382, 0xb42, 0x8f02, 0xf782, 0x7eec2, 0xa82, 0x29ac2, 0xf102, 0x15502, 0x2782, 0xbbd02, 0x6902, 0x3f02, 0x15142, 0xd3c2, 0x82182, 0x7002, 0xea82, 0x35c2, 0x16402, 0x5442, 0x4bf42, 0x9982, 0x682, 0x14602, 0x1082, 0x36c2, 0x33c2, 0x7802, 0xfc2, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x5ec2, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x9c589, 0x5842, 0x205842, 0x21f483, 0x10a29f43, 0x2e9c43, 0x219c03, 0xf19c7, 0x81983, 0x247f42, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x1e683, 0x2127c3, 0xbc03, 0x81983, 0x21f483, 0x4182, 0x17ac2, 0x1a42, 0x6382, 0x1042, 0x30802, 0x19c2, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0xf82, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0xa0789, 0xb642, 0x20b642, 0x24acc3, 0x10a1a043, 0x20f583, 0x1b1749, 0x214e43, 0xf5d07, 0x2445c2, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x16e83, 0x214883, 0x24acc3, 0x79c2, 0x2001c2, 0x1405405, 0x145d45, 0x212d02, 0x7ffc8, 0x5842, 0x240482, 0x203782, 0x20a382, 0x23b542, 0x216602, 0xcab05, 0x20ad82, 0x200f82, 0x214542, 0x203fc2, 0x20f102, 0x248dc2, 0x212882, 0x223ac2, 0x11a7c7c4, 0x1427d45, 0x14f985, 0x213c82, 0x1c3448, 0xb642, 0x242882, 0x206442, 0x10210c, 0x20da42, 0x231a82, 0x218882, 0x1a4045, 0x200dc2, 0x201802, 0x217a02, 0x208e02, 0x2035c2, 0x24a242, 0x214942, 0x2b60c2, 0x11a7f604, 0x142, 0xf1a47, 0x13683, 0x1b670d, 0xf5949, 0x1a5fcb, 0xf8f08, 0x6b349, 0x1133c6, 0x2e9c43, 0x7ffc8, 0x9c4, 0x14c3, 0x172f85, 0x7ffc8, 0xf2447, 0x12c5a847, 0x13263284, 0x66806, 0x172fc9, 0xb714e, 0x13e007, 0x15b2a43, 0x13602c02, 0x1edc89, 0x1f04, 0xf5d87, 0x15943, 0x1db18d, 0xfaf89, 0xf140b, 0xfdd48, 0x73ec9, 0x11b446, 0x20f583, 0x1c3448, 0x1bfd04, 0x2d03, 0x1bee85, 0x1c3448, 0x1ec6c7, 0x12c5ea87, 0x13269384, 0x6d446, 0x1beec9, 0xbea8e, 0x10210c, 0x146087, 0x15bc683, 0x13602142, 0x149f49, 0x1ed5c4, 0x2000c2, 0x29f804, 0x205842, 0x229f43, 0x201902, 0x224d03, 0x26403, 0x265a04, 0x20b642, 0x21a043, 0x203142, 0x226783, 0x26dc3, 0x200382, 0x2ef2c4, 0x25e043, 0x254902, 0x2127c3, 0x16602, 0x2eef84, 0x20bc83, 0x2593c2, 0x214883, 0x18882, 0x2003c2, 0x21f483, 0x216e06, 0x33418f, 0x725ec3, 0x2fc58a, 0x7ffc8, 0x205842, 0x28c6c3, 0x2e9c43, 0x219c03, 0xbc03, 0x14bb6147, 0x1582a46, 0x1d1ec6, 0x14fc8bc8, 0x1e6644, 0x152c518a, 0x15c34147, 0xd6d88, 0xb7148, 0x15e930b, 0x147ccca, 0x1606ac83, 0xfb6c9, 0x165045c8, 0x16a54187, 0x14b8e4a, 0x1500f47, 0xb378b, 0x16e81f4c, 0xaa845, 0xfc185, 0x11adc9, 0x1bddc4, 0x1153c3, 0x156c52c5, 0x124283, 0x15a32783, 0x124283, 0x13682, 0x1c82, 0x9e42, 0x9e42, 0x3702, 0x9e42, 0x1b02, 0x2102, 0xd02, 0x145d45, 0xf1a47, 0x1e6644, 0x102504, 0x205842, 0x229f43, 0x2e9c43, 0x2127c3, 0x24acc3, 0x219086, 0x33d48f, 0x733483, 0x1c3448, 0x20b642, 0x204703, 0x20f583, 0x214e43, 0x14bdabc7, 0x14a7606, 0x1f3d06, 0xf2389, 0x14fcd6c8, 0x1e6304, 0x152cab0a, 0x163988, 0x15c16a87, 0xd9f88, 0xbea88, 0x15e86cb, 0x147fb0a, 0x16070943, 0x103189, 0x1650b188, 0x16b8e487, 0x1463d4a, 0x1507c07, 0xba74b, 0x16e8a2cc, 0x16bf05, 0xdc4c5, 0x123409, 0x1dbf44, 0x11d443, 0x156cac45, 0x12ee43, 0x15a35ac3, 0x12ee43, 0x15942, 0x21c2, 0xba42, 0xba42, 0x3d82, 0xba42, 0x3342, 0x45c2, 0x101c2, 0x14f985, 0xf5d87, 0x1e6304, 0x109484, 0x20b642, 0x21a043, 0x20f583, 0x214883, 0x2000c2, 0x204cc2, 0x206f02, 0x17e29f43, 0x248d82, 0x224d03, 0x200c02, 0x2a5c02, 0x2e9c43, 0x21e682, 0x271102, 0x232242, 0x2086c2, 0x2a1342, 0x209582, 0x20aa82, 0x17e1a043, 0x24a202, 0x226783, 0x200bc2, 0x203942, 0x20f583, 0x216e82, 0x261042, 0x22fcc2, 0x20ad02, 0x2a4fc2, 0x200802, 0x202142, 0x204d02, 0x227e02, 0x20a442, 0x13038c, 0x2c7dc2, 0x2803c2, 0x226282, 0x240e42, 0x219c03, 0x20dec2, 0x2127c3, 0x20e942, 0x2a28c2, 0x21f483, 0x24b382, 0x2036c2, 0x21ee82, 0x204082, 0x20c582, 0x2136c2, 0x215642, 0x231342, 0x226d82, 0x3254ca, 0x36d08a, 0x3a8fca, 0x3f0382, 0x2102c2, 0x227482, 0x18239b09, 0x187bf80a, 0x1542547, 0x18a05f02, 0x142cb83, 0x10c2, 0x1bf80a, 0x15fe8e, 0x259b44, 0x100585, 0x19229f43, 0x498c3, 0x224d03, 0x25b9c4, 0x2e9c43, 0x258104, 0x25e043, 0x13de09, 0x136086, 0x219c03, 0xf9704, 0xd83, 0x2127c3, 0x8e345, 0x20bc03, 0x21f483, 0x1528a44, 0x23ffc3, 0x1954bc04, 0x205ec3, 0x7ffc8, 0x3842, 0x154d603, 0x125e06, 0x1471484, 0x1fc5, 0x1bdbca, 0x86a42, 0x1a002acd, 0x1b9946, 0x187591, 0x1a639b09, 0x15500a, 0x2048, 0x1b5508, 0x6e90e, 0x182d13, 0x21121487, 0xec2, 0x39c94, 0x46f07, 0x2d74e, 0x145d4b, 0x1482cb, 0x1c304a, 0x110947, 0x7ffc8, 0xa1d08, 0xf647, 0x2141f6cb, 0x21646, 0x24bc7, 0x37c2, 0x3124d, 0x142e85, 0x18ee07, 0x10a6ca, 0x12820c, 0x1283cf, 0x570f, 0xb90c2, 0x5842, 0x96948, 0x218f754c, 0x1aee0a, 0xf1f4a, 0x8240a, 0x8cdc8, 0x15948, 0x6da88, 0xf2408, 0xc348, 0xd02, 0x548f, 0x152038d, 0x181acb, 0xd1e88, 0x40787, 0x5494a, 0x3bc0b, 0xa54c9, 0x54847, 0x159286, 0x15848, 0x3ef0c, 0x1cd787, 0x2f5ca, 0x1db408, 0x332ce, 0x3464e, 0x11078b, 0x5594b, 0x15024b, 0x10a249, 0x11870b, 0x12618d, 0x15be4b, 0x3accd, 0x3b04d, 0x41b4a, 0x4994b, 0x4a10b, 0x50ec5, 0x21dc8c10, 0x32c4f, 0x7c98f, 0x147a8d, 0x85f10, 0x6cc2, 0x222fc8c8, 0x1cd608, 0x9ed50, 0x1217ce, 0x2276e985, 0x5a44b, 0x13cf10, 0xa650b, 0x1b858c, 0x15a4a, 0x55b09, 0x6f248, 0x762c7, 0x76607, 0x767c7, 0x77707, 0x78487, 0x78947, 0x79607, 0x79b07, 0x7a007, 0x7a387, 0x7aa47, 0x7ac07, 0x7adc7, 0x7af87, 0x7b307, 0x7b847, 0x7d147, 0x204142, 0x201742, 0x21dd82, 0x209bc2, 0x4484c, 0x2cd142, 0x283382, 0x22b242, 0x202582, 0x214e43, 0x201942, 0x214883, 0x20b482, 0x24fdc2, 0x24acc3, 0x24dac2, 0x206382, 0x2213c2, 0x200e02, 0x22c602, 0x215982, 0x209b02, 0x25c442, 0x22b282, 0x33060a, 0x375dca, 0x3a8f8a, 0x3f43c2, 0x2039c2, 0x22b982, 0x182fe909, 0x187d6f0a, 0x154be47, 0x18a00fc2, 0x1446b83, 0x2902, 0x1d6f0a, 0x16e3ce, 0x2346c4, 0x107245, 0x1921a043, 0x4b8c3, 0x226783, 0x2607c4, 0x20f583, 0x25c204, 0x20bc83, 0x145e89, 0x51fc6, 0x214e43, 0x100d44, 0x1443, 0x214883, 0x9bf05, 0x208c43, 0x24acc3, 0x1440704, 0x2423c3, 0x195547c4, 0xd2a48, 0x200f83, 0x1c3448, 0x6502, 0x1527143, 0x1333c6, 0x1577ec4, 0x4c85, 0x1dbd4a, 0x138682, 0x1a00578d, 0x1bdcc6, 0x152051, 0x1a6fe909, 0x15d4ca, 0x4d08, 0x167d48, 0x152e8e, 0x89e53, 0x210a78c7, 0x1d42, 0x148210, 0x152c8c, 0xfea94, 0x1b87c7, 0x24c0e, 0x14f98b, 0x1519cb, 0x1c740a, 0x133907, 0x1c3448, 0xb3d88, 0xf747, 0x21422bcb, 0x23e46, 0x26647, 0x3ac2, 0xef7cd, 0x13e705, 0x1d647, 0x133c4a, 0x1402cc, 0x14048f, 0xae74f, 0x16e3c2, 0xb642, 0x9a148, 0x21903e8c, 0x1b204a, 0x21f656ca, 0xf638a, 0x86cca, 0x8ffc8, 0x2d785, 0x728c8, 0xf6848, 0x1ec688, 0x153648, 0x101c2, 0xae4cf, 0x1427dcd, 0x6d8b, 0xd5448, 0x42b87, 0x5940a, 0x3e7cb, 0xa9cc9, 0x59307, 0xf8506, 0x2d688, 0x3d7cc, 0x1e9987, 0x244ca, 0xa3c8, 0x11780e, 0x12078e, 0x13374b, 0x16600b, 0x3828b, 0x3d309, 0x4318b, 0x4864d, 0x4b94b, 0x4ca4d, 0x4cdcd, 0x5a30a, 0x6048b, 0x56a0b, 0x5a045, 0x221cd710, 0x80392, 0x33011, 0x176752, 0x35f8f, 0x7f7cf, 0x15118d, 0x85250, 0xa842, 0x22620948, 0x1e9808, 0x64f50, 0x12c88e, 0x22b77a85, 0x5e68b, 0x144f90, 0xaaecb, 0x1bc3cc, 0x729ca, 0x1661c9, 0x735c8, 0x78887, 0x78bc7, 0x78d87, 0x79cc7, 0x7b747, 0x7bc07, 0x7c307, 0x7c747, 0x7d207, 0x7d587, 0x7e007, 0x7e2c7, 0x7e487, 0x7e787, 0x7ed87, 0x7ef87, 0x7f907, 0x7fac7, 0x7fc87, 0x80247, 0x80887, 0x81247, 0x7da47, 0x7dc07, 0x7ddc7, 0x7df87, 0x7e307, 0x7e687, 0x7ff87, 0x80807, 0x812c7, 0x81587, 0x81747, 0x81a47, 0x82047, 0x82247, 0x82687, 0x82e87, 0x83047, 0x83687, 0x83a07, 0x83ec7, 0x842c7, 0x84607, 0x847c7, 0x85187, 0x86c47, 0x87407, 0x879c7, 0x87b87, 0x88007, 0x89347, 0xd9c2, 0x6db8a, 0x18848, 0x1c014c, 0x1d5287, 0x9ae85, 0x17ac91, 0x1f0006, 0x12c00a, 0x967ca, 0x66806, 0xbcf4b, 0x82bc7, 0x82d87, 0x82f47, 0x83207, 0x83847, 0x83fc7, 0x86b07, 0x86f47, 0x87747, 0x87907, 0x87f47, 0x882c7, 0x88c87, 0x89087, 0x893c7, 0x89587, 0x899c7, 0x8a5c7, 0x8b707, 0x8bcc7, 0x8be87, 0x8c307, 0x8cc47, 0xef42, 0xf694a, 0x1b308, 0x1c41cc, 0x124c87, 0x58f85, 0x61591, 0x7286, 0x137bca, 0x99fca, 0x6d446, 0x3f78b, 0x642, 0x389d1, 0xcb289, 0xa6a09, 0xa7546, 0x4d02, 0x6b04a, 0xb92c9, 0xb9a0f, 0xba00e, 0xbb988, 0x22a6eb12, 0x15388, 0x22e6f447, 0xbee0f, 0x1d7c2, 0x719c9, 0x8654a, 0x23217d09, 0x18c389, 0x18c38c, 0x2994b, 0x1b438e, 0x448c, 0xfb3cf, 0x1c494e, 0x3f30c, 0x56a09, 0x15f291, 0x61ac8, 0x6a152, 0x81c4d, 0x83b8d, 0x88b0b, 0x89a95, 0x90249, 0x9158a, 0x95bc9, 0x190f90, 0x1b56cb, 0xa0dcf, 0xab04b, 0xb194c, 0xc1390, 0xdb90a, 0x1a158d, 0x1a3f8e, 0x19e84a, 0xc324c, 0x1a2614, 0xcaf11, 0xce00b, 0xd03cf, 0xd2fcd, 0xd608e, 0xd9d0c, 0xda74c, 0xdb60b, 0xdc60e, 0xdd9d0, 0x141b0b, 0x1a110d, 0x1ae1cf, 0xf2ecc, 0x108c0e, 0x10fd91, 0x1a3a8c, 0x144347, 0x162a4d, 0x16d2cc, 0x17a610, 0x17bd0d, 0x19b5c7, 0x1a4990, 0x1afe08, 0xc284b, 0xc480f, 0x1c03c8, 0x6e30d, 0x112610, 0x17d2c9, 0x237c8bc8, 0x23ac8c86, 0xc9983, 0x61ec9, 0x25889, 0xd0e85, 0x8042, 0x14a749, 0x6738a, 0x23e6a606, 0x146a60d, 0x242ff684, 0x1e4c46, 0x25dca, 0x2c60d, 0x246e034b, 0x98e08, 0x2489f389, 0x2f443, 0x119aca, 0xebb49, 0xf1091, 0xf14c9, 0xf1ec7, 0xf2c08, 0xf3347, 0x6f348, 0x558b, 0x130049, 0xfa0d0, 0xfa58c, 0xfaa09, 0x24efadcd, 0xfc408, 0xfd045, 0x146f08, 0x1a370a, 0x1325c7, 0x1242, 0x25276f95, 0x13dc0a, 0x142cc9, 0x25a48, 0x1a7ec9, 0x1d2a45, 0x11af0a, 0x173947, 0x9c30f, 0xaa8cb, 0x16154c, 0xef892, 0x3e046, 0x1409588, 0x7b645, 0x115608, 0x1e4d8b, 0x1e5151, 0x17587, 0x6798a, 0x25704485, 0x1b5ccc, 0x2590afce, 0x13a283, 0x19de06, 0x48dc2, 0x10d2cb, 0x10de4a, 0x150f14c, 0x98d08, 0x3ae88, 0x25e25ac6, 0x152f8e, 0x132207, 0x9942, 0x1782, 0x18fb50, 0x6ca87, 0x6cb8f, 0x18a46, 0x5c88e, 0xa494b, 0x566c8, 0xa5889, 0x1e1e52, 0x115c4d, 0x1167c8, 0x1a5e89, 0x1ec14d, 0x6cf09, 0x6d6cb, 0x6fe48, 0x79e08, 0x7b488, 0x7e909, 0x7eb0a, 0x7f28c, 0xcf34a, 0xe808a, 0x115487, 0xae6ca, 0xf8ac8, 0x780d, 0xb7bd1, 0x262d6386, 0x16588b, 0x3754c, 0x45188, 0x1d9a49, 0x15d48d, 0x77950, 0x1476cc, 0x14b94d, 0x9e42, 0x8a4cd, 0x1b02, 0x55202, 0x1153ca, 0x267cbc4a, 0x2b10a, 0x26a87cc8, 0x12bf0a, 0x11bc8b, 0x11c9c7, 0x1b134c, 0x348cc, 0x11e90a, 0x26d1eb8f, 0x11ef4c, 0x11f247, 0x1208ce, 0x271f0245, 0x184588, 0x4182, 0x1405483, 0x1ab751ce, 0x1b20118e, 0x1ba0c98a, 0x1c332dce, 0x1ca060ce, 0x1d340c8c, 0x1542547, 0x15550c9, 0x142cb83, 0x1db6890c, 0x1e206cc9, 0x1ebb7249, 0x1f3bd9c9, 0x10c2, 0x175111, 0x10d1, 0xc8cd, 0x132d11, 0x1361d1, 0x140bcf, 0x16884f, 0x1a9c0c, 0x1b718c, 0x1bd90c, 0xe72cd, 0xf8455, 0x12b64c, 0x142f8c, 0x198c90, 0x1c170c, 0x1c3bcc, 0x1c6019, 0x1db5d9, 0x5e19, 0x6a14, 0xf7d4, 0x10954, 0x10ed4, 0x17714, 0x1fa0fa89, 0x20010c09, 0x20b43049, 0x1ae61cc9, 0x10c2, 0x1b661cc9, 0x10c2, 0x5e0a, 0x10c2, 0x1be61cc9, 0x10c2, 0x5e0a, 0x10c2, 0x1c661cc9, 0x10c2, 0x1ce61cc9, 0x10c2, 0x1d661cc9, 0x10c2, 0x5e0a, 0x10c2, 0x1de61cc9, 0x10c2, 0x5e0a, 0x10c2, 0x1e661cc9, 0x10c2, 0x1ee61cc9, 0x10c2, 0x5e0a, 0x10c2, 0x1f661cc9, 0x10c2, 0x5e0a, 0x10c2, 0x1fe61cc9, 0x10c2, 0x20661cc9, 0x10c2, 0x20e61cc9, 0x10c2, 0x5e0a, 0x10c2, 0x3c691, 0x131809, 0xab8c9, 0xace06, 0x1742, 0x70d0a, 0xbf0c9, 0xbf80f, 0xbfe0e, 0xc1bc8, 0x22f53092, 0x18208, 0x232737c7, 0xc468f, 0x7142, 0x178409, 0x10044a, 0x2361a389, 0xdaec9, 0xdaecc, 0x19a4b, 0x5824e, 0x11c0c, 0x102e8f, 0x1c980e, 0x50fcc, 0x64d49, 0x71a11, 0x88448, 0x92f12, 0x94d8d, 0x993cd, 0x9ee4b, 0x167f15, 0x191549, 0x1b6d0a, 0x1df109, 0xa27d0, 0xa914b, 0xb1c8f, 0xb928b, 0xc710c, 0xc77d0, 0xdfdca, 0xf884d, 0x12b38e, 0x19f6ca, 0xc8bcc, 0xcf7d4, 0x131491, 0x1c470b, 0xd82cf, 0xd930d, 0xda3ce, 0xddf0c, 0xde64c, 0xdfacb, 0xe1c0e, 0xe4490, 0xe534b, 0xf740d, 0x10fd8f, 0x10eacc, 0x11704e, 0x185451, 0x12ae8c, 0x169d07, 0x16bb8d, 0x17600c, 0x180f50, 0x19b74d, 0x19c3c7, 0x1a5c90, 0x1b3048, 0xc814b, 0xca18f, 0x1c4448, 0x57b8d, 0x119c50, 0x182fc9, 0x23bcd6c8, 0x23ece206, 0xcf503, 0x1ade89, 0xade49, 0xd4345, 0xaf02, 0x59889, 0x6de0a, 0x242933c6, 0x14933cd, 0x24706444, 0x1e4986, 0x28b4a, 0x2af0d, 0x24ae5b8b, 0x1e9e08, 0x24c65589, 0x24343, 0x17c7ca, 0xf53d1, 0xf5809, 0xf6307, 0xf7148, 0xf8b87, 0x736c8, 0xae5cb, 0x13b509, 0x101590, 0x101a4c, 0x101ec9, 0x10210c, 0x2530250d, 0x1037c8, 0x103cc5, 0x1d0fc8, 0x1a4f4a, 0x1b8ec7, 0x25c2, 0x25679555, 0x145c8a, 0x13e549, 0x1ef4c8, 0xae009, 0x9605, 0x12ab8a, 0x1a07, 0xa050f, 0x16bf8b, 0x1ec90c, 0x30712, 0xc0906, 0x1580588, 0x8e5c5, 0x11d688, 0x1e4acb, 0xe6ad1, 0x179d47, 0x6e40a, 0x18784c, 0x25b0b045, 0x1b72cc, 0x25d129ce, 0x142743, 0x19ec86, 0x4a242, 0x11468b, 0x11564a, 0x151640c, 0x1e9d08, 0x4cc08, 0x263ef546, 0x17ef87, 0x23f8e, 0x1534c7, 0x3b02, 0x2fc2, 0x188850, 0x77e47, 0x77f4f, 0x1b506, 0xa8b4e, 0xb424b, 0x5e0c8, 0xaa089, 0x150652, 0x11dccd, 0x11e848, 0xf12c9, 0x1a718d, 0xe889, 0x782cb, 0x7ae88, 0x7e488, 0x80f88, 0x81bc9, 0x81dca, 0x8254c, 0x2398a, 0xe094a, 0x11d507, 0x43a8a, 0xf90c8, 0x1d3e0d, 0x62ad1, 0x266da6c6, 0x16d20b, 0x3b48c, 0xff48, 0x1dc8c9, 0x16548d, 0x79f10, 0x150dcc, 0x15450d, 0x10384f, 0xba42, 0x1df30d, 0x3342, 0x96c2, 0x11d44a, 0x26bd0d0a, 0x32e4a, 0x26e8bfc8, 0x137aca, 0x12460b, 0x126c47, 0x1b41cc, 0x120a0c, 0x12940a, 0x2712968f, 0x129a4c, 0x129d47, 0x12b70e, 0x275f4285, 0x1eab88, 0x79c2, 0x1424dc3, 0x1aa0494e, 0x1b2029ce, 0x1bb2658a, 0x1c33718e, 0x1ca082ce, 0x1d353c8c, 0x154be47, 0x155d589, 0x1446b83, 0x1db5ce8c, 0x1e20a849, 0x1ebd7e09, 0x1f3dbb49, 0x2902, 0x4891, 0x2911, 0x1264cd, 0x1370d1, 0x1d4fd1, 0x153bcf, 0x15cdcf, 0x1cc20c, 0x1d7d4c, 0x1dba8c, 0xec7cd, 0xfd515, 0x13c14c, 0x13e80c, 0x179ed0, 0x1c5acc, 0x1c8a8c, 0x1d17d9, 0x1d9759, 0x8019, 0xa594, 0xf8d4, 0x107d4, 0x10d54, 0x1a994, 0x1fa0fb89, 0x20010a89, 0x20b3e8c9, 0x1ae88649, 0x2902, 0x1b688649, 0x2902, 0x800a, 0x2902, 0x1be88649, 0x2902, 0x800a, 0x2902, 0x1c688649, 0x2902, 0x1ce88649, 0x2902, 0x1d688649, 0x2902, 0x800a, 0x2902, 0x1de88649, 0x2902, 0x800a, 0x2902, 0x1e688649, 0x2902, 0x1ee88649, 0x2902, 0x800a, 0x2902, 0x1f688649, 0x2902, 0x800a, 0x2902, 0x1fe88649, 0x2902, 0x20688649, 0x2902, 0x20e88649, 0x2902, 0x800a, 0x2902, 0x1400401, 0x187585, 0x1c3044, 0x145b883, 0x15cf803, 0x158f143, 0x1751ce, 0x118e, 0x8face, 0xc98a, 0x132dce, 0x60ce, 0x140c8c, 0x16890c, 0x6cc9, 0x1b7249, 0x1bd9c9, 0xfa89, 0x10c09, 0x143049, 0xf864d, 0x11189, 0x179c9, 0x147384, 0x170a04, 0x1ec684, 0x1f0144, 0xb3a44, 0x154bc4, 0x1ba644, 0x55e04, 0x18944, 0x212c4, 0x16f4c9, 0x16f4cc, 0x14fa46, 0x14fa4e, 0x81d84, 0x1596343, 0x1c3a47, 0x1490c0c, 0x2043, 0x212c4, 0x6cc2, 0x4f087, 0xf7548, 0xa2108, 0xdcbc4, 0x1a9806, 0x1351c7, 0xe3504, 0x114046, 0x1f182, 0x1541, 0x22104, 0x6e786, 0x1a883, 0x6cc2, 0x2043, 0xdc843, 0xef683, 0x12683, 0x10a1c3, 0xef885, 0x803c2, 0x7102, 0x7108, 0xf4c87, 0x1300c7, 0xd02, 0x152045, 0x1c7404, 0x1412f43, 0x15f2603, 0x141d983, 0x94ec4, 0x13b848, 0x494e, 0x29ce, 0x9280e, 0x12658a, 0x13718e, 0x82ce, 0x153c8c, 0x15ce8c, 0xa849, 0x1d7e09, 0x1dbb49, 0xfb89, 0x10a89, 0x13e8c9, 0xfd70d, 0x11009, 0x1ac49, 0x150a84, 0x1720c4, 0x199884, 0x1cacc4, 0xbaa04, 0x1b9944, 0x1e6a84, 0x69004, 0x1b404, 0x642c4, 0x334c9, 0x334cc, 0x159186, 0x15918e, 0x94ec4, 0x159bf43, 0x7e87, 0x149440c, 0x4d03, 0x642c4, 0xa842, 0x51887, 0x103e88, 0x191dc8, 0x4fd44, 0x1cb8c6, 0x54d47, 0xe8b44, 0x11c0c6, 0x216c2, 0x2d81, 0x1d3a44, 0x89cc6, 0x22603, 0xa842, 0x4d03, 0xe0143, 0x30503, 0x14743, 0x117783, 0x30705, 0x83382, 0x151682, 0x1bf708, 0xfa807, 0x15743, 0x13b587, 0x101c2, 0xf2389, 0x2000c2, 0x205842, 0x201902, 0x218b02, 0x20b642, 0x203142, 0x21b5c2, 0x200382, 0x2003c2, 0x201782, 0x229f43, 0x224d03, 0x2e9c43, 0x258103, 0x2127c3, 0x21f483, 0x7ffc8, 0x229f43, 0x224d03, 0x2127c3, 0x21f483, 0x12c03, 0x2e9c43, 0x58104, 0x202fc2, 0x21a043, 0x226783, 0x20f583, 0x231a43, 0x214883, 0x24acc3, 0x1c3448, 0x21a043, 0x226783, 0x214883, 0x24acc3, 0x13b83, 0x20f583, 0x5c204, 0x2000c2, 0x258843, 0x29629f43, 0x3ab707, 0x2e9c43, 0x2280c3, 0x222d84, 0x2127c3, 0x21f483, 0x22600a, 0x216e05, 0x202783, 0x208ec2, 0x7ffc8, 0x29ae574a, 0xc41, 0x7ffc8, 0x5842, 0x137d42, 0x2a29f10b, 0x2a635204, 0xff5c5, 0x1402cc5, 0xf7546, 0x2aa02cc5, 0x635c3, 0x9ec43, 0x9c4, 0x14c3, 0x172f85, 0x145d45, 0x7ffc8, 0x24bc7, 0x29f43, 0x3514d, 0x2b246907, 0xac86, 0x2b40c7c5, 0x148792, 0xad47, 0x1624a, 0x14e88, 0x16147, 0x1d5b4a, 0x1bad08, 0x6d487, 0x156acf, 0x4dd87, 0x539c6, 0x13cf10, 0xc9c8f, 0x1ac09, 0x1e4cc4, 0x2b80ae0e, 0x4f3c9, 0x7b0c6, 0x111ac9, 0x19ab46, 0x1d71c6, 0xbe24c, 0x3be0a, 0xa5647, 0x1e224a, 0xb209, 0xfe38c, 0x2724a, 0x6b68a, 0x172fc9, 0x1e4c46, 0xa570a, 0x116d4a, 0xaf4ca, 0x157189, 0xeee88, 0xef106, 0xf644d, 0x5fe0b, 0xd1445, 0x2bf889cc, 0x13e007, 0x1c8049, 0xdab07, 0xb2c54, 0x112a0b, 0xd1cca, 0x1e1cca, 0xb578d, 0x151be89, 0x115a0c, 0x1165cb, 0x163217, 0x163d55, 0x2f5c3, 0x2f5c3, 0x332c6, 0x2f5c3, 0xf7548, 0x156983, 0x51384, 0x1c244, 0x1c24c, 0x63883, 0x14af587, 0xa5845, 0x142b343, 0x142b348, 0x60209, 0xef885, 0x1e4d8b, 0xce2cb, 0x14f3143, 0x14f3148, 0x149c86, 0x1441d07, 0x191207, 0x2cd82bc9, 0x12686, 0x58843, 0x7ffc8, 0x5842, 0x5b9c4, 0x97783, 0x12e885, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x2030c3, 0x229f43, 0x224d03, 0x28c6c3, 0x2e9c43, 0x219c03, 0x2127c3, 0x21f483, 0x39ac43, 0x205ec3, 0x2030c3, 0x29f804, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x2043c3, 0x208d43, 0x208ec2, 0x2e582cc5, 0x14325c3, 0x229f43, 0x224d03, 0x226403, 0x28c6c3, 0x2e9c43, 0x258104, 0x3ce883, 0x2335c3, 0x219c03, 0x2127c3, 0x81983, 0x21f483, 0x202783, 0x2f2265c3, 0xef789, 0x5842, 0x2f0243, 0x2fe29f43, 0x224d03, 0x255f03, 0x2e9c43, 0x22d643, 0x2335c3, 0x21f483, 0x203303, 0x3d2bc4, 0x7ffc8, 0x30629f43, 0x224d03, 0x2bba43, 0x2e9c43, 0x219c03, 0x222d84, 0x2127c3, 0x21f483, 0x265503, 0x7ffc8, 0x30e29f43, 0x224d03, 0x28c6c3, 0x20bc03, 0x21f483, 0x7ffc8, 0x1542547, 0x258843, 0x229f43, 0x224d03, 0x2e9c43, 0x258104, 0x222d84, 0x2127c3, 0x21f483, 0x145d45, 0xf1a47, 0xb2e8b, 0x31e3eb46, 0xf18c4, 0xd1445, 0x1475dc8, 0x3204d, 0x1c8bc8, 0x3275e205, 0x2c684, 0x5842, 0xb8c3, 0x14f945, 0x47f42, 0x340a45, 0x7ffc8, 0x33f0ac4d, 0x3420244a, 0xc142, 0x5083, 0x16934f, 0x18b02, 0x81d84, 0x212c4, 0x5842, 0x20bec3, 0x29a1a043, 0x3acb47, 0x20f583, 0x222043, 0x225a04, 0x214883, 0x24acc3, 0x228d8a, 0x219085, 0x205443, 0x249902, 0x1c3448, 0x29eea54a, 0xc01, 0x1c3448, 0xb642, 0x140242, 0x2a66530b, 0x2aa1c1c4, 0x106385, 0x1405985, 0x103e86, 0x2ae05985, 0x6a043, 0xa7343, 0x1bfd04, 0x2d03, 0x1bee85, 0x14f985, 0x1c3448, 0x26647, 0x1a043, 0x38d4d, 0x2b647207, 0xcc6, 0x2b953ac5, 0x1b7892, 0xd87, 0x2f38a, 0x2cf48, 0x2f287, 0x170aca, 0x1becc8, 0x7ac47, 0x15ef8f, 0x574c7, 0x68e06, 0x144f90, 0x148e0c6, 0x5058f, 0x1bc09, 0x1e4a04, 0x2bc00e4e, 0x51bc9, 0x7e0c6, 0xeb09, 0x119186, 0x9dc6, 0xc3acc, 0x3e9ca, 0xa9e47, 0x115f4a, 0x1249, 0x10514c, 0x2b74a, 0x5b00a, 0x1beec9, 0x1e4986, 0xa9f0a, 0x11edca, 0xb6b4a, 0x16f909, 0xf4dc8, 0xf5046, 0xfb54d, 0x10210c, 0x6700b, 0xd4905, 0x2c38a7cc, 0x146087, 0x1e3989, 0xdea07, 0xbe494, 0x11a04b, 0xd528a, 0x1504ca, 0xbc64d, 0x1524809, 0x11da8c, 0x11e64b, 0x16a157, 0x16ac95, 0x3983, 0x3983, 0x38286, 0x3983, 0x103e88, 0x15ee43, 0x53544, 0x1f184, 0x1f18c, 0x6a303, 0x14b6c07, 0xf79cd, 0xaa045, 0x151e183, 0x1536ac8, 0x67409, 0x1b1749, 0x30705, 0x1e4acb, 0x1c49cb, 0x150ed43, 0x150ed48, 0x152986, 0x145a4c7, 0xa2a47, 0x2d0a7789, 0x14746, 0xbec3, 0x1c3448, 0xb642, 0x607c4, 0x10210c, 0x31d03, 0x13a505, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x205d83, 0x21a043, 0x226783, 0x204703, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x319283, 0x200f83, 0x205d83, 0x265a04, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x211b43, 0x212f03, 0x249902, 0x2e8a7885, 0x1437143, 0x21a043, 0x226783, 0x226dc3, 0x204703, 0x20f583, 0x25c204, 0x20de83, 0x2384c3, 0x214e43, 0x214883, 0x24acc3, 0x205443, 0x2f629e03, 0x30609, 0xb642, 0x3f3903, 0x3021a043, 0x226783, 0x259f43, 0x20f583, 0x224b03, 0x2384c3, 0x24acc3, 0x205fc3, 0x3c80c4, 0x1c3448, 0x30a1a043, 0x226783, 0x2c1c83, 0x20f583, 0x214e43, 0x225a04, 0x214883, 0x24acc3, 0x227603, 0x1c3448, 0x3121a043, 0x226783, 0x204703, 0x10210c, 0x208c43, 0x24acc3, 0x1c3448, 0x154be47, 0x20bec3, 0x21a043, 0x226783, 0x20f583, 0x25c204, 0x225a04, 0x214883, 0x24acc3, 0x14f985, 0xf5d87, 0xbe6cb, 0x32241546, 0xf5c04, 0xd4905, 0x1470708, 0x2facd, 0x1cd6c8, 0x32a407c5, 0x2af84, 0xb642, 0x18b43, 0x159085, 0x445c2, 0x35cc45, 0x1c3448, 0x343341cd, 0x3460510a, 0x3982, 0x20883, 0x10210c, 0x17290f, 0x1b5c2, 0x94ec4, 0x642c4, 0xb642, 0x2000c2, 0x258843, 0x229f43, 0x2e9c43, 0x258104, 0x219c03, 0x222d84, 0x2127c3, 0x21f483, 0x202783, 0x229f43, 0x224d03, 0x2127c3, 0x21f483, 0xef45, 0x32e1c8, 0x29f804, 0x371f86, 0x3a9ac6, 0x7ffc8, 0x3184c3, 0x236c09, 0x21b795, 0x1b79f, 0x229f43, 0x8bf47, 0x398852, 0x18ce86, 0x18fa45, 0x15a4a, 0x55b09, 0x39860f, 0x2ef2c4, 0x231b05, 0x3dfb90, 0x285787, 0x20bc03, 0x219d08, 0x21146, 0x28aa0a, 0x257fc4, 0x3041c3, 0x208ec2, 0x2ff38b, 0x224d03, 0x2e9c43, 0xbc03, 0x18a044, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0xbc03, 0x21f483, 0x309a43, 0x205842, 0x38fc3, 0x1e3084, 0x2127c3, 0x21f483, 0x36426b85, 0x1d9806, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x2280c3, 0x2307c3, 0x21f483, 0x58843, 0x205842, 0x229f43, 0x224d03, 0x2127c3, 0xbc03, 0x21f483, 0x1a802, 0x20bec3, 0x21a043, 0x20f583, 0x25c204, 0x214e43, 0x225a04, 0x214883, 0x24acc3, 0x205443, 0x21a043, 0x226783, 0x214883, 0x24acc3, 0x12c85, 0x339e48, 0x265a04, 0x3d4506, 0x3d7c06, 0x1c3448, 0x320543, 0x23ab49, 0x318455, 0x11845f, 0x21a043, 0x9ebc7, 0x221b92, 0x18dc86, 0x190485, 0x729ca, 0x1661c9, 0x22194f, 0xf5207, 0x2eef84, 0x225105, 0x31aa10, 0x284ac7, 0x10210c, 0x208c43, 0x2a1948, 0x64146, 0x2937ca, 0x2311c4, 0x30ad83, 0x249902, 0x30614b, 0x1c3203, 0x226783, 0x20f583, 0x197184, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x310783, 0x20b642, 0x3cc83, 0x100b04, 0x214883, 0x24acc3, 0x36846ac5, 0x1dc686, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x222043, 0x222383, 0x24acc3, 0xbec3, 0x20b642, 0x21a043, 0x226783, 0x214883, 0x24acc3, 0x26c02, 0x2000c2, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x2cc5, 0x63649, 0x2043, 0x29f804, 0x229f43, 0x224d03, 0x292e44, 0x2127c3, 0x21f483, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x81983, 0x21f483, 0x12b409, 0x45c4, 0x229f43, 0xd02, 0x224d03, 0x28c6c3, 0x204203, 0x219c03, 0x2127c3, 0xbc03, 0x21f483, 0xfc2, 0x229f43, 0x224d03, 0x2e9c43, 0x3547c4, 0x258104, 0x2127c3, 0x21f483, 0x205ec3, 0x2b82, 0x205842, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x81983, 0x21f483, 0x15aec3, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x352e83, 0x3e83, 0x280c3, 0x2127c3, 0x81983, 0x21f483, 0x36146, 0x3254ca, 0x344509, 0x3627cb, 0x362f8a, 0x36d08a, 0x38068b, 0x39a90a, 0x3a0d8a, 0x3a8fca, 0x3a924b, 0x3c9509, 0x3dc94a, 0x3dd18b, 0x3ea14b, 0x3ef7ca, 0x35c2, 0x229f43, 0x224d03, 0x28c6c3, 0x219c03, 0x2127c3, 0xbc03, 0x21f483, 0x344b, 0x1217c7, 0x6f7c8, 0x1ec284, 0x1e6644, 0x9dac8, 0xf3f86, 0x56c6, 0x11df87, 0x120287, 0xf0c9, 0x7ffc8, 0x229f43, 0x15a44, 0x2762c4, 0x202182, 0x222d84, 0x3734c5, 0x2030c3, 0x29f804, 0x229f43, 0x241284, 0x224d03, 0x25b9c4, 0x2ef2c4, 0x258104, 0x2335c3, 0x2127c3, 0x21f483, 0x28a685, 0x2043c3, 0x202783, 0x21cb03, 0x24a3c4, 0x325d84, 0x22cc85, 0x7ffc8, 0x20b904, 0x3d1606, 0x373104, 0x205842, 0x2efc87, 0x253087, 0x259344, 0x2f4d05, 0x37bf05, 0x235c45, 0x258104, 0x26c048, 0x260ec6, 0x35a148, 0x358fc5, 0x2f7305, 0x277a44, 0x21f483, 0x305744, 0x37f506, 0x216f03, 0x24a3c4, 0x268285, 0x34a6c4, 0x2affc4, 0x208ec2, 0x24fd46, 0x3bc546, 0x313dc5, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x5985, 0x6a0c9, 0x4d03, 0x265a04, 0x21a043, 0x226783, 0x230944, 0x214883, 0x24acc3, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x13bf09, 0x11d44, 0x21a043, 0x101c2, 0x226783, 0x204703, 0x211983, 0x214e43, 0x214883, 0x24acc3, 0x19c2, 0x21a043, 0x226783, 0x20f583, 0x3b9544, 0x25c204, 0x214883, 0x24acc3, 0x200f83, 0x2742, 0x20b642, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x161243, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x37ee83, 0xf2c3, 0x22043, 0x214883, 0x24acc3, 0x3a086, 0x33060a, 0x34e149, 0x369a8b, 0x369eca, 0x375dca, 0x386bcb, 0x39b20a, 0x3a280a, 0x3a8f8a, 0x3a920b, 0x3ce989, 0x3de04a, 0x3de88b, 0x3ede8b, 0x3f2fca, 0x6282, 0x21a043, 0x226783, 0x204703, 0x214e43, 0x214883, 0x24acc3, 0x610b, 0x12c887, 0x73b48, 0x1a72c4, 0x1e6304, 0xa2388, 0xf9b06, 0xae706, 0x23b87, 0x12a947, 0x3589, 0x1c3448, 0x21a043, 0x727c4, 0x278884, 0x204e42, 0x225a04, 0x252f05, 0x205d83, 0x265a04, 0x21a043, 0x243544, 0x226783, 0x2607c4, 0x2eef84, 0x25c204, 0x2384c3, 0x214883, 0x24acc3, 0x2cf905, 0x211b43, 0x205443, 0x236d03, 0x223984, 0x333344, 0x246c85, 0x1c3448, 0x3ebc44, 0x209f46, 0x3bf004, 0x20b642, 0x230b07, 0x256387, 0x25d444, 0x2fa885, 0x39b945, 0x239805, 0x25c204, 0x2716c8, 0x2680c6, 0x32f248, 0x2f8245, 0x2fc3c5, 0x27a004, 0x24acc3, 0x30b844, 0x385bc6, 0x219183, 0x223984, 0x26ed05, 0x259804, 0x2b7944, 0x249902, 0x3a1ec6, 0x3c1786, 0x31be45, 0x2000c2, 0x258843, 0xf4106, 0x3ba05842, 0x22f904, 0x197604, 0x68585, 0x20bec3, 0xf9c86, 0x3be0b642, 0x220ac4, 0x1981c4, 0x6f005, 0x200382, 0x219c03, 0x205582, 0x2127c3, 0x214e43, 0x2736c2, 0x214883, 0x2003c2, 0x301946, 0x217083, 0x1e4bc5, 0x205ec3, 0x7ffc8, 0x7ffc8, 0x2e9c43, 0x81983, 0x308746, 0x219303, 0x1e4905, 0x200f83, 0x1c3448, 0x1c3448, 0x20f583, 0x10210c, 0x2000c2, 0x3c605842, 0x2e9c43, 0x27ad43, 0x3ce883, 0x235204, 0x2127c3, 0x21f483, 0x7ffc8, 0x3df87, 0x3ca0b642, 0x20f583, 0x27dd43, 0x20de83, 0x21c1c4, 0x214883, 0x24acc3, 0x1c3448, 0xc0847, 0x2000c2, 0x3ce05842, 0x229f43, 0x2127c3, 0xbc03, 0x21f483, 0x3d20b642, 0x21a043, 0x214883, 0x24acc3, 0x682, 0x210702, 0x26ca02, 0x2280c3, 0x2fe343, 0x20ea02, 0x22ccc2, 0x222043, 0x305103, 0x2000c2, 0x145d45, 0x7ffc8, 0xf1a47, 0x205842, 0x224d03, 0x25b9c4, 0x204b03, 0x2e9c43, 0x204203, 0x219c03, 0x2127c3, 0x21c043, 0x21f483, 0x216e43, 0x5ec3, 0x13fe13, 0x142054, 0x145d45, 0xf1a47, 0x16249, 0x114786, 0x12efcb, 0x332c6, 0x64d47, 0x162e06, 0x14f985, 0x1c3448, 0xf5d87, 0x20b642, 0x226783, 0x2607c4, 0x207783, 0x20f583, 0x211983, 0x214e43, 0x214883, 0x21c243, 0x24acc3, 0x2190c3, 0xd2a48, 0xf83, 0x147593, 0x14b954, 0x14f985, 0xf5d87, 0x2f389, 0x11c806, 0x16f34b, 0x38286, 0x6bb47, 0x1bc006, 0x649, 0x78e0a, 0x9a6cd, 0x1b640c, 0x1176ca, 0x191648, 0xcab05, 0x16288, 0x18a46, 0x1d1ac6, 0x5b646, 0x206cc2, 0x71e44, 0xfbbc6, 0x14e1f4e, 0x23c6, 0x7804c, 0x3e382a4b, 0x145d45, 0x149a8b, 0x3e7b5347, 0x3ebb534a, 0x3efd4ec4, 0x1c3207, 0x2a691, 0x12130a, 0x229f43, 0x3f290b08, 0x1d5ac5, 0x19f508, 0x2ba44, 0x67585, 0xb0d07, 0x3f5d14c6, 0xe184b, 0x3fb84209, 0x15345, 0x17ac86, 0x11c306, 0xa160a, 0x9e80c, 0x1c5983, 0x1e6644, 0x3ffeba44, 0x60209, 0x10b707, 0x10e60a, 0x14e5649, 0x16278a, 0x9e0cd, 0x1dae8c, 0x11f74a, 0xab348, 0x1a4045, 0x2f3c8, 0x1b506, 0x1d9206, 0x5f986, 0x20a842, 0x178884, 0xe0146, 0x14e754e, 0x5086, 0x7a60c, 0x3e6a760b, 0x14f985, 0x15278b, 0x3eb67b87, 0x3ef67b8a, 0x3f3d9144, 0x88c9, 0xfdc8, 0x1c75c7, 0x2de11, 0x130dca, 0x21a043, 0x3f694308, 0x170a45, 0x1a0e88, 0x36604, 0x6e005, 0xb8647, 0x3f9d6d46, 0xe044b, 0x3ffc7cc9, 0x181c5, 0x61586, 0x168e86, 0xa528a, 0xd184c, 0x1ca843, 0x1e6304, 0x403d2484, 0x67409, 0x113107, 0x10070a, 0x14ea449, 0x605, 0x118683, 0x4023fcc7, 0x8e345, 0x1569f86, 0x14b89c6, 0xbd00c, 0x1074c8, 0x40448dc3, 0x10be44, 0x18ef4b, 0x2178b, 0x40b3f1cc, 0x1418303, 0xd2cc8, 0xce2cb, 0xb0bc9, 0xd7743, 0x11bf88, 0x1425d06, 0x98307, 0x40f5d489, 0x422eb088, 0xa3b47, 0xfc18a, 0x42763748, 0x11628d, 0x1c7e49, 0x11448, 0x2043, 0x1455349, 0x212c4, 0x14c945, 0x2d143, 0x332c6, 0xf7548, 0x1403842, 0x18944, 0x2b405, 0x149c3c3, 0x2d907, 0x41205483, 0x41771a06, 0x41a44084, 0x41f73a47, 0xf7544, 0xf7544, 0xf7544, 0xf7544, 0x2cc9, 0x120703, 0x406420c7, 0x9bf05, 0x1573546, 0x14638c6, 0x3f84c, 0x10d308, 0x40930fc5, 0x40c4a243, 0x113844, 0x1d78b, 0x14b0cb, 0x4125ac0c, 0x142d843, 0xd61c8, 0x1c49cb, 0xb8509, 0xd5603, 0x124908, 0x1428a86, 0x9e747, 0x41765489, 0x42af0c48, 0xbaf47, 0xdc4ca, 0x42f6a688, 0x11e30d, 0x1cc989, 0x112c8, 0x4d03, 0x1486089, 0x642c4, 0x187d45, 0x47143, 0x38286, 0x103e88, 0x6502, 0x1b404, 0xaa345, 0x1addc4, 0x1437dc3, 0x24dc7, 0x41a24dc3, 0x41fb8246, 0x42244e04, 0x42601b07, 0x103e84, 0x17ef87, 0x103e84, 0x17ef87, 0x103e84, 0x103e84, 0x17ef87, 0x5989, 0x41, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0x21f483, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x2000c2, 0x205842, 0x2e9c43, 0x203842, 0x2127c3, 0x21f483, 0x217083, 0x38e28f, 0x38e64e, 0x7ffc8, 0x229f43, 0x50a07, 0x224d03, 0x2e9c43, 0x25e043, 0x2127c3, 0x21f483, 0x2304, 0x1604, 0xa9c4, 0x225543, 0x373d07, 0x205b42, 0x27c049, 0x200ac2, 0x38fe4b, 0x2b038a, 0x2e9f09, 0x20b642, 0x20f583, 0x206502, 0x214883, 0x24acc3, 0x219303, 0x38ef8f, 0x38f34e, 0x1c3448, 0x21a043, 0x52a87, 0x226783, 0x20f583, 0x20bc83, 0x214883, 0x24acc3, 0x4fc4, 0x2e44, 0xa04, 0x203a83, 0x203a87, 0x203f42, 0x27ee89, 0x200b02, 0x388b4b, 0x2b154a, 0x2b7d09, 0x200542, 0x22be06, 0x3a0355, 0x38ff95, 0x25ab13, 0x390513, 0x20b602, 0x20b605, 0x20b60c, 0x2833cb, 0x251605, 0x201182, 0x30c842, 0x36e406, 0x200ec2, 0x2da306, 0x215ccd, 0x2ca88c, 0x3c8c84, 0x2369c6, 0x25ed95, 0x388c95, 0x261ad3, 0x389213, 0x204302, 0x22bb45, 0x3ea8cc, 0x287c8b, 0x269e45, 0x2029c2, 0x314102, 0x377546, 0x201d42, 0x29ca06, 0x36640d, 0x3a3dcc, 0x3cd784, 0x200882, 0x204e42, 0x26a508, 0x214202, 0x2932c8, 0x200202, 0x2016c6, 0x3a2fcf, 0x2016d0, 0x23a404, 0x3a0515, 0x25ac93, 0x21e943, 0x3541ca, 0x392747, 0x397ec9, 0x30e4c7, 0x327082, 0x202f06, 0x3a480f, 0x202f10, 0x2ff204, 0x25ef55, 0x261c53, 0x217143, 0x35c78a, 0x392b47, 0x398a89, 0x315cc7, 0x21da82, 0x200282, 0x3ceec6, 0x3d2386, 0x20b102, 0x1c3448, 0x211f02, 0x202642, 0x2121c7, 0x398e07, 0x398e11, 0x225505, 0x22550e, 0x225fcf, 0x203ac2, 0x227547, 0x227708, 0x201002, 0x229b02, 0x2143c6, 0x2143cf, 0x27b1d0, 0x236f02, 0x203d82, 0x230c48, 0x203d83, 0x29b148, 0x247d4d, 0x2063c3, 0x3d7a48, 0x26c00f, 0x26c3ce, 0x35018a, 0x2f4111, 0x2f4590, 0x3b0b8d, 0x3b0ecc, 0x3f3787, 0x35c907, 0x3d45c9, 0x216f42, 0x205202, 0x26d8cc, 0x26dbcb, 0x2045c2, 0x7ffc8, 0x20a182, 0x202a02, 0x211907, 0x398247, 0x398251, 0x2223c5, 0x2223ce, 0x22284f, 0x2037c2, 0x30ef87, 0x225588, 0x205f42, 0x2272c2, 0x212306, 0x21230f, 0x242910, 0x232382, 0x203702, 0x2efdc8, 0x207243, 0x297948, 0x2bbfcd, 0x203703, 0x3d3bc8, 0x293e0f, 0x2941ce, 0x3e198a, 0x2ee1d1, 0x2ee650, 0x22320d, 0x22354c, 0x3c5a07, 0x354347, 0x372049, 0x21e742, 0x202542, 0x266e4c, 0x26714b, 0x202102, 0x2db7c6, 0x212fc2, 0x2dfc86, 0x212f82, 0x200482, 0x2b90c2, 0x205842, 0x235644, 0x2456c7, 0x20f1c2, 0x24adc7, 0x24d147, 0x213682, 0x215582, 0x2508c5, 0x201bc2, 0x2dbd4e, 0x2138cd, 0x224d03, 0x3b494e, 0x2cda8d, 0x332183, 0x200d42, 0x2958c4, 0x29e2c2, 0x220f42, 0x3ac685, 0x3b0dc7, 0x254482, 0x218b02, 0x25b147, 0x260588, 0x262642, 0x27b6c6, 0x266ccc, 0x26700b, 0x202e42, 0x27274f, 0x272b10, 0x272f0f, 0x2732d5, 0x273814, 0x273d0e, 0x27408e, 0x27440f, 0x2747ce, 0x274b54, 0x275053, 0x27550d, 0x289509, 0x29be83, 0x2038c2, 0x35ed05, 0x204b06, 0x36e3c2, 0x20b642, 0x239244, 0x246887, 0x203682, 0x24d507, 0x24f347, 0x215942, 0x218402, 0x252945, 0x203402, 0x2d0bce, 0x215b8d, 0x226783, 0x25880e, 0x231e8d, 0x34cc83, 0x2017c2, 0x2990c4, 0x211542, 0x22e042, 0x3add05, 0x3b3c47, 0x257682, 0x21b5c2, 0x25f487, 0x267788, 0x2698c2, 0x28e646, 0x26d74c, 0x26da8b, 0x205b02, 0x274b0f, 0x274ed0, 0x2752cf, 0x275695, 0x275bd4, 0x2760ce, 0x27644e, 0x2767cf, 0x276b8e, 0x276f14, 0x277413, 0x2778cd, 0x28ce09, 0x2a0083, 0x206582, 0x364805, 0x207786, 0x200382, 0x36dc47, 0x2e9c43, 0x2e4f47, 0x20f583, 0x200642, 0x3e7088, 0x2ee411, 0x2ee850, 0x208102, 0x29b207, 0x203382, 0x262807, 0x208042, 0x335309, 0x36e3c7, 0x28c948, 0x3d1306, 0x2fe243, 0x39d7c5, 0x22b342, 0x38bcc8, 0x2f4351, 0x2f4790, 0x204182, 0x29f347, 0x2040c2, 0x271107, 0x20af02, 0x254e89, 0x377507, 0x29f808, 0x3d6b86, 0x305003, 0x39e645, 0x20b602, 0x2004c2, 0x208a85, 0x367d45, 0x204442, 0x25c083, 0x349e07, 0x3d1887, 0x202d02, 0x39a304, 0x20d003, 0x3d1d49, 0x3db288, 0x20b982, 0x20fd02, 0x243e47, 0x2f04c5, 0x237e48, 0x350847, 0x20e983, 0x2fba46, 0x22308d, 0x22340c, 0x39f706, 0x203782, 0x202c82, 0x2026c2, 0x293c8f, 0x29408e, 0x37bf87, 0x205c02, 0x219c05, 0x219c06, 0x21dfc2, 0x20dec2, 0x29cb06, 0x210043, 0x347146, 0x2e34c5, 0x2e34cd, 0x2e3a55, 0x2e4b0c, 0x2e4e8d, 0x2e51d2, 0x20f782, 0x27eec2, 0x204342, 0x217506, 0x204346, 0x43a8bec4, 0x201242, 0x204b86, 0x214542, 0x3d8045, 0x202a42, 0x2139c9, 0x23388c, 0x233bcb, 0x34cb85, 0x370845, 0x209a42, 0x237743, 0x352b07, 0x3d9487, 0x203c82, 0x39ac04, 0x20a243, 0x3f3b89, 0x20a248, 0x212a82, 0x20fe02, 0x22e807, 0x3584c5, 0x285788, 0x286547, 0x20ddc3, 0x2dffc6, 0x3b0a0d, 0x3b0d8c, 0x3a1086, 0x206442, 0x205942, 0x200ec2, 0x26be8f, 0x26c28e, 0x39b9c7, 0x2024c2, 0x214e45, 0x214e46, 0x22ab02, 0x201942, 0x2a0d06, 0x24fb03, 0x3d1206, 0x2e8b05, 0x2e8b0d, 0x2e9095, 0x2e990c, 0x2e9c8d, 0x2e9fd2, 0x20d3c2, 0x282182, 0x10210c, 0x202202, 0x379cc6, 0x211ac6, 0x4429eb44, 0x2025c2, 0x207806, 0x217a02, 0x254405, 0x203cc2, 0x215c89, 0x2161cc, 0x21650b, 0x2003c2, 0x261708, 0x20df02, 0x200a82, 0x283186, 0x261c45, 0x393507, 0x3a81c5, 0x26d105, 0x2020c2, 0x216342, 0x20f102, 0x2a10c7, 0x301a0d, 0x301d8c, 0x24efc7, 0x22e6c2, 0x215502, 0x3cf0c8, 0x34a8c8, 0x34d908, 0x3c0384, 0x2dc887, 0x2ff703, 0x253ac2, 0x2043c2, 0x302609, 0x2336c7, 0x202782, 0x2837c5, 0x285042, 0x20e0c2, 0x3095c3, 0x3095c6, 0x309742, 0x30bd02, 0x268908, 0x201982, 0x207002, 0x287a46, 0x2885c5, 0x394447, 0x358845, 0x27a8c5, 0x204d82, 0x22f482, 0x2035c2, 0x2b1f87, 0x30880d, 0x308b8c, 0x2517c7, 0x28e5c2, 0x216402, 0x379688, 0x259a08, 0x327448, 0x3c4404, 0x2e1e87, 0x3064c3, 0x209ec2, 0x211b42, 0x309589, 0x317c07, 0x205442, 0x288085, 0x221e42, 0x223c42, 0x30f203, 0x30f206, 0x310482, 0x313702, 0x200402, 0x3bd706, 0x34ed07, 0x21e202, 0x234586, 0x357f07, 0x21d602, 0x200902, 0x29778f, 0x3b478d, 0x38c84e, 0x2cd90c, 0x20a602, 0x203342, 0x3d1145, 0x323f46, 0x202682, 0x206902, 0x29af8f, 0x25864d, 0x2db38e, 0x231d0c, 0x20c802, 0x2026c2, 0x3d69c5, 0x32eb06, 0x201d82, 0x209982, 0x200682, 0x2cdc04, 0x2bbe44, 0x358906, 0x201782, 0x28e207, 0x248883, 0x248888, 0x2496c8, 0x256887, 0x3ab886, 0x205f82, 0x212f43, 0x212f47, 0x282d06, 0x2d8485, 0x285348, 0x204942, 0x38a4c7, 0x207802, 0x29ec82, 0x203682, 0x201889, 0x2088c2, 0x14cc8, 0x200e02, 0x2aa083, 0x200e87, 0x202602, 0x233a0c, 0x233d0b, 0x39f786, 0x20e385, 0x43e27303, 0x201c82, 0x200fc2, 0x2d5146, 0x243783, 0x354547, 0x26d0c2, 0x232004, 0x354204, 0x360a46, 0x202fc2, 0x29bdc7, 0x234683, 0x249088, 0x249a48, 0x250e47, 0x38e646, 0x201a82, 0x232603, 0x232607, 0x2875c6, 0x2d6385, 0x257ec8, 0x2075c2, 0x2fc8c7, 0x230802, 0x2a7382, 0x206342, 0x2030c9, 0x209202, 0x111908, 0x201682, 0x2b0b43, 0x336e87, 0x201b02, 0x21634c, 0x21664b, 0x3a1106, 0x30f905, 0x4462b803, 0x2021c2, 0x2019c2, 0x2d7cc6, 0x234b83, 0x3b92c7, 0x20ea42, 0x2008c2, 0x3a01d5, 0x390155, 0x25a9d3, 0x390693, 0x277487, 0x287591, 0x288f50, 0x296b12, 0x299e51, 0x2ac948, 0x3b9dd0, 0x2ac94f, 0x2b0153, 0x37b092, 0x39b750, 0x2c2acf, 0x2c6152, 0x2c7851, 0x2c8dd3, 0x2ccf12, 0x2d498f, 0x2e314e, 0x2e4692, 0x2e9d11, 0x2ea3cf, 0x2ed08e, 0x2ed891, 0x2f2810, 0x2f3b12, 0x2f6c51, 0x2fda90, 0x3064cf, 0x307691, 0x309ad0, 0x30c9c6, 0x30d987, 0x311047, 0x205dc2, 0x292805, 0x3dec07, 0x26ca02, 0x202d82, 0x3cbe45, 0x20a503, 0x2718c6, 0x301bcd, 0x301f0c, 0x204c02, 0x20b48b, 0x28328a, 0x286d8a, 0x227549, 0x2d3d0b, 0x300ccd, 0x35098c, 0x312e0a, 0x36ee0c, 0x3d4f8b, 0x25144c, 0x2813ce, 0x28818b, 0x2a724c, 0x2ecd03, 0x352f06, 0x363742, 0x308602, 0x25f183, 0x208602, 0x23fa43, 0x2d6ec6, 0x273487, 0x2d9706, 0x3aefc8, 0x349c88, 0x321a86, 0x212182, 0x31378d, 0x313acc, 0x221947, 0x317507, 0x228282, 0x21f182, 0x212ec2, 0x28f8c2, 0x337216, 0x33c315, 0x33f8d6, 0x3435d3, 0x343c92, 0x356513, 0x3573d2, 0x3bb24f, 0x3caad8, 0x3ce957, 0x3cfb99, 0x3d3318, 0x3d3dd8, 0x3d4957, 0x3d8357, 0x3d91d6, 0x3df613, 0x3dff95, 0x3e0952, 0x3e0dd3, 0x1e702, 0x4420f0c4, 0x447c8bc8, 0x2cc5, 0x205842, 0x2127c3, 0x47f42, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x222d84, 0x2127c3, 0x21f483, 0x217083, 0x25ec15, 0x388e55, 0x261993, 0x389393, 0x279a47, 0x28b891, 0x295090, 0x29a312, 0x29d851, 0x2a1cc8, 0x2a1cd0, 0x2a5d0f, 0x2b1313, 0x2b7ad2, 0x2c3490, 0x376b8f, 0x39c552, 0x2c83d1, 0x2cb893, 0x2ce352, 0x2e874f, 0x2eb08e, 0x2efed2, 0x2f2f91, 0x2f384f, 0x2f6dce, 0x2f96d1, 0x2fbd50, 0x3047d2, 0x307e91, 0x30ca90, 0x30d4cf, 0x310811, 0x314290, 0x314d46, 0x327a47, 0x2284c7, 0x2027c2, 0x296485, 0x3e0bc7, 0x22ccc2, 0x205a42, 0x3d0f05, 0x20c703, 0x378306, 0x3089cd, 0x308d0c, 0x207882, 0x3ea74b, 0x287b4a, 0x28a70a, 0x22ba49, 0x2d6e8b, 0x30798d, 0x28668c, 0x31ae8a, 0x25018c, 0x25360b, 0x269c8c, 0x28414e, 0x28c48b, 0x2acb0c, 0x2ccf43, 0x37ef06, 0x36a682, 0x227e42, 0x26fd83, 0x201102, 0x220983, 0x2da0c6, 0x275847, 0x2dd0c6, 0x3b2208, 0x352988, 0x32cb46, 0x20b382, 0x31b80d, 0x31bb4c, 0x34b287, 0x31f587, 0x226402, 0x2216c2, 0x209142, 0x292602, 0x33f716, 0x344395, 0x347056, 0x34d093, 0x34d752, 0x35e9d3, 0x35f512, 0x3c048f, 0x3cfb98, 0x3d1e17, 0x3d5419, 0x3d7198, 0x3d8058, 0x3d8bd7, 0x3d9d97, 0x3dc056, 0x3e0713, 0x3e0d95, 0x3e17d2, 0x3e1c53, 0x16f02, 0x44a03584, 0x44fcd6c8, 0x5985, 0x20b642, 0x214883, 0x445c2, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x225a04, 0x214883, 0x24acc3, 0x219303, 0x2000c2, 0x202ac2, 0x456a2d45, 0x45a3d685, 0x45f6f186, 0x7ffc8, 0x462c9445, 0x205842, 0x201902, 0x46730c85, 0x46a91485, 0x46e91f07, 0x47358c49, 0x4761d684, 0x204502, 0x45ea6b05, 0x462a6305, 0x46653946, 0x1c3448, 0x46ace985, 0x20b642, 0x203142, 0x46f25e05, 0x47294c85, 0x47695b87, 0x47af7ec9, 0x47fbb404, 0x200382, 0x200642, 0x47a5c245, 0x47ea2689, 0x4836cc48, 0x486c19c5, 0x48b51107, 0x48e1b008, 0x4930d585, 0x49623f46, 0x49a531c9, 0x49f7fbc8, 0x4a2db448, 0x4a6aa18a, 0x4aa39104, 0x4ae9cdc5, 0x4b2b4708, 0x4b654b45, 0x21c142, 0x4ba089c3, 0x4beb4ec6, 0x4c328ec8, 0x4c746546, 0x4cb4ee48, 0x4cfb6006, 0x4d3854c4, 0x4d6048c2, 0x4dee9287, 0x4e2bcd44, 0x4e68d7c7, 0x4ebe8dc7, 0x4826ab45, 0x486a6449, 0x48baaf08, 0x48ec7645, 0x49359c47, 0x4961e1c8, 0x49b14945, 0x49eb0206, 0x4a2564c9, 0x4a78d7c8, 0x4aade488, 0x4aeb0c4a, 0x4b23cdc4, 0x4b6bd045, 0x4bab9cc8, 0x4be59605, 0x21f082, 0x4c2024c3, 0x4c6bbc86, 0x4ca4c1c8, 0x4ceffb06, 0x4d358048, 0x4d7a9686, 0x4da43e44, 0x4de01f42, 0x4e6ee3c7, 0x4eac2644, 0x4ee909c7, 0x4f3e8187, 0x2003c2, 0x4eead945, 0x4f2854c4, 0x4f7839c7, 0x4fa48087, 0x4fe95706, 0x50218085, 0x506a8b87, 0x50ae8c88, 0x50eb8c07, 0x512bebc9, 0x516e9a45, 0x51b0fc07, 0x51ea2386, 0x2c68b, 0x5236fc88, 0x2289cd, 0x284949, 0x2a290b, 0x2b0e8b, 0x2b94cb, 0x37880b, 0x32414b, 0x32440b, 0x3248c9, 0x32574b, 0x325a0b, 0x32680b, 0x32740a, 0x32794a, 0x327f4c, 0x32c2cb, 0x32c80a, 0x34144a, 0x34bf0e, 0x34cf0e, 0x34d28a, 0x34f70a, 0x35164b, 0x35190b, 0x35240b, 0x3767cb, 0x376dca, 0x377a8b, 0x377d4a, 0x377fca, 0x37824a, 0x39b34b, 0x3a228b, 0x3a548e, 0x3a580b, 0x3acbcb, 0x3add0b, 0x3b1a8a, 0x3b1d09, 0x3b1f4a, 0x3b3e8a, 0x3ca4cb, 0x3dd44b, 0x3de4ca, 0x3df04b, 0x3e694b, 0x3ef20b, 0x52693288, 0x52a99789, 0x52eb0a49, 0x532f7d08, 0x358685, 0x20c003, 0x260a44, 0x34f285, 0x4f6b54c5, 0x4fa84804, 0x4ffb69c7, 0x50247947, 0x50698f06, 0x50a1a705, 0x50eaf707, 0x513ce308, 0x51663b07, 0x51ac4449, 0x51eeed85, 0x52316ec7, 0x526a6146, 0x2af8b, 0x52a33c88, 0x22ec0d, 0x261089, 0x28970b, 0x2a66cb, 0x2bf2cb, 0x2cd90b, 0x32ed0b, 0x32efcb, 0x32f9c9, 0x33088b, 0x330b4b, 0x33110b, 0x33244a, 0x33298a, 0x332f8c, 0x337e8b, 0x33848a, 0x34ac0a, 0x354ace, 0x35570e, 0x355a8a, 0x358e4a, 0x35a38b, 0x35a64b, 0x35b14b, 0x37ca4b, 0x37d04a, 0x37dd0b, 0x37dfca, 0x37e24a, 0x37e4ca, 0x39c14b, 0x3a360b, 0x3a678e, 0x3a6b0b, 0x3aeb4b, 0x3b034b, 0x3b490a, 0x3b4b89, 0x3b4dca, 0x3b66ca, 0x3cf58b, 0x3deb4b, 0x3df64a, 0x3e014b, 0x3e660b, 0x3f2a0b, 0x52e96f08, 0x5329d189, 0x536b8389, 0x53afcdc8, 0x3607c5, 0x203ec3, 0x267c44, 0x397685, 0x3bb146, 0x3574c5, 0x29c844, 0x2e4e48, 0x328f45, 0x2a88c4, 0x206a87, 0x2b74ca, 0x325b4a, 0x39bac7, 0x23f147, 0x2f7287, 0x26acc7, 0x3bfb05, 0x3bbd86, 0x249647, 0x2606c4, 0x2d2d86, 0x302a46, 0x3cb6c5, 0x37b304, 0x2b5106, 0x2b6407, 0x22ef06, 0x320307, 0x242d03, 0x3cb3c6, 0x230e85, 0x295c87, 0x27e84a, 0x362244, 0x21b988, 0x2c3d89, 0x381307, 0x356306, 0x28d588, 0x3e8509, 0x3622c4, 0x287144, 0x2d01c5, 0x225908, 0x2e7187, 0x3138c9, 0x23de88, 0x321f06, 0x240646, 0x2b1a08, 0x37bb06, 0x2a6305, 0x298fc6, 0x290d88, 0x297a46, 0x26cc0b, 0x2a2e06, 0x2b3f8d, 0x209805, 0x2c2506, 0x21e285, 0x2d0389, 0x32a287, 0x214cc8, 0x2c2ac6, 0x2b2549, 0x3a3886, 0x27e7c5, 0x21e4c6, 0x2e4146, 0x2eb409, 0x2d4e06, 0x214f47, 0x2ac7c5, 0x204343, 0x264a45, 0x2d2bc7, 0x3db5c6, 0x209709, 0x253946, 0x299206, 0x24db09, 0x2989c9, 0x2ba547, 0x36b208, 0x2a4649, 0x296108, 0x2e5606, 0x2f4b85, 0x28f48a, 0x299286, 0x3d0646, 0x2ee305, 0x266b88, 0x3af747, 0x23c48a, 0x262186, 0x328245, 0x313fc6, 0x2a71c7, 0x3561c7, 0x2aec85, 0x27e985, 0x27b046, 0x27bd86, 0x285d86, 0x245f84, 0x297389, 0x29f106, 0x2ed9ca, 0x21f648, 0x316bc8, 0x325b4a, 0x24c385, 0x2b6345, 0x2093c8, 0x32c608, 0x24e687, 0x2dd546, 0x342288, 0x220247, 0x296808, 0x2d3dc6, 0x299c88, 0x2ad906, 0x2f83c7, 0x317e46, 0x2b5106, 0x234eca, 0x2392c6, 0x2f4b89, 0x371946, 0x21230a, 0x243e49, 0x3091c6, 0x2d5a44, 0x3648cd, 0x294ac7, 0x20b986, 0x2de345, 0x3a3905, 0x39dc06, 0x383609, 0x39fe87, 0x291786, 0x376546, 0x27d809, 0x360d04, 0x3092c4, 0x3ec208, 0x38fb86, 0x2ac248, 0x2f20c8, 0x288a47, 0x2ff509, 0x3d5d07, 0x2ce84a, 0x30a04f, 0x24eaca, 0x3d67c5, 0x290fc5, 0x214c85, 0x2ff147, 0x292403, 0x36b408, 0x23a546, 0x23a649, 0x359646, 0x22a647, 0x2b2309, 0x214bc8, 0x2d0547, 0x32cfc3, 0x360845, 0x2a6d05, 0x245dcb, 0x2596c4, 0x381204, 0x28ec46, 0x32d187, 0x39e18a, 0x25d687, 0x2318c7, 0x294c85, 0x3dc5c5, 0x391749, 0x2b5106, 0x25d50d, 0x300285, 0x2d1d83, 0x208e03, 0x220b45, 0x342b85, 0x28d588, 0x291f47, 0x24b286, 0x2b8006, 0x235205, 0x241387, 0x3d30c7, 0x267f87, 0x2bd0ca, 0x3cb488, 0x245f84, 0x2977c7, 0x293e47, 0x367346, 0x2acf87, 0x36da88, 0x362948, 0x29c146, 0x23f388, 0x2d4e84, 0x249646, 0x28d846, 0x302c46, 0x349986, 0x2198c4, 0x26ad86, 0x2dd246, 0x2b1146, 0x234ec6, 0x208cc6, 0x2fe846, 0x24b188, 0x2cfec8, 0x2f16c8, 0x3576c8, 0x209346, 0x20f0c5, 0x264a06, 0x2c76c5, 0x338e87, 0x23df45, 0x2180c3, 0x312185, 0x320d44, 0x208e05, 0x201983, 0x35b707, 0x2e5188, 0x3203c6, 0x2c57cd, 0x290f86, 0x2b06c5, 0x2030c3, 0x2d9949, 0x360e86, 0x2afcc6, 0x21e5c4, 0x24ea47, 0x3db7c6, 0x328485, 0x258dc3, 0x20e744, 0x294006, 0x3bbe84, 0x3c7808, 0x3da549, 0x29c609, 0x2b960a, 0x25588d, 0x38c147, 0x39b606, 0x22f4c4, 0x2f7ec9, 0x29b548, 0x29d006, 0x2476c6, 0x2acf87, 0x2f7746, 0x222986, 0x371346, 0x3e820a, 0x21e1c8, 0x237505, 0x371149, 0x3e8f0a, 0x398548, 0x2b5d08, 0x2afc48, 0x3034cc, 0x331385, 0x2b8288, 0x2d4046, 0x375c46, 0x2e5a47, 0x25d585, 0x299145, 0x29c4c9, 0x20f447, 0x23a605, 0x229507, 0x208e03, 0x2e7b45, 0x229bc8, 0x2ee7c7, 0x2b5bc9, 0x3e4245, 0x303bc4, 0x322fc8, 0x248007, 0x2d0708, 0x257148, 0x39f5c5, 0x279386, 0x2b8106, 0x23ef49, 0x28d947, 0x2c7c06, 0x3cbe87, 0x20bd43, 0x3bb404, 0x36b845, 0x2414c4, 0x24e2c4, 0x298447, 0x27d6c7, 0x291944, 0x2b5a10, 0x325f87, 0x3dc5c5, 0x20d0cc, 0x256f04, 0x2c4c48, 0x2f82c9, 0x2cb606, 0x324a48, 0x264984, 0x28ef48, 0x234386, 0x234d48, 0x2b69c6, 0x2cf24b, 0x3c3845, 0x36b6c8, 0x21b184, 0x3da98a, 0x2b5bc9, 0x268b86, 0x3b0888, 0x29ed45, 0x2d8f44, 0x2c4b46, 0x267e48, 0x296f08, 0x33d7c6, 0x37b484, 0x28f406, 0x3d5d87, 0x2908c7, 0x2acf8f, 0x34fcc7, 0x39f007, 0x375b05, 0x336705, 0x2ba209, 0x2ed686, 0x295dc5, 0x298cc7, 0x2eac88, 0x245c05, 0x317e46, 0x21f488, 0x2ffb0a, 0x20bfc8, 0x2a0a87, 0x30a486, 0x371106, 0x2003c3, 0x21c543, 0x3e90c9, 0x2a44c9, 0x2c4346, 0x3e4245, 0x303348, 0x3b0888, 0x2b4d48, 0x3713cb, 0x2c5a07, 0x326909, 0x2ad208, 0x2402c4, 0x3d2a08, 0x2a4189, 0x2c7f05, 0x2632c7, 0x3bb485, 0x296e08, 0x2a698b, 0x2af450, 0x2c2145, 0x21b0cc, 0x24b445, 0x294d03, 0x2d78c6, 0x2dc744, 0x29ce86, 0x2b6407, 0x209344, 0x3c4c48, 0x36b2cd, 0x3b0745, 0x255d84, 0x364644, 0x39ed49, 0x2af188, 0x33ab87, 0x234408, 0x297448, 0x291a85, 0x3e9407, 0x291a07, 0x23a907, 0x27e989, 0x33bb89, 0x264346, 0x3b10c6, 0x298d86, 0x32e605, 0x3cb204, 0x3d8606, 0x3da306, 0x291ac8, 0x2a6e8b, 0x362107, 0x22f4c4, 0x3db706, 0x3f3e07, 0x2fe445, 0x300645, 0x28de04, 0x33bb06, 0x3d8688, 0x2f7ec9, 0x257906, 0x29b348, 0x328546, 0x36c748, 0x2df20c, 0x291946, 0x2b038d, 0x2b080b, 0x215005, 0x3d3207, 0x2d4f06, 0x356088, 0x2643c9, 0x2c5d08, 0x3dc5c5, 0x2adb87, 0x296208, 0x3b85c9, 0x21d3c6, 0x223cc5, 0x299004, 0x36db48, 0x31e445, 0x2a46c4, 0x3d5f87, 0x2afb4a, 0x384c8a, 0x37c087, 0x329087, 0x2f2d47, 0x25c3c7, 0x207505, 0x224346, 0x37bb87, 0x3ce084, 0x2ced86, 0x3048c6, 0x3cf605, 0x3324c4, 0x2ad586, 0x2aed87, 0x2301c6, 0x318287, 0x240903, 0x3c6c46, 0x220b05, 0x292007, 0x27ba0a, 0x310484, 0x21a988, 0x2be509, 0x3c0a07, 0x3c9f86, 0x26c248, 0x3e9149, 0x310504, 0x282884, 0x304b45, 0x222c88, 0x2e1b87, 0x30bec9, 0x2f0e88, 0x319806, 0x328986, 0x2aadc8, 0x375846, 0x23d685, 0x2957c6, 0x28db88, 0x25780a, 0x355e08, 0x2c5b4b, 0x3a044c, 0x28f048, 0x292c06, 0x348c48, 0x2ff787, 0x3581c9, 0x2a634d, 0x2b5006, 0x2d0048, 0x2cfd89, 0x2da988, 0x299d88, 0x2ddc4c, 0x2df647, 0x2e0bc7, 0x27e7c5, 0x2b9f47, 0x2eab48, 0x2c4bc6, 0x26990c, 0x30c788, 0x2ecb08, 0x357986, 0x333f87, 0x264544, 0x3576c8, 0x29e40c, 0x258b0c, 0x3d6845, 0x3cb747, 0x37b406, 0x333f06, 0x3a5388, 0x227984, 0x22ef0b, 0x2025cb, 0x30a486, 0x36b147, 0x3495c5, 0x287085, 0x22f046, 0x29ed05, 0x259685, 0x2ebf47, 0x2298c9, 0x206744, 0x24a0c5, 0x30f585, 0x21a5c8, 0x361c45, 0x2e1149, 0x2c6447, 0x2c644b, 0x308f06, 0x24aec9, 0x37b248, 0x292e05, 0x23aa08, 0x33bbc8, 0x367a47, 0x234187, 0x2984c9, 0x234c87, 0x2a2bc9, 0x2bd90c, 0x2c4348, 0x3a0289, 0x2deb87, 0x297509, 0x228087, 0x3a0548, 0x2ff6c5, 0x2495c6, 0x2de388, 0x30a588, 0x3e8dc9, 0x2596c7, 0x2b9805, 0x3d4209, 0x3a84c6, 0x2a6144, 0x315186, 0x24c048, 0x252787, 0x2a7088, 0x23f449, 0x32dc47, 0x2b4e86, 0x3d2d44, 0x312209, 0x3e9288, 0x357847, 0x29ab46, 0x2a6dc6, 0x3d05c4, 0x381b86, 0x208d83, 0x203ec9, 0x3c3806, 0x23f6c5, 0x2b8006, 0x2d0845, 0x296688, 0x220787, 0x297d46, 0x325e46, 0x316bc8, 0x2ba387, 0x2b5045, 0x2b5808, 0x3def48, 0x355e08, 0x24b305, 0x249646, 0x29c3c9, 0x23edc4, 0x30fa8b, 0x22268b, 0x237409, 0x208e03, 0x26e945, 0x39bfc6, 0x24bbc8, 0x311244, 0x3203c6, 0x2bd209, 0x3762c5, 0x2ebe86, 0x248006, 0x217604, 0x2c26ca, 0x23f608, 0x30a586, 0x37fdc5, 0x3eb247, 0x342dc7, 0x279384, 0x2228c7, 0x23df04, 0x23df06, 0x20d183, 0x27e985, 0x2ca445, 0x34ff08, 0x297985, 0x291689, 0x2bba87, 0x35750b, 0x2bba8c, 0x2bc08a, 0x359c47, 0x206b43, 0x2902c8, 0x309285, 0x245c85, 0x360904, 0x3a0446, 0x2f82c6, 0x381bc7, 0x28884b, 0x2198c4, 0x3aae84, 0x2e4a84, 0x2ea9c6, 0x209344, 0x225a08, 0x360705, 0x255ec5, 0x2b4c87, 0x3d3309, 0x342b85, 0x39dc0a, 0x2ac6c9, 0x2ab14a, 0x3e8349, 0x328744, 0x376605, 0x2f7848, 0x3b6a8b, 0x2d01c5, 0x2f2246, 0x24f404, 0x291bc6, 0x32dac9, 0x3f3f07, 0x253b08, 0x255c06, 0x3d5d07, 0x296f08, 0x386686, 0x3d2dc4, 0x270b47, 0x391445, 0x3a0a47, 0x264884, 0x2d4e86, 0x342f08, 0x2b09c8, 0x3e4e07, 0x32cc48, 0x2ad9c5, 0x208c44, 0x325a48, 0x2d79c4, 0x2174c5, 0x3a5184, 0x220347, 0x29f1c7, 0x297648, 0x2d0886, 0x297905, 0x291488, 0x20c1c8, 0x2b9549, 0x222986, 0x23c508, 0x3da80a, 0x2fe4c8, 0x314945, 0x264c06, 0x2ac588, 0x2adc4a, 0x237f47, 0x29b985, 0x2a9588, 0x2c0644, 0x266c06, 0x2e1a48, 0x208cc6, 0x3dfcc8, 0x26cf47, 0x206986, 0x2d5a44, 0x2445c7, 0x2d1044, 0x32da87, 0x357b8d, 0x237485, 0x38340b, 0x258d86, 0x268a08, 0x3636c4, 0x285f86, 0x294006, 0x348f87, 0x2b004d, 0x30e947, 0x2d1cc8, 0x2a0f85, 0x2d1608, 0x2e7106, 0x2ada48, 0x23da86, 0x20ce47, 0x2251c9, 0x3636c7, 0x29d2c8, 0x289b05, 0x235288, 0x333e45, 0x317d85, 0x378d45, 0x21e503, 0x299044, 0x2a9785, 0x2564c9, 0x381986, 0x36db88, 0x3a13c5, 0x2d3047, 0x32a58a, 0x2ebdc9, 0x2e404a, 0x2f1748, 0x22934c, 0x298d4d, 0x3777c3, 0x3dfbc8, 0x20e705, 0x2ff8c6, 0x214a46, 0x364585, 0x3cbf89, 0x3ea105, 0x291488, 0x26fa46, 0x37a4c6, 0x2bac89, 0x233387, 0x2a6c46, 0x32a508, 0x302b48, 0x2fcfc7, 0x2eb64e, 0x2e7345, 0x3b84c5, 0x208bc8, 0x3b90c7, 0x229942, 0x2dda04, 0x29cd8a, 0x357908, 0x33bd06, 0x2b2448, 0x2b8106, 0x336588, 0x2c7c08, 0x317d44, 0x2d3805, 0x7bf004, 0x7bf004, 0x7bf004, 0x204043, 0x206586, 0x291946, 0x2b6dcc, 0x2069c3, 0x264886, 0x20d144, 0x360e08, 0x2bd045, 0x29ce86, 0x2b9dc8, 0x2f2cc6, 0x297cc6, 0x21d148, 0x36b8c7, 0x234a49, 0x32438a, 0x263b44, 0x23df45, 0x313885, 0x360b86, 0x38c186, 0x3d3746, 0x385306, 0x234b84, 0x234b8b, 0x23dd04, 0x22a6c5, 0x2c7005, 0x288b06, 0x20ac08, 0x298c07, 0x204284, 0x273443, 0x2c0145, 0x315047, 0x298b0b, 0x34fe07, 0x2b9cc8, 0x2d8147, 0x281406, 0x261348, 0x2d75cb, 0x3975c6, 0x210249, 0x2d7745, 0x32cfc3, 0x2ebe86, 0x26ce48, 0x211903, 0x2a17c3, 0x233d86, 0x2b8106, 0x3848ca, 0x292c45, 0x293e4b, 0x2b7f4b, 0x242e83, 0x201f03, 0x2ce7c4, 0x32a3c7, 0x26cec4, 0x23ee44, 0x2d3ec4, 0x2fe7c8, 0x37fd08, 0x21c4c9, 0x2eee08, 0x378fc7, 0x234ec6, 0x36d7cf, 0x2e7486, 0x2f0e44, 0x37fb4a, 0x314f47, 0x2d1146, 0x2a6189, 0x21c445, 0x27be45, 0x21c586, 0x2353c3, 0x2c0689, 0x21e346, 0x23f209, 0x39e186, 0x27e985, 0x3d6c45, 0x206043, 0x347e48, 0x33ad47, 0x23a544, 0x360c88, 0x3aac04, 0x3e3f86, 0x2d78c6, 0x24a886, 0x36b589, 0x245c05, 0x2b5106, 0x2839c9, 0x2e6246, 0x2fe846, 0x3b2f06, 0x204105, 0x3a5186, 0x20ce44, 0x2ff6c5, 0x2de384, 0x2d2586, 0x300244, 0x2027c3, 0x29b605, 0x241f48, 0x235707, 0x3112c9, 0x29b888, 0x2b17d1, 0x24808a, 0x30a3c7, 0x26d086, 0x20d144, 0x2de488, 0x3e5088, 0x2b198a, 0x2e0f0d, 0x21e4c6, 0x21d246, 0x244686, 0x2aeb07, 0x2d1d85, 0x325147, 0x360d45, 0x2c6584, 0x3d1306, 0x249487, 0x2c038d, 0x2ac4c7, 0x2e4d48, 0x291789, 0x264b06, 0x21d345, 0x245b84, 0x24c146, 0x2ff406, 0x357a86, 0x2b2cc8, 0x216143, 0x209503, 0x3ead45, 0x262286, 0x2c7bc5, 0x255e08, 0x2b65ca, 0x279484, 0x360e08, 0x2afc48, 0x32a787, 0x234009, 0x2d9c88, 0x2c44c7, 0x2dd3c6, 0x208cca, 0x24c1c8, 0x322e89, 0x2af248, 0x21fb49, 0x362b47, 0x3837c5, 0x3715c6, 0x2c4a48, 0x297088, 0x359f08, 0x217608, 0x22a6c5, 0x204584, 0x240a08, 0x24f184, 0x3e8144, 0x27e985, 0x2a8907, 0x3d30c9, 0x348d87, 0x23c545, 0x28ee46, 0x37f5c6, 0x20ad04, 0x2bb106, 0x294284, 0x293b86, 0x26608b, 0x29eb06, 0x2ac4cd, 0x3da785, 0x2bcc06, 0x21b0c5, 0x304d09, 0x2d86c7, 0x219a88, 0x3c0746, 0x2ab709, 0x2ca346, 0x27b985, 0x219186, 0x2dd006, 0x2e6089, 0x2d1846, 0x2c8a07, 0x364e85, 0x202a43, 0x266205, 0x39ea47, 0x335ac6, 0x3da689, 0x36f186, 0x295a06, 0x24b3c9, 0x2951c9, 0x2b3587, 0x3642c8, 0x29df09, 0x292488, 0x3ed546, 0x2eec45, 0x3220ca, 0x295a86, 0x3cb586, 0x2e91c5, 0x25f988, 0x35b587, 0x2387ca, 0x25c686, 0x303605, 0x30c706, 0x2a3407, 0x3c9e47, 0x30eb45, 0x27bb45, 0x242786, 0x246246, 0x255046, 0x2b4bc4, 0x294549, 0x29afc6, 0x378bca, 0x22de48, 0x30f908, 0x384c8a, 0x23c3c5, 0x2aecc5, 0x3d2808, 0x3206c8, 0x248307, 0x23c286, 0x339dc8, 0x3d7687, 0x292b88, 0x2d0286, 0x296488, 0x2a8046, 0x359147, 0x245906, 0x2ad586, 0x243aca, 0x39f886, 0x2eec49, 0x3bd606, 0x211a4a, 0x3854c9, 0x240c06, 0x2d2544, 0x35edcd, 0x2912c7, 0x3c7506, 0x2db305, 0x2ca3c5, 0x39cd86, 0x2cc849, 0x2dddc7, 0x28ea46, 0x2c9b06, 0x299089, 0x23d5c4, 0x240d04, 0x20bec8, 0x35dac6, 0x3dde08, 0x219108, 0x264787, 0x3bcd49, 0x3d0487, 0x2c930a, 0x3030cf, 0x39b0ca, 0x3d0f45, 0x28ddc5, 0x218f45, 0x23a347, 0x28f6c3, 0x3644c8, 0x236606, 0x236709, 0x2fc746, 0x2e6a47, 0x2ab4c9, 0x219988, 0x304ec7, 0x322683, 0x358705, 0x3d2e86, 0x211746, 0x3dc5c5, 0x255cc7, 0x206b43, 0x32e089, 0x3169c8, 0x2f7dc4, 0x2f7dcd, 0x2b0ac8, 0x2f6108, 0x322e06, 0x2252c9, 0x2ebdc9, 0x32d7c5, 0x2b66ca, 0x2abc0a, 0x3cd0cc, 0x3cd246, 0x28fec6, 0x2e7a86, 0x3a1209, 0x2ffb06, 0x2ba3c6, 0x3ea1c6, 0x3576c8, 0x20bfc6, 0x2f060b, 0x2a8a85, 0x255ec5, 0x2909c5, 0x3ebf86, 0x208c83, 0x24a806, 0x2ac447, 0x2de345, 0x3c35c5, 0x3a3905, 0x2fb286, 0x32d884, 0x33ee46, 0x2a8e89, 0x3ebe0c, 0x2c62c8, 0x267dc4, 0x38d6c6, 0x258e86, 0x26ce48, 0x3b0888, 0x3ebd09, 0x3eb247, 0x38f8c9, 0x288146, 0x237004, 0x361784, 0x2987c4, 0x296f08, 0x3d2f0a, 0x342b06, 0x3759c7, 0x3a0cc7, 0x24afc5, 0x2bb8c4, 0x2a4146, 0x2d1dc6, 0x220883, 0x316807, 0x257048, 0x32d90a, 0x358908, 0x358048, 0x300285, 0x22e485, 0x362205, 0x24b386, 0x24f886, 0x350045, 0x204109, 0x2bb6cc, 0x318007, 0x2b1a08, 0x2a2f45, 0x2b4a0b, 0x254c04, 0x37a8c4, 0x28b806, 0x322847, 0x39d30a, 0x259587, 0x2297c7, 0x291485, 0x3d9745, 0x29e409, 0x2ad586, 0x25940d, 0x346cc5, 0x2b4c83, 0x21df03, 0x2fcac5, 0x33a6c5, 0x26c248, 0x28f207, 0x24e486, 0x2b06c6, 0x2316c5, 0x23e987, 0x331047, 0x260d87, 0x29ce4a, 0x3c6d08, 0x2b4bc4, 0x293907, 0x290647, 0x360686, 0x2a76c7, 0x2f50c8, 0x278fc8, 0x280b46, 0x3292c8, 0x22ec44, 0x37bb86, 0x2693c6, 0x38d946, 0x20a246, 0x2add04, 0x25c486, 0x2d9886, 0x2aa686, 0x20e506, 0x3dac86, 0x239a46, 0x24e388, 0x2cbd48, 0x2ebec8, 0x223ec8, 0x3d2786, 0x204005, 0x372b86, 0x2c1a45, 0x32d207, 0x280d85, 0x215243, 0x310c85, 0x396884, 0x3dadc5, 0x20df03, 0x2ca187, 0x3ae008, 0x318346, 0x2c004d, 0x28dd86, 0x2a9c05, 0x201883, 0x2d6749, 0x23d746, 0x2a9146, 0x21b404, 0x39b047, 0x3cdf86, 0x303845, 0x239803, 0x3ec004, 0x290806, 0x224444, 0x3c3448, 0x3d8b09, 0x281009, 0x2b1d0a, 0x25258d, 0x3e7507, 0x3d7086, 0x216384, 0x358c49, 0x297d48, 0x299606, 0x246dc6, 0x2a76c7, 0x37aa06, 0x21de46, 0x3bd006, 0x3e8e4a, 0x21b008, 0x2bae85, 0x3866c9, 0x3ccd0a, 0x397988, 0x2ae188, 0x2a90c8, 0x3296cc, 0x3a2505, 0x2b0948, 0x2cfd86, 0x2a3a06, 0x2e0947, 0x259485, 0x295945, 0x280ec9, 0x20db47, 0x2366c5, 0x228e87, 0x21df03, 0x2e2545, 0x22e248, 0x294e47, 0x2ae049, 0x2d4205, 0x36e684, 0x31cf48, 0x2bc287, 0x305088, 0x22c1c8, 0x39e745, 0x276dc6, 0x2b07c6, 0x35c509, 0x2694c7, 0x2c2306, 0x3684c7, 0x205383, 0x21d684, 0x22ed45, 0x23eac4, 0x38d244, 0x293507, 0x27a4c7, 0x28ec04, 0x2ade90, 0x3868c7, 0x3d9745, 0x385f4c, 0x207504, 0x2bf3c8, 0x359049, 0x2c5ec6, 0x31c0c8, 0x205c04, 0x28bb08, 0x298b06, 0x243948, 0x2af346, 0x31ffcb, 0x3745c5, 0x22ebc8, 0x2186c4, 0x3d8f4a, 0x2ae049, 0x3d6746, 0x222f08, 0x26a045, 0x2d5cc4, 0x2bf2c6, 0x260c48, 0x293288, 0x3344c6, 0x331c84, 0x322046, 0x3d0507, 0x28d6c7, 0x2a76cf, 0x346087, 0x39e187, 0x36ca85, 0x209e85, 0x2b3249, 0x31f7c6, 0x292145, 0x2954c7, 0x2e4288, 0x2244c5, 0x245906, 0x22dc88, 0x34654a, 0x24a588, 0x29c887, 0x303506, 0x386686, 0x2003c3, 0x219d43, 0x3ccec9, 0x29dd89, 0x2beac6, 0x2d4205, 0x329548, 0x222f08, 0x2ad1c8, 0x3bd08b, 0x2c0287, 0x31c609, 0x2a7948, 0x34eb84, 0x3d6a48, 0x2a07c9, 0x7bf004, 0x2ca484, 0x2ee904, 0x213346, 0x2b8e4e, 0x27bec7, 0x2aed05, 0x23ed4c, 0x2b4587, 0x249407, 0x24de49, 0x21ba49, 0x29b985, 0x3169c8, 0x29c3c9, 0x355cc5, 0x2de288, 0x3ce506, 0x325cc6, 0x243e44, 0x2ce008, 0x255783, 0x206184, 0x2c01c5, 0x3a5b07, 0x355145, 0x3da6c9, 0x2a398d, 0x2b3046, 0x3f3684, 0x2dd4c8, 0x22970a, 0x3cba07, 0x246205, 0x2061c3, 0x2b810e, 0x347f4c, 0x398647, 0x2b9007, 0x4e3a4e47, 0x136c46, 0x2af84, 0x203f43, 0x2ffb45, 0x2ee905, 0x2b2808, 0x2afa89, 0x267cc6, 0x26cec4, 0x30a306, 0x390c0b, 0x2fa98c, 0x26e6c7, 0x2f08c5, 0x3dee48, 0x2fcd85, 0x37fb47, 0x2ee3c7, 0x255785, 0x208c83, 0x246384, 0x3638c5, 0x206645, 0x206646, 0x2a4d08, 0x249487, 0x214d46, 0x3d04c6, 0x378c86, 0x2d5009, 0x3e9507, 0x267b46, 0x2fab06, 0x23ccc6, 0x2c2605, 0x2b83c7, 0x21d705, 0x293188, 0x2a2bcb, 0x2a88d0, 0x2bc845, 0x21860c, 0x24e645, 0x288a83, 0x2d4d46, 0x2d8d84, 0x299486, 0x2aed87, 0x223ec4, 0x2ce548, 0x36438d, 0x341805, 0x22ebc4, 0x2ba544, 0x39dec9, 0x2ac208, 0x32f6c7, 0x298b88, 0x294608, 0x28ed45, 0x3cd207, 0x28ecc7, 0x2369c7, 0x27bb49, 0x288849, 0x221346, 0x223746, 0x295586, 0x323a45, 0x3c6a84, 0x3d4386, 0x3d88c6, 0x28ed88, 0x2a30cb, 0x310347, 0x216384, 0x3cdec6, 0x219447, 0x239645, 0x286745, 0x269984, 0x2887c6, 0x3d4408, 0x358c49, 0x25f5c6, 0x297b48, 0x303906, 0x364dc8, 0x2dadcc, 0x28ec06, 0x2a98cd, 0x2a9d4b, 0x2c8ac5, 0x331187, 0x2d1946, 0x3c9d08, 0x2213c9, 0x2c0588, 0x3d9745, 0x2a82c7, 0x292588, 0x371d89, 0x38eb86, 0x262d4a, 0x3c9a88, 0x2c03cb, 0x2de38c, 0x28bc08, 0x28fec6, 0x3725c8, 0x3461c7, 0x2a8589, 0x2a258d, 0x2ad486, 0x3049c8, 0x2cbc09, 0x2d7488, 0x296588, 0x2da48c, 0x2dc187, 0x2dd187, 0x27b985, 0x2cf707, 0x2e4148, 0x2bf346, 0x25f44c, 0x306948, 0x2e7608, 0x220846, 0x30aa07, 0x221544, 0x223ec8, 0x321b8c, 0x29aa0c, 0x3d0fc5, 0x3cf687, 0x331c06, 0x30a986, 0x38be48, 0x225804, 0x2301cb, 0x374dcb, 0x303506, 0x364207, 0x374845, 0x2827c5, 0x230306, 0x26a005, 0x254bc5, 0x2e5ec7, 0x20df09, 0x203a84, 0x248c45, 0x309505, 0x217f48, 0x35de45, 0x2d4649, 0x2c0cc7, 0x2c0ccb, 0x302106, 0x24e0c9, 0x332408, 0x289985, 0x236ac8, 0x288888, 0x3b5207, 0x298907, 0x293589, 0x243887, 0x29b5c9, 0x2bdbcc, 0x2beac8, 0x2de1c9, 0x3a1407, 0x2946c9, 0x3e1347, 0x2de488, 0x3e1545, 0x37bb06, 0x2db348, 0x2ec7c8, 0x3ccbc9, 0x254c07, 0x2b1f05, 0x207c09, 0x36a346, 0x2a2384, 0x30ce06, 0x328d48, 0x23da47, 0x2a32c8, 0x329389, 0x323307, 0x2ad306, 0x331244, 0x310d09, 0x3cd088, 0x220707, 0x297346, 0x2a3006, 0x3cb504, 0x2fb8c6, 0x207cc3, 0x374149, 0x374586, 0x2bce85, 0x2b06c6, 0x20e685, 0x292a08, 0x204f87, 0x247806, 0x330cc6, 0x30f908, 0x2b33c7, 0x2ad4c5, 0x2adc88, 0x3dd848, 0x3c9a88, 0x24e505, 0x37bb86, 0x280dc9, 0x35c384, 0x20e50b, 0x21db4b, 0x2bad89, 0x21df03, 0x267ec5, 0x338106, 0x250248, 0x3a7644, 0x318346, 0x29cf89, 0x2c6c05, 0x2e5e06, 0x2bc286, 0x222f04, 0x2ae30a, 0x2bcdc8, 0x2ec7c6, 0x379ac5, 0x383187, 0x33a907, 0x276dc4, 0x21dd87, 0x2c9304, 0x2f0f06, 0x205bc3, 0x27bb45, 0x2c4ac5, 0x3e1708, 0x293ac5, 0x28e949, 0x223d07, 0x223d0b, 0x2b4ccc, 0x2b52ca, 0x351107, 0x208c03, 0x28d0c8, 0x240cc5, 0x224545, 0x3587c4, 0x2de386, 0x359046, 0x2fb907, 0x26458b, 0x2add04, 0x36cbc4, 0x2e1404, 0x2e5bc6, 0x223ec4, 0x222d88, 0x3585c5, 0x252bc5, 0x2ad107, 0x331289, 0x33a6c5, 0x39cd8a, 0x3de289, 0x2a678a, 0x3e8f89, 0x312c84, 0x2c9bc5, 0x37ab08, 0x383a8b, 0x304b45, 0x219286, 0x24d204, 0x28ee86, 0x323189, 0x219547, 0x36f348, 0x252906, 0x3d0487, 0x293288, 0x380146, 0x3d6e04, 0x26ae87, 0x390e85, 0x39f0c7, 0x205b04, 0x2d18c6, 0x33aa48, 0x2a9f08, 0x31a707, 0x385088, 0x2a8105, 0x21dc84, 0x384b88, 0x320fc4, 0x218ec5, 0x38bc44, 0x3d7787, 0x29b087, 0x294808, 0x305206, 0x293a45, 0x28e748, 0x24a788, 0x2b1c49, 0x21de46, 0x238848, 0x3d8dca, 0x2396c8, 0x30d585, 0x372d86, 0x3de148, 0x2a838a, 0x35bb07, 0x298185, 0x2a4d88, 0x270504, 0x25fa06, 0x2dd808, 0x3dac86, 0x33b048, 0x231cc7, 0x3d5e86, 0x2d2544, 0x34c407, 0x2cc184, 0x323147, 0x2eff4d, 0x248385, 0x2cc64b, 0x29ac86, 0x261808, 0x2ce504, 0x255246, 0x290806, 0x372907, 0x2a958d, 0x308a87, 0x2cd508, 0x3b4dc5, 0x29e5c8, 0x2e1b06, 0x2a8188, 0x23f1c6, 0x385cc7, 0x2e93c9, 0x35b387, 0x2998c8, 0x26e5c5, 0x231748, 0x30a8c5, 0x245845, 0x370505, 0x2191c3, 0x20a2c4, 0x239785, 0x2531c9, 0x37b946, 0x2f51c8, 0x249b85, 0x2cf5c7, 0x2d89ca, 0x2e5d49, 0x2dcf0a, 0x2ebf48, 0x228ccc, 0x29554d, 0x303b03, 0x33af48, 0x3ebfc5, 0x346306, 0x219806, 0x35ea85, 0x3685c9, 0x208b85, 0x28e748, 0x268e86, 0x370d06, 0x2b3cc9, 0x26ba87, 0x2a2e86, 0x2d8948, 0x38d848, 0x2f7f07, 0x2e62ce, 0x2e1d45, 0x371c85, 0x3dab88, 0x3327c7, 0x20df82, 0x2da144, 0x29938a, 0x2207c8, 0x2889c6, 0x2ab608, 0x2b07c6, 0x209d08, 0x2c2308, 0x245804, 0x2cf985, 0x773104, 0x773104, 0x773104, 0x203e03, 0x2038c6, 0x28ec06, 0x2af74c, 0x205c43, 0x205b06, 0x21b284, 0x23d6c8, 0x29cdc5, 0x299486, 0x2b4808, 0x2ecdc6, 0x247786, 0x3d6548, 0x22edc7, 0x243649, 0x33824a, 0x27a644, 0x280d85, 0x30be85, 0x358a46, 0x3e7546, 0x3316c6, 0x36a0c6, 0x243784, 0x24378b, 0x23da44, 0x24e245, 0x2c1285, 0x264846, 0x3e9788, 0x295407, 0x374504, 0x26f0c3, 0x270005, 0x30ccc7, 0x29530b, 0x3e1607, 0x2b4708, 0x2cfac7, 0x27e146, 0x284c08, 0x2a6d4b, 0x34f1c6, 0x2103c9, 0x2a6ec5, 0x322683, 0x2e5e06, 0x231bc8, 0x214283, 0x2d1a03, 0x293286, 0x2b07c6, 0x37e60a, 0x28ff05, 0x29064b, 0x2b060b, 0x24da83, 0x20a8c3, 0x2c9284, 0x2d8807, 0x231c44, 0x23d6c4, 0x2cfc04, 0x2399c8, 0x379a08, 0x219f49, 0x2e9ac8, 0x3c7787, 0x20e506, 0x2f4e0f, 0x2e1e86, 0x2eb284, 0x37984a, 0x30cbc7, 0x2cc286, 0x2a23c9, 0x219ec5, 0x246305, 0x21a006, 0x231883, 0x270549, 0x21b186, 0x329149, 0x39d306, 0x27bb45, 0x3d13c5, 0x203383, 0x3cc588, 0x32f887, 0x236604, 0x23d548, 0x2a3784, 0x320ec6, 0x2d4d46, 0x249406, 0x22ea89, 0x2244c5, 0x2ad586, 0x262689, 0x2e1006, 0x239a46, 0x3afcc6, 0x22e9c5, 0x38bc46, 0x385cc4, 0x3e1545, 0x2db344, 0x2cec86, 0x346c84, 0x219543, 0x297e05, 0x23fb48, 0x255787, 0x3a76c9, 0x298088, 0x2aab91, 0x2bc30a, 0x303447, 0x279306, 0x21b284, 0x2db448, 0x2f6088, 0x2aad4a, 0x2d440d, 0x219186, 0x3d6646, 0x34c4c6, 0x30e9c7, 0x2cd5c5, 0x3bcb07, 0x23d605, 0x2c0e04, 0x347246, 0x23c0c7, 0x27024d, 0x3de087, 0x36da48, 0x28ea49, 0x372c86, 0x38eb05, 0x245404, 0x328e46, 0x3bcc46, 0x220946, 0x2abe88, 0x233803, 0x218183, 0x384745, 0x25c786, 0x2c22c5, 0x252b08, 0x2aef4a, 0x276ec4, 0x23d6c8, 0x2a90c8, 0x39ec07, 0x298789, 0x2d6a88, 0x2bec47, 0x2d9a06, 0x3dac8a, 0x328ec8, 0x31ce09, 0x2ac2c8, 0x21d009, 0x2791c7, 0x2cca05, 0x3bd286, 0x2bf1c8, 0x28a308, 0x2662c8, 0x341948, 0x24e245, 0x20bcc4, 0x2185c6, 0x3b7205, 0x361cc8, 0x2a81cb, 0x2a36c6, 0x3a0d04, 0x2fefc9, 0x2bba84, 0x3ce488, 0x318dc7, 0x299c84, 0x2d9148, 0x2e0704, 0x2c2644, 0x2f7d05, 0x3b0786, 0x2fe707, 0x234643, 0x2b4f45, 0x250504, 0x3b8506, 0x32d848, 0x20bec5, 0x2a7e89, 0x359c45, 0x264888, 0x23ec07, 0x3c3908, 0x2d8d87, 0x39f0c9, 0x26ac06, 0x2e4346, 0x2a4784, 0x30f9c5, 0x3de58c, 0x2909c7, 0x290e87, 0x38bdc8, 0x2b3046, 0x2ac384, 0x327b84, 0x298349, 0x2e7b86, 0x2b2387, 0x3490c4, 0x2bb206, 0x3b7645, 0x2ee247, 0x2f0586, 0x2576c9, 0x2cec47, 0x2acf87, 0x2bab06, 0x29aa85, 0x295708, 0x21e1c8, 0x37be06, 0x20bf05, 0x3936c6, 0x206b03, 0x2b2689, 0x3d34ce, 0x2d7fc8, 0x3aad08, 0x37bc0b, 0x2a80c6, 0x3a0bc4, 0x297cc4, 0x3d35ca, 0x21afc7, 0x267c05, 0x210249, 0x2dd305, 0x3e8187, 0x246444, 0x2a2647, 0x2f1fc8, 0x3813c6, 0x2da1c9, 0x2d9d8a, 0x21af46, 0x2b0606, 0x2c6f85, 0x3a70c5, 0x399347, 0x255108, 0x3b7588, 0x317d46, 0x3d6cc5, 0x38bf0e, 0x245f84, 0x2b2785, 0x28e7c9, 0x2ed488, 0x2a09c6, 0x2b530c, 0x2b61d0, 0x2b8a8f, 0x2ba108, 0x359c47, 0x3dc5c5, 0x2a9785, 0x2fe589, 0x2a9789, 0x28f506, 0x2d0247, 0x3a5285, 0x24e689, 0x3673c6, 0x2ff94d, 0x298689, 0x23ee44, 0x2d7bc8, 0x240ac9, 0x342cc6, 0x2904c5, 0x2e4346, 0x2539c9, 0x233b08, 0x20f0c5, 0x2a4c84, 0x2b54cb, 0x342b85, 0x24bc46, 0x299086, 0x3ae7c6, 0x24b60b, 0x2a7f89, 0x2281c5, 0x338d87, 0x248006, 0x2718c6, 0x2ee688, 0x225b89, 0x2e4b0c, 0x314e48, 0x323c06, 0x33d7c3, 0x23c1c6, 0x309205, 0x294988, 0x3d66c6, 0x2d0608, 0x25d705, 0x2715c5, 0x3a0048, 0x3aaac7, 0x214987, 0x381bc7, 0x324a48, 0x359d88, 0x2d1506, 0x2d23c7, 0x3bb2c7, 0x39ee4a, 0x203cc3, 0x3ebf86, 0x267f05, 0x284804, 0x291789, 0x39f044, 0x235784, 0x2b6a44, 0x2b900b, 0x33ac87, 0x2fb245, 0x2ad6c8, 0x28ee46, 0x28ee48, 0x292b86, 0x2a1445, 0x2a20c5, 0x2a5106, 0x279208, 0x2a60c8, 0x291946, 0x2ad50f, 0x2b2150, 0x209805, 0x206b43, 0x2856c5, 0x326848, 0x2a9689, 0x355e08, 0x21e448, 0x26afc8, 0x33ad47, 0x28eb09, 0x2d0808, 0x2a56c4, 0x2b68c8, 0x21a689, 0x2d2907, 0x2d2d04, 0x348e48, 0x255a8a, 0x3221c6, 0x21e4c6, 0x222849, 0x2b6407, 0x2ebc48, 0x2464c8, 0x3d0b88, 0x279b85, 0x3b7e85, 0x255ec5, 0x2ee8c5, 0x3cf007, 0x208c85, 0x2de345, 0x207906, 0x355d47, 0x3b69c7, 0x255d86, 0x2f1c85, 0x24bc46, 0x220805, 0x2e4888, 0x32c584, 0x2e62c6, 0x398c44, 0x2d8f48, 0x2e63ca, 0x291f4c, 0x2b7685, 0x2aebc6, 0x2e4cc6, 0x3e9fc6, 0x323c84, 0x3c8045, 0x292447, 0x2b6489, 0x2eb507, 0x7bf004, 0x7bf004, 0x33ab05, 0x315d84, 0x2b4aca, 0x28ecc6, 0x39ffc4, 0x3cb6c5, 0x3c4605, 0x2d1cc4, 0x298cc7, 0x3d4387, 0x2ea9c8, 0x3937c8, 0x20f0c9, 0x2d79c8, 0x29d40b, 0x20cf04, 0x317f45, 0x295e45, 0x381b49, 0x225b89, 0x2feec8, 0x23dd08, 0x24cf84, 0x3e8d84, 0x27bb45, 0x2a4707, 0x331049, 0x372707, 0x238885, 0x28ba06, 0x3792c6, 0x210504, 0x2b3fc6, 0x290a84, 0x28b0c6, 0x330e06, 0x2140c6, 0x3d9745, 0x2529c7, 0x208c03, 0x270d09, 0x30f708, 0x23d544, 0x358b4d, 0x2aa008, 0x3012c8, 0x31cd86, 0x2e94c9, 0x2e5d49, 0x322e85, 0x2af04a, 0x281a0a, 0x28e44c, 0x28e5c6, 0x28ccc6, 0x2e2486, 0x3ac749, 0x346546, 0x2b3406, 0x208c46, 0x223ec8, 0x24a586, 0x2eaa4b, 0x2a4885, 0x252bc5, 0x28d7c5, 0x20bc46, 0x219143, 0x249386, 0x3de007, 0x2db305, 0x28c085, 0x2ca3c5, 0x2f9a46, 0x322f44, 0x336946, 0x2a0b09, 0x20bacc, 0x2c0b48, 0x260bc4, 0x37fac6, 0x29ad86, 0x231bc8, 0x222f08, 0x20b9c9, 0x383187, 0x35d809, 0x283886, 0x219104, 0x20fd44, 0x293884, 0x293288, 0x330e8a, 0x33a646, 0x36c947, 0x39f347, 0x24e1c5, 0x2b6904, 0x2a0786, 0x2cd606, 0x205083, 0x30f547, 0x22c0c8, 0x322fca, 0x3cf988, 0x34ee48, 0x346cc5, 0x229005, 0x310445, 0x24e586, 0x250fc6, 0x3e1845, 0x374389, 0x2b670c, 0x34a587, 0x2aadc8, 0x295dc5, 0x773104, 0x2bb4c4, 0x294f84, 0x24b586, 0x2b150e, 0x246387, 0x301285, 0x35c30c, 0x2a3647, 0x23c047, 0x247a89, 0x21aa49, 0x298185, 0x30f708, 0x280dc9, 0x3c9945, 0x2db248, 0x2e8e86, 0x384e06, 0x3854c4, 0x31c7c8, 0x252483, 0x2034c4, 0x270085, 0x3a4807, 0x3235c5, 0x3d8c89, 0x39138d, 0x2b2246, 0x3d5504, 0x23c208, 0x20dd4a, 0x3a9947, 0x34a405, 0x203503, 0x2b07ce, 0x3cc68c, 0x397a87, 0x2b16c7, 0x4dba3607, 0x2b4c6, 0x2c684, 0x205b43, 0x346585, 0x294f85, 0x2ab9c8, 0x2a8f09, 0x260ac6, 0x231c44, 0x303386, 0x38d60b, 0x2e00cc, 0x267c47, 0x2ead05, 0x3dd748, 0x2f7cc5, 0x379847, 0x2e9287, 0x252485, 0x219143, 0x245ac4, 0x328c05, 0x203985, 0x203986, 0x2a0588, 0x23c0c7, 0x219b06, 0x3cb406, 0x370446, 0x2d1a49, 0x3cd307, 0x260946, 0x2e0246, 0x239006, 0x2bcd05, 0x20d646, 0x3b5c05, 0x35dec8, 0x2a434b, 0x2a0106, 0x39f384, 0x23a1c9, 0x223d04, 0x2e8e08, 0x311707, 0x296484, 0x2d5ec8, 0x2dca44, 0x2bcd44, 0x23d485, 0x341846, 0x239907, 0x22eb83, 0x2ad3c5, 0x33ecc4, 0x371cc6, 0x322f08, 0x384f85, 0x2a4009, 0x207e05, 0x205b08, 0x35c1c7, 0x374688, 0x2d5b07, 0x39e249, 0x25c306, 0x3a0fc6, 0x208c44, 0x20e445, 0x3dce8c, 0x28d7c7, 0x28dc87, 0x3e7188, 0x2b2246, 0x3ddf44, 0x31da44, 0x293409, 0x2e2586, 0x29e487, 0x372a44, 0x2b40c6, 0x3d22c5, 0x2e9107, 0x2ea9c6, 0x262c09, 0x31f9c7, 0x2a76c7, 0x2b3b46, 0x297285, 0x291a88, 0x21b008, 0x375b46, 0x384fc5, 0x2dedc6, 0x203e43, 0x2ab849, 0x33144e, 0x2d5848, 0x2a3888, 0x37594b, 0x2a4246, 0x39f244, 0x247784, 0x33154a, 0x218507, 0x260a05, 0x2103c9, 0x2d9945, 0x3e8dc7, 0x245b84, 0x2900c7, 0x219008, 0x3c0ac6, 0x2d6fc9, 0x2d6b8a, 0x218486, 0x2a9b46, 0x2c1205, 0x3a5dc5, 0x3a9647, 0x251a88, 0x3d2208, 0x245806, 0x3d1445, 0x3e72ce, 0x2b4bc4, 0x2ab945, 0x28b389, 0x31f5c8, 0x29c7c6, 0x2ad78c, 0x2aeb50, 0x2b114f, 0x2b3148, 0x351107, 0x3d9745, 0x239785, 0x239789, 0x2a4f89, 0x322146, 0x304bc7, 0x38bd45, 0x248309, 0x360706, 0x34638d, 0x293749, 0x23d6c4, 0x2d5048, 0x23ddc9, 0x33a806, 0x28d2c5, 0x3a0fc6, 0x36f209, 0x36fb08, 0x204005, 0x2a0504, 0x2ad94b, 0x33a6c5, 0x2502c6, 0x295886, 0x25d146, 0x24e80b, 0x2a4109, 0x3e1485, 0x32d107, 0x2bc286, 0x261986, 0x294d08, 0x2d9b09, 0x36d80c, 0x30cac8, 0x31bb06, 0x3344c3, 0x235f06, 0x240c45, 0x291188, 0x3d0e46, 0x304f88, 0x259605, 0x26bf45, 0x2ddf88, 0x383487, 0x219747, 0x2fb907, 0x31c0c8, 0x351248, 0x2f5f86, 0x2ceac7, 0x21d547, 0x39dfca, 0x205cc3, 0x20bc46, 0x260d05, 0x2854c4, 0x28ea49, 0x39e1c4, 0x200e84, 0x2af3c4, 0x2b16cb, 0x32f7c7, 0x2f9a05, 0x2a7e08, 0x28ba06, 0x28ba08, 0x28fe46, 0x29d2c5, 0x29d805, 0x2a1486, 0x276c48, 0x2a2308, 0x28ec06, 0x2a7c4f, 0x2ab310, 0x3da785, 0x208c03, 0x286385, 0x31c548, 0x2a4e89, 0x3c9a88, 0x21b288, 0x263f08, 0x32f887, 0x28b6c9, 0x305188, 0x3c8fc4, 0x288b04, 0x258ec5, 0x203ec3, 0x360b45, 0x2b5186, 0x2af8cc, 0x21e246, 0x2903c6, 0x2a0c45, 0x2fb308, 0x2e9786, 0x26d206, 0x21e4c6, 0x22a3cc, 0x286c44, 0x378dca, 0x2a0b88, 0x2af707, 0x250406, 0x267d87, 0x309f05, 0x29ab46, 0x368d86, 0x381847, 0x2357c4, 0x220445, 0x28e7c4, 0x2c6607, 0x28ea08, 0x28fd4a, 0x296087, 0x2c2207, 0x359bc7, 0x2fcec9, 0x2af8ca, 0x234b43, 0x2356c5, 0x211783, 0x2d3f09, 0x362c88, 0x375b07, 0x355f09, 0x21e2c6, 0x227a08, 0x35b685, 0x20c2ca, 0x3839c9, 0x29c009, 0x2e5a47, 0x3e5189, 0x211648, 0x3d2c06, 0x2aed88, 0x204407, 0x234c87, 0x2ac6c7, 0x3ce308, 0x386186, 0x255845, 0x292447, 0x2b0108, 0x378c04, 0x2ed884, 0x2a6b47, 0x2c7f87, 0x29c24a, 0x3d2b86, 0x3c834a, 0x2dd947, 0x245d47, 0x220504, 0x2a2c84, 0x2ee146, 0x3e9a84, 0x3e9a8c, 0x318d05, 0x217449, 0x2af004, 0x2d1d85, 0x229688, 0x20bb45, 0x39dc06, 0x237e44, 0x2aa98a, 0x2c6a06, 0x2afdca, 0x263b07, 0x2a71c5, 0x2353c5, 0x24b00a, 0x28d4c5, 0x2b9606, 0x24f184, 0x2ce946, 0x399405, 0x3d6786, 0x3e4e0c, 0x3f278a, 0x2abd04, 0x234ec6, 0x2b6407, 0x2f0504, 0x3576c8, 0x2d6446, 0x3a0b49, 0x2f8649, 0x2c4449, 0x30fc46, 0x204506, 0x2aeec7, 0x204048, 0x204309, 0x33ac87, 0x2ad846, 0x3d5d87, 0x244545, 0x245f84, 0x2aea87, 0x3bb485, 0x29ccc5, 0x394687, 0x255648, 0x3dedc6, 0x2b0f8d, 0x2b2a0f, 0x2b7f4d, 0x222744, 0x242046, 0x2f3508, 0x3ea185, 0x24b4c8, 0x36790a, 0x23ee44, 0x2d2686, 0x217e87, 0x2198c7, 0x36b989, 0x2aed45, 0x2d1cc4, 0x2d374a, 0x2d9849, 0x3e5287, 0x36be46, 0x342cc6, 0x258e06, 0x270c06, 0x32f48f, 0x2f33c9, 0x20bfc6, 0x271506, 0x23b6c9, 0x2d24c7, 0x200e83, 0x22a546, 0x21c543, 0x364448, 0x285e47, 0x2ba309, 0x2b9b48, 0x214ac8, 0x318146, 0x232c89, 0x38f805, 0x23c104, 0x383887, 0x3a1285, 0x222744, 0x38c208, 0x21b284, 0x2d2207, 0x2e5106, 0x27b105, 0x2af248, 0x218009, 0x2cf047, 0x39eb84, 0x3727c8, 0x25278a, 0x32f346, 0x219186, 0x21dd09, 0x2aed87, 0x2e68c8, 0x245c08, 0x3cbac8, 0x2775c5, 0x348d85, 0x252bc5, 0x294f45, 0x2cba47, 0x21dcc5, 0x2db305, 0x21da06, 0x3c99c7, 0x3839c7, 0x252a86, 0x2ec485, 0x2502c6, 0x205005, 0x36d588, 0x320644, 0x2e1086, 0x398084, 0x2d5cc8, 0x2e118a, 0x28f20c, 0x2afd05, 0x30ea86, 0x36d9c6, 0x3b6b46, 0x31bb84, 0x3d2b45, 0x28f707, 0x2aee09, 0x2e6187, 0x773104, 0x773104, 0x32f645, 0x30e584, 0x2acf4a, 0x28b886, 0x2ddf04, 0x3cf605, 0x2cae05, 0x2cd504, 0x2954c7, 0x207d87, 0x2e5bc8, 0x2deec8, 0x204009, 0x320fc8, 0x299a0b, 0x2398c4, 0x34a4c5, 0x2921c5, 0x2fb889, 0x2d9b09, 0x23a0c8, 0x2f0d08, 0x264844, 0x29adc5, 0x20c003, 0x358a05, 0x2ad606, 0x2a8d4c, 0x21b086, 0x28d1c6, 0x29ca45, 0x2f9ac8, 0x2e0a86, 0x279486, 0x219186, 0x22e80c, 0x282384, 0x37058a, 0x29c988, 0x2a8b87, 0x33ebc6, 0x260b87, 0x302f85, 0x297346, 0x361386, 0x37b807, 0x255844, 0x3d7885, 0x28b384, 0x2c0e87, 0x28b5c8, 0x28cb4a, 0x292407, 0x2bc907, 0x351087, 0x2f7e09, 0x2a8d4a, 0x232443, 0x255745, 0x214103, 0x2cfc49, 0x231e08, 0x36ca87, 0x3c9b89, 0x21b106, 0x2050c8, 0x2ca105, 0x24a88a, 0x3a8289, 0x280a09, 0x2e0947, 0x2f6189, 0x213fc8, 0x3d6c46, 0x30ec48, 0x28c3c7, 0x243887, 0x3de287, 0x2e8c88, 0x37f046, 0x252545, 0x28f707, 0x2a9648, 0x3703c4, 0x378a84, 0x2a2d87, 0x2c2687, 0x280c4a, 0x3d6bc6, 0x3d2e4a, 0x2da087, 0x2b4987, 0x3d7944, 0x29b684, 0x2e9006, 0x3cd884, 0x3cd88c, 0x311645, 0x218e49, 0x205c84, 0x2cd5c5, 0x20dcc8, 0x2a23c5, 0x39cd86, 0x2a50c4, 0x2a5fca, 0x2c1f06, 0x3513ca, 0x2b8c07, 0x2a3405, 0x231885, 0x24e20a, 0x28a245, 0x239746, 0x24cf84, 0x2c9406, 0x3a9705, 0x3d0f06, 0x31a70c, 0x36464a, 0x281b04, 0x20e506, 0x2aed87, 0x2ea944, 0x223ec8, 0x3ab986, 0x39f1c9, 0x37d709, 0x2bebc9, 0x20e6c6, 0x28c4c6, 0x30ed87, 0x3742c8, 0x28c2c9, 0x32f7c7, 0x2a7f86, 0x3d0507, 0x34c385, 0x2b4bc4, 0x30e947, 0x21d705, 0x2992c5, 0x393747, 0x252348, 0x3dd6c6, 0x2aa4cd, 0x2abbcf, 0x2b060d, 0x21dc04, 0x23fc46, 0x2ed548, 0x208c05, 0x24e6c8, 0x3b50ca, 0x23d6c4, 0x2cbec6, 0x2b6187, 0x2cde87, 0x22ee89, 0x30ec05, 0x2cd504, 0x2cf8ca, 0x2d6649, 0x2f6287, 0x2aa786, 0x33a806, 0x29ad06, 0x26af46, 0x35a38f, 0x2ed409, 0x24a586, 0x26be86, 0x237789, 0x2cebc7, 0x20ae43, 0x22e986, 0x219d43, 0x35e948, 0x255107, 0x2b3349, 0x2b4588, 0x219888, 0x254d46, 0x22af49, 0x35d745, 0x235e44, 0x2ccac7, 0x3ac7c5, 0x21dc04, 0x3e75c8, 0x2187c4, 0x2ce907, 0x3adf86, 0x242845, 0x2ac2c8, 0x33a6cb, 0x30fc07, 0x24e486, 0x2e1f04, 0x3b5f86, 0x27bb45, 0x21d705, 0x291809, 0x2950c9, 0x2438c4, 0x243905, 0x20e545, 0x24a706, 0x30f808, 0x2d9286, 0x22bf0b, 0x2c5d4a, 0x2d5c05, 0x29d886, 0x236305, 0x3c5b45, 0x2a9247, 0x20bec8, 0x276cc4, 0x25be46, 0x2a2386, 0x214187, 0x322644, 0x290806, 0x23a445, 0x23a449, 0x28c6c4, 0x30bfc9, 0x28ec06, 0x2dc248, 0x20e545, 0x39f445, 0x3d0f06, 0x36d709, 0x21aa49, 0x28d246, 0x31f6c8, 0x35c408, 0x2362c4, 0x2d0084, 0x2d0088, 0x3c7608, 0x35d909, 0x2ad586, 0x219186, 0x339c8d, 0x318346, 0x2dac89, 0x3bcf05, 0x21a006, 0x36fc88, 0x336885, 0x21d584, 0x27bb45, 0x294a08, 0x2acd09, 0x28b444, 0x2d18c6, 0x2eadca, 0x397988, 0x280dc9, 0x28d90a, 0x3c9b06, 0x2abd88, 0x379605, 0x3b4c48, 0x303005, 0x21afc9, 0x33c7c9, 0x23bc42, 0x2a6ec5, 0x292286, 0x28eb47, 0x2854c5, 0x33eac6, 0x317308, 0x2b2246, 0x37a9c9, 0x28dd86, 0x294b88, 0x2be0c5, 0x24c706, 0x385dc8, 0x293288, 0x2790c8, 0x319888, 0x20d644, 0x223803, 0x37ac04, 0x292606, 0x34c3c4, 0x2a37c7, 0x279389, 0x2e1405, 0x245c06, 0x22e986, 0x2a03cb, 0x2cc1c6, 0x237fc6, 0x2e3fc8, 0x328986, 0x2a3203, 0x207083, 0x2b4bc4, 0x238745, 0x303747, 0x28b5c8, 0x28b5cf, 0x28f60b, 0x30f608, 0x2d1946, 0x30f90e, 0x24e643, 0x3036c4, 0x2cc145, 0x2cd386, 0x2a088b, 0x2a47c6, 0x22dd09, 0x242845, 0x248a08, 0x203cc8, 0x21a90c, 0x2b1706, 0x358a46, 0x2d4205, 0x299688, 0x28f205, 0x34eb88, 0x2adb0a, 0x2b0a49, 0x773104, 0x342b8b, 0x316ec7, 0x24b286, 0x2e7504, 0x3a9606, 0x27e985, 0x3bb485, 0x295489, 0x2988c9, 0x234cc4, 0x234d05, 0x214b85, 0x20c146, 0x316ac8, 0x2dcc46, 0x256e8b, 0x2cb48a, 0x2d8e85, 0x2a2146, 0x23a245, 0x357e45, 0x2b5e87, 0x3ec208, 0x279284, 0x260c46, 0x2a6146, 0x211807, 0x32cf84, 0x294006, 0x2ff245, 0x2ff249, 0x204704, 0x3139c9, 0x291946, 0x2df708, 0x214b85, 0x3a0dc5, 0x3d6786, 0x2e4a09, 0x21ba49, 0x290446, 0x2ed588, 0x23ee48, 0x23a204, 0x2d3bc4, 0x2d3bc8, 0x20ba88, 0x38f9c9, 0x2b5106, 0x21e4c6, 0x34214d, 0x3203c6, 0x2df0c9, 0x228285, 0x21c586, 0x233c88, 0x33ed85, 0x3bb304, 0x27e985, 0x2981c8, 0x2b4889, 0x28e884, 0x2d4e86, 0x2f098a, 0x398548, 0x29c3c9, 0x290b0a, 0x355e86, 0x2b2bc8, 0x37f905, 0x2a0e08, 0x309f85, 0x21e189, 0x344849, 0x231e42, 0x2d7745, 0x295f06, 0x291887, 0x284805, 0x328146, 0x31f388, 0x2b3046, 0x2f7709, 0x290f86, 0x2ee508, 0x2c3945, 0x2533c6, 0x20cf48, 0x296f08, 0x362a48, 0x321f88, 0x2185c4, 0x232783, 0x2f7944, 0x296286, 0x244584, 0x3aac47, 0x26d109, 0x2e6645, 0x2464c6, 0x22a546, 0x2a4b4b, 0x2d1086, 0x285906, 0x2e9608, 0x240646, 0x2a6fc3, 0x211483, 0x245f84, 0x23c405, 0x328387, 0x28ea08, 0x28ea0f, 0x29234b, 0x3168c8, 0x2d4f06, 0x316bce, 0x24b443, 0x328304, 0x2d1005, 0x2d1b46, 0x2a424b, 0x2a89c6, 0x21f509, 0x27b105, 0x38e748, 0x209c08, 0x21b90c, 0x2b9046, 0x360b86, 0x3e4245, 0x29d088, 0x20cf45, 0x2402c8, 0x2b568a, 0x2b8389, 0x7bf004, 0x2000c2, 0x53a05842, 0x5420b642, 0x200382, 0x258104, 0x2026c2, 0x292e44, 0x2048c2, 0xbc03, 0x25c204, 0x200ec2, 0x230944, 0x201f42, 0x2003c2, 0x2036c2, 0x7ffc8, 0x45c4, 0x229f43, 0x224d03, 0x2e9c43, 0xf002, 0x58e02, 0x219c03, 0x2127c3, 0x21f483, 0x6ca02, 0x9e42, 0x1b02, 0x258843, 0x229f43, 0x224d03, 0x2e9c43, 0x258104, 0x2127c3, 0x21f483, 0x220743, 0x29f804, 0x229f43, 0x241284, 0x224d03, 0x2ef2c4, 0x2e9c43, 0x285787, 0x219c03, 0x20bc03, 0x219d08, 0x21f483, 0x28aa0b, 0x3041c3, 0x216e06, 0x208ec2, 0x2ff38b, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x21f483, 0x21ad03, 0x207743, 0x206382, 0x1c3448, 0x11d44, 0x21a043, 0x226783, 0x20f583, 0xb882, 0x5cf02, 0x214e43, 0x214883, 0x24acc3, 0x2ccc2, 0xba42, 0x3342, 0x20bec3, 0x21a043, 0x226783, 0x20f583, 0x25c204, 0x214883, 0x24acc3, 0x24f6c3, 0x265a04, 0x21a043, 0x243544, 0x226783, 0x2eef84, 0x20f583, 0x284ac7, 0x214e43, 0x208c43, 0x2a1948, 0x24acc3, 0x2937cb, 0x30ad83, 0x219086, 0x249902, 0x30614b, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x24acc3, 0x21bd03, 0x203783, 0x2000c2, 0x7ffc8, 0x232a05, 0x21d788, 0x34fd88, 0x205842, 0x354705, 0x3d0647, 0x203642, 0x2ce747, 0x1c3448, 0x235d45, 0x3bb508, 0x2ef0c8, 0x20b642, 0x3b9485, 0x3d5ec7, 0x201b42, 0x3c4e47, 0x200382, 0x262447, 0x22cf89, 0x27c388, 0x3cb949, 0x212c82, 0x203e87, 0x392fc4, 0x3d0707, 0x2c5c47, 0x26dc42, 0x219c03, 0x20f782, 0x2048c2, 0x2696c7, 0x246f89, 0x27f1c8, 0x3d0a09, 0x213c02, 0x20f2c7, 0x393f04, 0x3d5f87, 0x2cb387, 0x2dbe82, 0x214e43, 0x20d3c2, 0x201f42, 0x2003c2, 0x20f102, 0x2035c2, 0x200902, 0x2036c2, 0x2eb705, 0x212345, 0x5842, 0x24d03, 0x229f43, 0x224d03, 0x219443, 0x2e9c43, 0x204203, 0x2127c3, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x14fa46, 0x566c744b, 0x219c03, 0x2127c3, 0x81983, 0x21f483, 0xca7c5, 0x11643, 0x206382, 0x283b85, 0x214405, 0xb642, 0x26783, 0x21a043, 0x226783, 0x207ec3, 0x20f583, 0x211983, 0x214883, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x159186, 0x56ea590b, 0x214e43, 0x214883, 0x24acc3, 0x1a3d05, 0x11f03, 0x101, 0x229f43, 0x224d03, 0x2e9c43, 0x258104, 0x25e043, 0x2127c3, 0x81983, 0x21f483, 0x21fc83, 0x5706e786, 0x5483, 0x1739c5, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x205842, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x81983, 0x21f483, 0x7042, 0x7ffc8, 0x361c3, 0xbc03, 0x81983, 0x51a44, 0x1487dc4, 0xf80c5, 0x21a043, 0x226783, 0x20f583, 0x25c204, 0x20bc83, 0x214883, 0x24acc3, 0x221c03, 0x57889cc6, 0x24dc3, 0x1a85, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x20b642, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0xabc2, 0x1c3448, 0x3a103, 0x550c4, 0x148c0c4, 0xfd185, 0x1ad803, 0x2000c2, 0x32d4c4, 0x229f43, 0x224d03, 0x2e9c43, 0x240a03, 0x235c45, 0x25e043, 0x2280c3, 0x2127c3, 0x25c743, 0x21f483, 0x217083, 0x208d43, 0x205ec3, 0xc8bc3, 0x339144, 0x21a043, 0x226783, 0x20f583, 0x23b9c3, 0x239805, 0x20bc83, 0x222043, 0x214883, 0x262243, 0x24acc3, 0x219303, 0x212f03, 0x200f83, 0x15103, 0x5c2, 0x47f42, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x445c2, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x2000c2, 0x258843, 0x205842, 0xd02, 0x224d03, 0x2e9c43, 0x258104, 0x2127c3, 0x21f483, 0x2036c2, 0x7ffc8, 0x2e9c43, 0x81983, 0x7ffc8, 0x81983, 0x2c9ec3, 0x229f43, 0x23b4c4, 0x224d03, 0x2e9c43, 0x203842, 0x219c03, 0x2127c3, 0xbc03, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x203842, 0x2335c3, 0x2127c3, 0x21f483, 0x2fe343, 0x217083, 0x20bec3, 0x20b642, 0x101c2, 0x226783, 0x20f583, 0x25c204, 0x214883, 0x24acc3, 0x206382, 0x1c3448, 0x20f583, 0x1c3448, 0x2507c3, 0x21a043, 0x23e084, 0x226783, 0x20f583, 0x206502, 0x214e43, 0x214883, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x206502, 0x2384c3, 0x214883, 0x24acc3, 0x305103, 0x219303, 0x2000c2, 0x205842, 0x2e9c43, 0x2127c3, 0x21f483, 0x216e05, 0x157246, 0x762c4, 0x31384, 0x29f804, 0x208ec2, 0x20b642, 0x20f583, 0x214883, 0x24acc3, 0x219085, 0x16f9c6, 0x78884, 0xc47c4, 0x265a04, 0x249902, 0x882, 0x7ffc8, 0xd02, 0x58e02, 0xfc2, 0x1c3448, 0x101c2, 0x5cf02, 0x19c2, 0x2000c2, 0x145d45, 0x25388, 0xf7c03, 0x205842, 0x48244, 0x5c149406, 0xc344, 0xb2e8b, 0x46a06, 0x84447, 0xb7ac9, 0x224d03, 0x573c8, 0x573cb, 0x5784b, 0x585cb, 0x5890b, 0x58bcb, 0x5900b, 0xeb86, 0x2e9c43, 0x146bc5, 0x172ec4, 0x267c83, 0x1196c7, 0x15a2c6, 0x12fc05, 0x1cde04, 0xf37c4, 0x7f0c4, 0x2127c3, 0x8d346, 0xf9304, 0x81983, 0x21f483, 0x305744, 0x1300c7, 0x156e49, 0xb2c48, 0x1e3f05, 0x1d3204, 0x1d0844, 0x172283, 0x5b646, 0x11448, 0x198185, 0x71c9, 0x13803, 0x10b2c6, 0x145d45, 0x205842, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x20bc03, 0x21f483, 0x3041c3, 0x208ec2, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x258103, 0x222d84, 0x2127c3, 0xbc03, 0x21f483, 0x229f43, 0x224d03, 0x2ef2c4, 0x2e9c43, 0x2127c3, 0x21f483, 0x216e06, 0x224d03, 0x2e9c43, 0x1d343, 0x81983, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x145d45, 0x84447, 0x84c3, 0x13803, 0x7ffc8, 0x2e9c43, 0x229f43, 0x224d03, 0x2e9c43, 0x979c3, 0x2127c3, 0x21f483, 0x5f629f43, 0x224d03, 0x2127c3, 0x21f483, 0x7ffc8, 0x14f985, 0x27348, 0x104543, 0x20b642, 0x49344, 0x5cd61806, 0x2d784, 0xbe6cb, 0x47306, 0x89207, 0x629c9, 0x226783, 0x5b4c8, 0x5b4cb, 0x5b94b, 0x5c6cb, 0x5ca0b, 0x5cccb, 0x5d10b, 0x128c6, 0x20f583, 0x100185, 0x1c0044, 0x220303, 0x121dc7, 0x12f3c6, 0x13b0c5, 0xca04, 0xf9004, 0x82384, 0x214883, 0x90546, 0x149204, 0x24acc3, 0x30b844, 0x13b587, 0x16f5c9, 0xbe488, 0x1e3885, 0xf644, 0x1d60c4, 0x467c3, 0x1d4803, 0x5f986, 0x112c8, 0x198d45, 0x1bf7c9, 0x15ac3, 0x112cc6, 0x14f985, 0x20b642, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x208c43, 0x24acc3, 0x30ad83, 0x249902, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x231a43, 0x225a04, 0x214883, 0x24acc3, 0x21a043, 0x226783, 0x2eef84, 0x20f583, 0x214883, 0x24acc3, 0x219086, 0x226783, 0x20f583, 0x1fe83, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x14f985, 0x89207, 0x9043, 0x15ac3, 0xba02, 0x1c3448, 0x20f583, 0x21a043, 0x226783, 0x20f583, 0x3e03, 0x1a2a48, 0x214883, 0x24acc3, 0x6061a043, 0x226783, 0x214883, 0x24acc3, 0x1c3448, 0x2000c2, 0x205842, 0x229f43, 0x2e9c43, 0x2127c3, 0x20b642, 0x21a043, 0x20f583, 0x214883, 0x2003c2, 0x21f483, 0x33cd07, 0x236d4b, 0x219dc3, 0x321e08, 0x374047, 0x3e2986, 0x3112c5, 0x354849, 0x216b88, 0x285b89, 0x285b90, 0x38864b, 0x3aec89, 0x2084c3, 0x221c49, 0x23ca06, 0x23ca0c, 0x232ac8, 0x3ed388, 0x271709, 0x2d094e, 0x22cd4b, 0x2c54cc, 0x2030c3, 0x27f60c, 0x2030c9, 0x3e4347, 0x23e60c, 0x2c714a, 0x259b44, 0x2c084d, 0x27f4c8, 0x3d9ecd, 0x282c06, 0x29f80b, 0x356fc9, 0x26c107, 0x386206, 0x332949, 0x349f8a, 0x3a73c8, 0x303dc4, 0x2c3087, 0x250d47, 0x20a3c4, 0x22d744, 0x387109, 0x3bc989, 0x3d0bc8, 0x32e9c5, 0x212bc5, 0x20da06, 0x2c0709, 0x352bcd, 0x21a108, 0x20d907, 0x311348, 0x24f486, 0x2443c4, 0x269185, 0x3e8c86, 0x3eb4c4, 0x202fc7, 0x20644a, 0x213f04, 0x2183c6, 0x21bf49, 0x21bf4f, 0x21cd0d, 0x21d246, 0x224f90, 0x225386, 0x225c47, 0x226587, 0x22658f, 0x227009, 0x22ca86, 0x22d207, 0x22d208, 0x22e049, 0x3d5848, 0x30b9c7, 0x20e2c3, 0x234e06, 0x32e6c8, 0x2d0c0a, 0x203709, 0x216cc3, 0x354606, 0x25bc8a, 0x244e47, 0x3e418a, 0x34910e, 0x227146, 0x33f0c7, 0x24b806, 0x202546, 0x348b8b, 0x20ec8a, 0x3d7c8d, 0x28c587, 0x27a688, 0x27a689, 0x27a68f, 0x3a784c, 0x3a7b09, 0x278ace, 0x28588a, 0x237d46, 0x2f7486, 0x3b2acc, 0x317fcc, 0x322c88, 0x35b287, 0x224245, 0x3d08c4, 0x34aece, 0x22f544, 0x3405c7, 0x3ad60a, 0x3e6bd4, 0x3ea64f, 0x226748, 0x234cc8, 0x38168d, 0x38168e, 0x235149, 0x342548, 0x34254f, 0x23e30c, 0x23e30f, 0x23f987, 0x2422ca, 0x2445cb, 0x245008, 0x2474c7, 0x253c4d, 0x366a06, 0x2c0a06, 0x249209, 0x272348, 0x24f808, 0x24f80e, 0x236e47, 0x308645, 0x251805, 0x209484, 0x3e2c46, 0x3d0ac8, 0x264283, 0x2c68ce, 0x254008, 0x24fe4b, 0x359547, 0x233645, 0x27f786, 0x2bfb07, 0x32ecc8, 0x330989, 0x23ec45, 0x297e48, 0x230546, 0x3b984a, 0x34adc9, 0x23e6c9, 0x23e6cb, 0x284f88, 0x20a289, 0x2c9806, 0x26c4ca, 0x3d1fca, 0x2424cc, 0x379c87, 0x27c18a, 0x3c6e8b, 0x3c6e99, 0x2d9408, 0x216e85, 0x253e06, 0x36ff09, 0x240186, 0x22ff8a, 0x229dc6, 0x20a6c4, 0x2e2e4d, 0x20a6c7, 0x325f89, 0x255f05, 0x256dc8, 0x257189, 0x259344, 0x259a47, 0x259a48, 0x25a107, 0x279c48, 0x260787, 0x2e5885, 0x26888c, 0x268c89, 0x31b2ca, 0x26b909, 0x221d49, 0x26bc4c, 0x26ef8b, 0x270f48, 0x272548, 0x275904, 0x295f08, 0x2975c9, 0x2c7207, 0x21c186, 0x2af587, 0x2fbc89, 0x20ffcb, 0x2511c7, 0x21f507, 0x2b8d47, 0x3d9e44, 0x3d9e45, 0x2eefc5, 0x357dcb, 0x208f44, 0x3b6988, 0x25d44a, 0x230607, 0x3ecf87, 0x29fc92, 0x28afc6, 0x2389c6, 0x33564e, 0x28c886, 0x2a4c08, 0x2a5acf, 0x3da288, 0x3b4608, 0x3ae48a, 0x3ae491, 0x2b424e, 0x26524a, 0x26524c, 0x265a07, 0x342750, 0x3d8948, 0x2b4445, 0x2bfe0a, 0x3eb50c, 0x2b84cd, 0x204206, 0x204207, 0x20420c, 0x20e80c, 0x3a864c, 0x2c340b, 0x3ab384, 0x21de84, 0x2c4d89, 0x31dac7, 0x3ead89, 0x288509, 0x2c6e07, 0x2c6fc6, 0x2c6fc9, 0x2c73c3, 0x2b234a, 0x32e587, 0x20c0cb, 0x3d7b0a, 0x262584, 0x2128c6, 0x292689, 0x368784, 0x2eb30a, 0x240d85, 0x2d7a85, 0x2d7a8d, 0x2d7dce, 0x31c3c5, 0x33b486, 0x216a07, 0x24ecca, 0x22f846, 0x27f1c4, 0x2fb147, 0x2e0d4b, 0x3d5d07, 0x3b55c4, 0x3c8586, 0x3c858d, 0x2f208c, 0x212686, 0x21a30a, 0x2281c6, 0x222088, 0x3b2f47, 0x22790a, 0x23e186, 0x286443, 0x286446, 0x220d48, 0x375c0a, 0x2a0207, 0x2a0208, 0x2a2844, 0x28b1c7, 0x36a3c8, 0x2dbb08, 0x31a988, 0x35a6ca, 0x2f7305, 0x2bbec7, 0x265093, 0x27d886, 0x2472c8, 0x22a349, 0x2ce608, 0x254dcb, 0x2cfe88, 0x2e0e84, 0x2de086, 0x323fc6, 0x341689, 0x2e0c07, 0x268988, 0x297446, 0x393644, 0x32df05, 0x3d98c8, 0x34a9ca, 0x2e2ac8, 0x2e6e06, 0x2abf8a, 0x203b08, 0x2e1908, 0x2eb588, 0x2ec146, 0x2ed746, 0x33c00c, 0x2edcd0, 0x2ee0c5, 0x2bb0c8, 0x2bb0d0, 0x3da090, 0x285a0e, 0x33bc8e, 0x33bc94, 0x3b244f, 0x3b2806, 0x3bef11, 0x3ed913, 0x20a488, 0x20b405, 0x3cbf08, 0x332c05, 0x3e244c, 0x2166c9, 0x22f389, 0x3b9c47, 0x3495c9, 0x35dbc7, 0x207586, 0x268f87, 0x201245, 0x211683, 0x21d343, 0x23d384, 0x21338d, 0x331e0f, 0x393685, 0x2165c6, 0x22bbc7, 0x232847, 0x2c5886, 0x2c588b, 0x2b5485, 0x213786, 0x3a7107, 0x261449, 0x226e86, 0x310b85, 0x381d4b, 0x3cf886, 0x218b85, 0x240a88, 0x28ad88, 0x2a184c, 0x2a1850, 0x2ae909, 0x24acc3, 0x344d87, 0x23ac8b, 0x217f43, 0x28f1c8, 0x203dc7, 0x392fc6, 0x228745, 0x3b95c9, 0x218e08, 0x284ec9, 0x284ed0, 0x38a44b, 0x3b1ec9, 0x209043, 0x207b09, 0x23fd06, 0x23fd0c, 0x235e08, 0x3f02c8, 0x378149, 0x2d884e, 0x246d4b, 0x2cae4c, 0x205d83, 0x2828cc, 0x205d89, 0x3f10c7, 0x24100c, 0x2ccaca, 0x2346c4, 0x2c5fcd, 0x282788, 0x3dcd4d, 0x2874c6, 0x265a0b, 0x36f749, 0x271787, 0x20c506, 0x326109, 0x3a97ca, 0x3bc848, 0x30a984, 0x2c8a07, 0x252dc7, 0x349b04, 0x224c04, 0x3ed149, 0x324fc9, 0x3d6448, 0x33a645, 0x213b45, 0x20ef86, 0x2c5e89, 0x37ebcd, 0x21c688, 0x20ee87, 0x2287c8, 0x251c86, 0x241804, 0x3676c5, 0x3e8046, 0x3ef204, 0x205c87, 0x20864a, 0x217384, 0x21ae86, 0x21ee89, 0x21ee8f, 0x21f84d, 0x21fd86, 0x226f50, 0x227346, 0x2289c7, 0x229dc7, 0x229dcf, 0x22b509, 0x22e9c6, 0x22f607, 0x22f608, 0x22fe09, 0x213f08, 0x3133c7, 0x2327c3, 0x238a06, 0x33a348, 0x2d8b0a, 0x2063c9, 0x218f43, 0x3b9386, 0x260a8a, 0x245207, 0x3f0f0a, 0x3ca8ce, 0x22b646, 0x34afc7, 0x364ec6, 0x205206, 0x3b7c8b, 0x2129ca, 0x25404d, 0x2045c7, 0x3ea348, 0x3ea349, 0x3ea34f, 0x31144c, 0x387a89, 0x2c16ce, 0x284bca, 0x380186, 0x303dc6, 0x32004c, 0x3240cc, 0x32d5c8, 0x3635c7, 0x20d6c5, 0x3d6144, 0x34a24e, 0x224444, 0x3eb647, 0x3be48a, 0x3ee394, 0x23790f, 0x229f88, 0x2388c8, 0x21c10d, 0x21c10e, 0x238d49, 0x34be48, 0x34be4f, 0x240d0c, 0x240d0f, 0x241d87, 0x24408a, 0x2453cb, 0x246088, 0x247b07, 0x38df4d, 0x36eac6, 0x2c6186, 0x24a689, 0x274708, 0x252248, 0x25224e, 0x23ad87, 0x30e505, 0x254705, 0x224a84, 0x393286, 0x3d6348, 0x26b343, 0x2cc04e, 0x38e308, 0x3a1fcb, 0x3a9ec7, 0x317b85, 0x282a46, 0x2c5387, 0x36f048, 0x371dc9, 0x241645, 0x29b648, 0x362546, 0x3bdbca, 0x34a149, 0x2410c9, 0x2410cb, 0x343608, 0x3499c9, 0x2cdc86, 0x2801ca, 0x28c9ca, 0x24428c, 0x371c47, 0x27efca, 0x20b30b, 0x20b319, 0x2dcdc8, 0x219105, 0x2e82c6, 0x2e2f49, 0x242586, 0x311cca, 0x219ec6, 0x201d04, 0x2e844d, 0x201d07, 0x333549, 0x259f45, 0x25aac8, 0x25b289, 0x25d444, 0x25db47, 0x25db48, 0x25de87, 0x27c888, 0x267987, 0x21d585, 0x26f44c, 0x26f849, 0x34deca, 0x270f89, 0x207c09, 0x2712cc, 0x27330b, 0x274108, 0x274908, 0x277cc4, 0x299708, 0x29adc9, 0x2ccb87, 0x21f0c6, 0x2b6c07, 0x2cb48b, 0x2d8346, 0x30b88a, 0x24704b, 0x34bc8a, 0x361806, 0x2fe205, 0x32e2c6, 0x28df48, 0x2c760a, 0x38131c, 0x33194c, 0x304288, 0x216e05, 0x288dc7, 0x2d0586, 0x38bfc5, 0x220106, 0x2c5a48, 0x2d68c7, 0x2d0848, 0x256f0a, 0x38a5cc, 0x3d8109, 0x384347, 0x2cdc04, 0x2518c6, 0x3b418a, 0x288605, 0x22d3cc, 0x22da88, 0x2fd6c8, 0x30a50c, 0x35c98c, 0x3963c9, 0x3eab87, 0x251f0c, 0x22b704, 0x306dca, 0x227d8c, 0x28400b, 0x259e4b, 0x25ce86, 0x263407, 0x265507, 0x34298f, 0x312151, 0x2f47d2, 0x26550d, 0x26550e, 0x26584e, 0x3b2608, 0x3b2612, 0x230e48, 0x257f07, 0x25e70a, 0x251d48, 0x28c845, 0x2cb88a, 0x225707, 0x2e7cc4, 0x254a43, 0x2417c5, 0x3ae707, 0x2fce87, 0x2b86ce, 0x365d4d, 0x3c8249, 0x207805, 0x31e6c3, 0x33e006, 0x26c905, 0x250088, 0x385989, 0x224805, 0x253e4f, 0x2b2f87, 0x311145, 0x359f0a, 0x3daa46, 0x3917c9, 0x353c8c, 0x366c49, 0x3ec046, 0x25d24c, 0x3345c6, 0x3bf308, 0x239546, 0x27cfc6, 0x2cc344, 0x3c39c3, 0x3e954a, 0x250491, 0x3a7cca, 0x26b245, 0x26f947, 0x265cc7, 0x2d54c4, 0x36a4cb, 0x3cb7c8, 0x2d5146, 0x3e7205, 0x277944, 0x268189, 0x2e0209, 0x24fa8b, 0x3991c7, 0x2a8707, 0x263c47, 0x3dccc4, 0x3dccc5, 0x2f4f05, 0x35ff0b, 0x3e23c4, 0x3db408, 0x2bdd8a, 0x362607, 0x3efec7, 0x2a3252, 0x293a86, 0x23c686, 0x33610e, 0x29f746, 0x2a9408, 0x2aa48f, 0x3dd108, 0x2584c8, 0x31004a, 0x310051, 0x2bb38e, 0x280cca, 0x280ccc, 0x2704c7, 0x34c050, 0x3da388, 0x2bb585, 0x2c67ca, 0x3ef24c, 0x2633cd, 0x211986, 0x211987, 0x21198c, 0x21348c, 0x23760c, 0x2c8d8b, 0x3ac7c4, 0x20b3c4, 0x2ca709, 0x327c07, 0x239d89, 0x28c809, 0x2cc787, 0x2cc946, 0x2cc949, 0x2ccd43, 0x2b314a, 0x33a207, 0x3ec40b, 0x253eca, 0x269804, 0x3f4106, 0x296309, 0x3cc144, 0x2f0eca, 0x309345, 0x2db705, 0x2db70d, 0x2dba4e, 0x368f45, 0x343a46, 0x218c87, 0x2514ca, 0x224746, 0x282484, 0x301007, 0x2e5f8b, 0x370c87, 0x367e04, 0x31a606, 0x31a60d, 0x2f64cc, 0x214746, 0x21c88a, 0x226346, 0x3d39c8, 0x27b587, 0x22be0a, 0x363cc6, 0x2044c3, 0x300346, 0x254948, 0x37beca, 0x2a37c7, 0x2a37c8, 0x2a6604, 0x293c87, 0x3a8548, 0x2d0988, 0x32f7c8, 0x2d318a, 0x2fc3c5, 0x247c47, 0x280b13, 0x28b3c6, 0x255308, 0x22dac9, 0x3c4d08, 0x3181cb, 0x2d4148, 0x2e60c4, 0x3a0146, 0x32eb86, 0x3b05c9, 0x2e5e47, 0x26f548, 0x29ac46, 0x394584, 0x339b85, 0x3dc748, 0x259b0a, 0x2e80c8, 0x2ec306, 0x2b2dca, 0x2067c8, 0x2e0508, 0x2f1148, 0x2f1946, 0x2f3706, 0x3b564c, 0x2f3c10, 0x2f4005, 0x23bc88, 0x23bc90, 0x3dcf10, 0x284d4e, 0x3b52ce, 0x3b52d4, 0x3ba58f, 0x3ba946, 0x3f0991, 0x349bd3, 0x20c688, 0x3ea6c5, 0x28f708, 0x3263c5, 0x351c0c, 0x218949, 0x224289, 0x231107, 0x3bdfc9, 0x3619c7, 0x3bfb86, 0x3674c7, 0x202a85, 0x211f43, 0x21fe83, 0x284704, 0x21564d, 0x39950f, 0x3945c5, 0x218846, 0x236787, 0x235b87, 0x2e1686, 0x2e168b, 0x2bc245, 0x215a46, 0x3baec7, 0x268649, 0x22b386, 0x22e385, 0x3ecbcb, 0x3f2686, 0x21b645, 0x243cc8, 0x2a4948, 0x2b38cc, 0x2b38d0, 0x2bc389, 0x2c12c7, 0x331a0b, 0x2dbfc6, 0x31328a, 0x3b890b, 0x35484a, 0x329f06, 0x304fc5, 0x339f46, 0x29bb08, 0x2a5aca, 0x21bd9c, 0x3b8c0c, 0x30ae48, 0x219085, 0x226987, 0x2d8486, 0x2dab05, 0x223606, 0x2e1848, 0x2d9ac7, 0x2d8748, 0x28b48a, 0x2fc9cc, 0x2544c9, 0x3c7e07, 0x232004, 0x297206, 0x25804a, 0x28c905, 0x22488c, 0x224f48, 0x311fc8, 0x333a8c, 0x2385cc, 0x239949, 0x239b87, 0x2509cc, 0x365984, 0x25e28a, 0x21dd0c, 0x288dcb, 0x3acf0b, 0x3ae506, 0x26d587, 0x26ffc7, 0x34c28f, 0x319791, 0x2fa352, 0x26ffcd, 0x26ffce, 0x27030e, 0x3ba748, 0x3ba752, 0x365e48, 0x25c007, 0x265e4a, 0x260048, 0x29f705, 0x3cee4a, 0x227887, 0x2dc104, 0x220203, 0x397405, 0x3102c7, 0x301d07, 0x2635ce, 0x3e3b8d, 0x31a2c9, 0x289f05, 0x3291c3, 0x346086, 0x272405, 0x3a2208, 0x20d949, 0x2e8305, 0x38e14f, 0x2be7c7, 0x2285c5, 0x3aa88a, 0x209ac6, 0x2ab4c9, 0x35c24c, 0x36ed09, 0x20e786, 0x2bdb8c, 0x373686, 0x3e2a48, 0x210106, 0x27fe06, 0x2d1204, 0x207e03, 0x3b188a, 0x2a3d11, 0x263f4a, 0x3a9c45, 0x26f0c7, 0x26c847, 0x2d4b04, 0x3a864b, 0x3d0888, 0x2d7cc6, 0x38be45, 0x279f04, 0x26ec09, 0x2008c4, 0x3ebe47, 0x333505, 0x333507, 0x335885, 0x25f3c3, 0x257dc8, 0x27988a, 0x22eb83, 0x232a4a, 0x3bd7c6, 0x253bcf, 0x272109, 0x2c6850, 0x2d5648, 0x2e7709, 0x2aa307, 0x3c850f, 0x3c9f44, 0x2ef344, 0x20b786, 0x2f0686, 0x26204a, 0x256186, 0x2c3a87, 0x315808, 0x315a07, 0x3170c7, 0x318c4a, 0x3179cb, 0x23ab05, 0x2f4408, 0x2098c3, 0x3d458c, 0x386b0f, 0x22404d, 0x29d4c7, 0x243449, 0x396687, 0x2d0f88, 0x3e6dcc, 0x301748, 0x24a2c8, 0x33314e, 0x344cd4, 0x3451e4, 0x364b8a, 0x388ecb, 0x35dc84, 0x35dc89, 0x2cbf48, 0x252245, 0x373e4a, 0x3c9047, 0x285584, 0x258843, 0x229f43, 0x241284, 0x224d03, 0x2e9c43, 0x258104, 0x25e043, 0x219c03, 0x2edcc6, 0x222d84, 0x2127c3, 0x21f483, 0x202783, 0x3d2887, 0x33c805, 0x33c807, 0x336345, 0x25ff03, 0x25bec8, 0x26b54a, 0x234643, 0x235d8a, 0x234646, 0x38decf, 0x2744c9, 0x2cbfd0, 0x229188, 0x2ecc09, 0x2b0dc7, 0x31a58f, 0x3562c4, 0x2ef004, 0x2271c6, 0x358686, 0x3ae00a, 0x26aa06, 0x2c9407, 0x31d888, 0x31da87, 0x31f147, 0x32134a, 0x31fa4b, 0x325785, 0x2f9f88, 0x229783, 0x3d880c, 0x20d44f, 0x32dd8d, 0x2b7187, 0x237209, 0x24e147, 0x2d4448, 0x3ee58c, 0x308548, 0x256bc8, 0x33c44e, 0x34e914, 0x34ee24, 0x36c50a, 0x38aacb, 0x361a84, 0x361a89, 0x2d2708, 0x255545, 0x203bca, 0x29cb07, 0x220c04, 0x20bec3, 0x21a043, 0x243544, 0x226783, 0x20f583, 0x25c204, 0x20bc83, 0x214e43, 0x2f3c06, 0x225a04, 0x214883, 0x24acc3, 0x205443, 0x2000c2, 0x258843, 0x205842, 0x229f43, 0x241284, 0x224d03, 0x2e9c43, 0x25e043, 0x2edcc6, 0x2127c3, 0x21f483, 0x7ffc8, 0x229f43, 0x224d03, 0x28c6c3, 0x2127c3, 0x81983, 0x21f483, 0x258843, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x222d84, 0x2127c3, 0x21f483, 0x20bec3, 0x20b642, 0x21a043, 0x243544, 0x226783, 0x20f583, 0x20bc83, 0x2f3c06, 0x214883, 0x24acc3, 0x1c3448, 0x21a043, 0x226783, 0x204703, 0x214883, 0x24acc3, 0x20bec3, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x225a04, 0x214883, 0x24acc3, 0x2000c2, 0x289e03, 0x205842, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0x21f483, 0x203702, 0x2035c2, 0x205842, 0x229f43, 0x208542, 0x2332c3, 0x20b642, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x203d82, 0x206282, 0x20b642, 0x21a043, 0x20c942, 0x2005c2, 0x258104, 0x292e44, 0x230a02, 0x222d84, 0x25c204, 0x230944, 0x2225c2, 0x225a04, 0x2003c2, 0x21f483, 0x202783, 0x25ce86, 0x26ca02, 0x201b02, 0x22a742, 0x61e12d83, 0x62265243, 0x66746, 0x66746, 0x29f804, 0x20bc03, 0x2acd, 0x1d094a, 0x1d39cc, 0x92ccc, 0x62c6e64f, 0x1cc94d, 0x713c4, 0x7b204, 0x161cc4, 0x145d45, 0x98409, 0xb778c, 0x110947, 0x16906, 0x1eb88, 0x24bc7, 0x286c8, 0x1c14ca, 0x1145c7, 0xb79c9, 0x632f8c05, 0xf8c09, 0x634404cb, 0x125c88, 0x137dcb, 0x344b, 0x182bc8, 0x13054a, 0x17d3ce, 0x638b738a, 0x1e544d, 0x3514d, 0x14ce40b, 0xf1f4a, 0xc344, 0x8ef86, 0x19f508, 0xd1e88, 0x40787, 0x16245, 0x1e0507, 0xa54c9, 0x1cd787, 0x1db408, 0x31009, 0x15f9c4, 0x53705, 0x3810e, 0x1401c7, 0x63e26c46, 0xbe10d, 0x1cd608, 0xf4008, 0x6429ed46, 0x64d82888, 0x106b8a, 0xb2908, 0x13cf10, 0x6388c, 0x76987, 0x77d47, 0x7bd87, 0x81847, 0xd9c2, 0x1da407, 0xee4c, 0x1e1905, 0xbd847, 0xb6ac6, 0xb92c9, 0xbb988, 0x1d7c2, 0x24acc3, 0x205443, 0x3ae506, 0x22ccc2, 0x203342, 0x22dec2, 0x62e2acc3, 0x632584c3, 0x6d386, 0x6d386, 0x265a04, 0x208c43, 0x578d, 0x1d61ca, 0x1a5486, 0x1d784c, 0x63eae24d, 0x9694c, 0x64489b8f, 0x1e8b4d, 0x177e04, 0x7e204, 0xee044, 0x14f985, 0x9e849, 0x6268c, 0x133907, 0x18b86, 0x210c8, 0x26647, 0x2cb08, 0x1c588a, 0x11c647, 0x628c9, 0x64adb105, 0xf9209, 0x64c428cb, 0x133248, 0x154e0b, 0x610b, 0xa7788, 0x44a0a, 0x1830ce, 0x650becca, 0xe6dcd, 0x38d4d, 0x15c4b0b, 0xf638a, 0x2d784, 0x91cc6, 0x1a0e88, 0xd5448, 0x42b87, 0x2f385, 0x1e1307, 0xa9cc9, 0x1e9987, 0xa3c8, 0xef589, 0x5fe44, 0x66605, 0x85a4e, 0x147947, 0x6562eac6, 0xc398d, 0x1e9808, 0xf9b88, 0x65a64f46, 0x664a7448, 0x18860a, 0xb3708, 0x144f90, 0x6a30c, 0x78f47, 0x7a307, 0x7ebc7, 0x845c7, 0xef42, 0x12c307, 0x12b8c, 0x150105, 0x19fb07, 0xbe1c6, 0xbf0c9, 0xc1bc8, 0x7142, 0x5c2, 0x19ab46, 0x1d6ecb, 0x1d71c6, 0x71c84, 0xcabc7, 0x56a09, 0x90249, 0x1c03c8, 0x58e02, 0x12d349, 0x15288, 0xfff4a, 0xd28c8, 0x652e034b, 0x162d09, 0x51c86, 0xe5649, 0xf1ec7, 0xf2609, 0xf3948, 0xf5707, 0xf7289, 0xf9d05, 0xfa0d0, 0x1c5e46, 0xcab05, 0xd5247, 0x12634d, 0x65ac9683, 0x4d385, 0x2e6c6, 0xff7c7, 0x105758, 0x98d08, 0x4c08a, 0x152f8e, 0x9942, 0x65f5f74b, 0x662e574a, 0x59c0a, 0x6a90d, 0x33c2, 0xdfa46, 0x18a46, 0xac788, 0xbb70a, 0x566c8, 0x7fe89, 0x1167c8, 0x75a8e, 0x29c08, 0x13e007, 0x6669ec84, 0xd3f0d, 0x10df85, 0x1735c8, 0x3fe48, 0x66888d0a, 0x66eb3dc8, 0x1133c6, 0x9e42, 0xa6f44, 0x6d586, 0x67045f08, 0x5b646, 0x678c200b, 0x4182, 0x154a09, 0x135c08, 0x14b207, 0x3268a, 0x118a87, 0x119186, 0x19b44b, 0x9dc6, 0x1786c4, 0x1a4107, 0x64d49, 0x191549, 0x1c4448, 0x5cf02, 0x138fc9, 0x18108, 0xf280a, 0xd5dc8, 0x66ae5b8b, 0x1bbf09, 0x5ff86, 0xea449, 0xf6307, 0xf6bc9, 0xf9508, 0xfad47, 0xfc349, 0x1011c5, 0x101590, 0x10210c, 0x1c88c6, 0x1a4045, 0x1d95c7, 0x4880d, 0x36a89, 0x672cebc3, 0x4f585, 0x140806, 0x106587, 0x10b858, 0x1e9d08, 0x8b1ca, 0x23f8e, 0x3b02, 0x6766020b, 0x67aea54a, 0x1accca, 0x72c0d, 0x1042, 0xe39c6, 0x1b506, 0xc32c8, 0xc0e0a, 0x5e0c8, 0x1c3309, 0x11e848, 0x7ca4e, 0x19d08, 0x146087, 0x67ea7384, 0xd708d, 0xd2a48, 0x115785, 0x14c8, 0x42248, 0x680268ca, 0x686bad88, 0x11b446, 0xba42, 0xd77c4, 0x7ad46, 0x68923d88, 0x5f986, 0x690c6b0b, 0x79c2, 0x64244e04, 0x27e83, 0x1b9789, 0x1f88, 0x14a587, 0x359ca, 0xc0b47, 0x401, 0x81, 0x18e907, 0x1c8388, 0xc7e88, 0xc8088, 0xc8288, 0x6fcc7, 0xb1fc3, 0x64644084, 0x64aa6b83, 0x18f607, 0x11a408, 0xcd208, 0xcd408, 0xcd608, 0x73d47, 0xb98c3, 0x65e44e04, 0x662aba43, 0xc1, 0x39d46, 0xfeb46, 0xc1, 0x201, 0x39d46, 0xb1fc3, 0x656212c4, 0x196f84, 0x1fe85, 0x2c945, 0xcad04, 0x2a084, 0x59244, 0x1434307, 0x1421207, 0x1c8bc8, 0x148e4c, 0xc41, 0x8d43, 0x2c684, 0xef885, 0x1c8bc8, 0x677c8bc8, 0x54e83, 0x80383, 0x16c43, 0x22207, 0x5ec7, 0x145e305, 0x5d8c4, 0x76ac7, 0x5842, 0x2c904, 0x1b01ca, 0x259b44, 0x229f43, 0x25b9c4, 0x258104, 0x2127c3, 0x22a205, 0x21fc83, 0x23ffc3, 0x32e885, 0x205ec3, 0x15d43, 0x68e29f43, 0x224d03, 0x5b9c4, 0x4b03, 0x2e9c43, 0xfeb46, 0xb98c3, 0x66e642c4, 0x197b44, 0x20f85, 0x166d85, 0x1a4244, 0x1a184, 0x5d344, 0x1416c47, 0x1464207, 0x1cd6c8, 0x161e4c, 0xc01, 0x12f03, 0x2af84, 0x30705, 0x1cd6c8, 0x68fcd6c8, 0x71783, 0x83343, 0x18ec3, 0x1d3b47, 0x80c7, 0x15e2945, 0x64744, 0x79087, 0xb642, 0x166d44, 0xc2bca, 0x2346c4, 0x21a043, 0x2607c4, 0x25c204, 0x214883, 0x22d985, 0x221c03, 0x2423c3, 0x33a505, 0x200f83, 0x29f83, 0x6a61a043, 0x226783, 0x607c4, 0x7783, 0x20f583, 0x200181, 0x280c3, 0x219c03, 0x292e44, 0x222d84, 0x2127c3, 0x5c743, 0x21f483, 0x217083, 0x7ffc8, 0x22043, 0x214e43, 0x230944, 0x225a04, 0x214883, 0x62243, 0x24acc3, 0x219303, 0x1c3448, 0x2000c2, 0x258843, 0x205842, 0x229f43, 0x224d03, 0x28c6c3, 0x20bec3, 0x20b642, 0x21a043, 0x226783, 0x204703, 0x2005c2, 0x258104, 0x25e043, 0x219c03, 0x2127c3, 0x20bc03, 0x21f483, 0x205ec3, 0x186a44, 0x7ffc8, 0xfd147, 0x5842, 0x12de85, 0x639cf, 0x1e50c6, 0x1475dc8, 0x116ace, 0x69e087c2, 0x2373c8, 0x3d1086, 0x25da46, 0x3a33c7, 0x6a204cc2, 0x6a6c66c8, 0x22ad4a, 0x276408, 0x200ac2, 0x32e3c9, 0x23ab47, 0x21c106, 0x257b09, 0x2bc004, 0x3e2886, 0x2deb04, 0x20de84, 0x267f09, 0x314a86, 0x2bb4c5, 0x27a245, 0x235987, 0x2d2187, 0x305344, 0x35eb06, 0x2e88c5, 0x3d7605, 0x236245, 0x24f647, 0x359385, 0x257609, 0x372385, 0x32ee04, 0x22f787, 0x3ce14e, 0x209a09, 0x335509, 0x3681c6, 0x24b088, 0x3793cb, 0x3bd38c, 0x323ac6, 0x2c5387, 0x2f9185, 0x30e20a, 0x3d0cc9, 0x20aa89, 0x208186, 0x3a6ec5, 0x251b85, 0x371809, 0x2363cb, 0x239186, 0x353486, 0x20d904, 0x241f86, 0x3086c8, 0x3d38c6, 0x242d46, 0x204788, 0x206f07, 0x207f49, 0x20cc05, 0x7ffc8, 0x3e0484, 0x317644, 0x212a45, 0x343a49, 0x2292c7, 0x2292cb, 0x22c3ca, 0x22f2c5, 0x6aa0a582, 0x3d79c7, 0x6ae2fbc8, 0x2083c7, 0x223a85, 0x2449ca, 0x5842, 0x28f84b, 0x29090a, 0x279746, 0x2114c3, 0x21438d, 0x3d250c, 0x3d628d, 0x245b45, 0x36cdc5, 0x2642c7, 0x3db089, 0x22ac46, 0x256005, 0x30d0c8, 0x241e83, 0x350088, 0x241e88, 0x3c6b07, 0x2f0308, 0x310589, 0x33edc7, 0x2368c7, 0x209348, 0x25e1c4, 0x25e1c7, 0x282b08, 0x365746, 0x20668f, 0x35bcc7, 0x35e606, 0x3eacc5, 0x22a8c3, 0x253847, 0x395c03, 0x25a2c6, 0x25d7c6, 0x25eac6, 0x2a3e05, 0x279c43, 0x32cfc8, 0x3aa189, 0x25ec4b, 0x25ef08, 0x260445, 0x2629c5, 0x6b262642, 0x269049, 0x3d1bc7, 0x213805, 0x267e07, 0x269c46, 0x26ae05, 0x26c74b, 0x270f44, 0x275fc5, 0x276107, 0x289746, 0x28a185, 0x296347, 0x296f87, 0x2cc984, 0x2b758a, 0x2fabc8, 0x379689, 0x2f9505, 0x2464c6, 0x30888a, 0x27a146, 0x396907, 0x27c50d, 0x2b4fc9, 0x389205, 0x3b7007, 0x3cdc48, 0x385b88, 0x32b107, 0x367e86, 0x21c507, 0x267883, 0x314a04, 0x38abc5, 0x3b76c7, 0x3bffc9, 0x234488, 0x396805, 0x2421c4, 0x2544c5, 0x25f0cd, 0x2086c2, 0x228346, 0x2c9706, 0x3097ca, 0x3a8b86, 0x3b40c5, 0x2defc5, 0x2defc7, 0x3b968c, 0x2b278a, 0x29da06, 0x2ed645, 0x241dc6, 0x29fac7, 0x2a1f06, 0x2a3d0c, 0x257c49, 0x6b61c907, 0x2a5e85, 0x2a5e86, 0x2a6248, 0x256505, 0x2b5705, 0x2b5bc8, 0x2b5dca, 0x6ba27e02, 0x6be10802, 0x21b485, 0x30bac3, 0x336a48, 0x24bc83, 0x2b6044, 0x39190b, 0x3c5c88, 0x2bda08, 0x6c340949, 0x2bd309, 0x2be006, 0x2bf788, 0x2bf989, 0x2c1046, 0x25c204, 0x20bc83, 0x214e43, 0x214883, 0x208c43, 0x24acc3, 0x200f83, 0xd384, 0x1c3448, 0x110cc7, 0xb642, 0x139b05, 0x6a44f, 0xe6a46, 0x10210c, 0x1470708, 0x11eb4e, 0x6b602242, 0x23b308, 0x3d6906, 0x2e20c6, 0x3a4c07, 0x6ba09582, 0x6becbe48, 0x232a8a, 0x2789c8, 0x200b02, 0x33a049, 0x3257c7, 0x21f046, 0x25bc09, 0x247d84, 0x392ec6, 0x2e24c4, 0x201904, 0x26e989, 0x31cb06, 0x312885, 0x27d445, 0x239547, 0x2cc4c7, 0x381d44, 0x364606, 0x3cdf45, 0x2201c5, 0x23a185, 0x251e47, 0x3a9d05, 0x25b709, 0x348a05, 0x36f184, 0x224687, 0x3d490e, 0x3eb909, 0x335fc9, 0x3cbb86, 0x24d7c8, 0x37f6cb, 0x3716cc, 0x32e686, 0x2cad07, 0x2fdfc5, 0x315a0a, 0x3d6549, 0x200ac9, 0x20b046, 0x3bac85, 0x255205, 0x37afc9, 0x23a30b, 0x23ce46, 0x35ba46, 0x20cc44, 0x25a746, 0x30e588, 0x3d7746, 0x363b86, 0x207408, 0x20aa87, 0x20ae09, 0x20df45, 0x1c3448, 0x3e1284, 0x31f6c4, 0x2139c5, 0x34d509, 0x22d407, 0x22d40b, 0x22e5ca, 0x231045, 0x6c208982, 0x220587, 0x6c6327c8, 0x3791c7, 0x3b1405, 0x2457ca, 0xb642, 0x29258b, 0x29410a, 0x27c446, 0x211343, 0x21784d, 0x2090cc, 0x21ce8d, 0x246405, 0x3ab085, 0x26b387, 0x22c209, 0x232986, 0x26a885, 0x315448, 0x25a643, 0x2ef3c8, 0x25a648, 0x3cb287, 0x3f39c8, 0x362349, 0x2e0d87, 0x23a807, 0x3e27c8, 0x380384, 0x380387, 0x2873c8, 0x36d0c6, 0x3d144f, 0x238107, 0x364106, 0x239cc5, 0x22e043, 0x257347, 0x396b43, 0x25e506, 0x264646, 0x266206, 0x2a7c85, 0x27c883, 0x338c48, 0x3ab5c9, 0x26638b, 0x266748, 0x267645, 0x269105, 0x6ca698c2, 0x367589, 0x3d9307, 0x215ac5, 0x26e887, 0x26fe86, 0x270ac5, 0x27224b, 0x274104, 0x278585, 0x2786c7, 0x28d046, 0x28d405, 0x299b47, 0x29a787, 0x383744, 0x26248a, 0x2beec8, 0x37f989, 0x349405, 0x27c006, 0x30e74a, 0x27d346, 0x320dc7, 0x27f34d, 0x2bbd89, 0x38ae05, 0x3d4e47, 0x20c848, 0x20cd08, 0x3485c7, 0x335c86, 0x215f87, 0x26e303, 0x31ca84, 0x38c645, 0x3b9c87, 0x3c4049, 0x22c048, 0x320cc5, 0x240244, 0x25a985, 0x39080d, 0x20ad02, 0x2264c6, 0x2cdb86, 0x31050a, 0x3a8b46, 0x3b6905, 0x3938c5, 0x3938c7, 0x3bda0c, 0x2b358a, 0x2a22c6, 0x20d2c5, 0x25a586, 0x2a3087, 0x2a57c6, 0x2a7b8c, 0x25bd49, 0x6ce4dcc7, 0x2aa845, 0x2aa846, 0x2aac08, 0x25a205, 0x2bc5c5, 0x2bca88, 0x2bcc8a, 0x6d21dd82, 0x6d610682, 0x21e645, 0x244583, 0x33ef48, 0x21ffc3, 0x2bcf04, 0x2ab60b, 0x371ac8, 0x39fcc8, 0x6db5cb49, 0x2c2fc9, 0x2c3886, 0x2c5008, 0x2c5209, 0x2c6dc6, 0x2c6f45, 0x259106, 0x2c7409, 0x2da7c7, 0x253286, 0x359787, 0x3a9987, 0x3a8104, 0x6dfe2609, 0x2dad48, 0x2cbd48, 0x3947c7, 0x2e7d46, 0x208ec9, 0x2e2787, 0x347c4a, 0x3c8188, 0x27c147, 0x2efac6, 0x2a174a, 0x3db8c8, 0x2ed305, 0x2c11c5, 0x254646, 0x2c1789, 0x2d6487, 0x24c5c6, 0x2bc547, 0x34a147, 0x3a6c84, 0x6c609189, 0x38c208, 0x2c65c8, 0x393887, 0x2e2746, 0x3dae89, 0x25da07, 0x3cc38a, 0x3d2c88, 0x224a07, 0x231546, 0x3affca, 0x3ac908, 0x31f445, 0x22e5c5, 0x319f87, 0x324689, 0x326a8b, 0x3c0588, 0x372409, 0x25f847, 0x2d2acc, 0x2d350c, 0x2d380a, 0x2d3a8c, 0x2de688, 0x2de888, 0x2dea84, 0x2df209, 0x2df449, 0x2df68a, 0x2df909, 0x2dfc87, 0x20878c, 0x3cefc6, 0x27bec8, 0x27a206, 0x2f5c06, 0x389107, 0x39c208, 0x3e2e4b, 0x208287, 0x26fa89, 0x292f49, 0x38d487, 0x207484, 0x269247, 0x31fe46, 0x217246, 0x21a4c5, 0x3b03c8, 0x3494c4, 0x3494c6, 0x2b264b, 0x269889, 0x24f546, 0x242f49, 0x212b06, 0x39a308, 0x20d003, 0x3a7045, 0x21e3c9, 0x3a98c5, 0x3619c4, 0x383706, 0x3250c5, 0x263c06, 0x31ac07, 0x210286, 0x2707cb, 0x26c3c7, 0x27d286, 0x28f486, 0x235a46, 0x305309, 0x200b4a, 0x2d59c5, 0x2ccc0d, 0x2b5ec6, 0x25d646, 0x2d5546, 0x222005, 0x2fa3c7, 0x3d6847, 0x314e0e, 0x219c03, 0x2e2709, 0x286809, 0x2356c7, 0x27e5c7, 0x3317c5, 0x2dbc85, 0x6cb8724f, 0x2e7947, 0x2e7b08, 0x2e7fc4, 0x2e8306, 0x6ce51882, 0x2ec3c6, 0x2edcc6, 0x374a0e, 0x34feca, 0x214806, 0x2cdd4a, 0x3d6089, 0x3023c5, 0x2d8548, 0x301186, 0x2c4f88, 0x385348, 0x32234b, 0x3a34c5, 0x359408, 0x2048cc, 0x223947, 0x25e646, 0x3b2d88, 0x3e2b08, 0x6d216602, 0x201ccb, 0x392889, 0x20ce09, 0x3d1707, 0x35e048, 0x6d615f88, 0x38480b, 0x26e189, 0x262f4d, 0x385188, 0x2d4e48, 0x6da00f82, 0x3ef104, 0x6de47f42, 0x365c06, 0x6e201a42, 0x3021ca, 0x2b5586, 0x230388, 0x2583c8, 0x264bc6, 0x330846, 0x309186, 0x250005, 0x245704, 0x6e655cc4, 0x358806, 0x251647, 0x6ea8d407, 0x39e54b, 0x2085c9, 0x36ce0a, 0x2df104, 0x25dcc8, 0x24c38d, 0x302949, 0x302b88, 0x302e09, 0x305744, 0x230d44, 0x291dc5, 0x204c8b, 0x3c5c06, 0x358645, 0x241949, 0x35ebc8, 0x26ae44, 0x30e389, 0x270705, 0x2d21c8, 0x236f87, 0x335908, 0x292886, 0x3d5707, 0x2f3589, 0x381ec9, 0x218c05, 0x245a05, 0x6ee09702, 0x32ebc4, 0x38a845, 0x3a32c6, 0x33ea05, 0x262a87, 0x303a05, 0x287004, 0x368286, 0x256087, 0x220bc6, 0x330b45, 0x21ae08, 0x3d1285, 0x228047, 0x22f989, 0x2699ca, 0x2baac7, 0x2baacc, 0x2bb486, 0x24d809, 0x254345, 0x256448, 0x218a43, 0x2c97c5, 0x2ef5c5, 0x24dc07, 0x6f200bc2, 0x2fef07, 0x2e38c6, 0x387e86, 0x2ebd46, 0x3e2a46, 0x253548, 0x3cc045, 0x35e6c7, 0x35e6cd, 0x254a43, 0x3cf485, 0x359cc7, 0x2ff248, 0x359885, 0x21f1c8, 0x38a2c6, 0x2a6bc7, 0x2f5b45, 0x3a3546, 0x32d545, 0x20c58a, 0x2f9946, 0x243cc7, 0x2c6cc5, 0x2fa847, 0x2fb0c4, 0x361946, 0x3010c5, 0x232f4b, 0x31fcc9, 0x289f0a, 0x218c88, 0x308388, 0x30c28c, 0x30dc87, 0x30f408, 0x388cc8, 0x32f245, 0x31a4ca, 0x31e6c9, 0x6f601402, 0x20fec6, 0x224804, 0x2276c9, 0x350bc9, 0x312fc7, 0x281687, 0x288389, 0x35a8c8, 0x35a8cf, 0x234046, 0x2f160b, 0x266b05, 0x266b07, 0x337789, 0x30e306, 0x30e307, 0x2f4b45, 0x23bb04, 0x2a8746, 0x215784, 0x2cee87, 0x2db048, 0x6fba6dc8, 0x3b8845, 0x3bc687, 0x2d9589, 0x21a004, 0x24cf48, 0x6ff04708, 0x2d54c4, 0x30b548, 0x3862c4, 0x215649, 0x221f45, 0x70208ec2, 0x234085, 0x3aba85, 0x3b6d08, 0x23f7c7, 0x706008c2, 0x371bc5, 0x2ea7c6, 0x25e946, 0x32eb88, 0x366e48, 0x33e9c6, 0x31d946, 0x2fd209, 0x387dc6, 0x3e068b, 0x3e27c5, 0x25d086, 0x266548, 0x366b06, 0x2a5346, 0x21f8ca, 0x2eb7ca, 0x264485, 0x286a87, 0x2852c6, 0x70a04c02, 0x359e07, 0x3e1285, 0x308804, 0x308805, 0x25dbc6, 0x2686c7, 0x20b785, 0x2eb944, 0x2e85c8, 0x2a5405, 0x2f6ac7, 0x32a285, 0x20c4c5, 0x229604, 0x229609, 0x2e8708, 0x20b0c6, 0x217e86, 0x3ce5c6, 0x70ec3648, 0x306247, 0x33e5cd, 0x3dcb8c, 0x3e79c9, 0x313549, 0x7137e082, 0x3e6403, 0x246583, 0x31ff05, 0x3b77ca, 0x33e406, 0x241145, 0x31b544, 0x31b54b, 0x333e8c, 0x33474c, 0x334a55, 0x33660d, 0x3384cf, 0x338892, 0x338d0f, 0x3390d2, 0x339553, 0x339a0d, 0x339fcd, 0x33a34e, 0x33ac4e, 0x33b24c, 0x33b60c, 0x33ba4b, 0x33ca0e, 0x33d312, 0x33e1cc, 0x33f4d0, 0x34ca92, 0x34db0c, 0x34e1cd, 0x34e50c, 0x351fd1, 0x35360d, 0x3556cd, 0x355cca, 0x355f4c, 0x357b8c, 0x35834c, 0x35ac8c, 0x360213, 0x360c10, 0x361010, 0x361dcd, 0x3623cc, 0x3648c9, 0x36704d, 0x367393, 0x368f11, 0x369713, 0x36a78f, 0x36ab4c, 0x36ae4f, 0x36b20d, 0x36b80f, 0x36bbd0, 0x36c64e, 0x37554e, 0x375e90, 0x376a8d, 0x37740e, 0x37778c, 0x378e53, 0x37b50e, 0x37c250, 0x37c651, 0x37ca8f, 0x37ce53, 0x37dc0d, 0x37df4f, 0x37e30e, 0x37e890, 0x37ec89, 0x37fdd0, 0x3802cf, 0x38094f, 0x380d12, 0x38210e, 0x387a4d, 0x38800d, 0x38834d, 0x38934d, 0x38968d, 0x3899d0, 0x389dcb, 0x38a98c, 0x38ad0c, 0x38b30c, 0x38b60e, 0x39a510, 0x39bb52, 0x39bfcb, 0x39c40e, 0x39c78e, 0x39d00e, 0x39d58b, 0x7179d916, 0x39edcd, 0x39fa14, 0x3a0a4d, 0x3a2b15, 0x3a514d, 0x3a5acf, 0x3a628f, 0x3aa3cf, 0x3aa78e, 0x3aab0d, 0x3ac291, 0x3af1cc, 0x3af4cc, 0x3af7cb, 0x3afa8c, 0x3b05cf, 0x3b0992, 0x3b0f8d, 0x3b21cc, 0x3b310c, 0x3b340d, 0x3b374f, 0x3b3b0e, 0x3b748c, 0x3b7a4d, 0x3b7d8b, 0x3b834c, 0x3b8d0d, 0x3b904e, 0x3b93c9, 0x3ba753, 0x3baf0d, 0x3bb60d, 0x3bbc0c, 0x3bc28e, 0x3bdecf, 0x3be28c, 0x3be58d, 0x3be8cf, 0x3bec8c, 0x3bf50c, 0x3bfa8c, 0x3bfd8c, 0x3c0c4d, 0x3c0f92, 0x3c1a0c, 0x3c1d0c, 0x3c2011, 0x3c244f, 0x3c280f, 0x3c2bd3, 0x3c3ece, 0x3c424f, 0x3c460c, 0x71bc4cce, 0x3c504f, 0x3c5416, 0x3c6652, 0x3c920c, 0x3ca10f, 0x3ca78d, 0x3dbc0f, 0x3dbfcc, 0x3dc2cd, 0x3dc60d, 0x3de74e, 0x3df30c, 0x3e32cc, 0x3e35d0, 0x3e5791, 0x3e5bcb, 0x3e600c, 0x3e630e, 0x3e7f11, 0x3e834e, 0x3e86cd, 0x3ed6cb, 0x3ee20f, 0x3eebd4, 0x21e682, 0x21e682, 0x2048c3, 0x21e682, 0x2048c3, 0x21e682, 0x204fc2, 0x254685, 0x3e7c0c, 0x21e682, 0x21e682, 0x204fc2, 0x21e682, 0x2a7045, 0x2699c5, 0x21e682, 0x21e682, 0x202a02, 0x2a7045, 0x336c49, 0x368c0c, 0x21e682, 0x21e682, 0x21e682, 0x21e682, 0x254685, 0x21e682, 0x21e682, 0x21e682, 0x21e682, 0x202a02, 0x336c49, 0x21e682, 0x21e682, 0x21e682, 0x2699c5, 0x21e682, 0x2699c5, 0x368c0c, 0x3e7c0c, 0x258843, 0x229f43, 0x224d03, 0x2e9c43, 0x258104, 0x2127c3, 0x21f483, 0x31cf, 0xa788, 0x75bc4, 0xbc03, 0xe44c8, 0x1df183, 0x30b487, 0x38ed49, 0x32258b, 0x338108, 0x348a89, 0x266a47, 0x2d5fcc, 0x2d668c, 0x2d698a, 0x2d6c0c, 0x2e2048, 0x2e2248, 0x2e2444, 0x2e3189, 0x2e33c9, 0x2e360a, 0x2e3889, 0x2e3c07, 0x34c88c, 0x379586, 0x27ed08, 0x27d406, 0x2f5fc6, 0x38ad07, 0x39d088, 0x39348b, 0x20b147, 0x26f209, 0x296bc9, 0x24e507, 0x2e2704, 0x367787, 0x2cf0c6, 0x2194c6, 0x21ca45, 0x2c2dc8, 0x3618c4, 0x3618c6, 0x2b344b, 0x28dd09, 0x251d46, 0x22c4c9, 0x213a86, 0x39ac08, 0x20a243, 0x3bae05, 0x222149, 0x3cb985, 0x302884, 0x390f86, 0x3bcbc5, 0x26a686, 0x323247, 0x2fe346, 0x3bb84b, 0x2800c7, 0x28d706, 0x2921c6, 0x239606, 0x381d09, 0x2d394a, 0x2fac05, 0x24bd4d, 0x2bcd86, 0x2d4b86, 0x229086, 0x3d3945, 0x301887, 0x268c87, 0x31ce8e, 0x214e43, 0x2e7d09, 0x3bf489, 0x315e07, 0x281887, 0x3d3845, 0x2d0b05, 0x6e3ed28f, 0x2ece47, 0x2ed008, 0x2edc44, 0x2eddc6, 0x6e654782, 0x2f1bc6, 0x2f3c06, 0x10210c, 0x20220e, 0x2ef20a, 0x232146, 0x21978a, 0x206b89, 0x249205, 0x32a108, 0x3e3e46, 0x2ca908, 0x379b48, 0x2911cb, 0x3a4d05, 0x3a9d88, 0x20754c, 0x3b12c7, 0x265d86, 0x3bca08, 0x393148, 0x6ea18882, 0x392c8b, 0x20e149, 0x20a049, 0x3b7f47, 0x3666c8, 0x6efeae08, 0x25fbcb, 0x257a09, 0x26fb4d, 0x32cd48, 0x2d7dc8, 0x6f201802, 0x222ac4, 0x6f6445c2, 0x36d586, 0x6fa03282, 0x308fca, 0x273186, 0x22f0c8, 0x25c4c8, 0x26b9c6, 0x2cb206, 0x30f086, 0x3a2185, 0x2468c4, 0x6ff8dd84, 0x360946, 0x269e87, 0x70290607, 0x39f3cb, 0x3793c9, 0x3ab0ca, 0x393a04, 0x2e2a48, 0x25304d, 0x3098c9, 0x309b08, 0x309d89, 0x30b844, 0x2bc884, 0x295a45, 0x253c8b, 0x371a46, 0x360785, 0x248449, 0x3646c8, 0x270b04, 0x315b89, 0x3bb785, 0x2cc508, 0x23aec7, 0x3363c8, 0x296506, 0x213dc7, 0x2f8dc9, 0x3ecd49, 0x21b6c5, 0x2462c5, 0x70623cc2, 0x36ef44, 0x2fcc45, 0x3a4b06, 0x328085, 0x2691c7, 0x328645, 0x28a984, 0x3cbc46, 0x26a907, 0x2547c6, 0x371f85, 0x21dfc8, 0x3d6b05, 0x221fc7, 0x22c6c9, 0x28de4a, 0x234787, 0x23478c, 0x312846, 0x24ab49, 0x252105, 0x25a148, 0x21b503, 0x2cdc45, 0x2fc705, 0x243007, 0x70a00b82, 0x305cc7, 0x2d7386, 0x389c86, 0x2e8f06, 0x393086, 0x256848, 0x28f845, 0x3641c7, 0x3641cd, 0x220203, 0x379a45, 0x3aa647, 0x306008, 0x3aa205, 0x221708, 0x230406, 0x2aba87, 0x2f5f05, 0x3a4d86, 0x3391c5, 0x35388a, 0x2fb186, 0x2dda87, 0x2350c5, 0x2fdb87, 0x300f84, 0x302806, 0x32a045, 0x23628b, 0x2cef49, 0x36838a, 0x21b748, 0x30c4c8, 0x30e14c, 0x313c87, 0x3166c8, 0x35f308, 0x36d6c5, 0x322bca, 0x3291c9, 0x70e01b82, 0x2a8506, 0x22bbc4, 0x22bbc9, 0x2868c9, 0x31b047, 0x284407, 0x28c689, 0x2d3388, 0x2d338f, 0x216986, 0x2f594b, 0x272085, 0x272087, 0x33fc89, 0x22ce06, 0x315b07, 0x2fa6c5, 0x23e6c4, 0x358386, 0x21cdc4, 0x2d2e87, 0x33d8c8, 0x713bab88, 0x3c18c5, 0x3ccb87, 0x2dcf49, 0x21c584, 0x24f148, 0x7170b2c8, 0x2d4b04, 0x312f48, 0x20c5c4, 0x21cc89, 0x228fc5, 0x71a49902, 0x2169c5, 0x2d6545, 0x20cb48, 0x241bc7, 0x71e008c2, 0x3b8405, 0x2f0386, 0x266086, 0x36ef08, 0x346a48, 0x328046, 0x32c486, 0x310d89, 0x389bc6, 0x22cccb, 0x351f85, 0x3ae706, 0x35a188, 0x36ebc6, 0x2a9b46, 0x222dca, 0x283c4a, 0x390b05, 0x27c587, 0x257e46, 0x72207882, 0x3aa787, 0x3e2105, 0x30e6c4, 0x30e6c5, 0x2e2946, 0x328bc7, 0x2271c5, 0x283dc4, 0x3cdc48, 0x2a9c05, 0x2fbbc7, 0x334e05, 0x3537c5, 0x231704, 0x231709, 0x3cdd88, 0x201106, 0x21a506, 0x20dbc6, 0x726c8fc8, 0x30c347, 0x34664d, 0x3de28c, 0x3e6d89, 0x31b5c9, 0x72b84342, 0x3e60c3, 0x24e603, 0x2cf185, 0x3b9d8a, 0x346486, 0x3afd85, 0x323644, 0x32364b, 0x33d18c, 0x33dacc, 0x33ddd5, 0x33eb0d, 0x34098f, 0x340d52, 0x3411cf, 0x341592, 0x341a13, 0x341ecd, 0x34248d, 0x34280e, 0x34310e, 0x34380c, 0x343bcc, 0x34400b, 0x344a8e, 0x345392, 0x34624c, 0x346c50, 0x355292, 0x35648c, 0x356b4d, 0x356e8c, 0x35ad11, 0x35bbcd, 0x35db8d, 0x35e18a, 0x35e40c, 0x35fccc, 0x36048c, 0x36100c, 0x366ed3, 0x368610, 0x368a10, 0x36908d, 0x36968c, 0x36c249, 0x36fb4d, 0x36fe93, 0x3724d1, 0x372cd3, 0x37380f, 0x373bcc, 0x373ecf, 0x37428d, 0x37488f, 0x374c50, 0x3756ce, 0x37b80e, 0x37c150, 0x37cd0d, 0x37d68e, 0x37da0c, 0x37f153, 0x38154e, 0x381f50, 0x382351, 0x38278f, 0x382b53, 0x383ecd, 0x38420f, 0x3845ce, 0x384b50, 0x384f49, 0x386310, 0x38680f, 0x386e8f, 0x387252, 0x387e8e, 0x38984d, 0x389e0d, 0x38a14d, 0x38af4d, 0x38b28d, 0x38b5d0, 0x38b9cb, 0x38c40c, 0x38c78c, 0x38cd8c, 0x38d08e, 0x39ae10, 0x39c9d2, 0x39ce4b, 0x39d28e, 0x39d60e, 0x39de8e, 0x39e40b, 0x72f9e796, 0x3a074d, 0x3a1714, 0x3a24cd, 0x3a4355, 0x3a644d, 0x3a6dcf, 0x3a770f, 0x3ab80f, 0x3abbce, 0x3abf4d, 0x3ad911, 0x3b240c, 0x3b270c, 0x3b2a0b, 0x3b2ccc, 0x3b344f, 0x3b3812, 0x3b3e0d, 0x3b504c, 0x3b594c, 0x3b5c4d, 0x3b5f8f, 0x3b634e, 0x3b9a4c, 0x3ba00d, 0x3ba34b, 0x3bc18c, 0x3bd08d, 0x3bd3ce, 0x3bd749, 0x3be713, 0x3c014d, 0x3c084d, 0x3c0e4c, 0x3c14ce, 0x3c1a0f, 0x3c1dcc, 0x3c20cd, 0x3c240f, 0x3c27cc, 0x3c2dcc, 0x3c3b0c, 0x3c3e0c, 0x3c500d, 0x3c5352, 0x3c5dcc, 0x3c60cc, 0x3c63d1, 0x3c680f, 0x3c6bcf, 0x3c6f93, 0x3c8d8e, 0x3c910f, 0x3c94cc, 0x733c9b8e, 0x3c9f0f, 0x3ca2d6, 0x3cadd2, 0x3ce68c, 0x3cf1cf, 0x3cf84d, 0x3dd30f, 0x3dd6cc, 0x3dd9cd, 0x3ddd0d, 0x3df8ce, 0x3e040c, 0x3e2c4c, 0x3e2f50, 0x3e5451, 0x3e588b, 0x3e5ccc, 0x3e5fce, 0x3e72d1, 0x3e770e, 0x3e7a8d, 0x3f074b, 0x3f170f, 0x3f20d4, 0x216e82, 0x216e82, 0x206c43, 0x216e82, 0x206c43, 0x216e82, 0x214f82, 0x259145, 0x3e6fcc, 0x216e82, 0x216e82, 0x214f82, 0x216e82, 0x2ac905, 0x28de45, 0x216e82, 0x216e82, 0x202642, 0x2ac905, 0x33f149, 0x3721cc, 0x216e82, 0x216e82, 0x216e82, 0x216e82, 0x259145, 0x216e82, 0x216e82, 0x216e82, 0x216e82, 0x202642, 0x33f149, 0x216e82, 0x216e82, 0x216e82, 0x28de45, 0x216e82, 0x28de45, 0x3721cc, 0x3e6fcc, 0x20bec3, 0x21a043, 0x226783, 0x20f583, 0x25c204, 0x214883, 0x24acc3, 0x5e8f, 0x1dc8, 0x7cb84, 0xeaec8, 0x2000c2, 0x72a05842, 0x24c883, 0x23bf84, 0x204b03, 0x2e9c44, 0x2389c6, 0x20f503, 0x3835c4, 0x2aaf45, 0x219c03, 0x2127c3, 0x81983, 0x21f483, 0x22600a, 0x25ce86, 0x39cb0c, 0x7ffc8, 0x205842, 0x229f43, 0x224d03, 0x2e9c43, 0x2335c3, 0x2edcc6, 0x2127c3, 0x21f483, 0x202783, 0x13803, 0xb7048, 0x735eb785, 0x80407, 0x57dc5, 0x1c387, 0x145d45, 0x3589, 0x2c02, 0x1cb20a, 0x74332b45, 0x145d45, 0x110947, 0x29b08, 0x1060e, 0x9a352, 0x12dc8b, 0x1146c6, 0x746f8c05, 0x74b8c5cc, 0x8e07, 0xf1a47, 0x1b654a, 0x47cd0, 0xc7c5, 0xb2e8b, 0xd1e88, 0x40787, 0x3bc0b, 0xa54c9, 0x54847, 0x1cd787, 0x393c7, 0x406c6, 0x1db408, 0x750332c6, 0x56607, 0xef6c6, 0xbe10d, 0x5de50, 0x75406cc2, 0x1cd608, 0x199810, 0x199f4c, 0x75b9fecd, 0x6d988, 0x6de0b, 0x7d747, 0x9e6c9, 0x66806, 0xa6448, 0x4d02, 0x6b04a, 0x150407, 0xbd847, 0xb92c9, 0xbb988, 0x146bc5, 0x19ab46, 0x1d71c6, 0x103e4e, 0x3c4ce, 0x4b6cf, 0x56a09, 0x90249, 0x1dda0b, 0xc1b4f, 0x17d90c, 0xd71cb, 0x11b208, 0x19e447, 0x1abd88, 0xc2e8b, 0xc384c, 0xc3c4c, 0xc404c, 0xc434d, 0x1c03c8, 0x803c2, 0x12d349, 0x191648, 0xe068b, 0xe2946, 0xea14b, 0x13ce4b, 0xf428a, 0xf58c5, 0xfa0d0, 0xfd8c6, 0x1683c6, 0xcab05, 0xd5247, 0xec648, 0xff7c7, 0xffa87, 0x121587, 0xd7606, 0x165a4a, 0xa1b8a, 0x18a46, 0xbd60d, 0x566c8, 0x1167c8, 0x1a5e89, 0x4be49, 0xd1445, 0x15804c, 0xc454b, 0x184109, 0x18de04, 0x113189, 0x1133c6, 0x15fa86, 0x1b02, 0x5b646, 0x4bfcb, 0x11d147, 0x11d307, 0x4182, 0xe3f05, 0x29c84, 0x7420b642, 0x24e8c3, 0x23eb44, 0x207783, 0x20f584, 0x23c686, 0x213883, 0x390e44, 0x2b1b85, 0x214e43, 0x214883, 0x24acc3, 0x228d8a, 0x3ae506, 0x39d98c, 0x1c3448, 0x20b642, 0x21a043, 0x226783, 0x20f583, 0x2384c3, 0x2f3c06, 0x214883, 0x24acc3, 0x205443, 0x15ac3, 0xbe988, 0x74d4c5c5, 0x833c7, 0x5bec5, 0x1f2c7, 0x14f985, 0xaa204, 0xaa20a, 0x6249, 0x2142, 0x1d02ca, 0x75b26305, 0x14f985, 0x133907, 0x19c08, 0x1048e, 0x9dd52, 0x13990b, 0x11c746, 0x75edb105, 0x762db10c, 0x1e2287, 0xf5d87, 0x1dafca, 0x48cd0, 0x153ac5, 0xbe6cb, 0xd5448, 0x42b87, 0x3e7cb, 0xa9cc9, 0x59307, 0x1e9987, 0x3d087, 0x42ac6, 0xa3c8, 0x76838286, 0x5e007, 0x30546, 0xc398d, 0xe2bd0, 0x76c0a842, 0x1e9808, 0x19a110, 0x19a84c, 0x773a1bcd, 0x727c8, 0x72f4b, 0x809c7, 0xd1709, 0x6d446, 0xaae08, 0x1742, 0x70d0a, 0x38447, 0x19fb07, 0xbf0c9, 0xc1bc8, 0x100185, 0xe9c7, 0x119186, 0x9dc6, 0x10aa0e, 0x4c48e, 0x164d8f, 0x64d49, 0x191549, 0xabe4b, 0xded0f, 0x183bcc, 0xdd68b, 0x14de08, 0x19f2c7, 0x1ad388, 0xc880b, 0xc91cc, 0xc95cc, 0xc99cc, 0xc9ccd, 0x1c4448, 0x83382, 0x138fc9, 0xab348, 0xe578b, 0xe7f46, 0xefc4b, 0x144ecb, 0xf9e0a, 0xfaf05, 0x101590, 0x104606, 0x1cbd86, 0x1a4045, 0x1d95c7, 0xf1e48, 0x106587, 0x106847, 0xa79c7, 0x29a86, 0x16d3ca, 0xb3c0a, 0x1b506, 0x19f8cd, 0x5e0c8, 0x11e848, 0xf12c9, 0x8af89, 0xd4905, 0x16018c, 0xc9ecb, 0x1c7bc9, 0x18ec84, 0x11b209, 0x11b446, 0x11506, 0x3342, 0x5f986, 0x8b10b, 0x127647, 0x127807, 0x79c2, 0xe9545, 0x19d84, 0x101, 0x5fdc3, 0x74f4c586, 0xa6b83, 0x66fc3, 0x76644746, 0xaba43, 0x382, 0xae04, 0xac2, 0x9f804, 0xe44, 0xb02, 0x65a04, 0x882, 0x1e02, 0x2b82, 0x127082, 0x3702, 0xb79c2, 0x2102, 0xb90c2, 0x38fc2, 0x1bc2, 0xd02, 0x5d9c2, 0x24d03, 0xc502, 0x2742, 0x1da82, 0x3d82, 0x27e82, 0x45c2, 0x16e3c2, 0x3cc82, 0x3402, 0x101c2, 0x64842, 0x26783, 0x942, 0x3642, 0x18b02, 0x2e42, 0x1b42, 0x1b5c2, 0x5b02, 0x642, 0x3cac2, 0x1d7c2, 0x75c2, 0x9c42, 0x30fc2, 0x7142, 0x2502, 0x13f82, 0x5c2, 0x5e043, 0x3382, 0x5fc2, 0x58e02, 0x8042, 0xb982, 0xfd02, 0x2d442, 0x2c82, 0x26c2, 0xbdc2, 0x7eec2, 0x5582, 0x127c3, 0xbc83, 0x40c2, 0x1ac2, 0x5cf02, 0xaf02, 0x12a82, 0xfe02, 0x24902, 0x5942, 0xec2, 0x19b302, 0x82182, 0x736c2, 0x14883, 0x602, 0x16602, 0x1242, 0x1c682, 0x18b85, 0x6582, 0x85042, 0x172303, 0x18882, 0x25c2, 0x7982, 0x1b645, 0x8782, 0x21e42, 0x1d4883, 0x682, 0x9942, 0x33c2, 0x5f82, 0x12882, 0x3b02, 0x1042, 0x1a82, 0x14942, 0x8c2, 0x9e42, 0x1b02, 0x2cc5, 0x75e04fc2, 0x762f3143, 0x2043, 0x76604fc2, 0x2043, 0xe2207, 0x2029c3, 0xba42, 0x3342, 0x5985, 0x77614f82, 0x77b0ed43, 0x4d03, 0x77e14f82, 0x4d03, 0xe7807, 0x205683, 0x2000c2, 0x229f43, 0x224d03, 0x28c6c3, 0x21a043, 0x226783, 0x204703, 0x2005c3, 0x2335c3, 0x2127c3, 0x20bc03, 0x21f483, 0x39ac43, 0x16fe06, 0xd1484, 0x17585, 0x108585, 0xb8c3, 0x7ffc8, 0x229f43, 0x224d03, 0x28c6c3, 0x219c03, 0x2127c3, 0x20bc03, 0x81983, 0x21f483, 0x229f43, 0x224d03, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x2384c3, 0x214883, 0x208c43, 0x24acc3, 0x319283, 0x1ad803, 0x1ad804, 0x180286, 0xd4944, 0x179d45, 0x10e445, 0x18b43, 0x1c3448, 0x21a043, 0x226783, 0x204703, 0x214e43, 0x214883, 0x208c43, 0x24acc3, 0x21a043, 0x226783, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x200181, 0x219c03, 0x2127c3, 0x25c743, 0x21f483, 0x2ec4, 0x258843, 0x229f43, 0x224d03, 0x229dc3, 0x28c6c3, 0x25c783, 0x244d83, 0x2b5543, 0x204f83, 0x2e9c43, 0x258104, 0x2127c3, 0x21f483, 0x205ec3, 0x209f84, 0x239343, 0x30c3, 0x220cc3, 0x32bd48, 0x349f84, 0x214e43, 0x214883, 0x262243, 0x24acc3, 0x5b84, 0x20bec3, 0x21a043, 0x226783, 0x219ec3, 0x204703, 0x262283, 0x245143, 0x2bc303, 0x220783, 0x20f583, 0x25c204, 0x214883, 0x24acc3, 0x200f83, 0x3496c4, 0x235843, 0x5d83, 0x2548c3, 0x337908, 0x2a1784, 0x20020a, 0x264086, 0xd9384, 0x3babc7, 0x22688a, 0x233f09, 0x3cb087, 0x3d018a, 0x258843, 0x21b50b, 0x237ac9, 0x36a2c5, 0x2384c7, 0x5842, 0x229f43, 0x246747, 0x347a05, 0x2dec09, 0x224d03, 0x22cb86, 0x2dd343, 0xe3943, 0x119e46, 0x173bc6, 0xf487, 0x213cc6, 0x22dc45, 0x20ccc7, 0x316f07, 0x792e9c43, 0x34dd47, 0x24be03, 0x23aa45, 0x258104, 0x2c8888, 0x3e664c, 0x2c7c85, 0x2b5146, 0x246607, 0x384407, 0x27d3c7, 0x290448, 0x3190cf, 0x372ac5, 0x24c987, 0x29cc87, 0x249c4a, 0x30cf09, 0x32c545, 0x34d4ca, 0x1080c6, 0xd1747, 0x2dd3c5, 0x397644, 0x340386, 0x14f0c6, 0x25bb47, 0x2e1687, 0x209748, 0x20d005, 0x347906, 0x43288, 0x242cc5, 0x42e86, 0x318985, 0x29bcc4, 0x247907, 0x25338a, 0x2afe88, 0x3d6cc6, 0x335c3, 0x2f7305, 0x220346, 0x2089c6, 0x374cc6, 0x219c03, 0x3b1207, 0x29cc05, 0x2127c3, 0x2f454d, 0x20bc03, 0x209848, 0x23d404, 0x220645, 0x2b6086, 0x201a46, 0x25cf87, 0x26e047, 0x280745, 0x21f483, 0x3326c7, 0x207349, 0x246049, 0x38cf8a, 0x2020c2, 0x23aa04, 0x32c1c4, 0x2fec07, 0x2fedc8, 0x300949, 0x3cf349, 0x3014c7, 0x10c5c9, 0x2b81c6, 0x103bc6, 0x305744, 0x2353ca, 0x307d48, 0x309049, 0x309306, 0x2cd685, 0x2afd48, 0x2e2bca, 0x21cb03, 0x20a106, 0x3015c7, 0x35c0c5, 0x84408, 0x3c3345, 0x216f03, 0x24a3c4, 0x4a3c9, 0x22e585, 0x297087, 0x2e8845, 0x2f1bc6, 0x1063c5, 0x2148c3, 0x2148c9, 0x22040c, 0x2d320c, 0x3485c8, 0x2a0c47, 0x3e4008, 0x111547, 0x3118ca, 0x311f8b, 0x237c08, 0x201b48, 0x260fc6, 0x31c245, 0x284d8a, 0x3da585, 0x208ec2, 0x2e1487, 0x278606, 0x37f485, 0x3977c9, 0x36f885, 0x1d2348, 0x2a3585, 0x23a609, 0x322dc6, 0x3406c8, 0x246ec3, 0x211706, 0x383646, 0x31cb85, 0x31cb89, 0x287109, 0x284b07, 0x120c44, 0x320c47, 0x3cf249, 0x221a85, 0x26a88, 0x372185, 0x2028c5, 0x367bc9, 0x201182, 0x2556c4, 0x20f582, 0x203382, 0x361b85, 0x352948, 0x2d1385, 0x2dfe43, 0x2dfe45, 0x2ec5c3, 0x211402, 0x298a44, 0x203a83, 0x200a82, 0x2f81c4, 0x30d543, 0x2043c2, 0x26e983, 0x2189c4, 0x309483, 0x2623c4, 0x201782, 0x21ee83, 0x21e503, 0x204942, 0x29ec82, 0x286f49, 0x205182, 0x29b184, 0x203ac2, 0x264644, 0x2b8184, 0x2d4844, 0x201b02, 0x249442, 0x396583, 0x311d43, 0x297204, 0x2e6f44, 0x31e604, 0x320dc4, 0x31c503, 0x383983, 0x308044, 0x322604, 0x322746, 0x202742, 0x5842, 0x4d383, 0x205842, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x14305, 0x26b146, 0xdcd44, 0x3beb87, 0x22a0ca, 0x216849, 0x3d0147, 0x3d5a0a, 0x20bec3, 0x21e6cb, 0x37ff09, 0x3a8445, 0x3c30c7, 0xb642, 0x21a043, 0x321187, 0x351105, 0x2e25c9, 0x2370e, 0x226783, 0x246b86, 0x322c83, 0xcf003, 0x122446, 0x3946, 0x13807, 0x215186, 0x21f445, 0x20e007, 0x31ef87, 0x7aa0f583, 0x3566c7, 0x28af43, 0xc1089, 0x3256c5, 0x25c204, 0x2cde88, 0x3e630c, 0x2cd005, 0x2bbf06, 0x321047, 0x3c7ec7, 0x28fb87, 0x297fc8, 0x3217cf, 0x349145, 0x208a47, 0x217d47, 0x3a148a, 0x315289, 0x32bd05, 0x32700a, 0x10de86, 0xd4d07, 0x2e1485, 0x398204, 0x347b06, 0x1974c6, 0x260947, 0x2e68c7, 0x348748, 0x213045, 0x351006, 0x2f908, 0x363b05, 0x2c406, 0x2c0a45, 0x243344, 0x297e47, 0x25668a, 0x2b7808, 0x3d2c86, 0x384c3, 0x2fc3c5, 0x21ea46, 0x34cac6, 0x2024c6, 0x214e43, 0x3b4087, 0x10210c, 0x217cc5, 0x214883, 0x2fa0cd, 0x208c43, 0x348848, 0x284784, 0x21ed45, 0x2bcf46, 0x203286, 0x3ae607, 0x25fa87, 0x283705, 0x24acc3, 0x3b8fc7, 0x3bf949, 0x323ec9, 0x39054a, 0x204d82, 0x325684, 0x337d84, 0x3059c7, 0x305b88, 0x307609, 0x379909, 0x3082c7, 0x113e89, 0x2630c6, 0x10a786, 0x30b844, 0x238fca, 0x30db08, 0x30ef49, 0x30f386, 0x2d1e45, 0x2b76c8, 0x2e81ca, 0x236d03, 0x349846, 0x3083c7, 0x237e45, 0x891c8, 0x3c7705, 0x219183, 0x223984, 0x56cc9, 0x2c1185, 0x29a887, 0x3cdec5, 0x2ed1c6, 0x107d85, 0x232203, 0x232209, 0x21eb0c, 0x2d954c, 0x316208, 0x2a8fc7, 0x3f0d88, 0x118c07, 0x318f8a, 0x3195cb, 0x380048, 0x203388, 0x2681c6, 0x2614c5, 0x34340a, 0x2184c5, 0x249902, 0x2e66c7, 0x27b8c6, 0x385b45, 0x398389, 0x233885, 0x1b76c8, 0x2b44c5, 0x325289, 0x32d706, 0x3eb748, 0x324583, 0x211fc6, 0x390ec6, 0x326e05, 0x326e09, 0x28aa89, 0x261247, 0x12ba84, 0x32ba87, 0x379809, 0x22a2c5, 0x469c8, 0x3d4705, 0x205585, 0x3706c9, 0x2029c2, 0x235644, 0x203d42, 0x2040c2, 0x2edf05, 0x37e948, 0x2d4845, 0x2e3dc3, 0x2e3dc5, 0x2f1dc3, 0x211282, 0x2342c4, 0x206743, 0x207002, 0x2fd284, 0x314903, 0x211b42, 0x289ec3, 0x21b484, 0x30f503, 0x269644, 0x202fc2, 0x2213c3, 0x219883, 0x2075c2, 0x2a7382, 0x28a8c9, 0x20dfc2, 0x29f2c4, 0x206782, 0x288904, 0x263084, 0x30c944, 0x203342, 0x24a8c2, 0x239b03, 0x2ae143, 0x29aa04, 0x2ec444, 0x329104, 0x32bc04, 0x326803, 0x2f7cc3, 0x30de04, 0x32cf44, 0x32d086, 0x205402, 0xb642, 0x4f583, 0x20b642, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x177c5, 0x2000c2, 0x258843, 0x229f43, 0x224d03, 0x206dc3, 0x2e9c43, 0x258104, 0x287204, 0x222d84, 0x2127c3, 0x21f483, 0x202783, 0x305d44, 0x329b43, 0x223503, 0x387d04, 0x371f86, 0x207e43, 0x145d45, 0xf1a47, 0x261c03, 0x7ae14fc8, 0x209343, 0x2ca043, 0x21b643, 0x2335c3, 0x371ac5, 0x38483, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x211543, 0x2033c3, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x25e043, 0x2127c3, 0x294384, 0x81983, 0x21f483, 0x2d0584, 0x145d45, 0x2f5345, 0xf1a47, 0x205842, 0x201902, 0x20bec3, 0x21a043, 0x226783, 0x201b43, 0x20f583, 0x25c204, 0x28ab84, 0x225a04, 0x214883, 0x24acc3, 0x205443, 0x30be44, 0x3346c3, 0x251943, 0x389b04, 0x3d4506, 0x204243, 0x14f985, 0xf5d87, 0x288583, 0x7c62d088, 0x265883, 0x2cfcc3, 0x21e803, 0x2384c3, 0x3b8305, 0x1c3083, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x2113c3, 0x206083, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x20bc83, 0x214883, 0x26c584, 0x24acc3, 0x2d8484, 0x14f985, 0x36dd05, 0xf5d87, 0x20b642, 0x203142, 0x200382, 0x2048c2, 0xbc03, 0x201f42, 0x2003c2, 0x1544, 0x229f43, 0x241284, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0x21f483, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x222d84, 0x2127c3, 0xbc03, 0x21f483, 0x217083, 0x29f804, 0x7ffc8, 0x229f43, 0x20bc03, 0xb8c3, 0x123944, 0x259b44, 0x7ffc8, 0x5842, 0x229f43, 0x25b9c4, 0x258104, 0x20bc03, 0x200f82, 0x81983, 0x21f483, 0x23ffc3, 0x4a3c4, 0x32e885, 0x208ec2, 0x325ec3, 0x172fc9, 0xf2386, 0x87e08, 0x2d84, 0x21a043, 0x243544, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x225a04, 0x214883, 0x24acc3, 0x219303, 0x265a04, 0x1c3448, 0x21a043, 0x208c43, 0x18b43, 0x12e504, 0x2346c4, 0x1c3448, 0xb642, 0x21a043, 0x2607c4, 0x25c204, 0x208c43, 0x201802, 0x24acc3, 0x2423c3, 0x23984, 0x33a505, 0x249902, 0x333483, 0x1beec9, 0xf67c6, 0x8c108, 0x2000c2, 0x7ffc8, 0x205842, 0x224d03, 0x2e9c43, 0x1c3448, 0x7fafe207, 0x20b642, 0x226783, 0x20f583, 0x2005c2, 0xbc03, 0x21f483, 0x2802, 0x24acc3, 0x54c2, 0x82, 0x23984, 0xc2, 0x1d0347, 0x1e949, 0x2fc3, 0x7ffc8, 0x18f203, 0x7e724f47, 0x29f43, 0xfdc8, 0x24d03, 0x86247, 0xe9c43, 0x3d286, 0x5e043, 0xa9388, 0xdc448, 0x1d4883, 0x122246, 0x7e92fc05, 0x1318c5, 0x19c03, 0x9dac8, 0xe59c8, 0x62b03, 0x7ecf6786, 0xfb305, 0x869c4, 0x3e8c7, 0x127c3, 0x4b83, 0x1f483, 0x2082, 0x18a0ca, 0x37945, 0x3d43, 0x7f2d8e0c, 0x161c43, 0x120984, 0x118ecb, 0x119488, 0x1965c4, 0xa1342, 0x45f03, 0x1434307, 0x15ce3c7, 0x14dff08, 0x1445f03, 0x1c8bc8, 0x1496944, 0x183dcb, 0x12c82, 0x1300c7, 0x14bc04, 0x1d5bc7, 0x17149, 0x5c83, 0x1c3448, 0x1da43, 0x80330047, 0x1a043, 0xa8408, 0x26783, 0x85587, 0xf583, 0x1eeb86, 0xbc83, 0xb5fc8, 0xdf908, 0x1d8b03, 0x8f606, 0x8053b0c5, 0x1b8b85, 0x14e43, 0xa2388, 0xea7c8, 0x69243, 0x808fb886, 0x102dc5, 0x1bf644, 0x412c7, 0x14883, 0x7803, 0x4acc3, 0x4d42, 0x19720a, 0x9c83, 0x80edc7cc, 0xedfc3, 0x1b04, 0x1215cb, 0x121b88, 0xa4fc2, 0x123d83, 0x1416c47, 0x15d4b87, 0x14e3e88, 0x1523d83, 0x1cd6c8, 0x149a144, 0x1eafcb, 0x13c02, 0x13b587, 0x1547c4, 0x2000c2, 0x205842, 0x241284, 0x2e9c43, 0x219c03, 0x2127c3, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x2335c3, 0x2127c3, 0x21f483, 0x2a31c3, 0x217083, 0x13803, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0xb8c3, 0x24d03, 0x814e9c43, 0x80407, 0x229f43, 0x224d03, 0x2e9c43, 0x258104, 0x2335c3, 0x2127c3, 0x21f483, 0x26ca02, 0x20b642, 0x243544, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x2384c3, 0x214883, 0x24acc3, 0x229a83, 0x219303, 0x15ac3, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x18b43, 0x26783, 0x8300f583, 0x833c7, 0x21a043, 0x226783, 0x20f583, 0x25c204, 0x2384c3, 0x214883, 0x24acc3, 0x22ccc2, 0x2000c1, 0x2000c2, 0x200201, 0x3385c2, 0x7ffc8, 0x224f85, 0x340a82, 0x1c3448, 0x226f45, 0x200101, 0x29f43, 0x3b4c4, 0x200d01, 0x1a043, 0x3e084, 0x200cc1, 0x200501, 0x200c01, 0x254602, 0x395c04, 0x254603, 0x200bc1, 0x2590c2, 0x396b44, 0x2590c3, 0x200041, 0x200801, 0x200181, 0x1eaa46, 0x37d06, 0x1e144c, 0x200701, 0x3bc807, 0x38decf, 0x3786c6, 0x324e47, 0x306d0f, 0x3ccd06, 0x2004c1, 0x323986, 0x200b41, 0x32e546, 0x200ec1, 0x10210c, 0x200581, 0x3b7fce, 0x3c2a4e, 0x2003c1, 0x21f483, 0x200a81, 0x328745, 0x202082, 0x216e05, 0x24acc3, 0x2015c1, 0x83ed2ac4, 0x23ba45, 0x204d42, 0x219085, 0x200401, 0x200741, 0x2007c1, 0x208ec2, 0x249902, 0x200081, 0x205241, 0x201541, 0x201c41, 0x201b81, 0x60209, 0x7ffc8, 0x229f43, 0x224d03, 0x10e7c8, 0x2e9c43, 0x2127c3, 0x21f483, 0x21fc83, 0x1efd03, 0x229f43, 0x2e9c43, 0xa1288, 0x219c03, 0x2127c3, 0x9843, 0x21f483, 0x82f0ad88, 0x1ef9c3, 0x11448, 0x12d02, 0x2583, 0x6cc2, 0x1b02, 0x145d45, 0x7ffc8, 0x9e0c6, 0x161487, 0xbc03, 0x145d45, 0x179c04, 0x199ac8, 0x51a44, 0x1217c7, 0x63e44, 0x5818c, 0x1e6644, 0x27885, 0x60209, 0x176507, 0x1df86, 0x5b74a, 0x156e00a, 0x11d484, 0x1506c43, 0x7ffc8, 0x81983, 0x229f43, 0x224d03, 0x2e9c43, 0x2127c3, 0x21f483, 0x2030c3, 0x7ffc8, 0x229f43, 0x224d03, 0x2ef2c4, 0x21f483, 0x28a685, 0x279884, 0x229f43, 0x224d03, 0x2e9c43, 0x2026c2, 0x2127c3, 0x21f483, 0x17083, 0xf3f86, 0xc2904, 0x124a86, 0x258843, 0x229f43, 0x224d03, 0x2e9c43, 0x2026c2, 0x2127c3, 0x21f483, 0x217083, 0x205842, 0x229f43, 0x23ba49, 0x224d03, 0x2bc9c9, 0x219c03, 0x2127c3, 0x8d344, 0xbc03, 0x21f483, 0x305548, 0x245347, 0x32e885, 0xd2048, 0x12e889, 0x1e5e08, 0x1d0347, 0xff04a, 0x15964b, 0x123bc7, 0x4af48, 0x8fca, 0xc9508, 0x1e949, 0x2e447, 0x1d8c7, 0xbd08, 0xfdc8, 0x4cc4f, 0xb0045, 0x1f507, 0x3d286, 0x41007, 0x12c686, 0xa9388, 0xae506, 0x1404c7, 0x167fc9, 0x1ca87, 0xe7d89, 0xd2449, 0xd9106, 0xdc448, 0xd2305, 0x158e0a, 0xe59c8, 0x62b03, 0xec9c8, 0x3e8c7, 0x1865c5, 0x160810, 0x4b83, 0x81983, 0x183307, 0x1c605, 0xffd88, 0x7a605, 0x161c43, 0x1dea48, 0x2606, 0x15f089, 0xbfb87, 0x17328b, 0x7f144, 0x112d84, 0x118ecb, 0x119488, 0x119d47, 0x145d45, 0x229f43, 0x224d03, 0x28c6c3, 0x21f483, 0x249f03, 0x2e9c43, 0x81983, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0x21f483, 0x1ddb4b, 0x200f81, 0x202d81, 0x203481, 0x2033c1, 0x2802, 0x67409, 0x1c3448, 0x21a043, 0x226783, 0x1008c8, 0x20f583, 0x214883, 0x24acc3, 0x221c03, 0x1f3503, 0x21a043, 0x20f583, 0xa4f08, 0x214e43, 0x214883, 0x2a783, 0x24acc3, 0x84f34308, 0x1f31c3, 0x112c8, 0x13c82, 0x17c3, 0xa842, 0x3342, 0x14f985, 0x1c3448, 0xa4806, 0x1ec847, 0x14f985, 0xb284, 0x19a3c8, 0x550c4, 0x12c887, 0x6af04, 0x5c28c, 0x1e6304, 0x2bd85, 0x67409, 0x1f0487, 0xe1548, 0x2aac6, 0x12e0a, 0x157714a, 0x127984, 0x15886c3, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x214883, 0x24acc3, 0x205d83, 0x1c3448, 0x21a043, 0x226783, 0x2eef84, 0x24acc3, 0x2cf905, 0x26b544, 0x21a043, 0x226783, 0x20f583, 0x200ec2, 0x214883, 0x24acc3, 0x19303, 0xf9b06, 0xc8204, 0x12fb86, 0x20bec3, 0x21a043, 0x226783, 0x20f583, 0x200ec2, 0x214883, 0x24acc3, 0x219303, 0x20b642, 0x21a043, 0x23e609, 0x226783, 0x2c22c9, 0x214e43, 0x214883, 0x90544, 0x24acc3, 0x30b648, 0x245ac7, 0x33a505, 0x62386, 0xcc388, 0x13a509, 0x1e5ac8, 0x1d5bc7, 0x105e0a, 0x1a9fcb, 0x12e787, 0x4d688, 0x1e244a, 0xcea48, 0x17149, 0x302c7, 0x1bb647, 0x1ec048, 0xa8408, 0x4ee4f, 0xb79c5, 0xa8707, 0x1eeb86, 0x1afc47, 0x12be46, 0xb5fc8, 0xc28c6, 0x1eb547, 0x135dc9, 0x36c87, 0x1b3209, 0xd5949, 0xdcac6, 0xdf908, 0xcc645, 0xf808a, 0xea7c8, 0x69243, 0xf2648, 0x412c7, 0x171045, 0xa1050, 0x7803, 0x1eb3c7, 0x16085, 0x106b48, 0x1ea2c5, 0xedfc3, 0x1688, 0x52c6, 0x164b89, 0xc5407, 0x1bf18b, 0x82404, 0x11ae04, 0x1215cb, 0x121b88, 0x122347, 0x14f985, 0x21a043, 0x226783, 0x204703, 0x24acc3, 0x24c843, 0x20f583, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0xabf8b, 0x2000c2, 0x205842, 0x21f483, 0x2102, 0x26c2, 0x5ec2, 0x7ffc8, 0x12b409, 0x1c8bc8, 0x5842, 0x20b642, 0x24acc3, 0x45c2, 0xec2, 0xf82, 0x1c3448, 0x13bf09, 0x1cd6c8, 0xb642, 0x2000c2, 0x205842, 0x20b642, 0x200382, 0x2005c2, 0x205c02, 0x2127c3, 0x165c6, 0x2024c2, 0x214883, 0x18846, 0x2003c2, 0x4a3c4, 0x23984, 0x2000c2, 0x258843, 0x205842, 0x229f43, 0x224d03, 0x20bec3, 0x20b642, 0x21a043, 0x226783, 0x200382, 0x2e9c43, 0x25e043, 0x219c03, 0x222d84, 0x2127c3, 0x21c043, 0xbc03, 0x21f483, 0x320984, 0x205ec3, 0x2e9c43, 0x205842, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0x20bc03, 0x21f483, 0x3c96c7, 0x229f43, 0x24dac7, 0x3a3d06, 0x21b983, 0x226403, 0x2e9c43, 0x204203, 0x258104, 0x3b4204, 0x33ef46, 0x231083, 0x2127c3, 0x10aacb, 0x21f483, 0x28a685, 0x22b5c4, 0x3b6a43, 0x3d8003, 0x2e1487, 0x236f05, 0x2283, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0x1c3404, 0x21f483, 0x1f343, 0x8a30d6cc, 0x5db43, 0x53a87, 0x4c106, 0xd5247, 0x135f85, 0x204e42, 0x256803, 0x219383, 0x258843, 0x8ae29f43, 0x208542, 0x224d03, 0x204b03, 0x2e9c43, 0x258104, 0x3ce883, 0x372ac3, 0x219c03, 0x222d84, 0x8b203bc2, 0x2127c3, 0x21f483, 0x2043c3, 0x229c83, 0x212843, 0x26ca02, 0x205ec3, 0x7ffc8, 0x2e9c43, 0xb8c3, 0x285584, 0x258843, 0x205842, 0x229f43, 0x241284, 0x224d03, 0x2e9c43, 0x258104, 0x25e043, 0x276f44, 0x292e44, 0x2edcc6, 0x222d84, 0x2127c3, 0x21f483, 0x202783, 0x278606, 0x46bcb, 0x332c6, 0x12650a, 0x11e28a, 0x7ffc8, 0x243244, 0x8c629f43, 0x384f44, 0x224d03, 0x29e6c4, 0x2e9c43, 0x352e83, 0x219c03, 0x2127c3, 0x81983, 0x21f483, 0x2f7c3, 0x34804b, 0x3dc94a, 0x3ef4cc, 0xf7088, 0x20f583, 0x20bc83, 0x214e43, 0x225a04, 0x214883, 0x21c243, 0x24acc3, 0x201b04, 0x200f83, 0x20f583, 0x20b642, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x208c43, 0x24acc3, 0x3ceb47, 0x21a043, 0x242ec7, 0x32b106, 0x212e83, 0x226dc3, 0x20f583, 0x211983, 0x25c204, 0x2580c4, 0x34ae46, 0x23bc83, 0x214883, 0x13404b, 0x24acc3, 0x2cf905, 0x336d44, 0x3db4c3, 0x2543c3, 0x2e66c7, 0x23ae45, 0x4f43, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x1c77c4, 0x24acc3, 0xbb43, 0x8c314a8c, 0xe28c3, 0x68ec7, 0x8b246, 0x1d95c7, 0x1369c5, 0x214202, 0x25e203, 0x21c683, 0x20bec3, 0x8ce1a043, 0x20c942, 0x226783, 0x207783, 0x20f583, 0x25c204, 0x20de83, 0x349143, 0x214e43, 0x225a04, 0x8d203642, 0x214883, 0x24acc3, 0x211b43, 0x219d83, 0x214903, 0x22ccc2, 0x200f83, 0x1c3448, 0x20f583, 0x18b43, 0x220c04, 0x20bec3, 0x20b642, 0x21a043, 0x243544, 0x226783, 0x20f583, 0x25c204, 0x20bc83, 0x279504, 0x230944, 0x2f3c06, 0x225a04, 0x214883, 0x24acc3, 0x205443, 0x27b8c6, 0x474cb, 0x38286, 0x489ca, 0x128d8a, 0x1c3448, 0x22f8c4, 0x8e61a043, 0x20be84, 0x226783, 0x2d1704, 0x20f583, 0x37ee83, 0x214e43, 0x214883, 0x24acc3, 0x23c83, 0x35174b, 0x3de04a, 0x3f2ccc, 0xfc148, 0x2000c2, 0x205842, 0x20b642, 0x200382, 0x235c45, 0x258104, 0x2026c2, 0x219c03, 0x292e44, 0x2048c2, 0x239805, 0x25c204, 0x200ec2, 0x214e43, 0x230944, 0x201f42, 0x2003c2, 0x2036c2, 0x26ca02, 0x58843, 0x35c2, 0x2da949, 0x27ce48, 0x2f0949, 0x3a6ac9, 0x212d4a, 0x214aca, 0x20d482, 0x2b90c2, 0x5842, 0x229f43, 0x20f1c2, 0x24cb46, 0x329c42, 0x48e02, 0x20ad42, 0x3599ce, 0x21eece, 0x212747, 0x2154c2, 0x224d03, 0x2e9c43, 0x205d42, 0x206382, 0x22ccc2, 0xbec3, 0x6282, 0x2de849, 0x27fc88, 0x366989, 0x3a7f49, 0x23240a, 0x31170a, 0x202882, 0x36e3c2, 0xb642, 0x21a043, 0x203682, 0x24ed46, 0x3347c2, 0x4a282, 0x200d82, 0x3aa34e, 0x22140e, 0x214807, 0x218342, 0x226783, 0x20f583, 0x2380c2, 0x2005c2, 0x58103, 0x24148f, 0x21d942, 0x2e8447, 0x2ecb87, 0x2f1d07, 0x2f5d4c, 0x2fbe8c, 0x2fc844, 0x291c0a, 0x21ee02, 0x208042, 0x2d4344, 0x31a43, 0x24374f, 0x24f082, 0x3cdac7, 0x2ccdc7, 0x3382c7, 0x2d12cc, 0x2dc1cc, 0x2208c4, 0x29588a, 0x221342, 0x20af02, 0x2d7504, 0x200702, 0x24f6c2, 0x2fc0c4, 0x21c142, 0x20b982, 0x280c3, 0x2ae587, 0x35ba05, 0x22d442, 0x240f84, 0x20bdc2, 0x2f6908, 0x2127c3, 0x37f808, 0x204982, 0x2fca05, 0x3a4706, 0x21f483, 0x206582, 0x300b87, 0x2082, 0x252e45, 0x331d05, 0x20b082, 0x208382, 0x3cb68a, 0x2805ca, 0x246f82, 0x2af444, 0x202602, 0x23a8c8, 0x20d682, 0x2dd588, 0x4c01, 0x314487, 0x315189, 0x252ec2, 0x31ab85, 0x37ba45, 0x21c6cb, 0x20d0cc, 0x2323c8, 0x32ff08, 0x202742, 0x25d042, 0x251ec2, 0x2dc404, 0x21f082, 0x212a82, 0x22043, 0x2c2947, 0x320f45, 0x224902, 0x31f984, 0x39b302, 0x2fba08, 0x214883, 0x385ec8, 0x207602, 0x220a85, 0x3a5a06, 0x24acc3, 0x208782, 0x307847, 0x4d42, 0x256145, 0x37b505, 0x2010c2, 0x20b242, 0x3d074a, 0x28358a, 0x2827c2, 0x2b6ac4, 0x201b02, 0x325548, 0x203b42, 0x22a888, 0x1101, 0x31c507, 0x31d209, 0x2561c2, 0x3231c5, 0x381a85, 0x21310b, 0x34b3cc, 0x236f48, 0x33b3c8, 0x205402, 0x2a5982, 0x2000c2, 0x7ffc8, 0x205842, 0x229f43, 0x1c3448, 0x20b642, 0x21a043, 0x200382, 0x2048c2, 0xbc03, 0x201f42, 0x2003c2, 0x21f483, 0x2036c2, 0x24acc3, 0x206382, 0x2000c2, 0x145d45, 0x8da05842, 0x10d804, 0x44005, 0x8eae9c43, 0x2280c3, 0x2026c2, 0x2127c3, 0x3c5f83, 0x8ee1f483, 0x2fe343, 0x2e2306, 0x1976c5, 0x1617083, 0x145d45, 0x1482cb, 0x7ffc8, 0x8dfce6c8, 0x6b547, 0x8e2ce18a, 0x7fdc7, 0xcab05, 0x8e786f09, 0x3204d, 0x3d082, 0x119a82, 0xc41, 0xf7544, 0xb978a, 0x80407, 0x1e5c4, 0x1e603, 0x1e604, 0x8f603e02, 0x8fa00ac2, 0x8fe00ec2, 0x90200b82, 0x90604142, 0x90a03702, 0xf1a47, 0x90e05842, 0x91215582, 0x91605802, 0x91a00d02, 0x21eec3, 0x2ba44, 0x91f0e7c8, 0x220f43, 0x92217202, 0x6d988, 0x92602a82, 0x82907, 0x1bbe47, 0x92a00042, 0x92e02142, 0x93200182, 0x93603842, 0x93a09c42, 0x93e005c2, 0x16a205, 0x2191c3, 0x368784, 0x94200702, 0x94619f42, 0x94a065c2, 0x8e04b, 0x94e00b42, 0x95654902, 0x95a026c2, 0x95e05c02, 0x9dac8, 0x9621dfc2, 0x9660dec2, 0x96a0f782, 0x96e7eec2, 0x97203bc2, 0x97604242, 0x97a048c2, 0x97e0ee02, 0x9822f002, 0x9860e942, 0xf9304, 0x381983, 0x98a3fa02, 0x98e1d342, 0x9920dcc2, 0x996006c2, 0x99a003c2, 0x99e00a82, 0xfde88, 0x1ddcc7, 0x9a202782, 0x9a603342, 0x9aa036c2, 0x9ae1ee82, 0x15804c, 0x9b201c82, 0x9b626d42, 0x9ba06202, 0x9be04c02, 0x9c212182, 0x9c612ec2, 0x9ca05242, 0x9ce0f542, 0x9d288142, 0x9d689482, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x2d643, 0xc8503, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x953ce883, 0x22d643, 0x371b44, 0x2f0846, 0x309a43, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x271609, 0x2035c2, 0x367e03, 0x2d2743, 0x3b6c85, 0x204b03, 0x3ce883, 0x22d643, 0x2ed403, 0x23c7c3, 0x205249, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x3ce883, 0x22d643, 0x2035c2, 0x2035c2, 0x3ce883, 0x22d643, 0x9de29f43, 0x224d03, 0x3a6d03, 0x219c03, 0x2127c3, 0xbc03, 0x21f483, 0x7ffc8, 0x205842, 0x229f43, 0x2127c3, 0x21f483, 0x71482, 0x229f43, 0x224d03, 0x2e9c43, 0x9e90b602, 0x219c03, 0x2127c3, 0xbc03, 0x21f483, 0xd01, 0x259b44, 0x205842, 0x229f43, 0x200983, 0x224d03, 0x25b9c4, 0x28c6c3, 0x2e9c43, 0x258104, 0x25e043, 0x219c03, 0x2127c3, 0x21f483, 0x23ffc3, 0x32e885, 0x23c7c3, 0x205ec3, 0x14f985, 0x8fa0b642, 0x114bc4, 0x44d85, 0x90a0f583, 0xc3fc4, 0x222043, 0x200ec2, 0x214883, 0x3c8a03, 0x90e4acc3, 0x305103, 0x2e7906, 0x198285, 0x1619303, 0x1bf3c5, 0x14f985, 0x1519cb, 0x1c3448, 0x8fe0dcc8, 0x5aec7, 0x903c488a, 0x10210c, 0x1c3247, 0x1a4045, 0x907ecf49, 0x2facd, 0x8a3c2, 0x122182, 0xc01, 0x103e84, 0xbf58a, 0x833c7, 0x16dc4, 0x16e03, 0x16e04, 0x91604042, 0x91a00b02, 0x91e01d42, 0x922016c2, 0x9260f202, 0x92a03d82, 0xf5d87, 0x92e0b642, 0x93218402, 0x9362b602, 0x93a101c2, 0x221403, 0x36604, 0x93f008c8, 0x239cc3, 0x94219482, 0x727c8, 0x94603f82, 0x871c7, 0x1c1087, 0x94a00042, 0x94e04142, 0x95200182, 0x95606502, 0x95a13f82, 0x95e005c2, 0x1a8385, 0x21e503, 0x3cc144, 0x96200702, 0x9661c4c2, 0x96a03e02, 0x9bc0b, 0x96e03f02, 0x976593c2, 0x97a00ec2, 0x97e024c2, 0xa2388, 0x9822ab02, 0x98601942, 0x98a0d3c2, 0x98e82182, 0x99203642, 0x99609082, 0x99a01f42, 0x99e12b42, 0x9a209882, 0x9a60b482, 0x149204, 0x23d1c3, 0x9aa0b342, 0x9ae1a182, 0x9b206a42, 0x9b6006c2, 0x9ba003c2, 0x9be07002, 0x104c48, 0xac107, 0x9c205442, 0x9c6026c2, 0x9ca06382, 0x9ce213c2, 0x16018c, 0x9d2021c2, 0x9d62ebc2, 0x9da07182, 0x9de07882, 0x9e20b382, 0x9e609142, 0x9ea0d442, 0x9ee138c2, 0x9f28c442, 0x9f68cd82, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x24b03, 0xcd883, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x9720de83, 0x224b03, 0x3b8384, 0x366886, 0x310783, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x378049, 0x206282, 0x370903, 0x2d5c43, 0x20cac5, 0x207783, 0x20de83, 0x224b03, 0x2f33c3, 0x23fac3, 0x227b89, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x20de83, 0x224b03, 0x206282, 0x206282, 0x20de83, 0x224b03, 0x9fe1a043, 0x226783, 0x3a8183, 0x214e43, 0x214883, 0x24acc3, 0x1c3448, 0x20b642, 0x21a043, 0x214883, 0x24acc3, 0x14e5c2, 0x21a043, 0x226783, 0x20f583, 0xa0913002, 0x214e43, 0x214883, 0x24acc3, 0xcc1, 0x2346c4, 0x262603, 0x20b642, 0x21a043, 0x3bfcc3, 0x226783, 0x2607c4, 0x204703, 0x20f583, 0x25c204, 0x20bc83, 0x214e43, 0x214883, 0x208c43, 0x24acc3, 0x240f03, 0x2423c3, 0x33a505, 0x23fac3, 0x200f83, 0x882, 0xbc03, 0x205842, 0x229f43, 0x3ce883, 0x2127c3, 0x21f483, 0x20b642, 0x21a043, 0x20de83, 0x214883, 0x24acc3, 0x2000c2, 0x258843, 0x7ffc8, 0x229f43, 0x224d03, 0x2e9c43, 0x2389c6, 0x258104, 0x25e043, 0x222d84, 0x2127c3, 0x21f483, 0x202783, 0x45c4, 0xb90c2, 0x229f43, 0x5483, 0x224d03, 0x26c2, 0x2127c3, 0x21f483, 0x76c04, 0x762c4, 0xfc2, 0x1489e07, 0x187887, 0x229f43, 0x332c6, 0x224d03, 0x2e9c43, 0xf8986, 0x2127c3, 0x21f483, 0x32bbc8, 0x32fd49, 0x340f89, 0x34b788, 0x3a6908, 0x3a6909, 0x3254ca, 0x362f8a, 0x3a0d8a, 0x3a8fca, 0x3dc94a, 0x3ea14b, 0x230a4d, 0x248e4f, 0x36ea90, 0x36668d, 0x38b00c, 0x3a8d0b, 0x1a20c7, 0x1299ce, 0x12cd8a, 0x12fa49, 0x140f89, 0x164fc9, 0x16520a, 0x16de09, 0x16e789, 0x17014b, 0x29b08, 0x10b448, 0x14abc9, 0x1498307, 0xe3f05, 0x229f43, 0x224d03, 0x2e9c43, 0x219c03, 0x2127c3, 0x21f483, 0x1f483, 0x20bec3, 0x1c3448, 0x21a043, 0x226783, 0x20f583, 0x23c686, 0x25c204, 0x20bc83, 0x225a04, 0x214883, 0x24acc3, 0x205443, 0x11d44, 0x16e3c2, 0x21a043, 0x24dc3, 0x226783, 0xec2, 0x214883, 0x24acc3, 0x791c4, 0x78884, 0x19c2, 0x1568287, 0x152347, 0x21a043, 0x38286, 0x226783, 0x20f583, 0xfda46, 0x214883, 0x24acc3, 0x337788, 0x33b209, 0x34a749, 0x354348, 0x3a7d88, 0x3a7d89, 0x33060a, 0x369eca, 0x3a280a, 0x3a8f8a, 0x3de04a, 0x3ede8b, 0x365a4d, 0x24a2cf, 0x24fe10, 0x36e74d, 0x38ca8c, 0x3a8ccb, 0x1a3447, 0x13454e, 0x138a0a, 0x13af09, 0x14a749, 0x16c949, 0x16cb8a, 0x176f49, 0x177889, 0x17898b, 0x19c08, 0x112e48, 0x59d09, 0x149e747, 0xe9545, 0x21a043, 0x226783, 0x20f583, 0x214e43, 0x214883, 0x24acc3, 0x4acc3, 0x2000c2, 0x236d45, 0x228083, 0xa2e05842, 0x224d03, 0x2e9c43, 0x3664c7, 0x21b643, 0x219c03, 0x2127c3, 0x25c743, 0x21c043, 0x204003, 0x20bc03, 0x21f483, 0x25ce86, 0x208ec2, 0x205ec3, 0x7ffc8, 0x23ac85, 0x222003, 0xa4e0b642, 0x226783, 0x20f583, 0x2c1a07, 0x21e803, 0x214e43, 0x214883, 0x262243, 0x21c243, 0x20f0c3, 0x208c43, 0x24acc3, 0x3ae506, 0x249902, 0x200f83, 0x1c3448, 0x2000c2, 0x258843, 0x205842, 0x229f43, 0x224d03, 0x2e9c43, 0x258104, 0x219c03, 0x2127c3, 0x21f483, 0x217083, 0x187887, 0x12c82, 0x9744, 0x151d546, 0x20bec3, 0x20b642, 0x21a043, 0x226783, 0x20f583, 0x25c204, 0x214e43, 0x214883, 0x24acc3, 0x219303, 0x152347, 0x13c02, 0x148744, 0x153a806, 0x2000c2, 0x205842, 0x2e9c43, 0x219c03, 0x21f483, 0x20b642, 0x20f583, 0x214e43, 0x24acc3, } // children is the list of nodes' children, the parent's wildcard bit and the
-
@@ -9862,659 +9896,667 @@ var children = [...]uint32{0x40000000, 0x50000000, 0x60000000, 0x17a05e2, 0x17a45e8, 0x17a85e9, 0x17cc5ea, 0x19245f3, 0x193c649, 0x195064f, 0x1968654, 0x198865a, 0x19ac662, 0x19c466b, 0x1a04671, 0x1a08681, 0x1a30682, 0x1a3468c, 0x1a4c68d, 0x1a50693, 0x1a54694, 0x1a94695, 0x1a986a5, 0x1a9c6a6, 0x21aa06a7, 0x61aa86a8, 0x21ab06aa, 0x1af86ac, 0x1b006be, 0x21b046c0, 0x1b286c1, 0x1b2c6ca, 0x1b406cb, 0x1b446d0, 0x1b646d1, 0x1b946d9, 0x1bb06e5, 0x1bb86ec, 0x1be06ee, 0x1bf86f8, 0x21bfc6fe, 0x21c006ff, 0x1c04700, 0x1c9c701, 0x1cb0727, 0x1cc472c, 0x1cfc731, 0x1d0c73f, 0x1d20743, 0x1d38748, 0x1ddc74e, 0x2010777, 0x2018804, 0x2201c806, 0x22020807, 0x208c808, 0x20f8823, 0x211083e, 0x2124844, 0x2128849, 0x212c84a, 0x213484b, 0x214c84d, 0x2150853, 0x2174854, 0x21c485d, 0x21c8871, 0x221cc872, 0x21ec873, 0x21f087b, 0x21f487c, 0x222087d, 0x62224888, 0x2222c889, 0x2223088b, 0x227488c, 0x6227889d, 0x229489e, 0x22ec8a5, 0x222f08bb, 0x222f48bc, 0x222fc8bd, 0x223008bf, 0x223048c0, 0x23088c1, 0x23108c2, 0x23148c4, 0x223208c5, 0x223288c8, 0x23388ca, 0x23488ce, 0x23fc8d2, 0x24008ff, 0x22410900, 0x22414904, 0x2241c905, 0x2474907, 0x247891d, 0x247c91e, 0x248091f, 0x2a4c920, 0x2a50a93, 0x22af8a94, 0x22afcabe, 0x22b00abf, 0x22b0cac0, 0x22b10ac3, 0x22b1cac4, 0x22b20ac7, 0x22b24ac8, 0x22b28ac9, 0x22b2caca, 0x22b30acb, 0x22b3cacc, 0x17ac5e4, 0x17b05eb, 0x17b45ec, 0x17d45ed, 0x192c5f5, 0x194064b, 0x1954650, 0x1968655, 0x198465a, 0x19a8661, 0x19c066a, 0x1a0c670, 0x1a10683, 0x1a38684, 0x1a3c68e, 0x1a5468f, 0x1a58695, 0x1a5c696, 0x1aa0697, 0x1aa46a8, 0x1aa86a9, 0x21aac6aa, 0x61ab46ab, 0x21abc6ad, 0x1b046af, 0x1b106c1, 0x21b146c4, 0x1b386c5, 0x1b3c6ce, 0x1b506cf, 0x1b546d4, 0x1b746d5, 0x1ba46dd, 0x1bc46e9, 0x1bcc6f1, 0x1bf46f3, 0x1c106fd, 0x21c14704, 0x21c18705, 0x1c1c706, 0x1cb4707, 0x1cc872d, 0x1cdc732, 0x1d14737, 0x1d24745, 0x1d38749, 0x1d5074e, 0x1df4754, 0x202877d, 0x203080a, 0x2203480c, 0x2203880d, 0x20a480e, 0x2110829, 0x2128844, 0x213c84a, 0x214084f, 0x2144850, 0x214c851, 0x2164853, 0x2168859, 0x218485a, 0x21d8861, 0x21dc876, 0x221e0877, 0x2200878, 0x2204880, 0x2208881, 0x2238882, 0x6223c88e, 0x2224488f, 0x22248891, 0x228c892, 0x622908a3, 0x22a48a4, 0x23048a9, 0x223088c1, 0x2230c8c2, 0x223148c3, 0x223188c5, 0x2231c8c6, 0x23208c7, 0x23288c8, 0x232c8ca, 0x223388cb, 0x223408ce, 0x23508d0, 0x23608d4, 0x24148d8, 0x2418905, 0x22428906, 0x2242c90a, 0x2243490b, 0x249090d, 0x2494924, 0x2498925, 0x249c926, 0x2a90927, 0x2a94aa4, 0x22b3caa5, 0x22b40acf, 0x22b4cad0, 0x22b50ad3, 0x22b44ad0, 0x22b50ad1, 0x22b54ad4, 0x22b58ad5, 0x22b64ad6, 0x22b60ad5, 0x22b64ad8, 0x22b68ad9, 0x22b74ada, 0x22b78add, 0x22b7cade, 0x22b80adf, 0x2b84ae0, 0x22b88ae1, 0x22b94ae2, 0x22b6cada, 0x22b70adb, 0x22b74adc, 0x22b80add, 0x22b84ae0, 0x22b90ae1, 0x22b94ae4, 0x22b98ae5, 0x2b9cae6, 0x2ba4ae7, 0x62bb0ae9, 0x2bf4aec, 0x22c14afd, 0x22c18b05, 0x22c1cb06, 0x22c24b07, 0x22c2cb09, 0x22c30b0b, 0x22c34b0c, 0x22c3cb0d, 0x22c40b0f, 0x22c44b10, 0x2c48b11, 0x22c74b12, 0x22c78b1d, 0x22b9cae6, 0x22ba8ae7, 0x22bacaea, 0x22bb8aeb, 0x22bbcaee, 0x22bc0aef, 0x22bc4af0, 0x2bc8af1, 0x22bccaf2, 0x22bd8af3, 0x22bdcaf6, 0x2be0af7, 0x2be8af8, 0x62bf4afa, 0x22bfcafd, 0x2c40aff, 0x22c60b10, 0x22c64b18, 0x22c68b19, 0x22c70b1a, 0x22c78b1c, 0x22c7cb1e, 0x2c80b1f, 0x22c84b20, 0x22c88b21, 0x22c94b22, 0x22c98b25, 0x2c9cb26, 0x2ca4b27, 0x2cacb29, 0x2cb0b2b, 0x2cccb2c, 0x2ce4b33, 0x22c80b1f, 0x22c88b20, 0x22c8cb22, 0x22c90b23, 0x2c94b24, 0x22cc0b25, 0x22cc4b30, 0x22cc8b31, 0x2cccb32, 0x22cd0b33, 0x22cd4b34, 0x22ce0b35, 0x22ce4b38, 0x2ce8b39, 0x2cf8b3a, 0x2d04b3e, 0x2d38b41, 0x2d40b4e, 0x22d44b50, 0x2d5cb51, 0x22d64b57, 0x22d68b59, 0x22d70b5a, 0x2e74b5c, 0x22e78b9d, 0x2e80b9e, 0x2e84ba0, 0x22e88ba1, 0x2e8cba2, 0x2ed0ba3, 0x2ed4bb4, 0x2ed8bb5, 0x2ef0bb6, 0x2f04bbc, 0x2f2cbc1, 0x2f54bcb, 0x2f58bd5, 0x62f5cbd6, 0x2f90bd7, 0x2f94be4, 0x22f98be5, 0x2f9cbe6, 0x2fc4be7, 0x2fc8bf1, 0x2fecbf2, 0x2ff0bfb, 0x3004bfc, 0x3008c01, 0x300cc02, 0x302cc03, 0x304cc0b, 0x23050c13, 0x2cf0b3a, 0x2cfcb3c, 0x2d04b3f, 0x2d20b41, 0x2d38b48, 0x2d3cb4e, 0x2d4cb4f, 0x2d58b53, 0x2d8cb56, 0x2d94b63, 0x22d98b65, 0x2db0b66, 0x22db8b6c, 0x22dbcb6e, 0x22dc4b6f, 0x2ed0b71, 0x22ed4bb4, 0x2edcbb5, 0x2ee0bb7, 0x22ee4bb8, 0x2ee8bb9, 0x2f34bba, 0x2f38bcd, 0x2f3cbce, 0x2f58bcf, 0x2f6cbd6, 0x2f94bdb, 0x2fbcbe5, 0x2fc0bef, 0x62fc4bf0, 0x2ff4bf1, 0x2ff8bfd, 0x22ffcbfe, 0x3000bff, 0x3028c00, 0x302cc0a, 0x3050c0b, 0x3054c14, 0x23058c15, 0x305cc16, 0x3060c17, 0x3064c18, 0x3068c19, 0x3084c1a, 0x23088c21, 0x23090c22, 0x3094c24, 0x30bcc25, 0x30d0c2f, 0x3144c34, 0x3150c51, 0x3154c54, 0x3174c55, 0x318cc5d, 0x3190c63, 0x31a4c64, 0x31bcc69, 0x31dcc6f, 0x31f4c77, 0x31fcc7d, 0x3218c7f, 0x3234c86, 0x3238c8d, 0x3264c8e, 0x3284c99, 0x32a4ca1, 0x32a8ca9, 0x3310caa, 0x3330cc4, 0x3358ccc, 0x335ccd6, 0x3374cd7, 0x33b8cdd, 0x3438cee, 0x3478d0e, 0x347cd1e, 0x3488d1f, 0x34a8d22, 0x34b0d2a, 0x34d4d2c, 0x34dcd35, 0x351cd37, 0x3570d47, 0x3574d5c, 0x3678d5d, 0x23680d9e, 0x23684da0, 0x23688da1, 0x2368cda2, 0x23690da3, 0x3694da4, 0x23698da5, 0x2369cda6, 0x236a0da7, 0x36a4da8, 0x236a8da9, 0x236b8daa, 0x236bcdae, 0x236c0daf, 0x236c4db0, 0x236c8db1, 0x236ccdb2, 0x236d0db3, 0x36e8db4, 0x370cdba, 0x372cdc3, 0x3da0dcb, 0x23da4f68, 0x23da8f69, 0x23dacf6a, 0x23db0f6b, 0x3dc0f6c, 0x3de0f70, 0x3fa0f78, 0x4070fe8, 0x40e101c, 0x4139038, 0x422104e, 0x4279088, 0x42b509e, 0x43b10ad, 0x447d0ec, 0x451511f, 0x45a5145, 0x4609169, 0x4841182, 0x48f9210, 0x49c523e, 0x4a11271, 0x4a99284, 0x4ad52a6, 0x4b252b5, 0x4b9d2c9, 0x64ba12e7, 0x64ba52e8, 0x64ba92e9, 0x4c252ea, 0x4c81309, 0x4cfd320, 0x4d7533f, 0x4df535d, 0x4e6137d, 0x4f8d398, 0x4fe53e3, 0x64fe93f9, 0x50813fa, 0x5089420, 0x2508d422, 0x5115423, 0x5161445, 0x51c9458, 0x5271472, 0x533949c, 0x53a14ce, 0x54b54e8, 0x654b952d, 0x654bd52e, 0x551952f, 0x5575546, 0x560555d, 0x5681581, 0x56c55a0, 0x57a95b1, 0x57dd5ea, 0x583d5f7, 0x58b160f, 0x593962c, 0x597964e, 0x59e965e, 0x659ed67a, 0x5a1567b, 0x5a19685, 0x5a49686, 0x5a65692, 0x5aa9699, 0x5ab96aa, 0x5ad16ae, 0x5b496b4, 0x5b516d2, 0x5b6d6d4, 0x5b816db, 0x5ba56e0, 0x25ba96e9, 0x5bd56ea, 0x5bd96f5, 0x5be16f6, 0x306cc15, 0x3070c1b, 0x3074c1c, 0x3094c1d, 0x30b4c25, 0x230b8c2d, 0x30bcc2e, 0x230c0c2f, 0x30c4c30, 0x30c8c31, 0x30ccc32, 0x30d0c33, 0x30f0c34, 0x230f4c3c, 0x230fcc3d, 0x3100c3f, 0x3128c40, 0x313cc4a, 0x31bcc4f, 0x31c4c6f, 0x31c8c71, 0x31e4c72, 0x31fcc79, 0x3200c7f, 0x3214c80, 0x322cc85, 0x3248c8b, 0x3260c92, 0x3268c98, 0x3284c9a, 0x329cca1, 0x32a0ca7, 0x32c8ca8, 0x32e8cb2, 0x3304cba, 0x3308cc1, 0x336ccc2, 0x3388cdb, 0x33b0ce2, 0x33b4cec, 0x33ccced, 0x3410cf3, 0x3490d04, 0x34d0d24, 0x34d4d34, 0x34e0d35, 0x3500d38, 0x3508d40, 0x3528d42, 0x3530d4a, 0x3574d4c, 0x35c8d5d, 0x35ccd72, 0x36dcd73, 0x236e4db7, 0x236e8db9, 0x236ecdba, 0x236f0dbb, 0x236f4dbc, 0x36f8dbd, 0x236fcdbe, 0x23700dbf, 0x23704dc0, 0x3708dc1, 0x370cdc2, 0x23710dc3, 0x23720dc4, 0x23728dc8, 0x23730dca, 0x23734dcc, 0x2373cdcd, 0x23740dcf, 0x23744dd0, 0x375cdd1, 0x3780dd7, 0x37a0de0, 0x3e18de8, 0x23e1cf86, 0x23e20f87, 0x23e24f88, 0x23e28f89, 0x3e38f8a, 0x3e58f8e, 0x4018f96, 0x40e9006, 0x415903a, 0x41b1056, 0x429906c, 0x42f10a6, 0x432d0bc, 0x44290cb, 0x44f510a, 0x458d13d, 0x461d163, 0x4681187, 0x48b91a0, 0x497122e, 0x4a3d25c, 0x4a8928f, 0x4b112a2, 0x4b4d2c4, 0x4b9d2d3, 0x4c152e7, 0x64c19305, 0x64c1d306, 0x64c21307, 0x4c9d308, 0x4cf9327, 0x4d7533e, 0x4ded35d, 0x4e6d37b, 0x4ed939b, 0x50053b6, 0x505d401, 0x65061417, 0x50f9418, 0x510143e, 0x25105440, 0x518d441, 0x51d9463, 0x5241476, 0x52e9490, 0x53b14ba, 0x54194ec, 0x552d506, 0x6553154b, 0x6553554c, 0x559154d, 0x55ed564, 0x567d57b, 0x56f959f, 0x573d5be, 0x58215cf, 0x5855608, 0x58b5615, 0x592962d, 0x59b164a, 0x59f166c, 0x5a6167c, 0x65a65698, 0x5a89699, 0x5a8d6a2, 0x5abd6a3, 0x5ad96af, 0x5b1d6b6, 0x5b2d6c7, 0x5b456cb, 0x5bbd6d1, 0x5bc56ef, 0x5be16f1, 0x5bf56f8, 0x5c156fd, 0x5c25705, 0x5c31709, 0x5c6d70c, 0x5c7171b, 0x5c7971c, 0x5c8d71e, 0x5cb5723, 0x5cc172d, 0x5cc9730, 0x5cf1732, 0x5d1573c, 0x5d2d745, 0x5d3174b, 0x5d3974c, 0x5d4174e, 0x5d55750, 0x5e11755, 0x5e15784, 0x5e1d785, 0x5e21787, 0x5e45788, 0x5e69791, 0x5e8579a, 0x5e997a1, 0x5ead7a6, 0x5eb57ab, 0x5ebd7ad, 0x5ec57af, 0x5edd7b1, 0x5eed7b7, 0x5ef17bb, 0x5f0d7bc, 0x67957c3, 0x67cd9e5, 0x67f99f3, 0x68159fe, 0x6839a05, 0x6859a0e, 0x689da16, 0x68a5a27, 0x268a9a29, 0x268ada2a, 0x68b5a2b, 0x6ae5a2d, 0x6af9ab9, 0x26afdabe, 0x6b01abf, 0x6b09ac0, 0x26b15ac2, 0x26b25ac5, 0x26b2dac9, 0x26b39acb, 0x6b3dace, 0x26b41acf, 0x26b59ad0, 0x26b61ad6, 0x26b69ad8, 0x25c19705, 0x5c41706, 0x5c45710, 0x5c4d711, 0x5c61713, 0x5c7d718, 0x5c8571f, 0x5c91721, 0x5c95724, 0x5cd1725, 0x5cd5734, 0x5cdd735, 0x5cf1737, 0x5d1973c, 0x5d21746, 0x5d25748, 0x5d49749, 0x5d6d752, 0x5d8575b, 0x5d89761, 0x5d91762, 0x5d99764, 0x5dad766, 0x5e6976b, 0x5e6d79a, 0x5e7579b, 0x5e7979d, 0x5e9d79e, 0x5ebd7a7, 0x5ed97af, 0x5ee97b6, 0x5efd7ba, 0x5f057bf, 0x5f0d7c1, 0x5f117c3, 0x5f197c4, 0x5f357c6, 0x5f457cd, 0x5f497d1, 0x5f657d2, 0x67ed7d9, 0x68259fb, 0x6851a09, 0x6869a14, 0x688da1a, 0x68ada23, 0x68f1a2b, 0x68f9a3c, 0x268fda3e, 0x26901a3f, 0x6909a40, 0x6b4da42, 0x26b51ad3, 0x26b55ad4, 0x6b69ad5, 0x26b6dada, 0x26b75adb, 0x6b79add, 0x26b7dade, 0x6b81adf, 0x26b8dae0, 0x6b95ae3, 0x6ba9ae5, 0x6b71adb, 0x6b79adc, 0x26b85ade, 0x26b95ae1, 0x26b9dae5, 0x26ba9ae7, 0x6badaea, 0x6bd5aeb, 0x6c11af5, 0x6c15b04, 0x6c4db05, 0x6c71b13, 0x77c9b1c, 0x77cddf2, 0x77d1df3, 0x277d5df4, 0x77d9df5, 0x277dddf6, 0x77e1df7, 0x277eddf8, 0x77f1dfb, 0x77f5dfc, 0x277f9dfd, 0x77fddfe, 0x27805dff, 0x7809e01, 0x780de02, 0x2781de03, 0x7821e07, 0x7825e08, 0x7829e09, 0x782de0a, 0x27831e0b, 0x7835e0c, 0x7839e0d, 0x783de0e, 0x7841e0f, 0x27849e10, 0x784de12, 0x26bb1aeb, 0x26bc9aec, 0x26bd1af2, 0x26bd9af4, 0x26bddaf6, 0x26be5af7, 0x6be9af9, 0x26bedafa, 0x6bf1afb, 0x26bfdafc, 0x6c05aff, 0x6c19b01, 0x6c1db06, 0x6c45b07, 0x6c81b11, 0x6c85b20, 0x6cbdb21, 0x6ce5b2f, 0x7841b39, 0x7845e10, 0x7849e11, 0x2784de12, 0x7851e13, 0x7855e14, 0x27859e15, 0x785de16, 0x27865e17, 0x27869e19, 0x7885e1a, 0x789de21, 0x78e1e27, 0x78e5e38, 0x7909e39, 0x791de42, 0x7921e47, 0x7925e48, 0x7ae9e49, 0x27aedeba, 0x27af5ebb, 0x27af9ebd, 0x27afdebe, 0x7b05ebf, 0x7be1ec1, 0x27bedef8, 0x27bf1efb, 0x27bf5efc, 0x27bf9efd, 0x7bfdefe, 0x7c29eff, 0x7c39f0a, 0x7c3df0e, 0x7c61f0f, 0x7c6df18, 0x7c8df1b, 0x7c91f23, 0x7cc9f24, 0x7f85f32, 0x8041fe1, 0x8046010, 0x804a011, 0x805e012, 0x8062017, 0x8096018, 0x80ce025, 0x280d2033, 0x80ee034, 0x811603b, 0x811a045, 0x813e046, 0x815a04f, 0x8182056, 0x8192060, 0x8196064, 0x819a065, 0x81d6066, 0x81e2075, 0x820a078, 0x82ae082, 0x282b20ab, 0x82b60ac, 0x82c60ad, 0x282ca0b1, 0x82de0b2, 0x82fa0b7, 0x831a0be, 0x831e0c6, 0x83320c7, 0x83460cc, 0x834a0d1, 0x83520d2, 0x83560d4, 0x83760d5, 0x84220dd, 0x8426108, 0x8446109, 0x8472111, 0x2848211c, 0x8486120, 0x8496121, 0x84d6125, 0x84de135, 0x84f2137, 0x851213c, 0x852e144, 0x853a14b, 0x855a14e, 0x858e156, 0x8596163, 0x866a165, 0x866e19a, 0x868219b, 0x868a1a0, 0x86a21a2, 0x86a61a8, 0x86b21a9, 0x86be1ac, 0x86c21af, 0x86ca1b0, 0x86ce1b2, 0x86f21b3, 0x87321bc, 0x87361cc, 0x87561cd, 0x87aa1d5, 0x87da1ea, 0x287de1f6, 0x87e61f7, 0x883e1f9, 0x884220f, 0x8846210, 0x884a211, 0x888e212, 0x889e223, 0x88de227, 0x88e2237, 0x8912238, 0x8a5e244, 0x8a86297, 0x8ac22a1, 0x8aea2b0, 0x28af22ba, 0x28af62bc, 0x28afa2bd, 0x8b022be, 0x8b0e2c0, 0x8c322c3, 0x8c3e30c, 0x8c4a30f, 0x8c56312, 0x8c62315, 0x8c6e318, 0x8c7a31b, 0x8c8631e, 0x8c92321, 0x8c9e324, 0x8caa327, 0x28cae32a, 0x8cba32b, 0x8cc632e, 0x8cd2331, 0x8cda334, 0x27855e14, 0x7859e15, 0x27865e16, 0x7869e19, 0x786de1a, 0x27871e1b, 0x7875e1c, 0x2787de1d, 0x7881e1f, 0x7885e20, 0x27895e21, 0x7899e25, 0x789de26, 0x78a1e27, 0x78a5e28, 0x278a9e29, 0x78ade2a, 0x78b1e2b, 0x78b5e2c, 0x78b9e2d, 0x278c1e2e, 0x78c5e30, 0x78c9e31, 0x78cde32, 0x278d1e33, 0x78d5e34, 0x278dde35, 0x278e1e37, 0x78fde38, 0x790de3f, 0x794de43, 0x7951e53, 0x7975e54, 0x7989e5d, 0x798de62, 0x7999e63, 0x7b61e66, 0x27b65ed8, 0x27b6ded9, 0x27b71edb, 0x27b75edc, 0x7b7dedd, 0x7c59edf, 0x27c65f16, 0x27c69f19, 0x27c6df1a, 0x27c71f1b, 0x7c75f1c, 0x7ca1f1d, 0x7cb9f28, 0x7cbdf2e, 0x7cddf2f, 0x7ce9f37, 0x7d09f3a, 0x7d0df42, 0x7d45f43, 0x800df51, 0x80ca003, 0x80ce032, 0x80d2033, 0x80e6034, 0x80ea039, 0x811e03a, 0x8156047, 0x2815a055, 0x8176056, 0x819a05d, 0x819e066, 0x81be067, 0x81da06f, 0x81fe076, 0x820e07f, 0x8212083, 0x8216084, 0x824e085, 0x825a093, 0x8282096, 0x282860a0, 0x83220a1, 0x283260c8, 0x832a0c9, 0x833a0ca, 0x2833e0ce, 0x83520cf, 0x836e0d4, 0x838e0db, 0x83920e3, 0x83a60e4, 0x83ba0e9, 0x83be0ee, 0x83c60ef, 0x83ca0f1, 0x83ea0f2, 0x84a20fa, 0x284a6128, 0x84aa129, 0x84ca12a, 0x84f6132, 0x2850613d, 0x850a141, 0x8516142, 0x855a145, 0x855e156, 0x8572157, 0x859215c, 0x85ae164, 0x85ba16b, 0x85da16e, 0x860a176, 0x8616182, 0x86e6185, 0x86ea1b9, 0x86fe1ba, 0x87021bf, 0x871a1c0, 0x871e1c6, 0x872a1c7, 0x87361ca, 0x873a1cd, 0x87421ce, 0x87461d0, 0x876a1d1, 0x87a61da, 0x87aa1e9, 0x87ca1ea, 0x881e1f2, 0x884e207, 0x28852213, 0x885a214, 0x88b2216, 0x88b622c, 0x88ba22d, 0x88be22e, 0x890222f, 0x8912240, 0x894e244, 0x8952253, 0x8982254, 0x8ace260, 0x8af22b3, 0x8b322bc, 0x8b622cc, 0x28b6a2d8, 0x28b6e2da, 0x28b722db, 0x8b7a2dc, 0x8b862de, 0x8caa2e1, 0x8cb632a, 0x8cc232d, 0x8cce330, 0x8cda333, 0x8ce6336, 0x8cf2339, 0x8cfe33c, 0x8d0a33f, 0x8d16342, 0x8d22345, 0x8d2e348, 0x8d3a34b, 0x8d4634e, 0x8d52351, 0x28d26348, 0x8d32349, 0x8d3e34c, 0x8d4a34f, 0x8d52352, 0x8d5e354, 0x8d8a357, 0x8d96362, 0x8da2365, 0x8dae368, 0x8dba36b, 0x8dc636e, 0x8dce371, 0x8dda373, 0x8de6376, 0x8df2379, 0x8dfe37c, 0x8e0a37f, 0x8e16382, 0x8e22385, 0x8e2e388, 0x8e3a38b, 0x8e4638e, 0x8d6a357, 0x8d7635a, 0x8d8235d, 0x8d8e360, 0x8d9a363, 0x8da6366, 0x8db2369, 0x8dbe36c, 0x8dca36f, 0x8dd6372, 0x8e02375, 0x8e0e380, 0x8e1a383, 0x8e26386, 0x8e32389, 0x8e3e38c, 0x8e4638f, 0x8e52391, 0x8e5a394, 0x8e66396, 0x8e6e399, 0x8e7a39b, 0x8e8639e, 0x8e923a1, 0x8e9e3a4, 0x8eaa3a7, 0x8eb63aa, 0x8ec23ad, 0x8ece3b0, 0x8ed23b3, 0x8e5e394, 0x8e6a397, 0x8e7639a, 0x8e8239d, 0x8e8e3a0, 0x8e9a3a3, 0x8ea63a6, 0x8eb23a9, 0x8ebe3ac, 0x8eca3af, 0x8ed23b2, 0x8ede3b4, 0x8efa3b7, 0x8efe3be, 0x8f0e3bf, 0x8f323c3, 0x8f363cc, 0x8f7a3cd, 0x8f823de, 0x8f963e0, 0x8fca3e5, 0x8fea3f2, 0x8fee3fa, 0x8ff63fb, 0x901a3fd, 0x9032406, 0x904a40c, 0x9062412, 0x908a418, 0x909e422, 0x90b6427, 0x90ba42d, 0x2910242e, 0x9106440, 0x9132441, 0x914244c, 0x9156450, 0x8ee63b7, 0x8ef23b9, 0x8efe3bc, 0x8f0a3bf, 0x8f163c2, 0x8f223c5, 0x8f2e3c8, 0x8f3a3cb, 0x8f463ce, 0x8f4a3d1, 0x8f563d2, 0x8f6e3d5, 0x8f723db, 0x8f823dc, 0x8fa23e0, 0x8fa63e8, 0x8ff63e9, 0x8ffa3fd, 0x900e3fe, 0x9042403, 0x9062410, 0x9066418, 0x906e419, 0x909241b, 0x90aa424, 0x90c242a, 0x90da430, 0x9102436, 0x9116440, 0x912e445, 0x913244b, 0x2917a44c, 0x917e45e, 0x91aa45f, 0x91ba46a, 0x91ce46e, } // max children 654 (capacity 1023) // max text offset 31758 (capacity 32767) // max children 662 (capacity 1023) // max text offset 32015 (capacity 32767) // max text length 36 (capacity 63) // max hi 9301 (capacity 16383) // max lo 9296 (capacity 16383) // max hi 9331 (capacity 16383) // max lo 9326 (capacity 16383)
-
-
-
@@ -90,9 +90,10 @@ func archInit() {osSupportsAVX = isSet(1, eax) && isSet(2, eax) if runtime.GOOS == "darwin" { // 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() // 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 } else { // Check if OPMASK and ZMM registers have OS support. osSupportsAVX512 = osSupportsAVX && isSet(5, eax) && isSet(6, eax) && isSet(7, eax)
-
-
-
@@ -26,27 +26,3 @@ TEXT ·xgetbv(SB),NOSPLIT,$0-8MOVL 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
-
-
-
@@ -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. ### mkmerge.go ### internal/mkmerge This program is used to extract duplicate const, func, and type declarations from the generated architecture-specific files listed below, and merge these
-
-
-
@@ -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
-
-
-
@@ -54,7 +54,7 @@ includes_AIX='includes_Darwin=' #define _DARWIN_C_SOURCE #define KERNEL #define KERNEL 1 #define _DARWIN_USE_64_BIT_INODE #define __APPLE_USE_RFC_3542 #include <stdint.h>
-
@@ -75,6 +75,7 @@ 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>
-
@@ -82,6 +83,9 @@ 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='
-
@@ -229,11 +233,13 @@ struct ltchars {#include <linux/input.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>
-
@@ -465,7 +471,6 @@ ccflags="$@"$2 !~ /^EQUIV_/ && $2 !~ /^EXPR_/ && $2 !~ /^EVIOC/ && $2 !~ /^EV_/ && $2 ~ /^E[A-Z0-9_]+$/ || $2 ~ /^B[0-9_]+$/ || $2 ~ /^(OLD|NEW)DEV$/ ||
-
@@ -497,6 +502,7 @@ ccflags="$@"$2 ~ /^O?XTABS$/ || $2 ~ /^TC[IO](ON|OFF)$/ || $2 ~ /^IN_/ || $2 ~ /^LANDLOCK_/ || $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || $2 ~ /^LO_(KEY|NAME)_SIZE$/ || $2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
-
@@ -515,7 +521,7 @@ ccflags="$@"$2 ~ /^HW_MACHINE$/ || $2 ~ /^SYSCTL_VERS/ || $2 !~ "MNT_BITS" && $2 ~ /^(MS|MNT|UMOUNT)_/ || $2 ~ /^(MS|MNT|MOUNT|UMOUNT)_/ || $2 ~ /^NS_GET_/ || $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ || $2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT|TFD)_/ ||
-
-
-
@@ -34,3 +34,52 @@ 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 } }
-
-
-
@@ -70,9 +70,7 @@ 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) for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil }
-
@@ -85,9 +83,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil }
-
@@ -261,9 +257,7 @@ 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]) for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil case AF_INET6:
-
@@ -272,9 +266,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil } return nil, EAFNOSUPPORT
-
@@ -385,6 +377,11 @@ 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 */
-
@@ -401,7 +398,6 @@ func (w WaitStatus) TrapCause() int { return -1 }//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)
-
-
-
@@ -163,9 +163,7 @@ 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) for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil }
-
@@ -179,9 +177,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil }
-
@@ -210,9 +206,7 @@ func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) {sa.raw.Nlen = sa.Nlen sa.raw.Alen = sa.Alen sa.raw.Slen = sa.Slen for i := 0; i < len(sa.raw.Data); i++ { sa.raw.Data[i] = sa.Data[i] } sa.raw.Data = sa.Data return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil }
-
@@ -228,9 +222,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {sa.Nlen = pp.Nlen sa.Alen = pp.Alen sa.Slen = pp.Slen for i := 0; i < len(sa.Data); i++ { sa.Data[i] = pp.Data[i] } sa.Data = pp.Data return sa, nil case AF_UNIX:
-
@@ -262,9 +254,7 @@ 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]) for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil case AF_INET6:
-
@@ -273,9 +263,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil } return anyToSockaddrGOOS(fd, rsa)
-
-
-
@@ -48,6 +48,30 @@ 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:
-
@@ -58,6 +82,13 @@ 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 }
-
@@ -399,8 +430,25 @@ func GetsockoptXucred(fd, level, opt int) (*Xucred, error) {return x, err } func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) { mib, err := sysctlmib(name) 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 }
-
@@ -433,6 +481,11 @@ func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) {//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 */
-
@@ -590,10 +643,6 @@ func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) {// Msgget // Msgsnd // Msgrcv // Shmat // Shmctl // Shmdt // Shmget // Shm_open // Shm_unlink // Sem_open
-
-
-
@@ -162,6 +162,14 @@ 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))) }
-
-
-
@@ -13,7 +13,6 @@ package uniximport ( "encoding/binary" "runtime" "syscall" "unsafe" )
-
@@ -38,6 +37,13 @@ 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)
-
@@ -66,6 +72,10 @@ 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
-
@@ -109,6 +119,23 @@ 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) 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) {
-
@@ -118,6 +145,15 @@ func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err errorreturn 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) {
-
@@ -168,27 +204,7 @@ 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 { 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]))) return UtimesNanoAt(AT_FDCWD, path, ts, 0) } func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
-
@@ -356,9 +372,7 @@ 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) for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil }
-
@@ -371,9 +385,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil }
-
@@ -422,9 +434,7 @@ func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) {sa.raw.Hatype = sa.Hatype sa.raw.Pkttype = sa.Pkttype sa.raw.Halen = sa.Halen for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil }
-
@@ -839,12 +849,10 @@ 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 }
-
@@ -858,9 +866,7 @@ type SockaddrL2TPIP struct {func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_INET sa.raw.Conn_id = sa.ConnId for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP, nil }
-
@@ -876,9 +882,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP6, nil }
-
@@ -974,9 +978,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {sa.Hatype = pp.Hatype sa.Pkttype = pp.Pkttype sa.Halen = pp.Halen for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil case AF_UNIX:
-
@@ -1015,18 +1017,14 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {pp := (*RawSockaddrL2TPIP)(unsafe.Pointer(rsa)) sa := new(SockaddrL2TPIP) sa.ConnId = pp.Conn_id for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr 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]) for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil }
-
@@ -1042,9 +1040,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {sa := new(SockaddrL2TPIP6) sa.ConnId = pp.Conn_id sa.ZoneId = pp.Scope_id for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil default: pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
-
@@ -1052,9 +1048,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil }
-
@@ -1229,11 +1223,7 @@ 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 }
-
@@ -1785,6 +1775,16 @@ func Mount(source string, target string, fstype string, flags uintptr, data strireturn 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))
-
@@ -1816,11 +1816,7 @@ 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 { // 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) return Dup3(oldfd, newfd, 0) } //sys Dup3(oldfd int, newfd int, flags int) (err error)
-
@@ -2308,6 +2304,14 @@ 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) /* * Unimplemented */
-
@@ -2389,10 +2393,6 @@ type RemoteIovec struct {// SetRobustList // SetThreadArea // SetTidAddress // Shmat // Shmctl // Shmdt // Shmget // Sigaltstack // Swapoff // Swapon
-
-
-
@@ -19,36 +19,8 @@ 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
-
@@ -59,7 +31,6 @@ func Pipe2(p []int, flags int) (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 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
-
@@ -381,12 +352,3 @@ 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) }
-
-
-
@@ -7,8 +7,6 @@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,17 +19,6 @@ 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)
-
@@ -126,32 +113,6 @@ 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 }
-
@@ -176,15 +137,6 @@ 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 {
-
-
-
@@ -19,36 +19,6 @@ 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 {
-
@@ -76,8 +46,6 @@ 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
-
@@ -86,7 +54,6 @@ 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
-
@@ -260,15 +227,6 @@ 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 {
-
-
-
@@ -9,13 +9,6 @@ package uniximport "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)
-
@@ -145,30 +138,6 @@ 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)
-
@@ -211,31 +180,11 @@ 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 {
-
-
-
@@ -8,8 +8,6 @@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)
-
@@ -94,30 +92,6 @@ 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 }
-
@@ -220,16 +194,3 @@ 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) }
-
-
-
@@ -15,8 +15,6 @@ 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)
-
@@ -60,7 +58,6 @@ 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)
-
@@ -113,29 +110,6 @@ 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) {
-
@@ -232,12 +206,3 @@ 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) }
-
-
-
@@ -12,8 +12,6 @@ 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
-
@@ -23,7 +21,6 @@ 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)
-
@@ -218,41 +215,6 @@ 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 {
-
-
-
@@ -8,8 +8,6 @@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)
-
@@ -22,7 +20,6 @@ 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)
-
@@ -104,41 +101,6 @@ 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 {
-
-
-
@@ -9,13 +9,6 @@ package uniximport "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)
-
@@ -144,30 +137,6 @@ 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 }
-
@@ -192,27 +161,11 @@ 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) }
-
@@ -229,7 +182,3 @@ 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
-
-
-
@@ -11,8 +11,6 @@ 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)
-
@@ -25,7 +23,6 @@ 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)
-
@@ -77,30 +74,6 @@ 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 }
-
@@ -324,15 +297,6 @@ 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 {
-
-
-
@@ -9,7 +9,6 @@ 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
-
@@ -20,7 +19,6 @@ 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)
-
@@ -119,38 +117,3 @@ 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) }
-
-
-
@@ -92,9 +92,7 @@ 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) for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil }
-
@@ -107,9 +105,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil }
-
@@ -417,9 +413,7 @@ 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]) for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil case AF_INET6:
-
@@ -428,9 +422,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil } return nil, EAFNOSUPPORT
-
-
-
@@ -67,9 +67,7 @@ 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) for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil }
-
@@ -83,9 +81,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil }
-
@@ -144,9 +140,7 @@ 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]) for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil case AF_INET6:
-
@@ -155,9 +149,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil } return nil, EAFNOSUPPORT
-
-
-
@@ -0,0 +1,21 @@// 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) }
-
-
-
@@ -0,0 +1,61 @@// 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) }
-
-
-
@@ -0,0 +1,14 @@// 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) }
-
-
-
@@ -12,1556 +12,1582 @@ package uniximport "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_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_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_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 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 ) // Errors
-
-
-
@@ -12,1556 +12,1582 @@ package uniximport "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_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_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_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 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 ) // Errors
-
-
-
@@ -1,4 +1,4 @@// Code generated by mkmerge.go; DO NOT EDIT. // Code generated by mkmerge; DO NOT EDIT. //go:build linux // +build linux
-
@@ -116,6 +116,7 @@ const (ARPHRD_LAPB = 0x204 ARPHRD_LOCALTLK = 0x305 ARPHRD_LOOPBACK = 0x304 ARPHRD_MCTP = 0x122 ARPHRD_METRICOM = 0x17 ARPHRD_NETLINK = 0x338 ARPHRD_NETROM = 0x0
-
@@ -231,6 +232,8 @@ const (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
-
@@ -470,6 +473,7 @@ 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
-
@@ -714,6 +718,7 @@ 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
-
@@ -749,6 +754,21 @@ 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
-
@@ -787,9 +807,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_FID = 0x1 FAN_EVENT_INFO_TYPE_PIDFD = 0x4 FAN_EVENT_METADATA_LEN = 0x18 FAN_EVENT_ON_CHILD = 0x8000000 FAN_MARK_ADD = 0x1
-
@@ -809,6 +831,7 @@ const (FAN_MOVE_SELF = 0x800 FAN_NOFD = -0x1 FAN_NONBLOCK = 0x2 FAN_NOPIDFD = -0x1 FAN_ONDIR = 0x40000000 FAN_OPEN = 0x20 FAN_OPEN_EXEC = 0x1000
-
@@ -819,6 +842,7 @@ 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
-
@@ -1331,6 +1355,20 @@ 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
-
@@ -1381,6 +1419,8 @@ 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
-
@@ -1436,6 +1476,18 @@ 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
-
@@ -1635,11 +1687,12 @@ const (NFNL_MSG_BATCH_END = 0x11 NFNL_NFA_NEST = 0x8000 NFNL_SUBSYS_ACCT = 0x7 NFNL_SUBSYS_COUNT = 0xc NFNL_SUBSYS_COUNT = 0xd 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
-
@@ -1929,6 +1982,12 @@ const (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_SHARE_FROM = 0x3 PR_SCHED_CORE_SHARE_TO = 0x2 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14
-
@@ -1972,6 +2031,7 @@ 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
-
@@ -2295,6 +2355,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
-
@@ -2406,12 +2467,15 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/_const.go package unix
-
@@ -293,6 +293,7 @@ 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,6 +310,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/_const.go package unix
-
@@ -294,6 +294,7 @@ 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
-
@@ -310,6 +311,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -300,6 +300,7 @@ 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
-
@@ -316,6 +317,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go package unix
-
@@ -290,6 +290,7 @@ 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
-
@@ -306,6 +307,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -293,6 +293,7 @@ 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
-
@@ -309,6 +310,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -293,6 +293,7 @@ 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
-
@@ -309,6 +310,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -293,6 +293,7 @@ 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
-
@@ -309,6 +310,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -293,6 +293,7 @@ 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
-
@@ -309,6 +310,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -348,6 +348,7 @@ 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
-
@@ -364,6 +365,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -352,6 +352,7 @@ 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
-
@@ -368,6 +369,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -352,6 +352,7 @@ 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
-
@@ -368,6 +369,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -281,6 +281,7 @@ 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
-
@@ -297,6 +298,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go package unix
-
@@ -356,6 +356,7 @@ 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
-
@@ -372,6 +373,7 @@ 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
-
-
-
@@ -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/_const.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix
-
@@ -347,6 +347,7 @@ 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
-
@@ -363,6 +364,7 @@ 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
-
-
-
@@ -17,6 +17,7 @@ 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,7 +30,6 @@ 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,6 +255,16 @@ 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))
-
@@ -379,16 +389,6 @@ 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)
-
-
-
@@ -135,6 +135,16 @@ 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)
-
@@ -283,16 +293,6 @@ 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)
-
-
-
@@ -18,6 +18,7 @@ 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"
-
@@ -30,7 +31,6 @@ 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,6 +136,7 @@ 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
-
@@ -148,7 +149,6 @@ 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,6 +257,7 @@ var (libc_wait4, libc_ioctl, libc_fcntl, libc_fsync_range, libc_acct, libc_chdir, libc_chroot,
-
@@ -269,7 +270,6 @@ var (libc_fchmodat, libc_fchownat, libc_fdatasync, libc_fsync, libc_getpgid, libc_getpgrp, libc_getpid,
-
@@ -430,6 +430,13 @@ 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
-
@@ -514,13 +521,6 @@ 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
-
-
-
@@ -16,6 +16,7 @@ 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);
-
@@ -28,7 +29,6 @@ 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,6 +199,14 @@ 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()
-
@@ -295,14 +303,6 @@ 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()
-
-
-
@@ -734,6 +734,65 @@ 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)
-
-
-
@@ -264,6 +264,30 @@ TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0GLOBL ·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)
-
-
-
@@ -734,6 +734,65 @@ 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)
-
-
-
@@ -264,6 +264,30 @@ TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0GLOBL ·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)
-
-
-
@@ -1,4 +1,4 @@// Code generated by mkmerge.go; DO NOT EDIT. // Code generated by mkmerge; DO NOT EDIT. //go:build linux // +build linux
-
@@ -110,6 +110,16 @@ 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)
-
@@ -399,6 +409,21 @@ 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)
-
@@ -1945,8 +1970,63 @@ func ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags u// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) func 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) }
-
-
-
@@ -46,37 +46,6 @@ 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 {
-
@@ -181,17 +150,6 @@ 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 {
-
@@ -566,14 +524,3 @@ func utimes(path string, times *[2]Timeval) (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 }
-
-
-
@@ -46,27 +46,6 @@ 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 {
-
@@ -191,17 +170,6 @@ 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 {
-
@@ -711,27 +679,6 @@ func utimes(path string, times *[2]Timeval) (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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline)
-
-
-
@@ -46,16 +46,6 @@ 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)
-
@@ -235,27 +225,6 @@ 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 {
-
@@ -340,17 +309,6 @@ 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)
-
@@ -681,17 +639,6 @@ 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 {
-
-
-
@@ -46,27 +46,6 @@ 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 {
-
@@ -544,17 +523,6 @@ 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 {
-
@@ -706,18 +674,6 @@ 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)
-
@@ -746,14 +702,3 @@ func setrlimit(resource int, rlim *rlimit32) (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 }
-
-
-
@@ -46,27 +46,6 @@ 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 {
-
@@ -717,14 +696,3 @@ 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 }
-
-
-
@@ -46,27 +46,6 @@ 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 {
-
@@ -717,14 +696,3 @@ 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 }
-
-
-
@@ -46,27 +46,6 @@ 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 {
-
@@ -544,17 +523,6 @@ 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 {
-
@@ -706,18 +674,6 @@ 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)
-
@@ -746,14 +702,3 @@ func setrlimit(resource int, rlim *rlimit32) (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 }
-
-
-
@@ -46,27 +46,6 @@ 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 {
-
@@ -161,17 +140,6 @@ 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 {
-
@@ -717,27 +685,6 @@ func setrlimit(resource int, rlim *rlimit32) (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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n)) if e1 != 0 {
-
-
-
@@ -46,27 +46,6 @@ 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 {
-
@@ -191,17 +170,6 @@ 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 {
-
@@ -763,27 +731,6 @@ func utimes(path string, times *[2]Timeval) (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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) if e1 != 0 {
-
-
-
@@ -46,27 +46,6 @@ 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 {
-
@@ -191,17 +170,6 @@ 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 {
-
@@ -763,27 +731,6 @@ func utimes(path string, times *[2]Timeval) (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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) if e1 != 0 {
-
-
-
@@ -46,27 +46,6 @@ 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 {
-
@@ -191,17 +170,6 @@ 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)
-
@@ -553,17 +521,6 @@ func utimes(path string, times *[2]Timeval) (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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline)
-
-
-
@@ -73,16 +73,6 @@ 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 {
-
@@ -180,17 +170,6 @@ 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)
-
@@ -718,24 +697,3 @@ func utimes(path string, times *[2]Timeval) (err error) {} return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe(p *[2]_C_int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func 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 }
-
-
-
@@ -439,7 +439,10 @@ 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 )
-
-
-
@@ -361,7 +361,10 @@ 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 )
-
-
-
@@ -7,6 +7,7 @@package unix const ( SYS_SYSCALL_MASK = 0 SYS_RESTART_SYSCALL = 0 SYS_EXIT = 1 SYS_FORK = 2
-
@@ -403,7 +404,9 @@ 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 )
-
-
-
@@ -306,7 +306,10 @@ 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 )
-
-
-
@@ -424,7 +424,9 @@ 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 )
-
-
-
@@ -354,7 +354,9 @@ const (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 )
-
-
-
@@ -354,7 +354,9 @@ const (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 )
-
-
-
@@ -424,7 +424,9 @@ 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 )
-
-
-
@@ -431,7 +431,9 @@ 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 )
-
-
-
@@ -403,7 +403,9 @@ 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 )
-
-
-
@@ -403,7 +403,9 @@ 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 )
-
-
-
@@ -305,7 +305,9 @@ 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 )
-
-
-
@@ -368,7 +368,9 @@ 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 )
-
-
-
@@ -382,7 +382,9 @@ 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 )
-
-
-
@@ -209,6 +209,92 @@ 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 {
-
@@ -287,6 +373,11 @@ const (SizeofSockaddrUnix = 0x6a SizeofSockaddrDatalink = 0x14 SizeofSockaddrCtl = 0x20 SizeofSockaddrVM = 0xc SizeofXvsockpcb = 0xa8 SizeofXSocket = 0x64 SizeofXSockbuf = 0x18 SizeofXVSockPgen = 0x20 SizeofXucred = 0x4c SizeofLinger = 0x8 SizeofIovec = 0x10
-
@@ -550,13 +641,13 @@ type Eproc struct {Tdev int32 Tpgid int32 Tsess uintptr Wmesg [8]int8 Wmesg [8]byte Xsize int32 Xrssize int16 Xccount int16 Xswrss int16 Flag int32 Login [12]int8 Login [12]byte Spare [4]int32 _ [4]byte }
-
@@ -597,7 +688,7 @@ type ExternProc struct {P_priority uint8 P_usrpri uint8 P_nice int8 P_comm [17]int8 P_comm [17]byte P_pgrp uintptr P_addr uintptr P_xstat uint16
-
@@ -639,3 +730,39 @@ type Ucred struct {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 )
-
-
-
@@ -209,6 +209,92 @@ 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 {
-
@@ -287,6 +373,11 @@ const (SizeofSockaddrUnix = 0x6a SizeofSockaddrDatalink = 0x14 SizeofSockaddrCtl = 0x20 SizeofSockaddrVM = 0xc SizeofXvsockpcb = 0xa8 SizeofXSocket = 0x64 SizeofXSockbuf = 0x18 SizeofXVSockPgen = 0x20 SizeofXucred = 0x4c SizeofLinger = 0x8 SizeofIovec = 0x10
-
@@ -550,13 +641,13 @@ type Eproc struct {Tdev int32 Tpgid int32 Tsess uintptr Wmesg [8]int8 Wmesg [8]byte Xsize int32 Xrssize int16 Xccount int16 Xswrss int16 Flag int32 Login [12]int8 Login [12]byte Spare [4]int32 _ [4]byte }
-
@@ -597,7 +688,7 @@ type ExternProc struct {P_priority uint8 P_usrpri uint8 P_nice int8 P_comm [17]int8 P_comm [17]byte P_pgrp uintptr P_addr uintptr P_xstat uint16
-
@@ -639,3 +730,39 @@ type Ucred struct {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 )
-
-
-
@@ -31,6 +31,8 @@ type Timeval struct {Usec int32 } type Time_t int32 type Rusage struct { Utime Timeval Stime Timeval
-
-
-
@@ -31,6 +31,8 @@ type Timeval struct {Usec int64 } type Time_t int64 type Rusage struct { Utime Timeval Stime Timeval
-
-
-
@@ -33,6 +33,8 @@ type Timeval struct {_ [4]byte } type Time_t int32 type Rusage struct { Utime Timeval Stime Timeval
-
-
-
@@ -31,6 +31,8 @@ type Timeval struct {Usec int64 } type Time_t int64 type Rusage struct { Utime Timeval Stime Timeval
-
-
-
@@ -13,6 +13,8 @@ const (I_STR = 0x5308 I_POP = 0x5303 I_PUSH = 0x5302 I_LINK = 0x530c I_UNLINK = 0x530d I_PLINK = 0x5316 I_PUNLINK = 0x5317
-
-
-
@@ -1,4 +1,4 @@// Code generated by mkmerge.go; DO NOT EDIT. // Code generated by mkmerge; DO NOT EDIT. //go:build linux // +build linux
-
@@ -743,6 +743,8 @@ const (AT_STATX_FORCE_SYNC = 0x2000 AT_STATX_DONT_SYNC = 0x4000 AT_RECURSIVE = 0x8000 AT_SYMLINK_FOLLOW = 0x400 AT_SYMLINK_NOFOLLOW = 0x100
-
@@ -2356,8 +2358,8 @@ const (SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 SOF_TIMESTAMPING_LAST = 0x4000 SOF_TIMESTAMPING_MASK = 0x7fff SOF_TIMESTAMPING_LAST = 0x8000 SOF_TIMESTAMPING_MASK = 0xffff SCM_TSTAMP_SND = 0x0 SCM_TSTAMP_SCHED = 0x1
-
@@ -2933,7 +2935,7 @@ const (DEVLINK_CMD_TRAP_POLICER_NEW = 0x47 DEVLINK_CMD_TRAP_POLICER_DEL = 0x48 DEVLINK_CMD_HEALTH_REPORTER_TEST = 0x49 DEVLINK_CMD_MAX = 0x49 DEVLINK_CMD_MAX = 0x4d DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_ETH = 0x2
-
@@ -3156,7 +3158,7 @@ const (DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2 DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3 DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4 DEVLINK_ATTR_MAX = 0xa4 DEVLINK_ATTR_MAX = 0xa9 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
-
@@ -3264,7 +3266,8 @@ const (LWTUNNEL_ENCAP_BPF = 0x6 LWTUNNEL_ENCAP_SEG6_LOCAL = 0x7 LWTUNNEL_ENCAP_RPL = 0x8 LWTUNNEL_ENCAP_MAX = 0x8 LWTUNNEL_ENCAP_IOAM6 = 0x9 LWTUNNEL_ENCAP_MAX = 0x9 MPLS_IPTUNNEL_UNSPEC = 0x0 MPLS_IPTUNNEL_DST = 0x1
-
@@ -3452,7 +3455,7 @@ const (ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c ETHTOOL_MSG_USER_MAX = 0x20 ETHTOOL_MSG_USER_MAX = 0x21 ETHTOOL_MSG_KERNEL_NONE = 0x0 ETHTOOL_MSG_STRSET_GET_REPLY = 0x1 ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2
-
@@ -3483,7 +3486,7 @@ const (ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d ETHTOOL_MSG_KERNEL_MAX = 0x21 ETHTOOL_MSG_KERNEL_MAX = 0x22 ETHTOOL_A_HEADER_UNSPEC = 0x0 ETHTOOL_A_HEADER_DEV_INDEX = 0x1 ETHTOOL_A_HEADER_DEV_NAME = 0x2
-
@@ -3617,7 +3620,9 @@ 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_MAX = 0x17 ETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 0x18 ETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 0x19 ETHTOOL_A_COALESCE_MAX = 0x19 ETHTOOL_A_PAUSE_UNSPEC = 0x0 ETHTOOL_A_PAUSE_HEADER = 0x1 ETHTOOL_A_PAUSE_AUTONEG = 0x2
-
@@ -3923,3 +3928,43 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && linux
-
@@ -635,3 +635,36 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && linux
-
@@ -653,3 +653,33 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && linux
-
@@ -630,3 +630,36 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && linux
-
@@ -632,3 +632,33 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips && linux
-
@@ -636,3 +636,35 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64 && linux
-
@@ -635,3 +635,33 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64le && linux
-
@@ -635,3 +635,33 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mipsle && linux
-
@@ -636,3 +636,35 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc && linux
-
@@ -642,3 +642,37 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && linux
-
@@ -642,3 +642,32 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64le && linux
-
@@ -642,3 +642,32 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && linux
-
@@ -660,3 +660,33 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build s390x && linux
-
@@ -656,3 +656,32 @@ 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 }
-
-
-
@@ -1,4 +1,4 @@// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build sparc64 && linux
-
@@ -637,3 +637,32 @@ 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 }
-
-
-
@@ -564,12 +564,11 @@ type Uvmexp struct {Kmapent int32 } const SizeofClockinfo = 0x14 const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 Hz int32 Tick int32 Stathz int32 Profhz int32 }
-
-
-
@@ -564,12 +564,11 @@ type Uvmexp struct {Kmapent int32 } const SizeofClockinfo = 0x14 const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 Hz int32 Tick int32 Stathz int32 Profhz int32 }
-
-
-
@@ -565,12 +565,11 @@ type Uvmexp struct {Kmapent int32 } const SizeofClockinfo = 0x14 const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 Hz int32 Tick int32 Stathz int32 Profhz int32 }
-
-
-
@@ -558,12 +558,11 @@ type Uvmexp struct {Kmapent int32 } const SizeofClockinfo = 0x14 const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 Hz int32 Tick int32 Stathz int32 Profhz int32 }
-
-
-
@@ -558,12 +558,11 @@ type Uvmexp struct {Kmapent int32 } const SizeofClockinfo = 0x14 const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 Hz int32 Tick int32 Stathz int32 Profhz int32 }
-
-
-
@@ -2,8 +2,8 @@// Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build windows // +build go1.9 //go:build windows && go1.9 // +build windows,go1.9 package windows
-
-
-
@@ -2,6 +2,7 @@// 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
-
-
-
@@ -35,3 +35,14 @@ 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 }
-
-
-
@@ -2,6 +2,7 @@// 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
-
-
-
@@ -2,6 +2,7 @@// 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
-
-
-
@@ -2,6 +2,7 @@// 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
-
-
-
@@ -2,6 +2,7 @@// 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
-
@@ -16,8 +17,6 @@ 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
-
@@ -132,6 +131,14 @@ 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 {
-
@@ -216,6 +223,7 @@ 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
-
@@ -235,3 +243,5 @@ 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?
-
-
-
@@ -2,6 +2,7 @@// 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
-
-
-
@@ -2,6 +2,7 @@// 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 debug
-
-
-
@@ -2,6 +2,7 @@// 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 debug provides facilities to execute svc.Handler on console.
-
-
-
@@ -1,48 +0,0 @@// Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build windows package svc import ( "errors" "golang.org/x/sys/windows" ) // event represents auto-reset, initially non-signaled Windows event. // It is used to communicate between go and asm parts of this package. type event struct { h windows.Handle } func newEvent() (*event, error) { h, err := windows.CreateEvent(nil, 0, 0, nil) if err != nil { return nil, err } return &event{h: h}, nil } func (e *event) Close() error { return windows.CloseHandle(e.h) } func (e *event) Set() error { return windows.SetEvent(e.h) } func (e *event) Wait() error { s, err := windows.WaitForSingleObject(e.h, windows.INFINITE) switch s { case windows.WAIT_OBJECT_0: break case windows.WAIT_FAILED: return err default: return errors.New("unexpected result from WaitForSingleObject") } return nil }
-
-
-
@@ -1,24 +0,0 @@// Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build windows // +build !go1.3 // copied from pkg/runtime typedef unsigned int uint32; typedef unsigned long long int uint64; #ifdef _64BIT typedef uint64 uintptr; #else typedef uint32 uintptr; #endif // from sys_386.s or sys_amd64.s void ·servicemain(void); void ·getServiceMain(uintptr *r) { *r = (uintptr)·servicemain; }
-
-
-
@@ -1,11 +0,0 @@// Copyright 2014 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build windows // +build !go1.3 package svc // from go12.c func getServiceMain(r *uintptr)
-
-
-
@@ -1,31 +0,0 @@// Copyright 2014 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build windows // +build go1.3 package svc import "unsafe" const ptrSize = 4 << (^uintptr(0) >> 63) // unsafe.Sizeof(uintptr(0)) but an ideal const // Should be a built-in for unsafe.Pointer? func add(p unsafe.Pointer, x uintptr) unsafe.Pointer { return unsafe.Pointer(uintptr(p) + x) } // funcPC returns the entry PC of the function f. // It assumes that f is a func value. Otherwise the behavior is undefined. func funcPC(f interface{}) uintptr { return **(**uintptr)(add(unsafe.Pointer(&f), ptrSize)) } // from sys_386.s and sys_amd64.s func servicectlhandler(ctl uint32) uintptr func servicemain(argc uint32, argv **uint16) func getServiceMain(r *uintptr) { *r = funcPC(servicemain) }
-
-
-
@@ -2,6 +2,7 @@// 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 svc
-
-
-
@@ -2,6 +2,7 @@// 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 svc provides everything required to build Windows service.
-
@@ -10,8 +11,7 @@ package svcimport ( "errors" "runtime" "syscall" "sync" "unsafe" "golang.org/x/sys/internal/unsafeheader"
-
@@ -80,6 +80,17 @@ type Status struct {ServiceSpecificExitCode uint32 // set if the service has exited with a service-specific exit code } // StartReason is the reason that the service was started. type StartReason uint32 const ( StartReasonDemand = StartReason(windows.SERVICE_START_REASON_DEMAND) StartReasonAuto = StartReason(windows.SERVICE_START_REASON_AUTO) StartReasonTrigger = StartReason(windows.SERVICE_START_REASON_TRIGGER) StartReasonRestartOnFailure = StartReason(windows.SERVICE_START_REASON_RESTART_ON_FAILURE) StartReasonDelayedAuto = StartReason(windows.SERVICE_START_REASON_DELAYEDAUTO) ) // ChangeRequest is sent to the service Handler to request service status change. type ChangeRequest struct { Cmd Cmd
-
@@ -91,7 +102,6 @@ type ChangeRequest struct {// Handler is the interface that must be implemented to build Windows service. type Handler interface { // Execute will be called by the package code at the start of // the service, and the service will exit once Execute completes. // Inside Execute you must read service change requests from r and
-
@@ -106,28 +116,6 @@ type Handler interface {Execute(args []string, r <-chan ChangeRequest, s chan<- Status) (svcSpecificEC bool, exitCode uint32) } var ( // These are used by asm code. goWaitsH uintptr cWaitsH uintptr ssHandle uintptr sName *uint16 sArgc uintptr sArgv **uint16 ctlHandlerExProc uintptr cSetEvent uintptr cWaitForSingleObject uintptr cRegisterServiceCtrlHandlerExW uintptr ) func init() { k := windows.NewLazySystemDLL("kernel32.dll") cSetEvent = k.NewProc("SetEvent").Addr() cWaitForSingleObject = k.NewProc("WaitForSingleObject").Addr() a := windows.NewLazySystemDLL("advapi32.dll") cRegisterServiceCtrlHandlerExW = a.NewProc("RegisterServiceCtrlHandlerExW").Addr() } type ctlEvent struct { cmd Cmd eventType uint32
-
@@ -140,36 +128,10 @@ type ctlEvent struct {type service struct { name string h windows.Handle cWaits *event goWaits *event c chan ctlEvent handler Handler } func newService(name string, handler Handler) (*service, error) { var s service var err error s.name = name s.c = make(chan ctlEvent) s.handler = handler s.cWaits, err = newEvent() if err != nil { return nil, err } s.goWaits, err = newEvent() if err != nil { s.cWaits.Close() return nil, err } return &s, nil } func (s *service) close() error { s.cWaits.Close() s.goWaits.Close() return nil } type exitCode struct { isSvcSpecific bool errno uint32
-
@@ -224,23 +186,42 @@ func (s *service) updateStatus(status *Status, ec *exitCode) error {return windows.SetServiceStatus(s.h, &t) } const ( sysErrSetServiceStatusFailed = uint32(syscall.APPLICATION_ERROR) + iota sysErrNewThreadInCallback var ( initCallbacks sync.Once ctlHandlerCallback uintptr serviceMainCallback uintptr ) func (s *service) run() { s.goWaits.Wait() s.h = windows.Handle(ssHandle) func ctlHandler(ctl, evtype, evdata, context uintptr) uintptr { s := (*service)(unsafe.Pointer(context)) e := ctlEvent{cmd: Cmd(ctl), eventType: uint32(evtype), eventData: evdata, context: 123456} // Set context to 123456 to test issue #25660. s.c <- e return 0 } var argv []*uint16 hdr := (*unsafeheader.Slice)(unsafe.Pointer(&argv)) hdr.Data = unsafe.Pointer(sArgv) hdr.Len = int(sArgc) hdr.Cap = int(sArgc) var theService service // This is, unfortunately, a global, which means only one service per process. args := make([]string, len(argv)) for i, a := range argv { // serviceMain is the entry point called by the service manager, registered earlier by // the call to StartServiceCtrlDispatcher. func serviceMain(argc uint32, argv **uint16) uintptr { handle, err := windows.RegisterServiceCtrlHandlerEx(windows.StringToUTF16Ptr(theService.name), ctlHandlerCallback, uintptr(unsafe.Pointer(&theService))) if sysErr, ok := err.(windows.Errno); ok { return uintptr(sysErr) } else if err != nil { return uintptr(windows.ERROR_UNKNOWN_EXCEPTION) } theService.h = handle defer func() { theService.h = 0 }() var args16 []*uint16 hdr := (*unsafeheader.Slice)(unsafe.Pointer(&args16)) hdr.Data = unsafe.Pointer(argv) hdr.Len = int(argc) hdr.Cap = int(argc) args := make([]string, len(args16)) for i, a := range args16 { args[i] = windows.UTF16PtrToString(a) }
-
@@ -249,7 +230,7 @@ func (s *service) run() {exitFromHandler := make(chan exitCode) go func() { ss, errno := s.handler.Execute(args, cmdsToHandler, changesFromHandler) ss, errno := theService.handler.Execute(args, cmdsToHandler, changesFromHandler) exitFromHandler <- exitCode{ss, errno} }()
-
@@ -258,7 +239,7 @@ func (s *service) run() {CurrentStatus: Status{State: Stopped}, } var outch chan ChangeRequest inch := s.c inch := theService.c loop: for { select {
-
@@ -274,14 +255,13 @@ loop:outcr.EventData = r.eventData outcr.Context = r.context case outch <- outcr: inch = s.c inch = theService.c outch = nil case c := <-changesFromHandler: err := s.updateStatus(&c, &ec) err := theService.updateStatus(&c, &ec) if err != nil { // best suitable error number ec.errno = sysErrSetServiceStatusFailed if err2, ok := err.(syscall.Errno); ok { ec.errno = uint32(windows.ERROR_EXCEPTION_IN_SERVICE) if err2, ok := err.(windows.Errno); ok { ec.errno = uint32(err2) } break loop
-
@@ -292,87 +272,43 @@ loop:} } s.updateStatus(&Status{State: Stopped}, &ec) s.cWaits.Set() } theService.updateStatus(&Status{State: Stopped}, &ec) func newCallback(fn interface{}) (cb uintptr, err error) { defer func() { r := recover() if r == nil { return } cb = 0 switch v := r.(type) { case string: err = errors.New(v) case error: err = v default: err = errors.New("unexpected panic in syscall.NewCallback") } }() return syscall.NewCallback(fn), nil return windows.NO_ERROR } // BUG(brainman): There is no mechanism to run multiple services // inside one single executable. Perhaps, it can be overcome by // using RegisterServiceCtrlHandlerEx Windows api. // Run executes service name by calling appropriate handler function. func Run(name string, handler Handler) error { runtime.LockOSThread() tid := windows.GetCurrentThreadId() s, err := newService(name, handler) if err != nil { return err } ctlHandler := func(ctl, evtype, evdata, context uintptr) uintptr { e := ctlEvent{cmd: Cmd(ctl), eventType: uint32(evtype), eventData: evdata, context: context} // We assume that this callback function is running on // the same thread as Run. Nowhere in MS documentation // I could find statement to guarantee that. So putting // check here to verify, otherwise things will go bad // quickly, if ignored. i := windows.GetCurrentThreadId() if i != tid { e.errno = sysErrNewThreadInCallback } s.c <- e // Always return NO_ERROR (0) for now. return windows.NO_ERROR } var svcmain uintptr getServiceMain(&svcmain) initCallbacks.Do(func() { ctlHandlerCallback = windows.NewCallback(ctlHandler) serviceMainCallback = windows.NewCallback(serviceMain) }) theService.name = name theService.handler = handler theService.c = make(chan ctlEvent) t := []windows.SERVICE_TABLE_ENTRY{ {ServiceName: syscall.StringToUTF16Ptr(s.name), ServiceProc: svcmain}, {ServiceName: windows.StringToUTF16Ptr(theService.name), ServiceProc: serviceMainCallback}, {ServiceName: nil, ServiceProc: 0}, } goWaitsH = uintptr(s.goWaits.h) cWaitsH = uintptr(s.cWaits.h) sName = t[0].ServiceName ctlHandlerExProc, err = newCallback(ctlHandler) if err != nil { return err } go s.run() err = windows.StartServiceCtrlDispatcher(&t[0]) if err != nil { return err } return nil return windows.StartServiceCtrlDispatcher(&t[0]) } // StatusHandle returns service status handle. It is safe to call this function // from inside the Handler.Execute because then it is guaranteed to be set. // This code will have to change once multiple services are possible per process. func StatusHandle() windows.Handle { return windows.Handle(ssHandle) return theService.h } // DynamicStartReason returns the reason why the service was started. It is safe // to call this function from inside the Handler.Execute because then it is // guaranteed to be set. func DynamicStartReason() (StartReason, error) { var allocReason *uint32 err := windows.QueryServiceDynamicInformation(theService.h, windows.SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON, unsafe.Pointer(&allocReason)) if err != nil { return 0, err } reason := StartReason(*allocReason) windows.LocalFree(windows.Handle(unsafe.Pointer(allocReason))) return reason, nil }
-
-
-
@@ -1,67 +0,0 @@// Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // func servicemain(argc uint32, argv **uint16) TEXT ·servicemain(SB),7,$0 MOVL argc+0(FP), AX MOVL AX, ·sArgc(SB) MOVL argv+4(FP), AX MOVL AX, ·sArgv(SB) PUSHL BP PUSHL BX PUSHL SI PUSHL DI SUBL $12, SP MOVL ·sName(SB), AX MOVL AX, (SP) MOVL $·servicectlhandler(SB), AX MOVL AX, 4(SP) // Set context to 123456 to test issue #25660. MOVL $123456, 8(SP) MOVL ·cRegisterServiceCtrlHandlerExW(SB), AX MOVL SP, BP CALL AX MOVL BP, SP CMPL AX, $0 JE exit MOVL AX, ·ssHandle(SB) MOVL ·goWaitsH(SB), AX MOVL AX, (SP) MOVL ·cSetEvent(SB), AX MOVL SP, BP CALL AX MOVL BP, SP MOVL ·cWaitsH(SB), AX MOVL AX, (SP) MOVL $-1, AX MOVL AX, 4(SP) MOVL ·cWaitForSingleObject(SB), AX MOVL SP, BP CALL AX MOVL BP, SP exit: ADDL $12, SP POPL DI POPL SI POPL BX POPL BP MOVL 0(SP), CX ADDL $12, SP JMP CX // I do not know why, but this seems to be the only way to call // ctlHandlerProc on Windows 7. // func servicectlhandler(ctl uint32, evtype uint32, evdata uintptr, context uintptr) uintptr { TEXT ·servicectlhandler(SB),7,$0 MOVL ·ctlHandlerExProc(SB), CX JMP CX
-
-
-
@@ -1,46 +0,0 @@// Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // func servicemain(argc uint32, argv **uint16) TEXT ·servicemain(SB),7,$0 MOVQ SP, AX ANDQ $~15, SP // alignment as per Windows requirement SUBQ $48, SP // room for SP and 4 args as per Windows requirement // plus one extra word to keep stack 16 bytes aligned MOVQ AX, 32(SP) MOVL CX, ·sArgc(SB) MOVQ DX, ·sArgv(SB) MOVQ ·sName(SB), CX MOVQ $·servicectlhandler(SB), DX // BUG(pastarmovj): Figure out a way to pass in context in R8. // Set context to 123456 to test issue #25660. MOVQ $123456, R8 MOVQ ·cRegisterServiceCtrlHandlerExW(SB), AX CALL AX CMPQ AX, $0 JE exit MOVQ AX, ·ssHandle(SB) MOVQ ·goWaitsH(SB), CX MOVQ ·cSetEvent(SB), AX CALL AX MOVQ ·cWaitsH(SB), CX MOVQ $4294967295, DX MOVQ ·cWaitForSingleObject(SB), AX CALL AX exit: MOVQ 32(SP), SP RET // I do not know why, but this seems to be the only way to call // ctlHandlerProc on Windows 7. // func ·servicectlhandler(ctl uint32, evtype uint32, evdata uintptr, context uintptr) uintptr { TEXT ·servicectlhandler(SB),7,$0 MOVQ ·ctlHandlerExProc(SB), AX JMP AX
-
-
-
@@ -1,36 +0,0 @@// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "textflag.h" // func servicemain(argc uint32, argv **uint16) TEXT ·servicemain(SB),NOSPLIT|NOFRAME,$0 MOVM.DB.W [R4, R14], (R13) // push {r4, lr} MOVW R13, R4 BIC $0x7, R13 // alignment for ABI MOVW R0, ·sArgc(SB) MOVW R1, ·sArgv(SB) MOVW ·sName(SB), R0 MOVW ·ctlHandlerExProc(SB), R1 MOVW $0, R2 MOVW ·cRegisterServiceCtrlHandlerExW(SB), R3 BL (R3) CMP $0, R0 BEQ exit MOVW R0, ·ssHandle(SB) MOVW ·goWaitsH(SB), R0 MOVW ·cSetEvent(SB), R1 BL (R1) MOVW ·cWaitsH(SB), R0 MOVW $-1, R1 MOVW ·cWaitForSingleObject(SB), R2 BL (R2) exit: MOVW R4, R13 // free extra stack space MOVM.IA.W (R13), [R4, R15] // pop {r4, pc}
-
-
-
@@ -1,31 +0,0 @@// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "textflag.h" // func servicemain(argc uint32, argv **uint16) TEXT ·servicemain(SB),NOSPLIT|NOFRAME,$0 MOVD R0, ·sArgc(SB) MOVD R1, ·sArgv(SB) MOVD ·sName(SB), R0 MOVD ·ctlHandlerExProc(SB), R1 MOVD $0, R2 MOVD ·cRegisterServiceCtrlHandlerExW(SB), R3 BL (R3) CMP $0, R0 BEQ exit MOVD R0, ·ssHandle(SB) MOVD ·goWaitsH(SB), R0 MOVD ·cSetEvent(SB), R1 BL (R1) MOVD ·cWaitsH(SB), R0 MOVD $-1, R1 MOVD ·cWaitForSingleObject(SB), R2 BL (R2) exit: RET
-
-
-
@@ -2,6 +2,7 @@// 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
-
-
-
@@ -274,6 +274,11 @@ 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
-
@@ -396,8 +401,18 @@ 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
-
@@ -408,11 +423,16 @@ 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
-
@@ -873,9 +893,7 @@ 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) for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil }
-
@@ -895,9 +913,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.raw.Addr[i] = sa.Addr[i] } sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil }
-
@@ -970,9 +986,7 @@ 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]) for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil case AF_INET6:
-
@@ -981,9 +995,7 @@ 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 for i := 0; i < len(sa.Addr); i++ { sa.Addr[i] = pp.Addr[i] } sa.Addr = pp.Addr return sa, nil } return nil, syscall.EAFNOSUPPORT
-
-
-
@@ -66,9 +66,21 @@ var signals = [...]string{} const ( FILE_LIST_DIRECTORY = 0x00000001 FILE_APPEND_DATA = 0x00000004 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_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_SHARE_READ = 0x00000001 FILE_SHARE_WRITE = 0x00000002
-
@@ -242,6 +254,14 @@ 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
-
@@ -1781,7 +1801,53 @@ type reparseDataBuffer struct {} const ( FSCTL_GET_REPARSE_POINT = 0x900A8 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 MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 IO_REPARSE_TAG_SYMLINK = 0xA000000C
-
@@ -2300,6 +2366,12 @@ 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
-
@@ -2490,6 +2562,60 @@ 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
-
@@ -2606,6 +2732,203 @@ type PROCESS_BASIC_INFORMATION struct {InheritedFromUniqueProcessId uintptr } // 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
-
@@ -2700,6 +3023,22 @@ 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
-
@@ -2773,3 +3112,9 @@ const (// Flag for QueryFullProcessImageName. const PROCESS_NAME_NATIVE = 1 type ModuleInfo struct { BaseOfDll uintptr SizeOfImage uint32 EntryPoint uintptr }
-
-
-
@@ -51,6 +51,7 @@ var (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")
-
@@ -114,6 +115,7 @@ 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")
-
@@ -124,6 +126,7 @@ 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")
-
@@ -303,6 +306,7 @@ 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")
-
@@ -345,12 +349,16 @@ 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")
-
@@ -360,8 +368,13 @@ 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")
-
@@ -377,7 +390,12 @@ 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")
-
@@ -392,6 +410,9 @@ 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")
-
@@ -956,6 +977,18 @@ func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufreturn } 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 {
-
@@ -1045,6 +1078,15 @@ func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handreturn } 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 {
-
@@ -2631,6 +2673,14 @@ 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 {
-
@@ -2985,6 +3035,30 @@ func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotectreturn } 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 {
-
@@ -3041,6 +3115,14 @@ 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 {
-
@@ -3110,6 +3192,22 @@ func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafereturn } 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 {
-
@@ -3118,6 +3216,20 @@ func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Preturn } 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 {
-
@@ -3126,6 +3238,12 @@ 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 {
-
@@ -3225,6 +3343,22 @@ 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 {
-
@@ -3237,6 +3371,30 @@ 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 {
-
@@ -3359,6 +3517,58 @@ 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 {
-
-
-
@@ -28,6 +28,10 @@ gitea.com/go-chi/session/postgres# gitea.com/lunny/levelqueue v0.4.1 ## explicit gitea.com/lunny/levelqueue # github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121 ## explicit github.com/42wim/sshsig github.com/42wim/sshsig/pem # github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c github.com/Azure/go-ntlmssp # github.com/Microsoft/go-winio v0.5.0
-
@@ -852,7 +856,7 @@ go.uber.org/zap/internal/bufferpoolgo.uber.org/zap/internal/color go.uber.org/zap/internal/exit go.uber.org/zap/zapcore # golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 # golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 ## explicit golang.org/x/crypto/argon2 golang.org/x/crypto/bcrypt
-
@@ -864,6 +868,7 @@ golang.org/x/crypto/curve25519golang.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/md4 golang.org/x/crypto/ocsp
-
@@ -874,7 +879,6 @@ golang.org/x/crypto/openpgp/errorsgolang.org/x/crypto/openpgp/packet golang.org/x/crypto/openpgp/s2k golang.org/x/crypto/pbkdf2 golang.org/x/crypto/poly1305 golang.org/x/crypto/scrypt golang.org/x/crypto/ssh golang.org/x/crypto/ssh/agent
-
@@ -883,7 +887,7 @@ golang.org/x/crypto/ssh/knownhosts# golang.org/x/mod v0.4.2 golang.org/x/mod/module golang.org/x/mod/semver # golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d # golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 ## explicit golang.org/x/net/bpf golang.org/x/net/context
-
@@ -909,7 +913,7 @@ golang.org/x/oauth2/google/internal/externalaccountgolang.org/x/oauth2/internal golang.org/x/oauth2/jws golang.org/x/oauth2/jwt # golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf # golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 ## explicit golang.org/x/sys/cpu golang.org/x/sys/execabs
-