├── .cursor
└── rules
│ ├── gogen-api.mdc
│ ├── ui-api.mdc
│ ├── ui-component.mdc
│ ├── ui-general.mdc
│ ├── ui-styling.mdc
│ └── ui-testing.mdc
├── .gitattributes
├── .gitconfig
├── .github
└── workflows
│ └── ci.yml
├── .gitignore
├── Dockerfile
├── Makefile
├── README.md
├── README
├── Demoscript.md
├── Examples.md
├── Perf.md
├── Reference.md
├── TODO.md
└── Tutorial.md
├── RELEASE_NOTES.md
├── VERSION
├── build
└── .gitignore
├── docker-push.sh
├── entrypoint.sh
├── examples
├── common
│ ├── every.yml
│ ├── external_ips.sample
│ ├── useragents.sample
│ ├── webhosts.csv
│ └── weblog.yml
├── csv
│ ├── csv.yml
│ ├── markets.csv
│ └── usernames.sample
├── eventrating
│ └── alwaysup.yml
├── generator
│ ├── users.lua
│ └── users.yml
├── nixOS
│ ├── allhosts.csv
│ ├── bandwidth.lua
│ ├── bandwidth.yml
│ ├── cpu.lua
│ ├── cpu.yml
│ ├── df.lua
│ ├── df.yml
│ ├── disks.csv
│ ├── iostat.lua
│ ├── iostat.yml
│ ├── nix.yml
│ ├── procs.csv
│ ├── vmstat.lua
│ └── vmstat.yml
├── tutorial
│ ├── results.csv
│ ├── tutorial1.yml
│ ├── tutorial2.yml
│ ├── tutorial3
│ │ ├── raters
│ │ │ └── eventrater.yml
│ │ └── samples
│ │ │ ├── markets.csv
│ │ │ ├── tutorial3.yml
│ │ │ └── usernames.sample
│ ├── tutorial4.yml
│ ├── tutorial5.yml
│ └── tutorial6.yml
├── weblog-regex
│ └── weblog-regex.yml
└── weblog
│ └── weblog.yml
├── generator
├── generator.go
├── generator_test.go
├── lua.go
├── lua_test.go
├── primerater.go
├── primerater_test.go
├── sample.go
└── sample_test.go
├── go.mod
├── go.sum
├── gogen-api
├── Dockerfile
├── README.md
├── api
│ ├── cors_utils.py
│ ├── db_utils.py
│ ├── get.py
│ ├── list.py
│ ├── logger.py
│ ├── s3_utils.py
│ ├── search.py
│ └── upsert.py
├── backup_restore.py
├── create_local_table.py
├── deploy_lambdas.sh
├── docker-compose.yml
├── get_schema.py
├── iam_policy.json
├── requirements.txt
├── setup_local_db.sh
├── start_dev.sh
├── stop_dev.sh
├── swagger.yml
├── table_schema.json
├── template.yaml
├── test_dynamodb.py
└── test_s3.py
├── internal
├── cache.go
├── config.go
├── config_test.go
├── defaults.go
├── generator.go
├── generator_test.go
├── github.go
├── github_test.go
├── gogen.go
├── gogen_test.go
├── mix.go
├── mix_test.go
├── outputter.go
├── outputter_test.go
├── rater.go
├── rater_test.go
├── sample.go
├── sample_test.go
├── share.go
├── share_test.go
└── template.go
├── llmcontext
├── bundle_examples.py
├── gogen_examples_bundle.json
├── requirements.txt
└── setup_venv.sh
├── logger
├── logger.go
└── logger_test.go
├── main.go
├── outputter
├── buf.go
├── devnull.go
├── file.go
├── http.go
├── kafka.go
├── network.go
├── outputter.go
├── outputter_test.go
└── stdout.go
├── rater
├── config.go
├── config_test.go
├── default.go
├── default_test.go
├── kbps.go
├── kbps_test.go
├── rater.go
├── rater_test.go
├── script.go
└── script_test.go
├── run
├── run.go
├── runOnce.go
└── runonce_test.go
├── setup_venv.sh
├── template
├── template.go
└── template_test.go
├── tests
├── concat_test.go
├── copy_test.go
├── devnull_test.go
├── file_test.go
├── fileoutput
│ └── fileoutput.yml
├── flatten
│ └── flatten.yml
├── generator
│ ├── generator.lua
│ ├── generator.yml
│ ├── generatorFile.yml
│ ├── luaapi.yml
│ ├── realGenerator.yml
│ └── realgen.lua
├── http_test.go
├── mix
│ ├── mix1.yml
│ ├── mix2.yml
│ ├── sample1.yml
│ ├── sample2.yml
│ └── sample3.yml
├── network_test.go
├── outputcache_test.go
├── perf
│ ├── weblog-splunk.yml
│ └── weblog.yml
├── push_test.go
├── rater
│ ├── configrater.yml
│ ├── defaultconfigrater.yml
│ ├── defaultrater.yml
│ ├── fullraterconfig.yml
│ ├── kbpsrater.yml
│ └── luarater.yml
├── replay
│ ├── bad-epoch-timestamp.yml
│ ├── bad-go-timestamp.yml
│ ├── bad-strptime-timestamp.yml
│ ├── no-offsets-found.yml
│ └── replay5.yml
├── replay_test.go
├── scripttokenrater_test.go
├── singlepass
│ ├── missed-regex.yml
│ ├── overlapping-regex.yml
│ ├── test1.yml
│ └── wide-regex.yml
├── stdout_test.go
├── strftime_test.go
├── testfuncs.go
├── testfuncs_test.go
├── timer
│ ├── backfill.yml
│ ├── backfillfutureend.yml
│ ├── backfillrealtime.yml
│ ├── cachetimer.yml
│ └── realtimereplay.yml
├── tokens
│ ├── lua.yml
│ ├── token-regex.yml
│ ├── token-static.yml
│ ├── tokens-find.yml
│ └── tokens.yml
├── transliterator
│ ├── default
│ │ └── eventgen.conf
│ └── samples
│ │ ├── apache_purchase_fail.sample
│ │ ├── artIDs.sample
│ │ ├── autoBillPayment.sample
│ │ ├── categories.sample
│ │ ├── customer_master_small.sample
│ │ ├── dbhosts.sample
│ │ ├── dbnoise.sample
│ │ ├── dbnoise_fail.sample
│ │ ├── external_ips.sample
│ │ ├── internal_ips.sample
│ │ ├── items.sample
│ │ ├── markets.sample
│ │ ├── orderType.sample
│ │ ├── phones.sample
│ │ ├── plans.sample
│ │ ├── products.sample
│ │ ├── purchase_failure_mysql.sample
│ │ ├── purchase_failure_was.sample
│ │ ├── radPIDs.sample
│ │ ├── radhosts.sample
│ │ ├── sample.businessevent
│ │ ├── sample.mobilemusic.csv
│ │ ├── sample.mobilemusicfailure.csv
│ │ ├── sample.mobilemusicfailuresearch.csv
│ │ ├── searchArtists.sample
│ │ ├── shoppingactions.sample
│ │ ├── shoppingapache.sample
│ │ ├── trackIDs.sample
│ │ ├── uris.sample
│ │ ├── userName.sample
│ │ ├── useragents.sample
│ │ ├── webhosts.sample
│ │ └── webserverstatus.sample
└── validation
│ ├── validate-badrandom.yml
│ ├── validate-choice-items.yml
│ ├── validate-earliest-latest.yml
│ ├── validate-fieldchoice-badfield.yml
│ ├── validate-fieldchoice-items.yml
│ ├── validate-lower-upper.yml
│ ├── validate-nolines.yml
│ ├── validate-string-length.yml
│ ├── validate-upper.yml
│ └── validate-weightedchoice-items.yml
├── timer
├── timer.go
└── timer_test.go
├── transliterator.py
├── ui
├── .env
├── .env.development
├── .env.production
├── .env.staging
├── README.md
├── REQUIREMENTS.md
├── SUMMARY.md
├── deploy_ui.sh
├── gogen-api-spec.yaml
├── index.html
├── jest.config.ts
├── package-lock.json
├── package.json
├── postcss.config.js
├── public
│ ├── favicon.svg
│ └── wasm_exec.js
├── src
│ ├── App.test.tsx
│ ├── App.tsx
│ ├── api
│ │ ├── __mocks__
│ │ │ └── api.ts
│ │ ├── gogenApi.test.ts
│ │ ├── gogenApi.ts
│ │ ├── gogenWasm.test.ts
│ │ └── gogenWasm.ts
│ ├── components
│ │ ├── ConfigurationList.test.tsx
│ │ ├── ConfigurationList.tsx
│ │ ├── ExecutionComponent.test.tsx
│ │ ├── ExecutionComponent.tsx
│ │ ├── Footer.test.tsx
│ │ ├── Footer.tsx
│ │ ├── Header.test.tsx
│ │ ├── Header.tsx
│ │ ├── Hero.test.tsx
│ │ ├── Hero.tsx
│ │ ├── Layout.test.tsx
│ │ ├── Layout.tsx
│ │ ├── LoadingSpinner.test.tsx
│ │ └── LoadingSpinner.tsx
│ ├── config.ts
│ ├── index.css
│ ├── main.tsx
│ ├── pages
│ │ ├── ConfigurationDetailPage.test.tsx
│ │ ├── ConfigurationDetailPage.tsx
│ │ ├── HomePage.test.tsx
│ │ ├── HomePage.tsx
│ │ ├── NotFoundPage.test.tsx
│ │ └── NotFoundPage.tsx
│ ├── setupTests.ts
│ ├── utils
│ │ └── test-utils.tsx
│ └── vite-env.d.ts
├── tailwind.config.js
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
├── vendor
├── github.com
│ ├── cactus
│ │ └── gostrftime
│ │ │ ├── .gitignore
│ │ │ ├── LICENSE.md
│ │ │ ├── README.md
│ │ │ └── gostrftime.go
│ ├── coccyx
│ │ └── timeparser
│ │ │ ├── .gitignore
│ │ │ ├── .travis.yml
│ │ │ ├── README.md
│ │ │ └── timeparser.go
│ ├── davecgh
│ │ └── go-spew
│ │ │ ├── LICENSE
│ │ │ └── spew
│ │ │ ├── bypass.go
│ │ │ ├── bypasssafe.go
│ │ │ ├── common.go
│ │ │ ├── config.go
│ │ │ ├── doc.go
│ │ │ ├── dump.go
│ │ │ ├── format.go
│ │ │ └── spew.go
│ ├── felixge
│ │ └── fgprof
│ │ │ ├── BenchmarkProfilerGoroutines.txt
│ │ │ ├── LICENSE.txt
│ │ │ ├── README.md
│ │ │ ├── fgprof.go
│ │ │ └── handler.go
│ ├── google
│ │ ├── go-github
│ │ │ ├── AUTHORS
│ │ │ ├── LICENSE
│ │ │ └── github
│ │ │ │ ├── activity.go
│ │ │ │ ├── activity_events.go
│ │ │ │ ├── activity_notifications.go
│ │ │ │ ├── activity_star.go
│ │ │ │ ├── activity_watching.go
│ │ │ │ ├── admin.go
│ │ │ │ ├── admin_stats.go
│ │ │ │ ├── apps.go
│ │ │ │ ├── apps_installation.go
│ │ │ │ ├── apps_marketplace.go
│ │ │ │ ├── authorizations.go
│ │ │ │ ├── checks.go
│ │ │ │ ├── doc.go
│ │ │ │ ├── event_types.go
│ │ │ │ ├── gists.go
│ │ │ │ ├── gists_comments.go
│ │ │ │ ├── git.go
│ │ │ │ ├── git_blobs.go
│ │ │ │ ├── git_commits.go
│ │ │ │ ├── git_refs.go
│ │ │ │ ├── git_tags.go
│ │ │ │ ├── git_trees.go
│ │ │ │ ├── github-accessors.go
│ │ │ │ ├── github.go
│ │ │ │ ├── gitignore.go
│ │ │ │ ├── issues.go
│ │ │ │ ├── issues_assignees.go
│ │ │ │ ├── issues_comments.go
│ │ │ │ ├── issues_events.go
│ │ │ │ ├── issues_labels.go
│ │ │ │ ├── issues_milestones.go
│ │ │ │ ├── issues_timeline.go
│ │ │ │ ├── licenses.go
│ │ │ │ ├── messages.go
│ │ │ │ ├── migrations.go
│ │ │ │ ├── migrations_source_import.go
│ │ │ │ ├── migrations_user.go
│ │ │ │ ├── misc.go
│ │ │ │ ├── orgs.go
│ │ │ │ ├── orgs_hooks.go
│ │ │ │ ├── orgs_members.go
│ │ │ │ ├── orgs_outside_collaborators.go
│ │ │ │ ├── orgs_projects.go
│ │ │ │ ├── orgs_users_blocking.go
│ │ │ │ ├── projects.go
│ │ │ │ ├── pulls.go
│ │ │ │ ├── pulls_comments.go
│ │ │ │ ├── pulls_reviewers.go
│ │ │ │ ├── pulls_reviews.go
│ │ │ │ ├── reactions.go
│ │ │ │ ├── repos.go
│ │ │ │ ├── repos_collaborators.go
│ │ │ │ ├── repos_comments.go
│ │ │ │ ├── repos_commits.go
│ │ │ │ ├── repos_community_health.go
│ │ │ │ ├── repos_contents.go
│ │ │ │ ├── repos_deployments.go
│ │ │ │ ├── repos_forks.go
│ │ │ │ ├── repos_hooks.go
│ │ │ │ ├── repos_invitations.go
│ │ │ │ ├── repos_keys.go
│ │ │ │ ├── repos_merging.go
│ │ │ │ ├── repos_pages.go
│ │ │ │ ├── repos_prereceive_hooks.go
│ │ │ │ ├── repos_projects.go
│ │ │ │ ├── repos_releases.go
│ │ │ │ ├── repos_stats.go
│ │ │ │ ├── repos_statuses.go
│ │ │ │ ├── repos_traffic.go
│ │ │ │ ├── search.go
│ │ │ │ ├── strings.go
│ │ │ │ ├── teams.go
│ │ │ │ ├── teams_discussion_comments.go
│ │ │ │ ├── teams_discussions.go
│ │ │ │ ├── teams_members.go
│ │ │ │ ├── timestamp.go
│ │ │ │ ├── users.go
│ │ │ │ ├── users_administration.go
│ │ │ │ ├── users_blocking.go
│ │ │ │ ├── users_emails.go
│ │ │ │ ├── users_followers.go
│ │ │ │ ├── users_gpg_keys.go
│ │ │ │ ├── users_keys.go
│ │ │ │ ├── with_appengine.go
│ │ │ │ └── without_appengine.go
│ │ ├── go-querystring
│ │ │ ├── LICENSE
│ │ │ └── query
│ │ │ │ └── encode.go
│ │ └── pprof
│ │ │ ├── AUTHORS
│ │ │ ├── CONTRIBUTORS
│ │ │ ├── LICENSE
│ │ │ └── profile
│ │ │ ├── encode.go
│ │ │ ├── filter.go
│ │ │ ├── index.go
│ │ │ ├── legacy_java_profile.go
│ │ │ ├── legacy_profile.go
│ │ │ ├── merge.go
│ │ │ ├── profile.go
│ │ │ ├── proto.go
│ │ │ └── prune.go
│ ├── hhkbp2
│ │ └── go-strftime
│ │ │ ├── .gitignore
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ └── strftime.go
│ ├── jehiah
│ │ └── go-strftime
│ │ │ ├── .gitignore
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ └── strftime.go
│ ├── joyt
│ │ └── godate
│ │ │ ├── .gitignore
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ └── godate.go
│ ├── klauspost
│ │ └── compress
│ │ │ ├── .gitattributes
│ │ │ ├── .gitignore
│ │ │ ├── .goreleaser.yml
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── SECURITY.md
│ │ │ ├── compressible.go
│ │ │ ├── flate
│ │ │ ├── deflate.go
│ │ │ ├── dict_decoder.go
│ │ │ ├── fast_encoder.go
│ │ │ ├── huffman_bit_writer.go
│ │ │ ├── huffman_code.go
│ │ │ ├── huffman_sortByFreq.go
│ │ │ ├── huffman_sortByLiteral.go
│ │ │ ├── inflate.go
│ │ │ ├── inflate_gen.go
│ │ │ ├── level1.go
│ │ │ ├── level2.go
│ │ │ ├── level3.go
│ │ │ ├── level4.go
│ │ │ ├── level5.go
│ │ │ ├── level6.go
│ │ │ ├── matchlen_amd64.go
│ │ │ ├── matchlen_amd64.s
│ │ │ ├── matchlen_generic.go
│ │ │ ├── regmask_amd64.go
│ │ │ ├── regmask_other.go
│ │ │ ├── stateless.go
│ │ │ └── token.go
│ │ │ ├── fse
│ │ │ ├── README.md
│ │ │ ├── bitreader.go
│ │ │ ├── bitwriter.go
│ │ │ ├── bytereader.go
│ │ │ ├── compress.go
│ │ │ ├── decompress.go
│ │ │ └── fse.go
│ │ │ ├── gen.sh
│ │ │ ├── gzip
│ │ │ ├── gunzip.go
│ │ │ └── gzip.go
│ │ │ ├── huff0
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── bitreader.go
│ │ │ ├── bitwriter.go
│ │ │ ├── compress.go
│ │ │ ├── decompress.go
│ │ │ ├── decompress_amd64.go
│ │ │ ├── decompress_amd64.s
│ │ │ ├── decompress_generic.go
│ │ │ └── huff0.go
│ │ │ ├── internal
│ │ │ ├── cpuinfo
│ │ │ │ ├── cpuinfo.go
│ │ │ │ ├── cpuinfo_amd64.go
│ │ │ │ └── cpuinfo_amd64.s
│ │ │ ├── race
│ │ │ │ ├── norace.go
│ │ │ │ └── race.go
│ │ │ └── snapref
│ │ │ │ ├── LICENSE
│ │ │ │ ├── decode.go
│ │ │ │ ├── decode_other.go
│ │ │ │ ├── encode.go
│ │ │ │ ├── encode_other.go
│ │ │ │ └── snappy.go
│ │ │ ├── s2
│ │ │ ├── .gitignore
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── decode.go
│ │ │ ├── decode_amd64.s
│ │ │ ├── decode_arm64.s
│ │ │ ├── decode_asm.go
│ │ │ ├── decode_other.go
│ │ │ ├── dict.go
│ │ │ ├── encode.go
│ │ │ ├── encode_all.go
│ │ │ ├── encode_amd64.go
│ │ │ ├── encode_best.go
│ │ │ ├── encode_better.go
│ │ │ ├── encode_go.go
│ │ │ ├── encodeblock_amd64.go
│ │ │ ├── encodeblock_amd64.s
│ │ │ ├── index.go
│ │ │ ├── lz4convert.go
│ │ │ ├── lz4sconvert.go
│ │ │ ├── reader.go
│ │ │ ├── s2.go
│ │ │ └── writer.go
│ │ │ ├── s2sx.mod
│ │ │ ├── s2sx.sum
│ │ │ ├── snappy
│ │ │ ├── .gitignore
│ │ │ ├── AUTHORS
│ │ │ ├── CONTRIBUTORS
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── decode.go
│ │ │ ├── encode.go
│ │ │ └── snappy.go
│ │ │ └── zstd
│ │ │ ├── README.md
│ │ │ ├── bitreader.go
│ │ │ ├── bitwriter.go
│ │ │ ├── blockdec.go
│ │ │ ├── blockenc.go
│ │ │ ├── blocktype_string.go
│ │ │ ├── bytebuf.go
│ │ │ ├── bytereader.go
│ │ │ ├── decodeheader.go
│ │ │ ├── decoder.go
│ │ │ ├── decoder_options.go
│ │ │ ├── dict.go
│ │ │ ├── enc_base.go
│ │ │ ├── enc_best.go
│ │ │ ├── enc_better.go
│ │ │ ├── enc_dfast.go
│ │ │ ├── enc_fast.go
│ │ │ ├── encoder.go
│ │ │ ├── encoder_options.go
│ │ │ ├── framedec.go
│ │ │ ├── frameenc.go
│ │ │ ├── fse_decoder.go
│ │ │ ├── fse_decoder_amd64.go
│ │ │ ├── fse_decoder_amd64.s
│ │ │ ├── fse_decoder_generic.go
│ │ │ ├── fse_encoder.go
│ │ │ ├── fse_predefined.go
│ │ │ ├── hash.go
│ │ │ ├── history.go
│ │ │ ├── internal
│ │ │ └── xxhash
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── README.md
│ │ │ │ ├── xxhash.go
│ │ │ │ ├── xxhash_amd64.s
│ │ │ │ ├── xxhash_arm64.s
│ │ │ │ ├── xxhash_asm.go
│ │ │ │ ├── xxhash_other.go
│ │ │ │ └── xxhash_safe.go
│ │ │ ├── matchlen_amd64.go
│ │ │ ├── matchlen_amd64.s
│ │ │ ├── matchlen_generic.go
│ │ │ ├── seqdec.go
│ │ │ ├── seqdec_amd64.go
│ │ │ ├── seqdec_amd64.s
│ │ │ ├── seqdec_generic.go
│ │ │ ├── seqenc.go
│ │ │ ├── snappy.go
│ │ │ ├── zip.go
│ │ │ └── zstd.go
│ ├── kr
│ │ ├── pretty
│ │ │ ├── .gitignore
│ │ │ ├── License
│ │ │ ├── Readme
│ │ │ ├── diff.go
│ │ │ ├── formatter.go
│ │ │ ├── pretty.go
│ │ │ └── zero.go
│ │ └── text
│ │ │ ├── License
│ │ │ ├── Readme
│ │ │ ├── doc.go
│ │ │ ├── indent.go
│ │ │ └── wrap.go
│ ├── mattn
│ │ └── go-runewidth
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── runewidth.go
│ │ │ ├── runewidth_appengine.go
│ │ │ ├── runewidth_js.go
│ │ │ ├── runewidth_posix.go
│ │ │ ├── runewidth_table.go
│ │ │ └── runewidth_windows.go
│ ├── mohae
│ │ └── deepcopy
│ │ │ ├── .gitignore
│ │ │ ├── .travis.yml
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ └── deepcopy.go
│ ├── olekukonko
│ │ └── tablewriter
│ │ │ ├── .gitignore
│ │ │ ├── .travis.yml
│ │ │ ├── LICENSE.md
│ │ │ ├── README.md
│ │ │ ├── csv.go
│ │ │ ├── table.go
│ │ │ ├── table_with_color.go
│ │ │ ├── util.go
│ │ │ └── wrap.go
│ ├── pbnjay
│ │ └── strptime
│ │ │ ├── README.md
│ │ │ └── strptime.go
│ ├── pierrec
│ │ └── lz4
│ │ │ └── v4
│ │ │ ├── .gitignore
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── compressing_reader.go
│ │ │ ├── internal
│ │ │ ├── lz4block
│ │ │ │ ├── block.go
│ │ │ │ ├── blocks.go
│ │ │ │ ├── decode_amd64.s
│ │ │ │ ├── decode_arm.s
│ │ │ │ ├── decode_arm64.s
│ │ │ │ ├── decode_asm.go
│ │ │ │ └── decode_other.go
│ │ │ ├── lz4errors
│ │ │ │ └── errors.go
│ │ │ ├── lz4stream
│ │ │ │ ├── block.go
│ │ │ │ ├── frame.go
│ │ │ │ └── frame_gen.go
│ │ │ └── xxh32
│ │ │ │ ├── xxh32zero.go
│ │ │ │ ├── xxh32zero_arm.go
│ │ │ │ ├── xxh32zero_arm.s
│ │ │ │ └── xxh32zero_other.go
│ │ │ ├── lz4.go
│ │ │ ├── options.go
│ │ │ ├── options_gen.go
│ │ │ ├── reader.go
│ │ │ ├── state.go
│ │ │ ├── state_gen.go
│ │ │ └── writer.go
│ ├── pkg
│ │ └── profile
│ │ │ ├── .travis.yml
│ │ │ ├── AUTHORS
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ └── profile.go
│ ├── pmezard
│ │ └── go-difflib
│ │ │ ├── LICENSE
│ │ │ └── difflib
│ │ │ └── difflib.go
│ ├── rivo
│ │ └── uniseg
│ │ │ ├── LICENSE.txt
│ │ │ ├── README.md
│ │ │ ├── doc.go
│ │ │ ├── eastasianwidth.go
│ │ │ ├── emojipresentation.go
│ │ │ ├── gen_breaktest.go
│ │ │ ├── gen_properties.go
│ │ │ ├── grapheme.go
│ │ │ ├── graphemeproperties.go
│ │ │ ├── graphemerules.go
│ │ │ ├── line.go
│ │ │ ├── lineproperties.go
│ │ │ ├── linerules.go
│ │ │ ├── properties.go
│ │ │ ├── sentence.go
│ │ │ ├── sentenceproperties.go
│ │ │ ├── sentencerules.go
│ │ │ ├── step.go
│ │ │ ├── width.go
│ │ │ ├── word.go
│ │ │ ├── wordproperties.go
│ │ │ └── wordrules.go
│ ├── rogpeppe
│ │ └── go-internal
│ │ │ ├── LICENSE
│ │ │ └── fmtsort
│ │ │ ├── mapelem.go
│ │ │ └── sort.go
│ ├── satori
│ │ └── go.uuid
│ │ │ ├── .travis.yml
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── codec.go
│ │ │ ├── generator.go
│ │ │ ├── sql.go
│ │ │ └── uuid.go
│ ├── segmentio
│ │ └── kafka-go
│ │ │ ├── .gitattributes
│ │ │ ├── .gitignore
│ │ │ ├── .golangci.yml
│ │ │ ├── CODE_OF_CONDUCT.md
│ │ │ ├── CONTRIBUTING.md
│ │ │ ├── LICENSE
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── addoffsetstotxn.go
│ │ │ ├── addpartitionstotxn.go
│ │ │ ├── address.go
│ │ │ ├── alterclientquotas.go
│ │ │ ├── alterconfigs.go
│ │ │ ├── alterpartitionreassignments.go
│ │ │ ├── alteruserscramcredentials.go
│ │ │ ├── apiversions.go
│ │ │ ├── balancer.go
│ │ │ ├── batch.go
│ │ │ ├── buffer.go
│ │ │ ├── client.go
│ │ │ ├── commit.go
│ │ │ ├── compress
│ │ │ ├── compress.go
│ │ │ ├── gzip
│ │ │ │ └── gzip.go
│ │ │ ├── lz4
│ │ │ │ └── lz4.go
│ │ │ ├── snappy
│ │ │ │ ├── snappy.go
│ │ │ │ └── xerial.go
│ │ │ └── zstd
│ │ │ │ └── zstd.go
│ │ │ ├── compression.go
│ │ │ ├── conn.go
│ │ │ ├── consumergroup.go
│ │ │ ├── crc32.go
│ │ │ ├── createacls.go
│ │ │ ├── createpartitions.go
│ │ │ ├── createtopics.go
│ │ │ ├── deleteacls.go
│ │ │ ├── deletegroups.go
│ │ │ ├── deletetopics.go
│ │ │ ├── describeacls.go
│ │ │ ├── describeclientquotas.go
│ │ │ ├── describeconfigs.go
│ │ │ ├── describegroups.go
│ │ │ ├── describeuserscramcredentials.go
│ │ │ ├── dialer.go
│ │ │ ├── discard.go
│ │ │ ├── docker-compose-241.yml
│ │ │ ├── docker-compose.010.yml
│ │ │ ├── docker-compose.yml
│ │ │ ├── electleaders.go
│ │ │ ├── endtxn.go
│ │ │ ├── error.go
│ │ │ ├── fetch.go
│ │ │ ├── findcoordinator.go
│ │ │ ├── groupbalancer.go
│ │ │ ├── heartbeat.go
│ │ │ ├── incrementalalterconfigs.go
│ │ │ ├── initproducerid.go
│ │ │ ├── joingroup.go
│ │ │ ├── kafka.go
│ │ │ ├── leavegroup.go
│ │ │ ├── listgroups.go
│ │ │ ├── listoffset.go
│ │ │ ├── listpartitionreassignments.go
│ │ │ ├── logger.go
│ │ │ ├── message.go
│ │ │ ├── message_reader.go
│ │ │ ├── metadata.go
│ │ │ ├── offsetcommit.go
│ │ │ ├── offsetdelete.go
│ │ │ ├── offsetfetch.go
│ │ │ ├── produce.go
│ │ │ ├── protocol.go
│ │ │ ├── protocol
│ │ │ ├── addoffsetstotxn
│ │ │ │ └── addoffsetstotxn.go
│ │ │ ├── addpartitionstotxn
│ │ │ │ └── addpartitionstotxn.go
│ │ │ ├── alterclientquotas
│ │ │ │ └── alterclientquotas.go
│ │ │ ├── alterconfigs
│ │ │ │ └── alterconfigs.go
│ │ │ ├── alterpartitionreassignments
│ │ │ │ └── alterpartitionreassignments.go
│ │ │ ├── alteruserscramcredentials
│ │ │ │ └── alteruserscramcredentials.go
│ │ │ ├── apiversions
│ │ │ │ └── apiversions.go
│ │ │ ├── buffer.go
│ │ │ ├── cluster.go
│ │ │ ├── conn.go
│ │ │ ├── consumer
│ │ │ │ └── consumer.go
│ │ │ ├── createacls
│ │ │ │ └── createacls.go
│ │ │ ├── createpartitions
│ │ │ │ └── createpartitions.go
│ │ │ ├── createtopics
│ │ │ │ └── createtopics.go
│ │ │ ├── decode.go
│ │ │ ├── deleteacls
│ │ │ │ └── deleteacls.go
│ │ │ ├── deletegroups
│ │ │ │ └── deletegroups.go
│ │ │ ├── deletetopics
│ │ │ │ └── deletetopics.go
│ │ │ ├── describeacls
│ │ │ │ └── describeacls.go
│ │ │ ├── describeclientquotas
│ │ │ │ └── describeclientquotas.go
│ │ │ ├── describeconfigs
│ │ │ │ └── describeconfigs.go
│ │ │ ├── describegroups
│ │ │ │ └── describegroups.go
│ │ │ ├── describeuserscramcredentials
│ │ │ │ └── describeuserscramcredentials.go
│ │ │ ├── electleaders
│ │ │ │ └── electleaders.go
│ │ │ ├── encode.go
│ │ │ ├── endtxn
│ │ │ │ └── endtxn.go
│ │ │ ├── error.go
│ │ │ ├── fetch
│ │ │ │ └── fetch.go
│ │ │ ├── findcoordinator
│ │ │ │ └── findcoordinator.go
│ │ │ ├── heartbeat
│ │ │ │ └── heartbeat.go
│ │ │ ├── incrementalalterconfigs
│ │ │ │ └── incrementalalterconfigs.go
│ │ │ ├── initproducerid
│ │ │ │ └── initproducerid.go
│ │ │ ├── joingroup
│ │ │ │ └── joingroup.go
│ │ │ ├── leavegroup
│ │ │ │ └── leavegroup.go
│ │ │ ├── listgroups
│ │ │ │ └── listgroups.go
│ │ │ ├── listoffsets
│ │ │ │ └── listoffsets.go
│ │ │ ├── listpartitionreassignments
│ │ │ │ └── listpartitionreassignments.go
│ │ │ ├── metadata
│ │ │ │ └── metadata.go
│ │ │ ├── offsetcommit
│ │ │ │ └── offsetcommit.go
│ │ │ ├── offsetdelete
│ │ │ │ └── offsetdelete.go
│ │ │ ├── offsetfetch
│ │ │ │ └── offsetfetch.go
│ │ │ ├── produce
│ │ │ │ └── produce.go
│ │ │ ├── protocol.go
│ │ │ ├── rawproduce
│ │ │ │ └── rawproduce.go
│ │ │ ├── record.go
│ │ │ ├── record_batch.go
│ │ │ ├── record_v1.go
│ │ │ ├── record_v2.go
│ │ │ ├── reflect.go
│ │ │ ├── reflect_unsafe.go
│ │ │ ├── request.go
│ │ │ ├── response.go
│ │ │ ├── roundtrip.go
│ │ │ ├── saslauthenticate
│ │ │ │ └── saslauthenticate.go
│ │ │ ├── saslhandshake
│ │ │ │ └── saslhandshake.go
│ │ │ ├── size.go
│ │ │ ├── syncgroup
│ │ │ │ └── syncgroup.go
│ │ │ └── txnoffsetcommit
│ │ │ │ └── txnoffsetcommit.go
│ │ │ ├── rawproduce.go
│ │ │ ├── read.go
│ │ │ ├── reader.go
│ │ │ ├── record.go
│ │ │ ├── recordbatch.go
│ │ │ ├── resolver.go
│ │ │ ├── resource.go
│ │ │ ├── sasl
│ │ │ └── sasl.go
│ │ │ ├── saslauthenticate.go
│ │ │ ├── saslhandshake.go
│ │ │ ├── sizeof.go
│ │ │ ├── stats.go
│ │ │ ├── syncgroup.go
│ │ │ ├── time.go
│ │ │ ├── transport.go
│ │ │ ├── txnoffsetcommit.go
│ │ │ ├── write.go
│ │ │ └── writer.go
│ ├── sirupsen
│ │ └── logrus
│ │ │ ├── .gitignore
│ │ │ ├── .golangci.yml
│ │ │ ├── .travis.yml
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── alt_exit.go
│ │ │ ├── appveyor.yml
│ │ │ ├── buffer_pool.go
│ │ │ ├── doc.go
│ │ │ ├── entry.go
│ │ │ ├── exported.go
│ │ │ ├── formatter.go
│ │ │ ├── hooks.go
│ │ │ ├── json_formatter.go
│ │ │ ├── logger.go
│ │ │ ├── logrus.go
│ │ │ ├── terminal_check_appengine.go
│ │ │ ├── terminal_check_bsd.go
│ │ │ ├── terminal_check_js.go
│ │ │ ├── terminal_check_no_terminal.go
│ │ │ ├── terminal_check_notappengine.go
│ │ │ ├── terminal_check_solaris.go
│ │ │ ├── terminal_check_unix.go
│ │ │ ├── terminal_check_wasi.go
│ │ │ ├── terminal_check_wasip1.go
│ │ │ ├── terminal_check_windows.go
│ │ │ ├── text_formatter.go
│ │ │ └── writer.go
│ ├── skratchdot
│ │ └── open-golang
│ │ │ ├── LICENSE
│ │ │ └── open
│ │ │ ├── exec.go
│ │ │ ├── exec_darwin.go
│ │ │ ├── exec_windows.go
│ │ │ └── open.go
│ ├── stretchr
│ │ └── testify
│ │ │ ├── LICENSE
│ │ │ └── assert
│ │ │ ├── assertion_compare.go
│ │ │ ├── assertion_format.go
│ │ │ ├── assertion_format.go.tmpl
│ │ │ ├── assertion_forward.go
│ │ │ ├── assertion_forward.go.tmpl
│ │ │ ├── assertion_order.go
│ │ │ ├── assertions.go
│ │ │ ├── doc.go
│ │ │ ├── errors.go
│ │ │ ├── forward_assertions.go
│ │ │ ├── http_assertions.go
│ │ │ └── yaml
│ │ │ ├── yaml_custom.go
│ │ │ ├── yaml_default.go
│ │ │ └── yaml_fail.go
│ └── yuin
│ │ └── gopher-lua
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── README.rst
│ │ ├── _state.go
│ │ ├── _vm.go
│ │ ├── alloc.go
│ │ ├── ast
│ │ ├── ast.go
│ │ ├── expr.go
│ │ ├── misc.go
│ │ ├── stmt.go
│ │ └── token.go
│ │ ├── auxlib.go
│ │ ├── baselib.go
│ │ ├── channellib.go
│ │ ├── compile.go
│ │ ├── config.go
│ │ ├── coroutinelib.go
│ │ ├── debuglib.go
│ │ ├── function.go
│ │ ├── iolib.go
│ │ ├── linit.go
│ │ ├── loadlib.go
│ │ ├── mathlib.go
│ │ ├── opcode.go
│ │ ├── oslib.go
│ │ ├── package.go
│ │ ├── parse
│ │ ├── Makefile
│ │ ├── lexer.go
│ │ ├── parser.go
│ │ └── parser.go.y
│ │ ├── pm
│ │ └── pm.go
│ │ ├── state.go
│ │ ├── stringlib.go
│ │ ├── table.go
│ │ ├── tablelib.go
│ │ ├── utils.go
│ │ ├── value.go
│ │ └── vm.go
├── golang.org
│ └── x
│ │ ├── oauth2
│ │ ├── .travis.yml
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── deviceauth.go
│ │ ├── endpoints
│ │ │ └── endpoints.go
│ │ ├── github
│ │ │ └── github.go
│ │ ├── internal
│ │ │ ├── doc.go
│ │ │ ├── oauth2.go
│ │ │ ├── token.go
│ │ │ └── transport.go
│ │ ├── oauth2.go
│ │ ├── pkce.go
│ │ ├── token.go
│ │ └── transport.go
│ │ └── sys
│ │ ├── LICENSE
│ │ ├── PATENTS
│ │ ├── unix
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── affinity_linux.go
│ │ ├── aliases.go
│ │ ├── asm_aix_ppc64.s
│ │ ├── asm_bsd_386.s
│ │ ├── asm_bsd_amd64.s
│ │ ├── asm_bsd_arm.s
│ │ ├── asm_bsd_arm64.s
│ │ ├── asm_bsd_ppc64.s
│ │ ├── asm_bsd_riscv64.s
│ │ ├── asm_linux_386.s
│ │ ├── asm_linux_amd64.s
│ │ ├── asm_linux_arm.s
│ │ ├── asm_linux_arm64.s
│ │ ├── asm_linux_loong64.s
│ │ ├── asm_linux_mips64x.s
│ │ ├── asm_linux_mipsx.s
│ │ ├── asm_linux_ppc64x.s
│ │ ├── asm_linux_riscv64.s
│ │ ├── asm_linux_s390x.s
│ │ ├── asm_openbsd_mips64.s
│ │ ├── asm_solaris_amd64.s
│ │ ├── asm_zos_s390x.s
│ │ ├── auxv.go
│ │ ├── auxv_unsupported.go
│ │ ├── bluetooth_linux.go
│ │ ├── bpxsvc_zos.go
│ │ ├── bpxsvc_zos.s
│ │ ├── cap_freebsd.go
│ │ ├── constants.go
│ │ ├── dev_aix_ppc.go
│ │ ├── dev_aix_ppc64.go
│ │ ├── dev_darwin.go
│ │ ├── dev_dragonfly.go
│ │ ├── dev_freebsd.go
│ │ ├── dev_linux.go
│ │ ├── dev_netbsd.go
│ │ ├── dev_openbsd.go
│ │ ├── dev_zos.go
│ │ ├── dirent.go
│ │ ├── endian_big.go
│ │ ├── endian_little.go
│ │ ├── env_unix.go
│ │ ├── fcntl.go
│ │ ├── fcntl_darwin.go
│ │ ├── fcntl_linux_32bit.go
│ │ ├── fdset.go
│ │ ├── gccgo.go
│ │ ├── gccgo_c.c
│ │ ├── gccgo_linux_amd64.go
│ │ ├── ifreq_linux.go
│ │ ├── ioctl_linux.go
│ │ ├── ioctl_signed.go
│ │ ├── ioctl_unsigned.go
│ │ ├── ioctl_zos.go
│ │ ├── mkall.sh
│ │ ├── mkerrors.sh
│ │ ├── mmap_nomremap.go
│ │ ├── mremap.go
│ │ ├── pagesize_unix.go
│ │ ├── pledge_openbsd.go
│ │ ├── ptrace_darwin.go
│ │ ├── ptrace_ios.go
│ │ ├── race.go
│ │ ├── race0.go
│ │ ├── readdirent_getdents.go
│ │ ├── readdirent_getdirentries.go
│ │ ├── sockcmsg_dragonfly.go
│ │ ├── sockcmsg_linux.go
│ │ ├── sockcmsg_unix.go
│ │ ├── sockcmsg_unix_other.go
│ │ ├── sockcmsg_zos.go
│ │ ├── symaddr_zos_s390x.s
│ │ ├── syscall.go
│ │ ├── syscall_aix.go
│ │ ├── syscall_aix_ppc.go
│ │ ├── syscall_aix_ppc64.go
│ │ ├── syscall_bsd.go
│ │ ├── syscall_darwin.go
│ │ ├── syscall_darwin_amd64.go
│ │ ├── syscall_darwin_arm64.go
│ │ ├── syscall_darwin_libSystem.go
│ │ ├── syscall_dragonfly.go
│ │ ├── syscall_dragonfly_amd64.go
│ │ ├── syscall_freebsd.go
│ │ ├── syscall_freebsd_386.go
│ │ ├── syscall_freebsd_amd64.go
│ │ ├── syscall_freebsd_arm.go
│ │ ├── syscall_freebsd_arm64.go
│ │ ├── syscall_freebsd_riscv64.go
│ │ ├── syscall_hurd.go
│ │ ├── syscall_hurd_386.go
│ │ ├── syscall_illumos.go
│ │ ├── syscall_linux.go
│ │ ├── syscall_linux_386.go
│ │ ├── syscall_linux_alarm.go
│ │ ├── syscall_linux_amd64.go
│ │ ├── syscall_linux_amd64_gc.go
│ │ ├── syscall_linux_arm.go
│ │ ├── syscall_linux_arm64.go
│ │ ├── syscall_linux_gc.go
│ │ ├── syscall_linux_gc_386.go
│ │ ├── syscall_linux_gc_arm.go
│ │ ├── syscall_linux_gccgo_386.go
│ │ ├── syscall_linux_gccgo_arm.go
│ │ ├── syscall_linux_loong64.go
│ │ ├── syscall_linux_mips64x.go
│ │ ├── syscall_linux_mipsx.go
│ │ ├── syscall_linux_ppc.go
│ │ ├── syscall_linux_ppc64x.go
│ │ ├── syscall_linux_riscv64.go
│ │ ├── syscall_linux_s390x.go
│ │ ├── syscall_linux_sparc64.go
│ │ ├── syscall_netbsd.go
│ │ ├── syscall_netbsd_386.go
│ │ ├── syscall_netbsd_amd64.go
│ │ ├── syscall_netbsd_arm.go
│ │ ├── syscall_netbsd_arm64.go
│ │ ├── syscall_openbsd.go
│ │ ├── syscall_openbsd_386.go
│ │ ├── syscall_openbsd_amd64.go
│ │ ├── syscall_openbsd_arm.go
│ │ ├── syscall_openbsd_arm64.go
│ │ ├── syscall_openbsd_libc.go
│ │ ├── syscall_openbsd_mips64.go
│ │ ├── syscall_openbsd_ppc64.go
│ │ ├── syscall_openbsd_riscv64.go
│ │ ├── syscall_solaris.go
│ │ ├── syscall_solaris_amd64.go
│ │ ├── syscall_unix.go
│ │ ├── syscall_unix_gc.go
│ │ ├── syscall_unix_gc_ppc64x.go
│ │ ├── syscall_zos_s390x.go
│ │ ├── sysvshm_linux.go
│ │ ├── sysvshm_unix.go
│ │ ├── sysvshm_unix_other.go
│ │ ├── timestruct.go
│ │ ├── unveil_openbsd.go
│ │ ├── vgetrandom_linux.go
│ │ ├── vgetrandom_unsupported.go
│ │ ├── xattr_bsd.go
│ │ ├── zerrors_aix_ppc.go
│ │ ├── zerrors_aix_ppc64.go
│ │ ├── zerrors_darwin_amd64.go
│ │ ├── zerrors_darwin_arm64.go
│ │ ├── zerrors_dragonfly_amd64.go
│ │ ├── zerrors_freebsd_386.go
│ │ ├── zerrors_freebsd_amd64.go
│ │ ├── zerrors_freebsd_arm.go
│ │ ├── zerrors_freebsd_arm64.go
│ │ ├── zerrors_freebsd_riscv64.go
│ │ ├── zerrors_linux.go
│ │ ├── zerrors_linux_386.go
│ │ ├── zerrors_linux_amd64.go
│ │ ├── zerrors_linux_arm.go
│ │ ├── zerrors_linux_arm64.go
│ │ ├── zerrors_linux_loong64.go
│ │ ├── zerrors_linux_mips.go
│ │ ├── zerrors_linux_mips64.go
│ │ ├── zerrors_linux_mips64le.go
│ │ ├── zerrors_linux_mipsle.go
│ │ ├── zerrors_linux_ppc.go
│ │ ├── zerrors_linux_ppc64.go
│ │ ├── zerrors_linux_ppc64le.go
│ │ ├── zerrors_linux_riscv64.go
│ │ ├── zerrors_linux_s390x.go
│ │ ├── zerrors_linux_sparc64.go
│ │ ├── zerrors_netbsd_386.go
│ │ ├── zerrors_netbsd_amd64.go
│ │ ├── zerrors_netbsd_arm.go
│ │ ├── zerrors_netbsd_arm64.go
│ │ ├── zerrors_openbsd_386.go
│ │ ├── zerrors_openbsd_amd64.go
│ │ ├── zerrors_openbsd_arm.go
│ │ ├── zerrors_openbsd_arm64.go
│ │ ├── zerrors_openbsd_mips64.go
│ │ ├── zerrors_openbsd_ppc64.go
│ │ ├── zerrors_openbsd_riscv64.go
│ │ ├── zerrors_solaris_amd64.go
│ │ ├── zerrors_zos_s390x.go
│ │ ├── zptrace_armnn_linux.go
│ │ ├── zptrace_linux_arm64.go
│ │ ├── zptrace_mipsnn_linux.go
│ │ ├── zptrace_mipsnnle_linux.go
│ │ ├── zptrace_x86_linux.go
│ │ ├── zsymaddr_zos_s390x.s
│ │ ├── zsyscall_aix_ppc.go
│ │ ├── zsyscall_aix_ppc64.go
│ │ ├── zsyscall_aix_ppc64_gc.go
│ │ ├── zsyscall_aix_ppc64_gccgo.go
│ │ ├── zsyscall_darwin_amd64.go
│ │ ├── zsyscall_darwin_amd64.s
│ │ ├── zsyscall_darwin_arm64.go
│ │ ├── zsyscall_darwin_arm64.s
│ │ ├── zsyscall_dragonfly_amd64.go
│ │ ├── zsyscall_freebsd_386.go
│ │ ├── zsyscall_freebsd_amd64.go
│ │ ├── zsyscall_freebsd_arm.go
│ │ ├── zsyscall_freebsd_arm64.go
│ │ ├── zsyscall_freebsd_riscv64.go
│ │ ├── zsyscall_illumos_amd64.go
│ │ ├── zsyscall_linux.go
│ │ ├── zsyscall_linux_386.go
│ │ ├── zsyscall_linux_amd64.go
│ │ ├── zsyscall_linux_arm.go
│ │ ├── zsyscall_linux_arm64.go
│ │ ├── zsyscall_linux_loong64.go
│ │ ├── zsyscall_linux_mips.go
│ │ ├── zsyscall_linux_mips64.go
│ │ ├── zsyscall_linux_mips64le.go
│ │ ├── zsyscall_linux_mipsle.go
│ │ ├── zsyscall_linux_ppc.go
│ │ ├── zsyscall_linux_ppc64.go
│ │ ├── zsyscall_linux_ppc64le.go
│ │ ├── zsyscall_linux_riscv64.go
│ │ ├── zsyscall_linux_s390x.go
│ │ ├── zsyscall_linux_sparc64.go
│ │ ├── zsyscall_netbsd_386.go
│ │ ├── zsyscall_netbsd_amd64.go
│ │ ├── zsyscall_netbsd_arm.go
│ │ ├── zsyscall_netbsd_arm64.go
│ │ ├── zsyscall_openbsd_386.go
│ │ ├── zsyscall_openbsd_386.s
│ │ ├── zsyscall_openbsd_amd64.go
│ │ ├── zsyscall_openbsd_amd64.s
│ │ ├── zsyscall_openbsd_arm.go
│ │ ├── zsyscall_openbsd_arm.s
│ │ ├── zsyscall_openbsd_arm64.go
│ │ ├── zsyscall_openbsd_arm64.s
│ │ ├── zsyscall_openbsd_mips64.go
│ │ ├── zsyscall_openbsd_mips64.s
│ │ ├── zsyscall_openbsd_ppc64.go
│ │ ├── zsyscall_openbsd_ppc64.s
│ │ ├── zsyscall_openbsd_riscv64.go
│ │ ├── zsyscall_openbsd_riscv64.s
│ │ ├── zsyscall_solaris_amd64.go
│ │ ├── zsyscall_zos_s390x.go
│ │ ├── zsysctl_openbsd_386.go
│ │ ├── zsysctl_openbsd_amd64.go
│ │ ├── zsysctl_openbsd_arm.go
│ │ ├── zsysctl_openbsd_arm64.go
│ │ ├── zsysctl_openbsd_mips64.go
│ │ ├── zsysctl_openbsd_ppc64.go
│ │ ├── zsysctl_openbsd_riscv64.go
│ │ ├── zsysnum_darwin_amd64.go
│ │ ├── zsysnum_darwin_arm64.go
│ │ ├── zsysnum_dragonfly_amd64.go
│ │ ├── zsysnum_freebsd_386.go
│ │ ├── zsysnum_freebsd_amd64.go
│ │ ├── zsysnum_freebsd_arm.go
│ │ ├── zsysnum_freebsd_arm64.go
│ │ ├── zsysnum_freebsd_riscv64.go
│ │ ├── zsysnum_linux_386.go
│ │ ├── zsysnum_linux_amd64.go
│ │ ├── zsysnum_linux_arm.go
│ │ ├── zsysnum_linux_arm64.go
│ │ ├── zsysnum_linux_loong64.go
│ │ ├── zsysnum_linux_mips.go
│ │ ├── zsysnum_linux_mips64.go
│ │ ├── zsysnum_linux_mips64le.go
│ │ ├── zsysnum_linux_mipsle.go
│ │ ├── zsysnum_linux_ppc.go
│ │ ├── zsysnum_linux_ppc64.go
│ │ ├── zsysnum_linux_ppc64le.go
│ │ ├── zsysnum_linux_riscv64.go
│ │ ├── zsysnum_linux_s390x.go
│ │ ├── zsysnum_linux_sparc64.go
│ │ ├── zsysnum_netbsd_386.go
│ │ ├── zsysnum_netbsd_amd64.go
│ │ ├── zsysnum_netbsd_arm.go
│ │ ├── zsysnum_netbsd_arm64.go
│ │ ├── zsysnum_openbsd_386.go
│ │ ├── zsysnum_openbsd_amd64.go
│ │ ├── zsysnum_openbsd_arm.go
│ │ ├── zsysnum_openbsd_arm64.go
│ │ ├── zsysnum_openbsd_mips64.go
│ │ ├── zsysnum_openbsd_ppc64.go
│ │ ├── zsysnum_openbsd_riscv64.go
│ │ ├── zsysnum_zos_s390x.go
│ │ ├── ztypes_aix_ppc.go
│ │ ├── ztypes_aix_ppc64.go
│ │ ├── ztypes_darwin_amd64.go
│ │ ├── ztypes_darwin_arm64.go
│ │ ├── ztypes_dragonfly_amd64.go
│ │ ├── ztypes_freebsd_386.go
│ │ ├── ztypes_freebsd_amd64.go
│ │ ├── ztypes_freebsd_arm.go
│ │ ├── ztypes_freebsd_arm64.go
│ │ ├── ztypes_freebsd_riscv64.go
│ │ ├── ztypes_linux.go
│ │ ├── ztypes_linux_386.go
│ │ ├── ztypes_linux_amd64.go
│ │ ├── ztypes_linux_arm.go
│ │ ├── ztypes_linux_arm64.go
│ │ ├── ztypes_linux_loong64.go
│ │ ├── ztypes_linux_mips.go
│ │ ├── ztypes_linux_mips64.go
│ │ ├── ztypes_linux_mips64le.go
│ │ ├── ztypes_linux_mipsle.go
│ │ ├── ztypes_linux_ppc.go
│ │ ├── ztypes_linux_ppc64.go
│ │ ├── ztypes_linux_ppc64le.go
│ │ ├── ztypes_linux_riscv64.go
│ │ ├── ztypes_linux_s390x.go
│ │ ├── ztypes_linux_sparc64.go
│ │ ├── ztypes_netbsd_386.go
│ │ ├── ztypes_netbsd_amd64.go
│ │ ├── ztypes_netbsd_arm.go
│ │ ├── ztypes_netbsd_arm64.go
│ │ ├── ztypes_openbsd_386.go
│ │ ├── ztypes_openbsd_amd64.go
│ │ ├── ztypes_openbsd_arm.go
│ │ ├── ztypes_openbsd_arm64.go
│ │ ├── ztypes_openbsd_mips64.go
│ │ ├── ztypes_openbsd_ppc64.go
│ │ ├── ztypes_openbsd_riscv64.go
│ │ ├── ztypes_solaris_amd64.go
│ │ └── ztypes_zos_s390x.go
│ │ └── windows
│ │ ├── aliases.go
│ │ ├── dll_windows.go
│ │ ├── env_windows.go
│ │ ├── eventlog.go
│ │ ├── exec_windows.go
│ │ ├── memory_windows.go
│ │ ├── mkerrors.bash
│ │ ├── mkknownfolderids.bash
│ │ ├── mksyscall.go
│ │ ├── race.go
│ │ ├── race0.go
│ │ ├── security_windows.go
│ │ ├── service.go
│ │ ├── setupapi_windows.go
│ │ ├── str.go
│ │ ├── syscall.go
│ │ ├── syscall_windows.go
│ │ ├── types_windows.go
│ │ ├── types_windows_386.go
│ │ ├── types_windows_amd64.go
│ │ ├── types_windows_arm.go
│ │ ├── types_windows_arm64.go
│ │ ├── zerrors_windows.go
│ │ ├── zknownfolderids_windows.go
│ │ └── zsyscall_windows.go
├── gopkg.in
│ ├── urfave
│ │ └── cli.v1
│ │ │ ├── .flake8
│ │ │ ├── .gitignore
│ │ │ ├── .travis.yml
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── app.go
│ │ │ ├── appveyor.yml
│ │ │ ├── category.go
│ │ │ ├── cli.go
│ │ │ ├── command.go
│ │ │ ├── context.go
│ │ │ ├── errors.go
│ │ │ ├── flag-types.json
│ │ │ ├── flag.go
│ │ │ ├── flag_generated.go
│ │ │ ├── funcs.go
│ │ │ ├── generate-flag-types
│ │ │ ├── help.go
│ │ │ └── runtests
│ ├── yaml.v2
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── LICENSE.libyaml
│ │ ├── NOTICE
│ │ ├── README.md
│ │ ├── apic.go
│ │ ├── decode.go
│ │ ├── emitterc.go
│ │ ├── encode.go
│ │ ├── parserc.go
│ │ ├── readerc.go
│ │ ├── resolve.go
│ │ ├── scannerc.go
│ │ ├── sorter.go
│ │ ├── writerc.go
│ │ ├── yaml.go
│ │ ├── yamlh.go
│ │ └── yamlprivateh.go
│ └── yaml.v3
│ │ ├── LICENSE
│ │ ├── NOTICE
│ │ ├── README.md
│ │ ├── apic.go
│ │ ├── decode.go
│ │ ├── emitterc.go
│ │ ├── encode.go
│ │ ├── parserc.go
│ │ ├── readerc.go
│ │ ├── resolve.go
│ │ ├── scannerc.go
│ │ ├── sorter.go
│ │ ├── writerc.go
│ │ ├── yaml.go
│ │ ├── yamlh.go
│ │ └── yamlprivateh.go
├── layeh.com
│ └── gopher-luar
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── array.go
│ │ ├── cache.go
│ │ ├── chan.go
│ │ ├── config.go
│ │ ├── doc.go
│ │ ├── func.go
│ │ ├── luar.go
│ │ ├── map.go
│ │ ├── map_iter.go
│ │ ├── map_iter_go112.go
│ │ ├── metatable.go
│ │ ├── ptr.go
│ │ ├── slice.go
│ │ ├── struct.go
│ │ ├── type.go
│ │ └── util.go
└── modules.txt
└── webserver
└── webserver.go
/.cursor/rules/gogen-api.mdc:
--------------------------------------------------------------------------------
1 | ---
2 | description: These rules govern work with the api
3 | globs: gogen-api/**/*.py
4 | alwaysApply: false
5 | ---
6 | # General Development Rules
7 |
8 | - Keep components modular and focused on a single responsibility
9 | - Document code with clear comments
10 | - Update gogen-api/SUMMARY.md after completing significant features
11 |
12 | ## File Organization
13 |
14 | - Each AWS Lambda function is a separate .py file in the `gogen-api` directory.
15 | - Files were originally written in python2.7 but need to be updated to python3.
16 | - APIs were originally implemented in 2017 and need to be updated to 2025 APIs.
17 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Set the default behavior, in case people don't have core.autocrlf set.
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.gitconfig:
--------------------------------------------------------------------------------
1 | [color]
2 | diff = auto
3 | status = auto
4 | branch = auto
5 | interactive = auto
6 | ui = true
7 | pager = true
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | out.log
2 | *.pprof
3 | *.pdf
4 | gogen
5 | test.out
6 | .vscode
7 | build.sh
8 | .githubtoken
9 | linecount.sh
10 | gogen-api/getswagger.sh
11 | local/**
12 | .vim*
13 | .bash*
14 | .aws*
15 | .profile
16 | .screenrc
17 | splunk_app_gogen.spl
18 | .configcache*
19 | .versioncache*
20 | roveralls*
21 | .specstory
22 | .pyvenv
23 | gogen-api/__pycache__
24 | gogen-api/build
25 | ui/node_modules/*
26 | ui/dist/*
27 | ui/build/*
28 | ui/coverage/*
29 | ui/public/gogen.wasm
30 | ui/.vite
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:20.04
2 | ADD build/linux/gogen /usr/bin/gogen
3 | RUN chmod 755 /usr/bin/gogen
4 | RUN sh -c 'echo dash dash/sh boolean false | debconf-set-selections' && \
5 | sh -c 'DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash' && \
6 | apt-get update && \
7 | apt-get install -y vim curl ca-certificates jq netcat && \
8 | rm -rf /var/lib/apt/lists/*
9 | ADD entrypoint.sh /sbin/entrypoint.sh
10 | ENTRYPOINT ["/sbin/entrypoint.sh"]
11 | CMD ["start"]
--------------------------------------------------------------------------------
/README/Demoscript.md:
--------------------------------------------------------------------------------
1 | cd /tmp
2 | wget https://api.gogen.io/osx/gogen
3 | chmod 755 ./gogen
4 | ./gogen -c coccyx/weblog
5 | ./gogen search weblog
6 | ./gogen pull -d coccyx/weblog .
7 | less samples/weblog.json
8 | ./gogen info coccyx/weblog
9 | ./gogen -c coccyx/weblog gen -c 1 -ei 1
10 | ./gogen -c coccyx/weblog gen -c 1000 -ei 1000 -o devnull
11 |
12 | gogen -g 3 -c examples/generator/users.yml gen -ei 10000
--------------------------------------------------------------------------------
/VERSION:
--------------------------------------------------------------------------------
1 | 0.12.0
2 |
--------------------------------------------------------------------------------
/build/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore everything in this directory
2 | *
3 | # Except this file
4 | !.gitignore
5 |
--------------------------------------------------------------------------------
/docker-push.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
3 | docker push clintsharp/gogen:latest
4 |
--------------------------------------------------------------------------------
/entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | if [ "$1" = "start" ]; then
3 | gogen gen
4 | fi
5 |
6 | exec "$@"
7 |
--------------------------------------------------------------------------------
/examples/common/webhosts.csv:
--------------------------------------------------------------------------------
1 | ip,host
2 | 10.2.1.33,web-01.bar.com
3 | 10.2.1.34,web-02.bar.com
4 | 10.2.1.35,web-03.bar.com
--------------------------------------------------------------------------------
/examples/eventrating/alwaysup.yml:
--------------------------------------------------------------------------------
1 | samples:
2 | - name: alwaysup
3 | rater: alwaysup
4 | interval: 1
5 | count: 1
6 | tokens:
7 | - name: rated
8 | format: template
9 | type: rated
10 | replacement: float
11 | rater: alwaysup
12 | lower: 1.0
13 | upper: 1.0
14 | precision: 2
15 | - name: id
16 | format: template
17 | type: script
18 | init:
19 | id: 0
20 | script: >
21 | state["id"] = state["id"] + 1
22 | return state["id"]
23 | lines:
24 | - "_raw": id=$id$ value=$rated$
25 | raters:
26 | - name: alwaysup
27 | type: script
28 | # Goes up by multiplier on every iteration
29 | script: >
30 | state["count"] = state["count"] * options["multiplier"]
31 | return state["count"]
32 | options:
33 | multiplier: 1.01
34 | init:
35 | count: 1
--------------------------------------------------------------------------------
/examples/nixOS/allhosts.csv:
--------------------------------------------------------------------------------
1 | ip,host,mac,group,nics
2 | 10.2.1.133,appserver-01,BE:21:D7:EF:CD:E2,api,2
3 | 10.2.1.134,appserver-02,2A:24:90:9B:AF:2C,api,2
--------------------------------------------------------------------------------
/examples/nixOS/bandwidth.lua:
--------------------------------------------------------------------------------
1 | hosts = getFieldChoice("host", "host")
2 | for i, host in ipairs(hosts) do
3 | setToken("host", host, "host")
4 | events = { }
5 | l = getLine(0)
6 | l = replaceTokens(l)
7 | table.insert(events, l)
8 |
9 | kbps = math.random(options["minKBPS"], options["maxKBPS"])
10 | packets = kbps / 65.535
11 | receivedPct = math.random(1000, 4000) / 1000
12 | for i=1,options["numNICs"] do
13 | nic = "eth"..tostring(i)
14 | rx_p = round(receivedPct * packets, 2)
15 | tx_p = round(packets - rx_p, 2)
16 | rx_kb = round(receivedPct * kbps, 2)
17 | tx_kb = round(kbps - rx_kb, 2)
18 |
19 | tokens = { "nic", "rx_p", "tx_p", "rx_kb", "tx_kb" }
20 | for i, t in ipairs(tokens) do
21 | setToken(t, _G[t])
22 | end
23 | l = getLine(1)
24 | l = replaceTokens(l)
25 | table.insert(events, l)
26 | end
27 | send(events)
28 | end
--------------------------------------------------------------------------------
/examples/nixOS/bandwidth.yml:
--------------------------------------------------------------------------------
1 | global:
2 | samplesDir:
3 | - $GOGEN_HOME/examples/nixOS
4 | generators:
5 | - name: bandwidth
6 | fileName: $GOGEN_HOME/examples/nixOS/bandwidth.lua
7 | options:
8 | minKBPS: 1000
9 | maxKBPS: 1500
10 | numNICs: 2
11 | samples:
12 | - name: bandwidth
13 | description: Generate Bandwidth Usage Metrics
14 | notes: >
15 | Generates bandwidth usage from the Splunk UNIX TA
16 | generator: bandwidth
17 | interval: 60
18 | tokens:
19 | - name: host
20 | type: fieldChoice
21 | srcField: host
22 | sample: allhosts.csv
23 | disabled: true
24 | lines:
25 | - index: os
26 | sourcetype: bandwidth
27 | source: bandwidth
28 | host: $host$
29 | _raw: Name rxPackets_PS txPackets_PS rxKB_PS txKB_PS
30 | - index: os
31 | sourcetype: df
32 | source: df
33 | host: $host$
34 | _raw: $nic$ $rx_p$ $tx_p$ $rx_kb$ $tx_kb$
--------------------------------------------------------------------------------
/examples/nixOS/cpu.yml:
--------------------------------------------------------------------------------
1 | global:
2 | samplesDir:
3 | - $GOGEN_HOME/examples/nixOS
4 | generators:
5 | - name: cpu
6 | fileName: $GOGEN_HOME/examples/nixOS/cpu.lua
7 | options:
8 | minCPU: 30.0
9 | maxCPU: 75.0
10 | numCPUs: 8
11 | samples:
12 | - name: cpu
13 | description: Generate CPU Metrics
14 | notes: >
15 | Generates CPU usage in the form of Splunk's UNIX TA
16 | generator: cpu
17 | interval: 60
18 | tokens:
19 | - name: host
20 | type: fieldChoice
21 | srcField: host
22 | sample: allhosts.csv
23 | disabled: true
24 | lines:
25 | - index: os
26 | sourcetype: cpu
27 | source: cpu
28 | host: $host$
29 | _raw: |-
30 | CPU pctUser pctNice pctSystem pctIowait pctIdle
31 | all $pctUserAll$ 0 $pctSystemAll$ $pctIowaitAll$ $pctIdleAll$
32 | - index: os
33 | sourcetype: cpu
34 | source: cpu
35 | host: $host$
36 | _raw: $CPU$ $pctUser$ 0 $pctSystem$ $pctIowait$ $pctIdle$
--------------------------------------------------------------------------------
/examples/nixOS/df.lua:
--------------------------------------------------------------------------------
1 | hosts = getFieldChoice("host", "host")
2 | mounts = getFieldChoice("disks", "mount")
3 | disks = getFieldChoice("disks", "disk")
4 | for i, host in ipairs(hosts) do
5 | setToken("host", host, "host")
6 | events = { }
7 | l = getLine(0)
8 | l = replaceTokens(l)
9 | table.insert(events, l)
10 |
11 | for i=1,#disks do
12 | usedPct = round(math.random() + math.random(options["minDiskUsedPct"], options["maxDiskUsedPct"]),2)
13 | usedGB = round((usedPct/100) * options["totalGBperDisk"])
14 | availGB = round(options["totalGBperDisk"] - usedGB)
15 | setToken("usedPct", usedPct)
16 | setToken("usedGB", usedGB)
17 | setToken("availGB", availGB)
18 | setToken("totalGB", options["totalGBperDisk"])
19 | if availGB < 1 then
20 | setToken("fs", "/dev/sdb1")
21 | setToken("mnt", "var")
22 | else
23 | setToken("fs", disks[i])
24 | setToken("mnt", mounts[i])
25 | end
26 | l = getLine(1)
27 | l = replaceTokens(l)
28 | table.insert(events, l)
29 | end
30 | send(events)
31 | end
32 |
--------------------------------------------------------------------------------
/examples/nixOS/df.yml:
--------------------------------------------------------------------------------
1 | global:
2 | samplesDir:
3 | - $GOGEN_HOME/examples/nixOS
4 | generators:
5 | - name: df
6 | fileName: $GOGEN_HOME/examples/nixOS/df.lua
7 | options:
8 | minDiskUsedPct: 50.0
9 | maxDiskUsedPct: 69.0
10 | totalGBperDisk: 931
11 | numDisks: 4
12 | samples:
13 | - name: df
14 | description: Generate Disk Usage Metrics
15 | notes: >
16 | Generates Disk Usage in the form of a df command from the Splunk UNIX TA
17 | generator: df
18 | interval: 60
19 | tokens:
20 | - name: disks
21 | type: fieldChoice
22 | srcField: disk
23 | sample: disks.csv
24 | disabled: true
25 | - name: host
26 | type: fieldChoice
27 | srcField: host
28 | sample: allhosts.csv
29 | disabled: true
30 | lines:
31 | - index: os
32 | sourcetype: df
33 | source: df
34 | host: $host$
35 | _raw: Filesystem Type Size Used Avail UsePct MountedOn
36 | - index: os
37 | sourcetype: df
38 | source: df
39 | host: $host$
40 | _raw: $fs$ ext4 $totalGB$G $usedGB$G $availGB$G $usedPct$% $mnt$
--------------------------------------------------------------------------------
/examples/nixOS/disks.csv:
--------------------------------------------------------------------------------
1 | mount,disk
2 | /,/dev/sda1
3 | var,/dev/sdb1
4 | home,/dev/sda2
5 | etc,/dev/sdb2
--------------------------------------------------------------------------------
/examples/nixOS/nix.yml:
--------------------------------------------------------------------------------
1 | global:
2 | samplesDir:
3 | - $GOGEN_HOME/examples/nixOS
4 | mix:
5 | - sample: $GOGEN_HOME/examples/nixOS/cpu.yml
6 | - sample: $GOGEN_HOME/examples/nixOS/df.yml
7 | - sample: $GOGEN_HOME/examples/nixOS/vmstat.yml
8 | - sample: $GOGEN_HOME/examples/nixOS/bandwidth.yml
9 | - sample: $GOGEN_HOME/examples/nixOS/iostat.yml
--------------------------------------------------------------------------------
/examples/tutorial/tutorial1.yml:
--------------------------------------------------------------------------------
1 | samples:
2 | - name: tutorial1
3 | description: Tutorial 1
4 | interval: 1
5 | endIntervals: 5
6 | count: 1
7 | randomizeEvents: true
8 |
9 | tokens:
10 | - name: ts
11 | format: template
12 | type: timestamp
13 | replacement: "%b/%d/%y %H:%M:%S"
14 |
15 | lines:
16 | - _raw: $ts$ line1
17 | - _raw: $ts$ line2
18 | - _raw: $ts$ line3
--------------------------------------------------------------------------------
/examples/tutorial/tutorial3/raters/eventrater.yml:
--------------------------------------------------------------------------------
1 | name: eventrater
2 | type: config
3 | options:
4 | MinuteOfHour:
5 | 0: 1.0
6 | 1: 0.5
7 | 2: 2.0
--------------------------------------------------------------------------------
/examples/tutorial/tutorial3/samples/markets.csv:
--------------------------------------------------------------------------------
1 | zip,city,state,lat,long,county
2 | 1101,SPRINGFIELD,MA,42.106,-72.5977,HAMPDEN
3 | 1601,WORCESTER,MA,42.2621,-71.8034,WORCESTER
4 | 1801,WOBURN,MA,42.482894,-71.157404,MIDDLESEX
5 | 2123,BOSTON,MA,42.345,-71.0876,SUFFOLK
6 | 3101,MANCHESTER,NH,42.992858,-71.463255,HILLSBOROUGH
7 | 4101,PORTLAND,ME,43.660564,-70.258864,CUMBERLAND
8 | 5601,MONTPELIER,VT,44.2574,-72.5698,WASHINGTON
9 | 6101,HARTFORD,CT,41.7636,-72.6855,HARTFORD
10 | 6107,WEST HARTFORD,CT,41.755553,-72.75322,HARTFORD
--------------------------------------------------------------------------------
/examples/tutorial/tutorial3/samples/usernames.sample:
--------------------------------------------------------------------------------
1 | birodivulga162
2 | nildajcbonanno
3 | ivettaadelima
4 | pckomono
5 | Looreeto
6 | JooPedro1591
7 | claaarecurlingg
8 | acciokcavote
9 | JungD
10 | InaraAllves
11 | Haroldmcaol
12 | xNessaa
13 | stylesdofunk
14 | meltemmeltemm
15 | emapujig
16 | cellphones4deal
17 | amisisuvi
18 | MegSeecharran95
19 | MargueritaYociu
20 | MarcioBFasano
--------------------------------------------------------------------------------
/examples/tutorial/tutorial5.yml:
--------------------------------------------------------------------------------
1 | samples:
2 | - name: tutorial5
3 | generator: replay
4 |
5 | tokens:
6 | - name: ts1
7 | type: timestamp
8 | format: regex
9 | token: (\d{2}\/\w{3}\/\d{4}:\d{2}:\d{2}:\d{2})
10 | replacement: '%d/%b/%Y:%H:%M:%S'
11 | fromSample: results.csv
--------------------------------------------------------------------------------
/examples/tutorial/tutorial6.yml:
--------------------------------------------------------------------------------
1 | mix:
2 | - sample: $GOGEN_HOME/examples/tutorial/tutorial1.yml
3 | begin: now
4 | realtime: true
5 | count: 1
6 | interval: 1
7 | - sample: $GOGEN_HOME/examples/tutorial/tutorial2.yml
8 | begin: now
9 | realtime: true
10 | count: 1
11 | interval: 1
12 | - sample: $GOGEN_HOME/examples/tutorial/tutorial5.yml
13 | begin: now
14 | realtime: true
--------------------------------------------------------------------------------
/examples/weblog/weblog.yml:
--------------------------------------------------------------------------------
1 | global:
2 | samplesDir:
3 | - $GOGEN_HOME/examples/common
4 | samples:
5 | - name: weblog
6 | fromSample: weblog-common
7 | interval: 1
8 | endIntervals: 1
9 | count: 10
10 |
--------------------------------------------------------------------------------
/generator/primerater.go:
--------------------------------------------------------------------------------
1 | package generator
2 |
3 | import (
4 | config "github.com/coccyx/gogen/internal"
5 | log "github.com/coccyx/gogen/logger"
6 | "github.com/coccyx/gogen/rater"
7 | )
8 |
9 | // PrimeRater ensures for a given sample, all raters are set for the tokens
10 | func PrimeRater(s *config.Sample) {
11 | for i := 0; i < len(s.Tokens); i++ {
12 | t := s.Tokens[i]
13 | if t.Type == "rated" {
14 | if t.RaterString != "" && t.Rater == nil {
15 | log.Infof("Setting rater to %s for token '%s'", t.RaterString, t.Name)
16 | s.Tokens[i].Rater = rater.GetRater(t.RaterString)
17 | if s.Tokens[i].Rater == nil {
18 | log.Errorf("Rater %s not found, disabling sample %s", t.RaterString, s.Name)
19 | s.Disabled = true
20 | }
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/generator/primerater_test.go:
--------------------------------------------------------------------------------
1 | package generator
2 |
3 | import (
4 | "os"
5 | "path/filepath"
6 | "testing"
7 |
8 | config "github.com/coccyx/gogen/internal"
9 | "github.com/stretchr/testify/assert"
10 | )
11 |
12 | func TestPrimeRater(t *testing.T) {
13 | // Setup environment
14 | os.Setenv("GOGEN_HOME", "..")
15 | os.Setenv("GOGEN_ALWAYS_REFRESH", "1")
16 | home := ".."
17 | os.Setenv("GOGEN_FULLCONFIG", filepath.Join(home, "tests", "rater", "luarater.yml"))
18 |
19 | c := config.NewConfig()
20 | s := c.FindSampleByName("double")
21 | PrimeRater(s)
22 | for _, token := range s.Tokens {
23 | if token.Name == "multiply" {
24 | assert.NotNil(t, token.Rater)
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/gogen-api/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM public.ecr.aws/lambda/python:3.13
2 |
3 | # Copy requirements.txt
4 | COPY requirements.txt ${LAMBDA_TASK_ROOT}
5 |
6 | # Install the specified packages
7 | RUN pip install -r requirements.txt -t ${LAMBDA_TASK_ROOT}
8 |
9 | # Copy function code
10 | COPY api/ ${LAMBDA_TASK_ROOT}/
11 |
12 | # Set the CMD to your handler
13 | CMD [ "get.lambda_handler" ]
--------------------------------------------------------------------------------
/gogen-api/api/logger.py:
--------------------------------------------------------------------------------
1 | import logging
2 | import sys
3 | import os
4 |
5 | def setup_logger(name):
6 | """
7 | Set up a logger with consistent formatting and configuration
8 | """
9 | # Create logger
10 | logger = logging.getLogger(name)
11 | logger.setLevel(logging.DEBUG)
12 |
13 | # Only add handler if logger doesn't already have handlers
14 | if not logger.handlers:
15 | # Create console handler
16 | handler = logging.StreamHandler(sys.stdout)
17 |
18 | # Create formatter
19 | formatter = logging.Formatter(
20 | '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
21 | )
22 |
23 | # Add formatter to handler
24 | handler.setFormatter(formatter)
25 |
26 | # Add handler to logger
27 | logger.addHandler(handler)
28 |
29 | # Prevent propagation to avoid duplicate logs
30 | logger.propagate = False
31 |
32 | return logger
--------------------------------------------------------------------------------
/gogen-api/requirements.txt:
--------------------------------------------------------------------------------
1 | boto3>=1.34.0
2 | botocore>=1.34.0
3 | aws-sam-cli>=1.110.0
--------------------------------------------------------------------------------
/gogen-api/setup_local_db.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Make sure we're in the right directory
4 | cd "$(dirname "$0")"
5 |
6 | # Check if virtual environment is activated, if not activate it
7 | if [ -z "$VIRTUAL_ENV" ]; then
8 | VENV_PATH="/home/clint/local/src/gogen/.pyvenv"
9 | if [ -d "$VENV_PATH" ]; then
10 | echo "Activating Python virtual environment..."
11 | source "$VENV_PATH/bin/activate"
12 | else
13 | echo "Warning: Python virtual environment not found at $VENV_PATH"
14 | echo "Consider creating it with: python3 -m venv $VENV_PATH"
15 | fi
16 | fi
17 |
18 | # Get the schema
19 | echo "Getting table schema..."
20 | python get_schema.py
21 |
22 | # Create the table in local DynamoDB using the schema
23 | echo "Creating table in local DynamoDB using schema..."
24 | LOCAL_DYNAMODB=true python create_local_table.py
25 |
26 | echo "Local DynamoDB setup complete!"
--------------------------------------------------------------------------------
/gogen-api/stop_dev.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cd "$(dirname "$0")"
4 | docker compose down
5 | docker ps | grep ecr | awk '{print $1}' | xargs docker kill
6 | docker ps | grep dynamodb | awk '{print $1}' | xargs docker kill
7 | docker ps | grep minio | awk '{print $1}' | xargs docker kill
8 |
9 |
--------------------------------------------------------------------------------
/gogen-api/table_schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "TableName": "gogen",
3 | "KeySchema": [
4 | {
5 | "AttributeName": "gogen",
6 | "KeyType": "HASH"
7 | }
8 | ],
9 | "AttributeDefinitions": [
10 | {
11 | "AttributeName": "gogen",
12 | "AttributeType": "S"
13 | }
14 | ],
15 | "ProvisionedThroughput": {
16 | "ReadCapacityUnits": 1,
17 | "WriteCapacityUnits": 1
18 | }
19 | }
--------------------------------------------------------------------------------
/internal/cache.go:
--------------------------------------------------------------------------------
1 | package internal
2 |
3 | import (
4 | "sync"
5 | )
6 |
7 | // CacheItem represents whether to cache a given item, created in the original timer which generates
8 | // a GenQueueItem. It's also sent along with the OutQueueItem.
9 | type CacheItem struct {
10 | sync.RWMutex
11 | UseCache bool
12 | SetCache bool
13 | }
14 |
--------------------------------------------------------------------------------
/internal/mix.go:
--------------------------------------------------------------------------------
1 | package internal
2 |
3 | // Mix is a list of configurations and overrides for those configurations to allow users to assemble new derived configurations from a mix of other existing configs
4 | type Mix struct {
5 | Sample string `json:"sample" yaml:"sample"`
6 | Interval int `json:"interval,omitempty" yaml:"interval,omitempty"`
7 | Count int `json:"count,omitempty" yaml:"count,omitempty"`
8 | Begin string `json:"begin,omitempty" yaml:"begin,omitempty"`
9 | End string `json:"end,omitempty" yaml:"end,omitempty"`
10 | EndIntervals int `json:"endIntervals,omitempty" yaml:"endIntervals,omitempty"`
11 | Realtime bool `json:"realtime,omitempty" yaml:"realtime,omitempty"`
12 | }
13 |
--------------------------------------------------------------------------------
/internal/outputter.go:
--------------------------------------------------------------------------------
1 | package internal
2 |
3 | import (
4 | "io"
5 | "math/rand"
6 | )
7 |
8 | // OutQueueItem represents one batch of events to output
9 | type OutQueueItem struct {
10 | S *Sample
11 | Events []map[string]string
12 | Rand *rand.Rand
13 | IO *OutputIO
14 | OS chan *OutputStats
15 | Cache *CacheItem
16 | }
17 |
18 | // OutputStats are sent by each outputter to the ReadOutThread for accounting
19 | type OutputStats struct {
20 | EventsWritten int64
21 | BytesWritten int64
22 | SampleName string
23 | }
24 |
25 | // OutputIO contains our Readers and Writers
26 | type OutputIO struct {
27 | R io.Reader
28 | W io.WriteCloser
29 | }
30 |
31 | // NewOutputIO returns a freshly initialized pipe and TeeReader
32 | func NewOutputIO() *OutputIO {
33 | o := new(OutputIO)
34 | o.R, o.W = io.Pipe()
35 | return o
36 | }
37 |
38 | // Outputter will do the work of actually sending events
39 | type Outputter interface {
40 | Send(item *OutQueueItem) error
41 | Close() error
42 | }
43 |
--------------------------------------------------------------------------------
/internal/outputter_test.go:
--------------------------------------------------------------------------------
1 | package internal
2 |
3 | import (
4 | "testing"
5 |
6 | "github.com/stretchr/testify/assert"
7 | )
8 |
9 | func TestNewOutputIO(t *testing.T) {
10 | io := NewOutputIO()
11 | assert.NotNil(t, io)
12 | }
13 |
--------------------------------------------------------------------------------
/internal/rater.go:
--------------------------------------------------------------------------------
1 | package internal
2 |
3 | import "time"
4 |
5 | // RaterConfig defines how to rate an event or token
6 | type RaterConfig struct {
7 | Name string `json:"name" yaml:"name"`
8 | Type string `json:"type" yaml:"type"`
9 | Script string `json:"script,omitempty" yaml:"script,omitempty"`
10 | Options map[string]interface{} `json:"options,omitempty" yaml:"options,omitempty"`
11 | Init map[string]string `json:"init,omitempty" yaml:"init,omitempty"`
12 | }
13 |
14 | // Rater will rate an event according to RaterConfig
15 | type Rater interface {
16 | EventRate(s *Sample, now time.Time, count int) float64
17 | TokenRate(t Token, now time.Time) float64
18 | }
19 |
--------------------------------------------------------------------------------
/internal/template.go:
--------------------------------------------------------------------------------
1 | package internal
2 |
3 | // Template is used for describing a output text template
4 | type Template struct {
5 | Name string `json:"name" yaml:"name"`
6 | Header string `json:"header,omitempty" yaml:"header,omitempty"`
7 | Row string `json:"row" yaml:"row"`
8 | Footer string `json:"footer,omitempty" yaml:"footer,omitempty"`
9 | }
10 |
--------------------------------------------------------------------------------
/llmcontext/requirements.txt:
--------------------------------------------------------------------------------
1 | pyyaml>=6.0.1
2 | markdown>=3.5.2
--------------------------------------------------------------------------------
/llmcontext/setup_venv.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Get the script's directory and the root directory
4 | SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"
5 | ROOT_DIR="$(dirname "$SCRIPT_DIR")"
6 | VENV_DIR="$ROOT_DIR/.pyvenv"
7 |
8 | # Remove existing virtual environment if it exists
9 | rm -rf "$VENV_DIR"
10 |
11 | # Create new virtual environment
12 | python3 -m venv "$VENV_DIR"
13 |
14 | # Activate virtual environment
15 | source "$VENV_DIR/bin/activate"
16 |
17 | # Upgrade pip
18 | pip install --upgrade pip
19 |
20 | # Install requirements from llmcontext directory
21 | pip install -r "$SCRIPT_DIR/requirements.txt"
22 |
23 | echo "Virtual environment setup complete in $VENV_DIR"
--------------------------------------------------------------------------------
/outputter/buf.go:
--------------------------------------------------------------------------------
1 | package outputter
2 |
3 | import (
4 | "io"
5 |
6 | config "github.com/coccyx/gogen/internal"
7 | )
8 |
9 | type buf struct{}
10 |
11 | func (foo buf) Send(item *config.OutQueueItem) error {
12 | _, err := io.Copy(item.S.Buf, item.IO.R)
13 | return err
14 | }
15 |
16 | func (foo buf) Close() error {
17 | return nil
18 | }
19 |
--------------------------------------------------------------------------------
/outputter/devnull.go:
--------------------------------------------------------------------------------
1 | package outputter
2 |
3 | import (
4 | "io"
5 | "io/ioutil"
6 |
7 | config "github.com/coccyx/gogen/internal"
8 | )
9 |
10 | type devnull struct{}
11 |
12 | func (foo devnull) Send(item *config.OutQueueItem) error {
13 | _, err := io.Copy(ioutil.Discard, item.IO.R)
14 | return err
15 | }
16 |
17 | func (foo devnull) Close() error {
18 | return nil
19 | }
20 |
--------------------------------------------------------------------------------
/outputter/network.go:
--------------------------------------------------------------------------------
1 | package outputter
2 |
3 | import (
4 | "io"
5 | "math/rand"
6 | "net"
7 |
8 | config "github.com/coccyx/gogen/internal"
9 | )
10 |
11 | type network struct {
12 | conn net.Conn
13 | initialized bool
14 | }
15 |
16 | func (n *network) Send(item *config.OutQueueItem) error {
17 | if n.initialized == false {
18 | endpoint := item.S.Output.Endpoints[rand.Intn(len(item.S.Output.Endpoints))]
19 | conn, err := net.DialTimeout(item.S.Output.Protocol, endpoint, item.S.Output.Timeout)
20 | if err != nil {
21 | return err
22 | }
23 | n.conn = conn
24 | n.initialized = true
25 | }
26 | _, err := io.Copy(n.conn, item.IO.R)
27 | return err
28 | }
29 |
30 | func (n *network) Close() error {
31 | if n.conn != nil {
32 | n.conn.Close()
33 | n.conn = nil
34 | }
35 | n.initialized = false
36 | return nil
37 | }
38 |
--------------------------------------------------------------------------------
/outputter/stdout.go:
--------------------------------------------------------------------------------
1 | package outputter
2 |
3 | import (
4 | "io"
5 | "os"
6 |
7 | config "github.com/coccyx/gogen/internal"
8 | )
9 |
10 | type stdout struct{}
11 |
12 | func (foo stdout) Send(item *config.OutQueueItem) error {
13 | _, err := io.Copy(os.Stdout, item.IO.R)
14 |
15 | return err
16 | }
17 |
18 | func (foo stdout) Close() error {
19 | return nil
20 | }
21 |
--------------------------------------------------------------------------------
/rater/default.go:
--------------------------------------------------------------------------------
1 | package rater
2 |
3 | import (
4 | "time"
5 |
6 | config "github.com/coccyx/gogen/internal"
7 | )
8 |
9 | // DefaultRater simply returns the passed count
10 | type DefaultRater struct {
11 | c *config.RaterConfig
12 | }
13 |
14 | // EventRate takes a given sample and current count and returns the rated count
15 | func (dr *DefaultRater) EventRate(s *config.Sample, now time.Time, count int) float64 {
16 | return 1.0
17 | }
18 |
19 | // TokenRate takes a token and returns the rated value
20 | func (dr *DefaultRater) TokenRate(t config.Token, now time.Time) float64 {
21 | return 1.0
22 | }
23 |
--------------------------------------------------------------------------------
/rater/default_test.go:
--------------------------------------------------------------------------------
1 | package rater
2 |
3 | import (
4 | "os"
5 | "path/filepath"
6 | "testing"
7 | "time"
8 |
9 | config "github.com/coccyx/gogen/internal"
10 | "github.com/stretchr/testify/assert"
11 | )
12 |
13 | func TestDefaultRaterEventRate(t *testing.T) {
14 | // Setup environment
15 | os.Setenv("GOGEN_HOME", "..")
16 | os.Setenv("GOGEN_ALWAYS_REFRESH", "1")
17 | home := ".."
18 | os.Setenv("GOGEN_FULLCONFIG", filepath.Join(home, "tests", "rater", "defaultrater.yml"))
19 |
20 | c := config.NewConfig()
21 | r := c.FindRater("default")
22 | assert.Equal(t, "default", r.Name)
23 | s := c.FindSampleByName("defaultrater")
24 | assert.Equal(t, "default", s.RaterString)
25 | ret := EventRate(s, time.Now(), 1)
26 | assert.IsType(t, &DefaultRater{}, s.Rater)
27 | assert.True(t, assert.ObjectsAreEqual(r, s.Rater.(*DefaultRater).c))
28 | assert.Equal(t, 1, ret)
29 | }
30 |
--------------------------------------------------------------------------------
/rater/kbps_test.go:
--------------------------------------------------------------------------------
1 | package rater
2 |
3 | import (
4 | "os"
5 | "path/filepath"
6 | "testing"
7 | "time"
8 |
9 | config "github.com/coccyx/gogen/internal"
10 | "github.com/stretchr/testify/assert"
11 | )
12 |
13 | func TestKBpsRaterEventRate(t *testing.T) {
14 | // Setup environment
15 | os.Setenv("GOGEN_HOME", "..")
16 | os.Setenv("GOGEN_ALWAYS_REFRESH", "1")
17 | home := ".."
18 | os.Setenv("GOGEN_FULLCONFIG", filepath.Join(home, "tests", "rater", "kbpsrater.yml"))
19 |
20 | c := config.NewConfig()
21 | r := c.FindRater("kbpsrater")
22 | assert.Equal(t, "kbpsrater", r.Name)
23 | s := c.FindSampleByName("kbpsrater")
24 | assert.Equal(t, "kbpsrater", s.RaterString)
25 |
26 | loc, _ := time.LoadLocation("Local")
27 | n := time.Date(2001, 10, 20, 0, 0, 0, 100000, loc)
28 | now := func() time.Time {
29 | return n
30 | }
31 | ret := EventRate(s, now(), 1)
32 | assert.Equal(t, 1, ret)
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/rater/rater_test.go:
--------------------------------------------------------------------------------
1 | package rater
2 |
3 | import (
4 | "testing"
5 | "time"
6 |
7 | config "github.com/coccyx/gogen/internal"
8 | "github.com/stretchr/testify/assert"
9 | )
10 |
11 | func TestRandomizeCount(t *testing.T) {
12 | s := &config.Sample{RandomizeCount: 0.2}
13 | randSource = 2
14 | count := EventRate(s, time.Now(), 10)
15 | assert.Equal(t, 11, count)
16 | }
17 |
--------------------------------------------------------------------------------
/rater/script_test.go:
--------------------------------------------------------------------------------
1 | package rater
2 |
3 | import (
4 | "os"
5 | "path/filepath"
6 | "testing"
7 | "time"
8 |
9 | config "github.com/coccyx/gogen/internal"
10 | "github.com/stretchr/testify/assert"
11 | )
12 |
13 |
14 | func TestScriptRaterEventRate(t *testing.T) {
15 | // Setup environment
16 | os.Setenv("GOGEN_HOME", "..")
17 | os.Setenv("GOGEN_ALWAYS_REFRESH", "1")
18 | home := ".."
19 | os.Setenv("GOGEN_FULLCONFIG", filepath.Join(home, "tests", "rater", "luarater.yml"))
20 |
21 | c := config.NewConfig()
22 | r := c.FindRater("multiply")
23 | assert.Equal(t, "multiply", r.Name)
24 | s := c.FindSampleByName("double")
25 | assert.Equal(t, "multiply", s.RaterString)
26 | ret := EventRate(s, time.Now(), 1)
27 | assert.IsType(t, &ScriptRater{}, s.Rater)
28 | assert.True(t, assert.ObjectsAreEqual(r, s.Rater.(*ScriptRater).c))
29 | assert.Equal(t, 2, ret)
30 | }
31 |
--------------------------------------------------------------------------------
/tests/concat_test.go:
--------------------------------------------------------------------------------
1 | package tests
2 |
3 | import (
4 | "bytes"
5 | "strings"
6 | "testing"
7 | )
8 |
9 | func BenchmarkStringConcat(b *testing.B) {
10 | for n := 0; n < b.N; n++ {
11 | x := "a"
12 | y := "b"
13 | z := "c"
14 | _ = x + y + z
15 | }
16 | }
17 |
18 | func BenchmarkStringsJoin(b *testing.B) {
19 | for n := 0; n < b.N; n++ {
20 | x := "a"
21 | y := "b"
22 | z := "c"
23 | _ = strings.Join([]string{x, y, z}, "")
24 | }
25 | }
26 |
27 | func BenchmarkStringByteConcat(b *testing.B) {
28 | for n := 0; n < b.N; n++ {
29 | x := []byte("a")
30 | y := []byte("b")
31 | z := []byte("c")
32 | a := append(x, y...)
33 | _ = append(a, z...)
34 | }
35 | }
36 |
37 | func BenchmarkStringByteConcatJoin(b *testing.B) {
38 | x := []byte("a")
39 | y := []byte("b")
40 | z := []byte("c")
41 | for n := 0; n < b.N; n++ {
42 | _ = bytes.Join([][]byte{x, y, z}, []byte(""))
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/tests/file_test.go:
--------------------------------------------------------------------------------
1 | package tests
2 |
3 | import (
4 | "os"
5 | "path/filepath"
6 | "strconv"
7 | "testing"
8 |
9 | config "github.com/coccyx/gogen/internal"
10 | "github.com/coccyx/gogen/run"
11 | "github.com/stretchr/testify/assert"
12 | )
13 |
14 | func TestFileOutput(t *testing.T) {
15 | config.SetupFromFile(filepath.Join("..", "tests", "fileoutput", "fileoutput.yml"))
16 | c := config.NewConfig()
17 | // s := c.FindSampleByName("backfill")
18 | run.Run(c)
19 |
20 | info, err := os.Stat(c.Global.Output.FileName)
21 | assert.NoError(t, err)
22 | assert.Condition(t, func() bool {
23 | return info.Size() < c.Global.Output.MaxBytes
24 | }, "Rotation failing, main file size of %d greater than MaxBytes %d", info.Size(), c.Global.Output.MaxBytes)
25 | for i := 1; i <= c.Global.Output.BackupFiles; i++ {
26 | info, err = os.Stat(c.Global.Output.FileName + "." + strconv.Itoa(i))
27 | assert.NoError(t, err)
28 | assert.Condition(t, func() bool {
29 | return info.Size() > c.Global.Output.MaxBytes
30 | }, "Rotation failing, file %d less than MaxBytes", i)
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/tests/flatten/flatten.yml:
--------------------------------------------------------------------------------
1 | name: flatten
2 | lines:
3 | - "_raw": foo
--------------------------------------------------------------------------------
/tests/generator/generator.lua:
--------------------------------------------------------------------------------
1 | return options["foo"] + state["somevar"]
--------------------------------------------------------------------------------
/tests/generator/generator.yml:
--------------------------------------------------------------------------------
1 | generators:
2 | - name: custom
3 | options:
4 | foo: bar
5 | init:
6 | somevar: 1
7 | script: >
8 | return options["foo"] + state["somevar"]
9 | singleThreaded: false
10 | samples:
11 | - name: generator
12 | generator: custom
13 | interval: 1
14 | endIntervals: 5
--------------------------------------------------------------------------------
/tests/generator/generatorFile.yml:
--------------------------------------------------------------------------------
1 | generators:
2 | - name: custom
3 | options:
4 | foo: bar
5 | init:
6 | somevar: 1
7 | fileName: $GOGEN_HOME/tests/generator/generator.lua
8 | singleThreaded: false
9 | samples:
10 | - name: generator
11 | generator: custom
12 | interval: 1
13 | endIntervals: 5
--------------------------------------------------------------------------------
/tests/generator/realGenerator.yml:
--------------------------------------------------------------------------------
1 | generators:
2 | - name: custom
3 | init:
4 | cur: 0
5 | fileName: $GOGEN_HOME/tests/generator/realgen.lua
6 | singleThreaded: false
7 | samples:
8 | - name: generator
9 | generator: custom
10 | interval: 1
11 | endIntervals: 6
12 | tokens:
13 | - name: ts-dmyhmsms-template
14 | format: template
15 | token: $ts$
16 | type: gotimestamp
17 | replacement: "02/Jan/2006 03:04:05"
18 | lines:
19 | - _raw: $ts$ walked in
20 | - _raw: $ts$ sat down
21 | - _raw: $ts$ on the group w bench
22 |
--------------------------------------------------------------------------------
/tests/mix/mix1.yml:
--------------------------------------------------------------------------------
1 | mix:
2 | - sample: $GOGEN_HOME/tests/mix/sample1.yml
3 | - sample: $GOGEN_HOME/tests/mix/sample2.yml
4 | - sample: $GOGEN_HOME/tests/mix/sample3.yml
--------------------------------------------------------------------------------
/tests/mix/mix2.yml:
--------------------------------------------------------------------------------
1 | mix:
2 | - sample: $GOGEN_HOME/tests/mix/sample1.yml
3 | count: 1
4 | interval: 1
5 | - sample: $GOGEN_HOME/tests/mix/sample2.yml
6 | count: 2
7 | interval: 2
8 | - sample: $GOGEN_HOME/tests/mix/sample3.yml
9 | count: 3
10 | interval: 3
11 | endIntervals: 3
--------------------------------------------------------------------------------
/tests/mix/sample1.yml:
--------------------------------------------------------------------------------
1 | samples:
2 | - name: sample1
3 | interval: 1
4 | endIntervals: 5
5 | count: 2
6 | randomizeEvents: true
7 |
8 | tokens:
9 | - name: ts
10 | format: template
11 | type: timestamp
12 | replacement: "%b/%d/%y %H:%M:%S"
13 |
14 | lines:
15 | - _raw: $ts$ sample1-1
16 | - _raw: $ts$ sample1-2
17 | - _raw: $ts$ sample1-3
--------------------------------------------------------------------------------
/tests/mix/sample2.yml:
--------------------------------------------------------------------------------
1 | samples:
2 | - name: sample2
3 | interval: 1
4 | endIntervals: 5
5 | count: 1
6 | randomizeEvents: true
7 |
8 | tokens:
9 | - name: ts
10 | format: template
11 | type: timestamp
12 | replacement: "%b/%d/%y %H:%M:%S"
13 |
14 | lines:
15 | - _raw: $ts$ sample2-1
16 | - _raw: $ts$ sample2-2
17 | - _raw: $ts$ sample2-3
--------------------------------------------------------------------------------
/tests/mix/sample3.yml:
--------------------------------------------------------------------------------
1 | generators:
2 | - name: sample3
3 | script: |
4 | l = { _raw="$ts$ sample3-1 "}
5 | l = replaceTokens(l)
6 | events = { }
7 | table.insert(events, l)
8 | send(events)
9 | samples:
10 | - name: sample3
11 | generator: sample3
12 | interval: 1
13 | endIntervals: 5
14 | count: 1
15 | randomizeEvents: true
16 |
17 | tokens:
18 | - name: ts
19 | format: template
20 | type: timestamp
21 | replacement: "%b/%d/%y %H:%M:%S"
22 |
--------------------------------------------------------------------------------
/tests/outputcache_test.go:
--------------------------------------------------------------------------------
1 | package tests
2 |
3 | import (
4 | "testing"
5 |
6 | config "github.com/coccyx/gogen/internal"
7 | "github.com/coccyx/gogen/run"
8 | "github.com/stretchr/testify/assert"
9 | )
10 |
11 | func TestOutputCache(t *testing.T) {
12 | configStr := `
13 | global:
14 | output:
15 | outputter: buf
16 | cacheIntervals: 2
17 | samples:
18 | - name: outputcache
19 | begin: "2001-10-20 12:00:00"
20 | end: "2001-10-20 12:00:04"
21 | interval: 1
22 | count: 1
23 | tokens:
24 | - name: ts1
25 | type: timestamp
26 | replacement: "%Y-%m-%dT%H:%M:%S"
27 | token: $ts1$
28 | format: template
29 | lines:
30 | - "_raw": "$ts1$"
31 | `
32 |
33 | config.SetupFromString(configStr)
34 |
35 | c := config.NewConfig()
36 | run.Run(c)
37 |
38 | assert.Equal(t, `2001-10-20T12:00:00
39 | 2001-10-20T12:00:00
40 | 2001-10-20T12:00:00
41 | 2001-10-20T12:00:03
42 | `, c.Buf.String())
43 |
44 | config.CleanupConfigAndEnvironment()
45 | }
46 |
--------------------------------------------------------------------------------
/tests/perf/weblog-splunk.yml:
--------------------------------------------------------------------------------
1 | global:
2 | samplesDir:
3 | - $GOGEN_HOME/examples/common
4 | generatorWorkers: 5
5 | outputWorkers: 16
6 | rotInterval: 1
7 | output:
8 | outputter: http
9 | outputTemplate: json
10 | endpoints:
11 | - http://localhost:8088/services/collector/event
12 | headers:
13 | Authorization: Splunk 00112233-4455-6677-8899-AABBCCDDEEFF
14 | samples:
15 | - name: weblog
16 | fromSample: weblog-common
17 |
--------------------------------------------------------------------------------
/tests/perf/weblog.yml:
--------------------------------------------------------------------------------
1 | global:
2 | samplesDir:
3 | - $GOGEN_HOME/examples/common
4 | generatorWorkers: 6
5 | outputWorkers: 1
6 | rotInterval: 1
7 | samples:
8 | - name: weblog
9 | fromSample: weblog-common
--------------------------------------------------------------------------------
/tests/push_test.go:
--------------------------------------------------------------------------------
1 | package tests
2 |
3 | // import (
4 | // "os"
5 | // "path/filepath"
6 | // "testing"
7 |
8 | // config "github.com/coccyx/gogen/internal"
9 | // "github.com/coccyx/gogen/run"
10 | // )
11 |
12 | // func TestSharePush(t *testing.T) {
13 | // config.ResetConfig()
14 | // os.Setenv("GOGEN_HOME", "..")
15 | // os.Setenv("GOGEN_ALWAYS_REFRESH", "")
16 | // home := ".."
17 | // os.Setenv("GOGEN_FULLCONFIG", filepath.Join(home, "examples", "weblog", "weblog.yml"))
18 | // os.Setenv("GOGEN_EXPORT", "1")
19 | // _ = config.NewConfig()
20 | // var r run.Runner
21 | // config.Push("weblog", r)
22 | // os.Setenv("GOGEN_EXPORT", "")
23 | // }
24 |
--------------------------------------------------------------------------------
/tests/rater/defaultrater.yml:
--------------------------------------------------------------------------------
1 | samples:
2 | - name: defaultrater
3 | count: 1
4 | lines:
5 | - "_raw": foo
--------------------------------------------------------------------------------
/tests/rater/kbpsrater.yml:
--------------------------------------------------------------------------------
1 | samples:
2 | - name: kbpsrater
3 | rater: kbpsrater
4 | count: 1
5 | lines:
6 | - "_raw": foo
7 | raters:
8 | - name: kbpsrater
9 | type: kbps
10 | options:
11 | KBps: 1.0
--------------------------------------------------------------------------------
/tests/rater/luarater.yml:
--------------------------------------------------------------------------------
1 | global:
2 | output:
3 | outputter: buf
4 | samples:
5 | - name: double
6 | rater: multiply
7 | count: 1
8 | endIntervals: 1
9 | tokens:
10 | - name: multiply
11 | format: template
12 | type: rated
13 | rater: multiply
14 | replacement: int
15 | upper: 1
16 | lower: 1
17 | lines:
18 | - "_raw": value=$multiply$
19 | raters:
20 | - name: multiply
21 | type: script
22 | script: >
23 | return options["multiplier"]
24 | options:
25 | multiplier: 2
--------------------------------------------------------------------------------
/tests/replay/bad-epoch-timestamp.yml:
--------------------------------------------------------------------------------
1 | name: bad-epoch-timestamp
2 | generator: replay
3 | tokens:
4 | - name: ts1
5 | type: epochtimestamp
6 | format: regex
7 | token: "(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})"
8 | lines:
9 | - "_raw": "2001-10-20T12:00:00"
--------------------------------------------------------------------------------
/tests/replay/bad-go-timestamp.yml:
--------------------------------------------------------------------------------
1 | name: bad-go-timestamp
2 | generator: replay
3 | tokens:
4 | - name: ts1
5 | type: gotimestamp
6 | replacement: "bad"
7 | format: regex
8 | token: "(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})"
9 | lines:
10 | - "_raw": "2001-10-20T12:00:00"
--------------------------------------------------------------------------------
/tests/replay/bad-strptime-timestamp.yml:
--------------------------------------------------------------------------------
1 | name: bad-strptime-timestamp
2 | generator: replay
3 | tokens:
4 | - name: ts1
5 | type: timestamp
6 | replacement: "bad"
7 | format: regex
8 | token: "(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})"
9 | lines:
10 | - "_raw": "2001-10-20T12:00:00"
--------------------------------------------------------------------------------
/tests/replay/no-offsets-found.yml:
--------------------------------------------------------------------------------
1 | name: no-offsets-found
2 | generator: replay
3 | tokens:
4 | - name: ts1
5 | type: timestamp
6 | replacement: "%Y-%m-%dT%H:%M:%S"
7 | format: regex
8 | token: "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}"
9 | lines:
10 | - "_raw": nope
--------------------------------------------------------------------------------
/tests/replay/replay5.yml:
--------------------------------------------------------------------------------
1 | name: replay5
2 | generator: replay
3 | tokens:
4 | - name: ts1
5 | type: timestamp
6 | replacement: "%Y-%m-%dT%H:%M:%S"
7 | format: regex
8 | token: "(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})"
9 | lines:
10 | - "_raw": "2001-10-20T12:00:00"
11 | - "_raw": "2001-10-20T12:00:01"
12 | - "_raw": "2001-10-20T12:00:06"
13 | - "_raw": "2001-10-20T12:00:16"
14 | - "_raw": "2001-10-20T12:00:36"
--------------------------------------------------------------------------------
/tests/scripttokenrater_test.go:
--------------------------------------------------------------------------------
1 | package tests
2 |
3 | import (
4 | "os"
5 | "path/filepath"
6 | "testing"
7 |
8 | config "github.com/coccyx/gogen/internal"
9 | "github.com/coccyx/gogen/run"
10 | "github.com/stretchr/testify/assert"
11 | )
12 |
13 | func TestScriptRaterTokenRate(t *testing.T) {
14 | config.ResetConfig()
15 | // Setup environment
16 | os.Setenv("GOGEN_HOME", "..")
17 | os.Setenv("GOGEN_ALWAYS_REFRESH", "")
18 | home := ".."
19 | os.Setenv("GOGEN_FULLCONFIG", filepath.Join(home, "tests", "rater", "luarater.yml"))
20 |
21 | c := config.NewConfig()
22 | run.Run(c)
23 |
24 | assert.Equal(t, "value=2\nvalue=2\n", c.Buf.String())
25 | }
26 |
--------------------------------------------------------------------------------
/tests/singlepass/missed-regex.yml:
--------------------------------------------------------------------------------
1 | name: missed-regex
2 | tokens:
3 | - name: regex1
4 | type: static
5 | replacement: foo
6 | format: regex
7 | token: "^foo (\\w+)"
8 | - name: regex2
9 | type: static
10 | replacement: bar
11 | format: regex
12 | token: "^foo foo (\\w+)"
13 | lines:
14 | - "_raw": foo replaceme baz
--------------------------------------------------------------------------------
/tests/singlepass/overlapping-regex.yml:
--------------------------------------------------------------------------------
1 | name: overlapping-regex
2 | tokens:
3 | - name: regex1
4 | type: static
5 | replacement: foo
6 | format: regex
7 | token: "^foo (\\w+)"
8 | - name: regex2
9 | type: static
10 | replacement: bar
11 | format: regex
12 | token: "^(foo replaceme)"
13 | lines:
14 | - "_raw": foo replaceme baz
--------------------------------------------------------------------------------
/tests/singlepass/wide-regex.yml:
--------------------------------------------------------------------------------
1 | name: wide-regex
2 | tokens:
3 | - name: regex1
4 | type: static
5 | replacement: bar
6 | format: regex
7 | token: (foo)
8 | - name: regex2
9 | type: static
10 | replacement: bar
11 | format: regex
12 | token: (replaceme)
13 | - name: wide-regex
14 | type: static
15 | replacement: bar
16 | format: regex
17 | token: "(replaceme baz)"
18 | - name: regex2
19 | type: static
20 | replacement: foo
21 | format: regex
22 | token: "(baz)"
23 | lines:
24 | - "_raw": foo replaceme baz
--------------------------------------------------------------------------------
/tests/strftime_test.go:
--------------------------------------------------------------------------------
1 | package tests
2 |
3 | import (
4 | "testing"
5 | "time"
6 |
7 | strftime1 "github.com/cactus/gostrftime"
8 | strftime2 "github.com/hhkbp2/go-strftime"
9 | strftime3 "github.com/jehiah/go-strftime"
10 | )
11 |
12 | func BenchmarkStrftime1(b *testing.B) {
13 | for n := 0; n < b.N; n++ {
14 | strftime1.Format("%Y-%m-%d %H:%M:%S,%L", time.Now())
15 | }
16 | }
17 |
18 | func BenchmarkStrftime2(b *testing.B) {
19 | for n := 0; n < b.N; n++ {
20 | strftime2.Format("%Y-%m-%d %H:%M:%S,%L", time.Now())
21 | }
22 | }
23 |
24 | func BenchmarkStrftime3(b *testing.B) {
25 | for n := 0; n < b.N; n++ {
26 | strftime3.Format("%Y-%m-%d %H:%M:%S,%L", time.Now())
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/tests/testfuncs.go:
--------------------------------------------------------------------------------
1 | package tests
2 |
3 | import (
4 | "os"
5 | "path/filepath"
6 |
7 | config "github.com/coccyx/gogen/internal"
8 | )
9 |
10 | // FindSampleInFile is used for tests to find a specific test file and reload config with it
11 | func FindSampleInFile(home string, name string) *config.Sample {
12 | os.Setenv("GOGEN_SAMPLES_DIR", filepath.Join(home, name+".yml"))
13 | c := config.NewConfig()
14 | // c.Log.Debugf("Pretty Values %# v\n", pretty.Formatter(c))
15 | return c.FindSampleByName(name)
16 | }
17 |
--------------------------------------------------------------------------------
/tests/testfuncs_test.go:
--------------------------------------------------------------------------------
1 | package tests
2 |
3 | import (
4 | "os"
5 | "path/filepath"
6 | "testing"
7 | )
8 |
9 | func TestFindSampleInFile(t *testing.T) {
10 | // Setup environment
11 | os.Setenv("GOGEN_HOME", "..")
12 | os.Setenv("GOGEN_ALWAYS_REFRESH", "1")
13 | os.Setenv("GOGEN_FULLCONFIG", "")
14 | home := filepath.Join("..", "tests", "tokens")
15 | os.Setenv("GOGEN_SAMPLES_DIR", home)
16 |
17 | s := FindSampleInFile(home, "token-static")
18 | if s == nil {
19 | t.Fatalf("Sample token-static not found in file: %s", home)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/tests/timer/backfill.yml:
--------------------------------------------------------------------------------
1 | name: backfill
2 | begin: -1m
3 | end: -30s
4 | interval: 5
5 | tokens:
6 | - name: ts-ymdhmsms-regex.yml
7 |
8 | lines:
9 | - _raw: $ts$
--------------------------------------------------------------------------------
/tests/timer/backfillfutureend.yml:
--------------------------------------------------------------------------------
1 | name: backfillfutureend
2 | begin: -5s
3 | end: +5s
4 | interval: 1
5 | tokens:
6 | - name: ts-ymdhmsms-regex.yml
7 |
8 | lines:
9 | - _raw: $ts$
--------------------------------------------------------------------------------
/tests/timer/backfillrealtime.yml:
--------------------------------------------------------------------------------
1 | name: backfillrealtime
2 | begin: -1m
3 | interval: 2
4 | tokens:
5 | - name: ts-ymdhmsms-regex.yml
6 |
7 | lines:
8 | - _raw: $ts$
--------------------------------------------------------------------------------
/tests/timer/cachetimer.yml:
--------------------------------------------------------------------------------
1 | name: cachetimer
2 | begin: -1m
3 | end: now
4 | interval: 2
5 |
6 | lines:
7 | - _raw: $ts$
--------------------------------------------------------------------------------
/tests/timer/realtimereplay.yml:
--------------------------------------------------------------------------------
1 | name: realtimereplay
2 | begin: now
3 | generator: replay
4 | tokens:
5 | - name: ts1
6 | type: timestamp
7 | replacement: "%Y-%m-%dT%H:%M:%S"
8 | format: regex
9 | token: "(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})"
10 | lines:
11 | - "_raw": "2001-10-20T12:00:00"
12 | - "_raw": "2001-10-20T12:00:01"
13 | - "_raw": "2001-10-20T12:00:03"
--------------------------------------------------------------------------------
/tests/tokens/token-regex.yml:
--------------------------------------------------------------------------------
1 | name: token-regex
2 | tokens:
3 | - name: static
4 | type: static
5 | replacement: foo
6 | format: regex
7 | token: "^foo (\\w+)"
8 | - name: static2
9 | type: static
10 | replacement: bar
11 | format: regex
12 | token: "^foo foo (\\w+)"
13 | lines:
14 | - "_raw": foo replaceme baz
--------------------------------------------------------------------------------
/tests/tokens/token-static.yml:
--------------------------------------------------------------------------------
1 | name: token-static
2 | tokens:
3 | - name: static
4 | type: static
5 | replacement: foo
6 | format: template
7 | token: $static$
8 | lines:
9 | - "_raw": $static$
--------------------------------------------------------------------------------
/tests/tokens/tokens-find.yml:
--------------------------------------------------------------------------------
1 | name: tokens-find
2 | tokens:
3 | - name: template
4 | format: template
5 | type: static
6 | replacement: newfoo
7 | - name: regex
8 | format: regex
9 | token: "(\\$\\w+\\$)+"
10 | type: static
11 | replacement: newfoo
12 | lines:
13 | - "_raw": foo $template$ $template$
14 | - "_raw": $template$ foo $template$ foo some other
--------------------------------------------------------------------------------
/tests/transliterator/samples/artIDs.sample:
--------------------------------------------------------------------------------
1 | 0019
2 | 0018
3 | 0014
4 | 006
5 | 0026
6 | 0017
7 | 0016
8 | 0015
9 | 0027
10 | 007
11 | 0021
12 | 0011
13 | 0012
14 | 0013
15 | 0020
16 | 005
17 | 0044
18 | 001
19 | 0032
20 | 008
21 | 0022
--------------------------------------------------------------------------------
/tests/transliterator/samples/autoBillPayment.sample:
--------------------------------------------------------------------------------
1 | T
2 | T
3 | T
4 | T
5 | T
6 | T
7 | T
8 | T
9 | F
10 | F
--------------------------------------------------------------------------------
/tests/transliterator/samples/categories.sample:
--------------------------------------------------------------------------------
1 | CASES
2 | DISPLAYPROTECT
3 | HEADSETS
4 | BLUETOOTH
5 | BATTERIES
6 | MEMORYCARDS
7 | CHARGERS
8 | HEADSETS
9 | MOUNTS
10 | ACCESSORIES
11 |
--------------------------------------------------------------------------------
/tests/transliterator/samples/dbhosts.sample:
--------------------------------------------------------------------------------
1 | mysql-2.splunktel.com
2 | mysql-1.splunktel.com
3 | mysql-3.splunktel.com
4 |
--------------------------------------------------------------------------------
/tests/transliterator/samples/items.sample:
--------------------------------------------------------------------------------
1 | EST-19
2 | EST-18
3 | EST-14
4 | EST-6
5 | EST-26
6 | EST-17
7 | EST-16
8 | EST-15
9 | EST-27
10 | EST-7
11 | EST-21
12 | EST-11
13 | EST-12
14 | EST-13
15 | EST-20
16 | EST-1
17 |
18 |
--------------------------------------------------------------------------------
/tests/transliterator/samples/orderType.sample:
--------------------------------------------------------------------------------
1 | ChangeESN
2 | ChangeESN
3 | ChangeESN
4 | ChangeESN
5 | ChangeESN
6 | ChangeESN
7 | ChangeESN
8 | ChangeESN
9 | ChangeESN
10 | ChangeESN
11 | ChangeESN
12 | NewActivation
13 | NewActivation
14 | NewActivation
15 | NewActivation
16 | NewActivation
17 | NewActivation
18 | NewActivation
19 | NewActivation
20 | NewActivation
21 | RatePlanFeatureChange
22 | RatePlanFeatureChange
23 | RatePlanFeatureChange
24 | RatePlanFeatureChange
25 | RatePlanFeatureChange
26 | RatePlanFeatureChange
27 | FeatureChange
28 | FeatureChange
29 | FeatureChange
30 | FeatureChange
31 | FeatureChange
32 | FeatureChange
33 | AddLOS
34 | AddLOS
35 | MDNChange
36 | MDNChange
37 | DisconnectLOS
38 | DisconnectLOS
39 | DisconnectAccount
40 |
--------------------------------------------------------------------------------
/tests/transliterator/samples/purchase_failure_mysql.sample:
--------------------------------------------------------------------------------
1 | index,host,source,sourcetype,_raw
2 | oidemo,localhost,/usr/local/mysql/logs/mysqld.log,mysql_config,091201 15:35:20 [CRITICAL] /opt/mysql/bin/mysqld: Disk is full writing '/mysqllog/binlog/localhost-3306-bin.000020' (Errcode: 28). Waiting for someone to free space... Retry in 60 secs
3 | oidemo,localhost,/usr/local/mysql/logs/mysqld.log,mysql_config,091201 15:35:30 [CRITICAL] Error writing file '/mysqllog/slow_log/localhost_3306_slow_queries.log' (errno: 1)
4 | oidemo,localhost,/usr/local/mysql/logs/mysqld.log,mysql_config,091201 15:35:41 [CRITICAL] Error writing file '/mysqllog/binlog/localhost-3306-bin' (errno: 28)
5 | oidemo,localhost,/usr/local/mysql/logs/mysqld.log,mysql_config,091201 15:36:00 [CRITICAL] Could not use /mysqllog/binlog/localhost-3306-bin for logging (error 28)
6 | oidemo,localhost,/usr/local/mysql/logs/mysqld.log,mysql_config,091201 15:36:01 [CRITICAL] Aborting
7 | oidemo,localhost,/usr/local/mysql/logs/mysqld.log,mysql_config,091201 15:36:05 [CRITICAL] ./mysqld: Shutdown complete
8 |
--------------------------------------------------------------------------------
/tests/transliterator/samples/radPIDs.sample:
--------------------------------------------------------------------------------
1 | 2363
2 | 12676
3 | 12548
--------------------------------------------------------------------------------
/tests/transliterator/samples/radhosts.sample:
--------------------------------------------------------------------------------
1 | aaa1
2 | aaa2
3 | aaa3
--------------------------------------------------------------------------------
/tests/transliterator/samples/sample.businessevent:
--------------------------------------------------------------------------------
1 | 2011-10-11 16:30:20,072,Event [Event=UpdateBillingProvQuote, timestamp=1318375820071, properties={JMSCorrelationID=NA, JMSMessageID=ID:ESP-PD.289F4E3F7A381:CEBE7D53, orderType=ChangeESN, quotePriority=NORMAL, conversationId=ESB~47af426612b50c97:5a04ce5c:132f52c51600:440d, credits=NA, JMSReplyTo=pub.esb.genericasync.response, timeToLive=-1, serviceName=UpdateBillingProvisioning, esn=NA, accountNumber=71081182961, MethodName=InternalEvent, AdapterName=UpdateBillingProvQuote, meid=NA, orderNumber=NA, quoteNumber=60354607, ReplyTo=NA, userName=cid, EventConversationID=NA, mdn=8322976226, accountType=PostPaid, marketCity="Houston", marketState=TX, marketZip=55555, billingCycle=5, autoBillPayment=T, phoneCode=IP4S, phoneType=iPhone, phoneName="iPhone 4S", planCode=700UD, planType=PostPaid, planPrice=45, planName="700 Minute Unlimited Data", planDescription="Nationwide 700 Minutes, Unlimited Mobile to Mobile, Unlimited Texting, Unlimited Data", networkProviderName=Native}]
2 |
--------------------------------------------------------------------------------
/tests/transliterator/samples/sample.mobilemusic.csv:
--------------------------------------------------------------------------------
1 | index,host,source,sourcetype,_raw
oidemo,localhost,/var/log/radius.log,radius,May 27 18:28:11:000 aaa2 radiusd[12676]:[ID 959576 local1.info] INFO RADOP(13) acct start for 5559031692@splunktel.com 10.94.63.34 from 130.253.37.97 recorded OK.
oidemo,localhost,/var/log/httpd/access_log,access_custom,"2014-05-27 18:28:11:112 10.2.1.35 POST /playhistory/uploadhistory - 80 - 10.94.63.34 ""Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APX515CKT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"" 200 0 0 468 1488"
oidemo,localhost,/var/log/radius.log,radius,May 27 18:28:11:199 aaa2 radiusd[12676]:[ID 959576 local1.info] INFO RADOP(13) acct stop for 5559031692@splunktel.com 10.94.63.34 from 130.253.37.97 recorded OK.
--------------------------------------------------------------------------------
/tests/transliterator/samples/sample.mobilemusicfailure.csv:
--------------------------------------------------------------------------------
1 | index,host,source,sourcetype,_raw
2 | oidemo,localhost,/var/log/radius.log,radius,May 27 18:28:11:000 aaa2 radiusd[12676]:[ID 959576 local1.info] INFO RADOP(13) acct start for 5559031692@splunktel.com 10.94.63.34 from 130.253.37.97 recorded OK.
3 | oidemo,localhost,/var/log/httpd/access_log,access_custom,"2014-05-27 18:28:11:112 10.2.1.35 POST /playhistory/uploadhistory - 80 - 10.94.63.34 ""Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3"" 503 0 0 468 1488"
4 | oidemo,localhost,/var/log/radius.log,radius,May 27 18:28:11:199 aaa2 radiusd[12676]:[ID 959576 local1.info] INFO RADOP(13) acct stop for 5559031692@splunktel.com 10.94.63.34 from 130.253.37.97 recorded OK.
--------------------------------------------------------------------------------
/tests/transliterator/samples/sample.mobilemusicfailuresearch.csv:
--------------------------------------------------------------------------------
1 | index,host,source,sourcetype,_raw
2 | oidemo,localhost,/var/log/radius.log,radius,May 27 18:28:11:000 aaa2 radiusd[12676]:[ID 959576 local1.info] INFO RADOP(13) acct start for 5559031692@splunktel.com 10.94.63.34 from 130.253.37.97 recorded OK.
3 | oidemo,localhost,/var/log/httpd/access_log,access_custom,"2014-05-27 18:28:11:112 10.2.1.35 GET /sync/addtolibrary/01011207201000005652000000000047 - 80 - 10.94.63.34 ""Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3"" 503 0 0 468 1488"
4 | oidemo,localhost,/var/log/radius.log,radius,May 27 18:28:11:199 aaa2 radiusd[12676]:[ID 959576 local1.info] INFO RADOP(13) acct stop for 5559031692@splunktel.com 10.94.63.34 from 130.253.37.97 recorded OK.
5 |
--------------------------------------------------------------------------------
/tests/transliterator/samples/searchArtists.sample:
--------------------------------------------------------------------------------
1 | Macklemore
2 | Pharrell
3 | Avicii
4 | Beyonce
5 | Katy+Perry
6 | EXO
7 | "f(x)"
8 | Alfred+Hui
9 | Maroon+5
10 | Robin+Thicke
11 | Justin+Timberlake
12 | Conchita+Wurst
13 | Bingo+Players
14 | Drake
15 | Bruno+Mars
16 | John+Legend
17 | George+Ezza
18 | Katy+Perry+Ft+Juicy+J
19 | Lorde
20 | Jason+Derulo
21 | Imagine+Dragons
22 | Ellie+Goulding
23 |
--------------------------------------------------------------------------------
/tests/transliterator/samples/shoppingactions.sample:
--------------------------------------------------------------------------------
1 | purchase
2 | addtocart
3 | remove
4 | view
5 | changequantity
6 |
--------------------------------------------------------------------------------
/tests/transliterator/samples/trackIDs.sample:
--------------------------------------------------------------------------------
1 | 01011207201000005652000000000021
2 | 01011207201000005652000000000047
3 | 01011207201000005652000000000068
4 | 01011207201000005652000000000018
5 | 01011207201000005652000000000031
6 | 01011207201000005652000000000007
7 | 01011207201000005652000000000013
8 | 01011207201000005652000000000041
9 | 01011207201000005652000000000053
10 | 01011207201000005652000000000023
11 | 01011207201000005652000000000029
12 | 01011207201000005652000000000037
13 | 01011207201000005652000000000011
14 | 01011207201000005652000000000003
15 | 01011207201000005652000000000083
16 | 01011207201000005652000000000017
17 | 01011207201000005652000000000071
18 | 01011207201000005652000000000026
19 | 01011207201000005652000000000055
20 | 01011207201000005652000000000084
21 | 01011207201000005652000000000014
22 | 01011207201000005652000000000025
23 | 01011207201000005652000000000049
--------------------------------------------------------------------------------
/tests/transliterator/samples/uris.sample:
--------------------------------------------------------------------------------
1 | GET /browse/search/$sartId$
2 | GET /browse/tracks/$trackId$
3 | POST /browse/artist/$artId$
4 | GET /browse/home
5 | POST /sync/createplaylist
6 | GET /sync/addtolibrary/$trackId$
7 | POST /playhistory/uploadhistory
8 | GET /auth/$mdn$
9 | GET /ads/showbanner
--------------------------------------------------------------------------------
/tests/transliterator/samples/webhosts.sample:
--------------------------------------------------------------------------------
1 | 10.2.1.33
2 | 10.2.1.34
3 | 10.2.1.35
--------------------------------------------------------------------------------
/tests/validation/validate-badrandom.yml:
--------------------------------------------------------------------------------
1 | name: validate-badrandom
2 | tokens:
3 | - name: badrandom
4 | type: random
5 | replacement: bad
--------------------------------------------------------------------------------
/tests/validation/validate-choice-items.yml:
--------------------------------------------------------------------------------
1 | name: validate-choice-items
2 | tokens:
3 | - name: choice
4 | type: choice
--------------------------------------------------------------------------------
/tests/validation/validate-earliest-latest.yml:
--------------------------------------------------------------------------------
1 | name: validate-earliest-latest
2 | earliest: now
3 | latest: -3s
--------------------------------------------------------------------------------
/tests/validation/validate-fieldchoice-badfield.yml:
--------------------------------------------------------------------------------
1 | name: validate-fieldchoice-badfield
2 | tokens:
3 | - name: fieldChoice
4 | type: fieldChoice
5 | srcField: badfield
6 | fieldChoice:
7 | - a: 1
8 | b: 2
9 | c: 3
10 | - a: 4
11 | b: 5
12 | c: 6
--------------------------------------------------------------------------------
/tests/validation/validate-fieldchoice-items.yml:
--------------------------------------------------------------------------------
1 | name: validate-fieldchoice-items
2 | tokens:
3 | - name: fieldChoice
4 | type: fieldChoice
5 | fieldChoice:
--------------------------------------------------------------------------------
/tests/validation/validate-lower-upper.yml:
--------------------------------------------------------------------------------
1 | name: validate-lower-upper
2 | tokens:
3 | - name: random_int
4 | type: random
5 | replacement: int
6 | lower: 10
7 | upper: 0
--------------------------------------------------------------------------------
/tests/validation/validate-nolines.yml:
--------------------------------------------------------------------------------
1 | name: validate-nolines
2 | tokens:
3 | - name: static
4 | type: static
5 | replacement: foo
6 | format: template
7 | token: $static$
--------------------------------------------------------------------------------
/tests/validation/validate-string-length.yml:
--------------------------------------------------------------------------------
1 | name: validate-string-length
2 | tokens:
3 | - name: random_string
4 | type: random
5 | replacement: string
6 | length: 0
--------------------------------------------------------------------------------
/tests/validation/validate-upper.yml:
--------------------------------------------------------------------------------
1 | name: validate-upper
2 | tokens:
3 | - name: random_int
4 | type: random
5 | replacement: int
--------------------------------------------------------------------------------
/tests/validation/validate-weightedchoice-items.yml:
--------------------------------------------------------------------------------
1 | name: validate-weightedchoice-items
2 | tokens:
3 | - name: weightedChoice
4 | type: weightedChoice
5 | weightedChoice:
--------------------------------------------------------------------------------
/ui/.env:
--------------------------------------------------------------------------------
1 | # API URL for the Gogen API\nVITE_API_URL=/api
2 |
--------------------------------------------------------------------------------
/ui/.env.development:
--------------------------------------------------------------------------------
1 | VITE_API_URL=/api # This will be proxied by Vite to localhost:4000
--------------------------------------------------------------------------------
/ui/.env.production:
--------------------------------------------------------------------------------
1 | VITE_API_URL=https://api.gogen.io/v1
--------------------------------------------------------------------------------
/ui/.env.staging:
--------------------------------------------------------------------------------
1 | VITE_API_URL=https://staging-api.gogen.io/v1
--------------------------------------------------------------------------------
/ui/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Gogen UI
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/ui/jest.config.ts:
--------------------------------------------------------------------------------
1 | import type { Config } from 'jest';
2 |
3 | const config: Config = {
4 | preset: 'ts-jest',
5 | testEnvironment: 'jsdom',
6 | setupFilesAfterEnv: ['/src/setupTests.ts'],
7 | moduleNameMapper: {
8 | '\\.(css|less|scss|sass)$': 'identity-obj-proxy',
9 | '^@/(.*)$': '/src/$1',
10 | },
11 | transform: {
12 | '^.+\\.(ts|tsx)$': 'ts-jest',
13 | },
14 | testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[jt]s?(x)'],
15 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
16 | collectCoverage: true,
17 | collectCoverageFrom: [
18 | 'src/**/*.{ts,tsx}',
19 | '!src/**/*.d.ts',
20 | '!src/main.tsx',
21 | '!src/vite-env.d.ts',
22 | ],
23 | coverageThreshold: {
24 | global: {
25 | branches: 70,
26 | functions: 70,
27 | lines: 70,
28 | statements: 70,
29 | },
30 | },
31 | };
32 |
33 | export default config;
--------------------------------------------------------------------------------
/ui/postcss.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
--------------------------------------------------------------------------------
/ui/public/favicon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/ui/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
2 | import Layout from './components/Layout';
3 | import HomePage from './pages/HomePage';
4 | import ConfigurationDetailPage from './pages/ConfigurationDetailPage';
5 | import NotFoundPage from './pages/NotFoundPage';
6 |
7 | function App() {
8 | return (
9 |
10 |
11 |
12 | } />
13 | } />
14 | } />
15 |
16 |
17 |
18 | );
19 | }
20 |
21 | export default App;
--------------------------------------------------------------------------------
/ui/src/components/Header.tsx:
--------------------------------------------------------------------------------
1 | import { Link } from 'react-router-dom';
2 |
3 | const Header = () => {
4 | return (
5 |
6 |
7 |
Gogen UI
8 |
13 |
14 |
15 | );
16 | };
17 |
18 | export default Header;
--------------------------------------------------------------------------------
/ui/src/components/Hero.tsx:
--------------------------------------------------------------------------------
1 | const Hero = () => {
2 | return (
3 |
4 |
5 |
6 |
Gogen helps generate telemetry data, quickly and easily.
7 |
View and manage your Gogen configurations.
8 |
9 |
10 |
11 | );
12 | };
13 |
14 | export default Hero;
--------------------------------------------------------------------------------
/ui/src/components/Layout.tsx:
--------------------------------------------------------------------------------
1 | import Header from './Header';
2 | import Footer from './Footer';
3 |
4 | interface LayoutProps {
5 | children: React.ReactNode;
6 | }
7 |
8 | const Layout = ({ children }: LayoutProps) => {
9 | return (
10 |
11 |
12 | {/* Main content */}
13 | {children}
14 |
15 |
16 | );
17 | };
18 |
19 | export default Layout;
--------------------------------------------------------------------------------
/ui/src/components/LoadingSpinner.test.tsx:
--------------------------------------------------------------------------------
1 | import { render, screen } from '../utils/test-utils';
2 | import LoadingSpinner from './LoadingSpinner';
3 |
4 | describe('LoadingSpinner', () => {
5 | test('renders loading spinner', () => {
6 | render();
7 | const spinnerElement = screen.getByRole('status');
8 | expect(spinnerElement).toBeInTheDocument();
9 | expect(spinnerElement).toHaveClass('animate-spin');
10 | });
11 | });
--------------------------------------------------------------------------------
/ui/src/config.ts:
--------------------------------------------------------------------------------
1 | // Environment-specific configuration
2 | interface Config {
3 | apiBaseUrl: string;
4 | }
5 |
6 | export const config: Config = {
7 | apiBaseUrl: import.meta.env.VITE_API_URL
8 | };
--------------------------------------------------------------------------------
/ui/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom/client';
3 | import App from './App';
4 | import './index.css';
5 |
6 | ReactDOM.createRoot(document.getElementById('root')!).render(
7 |
8 |
9 | ,
10 | );
--------------------------------------------------------------------------------
/ui/src/pages/NotFoundPage.tsx:
--------------------------------------------------------------------------------
1 | import { Link } from 'react-router-dom';
2 |
3 | const NotFoundPage = () => {
4 | return (
5 |
6 |
404
7 |
Page Not Found
8 |
9 | The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.
10 |
11 |
12 | Go to Homepage
13 |
14 |
15 | );
16 | };
17 |
18 | export default NotFoundPage;
--------------------------------------------------------------------------------
/ui/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | import '@testing-library/jest-dom';
2 | import { TextEncoder, TextDecoder } from 'util';
3 |
4 | // Mock window.matchMedia
5 | Object.defineProperty(window, 'matchMedia', {
6 | writable: true,
7 | value: jest.fn().mockImplementation(query => ({
8 | matches: false,
9 | media: query,
10 | onchange: null,
11 | addListener: jest.fn(),
12 | removeListener: jest.fn(),
13 | addEventListener: jest.fn(),
14 | removeEventListener: jest.fn(),
15 | dispatchEvent: jest.fn(),
16 | })),
17 | });
18 |
19 | // Mock ResizeObserver
20 | global.ResizeObserver = class ResizeObserver {
21 | observe = jest.fn();
22 | unobserve = jest.fn();
23 | disconnect = jest.fn();
24 | };
25 |
26 | // Mock TextEncoder/TextDecoder
27 | global.TextEncoder = TextEncoder;
28 | global.TextDecoder = TextDecoder as typeof global.TextDecoder;
--------------------------------------------------------------------------------
/ui/src/utils/test-utils.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { render as rtlRender } from '@testing-library/react';
3 |
4 | // Custom render function that includes providers
5 | function render(ui: React.ReactElement, renderOptions = {}) {
6 | function Wrapper({ children }: { children: React.ReactNode }) {
7 | return <>{children}>;
8 | }
9 | return rtlRender(ui, { wrapper: Wrapper, ...renderOptions });
10 | }
11 |
12 | // Re-export everything
13 | export * from '@testing-library/react';
14 |
15 | // Override render method
16 | export { render };
--------------------------------------------------------------------------------
/ui/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | interface ImportMetaEnv {
4 | readonly PROD: boolean
5 | readonly DEV: boolean
6 | readonly VITE_API_URL: string
7 | // Add more env variables as needed
8 | }
9 |
10 | interface ImportMeta {
11 | readonly env: ImportMetaEnv
12 | }
--------------------------------------------------------------------------------
/ui/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: [
4 | "./index.html",
5 | "./src/**/*.{js,ts,jsx,tsx}",
6 | ],
7 | theme: {
8 | extend: {
9 | colors: {
10 | 'cribl-primary': '#261926',
11 | 'cribl-cyan': '#00F9BB',
12 | 'cribl-purple': '#7f66ff',
13 | 'cribl-pink': '#ff3399',
14 | 'cribl-red': '#f25e65',
15 | 'cribl-white': '#ffffff',
16 | 'cribl-gray': '#f1f1f1',
17 | 'cribl-dark': '#1A1A1A',
18 | 'cribl-blue': '#3A85F7',
19 | 'cribl-orange': '#FF6B35',
20 | 'cribl-light-gray': '#F5F5F5',
21 | },
22 | },
23 | },
24 | plugins: [],
25 | }
--------------------------------------------------------------------------------
/ui/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "useDefineForClassFields": true,
5 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
6 | "module": "ESNext",
7 | "skipLibCheck": true,
8 | "esModuleInterop": true,
9 | "allowSyntheticDefaultImports": true,
10 |
11 | /* Bundler mode */
12 | "moduleResolution": "bundler",
13 | "allowImportingTsExtensions": true,
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react-jsx",
18 |
19 | /* Linting */
20 | "strict": true,
21 | "noUnusedLocals": true,
22 | "noUnusedParameters": true,
23 | "noFallthroughCasesInSwitch": true
24 | },
25 | "include": ["src"],
26 | "references": [{ "path": "./tsconfig.node.json" }]
27 | }
--------------------------------------------------------------------------------
/ui/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true
8 | },
9 | "include": ["vite.config.ts"]
10 | }
--------------------------------------------------------------------------------
/vendor/github.com/cactus/gostrftime/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/vendor/github.com/cactus/gostrftime/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014-2019 Eli Janssen
2 |
3 | Permission to use, copy, modify, and/or distribute this software for any
4 | purpose with or without fee is hereby granted, provided that the above
5 | copyright notice and this permission notice appear in all copies.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13 | PERFORMANCE OF THIS SOFTWARE.
14 |
--------------------------------------------------------------------------------
/vendor/github.com/coccyx/timeparser/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 |
24 | .DS_Store
--------------------------------------------------------------------------------
/vendor/github.com/coccyx/timeparser/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 |
3 | sudo: false
4 |
5 | go:
6 | - 1.5
7 | - 1.6
8 | - tip
9 |
10 | script:
11 | - go test -v ./...
--------------------------------------------------------------------------------
/vendor/github.com/davecgh/go-spew/LICENSE:
--------------------------------------------------------------------------------
1 | ISC License
2 |
3 | Copyright (c) 2012-2016 Dave Collins
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/vendor/github.com/felixge/fgprof/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | Copyright © 2020 Felix Geisendörfer
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5 |
6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7 |
8 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
9 |
--------------------------------------------------------------------------------
/vendor/github.com/felixge/fgprof/handler.go:
--------------------------------------------------------------------------------
1 | package fgprof
2 |
3 | import (
4 | "fmt"
5 | "net/http"
6 | "strconv"
7 | "time"
8 | )
9 |
10 | // Handler returns an http handler that takes an optional "seconds" query
11 | // argument that defaults to "30" and produces a profile over this duration.
12 | // The optional "format" parameter controls if the output is written in
13 | // Google's "pprof" format (default) or Brendan Gregg's "folded" stack format.
14 | func Handler() http.Handler {
15 | return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
16 | var seconds int
17 | var err error
18 | if s := r.URL.Query().Get("seconds"); s == "" {
19 | seconds = 30
20 | } else if seconds, err = strconv.Atoi(s); err != nil || seconds <= 0 {
21 | w.WriteHeader(http.StatusBadRequest)
22 | fmt.Fprintf(w, "bad seconds: %d: %s\n", seconds, err)
23 | return
24 | }
25 |
26 | format := Format(r.URL.Query().Get("format"))
27 | if format == "" {
28 | format = FormatPprof
29 | }
30 |
31 | stop := Start(w, format)
32 | defer stop()
33 | time.Sleep(time.Duration(seconds) * time.Second)
34 | })
35 | }
36 |
--------------------------------------------------------------------------------
/vendor/github.com/google/go-github/github/git.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The go-github AUTHORS. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style
4 | // license that can be found in the LICENSE file.
5 |
6 | package github
7 |
8 | // GitService handles communication with the git data related
9 | // methods of the GitHub API.
10 | //
11 | // GitHub API docs: https://developer.github.com/v3/git/
12 | type GitService service
13 |
--------------------------------------------------------------------------------
/vendor/github.com/google/go-github/github/with_appengine.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The go-github AUTHORS. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style
4 | // license that can be found in the LICENSE file.
5 |
6 | // +build appengine
7 |
8 | // This file provides glue for making github work on App Engine.
9 |
10 | package github
11 |
12 | import (
13 | "context"
14 | "net/http"
15 | )
16 |
17 | func withContext(ctx context.Context, req *http.Request) *http.Request {
18 | // No-op because App Engine adds context to a request differently.
19 | return req
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/github.com/google/go-github/github/without_appengine.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The go-github AUTHORS. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style
4 | // license that can be found in the LICENSE file.
5 |
6 | // +build !appengine
7 |
8 | // This file provides glue for making github work without App Engine.
9 |
10 | package github
11 |
12 | import (
13 | "context"
14 | "net/http"
15 | )
16 |
17 | func withContext(ctx context.Context, req *http.Request) *http.Request {
18 | return req.WithContext(ctx)
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/github.com/google/pprof/AUTHORS:
--------------------------------------------------------------------------------
1 | # This is the official list of pprof authors for copyright purposes.
2 | # This file is distinct from the CONTRIBUTORS files.
3 | # See the latter for an explanation.
4 | # Names should be added to this file as:
5 | # Name or Organization
6 | # The email address is not required for organizations.
7 | Google Inc.
--------------------------------------------------------------------------------
/vendor/github.com/google/pprof/CONTRIBUTORS:
--------------------------------------------------------------------------------
1 | # People who have agreed to one of the CLAs and can contribute patches.
2 | # The AUTHORS file lists the copyright holders; this file
3 | # lists people. For example, Google employees are listed here
4 | # but not in AUTHORS, because Google holds the copyright.
5 | #
6 | # https://developers.google.com/open-source/cla/individual
7 | # https://developers.google.com/open-source/cla/corporate
8 | #
9 | # Names should be added to this file as:
10 | # Name
11 | Raul Silvera
12 | Tipp Moseley
13 | Hyoun Kyu Cho
14 | Martin Spier
15 | Taco de Wolff
16 | Andrew Hunter
17 |
--------------------------------------------------------------------------------
/vendor/github.com/hhkbp2/go-strftime/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *.prof
25 |
--------------------------------------------------------------------------------
/vendor/github.com/jehiah/go-strftime/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 |
--------------------------------------------------------------------------------
/vendor/github.com/jehiah/go-strftime/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2012 Jehiah Czebotar
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/vendor/github.com/jehiah/go-strftime/README.md:
--------------------------------------------------------------------------------
1 | go-strftime
2 | ===========
3 |
4 | go implementation of strftime
5 |
6 | ## Example
7 |
8 | ```
9 | package main
10 |
11 | import (
12 | "fmt"
13 | "time"
14 |
15 | strftime "github.com/jehiah/go-strftime"
16 | )
17 |
18 | func main() {
19 | t := time.Unix(1340244776, 0)
20 | utc, _ := time.LoadLocation("UTC")
21 | t = t.In(utc)
22 | fmt.Println(strftime.Format("%Y-%m-%d %H:%M:%S", t))
23 | // Output:
24 | // 2012-06-21 02:12:56
25 | }
26 | ```
27 |
--------------------------------------------------------------------------------
/vendor/github.com/joyt/godate/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *.prof
25 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/.gitattributes:
--------------------------------------------------------------------------------
1 | * -text
2 | *.bin -text -diff
3 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *.prof
25 | /s2/cmd/_s2sx/sfx-exe
26 |
27 | # Linux perf files
28 | perf.data
29 | perf.data.old
30 |
31 | # gdb history
32 | .gdb_history
33 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/flate/matchlen_amd64.go:
--------------------------------------------------------------------------------
1 | //go:build amd64 && !appengine && !noasm && gc
2 | // +build amd64,!appengine,!noasm,gc
3 |
4 | // Copyright 2019+ Klaus Post. All rights reserved.
5 | // License information can be found in the LICENSE file.
6 |
7 | package flate
8 |
9 | // matchLen returns how many bytes match in a and b
10 | //
11 | // It assumes that:
12 | //
13 | // len(a) <= len(b) and len(a) > 0
14 | //
15 | //go:noescape
16 | func matchLen(a []byte, b []byte) int
17 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/flate/matchlen_generic.go:
--------------------------------------------------------------------------------
1 | //go:build !amd64 || appengine || !gc || noasm
2 | // +build !amd64 appengine !gc noasm
3 |
4 | // Copyright 2019+ Klaus Post. All rights reserved.
5 | // License information can be found in the LICENSE file.
6 |
7 | package flate
8 |
9 | import (
10 | "encoding/binary"
11 | "math/bits"
12 | )
13 |
14 | // matchLen returns the maximum common prefix length of a and b.
15 | // a must be the shortest of the two.
16 | func matchLen(a, b []byte) (n int) {
17 | for ; len(a) >= 8 && len(b) >= 8; a, b = a[8:], b[8:] {
18 | diff := binary.LittleEndian.Uint64(a) ^ binary.LittleEndian.Uint64(b)
19 | if diff != 0 {
20 | return n + bits.TrailingZeros64(diff)>>3
21 | }
22 | n += 8
23 | }
24 |
25 | for i := range a {
26 | if a[i] != b[i] {
27 | break
28 | }
29 | n++
30 | }
31 | return n
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/gen.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | cd s2/cmd/_s2sx/ || exit 1
4 | go generate .
5 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/huff0/.gitignore:
--------------------------------------------------------------------------------
1 | /huff0-fuzz.zip
2 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo.go:
--------------------------------------------------------------------------------
1 | // Package cpuinfo gives runtime info about the current CPU.
2 | //
3 | // This is a very limited module meant for use internally
4 | // in this project. For more versatile solution check
5 | // https://github.com/klauspost/cpuid.
6 | package cpuinfo
7 |
8 | // HasBMI1 checks whether an x86 CPU supports the BMI1 extension.
9 | func HasBMI1() bool {
10 | return hasBMI1
11 | }
12 |
13 | // HasBMI2 checks whether an x86 CPU supports the BMI2 extension.
14 | func HasBMI2() bool {
15 | return hasBMI2
16 | }
17 |
18 | // DisableBMI2 will disable BMI2, for testing purposes.
19 | // Call returned function to restore previous state.
20 | func DisableBMI2() func() {
21 | old := hasBMI2
22 | hasBMI2 = false
23 | return func() {
24 | hasBMI2 = old
25 | }
26 | }
27 |
28 | // HasBMI checks whether an x86 CPU supports both BMI1 and BMI2 extensions.
29 | func HasBMI() bool {
30 | return HasBMI1() && HasBMI2()
31 | }
32 |
33 | var hasBMI1 bool
34 | var hasBMI2 bool
35 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.go:
--------------------------------------------------------------------------------
1 | //go:build amd64 && !appengine && !noasm && gc
2 | // +build amd64,!appengine,!noasm,gc
3 |
4 | package cpuinfo
5 |
6 | // go:noescape
7 | func x86extensions() (bmi1, bmi2 bool)
8 |
9 | func init() {
10 | hasBMI1, hasBMI2 = x86extensions()
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.s:
--------------------------------------------------------------------------------
1 | // +build !appengine
2 | // +build gc
3 | // +build !noasm
4 |
5 | #include "textflag.h"
6 | #include "funcdata.h"
7 | #include "go_asm.h"
8 |
9 | TEXT ·x86extensions(SB), NOSPLIT, $0
10 | // 1. determine max EAX value
11 | XORQ AX, AX
12 | CPUID
13 |
14 | CMPQ AX, $7
15 | JB unsupported
16 |
17 | // 2. EAX = 7, ECX = 0 --- see Table 3-8 "Information Returned by CPUID Instruction"
18 | MOVQ $7, AX
19 | MOVQ $0, CX
20 | CPUID
21 |
22 | BTQ $3, BX // bit 3 = BMI1
23 | SETCS AL
24 |
25 | BTQ $8, BX // bit 8 = BMI2
26 | SETCS AH
27 |
28 | MOVB AL, bmi1+0(FP)
29 | MOVB AH, bmi2+1(FP)
30 | RET
31 |
32 | unsupported:
33 | XORQ AX, AX
34 | MOVB AL, bmi1+0(FP)
35 | MOVB AL, bmi2+1(FP)
36 | RET
37 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/internal/race/norace.go:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !race
6 |
7 | package race
8 |
9 | func ReadSlice[T any](s []T) {
10 | }
11 |
12 | func WriteSlice[T any](s []T) {
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/internal/race/race.go:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build race
6 |
7 | package race
8 |
9 | import (
10 | "runtime"
11 | "unsafe"
12 | )
13 |
14 | func ReadSlice[T any](s []T) {
15 | if len(s) == 0 {
16 | return
17 | }
18 | runtime.RaceReadRange(unsafe.Pointer(&s[0]), len(s)*int(unsafe.Sizeof(s[0])))
19 | }
20 |
21 | func WriteSlice[T any](s []T) {
22 | if len(s) == 0 {
23 | return
24 | }
25 | runtime.RaceWriteRange(unsafe.Pointer(&s[0]), len(s)*int(unsafe.Sizeof(s[0])))
26 | }
27 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/s2/.gitignore:
--------------------------------------------------------------------------------
1 | testdata/bench
2 |
3 | # These explicitly listed benchmark data files are for an obsolete version of
4 | # snappy_test.go.
5 | testdata/alice29.txt
6 | testdata/asyoulik.txt
7 | testdata/fireworks.jpeg
8 | testdata/geo.protodata
9 | testdata/html
10 | testdata/html_x_4
11 | testdata/kppkn.gtb
12 | testdata/lcet10.txt
13 | testdata/paper-100k.pdf
14 | testdata/plrabn12.txt
15 | testdata/urls.10K
16 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/s2/decode_asm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Snappy-Go Authors. All rights reserved.
2 | // Copyright (c) 2019 Klaus Post. All rights reserved.
3 | // Use of this source code is governed by a BSD-style
4 | // license that can be found in the LICENSE file.
5 |
6 | //go:build (amd64 || arm64) && !appengine && gc && !noasm
7 | // +build amd64 arm64
8 | // +build !appengine
9 | // +build gc
10 | // +build !noasm
11 |
12 | package s2
13 |
14 | // decode has the same semantics as in decode_other.go.
15 | //
16 | //go:noescape
17 | func s2Decode(dst, src []byte) int
18 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/s2sx.mod:
--------------------------------------------------------------------------------
1 | module github.com/klauspost/compress
2 |
3 | go 1.19
4 |
5 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/s2sx.sum:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/coccyx/gogen/10af9e7fa088c11a7c230284aa1c7efba2e495bd/vendor/github.com/klauspost/compress/s2sx.sum
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/snappy/.gitignore:
--------------------------------------------------------------------------------
1 | cmd/snappytool/snappytool
2 | testdata/bench
3 |
4 | # These explicitly listed benchmark data files are for an obsolete version of
5 | # snappy_test.go.
6 | testdata/alice29.txt
7 | testdata/asyoulik.txt
8 | testdata/fireworks.jpeg
9 | testdata/geo.protodata
10 | testdata/html
11 | testdata/html_x_4
12 | testdata/kppkn.gtb
13 | testdata/lcet10.txt
14 | testdata/paper-100k.pdf
15 | testdata/plrabn12.txt
16 | testdata/urls.10K
17 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/snappy/AUTHORS:
--------------------------------------------------------------------------------
1 | # This is the official list of Snappy-Go authors for copyright purposes.
2 | # This file is distinct from the CONTRIBUTORS files.
3 | # See the latter for an explanation.
4 |
5 | # Names should be added to this file as
6 | # Name or Organization
7 | # The email address is not required for organizations.
8 |
9 | # Please keep the list sorted.
10 |
11 | Amazon.com, Inc
12 | Damian Gryski
13 | Eric Buth
14 | Google Inc.
15 | Jan Mercl <0xjnml@gmail.com>
16 | Klaus Post
17 | Rodolfo Carvalho
18 | Sebastien Binet
19 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/snappy/README.md:
--------------------------------------------------------------------------------
1 | # snappy
2 |
3 | The Snappy compression format in the Go programming language.
4 |
5 | This is a drop-in replacement for `github.com/golang/snappy`.
6 |
7 | It provides a full, compatible replacement of the Snappy package by simply changing imports.
8 |
9 | See [Snappy Compatibility](https://github.com/klauspost/compress/tree/master/s2#snappy-compatibility) in the S2 documentation.
10 |
11 | "Better" compression mode is used. For buffered streams concurrent compression is used.
12 |
13 | For more options use the [s2 package](https://pkg.go.dev/github.com/klauspost/compress/s2).
14 |
15 | # usage
16 |
17 | Replace imports `github.com/golang/snappy` with `github.com/klauspost/compress/snappy`.
18 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_asm.go:
--------------------------------------------------------------------------------
1 | //go:build (amd64 || arm64) && !appengine && gc && !purego && !noasm
2 | // +build amd64 arm64
3 | // +build !appengine
4 | // +build gc
5 | // +build !purego
6 | // +build !noasm
7 |
8 | package xxhash
9 |
10 | // Sum64 computes the 64-bit xxHash digest of b.
11 | //
12 | //go:noescape
13 | func Sum64(b []byte) uint64
14 |
15 | //go:noescape
16 | func writeBlocks(s *Digest, b []byte) int
17 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_safe.go:
--------------------------------------------------------------------------------
1 | package xxhash
2 |
3 | // Sum64String computes the 64-bit xxHash digest of s.
4 | func Sum64String(s string) uint64 {
5 | return Sum64([]byte(s))
6 | }
7 |
8 | // WriteString adds more data to d. It always returns len(s), nil.
9 | func (d *Digest) WriteString(s string) (n int, err error) {
10 | return d.Write([]byte(s))
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/zstd/matchlen_amd64.go:
--------------------------------------------------------------------------------
1 | //go:build amd64 && !appengine && !noasm && gc
2 | // +build amd64,!appengine,!noasm,gc
3 |
4 | // Copyright 2019+ Klaus Post. All rights reserved.
5 | // License information can be found in the LICENSE file.
6 |
7 | package zstd
8 |
9 | // matchLen returns how many bytes match in a and b
10 | //
11 | // It assumes that:
12 | //
13 | // len(a) <= len(b) and len(a) > 0
14 | //
15 | //go:noescape
16 | func matchLen(a []byte, b []byte) int
17 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/compress/zstd/matchlen_generic.go:
--------------------------------------------------------------------------------
1 | //go:build !amd64 || appengine || !gc || noasm
2 | // +build !amd64 appengine !gc noasm
3 |
4 | // Copyright 2019+ Klaus Post. All rights reserved.
5 | // License information can be found in the LICENSE file.
6 |
7 | package zstd
8 |
9 | import (
10 | "encoding/binary"
11 | "math/bits"
12 | )
13 |
14 | // matchLen returns the maximum common prefix length of a and b.
15 | // a must be the shortest of the two.
16 | func matchLen(a, b []byte) (n int) {
17 | for ; len(a) >= 8 && len(b) >= 8; a, b = a[8:], b[8:] {
18 | diff := binary.LittleEndian.Uint64(a) ^ binary.LittleEndian.Uint64(b)
19 | if diff != 0 {
20 | return n + bits.TrailingZeros64(diff)>>3
21 | }
22 | n += 8
23 | }
24 |
25 | for i := range a {
26 | if a[i] != b[i] {
27 | break
28 | }
29 | n++
30 | }
31 | return n
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/vendor/github.com/kr/pretty/.gitignore:
--------------------------------------------------------------------------------
1 | [568].out
2 | _go*
3 | _test*
4 | _obj
5 | /.idea
6 |
--------------------------------------------------------------------------------
/vendor/github.com/kr/pretty/License:
--------------------------------------------------------------------------------
1 | Copyright 2012 Keith Rarick
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/vendor/github.com/kr/pretty/Readme:
--------------------------------------------------------------------------------
1 | package pretty
2 |
3 | import "github.com/kr/pretty"
4 |
5 | Package pretty provides pretty-printing for Go values.
6 |
7 | Documentation
8 |
9 | http://godoc.org/github.com/kr/pretty
10 |
--------------------------------------------------------------------------------
/vendor/github.com/kr/text/License:
--------------------------------------------------------------------------------
1 | Copyright 2012 Keith Rarick
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/vendor/github.com/kr/text/Readme:
--------------------------------------------------------------------------------
1 | This is a Go package for manipulating paragraphs of text.
2 |
3 | See http://go.pkgdoc.org/github.com/kr/text for full documentation.
4 |
--------------------------------------------------------------------------------
/vendor/github.com/kr/text/doc.go:
--------------------------------------------------------------------------------
1 | // Package text provides rudimentary functions for manipulating text in
2 | // paragraphs.
3 | package text
4 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-runewidth/README.md:
--------------------------------------------------------------------------------
1 | go-runewidth
2 | ============
3 |
4 | [](https://github.com/mattn/go-runewidth/actions?query=workflow%3Atest)
5 | [](https://codecov.io/gh/mattn/go-runewidth)
6 | [](http://godoc.org/github.com/mattn/go-runewidth)
7 | [](https://goreportcard.com/report/github.com/mattn/go-runewidth)
8 |
9 | Provides functions to get fixed width of the character or string.
10 |
11 | Usage
12 | -----
13 |
14 | ```go
15 | runewidth.StringWidth("つのだ☆HIRO") == 12
16 | ```
17 |
18 |
19 | Author
20 | ------
21 |
22 | Yasuhiro Matsumoto
23 |
24 | License
25 | -------
26 |
27 | under the MIT License: http://mattn.mit-license.org/2013
28 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-runewidth/runewidth_appengine.go:
--------------------------------------------------------------------------------
1 | //go:build appengine
2 | // +build appengine
3 |
4 | package runewidth
5 |
6 | // IsEastAsian return true if the current locale is CJK
7 | func IsEastAsian() bool {
8 | return false
9 | }
10 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-runewidth/runewidth_js.go:
--------------------------------------------------------------------------------
1 | //go:build js && !appengine
2 | // +build js,!appengine
3 |
4 | package runewidth
5 |
6 | func IsEastAsian() bool {
7 | // TODO: Implement this for the web. Detect east asian in a compatible way, and return true.
8 | return false
9 | }
10 |
--------------------------------------------------------------------------------
/vendor/github.com/mattn/go-runewidth/runewidth_windows.go:
--------------------------------------------------------------------------------
1 | //go:build windows && !appengine
2 | // +build windows,!appengine
3 |
4 | package runewidth
5 |
6 | import (
7 | "syscall"
8 | )
9 |
10 | var (
11 | kernel32 = syscall.NewLazyDLL("kernel32")
12 | procGetConsoleOutputCP = kernel32.NewProc("GetConsoleOutputCP")
13 | )
14 |
15 | // IsEastAsian return true if the current locale is CJK
16 | func IsEastAsian() bool {
17 | r1, _, _ := procGetConsoleOutputCP.Call()
18 | if r1 == 0 {
19 | return false
20 | }
21 |
22 | switch int(r1) {
23 | case 932, 51932, 936, 949, 950:
24 | return true
25 | }
26 |
27 | return false
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/github.com/mohae/deepcopy/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *~
25 | *.out
26 | *.log
27 |
--------------------------------------------------------------------------------
/vendor/github.com/mohae/deepcopy/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 |
3 | go:
4 | - tip
5 |
6 | matrix:
7 | allow_failures:
8 | - go: tip
9 |
10 | script:
11 | - go test ./...
12 |
--------------------------------------------------------------------------------
/vendor/github.com/mohae/deepcopy/README.md:
--------------------------------------------------------------------------------
1 | deepCopy
2 | ========
3 | [](https://godoc.org/github.com/mohae/deepcopy)[](https://travis-ci.org/mohae/deepcopy)
4 |
5 | DeepCopy makes deep copies of things: unexported field values are not copied.
6 |
7 | ## Usage
8 | cpy := deepcopy.Copy(orig)
9 |
--------------------------------------------------------------------------------
/vendor/github.com/olekukonko/tablewriter/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | ### Go template
3 | # Binaries for programs and plugins
4 | *.exe
5 | *.exe~
6 | *.dll
7 | *.so
8 | *.dylib
9 |
10 | # Test binary, build with `go test -c`
11 | *.test
12 |
13 | # Output of the go coverage tool, specifically when used with LiteIDE
14 | *.out
15 |
16 |
--------------------------------------------------------------------------------
/vendor/github.com/olekukonko/tablewriter/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | arch:
3 | - ppc64le
4 | - amd64
5 | go:
6 | - 1.3
7 | - 1.4
8 | - 1.5
9 | - 1.6
10 | - 1.7
11 | - 1.8
12 | - 1.9
13 | - "1.10"
14 | - tip
15 | jobs:
16 | exclude :
17 | - arch : ppc64le
18 | go :
19 | - 1.3
20 | - arch : ppc64le
21 | go :
22 | - 1.4
23 |
--------------------------------------------------------------------------------
/vendor/github.com/olekukonko/tablewriter/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (C) 2014 by Oleku Konko
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/vendor/github.com/pierrec/lz4/v4/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by https://www.gitignore.io/api/macos
2 |
3 | ### macOS ###
4 | *.DS_Store
5 | .AppleDouble
6 | .LSOverride
7 |
8 | # Icon must end with two \r
9 | Icon
10 |
11 |
12 | # Thumbnails
13 | ._*
14 |
15 | # Files that might appear in the root of a volume
16 | .DocumentRevisions-V100
17 | .fseventsd
18 | .Spotlight-V100
19 | .TemporaryItems
20 | .Trashes
21 | .VolumeIcon.icns
22 | .com.apple.timemachine.donotpresent
23 |
24 | # Directories potentially created on remote AFP share
25 | .AppleDB
26 | .AppleDesktop
27 | Network Trash Folder
28 | Temporary Items
29 | .apdisk
30 |
31 | # End of https://www.gitignore.io/api/macos
32 |
33 | cmd/*/*exe
34 | .idea
35 |
36 | fuzz/*.zip
37 |
--------------------------------------------------------------------------------
/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_asm.go:
--------------------------------------------------------------------------------
1 | //go:build (amd64 || arm || arm64) && !appengine && gc && !noasm
2 | // +build amd64 arm arm64
3 | // +build !appengine
4 | // +build gc
5 | // +build !noasm
6 |
7 | package lz4block
8 |
9 | //go:noescape
10 | func decodeBlock(dst, src, dict []byte) int
11 |
--------------------------------------------------------------------------------
/vendor/github.com/pierrec/lz4/v4/internal/lz4errors/errors.go:
--------------------------------------------------------------------------------
1 | package lz4errors
2 |
3 | type Error string
4 |
5 | func (e Error) Error() string { return string(e) }
6 |
7 | const (
8 | ErrInvalidSourceShortBuffer Error = "lz4: invalid source or destination buffer too short"
9 | ErrInvalidFrame Error = "lz4: bad magic number"
10 | ErrInternalUnhandledState Error = "lz4: unhandled state"
11 | ErrInvalidHeaderChecksum Error = "lz4: invalid header checksum"
12 | ErrInvalidBlockChecksum Error = "lz4: invalid block checksum"
13 | ErrInvalidFrameChecksum Error = "lz4: invalid frame checksum"
14 | ErrOptionInvalidCompressionLevel Error = "lz4: invalid compression level"
15 | ErrOptionClosedOrError Error = "lz4: cannot apply options on closed or in error object"
16 | ErrOptionInvalidBlockSize Error = "lz4: invalid block size"
17 | ErrOptionNotApplicable Error = "lz4: option not applicable"
18 | ErrWriterNotClosed Error = "lz4: writer not closed"
19 | )
20 |
--------------------------------------------------------------------------------
/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero_arm.go:
--------------------------------------------------------------------------------
1 | // +build !noasm
2 |
3 | package xxh32
4 |
5 | // ChecksumZero returns the 32-bit hash of input.
6 | //
7 | //go:noescape
8 | func ChecksumZero(input []byte) uint32
9 |
10 | //go:noescape
11 | func update(v *[4]uint32, buf *[16]byte, input []byte)
12 |
--------------------------------------------------------------------------------
/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero_other.go:
--------------------------------------------------------------------------------
1 | // +build !arm noasm
2 |
3 | package xxh32
4 |
5 | // ChecksumZero returns the 32-bit hash of input.
6 | func ChecksumZero(input []byte) uint32 { return checksumZeroGo(input) }
7 |
8 | func update(v *[4]uint32, buf *[16]byte, input []byte) {
9 | updateGo(v, buf, input)
10 | }
11 |
--------------------------------------------------------------------------------
/vendor/github.com/pierrec/lz4/v4/state_gen.go:
--------------------------------------------------------------------------------
1 | // Code generated by "stringer -type=aState -output state_gen.go"; DO NOT EDIT.
2 |
3 | package lz4
4 |
5 | import "strconv"
6 |
7 | func _() {
8 | // An "invalid array index" compiler error signifies that the constant values have changed.
9 | // Re-run the stringer command to generate them again.
10 | var x [1]struct{}
11 | _ = x[noState-0]
12 | _ = x[errorState-1]
13 | _ = x[newState-2]
14 | _ = x[readState-3]
15 | _ = x[writeState-4]
16 | _ = x[closedState-5]
17 | }
18 |
19 | const _aState_name = "noStateerrorStatenewStatereadStatewriteStateclosedState"
20 |
21 | var _aState_index = [...]uint8{0, 7, 17, 25, 34, 44, 55}
22 |
23 | func (i aState) String() string {
24 | if i >= aState(len(_aState_index)-1) {
25 | return "aState(" + strconv.FormatInt(int64(i), 10) + ")"
26 | }
27 | return _aState_name[_aState_index[i]:_aState_index[i+1]]
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/github.com/pkg/profile/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | go_import_path: github.com/pkg/profile
3 | go:
4 | - 1.13.x
5 | - 1.14.x
6 | - tip
7 |
8 | script:
9 | - go test -race github.com/pkg/profile
10 |
--------------------------------------------------------------------------------
/vendor/github.com/pkg/profile/AUTHORS:
--------------------------------------------------------------------------------
1 | Dave Cheney
2 |
--------------------------------------------------------------------------------
/vendor/github.com/rogpeppe/go-internal/fmtsort/mapelem.go:
--------------------------------------------------------------------------------
1 | package fmtsort
2 |
3 | import "reflect"
4 |
5 | const brokenNaNs = false
6 |
7 | func mapElems(mapValue reflect.Value) ([]reflect.Value, []reflect.Value) {
8 | // Note: this code is arranged to not panic even in the presence
9 | // of a concurrent map update. The runtime is responsible for
10 | // yelling loudly if that happens. See issue 33275.
11 | n := mapValue.Len()
12 | key := make([]reflect.Value, 0, n)
13 | value := make([]reflect.Value, 0, n)
14 | iter := mapValue.MapRange()
15 | for iter.Next() {
16 | key = append(key, iter.Key())
17 | value = append(value, iter.Value())
18 | }
19 | return key, value
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/github.com/satori/go.uuid/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | sudo: false
3 | go:
4 | - 1.2
5 | - 1.3
6 | - 1.4
7 | - 1.5
8 | - 1.6
9 | - 1.7
10 | - 1.8
11 | - 1.9
12 | - tip
13 | matrix:
14 | allow_failures:
15 | - go: tip
16 | fast_finish: true
17 | before_install:
18 | - go get github.com/mattn/goveralls
19 | - go get golang.org/x/tools/cmd/cover
20 | script:
21 | - $HOME/gopath/bin/goveralls -service=travis-ci
22 | notifications:
23 | email: false
24 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/.gitattributes:
--------------------------------------------------------------------------------
1 | fixtures/*.hex binary
2 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *.prof
25 | /kafkacli
26 |
27 | # Emacs
28 | *~
29 |
30 | # VIM
31 | *.swp
32 |
33 | # Goland
34 | .idea
35 |
36 | #IntelliJ
37 | *.iml
38 |
39 | # govendor
40 | /vendor/*/
41 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/.golangci.yml:
--------------------------------------------------------------------------------
1 | linters:
2 | enable:
3 | - bodyclose
4 | - errorlint
5 | - goconst
6 | - godot
7 | - gofmt
8 | - goimports
9 | - prealloc
10 |
11 | disable:
12 | # Temporarily disabling so it can be addressed in a dedicated PR.
13 | - errcheck
14 | - goerr113
15 |
16 | linters-settings:
17 | goconst:
18 | ignore-tests: true
19 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/Makefile:
--------------------------------------------------------------------------------
1 | test:
2 | KAFKA_SKIP_NETTEST=1 \
3 | KAFKA_VERSION=2.3.1 \
4 | go test -race -cover ./...
5 |
6 | docker:
7 | docker-compose up -d
8 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/buffer.go:
--------------------------------------------------------------------------------
1 | package kafka
2 |
3 | import (
4 | "bytes"
5 | "sync"
6 | )
7 |
8 | var bufferPool = sync.Pool{
9 | New: func() interface{} { return newBuffer() },
10 | }
11 |
12 | func newBuffer() *bytes.Buffer {
13 | b := new(bytes.Buffer)
14 | b.Grow(65536)
15 | return b
16 | }
17 |
18 | func acquireBuffer() *bytes.Buffer {
19 | return bufferPool.Get().(*bytes.Buffer)
20 | }
21 |
22 | func releaseBuffer(b *bytes.Buffer) {
23 | if b != nil {
24 | b.Reset()
25 | bufferPool.Put(b)
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/compression.go:
--------------------------------------------------------------------------------
1 | package kafka
2 |
3 | import (
4 | "errors"
5 |
6 | "github.com/segmentio/kafka-go/compress"
7 | )
8 |
9 | type Compression = compress.Compression
10 |
11 | const (
12 | Gzip Compression = compress.Gzip
13 | Snappy Compression = compress.Snappy
14 | Lz4 Compression = compress.Lz4
15 | Zstd Compression = compress.Zstd
16 | )
17 |
18 | type CompressionCodec = compress.Codec
19 |
20 | var (
21 | errUnknownCodec = errors.New("the compression code is invalid or its codec has not been imported")
22 | )
23 |
24 | // resolveCodec looks up a codec by Code().
25 | func resolveCodec(code int8) (CompressionCodec, error) {
26 | codec := compress.Compression(code).Codec()
27 | if codec == nil {
28 | return nil, errUnknownCodec
29 | }
30 | return codec, nil
31 | }
32 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/discard.go:
--------------------------------------------------------------------------------
1 | package kafka
2 |
3 | import "bufio"
4 |
5 | func discardN(r *bufio.Reader, sz int, n int) (int, error) {
6 | var err error
7 | if n <= sz {
8 | n, err = r.Discard(n)
9 | } else {
10 | n, err = r.Discard(sz)
11 | if err == nil {
12 | err = errShortRead
13 | }
14 | }
15 | return sz - n, err
16 | }
17 |
18 | func discardInt32(r *bufio.Reader, sz int) (int, error) {
19 | return discardN(r, sz, 4)
20 | }
21 |
22 | func discardString(r *bufio.Reader, sz int) (int, error) {
23 | return readStringWith(r, sz, func(r *bufio.Reader, sz int, n int) (int, error) {
24 | if n < 0 {
25 | return sz, nil
26 | }
27 | return discardN(r, sz, n)
28 | })
29 | }
30 |
31 | func discardBytes(r *bufio.Reader, sz int) (int, error) {
32 | return readBytesWith(r, sz, func(r *bufio.Reader, sz int, n int) (int, error) {
33 | if n < 0 {
34 | return sz, nil
35 | }
36 | return discardN(r, sz, n)
37 | })
38 | }
39 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/logger.go:
--------------------------------------------------------------------------------
1 | package kafka
2 |
3 | // Logger interface API for log.Logger.
4 | type Logger interface {
5 | Printf(string, ...interface{})
6 | }
7 |
8 | // LoggerFunc is a bridge between Logger and any third party logger
9 | // Usage:
10 | // l := NewLogger() // some logger
11 | // r := kafka.NewReader(kafka.ReaderConfig{
12 | // Logger: kafka.LoggerFunc(l.Infof),
13 | // ErrorLogger: kafka.LoggerFunc(l.Errorf),
14 | // })
15 | type LoggerFunc func(string, ...interface{})
16 |
17 | func (f LoggerFunc) Printf(msg string, args ...interface{}) { f(msg, args...) }
18 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/protocol/apiversions/apiversions.go:
--------------------------------------------------------------------------------
1 | package apiversions
2 |
3 | import "github.com/segmentio/kafka-go/protocol"
4 |
5 | func init() {
6 | protocol.Register(&Request{}, &Response{})
7 | }
8 |
9 | type Request struct {
10 | _ struct{} `kafka:"min=v0,max=v2"`
11 | }
12 |
13 | func (r *Request) ApiKey() protocol.ApiKey { return protocol.ApiVersions }
14 |
15 | type Response struct {
16 | ErrorCode int16 `kafka:"min=v0,max=v2"`
17 | ApiKeys []ApiKeyResponse `kafka:"min=v0,max=v2"`
18 | ThrottleTimeMs int32 `kafka:"min=v1,max=v2"`
19 | }
20 |
21 | func (r *Response) ApiKey() protocol.ApiKey { return protocol.ApiVersions }
22 |
23 | type ApiKeyResponse struct {
24 | ApiKey int16 `kafka:"min=v0,max=v2"`
25 | MinVersion int16 `kafka:"min=v0,max=v2"`
26 | MaxVersion int16 `kafka:"min=v0,max=v2"`
27 | }
28 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/protocol/consumer/consumer.go:
--------------------------------------------------------------------------------
1 | package consumer
2 |
3 | const MaxVersionSupported = 1
4 |
5 | type Subscription struct {
6 | Version int16 `kafka:"min=v0,max=v1"`
7 | Topics []string `kafka:"min=v0,max=v1"`
8 | UserData []byte `kafka:"min=v0,max=v1,nullable"`
9 | OwnedPartitions []TopicPartition `kafka:"min=v1,max=v1"`
10 | }
11 |
12 | type Assignment struct {
13 | Version int16 `kafka:"min=v0,max=v1"`
14 | AssignedPartitions []TopicPartition `kafka:"min=v0,max=v1"`
15 | UserData []byte `kafka:"min=v0,max=v1,nullable"`
16 | }
17 |
18 | type TopicPartition struct {
19 | Topic string `kafka:"min=v0,max=v1"`
20 | Partitions []int32 `kafka:"min=v0,max=v1"`
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/protocol/deletetopics/deletetopics.go:
--------------------------------------------------------------------------------
1 | package deletetopics
2 |
3 | import "github.com/segmentio/kafka-go/protocol"
4 |
5 | func init() {
6 | protocol.Register(&Request{}, &Response{})
7 | }
8 |
9 | type Request struct {
10 | TopicNames []string `kafka:"min=v0,max=v3"`
11 | TimeoutMs int32 `kafka:"min=v0,max=v3"`
12 | }
13 |
14 | func (r *Request) ApiKey() protocol.ApiKey { return protocol.DeleteTopics }
15 |
16 | func (r *Request) Broker(cluster protocol.Cluster) (protocol.Broker, error) {
17 | return cluster.Brokers[cluster.Controller], nil
18 | }
19 |
20 | type Response struct {
21 | ThrottleTimeMs int32 `kafka:"min=v1,max=v3"`
22 | Responses []ResponseTopic `kafka:"min=v0,max=v3"`
23 | }
24 |
25 | func (r *Response) ApiKey() protocol.ApiKey { return protocol.DeleteTopics }
26 |
27 | type ResponseTopic struct {
28 | Name string `kafka:"min=v0,max=v3"`
29 | ErrorCode int16 `kafka:"min=v0,max=v3"`
30 | }
31 |
32 | var (
33 | _ protocol.BrokerMessage = (*Request)(nil)
34 | )
35 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/protocol/findcoordinator/findcoordinator.go:
--------------------------------------------------------------------------------
1 | package findcoordinator
2 |
3 | import "github.com/segmentio/kafka-go/protocol"
4 |
5 | func init() {
6 | protocol.Register(&Request{}, &Response{})
7 | }
8 |
9 | type Request struct {
10 | Key string `kafka:"min=v0,max=v2"`
11 | KeyType int8 `kafka:"min=v1,max=v2"`
12 | }
13 |
14 | func (r *Request) ApiKey() protocol.ApiKey { return protocol.FindCoordinator }
15 |
16 | type Response struct {
17 | ThrottleTimeMs int32 `kafka:"min=v1,max=v2"`
18 | ErrorCode int16 `kafka:"min=v0,max=v2"`
19 | ErrorMessage string `kafka:"min=v1,max=v2,nullable"`
20 | NodeID int32 `kafka:"min=v0,max=v2"`
21 | Host string `kafka:"min=v0,max=v2"`
22 | Port int32 `kafka:"min=v0,max=v2"`
23 | }
24 |
25 | func (r *Response) ApiKey() protocol.ApiKey { return protocol.FindCoordinator }
26 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/protocol/roundtrip.go:
--------------------------------------------------------------------------------
1 | package protocol
2 |
3 | import (
4 | "io"
5 | )
6 |
7 | // RoundTrip sends a request to a kafka broker and returns the response.
8 | func RoundTrip(rw io.ReadWriter, apiVersion int16, correlationID int32, clientID string, req Message) (Message, error) {
9 | if err := WriteRequest(rw, apiVersion, correlationID, clientID, req); err != nil {
10 | return nil, err
11 | }
12 | if !hasResponse(req) {
13 | return nil, nil
14 | }
15 | id, res, err := ReadResponse(rw, req.ApiKey(), apiVersion)
16 | if err != nil {
17 | return nil, err
18 | }
19 | if id != correlationID {
20 | return nil, Errorf("correlation id mismatch (expected=%d, found=%d)", correlationID, id)
21 | }
22 | return res, nil
23 | }
24 |
25 | func hasResponse(msg Message) bool {
26 | x, _ := msg.(interface{ HasResponse() bool })
27 | return x == nil || x.HasResponse()
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/protocol/saslhandshake/saslhandshake.go:
--------------------------------------------------------------------------------
1 | package saslhandshake
2 |
3 | import "github.com/segmentio/kafka-go/protocol"
4 |
5 | func init() {
6 | protocol.Register(&Request{}, &Response{})
7 | }
8 |
9 | type Request struct {
10 | Mechanism string `kafka:"min=v0,max=v1"`
11 | }
12 |
13 | func (r *Request) ApiKey() protocol.ApiKey { return protocol.SaslHandshake }
14 |
15 | type Response struct {
16 | ErrorCode int16 `kafka:"min=v0,max=v1"`
17 | Mechanisms []string `kafka:"min=v0,max=v1"`
18 | }
19 |
20 | func (r *Response) ApiKey() protocol.ApiKey { return protocol.SaslHandshake }
21 |
--------------------------------------------------------------------------------
/vendor/github.com/segmentio/kafka-go/protocol/size.go:
--------------------------------------------------------------------------------
1 | package protocol
2 |
3 | import (
4 | "math/bits"
5 | )
6 |
7 | func sizeOfVarString(s string) int {
8 | return sizeOfVarInt(int64(len(s))) + len(s)
9 | }
10 |
11 | func sizeOfVarNullBytes(b []byte) int {
12 | if b == nil {
13 | return sizeOfVarInt(-1)
14 | }
15 | n := len(b)
16 | return sizeOfVarInt(int64(n)) + n
17 | }
18 |
19 | func sizeOfVarNullBytesIface(b Bytes) int {
20 | if b == nil {
21 | return sizeOfVarInt(-1)
22 | }
23 | n := b.Len()
24 | return sizeOfVarInt(int64(n)) + n
25 | }
26 |
27 | func sizeOfVarInt(i int64) int {
28 | return sizeOfUnsignedVarInt(uint64((i << 1) ^ (i >> 63))) // zig-zag encoding
29 | }
30 |
31 | func sizeOfUnsignedVarInt(i uint64) int {
32 | return (bits.Len64(i|1) + 6) / 7
33 | }
34 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/.gitignore:
--------------------------------------------------------------------------------
1 | logrus
2 | vendor
3 |
4 | .idea/
5 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | go_import_path: github.com/sirupsen/logrus
3 | git:
4 | depth: 1
5 | env:
6 | - GO111MODULE=on
7 | go: 1.15.x
8 | os: linux
9 | install:
10 | - ./travis/install.sh
11 | script:
12 | - cd ci
13 | - go run mage.go -v -w ../ crossBuild
14 | - go run mage.go -v -w ../ lint
15 | - go run mage.go -v -w ../ test
16 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/appveyor.yml:
--------------------------------------------------------------------------------
1 | version: "{build}"
2 | platform: x64
3 | clone_folder: c:\gopath\src\github.com\sirupsen\logrus
4 | environment:
5 | GOPATH: c:\gopath
6 | branches:
7 | only:
8 | - master
9 | install:
10 | - set PATH=%GOPATH%\bin;c:\go\bin;%PATH%
11 | - go version
12 | build_script:
13 | - go get -t
14 | - go test
15 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/buffer_pool.go:
--------------------------------------------------------------------------------
1 | package logrus
2 |
3 | import (
4 | "bytes"
5 | "sync"
6 | )
7 |
8 | var (
9 | bufferPool BufferPool
10 | )
11 |
12 | type BufferPool interface {
13 | Put(*bytes.Buffer)
14 | Get() *bytes.Buffer
15 | }
16 |
17 | type defaultPool struct {
18 | pool *sync.Pool
19 | }
20 |
21 | func (p *defaultPool) Put(buf *bytes.Buffer) {
22 | p.pool.Put(buf)
23 | }
24 |
25 | func (p *defaultPool) Get() *bytes.Buffer {
26 | return p.pool.Get().(*bytes.Buffer)
27 | }
28 |
29 | // SetBufferPool allows to replace the default logrus buffer pool
30 | // to better meets the specific needs of an application.
31 | func SetBufferPool(bp BufferPool) {
32 | bufferPool = bp
33 | }
34 |
35 | func init() {
36 | SetBufferPool(&defaultPool{
37 | pool: &sync.Pool{
38 | New: func() interface{} {
39 | return new(bytes.Buffer)
40 | },
41 | },
42 | })
43 | }
44 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/doc.go:
--------------------------------------------------------------------------------
1 | /*
2 | Package logrus is a structured logger for Go, completely API compatible with the standard library logger.
3 |
4 |
5 | The simplest way to use Logrus is simply the package-level exported logger:
6 |
7 | package main
8 |
9 | import (
10 | log "github.com/sirupsen/logrus"
11 | )
12 |
13 | func main() {
14 | log.WithFields(log.Fields{
15 | "animal": "walrus",
16 | "number": 1,
17 | "size": 10,
18 | }).Info("A walrus appears")
19 | }
20 |
21 | Output:
22 | time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10
23 |
24 | For a full guide visit https://github.com/sirupsen/logrus
25 | */
26 | package logrus
27 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go:
--------------------------------------------------------------------------------
1 | // +build appengine
2 |
3 | package logrus
4 |
5 | import (
6 | "io"
7 | )
8 |
9 | func checkIfTerminal(w io.Writer) bool {
10 | return true
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go:
--------------------------------------------------------------------------------
1 | // +build darwin dragonfly freebsd netbsd openbsd hurd
2 | // +build !js
3 |
4 | package logrus
5 |
6 | import "golang.org/x/sys/unix"
7 |
8 | const ioctlReadTermios = unix.TIOCGETA
9 |
10 | func isTerminal(fd int) bool {
11 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
12 | return err == nil
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_js.go:
--------------------------------------------------------------------------------
1 | // +build js
2 |
3 | package logrus
4 |
5 | func isTerminal(fd int) bool {
6 | return false
7 | }
8 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go:
--------------------------------------------------------------------------------
1 | // +build js nacl plan9
2 |
3 | package logrus
4 |
5 | import (
6 | "io"
7 | )
8 |
9 | func checkIfTerminal(w io.Writer) bool {
10 | return false
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go:
--------------------------------------------------------------------------------
1 | // +build !appengine,!js,!windows,!nacl,!plan9
2 |
3 | package logrus
4 |
5 | import (
6 | "io"
7 | "os"
8 | )
9 |
10 | func checkIfTerminal(w io.Writer) bool {
11 | switch v := w.(type) {
12 | case *os.File:
13 | return isTerminal(int(v.Fd()))
14 | default:
15 | return false
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go:
--------------------------------------------------------------------------------
1 | package logrus
2 |
3 | import (
4 | "golang.org/x/sys/unix"
5 | )
6 |
7 | // IsTerminal returns true if the given file descriptor is a terminal.
8 | func isTerminal(fd int) bool {
9 | _, err := unix.IoctlGetTermio(fd, unix.TCGETA)
10 | return err == nil
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_unix.go:
--------------------------------------------------------------------------------
1 | //go:build (linux || aix || zos) && !js && !wasi
2 | // +build linux aix zos
3 | // +build !js
4 | // +build !wasi
5 |
6 | package logrus
7 |
8 | import "golang.org/x/sys/unix"
9 |
10 | const ioctlReadTermios = unix.TCGETS
11 |
12 | func isTerminal(fd int) bool {
13 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
14 | return err == nil
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_wasi.go:
--------------------------------------------------------------------------------
1 | //go:build wasi
2 | // +build wasi
3 |
4 | package logrus
5 |
6 | func isTerminal(fd int) bool {
7 | return false
8 | }
9 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_wasip1.go:
--------------------------------------------------------------------------------
1 | //go:build wasip1
2 | // +build wasip1
3 |
4 | package logrus
5 |
6 | func isTerminal(fd int) bool {
7 | return false
8 | }
9 |
--------------------------------------------------------------------------------
/vendor/github.com/sirupsen/logrus/terminal_check_windows.go:
--------------------------------------------------------------------------------
1 | // +build !appengine,!js,windows
2 |
3 | package logrus
4 |
5 | import (
6 | "io"
7 | "os"
8 |
9 | "golang.org/x/sys/windows"
10 | )
11 |
12 | func checkIfTerminal(w io.Writer) bool {
13 | switch v := w.(type) {
14 | case *os.File:
15 | handle := windows.Handle(v.Fd())
16 | var mode uint32
17 | if err := windows.GetConsoleMode(handle, &mode); err != nil {
18 | return false
19 | }
20 | mode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING
21 | if err := windows.SetConsoleMode(handle, mode); err != nil {
22 | return false
23 | }
24 | return true
25 | }
26 | return false
27 | }
28 |
--------------------------------------------------------------------------------
/vendor/github.com/skratchdot/open-golang/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013 skratchdot
2 |
3 | Permission is hereby granted, free of charge, to any person
4 | obtaining a copy of this software and associated documentation
5 | files (the "Software"), to deal in the Software without
6 | restriction, including without limitation the rights to use,
7 | copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the
9 | Software is furnished to do so, subject to the following
10 | conditions:
11 |
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/vendor/github.com/skratchdot/open-golang/open/exec.go:
--------------------------------------------------------------------------------
1 | // +build !windows,!darwin
2 |
3 | package open
4 |
5 | import (
6 | "os/exec"
7 | )
8 |
9 | // http://sources.debian.net/src/xdg-utils/1.1.0~rc1%2Bgit20111210-7.1/scripts/xdg-open/
10 | // http://sources.debian.net/src/xdg-utils/1.1.0~rc1%2Bgit20111210-7.1/scripts/xdg-mime/
11 |
12 | func open(input string) *exec.Cmd {
13 | return exec.Command("xdg-open", input)
14 | }
15 |
16 | func openWith(input string, appName string) *exec.Cmd {
17 | return exec.Command(appName, input)
18 | }
19 |
--------------------------------------------------------------------------------
/vendor/github.com/skratchdot/open-golang/open/exec_darwin.go:
--------------------------------------------------------------------------------
1 | // +build darwin
2 |
3 | package open
4 |
5 | import (
6 | "os/exec"
7 | )
8 |
9 | func open(input string) *exec.Cmd {
10 | return exec.Command("open", input)
11 | }
12 |
13 | func openWith(input string, appName string) *exec.Cmd {
14 | return exec.Command("open", "-a", appName, input)
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/github.com/skratchdot/open-golang/open/exec_windows.go:
--------------------------------------------------------------------------------
1 | // +build windows
2 |
3 | package open
4 |
5 | import (
6 | "os"
7 | "os/exec"
8 | "path/filepath"
9 | "strings"
10 | // "syscall"
11 | )
12 |
13 | var (
14 | cmd = "url.dll,FileProtocolHandler"
15 | runDll32 = filepath.Join(os.Getenv("SYSTEMROOT"), "System32", "rundll32.exe")
16 | )
17 |
18 | func cleaninput(input string) string {
19 | r := strings.NewReplacer("&", "^&")
20 | return r.Replace(input)
21 | }
22 |
23 | func open(input string) *exec.Cmd {
24 | cmd := exec.Command(runDll32, cmd, input)
25 | //cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
26 | return cmd
27 | }
28 |
29 | func openWith(input string, appName string) *exec.Cmd {
30 | cmd := exec.Command("cmd", "/C", "start", "", appName, cleaninput(input))
31 | //cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
32 | return cmd
33 | }
34 |
--------------------------------------------------------------------------------
/vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl:
--------------------------------------------------------------------------------
1 | {{.CommentFormat}}
2 | func {{.DocInfo.Name}}f(t TestingT, {{.ParamsFormat}}) bool {
3 | if h, ok := t.(tHelper); ok { h.Helper() }
4 | return {{.DocInfo.Name}}(t, {{.ForwardedParamsFormat}})
5 | }
6 |
--------------------------------------------------------------------------------
/vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl:
--------------------------------------------------------------------------------
1 | {{.CommentWithoutT "a"}}
2 | func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) bool {
3 | if h, ok := a.t.(tHelper); ok { h.Helper() }
4 | return {{.DocInfo.Name}}(a.t, {{.ForwardedParams}})
5 | }
6 |
--------------------------------------------------------------------------------
/vendor/github.com/stretchr/testify/assert/errors.go:
--------------------------------------------------------------------------------
1 | package assert
2 |
3 | import (
4 | "errors"
5 | )
6 |
7 | // AnError is an error instance useful for testing. If the code does not care
8 | // about error specifics, and only needs to return the error for example, this
9 | // error should be used to make the test code more readable.
10 | var AnError = errors.New("assert.AnError general error for testing")
11 |
--------------------------------------------------------------------------------
/vendor/github.com/stretchr/testify/assert/forward_assertions.go:
--------------------------------------------------------------------------------
1 | package assert
2 |
3 | // Assertions provides assertion methods around the
4 | // TestingT interface.
5 | type Assertions struct {
6 | t TestingT
7 | }
8 |
9 | // New makes a new Assertions object for the specified TestingT.
10 | func New(t TestingT) *Assertions {
11 | return &Assertions{
12 | t: t,
13 | }
14 | }
15 |
16 | //go:generate sh -c "cd ../_codegen && go build && cd - && ../_codegen/_codegen -output-package=assert -template=assertion_forward.go.tmpl -include-format-funcs"
17 |
--------------------------------------------------------------------------------
/vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go:
--------------------------------------------------------------------------------
1 | //go:build testify_yaml_custom && !testify_yaml_fail && !testify_yaml_default
2 | // +build testify_yaml_custom,!testify_yaml_fail,!testify_yaml_default
3 |
4 | // Package yaml is an implementation of YAML functions that calls a pluggable implementation.
5 | //
6 | // This implementation is selected with the testify_yaml_custom build tag.
7 | //
8 | // go test -tags testify_yaml_custom
9 | //
10 | // This implementation can be used at build time to replace the default implementation
11 | // to avoid linking with [gopkg.in/yaml.v3].
12 | //
13 | // In your test package:
14 | //
15 | // import assertYaml "github.com/stretchr/testify/assert/yaml"
16 | //
17 | // func init() {
18 | // assertYaml.Unmarshal = func (in []byte, out interface{}) error {
19 | // // ...
20 | // return nil
21 | // }
22 | // }
23 | package yaml
24 |
25 | var Unmarshal func(in []byte, out interface{}) error
26 |
--------------------------------------------------------------------------------
/vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go:
--------------------------------------------------------------------------------
1 | //go:build testify_yaml_fail && !testify_yaml_custom && !testify_yaml_default
2 | // +build testify_yaml_fail,!testify_yaml_custom,!testify_yaml_default
3 |
4 | // Package yaml is an implementation of YAML functions that always fail.
5 | //
6 | // This implementation can be used at build time to replace the default implementation
7 | // to avoid linking with [gopkg.in/yaml.v3]:
8 | //
9 | // go test -tags testify_yaml_fail
10 | package yaml
11 |
12 | import "errors"
13 |
14 | var errNotImplemented = errors.New("YAML functions are not available (see https://pkg.go.dev/github.com/stretchr/testify/assert/yaml)")
15 |
16 | func Unmarshal([]byte, interface{}) error {
17 | return errNotImplemented
18 | }
19 |
--------------------------------------------------------------------------------
/vendor/github.com/yuin/gopher-lua/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 |
--------------------------------------------------------------------------------
/vendor/github.com/yuin/gopher-lua/Makefile:
--------------------------------------------------------------------------------
1 | .PHONY: build test glua
2 |
3 | build:
4 | ./_tools/go-inline *.go && go fmt . && go build
5 |
6 | glua: *.go pm/*.go cmd/glua/glua.go
7 | ./_tools/go-inline *.go && go fmt . && go build cmd/glua/glua.go
8 |
9 | test:
10 | ./_tools/go-inline *.go && go fmt . && go test
11 |
--------------------------------------------------------------------------------
/vendor/github.com/yuin/gopher-lua/ast/ast.go:
--------------------------------------------------------------------------------
1 | package ast
2 |
3 | type PositionHolder interface {
4 | Line() int
5 | SetLine(int)
6 | LastLine() int
7 | SetLastLine(int)
8 | }
9 |
10 | type Node struct {
11 | line int
12 | lastline int
13 | }
14 |
15 | func (self *Node) Line() int {
16 | return self.line
17 | }
18 |
19 | func (self *Node) SetLine(line int) {
20 | self.line = line
21 | }
22 |
23 | func (self *Node) LastLine() int {
24 | return self.lastline
25 | }
26 |
27 | func (self *Node) SetLastLine(line int) {
28 | self.lastline = line
29 | }
30 |
--------------------------------------------------------------------------------
/vendor/github.com/yuin/gopher-lua/ast/misc.go:
--------------------------------------------------------------------------------
1 | package ast
2 |
3 | type Field struct {
4 | Key Expr
5 | Value Expr
6 | }
7 |
8 | type ParList struct {
9 | HasVargs bool
10 | Names []string
11 | }
12 |
13 | type FuncName struct {
14 | Func Expr
15 | Receiver Expr
16 | Method string
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/github.com/yuin/gopher-lua/ast/token.go:
--------------------------------------------------------------------------------
1 | package ast
2 |
3 | import (
4 | "fmt"
5 | )
6 |
7 | type Position struct {
8 | Source string
9 | Line int
10 | Column int
11 | }
12 |
13 | type Token struct {
14 | Type int
15 | Name string
16 | Str string
17 | Pos Position
18 | }
19 |
20 | func (self *Token) String() string {
21 | return fmt.Sprintf("", self.Name, self.Str)
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/github.com/yuin/gopher-lua/config.go:
--------------------------------------------------------------------------------
1 | package lua
2 |
3 | import (
4 | "os"
5 | )
6 |
7 | var CompatVarArg = true
8 | var FieldsPerFlush = 50
9 | var RegistrySize = 256 * 20
10 | var RegistryGrowStep = 32
11 | var CallStackSize = 256
12 | var MaxTableGetLoop = 100
13 | var MaxArrayIndex = 67108864
14 |
15 | type LNumber float64
16 |
17 | const LNumberBit = 64
18 | const LNumberScanFormat = "%f"
19 | const LuaVersion = "Lua 5.1"
20 |
21 | var LuaPath = "LUA_PATH"
22 | var LuaLDir string
23 | var LuaPathDefault string
24 | var LuaOS string
25 | var LuaDirSep string
26 | var LuaPathSep = ";"
27 | var LuaPathMark = "?"
28 | var LuaExecDir = "!"
29 | var LuaIgMark = "-"
30 |
31 | func init() {
32 | if os.PathSeparator == '/' { // unix-like
33 | LuaOS = "unix"
34 | LuaLDir = "/usr/local/share/lua/5.1"
35 | LuaDirSep = "/"
36 | LuaPathDefault = "./?.lua;" + LuaLDir + "/?.lua;" + LuaLDir + "/?/init.lua"
37 | } else { // windows
38 | LuaOS = "windows"
39 | LuaLDir = "!\\lua"
40 | LuaDirSep = "\\"
41 | LuaPathDefault = ".\\?.lua;" + LuaLDir + "\\?.lua;" + LuaLDir + "\\?\\init.lua"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/vendor/github.com/yuin/gopher-lua/package.go:
--------------------------------------------------------------------------------
1 | // GopherLua: VM and compiler for Lua in Go
2 | package lua
3 |
4 | const PackageName = "GopherLua"
5 | const PackageVersion = "0.1"
6 | const PackageAuthors = "Yusuke Inuzuka"
7 | const PackageCopyRight = PackageName + " " + PackageVersion + " Copyright (C) 2015 -2017 " + PackageAuthors
8 |
--------------------------------------------------------------------------------
/vendor/github.com/yuin/gopher-lua/parse/Makefile:
--------------------------------------------------------------------------------
1 | all : parser.go
2 |
3 | parser.go : parser.go.y
4 | goyacc -o $@ parser.go.y; [ -f y.output ] && ( rm -f y.output )
5 |
6 | clean:
7 | rm -f parser.go
8 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/oauth2/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 |
3 | go:
4 | - tip
5 |
6 | install:
7 | - export GOPATH="$HOME/gopath"
8 | - mkdir -p "$GOPATH/src/golang.org/x"
9 | - mv "$TRAVIS_BUILD_DIR" "$GOPATH/src/golang.org/x/oauth2"
10 | - go get -v -t -d golang.org/x/oauth2/...
11 |
12 | script:
13 | - go test -v golang.org/x/oauth2/...
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/oauth2/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to Go
2 |
3 | Go is an open source project.
4 |
5 | It is the work of hundreds of contributors. We appreciate your help!
6 |
7 | ## Filing issues
8 |
9 | When [filing an issue](https://github.com/golang/oauth2/issues), make sure to answer these five questions:
10 |
11 | 1. What version of Go are you using (`go version`)?
12 | 2. What operating system and processor architecture are you using?
13 | 3. What did you do?
14 | 4. What did you expect to see?
15 | 5. What did you see instead?
16 |
17 | General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker.
18 | The gophers there will answer or ask you to file an issue if you've tripped over a bug.
19 |
20 | ## Contributing code
21 |
22 | Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html)
23 | before sending patches.
24 |
25 | Unless otherwise noted, the Go source files are distributed under
26 | the BSD-style license found in the LICENSE file.
27 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/oauth2/github/github.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Package github provides constants for using OAuth2 to access Github.
6 | package github // import "golang.org/x/oauth2/github"
7 |
8 | import (
9 | "golang.org/x/oauth2/endpoints"
10 | )
11 |
12 | // Endpoint is Github's OAuth 2.0 endpoint.
13 | var Endpoint = endpoints.GitHub
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/oauth2/internal/doc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Package internal contains support packages for oauth2 package.
6 | package internal
7 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/oauth2/internal/transport.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package internal
6 |
7 | import (
8 | "context"
9 | "net/http"
10 | )
11 |
12 | // HTTPClient is the context key to use with golang.org/x/net/context's
13 | // WithValue function to associate an *http.Client value with a context.
14 | var HTTPClient ContextKey
15 |
16 | // ContextKey is just an empty struct. It exists so HTTPClient can be
17 | // an immutable public variable with a unique type. It's immutable
18 | // because nobody else can create a ContextKey, being unexported.
19 | type ContextKey struct{}
20 |
21 | func ContextClient(ctx context.Context) *http.Client {
22 | if ctx != nil {
23 | if hc, ok := ctx.Value(HTTPClient).(*http.Client); ok {
24 | return hc
25 | }
26 | }
27 | return http.DefaultClient
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/.gitignore:
--------------------------------------------------------------------------------
1 | _obj/
2 | unix.test
3 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/aliases.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | type Signal = syscall.Signal
12 | type Errno = syscall.Errno
13 | type SysProcAttr = syscall.SysProcAttr
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build gc
6 |
7 | #include "textflag.h"
8 |
9 | //
10 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go
11 | //
12 |
13 | TEXT ·syscall6(SB),NOSPLIT,$0-88
14 | JMP syscall·syscall6(SB)
15 |
16 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88
17 | JMP syscall·rawSyscall6(SB)
18 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_386.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for 386 BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-28
15 | JMP syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40
18 | JMP syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52
21 | JMP syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28
24 | JMP syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
27 | JMP syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for AMD64 BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-56
15 | JMP syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
18 | JMP syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
21 | JMP syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
24 | JMP syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
27 | JMP syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_arm.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for ARM BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-28
15 | B syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40
18 | B syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52
21 | B syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28
24 | B syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
27 | B syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for ARM64 BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-56
15 | JMP syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
18 | JMP syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
21 | JMP syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
24 | JMP syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
27 | JMP syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | //
10 | // System call support for ppc64, BSD
11 | //
12 |
13 | // Just jump to package syscall's implementation for all these functions.
14 | // The runtime may know about them.
15 |
16 | TEXT ·Syscall(SB),NOSPLIT,$0-56
17 | JMP syscall·Syscall(SB)
18 |
19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
20 | JMP syscall·Syscall6(SB)
21 |
22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
23 | JMP syscall·Syscall9(SB)
24 |
25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
26 | JMP syscall·RawSyscall(SB)
27 |
28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
29 | JMP syscall·RawSyscall6(SB)
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for RISCV64 BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-56
15 | JMP syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
18 | JMP syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
21 | JMP syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
24 | JMP syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
27 | JMP syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && (ppc64 || ppc64le) && gc
6 |
7 | #include "textflag.h"
8 |
9 | //
10 | // System calls for ppc64, Linux
11 | //
12 |
13 | // Just jump to package syscall's implementation for all these functions.
14 | // The runtime may know about them.
15 |
16 | TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
17 | BL runtime·entersyscall(SB)
18 | MOVD a1+8(FP), R3
19 | MOVD a2+16(FP), R4
20 | MOVD a3+24(FP), R5
21 | MOVD R0, R6
22 | MOVD R0, R7
23 | MOVD R0, R8
24 | MOVD trap+0(FP), R9 // syscall entry
25 | SYSCALL R9
26 | MOVD R3, r1+32(FP)
27 | MOVD R4, r2+40(FP)
28 | BL runtime·exitsyscall(SB)
29 | RET
30 |
31 | TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
32 | MOVD a1+8(FP), R3
33 | MOVD a2+16(FP), R4
34 | MOVD a3+24(FP), R5
35 | MOVD R0, R6
36 | MOVD R0, R7
37 | MOVD R0, R8
38 | MOVD trap+0(FP), R9 // syscall entry
39 | SYSCALL R9
40 | MOVD R3, r1+32(FP)
41 | MOVD R4, r2+40(FP)
42 | RET
43 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build gc
6 |
7 | #include "textflag.h"
8 |
9 | //
10 | // System call support for mips64, OpenBSD
11 | //
12 |
13 | // Just jump to package syscall's implementation for all these functions.
14 | // The runtime may know about them.
15 |
16 | TEXT ·Syscall(SB),NOSPLIT,$0-56
17 | JMP syscall·Syscall(SB)
18 |
19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
20 | JMP syscall·Syscall6(SB)
21 |
22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
23 | JMP syscall·Syscall9(SB)
24 |
25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
26 | JMP syscall·RawSyscall(SB)
27 |
28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
29 | JMP syscall·RawSyscall6(SB)
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build gc
6 |
7 | #include "textflag.h"
8 |
9 | //
10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go
11 | //
12 |
13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88
14 | JMP syscall·sysvicall6(SB)
15 |
16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88
17 | JMP syscall·rawSysvicall6(SB)
18 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/auxv_unsupported.go:
--------------------------------------------------------------------------------
1 | // Copyright 2025 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !go1.21 && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos)
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | func Auxv() ([][2]uintptr, error) {
12 | return nil, syscall.ENOTSUP
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/bluetooth_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Bluetooth sockets and messages
6 |
7 | package unix
8 |
9 | // Bluetooth Protocols
10 | const (
11 | BTPROTO_L2CAP = 0
12 | BTPROTO_HCI = 1
13 | BTPROTO_SCO = 2
14 | BTPROTO_RFCOMM = 3
15 | BTPROTO_BNEP = 4
16 | BTPROTO_CMTP = 5
17 | BTPROTO_HIDP = 6
18 | BTPROTO_AVDTP = 7
19 | )
20 |
21 | const (
22 | HCI_CHANNEL_RAW = 0
23 | HCI_CHANNEL_USER = 1
24 | HCI_CHANNEL_MONITOR = 2
25 | HCI_CHANNEL_CONTROL = 3
26 | HCI_CHANNEL_LOGGING = 4
27 | )
28 |
29 | // Socketoption Level
30 | const (
31 | SOL_BLUETOOTH = 0x112
32 | SOL_HCI = 0x0
33 | SOL_L2CAP = 0x6
34 | SOL_RFCOMM = 0x12
35 | SOL_SCO = 0x11
36 | )
37 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/constants.go:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | package unix
8 |
9 | const (
10 | R_OK = 0x4
11 | W_OK = 0x2
12 | X_OK = 0x1
13 | )
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/dev_aix_ppc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix && ppc
6 |
7 | // Functions to access/create device major and minor numbers matching the
8 | // encoding used by AIX.
9 |
10 | package unix
11 |
12 | // Major returns the major component of a Linux device number.
13 | func Major(dev uint64) uint32 {
14 | return uint32((dev >> 16) & 0xffff)
15 | }
16 |
17 | // Minor returns the minor component of a Linux device number.
18 | func Minor(dev uint64) uint32 {
19 | return uint32(dev & 0xffff)
20 | }
21 |
22 | // Mkdev returns a Linux device number generated from the given major and minor
23 | // components.
24 | func Mkdev(major, minor uint32) uint64 {
25 | return uint64(((major) << 16) | (minor))
26 | }
27 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix && ppc64
6 |
7 | // Functions to access/create device major and minor numbers matching the
8 | // encoding used AIX.
9 |
10 | package unix
11 |
12 | // Major returns the major component of a Linux device number.
13 | func Major(dev uint64) uint32 {
14 | return uint32((dev & 0x3fffffff00000000) >> 32)
15 | }
16 |
17 | // Minor returns the minor component of a Linux device number.
18 | func Minor(dev uint64) uint32 {
19 | return uint32((dev & 0x00000000ffffffff) >> 0)
20 | }
21 |
22 | // Mkdev returns a Linux device number generated from the given major and minor
23 | // components.
24 | func Mkdev(major, minor uint32) uint64 {
25 | var DEVNO64 uint64
26 | DEVNO64 = 0x8000000000000000
27 | return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64)
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/dev_darwin.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Functions to access/create device major and minor numbers matching the
6 | // encoding used in Darwin's sys/types.h header.
7 |
8 | package unix
9 |
10 | // Major returns the major component of a Darwin device number.
11 | func Major(dev uint64) uint32 {
12 | return uint32((dev >> 24) & 0xff)
13 | }
14 |
15 | // Minor returns the minor component of a Darwin device number.
16 | func Minor(dev uint64) uint32 {
17 | return uint32(dev & 0xffffff)
18 | }
19 |
20 | // Mkdev returns a Darwin device number generated from the given major and minor
21 | // components.
22 | func Mkdev(major, minor uint32) uint64 {
23 | return (uint64(major) << 24) | uint64(minor)
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/dev_freebsd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Functions to access/create device major and minor numbers matching the
6 | // encoding used in FreeBSD's sys/types.h header.
7 | //
8 | // The information below is extracted and adapted from sys/types.h:
9 | //
10 | // Minor gives a cookie instead of an index since in order to avoid changing the
11 | // meanings of bits 0-15 or wasting time and space shifting bits 16-31 for
12 | // devices that don't use them.
13 |
14 | package unix
15 |
16 | // Major returns the major component of a FreeBSD device number.
17 | func Major(dev uint64) uint32 {
18 | return uint32((dev >> 8) & 0xff)
19 | }
20 |
21 | // Minor returns the minor component of a FreeBSD device number.
22 | func Minor(dev uint64) uint32 {
23 | return uint32(dev & 0xffff00ff)
24 | }
25 |
26 | // Mkdev returns a FreeBSD device number generated from the given major and
27 | // minor components.
28 | func Mkdev(major, minor uint32) uint64 {
29 | return (uint64(major) << 8) | uint64(minor)
30 | }
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/dev_netbsd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Functions to access/create device major and minor numbers matching the
6 | // encoding used in NetBSD's sys/types.h header.
7 |
8 | package unix
9 |
10 | // Major returns the major component of a NetBSD device number.
11 | func Major(dev uint64) uint32 {
12 | return uint32((dev & 0x000fff00) >> 8)
13 | }
14 |
15 | // Minor returns the minor component of a NetBSD device number.
16 | func Minor(dev uint64) uint32 {
17 | minor := uint32((dev & 0x000000ff) >> 0)
18 | minor |= uint32((dev & 0xfff00000) >> 12)
19 | return minor
20 | }
21 |
22 | // Mkdev returns a NetBSD device number generated from the given major and minor
23 | // components.
24 | func Mkdev(major, minor uint32) uint64 {
25 | dev := (uint64(major) << 8) & 0x000fff00
26 | dev |= (uint64(minor) << 12) & 0xfff00000
27 | dev |= (uint64(minor) << 0) & 0x000000ff
28 | return dev
29 | }
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/dev_openbsd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Functions to access/create device major and minor numbers matching the
6 | // encoding used in OpenBSD's sys/types.h header.
7 |
8 | package unix
9 |
10 | // Major returns the major component of an OpenBSD device number.
11 | func Major(dev uint64) uint32 {
12 | return uint32((dev & 0x0000ff00) >> 8)
13 | }
14 |
15 | // Minor returns the minor component of an OpenBSD device number.
16 | func Minor(dev uint64) uint32 {
17 | minor := uint32((dev & 0x000000ff) >> 0)
18 | minor |= uint32((dev & 0xffff0000) >> 8)
19 | return minor
20 | }
21 |
22 | // Mkdev returns an OpenBSD device number generated from the given major and minor
23 | // components.
24 | func Mkdev(major, minor uint32) uint64 {
25 | dev := (uint64(major) << 8) & 0x0000ff00
26 | dev |= (uint64(minor) << 8) & 0xffff0000
27 | dev |= (uint64(minor) << 0) & 0x000000ff
28 | return dev
29 | }
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/dev_zos.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build zos && s390x
6 |
7 | // Functions to access/create device major and minor numbers matching the
8 | // encoding used by z/OS.
9 | //
10 | // The information below is extracted and adapted from macros.
11 |
12 | package unix
13 |
14 | // Major returns the major component of a z/OS device number.
15 | func Major(dev uint64) uint32 {
16 | return uint32((dev >> 16) & 0x0000FFFF)
17 | }
18 |
19 | // Minor returns the minor component of a z/OS device number.
20 | func Minor(dev uint64) uint32 {
21 | return uint32(dev & 0x0000FFFF)
22 | }
23 |
24 | // Mkdev returns a z/OS device number generated from the given major and minor
25 | // components.
26 | func Mkdev(major, minor uint32) uint64 {
27 | return (uint64(major) << 16) | uint64(minor)
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/endian_big.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 | //
5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64
6 |
7 | package unix
8 |
9 | const isBigEndian = true
10 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/endian_little.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 | //
5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh
6 |
7 | package unix
8 |
9 | const isBigEndian = false
10 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/env_unix.go:
--------------------------------------------------------------------------------
1 | // Copyright 2010 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | // Unix environment variables.
8 |
9 | package unix
10 |
11 | import "syscall"
12 |
13 | func Getenv(key string) (value string, found bool) {
14 | return syscall.Getenv(key)
15 | }
16 |
17 | func Setenv(key, value string) error {
18 | return syscall.Setenv(key, value)
19 | }
20 |
21 | func Clearenv() {
22 | syscall.Clearenv()
23 | }
24 |
25 | func Environ() []string {
26 | return syscall.Environ()
27 | }
28 |
29 | func Unsetenv(key string) error {
30 | return syscall.Unsetenv(key)
31 | }
32 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/fcntl_darwin.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package unix
6 |
7 | import "unsafe"
8 |
9 | // FcntlInt performs a fcntl syscall on fd with the provided command and argument.
10 | func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
11 | return fcntl(int(fd), cmd, arg)
12 | }
13 |
14 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
15 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
16 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk))))
17 | return err
18 | }
19 |
20 | // FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command.
21 | func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error {
22 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore))))
23 | return err
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc)
6 |
7 | package unix
8 |
9 | func init() {
10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's
11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL.
12 | fcntl64Syscall = SYS_FCNTL64
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/fdset.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | package unix
8 |
9 | // Set adds fd to the set fds.
10 | func (fds *FdSet) Set(fd int) {
11 | fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS))
12 | }
13 |
14 | // Clear removes fd from the set fds.
15 | func (fds *FdSet) Clear(fd int) {
16 | fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS))
17 | }
18 |
19 | // IsSet returns whether fd is in the set fds.
20 | func (fds *FdSet) IsSet(fd int) bool {
21 | return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0
22 | }
23 |
24 | // Zero clears the set fds.
25 | func (fds *FdSet) Zero() {
26 | for i := range fds.Bits {
27 | fds.Bits[i] = 0
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build gccgo && linux && amd64
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | //extern gettimeofday
12 | func realGettimeofday(*Timeval, *byte) int32
13 |
14 | func gettimeofday(tv *Timeval) (err syscall.Errno) {
15 | r := realGettimeofday(tv, nil)
16 | if r < 0 {
17 | return syscall.GetErrno()
18 | }
19 | return 0
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/mmap_nomremap.go:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris || zos
6 |
7 | package unix
8 |
9 | var mapper = &mmapper{
10 | active: make(map[*byte][]byte),
11 | mmap: mmap,
12 | munmap: munmap,
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/pagesize_unix.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | // For Unix, get the pagesize from the runtime.
8 |
9 | package unix
10 |
11 | import "syscall"
12 |
13 | func Getpagesize() int {
14 | return syscall.Getpagesize()
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/ptrace_darwin.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build darwin && !ios
6 |
7 | package unix
8 |
9 | func ptrace(request int, pid int, addr uintptr, data uintptr) error {
10 | return ptrace1(request, pid, addr, data)
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/ptrace_ios.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build ios
6 |
7 | package unix
8 |
9 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
10 | return ENOTSUP
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/race.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin && race) || (linux && race) || (freebsd && race)
6 |
7 | package unix
8 |
9 | import (
10 | "runtime"
11 | "unsafe"
12 | )
13 |
14 | const raceenabled = true
15 |
16 | func raceAcquire(addr unsafe.Pointer) {
17 | runtime.RaceAcquire(addr)
18 | }
19 |
20 | func raceReleaseMerge(addr unsafe.Pointer) {
21 | runtime.RaceReleaseMerge(addr)
22 | }
23 |
24 | func raceReadRange(addr unsafe.Pointer, len int) {
25 | runtime.RaceReadRange(addr, len)
26 | }
27 |
28 | func raceWriteRange(addr unsafe.Pointer, len int) {
29 | runtime.RaceWriteRange(addr, len)
30 | }
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/race0.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos
6 |
7 | package unix
8 |
9 | import (
10 | "unsafe"
11 | )
12 |
13 | const raceenabled = false
14 |
15 | func raceAcquire(addr unsafe.Pointer) {
16 | }
17 |
18 | func raceReleaseMerge(addr unsafe.Pointer) {
19 | }
20 |
21 | func raceReadRange(addr unsafe.Pointer, len int) {
22 | }
23 |
24 | func raceWriteRange(addr unsafe.Pointer, len int) {
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/readdirent_getdents.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd
6 |
7 | package unix
8 |
9 | // ReadDirent reads directory entries from fd and writes them into buf.
10 | func ReadDirent(fd int, buf []byte) (n int, err error) {
11 | return Getdents(fd, buf)
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build darwin || zos
6 |
7 | package unix
8 |
9 | import "unsafe"
10 |
11 | // ReadDirent reads directory entries from fd and writes them into buf.
12 | func ReadDirent(fd int, buf []byte) (n int, err error) {
13 | // Final argument is (basep *uintptr) and the syscall doesn't take nil.
14 | // 64 bits should be enough. (32 bits isn't even on 386). Since the
15 | // actual system call is getdirentries64, 64 is a good guess.
16 | // TODO(rsc): Can we use a single global basep for all calls?
17 | var base = (*uintptr)(unsafe.Pointer(new(uint64)))
18 | return Getdirentries(fd, buf, base)
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package unix
6 |
7 | // Round the length of a raw sockaddr up to align it properly.
8 | func cmsgAlignOf(salen int) int {
9 | salign := SizeofPtr
10 | if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) {
11 | // 64-bit Dragonfly before the September 2019 ABI changes still requires
12 | // 32-bit aligned access to network subsystem.
13 | salign = 4
14 | }
15 | return (salen + salign - 1) & ^(salign - 1)
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_hurd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build hurd
6 |
7 | package unix
8 |
9 | /*
10 | #include
11 | int ioctl(int, unsigned long int, uintptr_t);
12 | */
13 | import "C"
14 | import "unsafe"
15 |
16 | func ioctl(fd int, req uint, arg uintptr) (err error) {
17 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg))
18 | if r0 == -1 && er != nil {
19 | err = er
20 | }
21 | return
22 | }
23 |
24 | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
25 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg)))
26 | if r0 == -1 && er != nil {
27 | err = er
28 | }
29 | return
30 | }
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_hurd_386.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build 386 && hurd
6 |
7 | package unix
8 |
9 | const (
10 | TIOCGETA = 0x62251713
11 | )
12 |
13 | type Winsize struct {
14 | Row uint16
15 | Col uint16
16 | Xpixel uint16
17 | Ypixel uint16
18 | }
19 |
20 | type Termios struct {
21 | Iflag uint32
22 | Oflag uint32
23 | Cflag uint32
24 | Lflag uint32
25 | Cc [20]uint8
26 | Ispeed int32
27 | Ospeed int32
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64)
6 |
7 | package unix
8 |
9 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH
10 | // values.
11 |
12 | //sys Alarm(seconds uint) (remaining uint, err error)
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build amd64 && linux && gc
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | //go:noescape
12 | func gettimeofday(tv *Timeval) (err syscall.Errno)
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_gc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && gc
6 |
7 | package unix
8 |
9 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail.
10 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)
11 |
12 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't
13 | // fail.
14 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && gc && 386
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | // Underlying system call writes to newoffset via pointer.
12 | // Implemented in assembly to avoid allocation.
13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)
14 |
15 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)
16 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)
17 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build arm && gc && linux
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | // Underlying system call writes to newoffset via pointer.
12 | // Implemented in assembly to avoid allocation.
13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && gccgo && 386
6 |
7 | package unix
8 |
9 | import (
10 | "syscall"
11 | "unsafe"
12 | )
13 |
14 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) {
15 | var newoffset int64
16 | offsetLow := uint32(offset & 0xffffffff)
17 | offsetHigh := uint32((offset >> 32) & 0xffffffff)
18 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0)
19 | return newoffset, err
20 | }
21 |
22 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) {
23 | fd, _, err := Syscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0)
24 | return int(fd), err
25 | }
26 |
27 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) {
28 | fd, _, err := RawSyscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0)
29 | return int(fd), err
30 | }
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && gccgo && arm
6 |
7 | package unix
8 |
9 | import (
10 | "syscall"
11 | "unsafe"
12 | )
13 |
14 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) {
15 | var newoffset int64
16 | offsetLow := uint32(offset & 0xffffffff)
17 | offsetHigh := uint32((offset >> 32) & 0xffffffff)
18 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0)
19 | return newoffset, err
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build 386 && netbsd
6 |
7 | package unix
8 |
9 | func setTimespec(sec, nsec int64) Timespec {
10 | return Timespec{Sec: sec, Nsec: int32(nsec)}
11 | }
12 |
13 | func setTimeval(sec, usec int64) Timeval {
14 | return Timeval{Sec: sec, Usec: int32(usec)}
15 | }
16 |
17 | func SetKevent(k *Kevent_t, fd, mode, flags int) {
18 | k.Ident = uint32(fd)
19 | k.Filter = uint32(mode)
20 | k.Flags = uint32(flags)
21 | }
22 |
23 | func (iov *Iovec) SetLen(length int) {
24 | iov.Len = uint32(length)
25 | }
26 |
27 | func (msghdr *Msghdr) SetControllen(length int) {
28 | msghdr.Controllen = uint32(length)
29 | }
30 |
31 | func (msghdr *Msghdr) SetIovlen(length int) {
32 | msghdr.Iovlen = int32(length)
33 | }
34 |
35 | func (cmsg *Cmsghdr) SetLen(length int) {
36 | cmsg.Len = uint32(length)
37 | }
38 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build amd64 && netbsd
6 |
7 | package unix
8 |
9 | func setTimespec(sec, nsec int64) Timespec {
10 | return Timespec{Sec: sec, Nsec: nsec}
11 | }
12 |
13 | func setTimeval(sec, usec int64) Timeval {
14 | return Timeval{Sec: sec, Usec: int32(usec)}
15 | }
16 |
17 | func SetKevent(k *Kevent_t, fd, mode, flags int) {
18 | k.Ident = uint64(fd)
19 | k.Filter = uint32(mode)
20 | k.Flags = uint32(flags)
21 | }
22 |
23 | func (iov *Iovec) SetLen(length int) {
24 | iov.Len = uint64(length)
25 | }
26 |
27 | func (msghdr *Msghdr) SetControllen(length int) {
28 | msghdr.Controllen = uint32(length)
29 | }
30 |
31 | func (msghdr *Msghdr) SetIovlen(length int) {
32 | msghdr.Iovlen = int32(length)
33 | }
34 |
35 | func (cmsg *Cmsghdr) SetLen(length int) {
36 | cmsg.Len = uint32(length)
37 | }
38 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build arm && netbsd
6 |
7 | package unix
8 |
9 | func setTimespec(sec, nsec int64) Timespec {
10 | return Timespec{Sec: sec, Nsec: int32(nsec)}
11 | }
12 |
13 | func setTimeval(sec, usec int64) Timeval {
14 | return Timeval{Sec: sec, Usec: int32(usec)}
15 | }
16 |
17 | func SetKevent(k *Kevent_t, fd, mode, flags int) {
18 | k.Ident = uint32(fd)
19 | k.Filter = uint32(mode)
20 | k.Flags = uint32(flags)
21 | }
22 |
23 | func (iov *Iovec) SetLen(length int) {
24 | iov.Len = uint32(length)
25 | }
26 |
27 | func (msghdr *Msghdr) SetControllen(length int) {
28 | msghdr.Controllen = uint32(length)
29 | }
30 |
31 | func (msghdr *Msghdr) SetIovlen(length int) {
32 | msghdr.Iovlen = int32(length)
33 | }
34 |
35 | func (cmsg *Cmsghdr) SetLen(length int) {
36 | cmsg.Len = uint32(length)
37 | }
38 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build arm64 && netbsd
6 |
7 | package unix
8 |
9 | func setTimespec(sec, nsec int64) Timespec {
10 | return Timespec{Sec: sec, Nsec: nsec}
11 | }
12 |
13 | func setTimeval(sec, usec int64) Timeval {
14 | return Timeval{Sec: sec, Usec: int32(usec)}
15 | }
16 |
17 | func SetKevent(k *Kevent_t, fd, mode, flags int) {
18 | k.Ident = uint64(fd)
19 | k.Filter = uint32(mode)
20 | k.Flags = uint32(flags)
21 | }
22 |
23 | func (iov *Iovec) SetLen(length int) {
24 | iov.Len = uint64(length)
25 | }
26 |
27 | func (msghdr *Msghdr) SetControllen(length int) {
28 | msghdr.Controllen = uint32(length)
29 | }
30 |
31 | func (msghdr *Msghdr) SetIovlen(length int) {
32 | msghdr.Iovlen = int32(length)
33 | }
34 |
35 | func (cmsg *Cmsghdr) SetLen(length int) {
36 | cmsg.Len = uint32(length)
37 | }
38 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package unix
6 |
7 | func setTimespec(sec, nsec int64) Timespec {
8 | return Timespec{Sec: sec, Nsec: nsec}
9 | }
10 |
11 | func setTimeval(sec, usec int64) Timeval {
12 | return Timeval{Sec: sec, Usec: usec}
13 | }
14 |
15 | func SetKevent(k *Kevent_t, fd, mode, flags int) {
16 | k.Ident = uint64(fd)
17 | k.Filter = int16(mode)
18 | k.Flags = uint16(flags)
19 | }
20 |
21 | func (iov *Iovec) SetLen(length int) {
22 | iov.Len = uint64(length)
23 | }
24 |
25 | func (msghdr *Msghdr) SetControllen(length int) {
26 | msghdr.Controllen = uint32(length)
27 | }
28 |
29 | func (msghdr *Msghdr) SetIovlen(length int) {
30 | msghdr.Iovlen = uint32(length)
31 | }
32 |
33 | func (cmsg *Cmsghdr) SetLen(length int) {
34 | cmsg.Len = uint32(length)
35 | }
36 |
37 | // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
38 | // of OpenBSD the syscall is called sysctl instead of __sysctl.
39 | const SYS___SYSCTL = SYS_SYSCTL
40 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build amd64 && solaris
6 |
7 | package unix
8 |
9 | func setTimespec(sec, nsec int64) Timespec {
10 | return Timespec{Sec: sec, Nsec: nsec}
11 | }
12 |
13 | func setTimeval(sec, usec int64) Timeval {
14 | return Timeval{Sec: sec, Usec: usec}
15 | }
16 |
17 | func (iov *Iovec) SetLen(length int) {
18 | iov.Len = uint64(length)
19 | }
20 |
21 | func (msghdr *Msghdr) SetIovlen(length int) {
22 | msghdr.Iovlen = int32(length)
23 | }
24 |
25 | func (cmsg *Cmsghdr) SetLen(length int) {
26 | cmsg.Len = uint32(length)
27 | }
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_unix_gc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
12 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
13 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
14 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && (ppc64le || ppc64) && gc
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
12 | return syscall.Syscall(trap, a1, a2, a3)
13 | }
14 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
15 | return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6)
16 | }
17 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
18 | return syscall.RawSyscall(trap, a1, a2, a3)
19 | }
20 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
21 | return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6)
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/sysvshm_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux
6 |
7 | package unix
8 |
9 | import "runtime"
10 |
11 | // SysvShmCtl performs control operations on the shared memory segment
12 | // specified by id.
13 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) {
14 | if runtime.GOARCH == "arm" ||
15 | runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" {
16 | cmd |= ipc_64
17 | }
18 |
19 | return shmctl(id, cmd, desc)
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin && !ios) || zos
6 |
7 | package unix
8 |
9 | // SysvShmCtl performs control operations on the shared memory segment
10 | // specified by id.
11 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) {
12 | return shmctl(id, cmd, desc)
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/vgetrandom_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && go1.24
6 |
7 | package unix
8 |
9 | import _ "unsafe"
10 |
11 | //go:linkname vgetrandom runtime.vgetrandom
12 | //go:noescape
13 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool)
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !linux || !go1.24
6 |
7 | package unix
8 |
9 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) {
10 | return -1, false
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go:
--------------------------------------------------------------------------------
1 | // Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT.
2 |
3 | package unix
4 |
5 | import "unsafe"
6 |
7 | // PtraceGetRegSetArm64 fetches the registers used by arm64 binaries.
8 | func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error {
9 | iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))}
10 | return ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec))
11 | }
12 |
13 | // PtraceSetRegSetArm64 sets the registers used by arm64 binaries.
14 | func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error {
15 | iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))}
16 | return ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec))
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/aliases.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build windows
6 |
7 | package windows
8 |
9 | import "syscall"
10 |
11 | type Errno = syscall.Errno
12 | type SysProcAttr = syscall.SysProcAttr
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/eventlog.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build windows
6 |
7 | package windows
8 |
9 | const (
10 | EVENTLOG_SUCCESS = 0
11 | EVENTLOG_ERROR_TYPE = 1
12 | EVENTLOG_WARNING_TYPE = 2
13 | EVENTLOG_INFORMATION_TYPE = 4
14 | EVENTLOG_AUDIT_SUCCESS = 8
15 | EVENTLOG_AUDIT_FAILURE = 16
16 | )
17 |
18 | //sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW
19 | //sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource
20 | //sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/mksyscall.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build generate
6 |
7 | package windows
8 |
9 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go
10 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/race.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build windows && race
6 |
7 | package windows
8 |
9 | import (
10 | "runtime"
11 | "unsafe"
12 | )
13 |
14 | const raceenabled = true
15 |
16 | func raceAcquire(addr unsafe.Pointer) {
17 | runtime.RaceAcquire(addr)
18 | }
19 |
20 | func raceReleaseMerge(addr unsafe.Pointer) {
21 | runtime.RaceReleaseMerge(addr)
22 | }
23 |
24 | func raceReadRange(addr unsafe.Pointer, len int) {
25 | runtime.RaceReadRange(addr, len)
26 | }
27 |
28 | func raceWriteRange(addr unsafe.Pointer, len int) {
29 | runtime.RaceWriteRange(addr, len)
30 | }
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/race0.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build windows && !race
6 |
7 | package windows
8 |
9 | import (
10 | "unsafe"
11 | )
12 |
13 | const raceenabled = false
14 |
15 | func raceAcquire(addr unsafe.Pointer) {
16 | }
17 |
18 | func raceReleaseMerge(addr unsafe.Pointer) {
19 | }
20 |
21 | func raceReadRange(addr unsafe.Pointer, len int) {
22 | }
23 |
24 | func raceWriteRange(addr unsafe.Pointer, len int) {
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/str.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build windows
6 |
7 | package windows
8 |
9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency
10 | if val < 0 {
11 | return "-" + itoa(-val)
12 | }
13 | var buf [32]byte // big enough for int64
14 | i := len(buf) - 1
15 | for val >= 10 {
16 | buf[i] = byte(val%10 + '0')
17 | i--
18 | val /= 10
19 | }
20 | buf[i] = byte(val + '0')
21 | return string(buf[i:])
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/types_windows_386.go:
--------------------------------------------------------------------------------
1 | // Copyright 2011 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package windows
6 |
7 | type WSAData struct {
8 | Version uint16
9 | HighVersion uint16
10 | Description [WSADESCRIPTION_LEN + 1]byte
11 | SystemStatus [WSASYS_STATUS_LEN + 1]byte
12 | MaxSockets uint16
13 | MaxUdpDg uint16
14 | VendorInfo *byte
15 | }
16 |
17 | type Servent struct {
18 | Name *byte
19 | Aliases **byte
20 | Port uint16
21 | Proto *byte
22 | }
23 |
24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct {
25 | PerProcessUserTimeLimit int64
26 | PerJobUserTimeLimit int64
27 | LimitFlags uint32
28 | MinimumWorkingSetSize uintptr
29 | MaximumWorkingSetSize uintptr
30 | ActiveProcessLimit uint32
31 | Affinity uintptr
32 | PriorityClass uint32
33 | SchedulingClass uint32
34 | _ uint32 // pad to 8 byte boundary
35 | }
36 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/types_windows_amd64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2011 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package windows
6 |
7 | type WSAData struct {
8 | Version uint16
9 | HighVersion uint16
10 | MaxSockets uint16
11 | MaxUdpDg uint16
12 | VendorInfo *byte
13 | Description [WSADESCRIPTION_LEN + 1]byte
14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte
15 | }
16 |
17 | type Servent struct {
18 | Name *byte
19 | Aliases **byte
20 | Proto *byte
21 | Port uint16
22 | }
23 |
24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct {
25 | PerProcessUserTimeLimit int64
26 | PerJobUserTimeLimit int64
27 | LimitFlags uint32
28 | MinimumWorkingSetSize uintptr
29 | MaximumWorkingSetSize uintptr
30 | ActiveProcessLimit uint32
31 | Affinity uintptr
32 | PriorityClass uint32
33 | SchedulingClass uint32
34 | }
35 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/types_windows_arm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package windows
6 |
7 | type WSAData struct {
8 | Version uint16
9 | HighVersion uint16
10 | Description [WSADESCRIPTION_LEN + 1]byte
11 | SystemStatus [WSASYS_STATUS_LEN + 1]byte
12 | MaxSockets uint16
13 | MaxUdpDg uint16
14 | VendorInfo *byte
15 | }
16 |
17 | type Servent struct {
18 | Name *byte
19 | Aliases **byte
20 | Port uint16
21 | Proto *byte
22 | }
23 |
24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct {
25 | PerProcessUserTimeLimit int64
26 | PerJobUserTimeLimit int64
27 | LimitFlags uint32
28 | MinimumWorkingSetSize uintptr
29 | MaximumWorkingSetSize uintptr
30 | ActiveProcessLimit uint32
31 | Affinity uintptr
32 | PriorityClass uint32
33 | SchedulingClass uint32
34 | _ uint32 // pad to 8 byte boundary
35 | }
36 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/types_windows_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2011 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package windows
6 |
7 | type WSAData struct {
8 | Version uint16
9 | HighVersion uint16
10 | MaxSockets uint16
11 | MaxUdpDg uint16
12 | VendorInfo *byte
13 | Description [WSADESCRIPTION_LEN + 1]byte
14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte
15 | }
16 |
17 | type Servent struct {
18 | Name *byte
19 | Aliases **byte
20 | Proto *byte
21 | Port uint16
22 | }
23 |
24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct {
25 | PerProcessUserTimeLimit int64
26 | PerJobUserTimeLimit int64
27 | LimitFlags uint32
28 | MinimumWorkingSetSize uintptr
29 | MaximumWorkingSetSize uintptr
30 | ActiveProcessLimit uint32
31 | Affinity uintptr
32 | PriorityClass uint32
33 | SchedulingClass uint32
34 | }
35 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/urfave/cli.v1/.flake8:
--------------------------------------------------------------------------------
1 | [flake8]
2 | max-line-length = 120
3 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/urfave/cli.v1/.gitignore:
--------------------------------------------------------------------------------
1 | *.coverprofile
2 | node_modules/
3 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/urfave/cli.v1/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | sudo: false
3 | dist: trusty
4 | osx_image: xcode8.3
5 | go: 1.8.x
6 |
7 | os:
8 | - linux
9 | - osx
10 |
11 | cache:
12 | directories:
13 | - node_modules
14 |
15 | before_script:
16 | - go get github.com/urfave/gfmrun/... || true
17 | - go get golang.org/x/tools/cmd/goimports
18 | - if [ ! -f node_modules/.bin/markdown-toc ] ; then
19 | npm install markdown-toc ;
20 | fi
21 |
22 | script:
23 | - ./runtests gen
24 | - ./runtests vet
25 | - ./runtests test
26 | - ./runtests gfmrun
27 | - ./runtests toc
28 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/urfave/cli.v1/appveyor.yml:
--------------------------------------------------------------------------------
1 | version: "{build}"
2 |
3 | os: Windows Server 2016
4 |
5 | image: Visual Studio 2017
6 |
7 | clone_folder: c:\gopath\src\github.com\urfave\cli
8 |
9 | environment:
10 | GOPATH: C:\gopath
11 | GOVERSION: 1.8.x
12 | PYTHON: C:\Python36-x64
13 | PYTHON_VERSION: 3.6.x
14 | PYTHON_ARCH: 64
15 |
16 | install:
17 | - set PATH=%GOPATH%\bin;C:\go\bin;%PATH%
18 | - go version
19 | - go env
20 | - go get github.com/urfave/gfmrun/...
21 | - go get -v -t ./...
22 |
23 | build_script:
24 | - python runtests vet
25 | - python runtests test
26 | - python runtests gfmrun
27 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/urfave/cli.v1/cli.go:
--------------------------------------------------------------------------------
1 | // Package cli provides a minimal framework for creating and organizing command line
2 | // Go applications. cli is designed to be easy to understand and write, the most simple
3 | // cli application can be written as follows:
4 | // func main() {
5 | // cli.NewApp().Run(os.Args)
6 | // }
7 | //
8 | // Of course this application does not do much, so let's make this an actual application:
9 | // func main() {
10 | // app := cli.NewApp()
11 | // app.Name = "greet"
12 | // app.Usage = "say a greeting"
13 | // app.Action = func(c *cli.Context) error {
14 | // println("Greetings")
15 | // return nil
16 | // }
17 | //
18 | // app.Run(os.Args)
19 | // }
20 | package cli
21 |
22 | //go:generate python ./generate-flag-types cli -i flag-types.json -o flag_generated.go
23 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/yaml.v2/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 |
3 | go:
4 | - "1.4.x"
5 | - "1.5.x"
6 | - "1.6.x"
7 | - "1.7.x"
8 | - "1.8.x"
9 | - "1.9.x"
10 | - "1.10.x"
11 | - "1.11.x"
12 | - "1.12.x"
13 | - "1.13.x"
14 | - "1.14.x"
15 | - "tip"
16 |
17 | go_import_path: gopkg.in/yaml.v2
18 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/yaml.v2/NOTICE:
--------------------------------------------------------------------------------
1 | Copyright 2011-2016 Canonical Ltd.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/yaml.v2/writerc.go:
--------------------------------------------------------------------------------
1 | package yaml
2 |
3 | // Set the writer error and return false.
4 | func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool {
5 | emitter.error = yaml_WRITER_ERROR
6 | emitter.problem = problem
7 | return false
8 | }
9 |
10 | // Flush the output buffer.
11 | func yaml_emitter_flush(emitter *yaml_emitter_t) bool {
12 | if emitter.write_handler == nil {
13 | panic("write handler not set")
14 | }
15 |
16 | // Check if the buffer is empty.
17 | if emitter.buffer_pos == 0 {
18 | return true
19 | }
20 |
21 | if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil {
22 | return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error())
23 | }
24 | emitter.buffer_pos = 0
25 | return true
26 | }
27 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/yaml.v3/NOTICE:
--------------------------------------------------------------------------------
1 | Copyright 2011-2016 Canonical Ltd.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
--------------------------------------------------------------------------------
/vendor/layeh.com/gopher-luar/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea/
2 |
--------------------------------------------------------------------------------
/vendor/layeh.com/gopher-luar/map_iter.go:
--------------------------------------------------------------------------------
1 | //+build !go1.12
2 |
3 | package luar
4 |
5 | import "github.com/yuin/gopher-lua"
6 |
7 | func mapCall(L *lua.LState) int {
8 | ref, _ := check(L, 1)
9 |
10 | keys := ref.MapKeys()
11 | i := 0
12 | fn := func(L *lua.LState) int {
13 | if i >= len(keys) {
14 | return 0
15 | }
16 | L.Push(New(L, keys[i].Interface()))
17 | L.Push(New(L, ref.MapIndex(keys[i]).Interface()))
18 | i++
19 | return 2
20 | }
21 | L.Push(L.NewFunction(fn))
22 | return 1
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/layeh.com/gopher-luar/map_iter_go112.go:
--------------------------------------------------------------------------------
1 | //+build go1.12
2 |
3 | package luar
4 |
5 | import "github.com/yuin/gopher-lua"
6 |
7 | func mapCall(L *lua.LState) int {
8 | ref, _ := check(L, 1)
9 |
10 | iter := ref.MapRange()
11 | exhausted := false
12 | fn := func(L *lua.LState) int {
13 | if exhausted || !iter.Next() {
14 | exhausted = true
15 | return 0
16 | }
17 | L.Push(New(L, iter.Key().Interface()))
18 | L.Push(New(L, iter.Value().Interface()))
19 | return 2
20 | }
21 | L.Push(L.NewFunction(fn))
22 | return 1
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/layeh.com/gopher-luar/util.go:
--------------------------------------------------------------------------------
1 | package luar
2 |
3 | import (
4 | "fmt"
5 | "reflect"
6 | "unicode"
7 | "unicode/utf8"
8 |
9 | "github.com/yuin/gopher-lua"
10 | )
11 |
12 | func check(L *lua.LState, idx int) (ref reflect.Value, mt *Metatable) {
13 | ud := L.CheckUserData(idx)
14 | ref = reflect.ValueOf(ud.Value)
15 | mt = &Metatable{LTable: ud.Metatable.(*lua.LTable)}
16 | return
17 | }
18 |
19 | func tostring(L *lua.LState) int {
20 | ud := L.CheckUserData(1)
21 | if stringer, ok := ud.Value.(fmt.Stringer); ok {
22 | L.Push(lua.LString(stringer.String()))
23 | } else {
24 | L.Push(lua.LString(ud.String()))
25 | }
26 | return 1
27 | }
28 |
29 | func getUnexportedName(name string) string {
30 | first, n := utf8.DecodeRuneInString(name)
31 | if n == 0 {
32 | return name
33 | }
34 | return string(unicode.ToLower(first)) + name[n:]
35 | }
36 |
--------------------------------------------------------------------------------
/webserver/webserver.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "fmt"
5 | "net/http"
6 | "log"
7 | )
8 |
9 | func doNothing(w http.ResponseWriter, r *http.Request) {
10 | fmt.Fprintf(w, "done")
11 | }
12 |
13 | func main() {
14 | http.HandleFunc("/", doNothing)
15 | err := http.ListenAndServe(":8088", nil)
16 | if err != nil {
17 | log.Fatal("Error: ", err)
18 | }
19 | }
--------------------------------------------------------------------------------