From f3c37bb6690ca492d44d73468c9f0233dc8eb5a4 Mon Sep 17 00:00:00 2001 From: horologe Date: Mon, 26 Feb 2024 23:40:01 +0900 Subject: [PATCH 1/4] Support AtCoder Language Update 2023-01 Reference: https://docs.google.com/spreadsheets/d/1HXyOXt5bKwhKWXruzUvfMFHQtBxfZQ0047W7VVObnXI/edit?pli=1#gid=408033513 --- .cargo/config.toml | 2 + compete.toml | 165 ++++ resources/atcoder-cargo-lock.toml | 988 +++++++++++++++++++---- resources/atcoder-deps.toml | 85 +- src/commands/init.rs | 4 +- src/web/mod.rs | 2 +- template-cargo-lock.toml | 1249 +++++++++++++++++++++++++++++ 7 files changed, 2299 insertions(+), 196 deletions(-) create mode 100644 .cargo/config.toml create mode 100644 compete.toml create mode 100644 template-cargo-lock.toml diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..a6b014e --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[build] +target-dir = "target" diff --git a/compete.toml b/compete.toml new file mode 100644 index 0000000..c63e1c2 --- /dev/null +++ b/compete.toml @@ -0,0 +1,165 @@ +# Path to the test file (Liquid template) +# +# Variables: +# +# - `manifest_dir`: Package directory +# - `contest`: Contest ID (e.g. "abc100") +# - `bin_name`: Name of a `bin` target (e.g. "abc100-a") +# - `bin_alias`: "Alias" for a `bin` target defined in `pacakge.metadata.cargo-compete` (e.g. "a") +# - `problem`: Alias for `bin_alias` (deprecated) +# +# Additional filters: +# +# - `kebabcase`: Convert to kebab case (by using the `heck` crate) +test-suite = "{{ manifest_dir }}/testcases/{{ bin_alias }}.yml" + +# Open files with the command (`jq` command that outputs `string[] | string[][]`) +# +# VSCode: +#open = '[["code", "-a", .manifest_dir], ["code"] + (.paths | map([.src, .test_suite]) | flatten)]' +# Emacs: +#open = '["emacsclient", "-n"] + (.paths | map([.src, .test_suite]) | flatten)' + +[template] +src = ''' +fn main() { + todo!(); +} +''' + +[template.new] +# `edition` for `Cargo.toml`. +edition = "2021" +# `profile` for `Cargo.toml`. +# +# By setting this, you can run tests with `opt-level=3` while enabling `debug-assertions` and `overflow-checks`. +#profile = ''' +#[dev] +#opt-level = 3 +#''' +dependencies = ''' +ac-library-rs = "=0.1.1" +once_cell = "=1.18.0" +static_assertions = "=1.1.0" +varisat = "=0.2.2" +memoise = "=0.3.2" +argio = "=0.2.0" +bitvec = "=1.0.1" +counter = "=0.5.7" +hashbag = "=0.1.11" +pathfinding = "=4.3.0" +recur-fn = "=2.2.0" +indexing = { version = "=0.4.1", features = ["experimental_pointer_ranges"] } +amplify = { version = "=3.14.2", features = ["c_raw", "rand", "stringly_conversions"] } +amplify_derive = "=2.11.3" +amplify_num = { version = "=0.4.1", features = ["std"] } +easy-ext = "=1.0.1" +multimap = "=0.9.0" +btreemultimap = "=0.1.1" +bstr = "=1.6.0" +az = "=1.2.1" +glidesort = "=0.1.2" +tap = "=1.0.1" +omniswap = "=0.1.0" +multiversion = "=0.7.2" +num = "=0.4.1" +num-bigint = "=0.4.3" +num-complex = "=0.4.3" +num-integer = "=0.1.45" +num-iter = "=0.1.43" +num-rational = "=0.4.1" +num-traits = "=0.2.15" +num-derive = "=0.4.0" +ndarray = "=0.15.6" +nalgebra = "=0.32.3" +alga = "=0.9.3" +libm = "=0.2.7" +rand = { version = "=0.8.5", features = ["small_rng", "min_const_gen"] } +getrandom = "=0.2.10" +rand_chacha = "=0.3.1" +rand_core = "=0.6.4" +rand_hc = "=0.3.2" +rand_pcg = "=0.3.1" +rand_distr = "=0.4.3" +petgraph = "=0.6.3" +indexmap = "=2.0.0" +regex = "=1.9.1" +lazy_static = "=1.4.0" +ordered-float = "=3.7.0" +ascii = "=1.1.0" +permutohedron = "=0.2.4" +superslice = "=1.0.0" +itertools = "=0.11.0" +itertools-num = "=0.1.3" +maplit = "=1.0.2" +either = "=1.8.1" +im-rc = "=15.1.0" +fixedbitset = "=0.4.2" +bitset-fixed = "=0.1.0" +proconio = { version = "=0.4.5", features = ["derive"] } +text_io = "=0.1.12" +rustc-hash = "=1.1.0" +smallvec = { version = "=1.11.0", features = ["const_generics", "const_new", "write", "union", "serde", "arbitrary"] } +''' +dev-dependencies = ''' +#atcoder-202004-lock = { git = "https://github.com/qryxip/atcoder-202004-lock" } +''' + +[template.new.copy-files] +"./template-cargo-lock.toml" = "Cargo.lock" + +[new] +kind = "cargo-compete" +# Platform +# +# - atcoder +# - codeforces +# - yukicoder +platform = "atcoder" +# Path (Liquid template) +# +# Variables: +# +# - `contest`: Contest ID. **May be nil** +# - `package_name`: Package name +path = "./{{ contest }}" + +#[new] +#kind = "oj-api" +#url = "https://atcoder.jp/contests/{{ id }}" +#path = "./{{ contest }}" + +# for Library-Checker +#[add] +#url = "https://judge.yosupo.jp/problem/{{ args[0] }}" +##is-contest = ["false"] # optional +##target-kind = "bin" # ["bin", "example"]. default to "bin" +#bin-name = '{{ args[0] }}' +##bin-alias = '{{ args[0] }}' # optional +##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional + +# for yukicoder +#[add] +#url = '{% case args[0] %}{% when "contest" %}https://yukicoder.me/contests/{{ args[1] }}{% when "problem" %}https://yukicoder.me/problems/no/{{ args[1] }}{% endcase %}' +#is-contest = ["bash", "-c", '[[ $(cut -d / -f 4) == "contests" ]]'] # optional +##target-kind = "bin" # ["bin", "example"]. default to "bin" +#bin-name = '{% assign segments = url | split: "/" %}{{ segments[5] }}' +##bin-alias = '{% assign segments = url | split: "/" %}{{ segments[5] }}' # optional +##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional + +[test] +# Toolchain for the test. (optional) +# toolchain = "1.70.0" +# Profile for `cargo build`. ("dev" | "release") +# +# Defaults to `"dev"`. +#profile = "dev" + +[submit] +kind = "file" +path = "{{ src_path }}" +language_id = "5054" +#[submit] +#kind = "command" +#args = ["cargo", "equip", "--exclude-atcoder-crates", "--resolve-cfgs", "--remove", "docs", "--minify", "libs", "--rustfmt", "--check", "--bin", "{{ bin_name }}"] +#language_id = "4050" diff --git a/resources/atcoder-cargo-lock.toml b/resources/atcoder-cargo-lock.toml index 4f7890b..7ac4678 100644 --- a/resources/atcoder-cargo-lock.toml +++ b/resources/atcoder-cargo-lock.toml @@ -1,8 +1,18 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ac-library-rs" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e1ead7b72f44698f97266946c0576d00c9e2010858f5aba47aa4660177ef73" + [[package]] name = "aho-corasick" -version = "0.7.10" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" dependencies = [ "memchr", ] @@ -13,11 +23,60 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2" dependencies = [ - "approx", - "num-complex", + "approx 0.3.2", + "num-complex 0.2.4", "num-traits", ] +[[package]] +name = "amplify" +version = "3.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba2ec14f4fb838e9ddace42fa5944bb1ee4dff8477494ba48c5f874e16caf27a" +dependencies = [ + "amplify_derive", + "amplify_num", + "libc", + "rand", + "stringly_conversions", + "wasm-bindgen", +] + +[[package]] +name = "amplify_derive" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c3de270e75f27a4468a7c344070109046656e85cb522141f7d40ab4b83803ac" +dependencies = [ + "amplify_syn", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "amplify_num" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27d3d00d3d115395a7a8a4dc045feb7aa82b641e485f7e15f4e67ac16f4f56d" + +[[package]] +name = "amplify_syn" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da24db1445cc7bc3842fa072c2d51fe5b25b812b6a572d65842a4c72e87221ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anyhow" +version = "1.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" + [[package]] name = "approx" version = "0.3.2" @@ -27,17 +86,60 @@ dependencies = [ "num-traits", ] +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arbitrary" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e" + +[[package]] +name = "argio" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edcfc5018bf09b4bba1fd737598ba0ed9671da849a510611716804e616816393" +dependencies = [ + "argio-macro", + "proconio", +] + +[[package]] +name = "argio-macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02fe9db01606837393bc98b3bbb73a5e44c52ecf9e5275c3d352b4c5c1b3f29e" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", +] + [[package]] name = "ascii" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbf56136a5198c7b01a49e3afcbef6cf84597273d298f54432926024107b0109" +checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" [[package]] name = "autocfg" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "az" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" [[package]] name = "bitmaps" @@ -54,49 +156,135 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8cc868e96ba5c32ffae4d42bf2940ca7fca317dcef3f19b6d7de66b6885abff" +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "bstr" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +dependencies = [ + "memchr", + "regex-automata", + "serde", +] + +[[package]] +name = "btreemultimap" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6786e40464bbcf1d72084fb26dd5f96c10c41c23a6d2f118d8c82870d4aa5447" +dependencies = [ + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" + [[package]] name = "cfg-if" -version = "0.1.10" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "counter" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d458e66999348f56fd3ffcfbb7f7951542075ca8359687c703de6500c1ddccd" +dependencies = [ + "num-traits", +] + +[[package]] +name = "easy-ext" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "49457524c7e65648794c98283282a0b7c73b10018e7091f1cdcfff314fd7ae59" [[package]] name = "either" -version = "1.5.3" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "fixedbitset" -version = "0.2.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] -name = "generic-array" -version = "0.13.2" +name = "funty" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed1e761351b56f54eb9dcd0cfaca9fd0daecf93918e1cfc01c8a3d26ee7adcd" -dependencies = [ - "typenum", -] +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "getrandom" -version = "0.1.14" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "libc", "wasi", ] +[[package]] +name = "glidesort" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2e102e6eb644d3e0b186fc161e4460417880a0a0b87d235f2e5b8fb30f2e9e0" + +[[package]] +name = "hashbag" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d44c238cb72d3e8993a30c32e97b2b2c2c1a12388603f28c4f19a44c4396bc" + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + [[package]] name = "im-rc" -version = "14.3.0" +version = "15.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "303f7e6256d546e01979071417432425f15c1891fb309a5f2d724ee908fabd6e" +checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" dependencies = [ "bitmaps", "rand_core", @@ -106,29 +294,46 @@ dependencies = [ "version_check", ] +[[package]] +name = "indexing" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3c4d532eb2a0194b8cfa6ca3745f817e58e6844bb86a0cbba5ada68de5fce10" + [[package]] name = "indexmap" -version = "1.3.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", + "hashbrown 0.12.3", ] [[package]] -name = "itertools" -version = "0.8.2" +name = "indexmap" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" dependencies = [ - "either", + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", ] [[package]] name = "itertools" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" dependencies = [ "either", ] @@ -142,23 +347,109 @@ dependencies = [ "num-traits", ] +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + [[package]] name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + [[package]] name = "libc" -version = "0.2.68" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dea0c0405123bba743ee3f91f49b1c7cfb684eef0da0a50110f758ccf24cdff0" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "libm" -version = "0.2.1" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" + +[[package]] +name = "log" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" + +[[package]] +name = "main" +version = "0.0.0" +dependencies = [ + "ac-library-rs", + "alga", + "amplify", + "amplify_derive", + "amplify_num", + "argio", + "ascii", + "az", + "bitset-fixed", + "bitvec", + "bstr", + "btreemultimap", + "counter", + "easy-ext", + "either", + "fixedbitset", + "getrandom", + "glidesort", + "hashbag", + "im-rc", + "indexing", + "indexmap 2.0.0", + "itertools", + "itertools-num", + "lazy_static", + "libm", + "maplit", + "memoise", + "multimap", + "multiversion", + "nalgebra", + "ndarray", + "num", + "num-bigint", + "num-complex 0.4.3", + "num-derive", + "num-integer", + "num-iter", + "num-rational", + "num-traits", + "omniswap", + "once_cell", + "ordered-float 3.7.0", + "pathfinding", + "permutohedron", + "petgraph", + "proconio", + "rand", + "rand_chacha", + "rand_core", + "rand_distr", + "rand_hc", + "rand_pcg", + "recur-fn", + "regex", + "rustc-hash", + "smallvec", + "static_assertions", + "superslice", + "tap", + "text_io", + "varisat", +] [[package]] name = "maplit" @@ -168,46 +459,97 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "matrixmultiply" -version = "0.2.3" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4f7ec66360130972f34830bfad9ef05c6610a43938a467bcc9ab9369ab3478f" +checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77" dependencies = [ + "autocfg", "rawpointer", ] [[package]] name = "memchr" -version = "2.3.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memoise" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d4bedd9ad829dc571ce57e21d6b270a62646889bc045f265eb92183d6599db" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "multimap" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70db9248a93dc36a36d9a47898caa007a32755c7ad140ec64eeeb50d5a730631" +dependencies = [ + "serde", +] + +[[package]] +name = "multiversion" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cda45dade5144c2c929bf2ed6c24bebbba784e9198df049ec87d722b9462bd1" +dependencies = [ + "multiversion-macros", + "target-features", +] + +[[package]] +name = "multiversion-macros" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04bffdccbd4798b61dce08c97ce8c66a68976f95541aaf284a6e90c1d1c306e1" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "target-features", +] [[package]] name = "nalgebra" -version = "0.20.0" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6511777ed3da44b6a11e732a66a7d6274dfbbcd68ad968e64b778dcb829d94a" +checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa" dependencies = [ - "alga", - "approx", - "generic-array", + "approx 0.5.1", "matrixmultiply", - "num-complex", + "nalgebra-macros", + "num-complex 0.4.3", "num-rational", "num-traits", - "rand", - "rand_distr", + "simba", "typenum", ] +[[package]] +name = "nalgebra-macros" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "ndarray" -version = "0.13.0" +version = "0.15.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b001fc2f5df269365fb77bd8396ce6b1f61c9848f7f088c25e57494bacc57b" +checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" dependencies = [ - "itertools 0.8.2", "matrixmultiply", - "num-complex", + "num-complex 0.4.3", "num-integer", "num-traits", "rawpointer", @@ -215,12 +557,12 @@ dependencies = [ [[package]] name = "num" -version = "0.2.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ "num-bigint", - "num-complex", + "num-complex 0.4.3", "num-integer", "num-iter", "num-rational", @@ -229,9 +571,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.2.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ "autocfg", "num-integer", @@ -248,22 +590,31 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-complex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +dependencies = [ + "num-traits", +] + [[package]] name = "num-derive" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8b15b261814f992e33760b1fca9fe8b693d8a65299f20c9901688636cfb746" +checksum = "9e6a0fd4f737c707bd9086cc16c925f294943eb62eb71499e9fd4cf71f8b9f4e" dependencies = [ - "proc-macro2 1.0.10", - "quote 1.0.3", - "syn 1.0.17", + "proc-macro2", + "quote", + "syn 2.0.26", ] [[package]] name = "num-integer" -version = "0.1.42" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg", "num-traits", @@ -271,9 +622,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.40" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb0800a0291891dd9f4fe7bd9c19384f98f7fbe0cd0f39a2c6b88b9868bbc00" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" dependencies = [ "autocfg", "num-integer", @@ -282,9 +633,9 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.2.4" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", "num-bigint", @@ -294,121 +645,166 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", "libm", ] +[[package]] +name = "omniswap" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b73dba5f4428a4b36f77fb700ebba05e7f3c8bdbea4530f94427eb2009196f8" + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + [[package]] name = "ordered-float" -version = "1.0.2" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518" +checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" dependencies = [ "num-traits", ] [[package]] -name = "permutohedron" -version = "0.2.4" +name = "ordered-float" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c" +checksum = "2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213" +dependencies = [ + "num-traits", +] [[package]] -name = "petgraph" -version = "0.5.0" +name = "partial_ref" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c127eea4a29ec6c85d153c59dc1213f33ec74cead30fe4730aecc88cc1fd92" +checksum = "0f728bc9b1479656e40cba507034904a8c44027c0efdbbaf6a4bdc5f2d3a910c" +dependencies = [ + "partial_ref_derive", +] + +[[package]] +name = "partial_ref_derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e1d2cb5b898b5a5342e994e0d0c367dbfe69cbf717cd307045ec9fb057581" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "pathfinding" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc597cf0c06c15bcca90fba95ee81b3a80a934403562001d0ed7d8626f7c6ae" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 1.9.3", + "integer-sqrt", + "num-traits", + "rustc-hash", + "thiserror", ] [[package]] -name = "ppv-lite86" -version = "0.2.6" +name = "permutohedron" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" +checksum = "b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c" [[package]] -name = "proc-macro2" -version = "0.4.30" +name = "petgraph" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ - "unicode-xid 0.1.0", + "fixedbitset", + "indexmap 1.9.3", ] +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + [[package]] name = "proc-macro2" -version = "1.0.10" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df246d292ff63439fea9bc8c0a270bed0e390d5ebd4db4ba15aba81111b5abe3" +checksum = "92de25114670a878b1261c79c9f8f729fb97e95bac93f6312f583c60dd6a1dfe" dependencies = [ - "unicode-xid 0.2.0", + "unicode-ident", ] [[package]] name = "proconio" -version = "0.3.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bed4f95f88d84bb8efd51dbc080d463e6ca953f05dfade2e24daf19dd861ccd" +checksum = "0eb404616795079e2390e7115acf0ada24e9332e8476de2aada7bacb9992dc9e" dependencies = [ - "lazy_static", "proconio-derive", ] [[package]] name = "proconio-derive" -version = "0.1.6" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f2111a9562adf5ba291143c434818c908a05636c8a492a0a69ba4720a2c16" +checksum = "bccfa078f1a3db6563793531989799a2201d9bdf609f48dd82620b443fbcd409" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] name = "quote" -version = "0.6.13" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +checksum = "5907a1b7c277254a8b15170f6e7c97cfa60ee7872a3217663bb81151e48184bb" dependencies = [ - "proc-macro2 0.4.30", + "proc-macro2", ] [[package]] -name = "quote" -version = "1.0.3" +name = "radium" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bdc6c187c65bca4260c9011c9e3132efe4909da44726bad24cf7572ae338d7f" -dependencies = [ - "proc-macro2 1.0.10", -] +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rand" -version = "0.7.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "getrandom", "libc", "rand_chacha", "rand_core", - "rand_hc", - "rand_pcg", ] [[package]] name = "rand_chacha" -version = "0.2.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", "rand_core", @@ -416,45 +812,46 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.5.1" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom", ] [[package]] name = "rand_distr" -version = "0.2.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96977acbdd3a6576fb1d27391900035bf3863d4a16422973a409b488cf29ffb2" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ + "num-traits", "rand", ] [[package]] name = "rand_hc" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +checksum = "7b363d4f6370f88d62bf586c80405657bde0f0e1b8945d47d2ad59b906cb4f54" dependencies = [ "rand_core", ] [[package]] name = "rand_pcg" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ "rand_core", ] [[package]] name = "rand_xoshiro" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9fcdd2e881d02f1d9390ae47ad8e5696a9e4be7b547a1da2afbc61973217004" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" dependencies = [ "rand_core", ] @@ -465,23 +862,40 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" +[[package]] +name = "recur-fn" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddb239d0574f3f7a7f44da906a0484f1fc284f89cfbc4eca1895420dbf948201" + [[package]] name = "regex" -version = "1.3.6" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6946991529684867e47d86474e3a6d0c0ab9b82d5821e314b1ede31fa3a4b3" +checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" dependencies = [ "aho-corasick", "memchr", "regex-syntax", - "thread_local", ] [[package]] name = "regex-syntax" -version = "0.6.17" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe5bd57d1d7414c6b5ed48563a2c855d995ff777729dcd91c369ec7fea395ae" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "rustc-hash" @@ -489,11 +903,53 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "safe_arch" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62a7484307bd40f8f7ccbacccac730108f2cae119a3b11c74485b48aa9ea650f" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "serde" +version = "1.0.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.26", +] + +[[package]] +name = "simba" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +dependencies = [ + "approx 0.5.1", + "num-complex 0.4.3", + "num-traits", + "paste", + "wide", +] + [[package]] name = "sized-chunks" -version = "0.5.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59044ea371ad781ff976f7b06480b9f0180e834eda94114f2afb4afc12b7718" +checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" dependencies = [ "bitmaps", "typenum", @@ -501,9 +957,28 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.2.0" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +dependencies = [ + "arbitrary", + "serde", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c2fb2ec9bcd216a5b0d0ccf31ab17b5ed1d627960edff65bbe95d3ce221cefc" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "stringly_conversions" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff63080f492dd4d289ffcaed8d7ece38adfb423db910eb342c0e04d409536a7a" +dependencies = [ + "paste", +] [[package]] name = "superslice" @@ -513,73 +988,262 @@ checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" [[package]] name = "syn" -version = "0.15.44" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", + "proc-macro2", + "quote", + "unicode-ident", ] [[package]] name = "syn" -version = "1.0.17" +version = "2.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0df0eb663f387145cab623dea85b09c2c5b4b0aef44e945d928e682fce71bb03" +checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970" dependencies = [ - "proc-macro2 1.0.10", - "quote 1.0.3", - "unicode-xid 0.2.0", + "proc-macro2", + "quote", + "unicode-ident", ] [[package]] -name = "text_io" -version = "0.1.8" +name = "synstructure" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb170b4f47dc48835fbc56259c12d8963e542b05a24be2e3a1f5a6c320fd2d4" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "unicode-xid", +] [[package]] -name = "thread_local" +name = "tap" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-features" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06f6b473c37f9add4cf1df5b4d66a8ef58ab6c895f1a3b3f949cf3e21230140e" + +[[package]] +name = "text_io" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f0c8eb2ad70c12a6a69508f499b3051c924f4b1cfeae85bfad96e6bc5bba46" + +[[package]] +name = "thiserror" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" dependencies = [ - "lazy_static", + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.26", ] [[package]] name = "typenum" -version = "1.11.2" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] -name = "unicode-xid" -version = "0.1.0" +name = "unicode-ident" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-xid" -version = "0.2.0" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "varisat" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe609851d1e9196674ac295f656bd8601200a1077343d22b345013497807caf" +dependencies = [ + "anyhow", + "itoa", + "leb128", + "log", + "ordered-float 2.10.0", + "partial_ref", + "rustc-hash", + "serde", + "thiserror", + "varisat-checker", + "varisat-dimacs", + "varisat-formula", + "varisat-internal-macros", + "varisat-internal-proof", + "vec_mut_scan", +] + +[[package]] +name = "varisat-checker" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135c977c5913ed6e98f6b81b8e4d322211303b7d40dae773caef7ad1de6c763b" +dependencies = [ + "anyhow", + "log", + "partial_ref", + "rustc-hash", + "smallvec", + "thiserror", + "varisat-dimacs", + "varisat-formula", + "varisat-internal-proof", +] + +[[package]] +name = "varisat-dimacs" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1dee4e21be1f04c0a939f7ae710cced47233a578de08a1b3c7d50848402636" +dependencies = [ + "anyhow", + "itoa", + "thiserror", + "varisat-formula", +] + +[[package]] +name = "varisat-formula" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" +checksum = "395c5543b9bfd9076d6d3af49d6c34a4b91b0b355998c0a5ec6ed7265d364520" + +[[package]] +name = "varisat-internal-macros" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "602ece773543d066aa7848455486c6c0422a3f214da7a2b899100f3c4f12408d" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "synstructure", +] + +[[package]] +name = "varisat-internal-proof" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6163bb7bc9018af077b76d64f976803d141c36a27d640f1437dddc4fd527d207" +dependencies = [ + "anyhow", + "varisat-formula", +] + +[[package]] +name = "vec_mut_scan" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ed610a8d5e63d9c0e31300e8fdb55104c5f21e422743a9dc74848fa8317fd2" [[package]] name = "version_check" -version = "0.9.1" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] [[package]] -name = "whiteread" -version = "0.5.0" +name = "wasm-bindgen-backend" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bc25de0a968755322a6b517a7257df7ec3216ed7907b8fc064906542f9714b3" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.26", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.26", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "wide" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f" +dependencies = [ + "bytemuck", + "safe_arch", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] diff --git a/resources/atcoder-deps.toml b/resources/atcoder-deps.toml index 07214bf..1b1ed15 100644 --- a/resources/atcoder-deps.toml +++ b/resources/atcoder-deps.toml @@ -1,39 +1,62 @@ -num = "=0.2.1" -num-bigint = "=0.2.6" -num-complex = "=0.2.4" -num-integer = "=0.1.42" -num-iter = "=0.1.40" -num-rational = "=0.2.4" -num-traits = "=0.2.11" -num-derive = "=0.3.0" -ndarray = "=0.13.0" -nalgebra = "=0.20.0" +ac-library-rs = "=0.1.1" +once_cell = "=1.18.0" +static_assertions = "=1.1.0" +varisat = "=0.2.2" +memoise = "=0.3.2" +argio = "=0.2.0" +bitvec = "=1.0.1" +counter = "=0.5.7" +hashbag = "=0.1.11" +pathfinding = "=4.3.0" +recur-fn = "=2.2.0" +indexing = { version = "=0.4.1", features = ["experimental_pointer_ranges"] } +amplify = { version = "=3.14.2", features = ["c_raw", "rand", "stringly_conversions"] } +amplify_derive = "=2.11.3" +amplify_num = { version = "=0.4.1", features = ["std"] } +easy-ext = "=1.0.1" +multimap = "=0.9.0" +btreemultimap = "=0.1.1" +bstr = "=1.6.0" +az = "=1.2.1" +glidesort = "=0.1.2" +tap = "=1.0.1" +omniswap = "=0.1.0" +multiversion = "=0.7.2" +num = "=0.4.1" +num-bigint = "=0.4.3" +num-complex = "=0.4.3" +num-integer = "=0.1.45" +num-iter = "=0.1.43" +num-rational = "=0.4.1" +num-traits = "=0.2.15" +num-derive = "=0.4.0" +ndarray = "=0.15.6" +nalgebra = "=0.32.3" alga = "=0.9.3" -libm = "=0.2.1" -rand = { version = "=0.7.3", features = ["small_rng"] } -getrandom = "=0.1.14" -rand_chacha = "=0.2.2" -rand_core = "=0.5.1" -rand_hc = "=0.2.0" -rand_pcg = "=0.2.1" -rand_distr = "=0.2.2" -petgraph = "=0.5.0" -indexmap = "=1.3.2" -regex = "=1.3.6" +libm = "=0.2.7" +rand = { version = "=0.8.5", features = ["small_rng", "min_const_gen"] } +getrandom = "=0.2.10" +rand_chacha = "=0.3.1" +rand_core = "=0.6.4" +rand_hc = "=0.3.2" +rand_pcg = "=0.3.1" +rand_distr = "=0.4.3" +petgraph = "=0.6.3" +indexmap = "=2.0.0" +regex = "=1.9.1" lazy_static = "=1.4.0" -ordered-float = "=1.0.2" -ascii = "=1.0.0" +ordered-float = "=3.7.0" +ascii = "=1.1.0" permutohedron = "=0.2.4" superslice = "=1.0.0" -itertools = "=0.9.0" +itertools = "=0.11.0" itertools-num = "=0.1.3" maplit = "=1.0.2" -either = "=1.5.3" -im-rc = "=14.3.0" -fixedbitset = "=0.2.0" +either = "=1.8.1" +im-rc = "=15.1.0" +fixedbitset = "=0.4.2" bitset-fixed = "=0.1.0" -proconio = { version = "=0.3.6", features = ["derive"] } -text_io = "=0.1.8" -whiteread = "=0.5.0" +proconio = { version = "=0.4.5", features = ["derive"] } +text_io = "=0.1.12" rustc-hash = "=1.1.0" -smallvec = "=1.2.0" +smallvec = { version = "=1.11.0", features = ["const_generics", "const_new", "write", "union", "serde", "arbitrary"] } diff --git a/src/commands/init.rs b/src/commands/init.rs index d44b2ea..11c1695 100644 --- a/src/commands/init.rs +++ b/src/commands/init.rs @@ -9,11 +9,11 @@ use strum::VariantNames as _; static TEMPLATE_CARGO_LOCK: &str = "./template-cargo-lock.toml"; -static ATCODER_RUST_EDITION: &str = "2018"; +static ATCODER_RUST_EDITION: &str = "2021"; static CODEFORCES_RUST_EDITION: &str = "2021"; static YUKICODER_RUST_EDITION: &str = "2018"; -static ATCODER_RUST_VERSION: &str = "1.42.0"; +static ATCODER_RUST_VERSION: &str = "1.70.0"; static CODEFORCES_RUST_VERSION: &str = "1.57.0"; static YUKICODER_RUST_VERSION: &str = "1.53.0"; diff --git a/src/web/mod.rs b/src/web/mod.rs index fdcb1c3..e8afee3 100644 --- a/src/web/mod.rs +++ b/src/web/mod.rs @@ -6,6 +6,6 @@ use std::time::Duration; pub(crate) const TIMEOUT: Option = Some(Duration::from_secs(30)); -pub(crate) static ATCODER_RUST_LANG_ID: &str = "4050"; +pub(crate) static ATCODER_RUST_LANG_ID: &str = "5054"; pub(crate) static CODEFORCES_RUST_LANG_ID: &str = "75"; pub(crate) static YUKICODER_RUST_LANG_ID: &str = "rust"; diff --git a/template-cargo-lock.toml b/template-cargo-lock.toml new file mode 100644 index 0000000..7ac4678 --- /dev/null +++ b/template-cargo-lock.toml @@ -0,0 +1,1249 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ac-library-rs" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e1ead7b72f44698f97266946c0576d00c9e2010858f5aba47aa4660177ef73" + +[[package]] +name = "aho-corasick" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +dependencies = [ + "memchr", +] + +[[package]] +name = "alga" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2" +dependencies = [ + "approx 0.3.2", + "num-complex 0.2.4", + "num-traits", +] + +[[package]] +name = "amplify" +version = "3.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba2ec14f4fb838e9ddace42fa5944bb1ee4dff8477494ba48c5f874e16caf27a" +dependencies = [ + "amplify_derive", + "amplify_num", + "libc", + "rand", + "stringly_conversions", + "wasm-bindgen", +] + +[[package]] +name = "amplify_derive" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c3de270e75f27a4468a7c344070109046656e85cb522141f7d40ab4b83803ac" +dependencies = [ + "amplify_syn", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "amplify_num" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27d3d00d3d115395a7a8a4dc045feb7aa82b641e485f7e15f4e67ac16f4f56d" + +[[package]] +name = "amplify_syn" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da24db1445cc7bc3842fa072c2d51fe5b25b812b6a572d65842a4c72e87221ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anyhow" +version = "1.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" + +[[package]] +name = "approx" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" +dependencies = [ + "num-traits", +] + +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arbitrary" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e" + +[[package]] +name = "argio" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edcfc5018bf09b4bba1fd737598ba0ed9671da849a510611716804e616816393" +dependencies = [ + "argio-macro", + "proconio", +] + +[[package]] +name = "argio-macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02fe9db01606837393bc98b3bbb73a5e44c52ecf9e5275c3d352b4c5c1b3f29e" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", +] + +[[package]] +name = "ascii" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "az" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" + +[[package]] +name = "bitmaps" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +dependencies = [ + "typenum", +] + +[[package]] +name = "bitset-fixed" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8cc868e96ba5c32ffae4d42bf2940ca7fca317dcef3f19b6d7de66b6885abff" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "bstr" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +dependencies = [ + "memchr", + "regex-automata", + "serde", +] + +[[package]] +name = "btreemultimap" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6786e40464bbcf1d72084fb26dd5f96c10c41c23a6d2f118d8c82870d4aa5447" +dependencies = [ + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "counter" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d458e66999348f56fd3ffcfbb7f7951542075ca8359687c703de6500c1ddccd" +dependencies = [ + "num-traits", +] + +[[package]] +name = "easy-ext" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49457524c7e65648794c98283282a0b7c73b10018e7091f1cdcfff314fd7ae59" + +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "glidesort" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2e102e6eb644d3e0b186fc161e4460417880a0a0b87d235f2e5b8fb30f2e9e0" + +[[package]] +name = "hashbag" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d44c238cb72d3e8993a30c32e97b2b2c2c1a12388603f28c4f19a44c4396bc" + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + +[[package]] +name = "im-rc" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" +dependencies = [ + "bitmaps", + "rand_core", + "rand_xoshiro", + "sized-chunks", + "typenum", + "version_check", +] + +[[package]] +name = "indexing" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3c4d532eb2a0194b8cfa6ca3745f817e58e6844bb86a0cbba5ada68de5fce10" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itertools-num" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a872a22f9e6f7521ca557660adb96dd830e54f0f490fa115bb55dd69d38b27e7" +dependencies = [ + "num-traits", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "libm" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" + +[[package]] +name = "log" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" + +[[package]] +name = "main" +version = "0.0.0" +dependencies = [ + "ac-library-rs", + "alga", + "amplify", + "amplify_derive", + "amplify_num", + "argio", + "ascii", + "az", + "bitset-fixed", + "bitvec", + "bstr", + "btreemultimap", + "counter", + "easy-ext", + "either", + "fixedbitset", + "getrandom", + "glidesort", + "hashbag", + "im-rc", + "indexing", + "indexmap 2.0.0", + "itertools", + "itertools-num", + "lazy_static", + "libm", + "maplit", + "memoise", + "multimap", + "multiversion", + "nalgebra", + "ndarray", + "num", + "num-bigint", + "num-complex 0.4.3", + "num-derive", + "num-integer", + "num-iter", + "num-rational", + "num-traits", + "omniswap", + "once_cell", + "ordered-float 3.7.0", + "pathfinding", + "permutohedron", + "petgraph", + "proconio", + "rand", + "rand_chacha", + "rand_core", + "rand_distr", + "rand_hc", + "rand_pcg", + "recur-fn", + "regex", + "rustc-hash", + "smallvec", + "static_assertions", + "superslice", + "tap", + "text_io", + "varisat", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "matrixmultiply" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memoise" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d4bedd9ad829dc571ce57e21d6b270a62646889bc045f265eb92183d6599db" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "multimap" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70db9248a93dc36a36d9a47898caa007a32755c7ad140ec64eeeb50d5a730631" +dependencies = [ + "serde", +] + +[[package]] +name = "multiversion" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cda45dade5144c2c929bf2ed6c24bebbba784e9198df049ec87d722b9462bd1" +dependencies = [ + "multiversion-macros", + "target-features", +] + +[[package]] +name = "multiversion-macros" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04bffdccbd4798b61dce08c97ce8c66a68976f95541aaf284a6e90c1d1c306e1" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "target-features", +] + +[[package]] +name = "nalgebra" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa" +dependencies = [ + "approx 0.5.1", + "matrixmultiply", + "nalgebra-macros", + "num-complex 0.4.3", + "num-rational", + "num-traits", + "simba", + "typenum", +] + +[[package]] +name = "nalgebra-macros" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ndarray" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" +dependencies = [ + "matrixmultiply", + "num-complex 0.4.3", + "num-integer", + "num-traits", + "rawpointer", +] + +[[package]] +name = "num" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +dependencies = [ + "num-bigint", + "num-complex 0.4.3", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e6a0fd4f737c707bd9086cc16c925f294943eb62eb71499e9fd4cf71f8b9f4e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.26", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "omniswap" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b73dba5f4428a4b36f77fb700ebba05e7f3c8bdbea4530f94427eb2009196f8" + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "ordered-float" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ordered-float" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213" +dependencies = [ + "num-traits", +] + +[[package]] +name = "partial_ref" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f728bc9b1479656e40cba507034904a8c44027c0efdbbaf6a4bdc5f2d3a910c" +dependencies = [ + "partial_ref_derive", +] + +[[package]] +name = "partial_ref_derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e1d2cb5b898b5a5342e994e0d0c367dbfe69cbf717cd307045ec9fb057581" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "pathfinding" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc597cf0c06c15bcca90fba95ee81b3a80a934403562001d0ed7d8626f7c6ae" +dependencies = [ + "fixedbitset", + "indexmap 1.9.3", + "integer-sqrt", + "num-traits", + "rustc-hash", + "thiserror", +] + +[[package]] +name = "permutohedron" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c" + +[[package]] +name = "petgraph" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +dependencies = [ + "fixedbitset", + "indexmap 1.9.3", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro2" +version = "1.0.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92de25114670a878b1261c79c9f8f729fb97e95bac93f6312f583c60dd6a1dfe" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proconio" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eb404616795079e2390e7115acf0ada24e9332e8476de2aada7bacb9992dc9e" +dependencies = [ + "proconio-derive", +] + +[[package]] +name = "proconio-derive" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bccfa078f1a3db6563793531989799a2201d9bdf609f48dd82620b443fbcd409" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "quote" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5907a1b7c277254a8b15170f6e7c97cfa60ee7872a3217663bb81151e48184bb" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "rand_hc" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b363d4f6370f88d62bf586c80405657bde0f0e1b8945d47d2ad59b906cb4f54" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rand_pcg" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "recur-fn" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddb239d0574f3f7a7f44da906a0484f1fc284f89cfbc4eca1895420dbf948201" + +[[package]] +name = "regex" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "safe_arch" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62a7484307bd40f8f7ccbacccac730108f2cae119a3b11c74485b48aa9ea650f" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "serde" +version = "1.0.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.26", +] + +[[package]] +name = "simba" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +dependencies = [ + "approx 0.5.1", + "num-complex 0.4.3", + "num-traits", + "paste", + "wide", +] + +[[package]] +name = "sized-chunks" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" +dependencies = [ + "bitmaps", + "typenum", +] + +[[package]] +name = "smallvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +dependencies = [ + "arbitrary", + "serde", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "stringly_conversions" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff63080f492dd4d289ffcaed8d7ece38adfb423db910eb342c0e04d409536a7a" +dependencies = [ + "paste", +] + +[[package]] +name = "superslice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "unicode-xid", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-features" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06f6b473c37f9add4cf1df5b4d66a8ef58ab6c895f1a3b3f949cf3e21230140e" + +[[package]] +name = "text_io" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f0c8eb2ad70c12a6a69508f499b3051c924f4b1cfeae85bfad96e6bc5bba46" + +[[package]] +name = "thiserror" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.26", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "unicode-ident" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "varisat" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe609851d1e9196674ac295f656bd8601200a1077343d22b345013497807caf" +dependencies = [ + "anyhow", + "itoa", + "leb128", + "log", + "ordered-float 2.10.0", + "partial_ref", + "rustc-hash", + "serde", + "thiserror", + "varisat-checker", + "varisat-dimacs", + "varisat-formula", + "varisat-internal-macros", + "varisat-internal-proof", + "vec_mut_scan", +] + +[[package]] +name = "varisat-checker" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135c977c5913ed6e98f6b81b8e4d322211303b7d40dae773caef7ad1de6c763b" +dependencies = [ + "anyhow", + "log", + "partial_ref", + "rustc-hash", + "smallvec", + "thiserror", + "varisat-dimacs", + "varisat-formula", + "varisat-internal-proof", +] + +[[package]] +name = "varisat-dimacs" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1dee4e21be1f04c0a939f7ae710cced47233a578de08a1b3c7d50848402636" +dependencies = [ + "anyhow", + "itoa", + "thiserror", + "varisat-formula", +] + +[[package]] +name = "varisat-formula" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395c5543b9bfd9076d6d3af49d6c34a4b91b0b355998c0a5ec6ed7265d364520" + +[[package]] +name = "varisat-internal-macros" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "602ece773543d066aa7848455486c6c0422a3f214da7a2b899100f3c4f12408d" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "synstructure", +] + +[[package]] +name = "varisat-internal-proof" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6163bb7bc9018af077b76d64f976803d141c36a27d640f1437dddc4fd527d207" +dependencies = [ + "anyhow", + "varisat-formula", +] + +[[package]] +name = "vec_mut_scan" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ed610a8d5e63d9c0e31300e8fdb55104c5f21e422743a9dc74848fa8317fd2" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.26", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.26", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "wide" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f" +dependencies = [ + "bytemuck", + "safe_arch", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] From b0026336710e1ad0b89780ab8f1d304a0b192e87 Mon Sep 17 00:00:00 2001 From: horologe Date: Wed, 28 Feb 2024 22:00:22 +0900 Subject: [PATCH 2/4] fixed tests for a new Cargo.toml --- tests/snapshots/init__atcoder_no_crate_file_tree.snap | 2 +- tests/snapshots/init__atcoder_use_crate_file_tree.snap | 4 ++-- .../init__atcoder_use_crate_via_bianry_file_tree.snap | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/snapshots/init__atcoder_no_crate_file_tree.snap b/tests/snapshots/init__atcoder_no_crate_file_tree.snap index 8b20d5d..97734da 100644 --- a/tests/snapshots/init__atcoder_no_crate_file_tree.snap +++ b/tests/snapshots/init__atcoder_no_crate_file_tree.snap @@ -6,5 +6,5 @@ expression: tree ".cargo": { "config.toml": "[build]\ntarget-dir = \"target\"\n" }, - "compete.toml": "# Path to the test file (Liquid template)\n#\n# Variables:\n#\n# - `manifest_dir`: Package directory\n# - `contest`: Contest ID (e.g. \"abc100\")\n# - `bin_name`: Name of a `bin` target (e.g. \"abc100-a\")\n# - `bin_alias`: \"Alias\" for a `bin` target defined in `pacakge.metadata.cargo-compete` (e.g. \"a\")\n# - `problem`: Alias for `bin_alias` (deprecated)\n#\n# Additional filters:\n#\n# - `kebabcase`: Convert to kebab case (by using the `heck` crate)\ntest-suite = \"{{ manifest_dir }}/testcases/{{ bin_alias }}.yml\"\n\n# Open files with the command (`jq` command that outputs `string[] | string[][]`)\n#\n# VSCode:\n#open = '[[\"code\", \"-a\", .manifest_dir], [\"code\"] + (.paths | map([.src, .test_suite]) | flatten)]'\n# Emacs:\n#open = '[\"emacsclient\", \"-n\"] + (.paths | map([.src, .test_suite]) | flatten)'\n\n[template]\nsrc = '''\nfn main() {\n todo!();\n}\n'''\n\n[template.new]\n# `edition` for `Cargo.toml`.\nedition = \"2018\"\n# `profile` for `Cargo.toml`.\n#\n# By setting this, you can run tests with `opt-level=3` while enabling `debug-assertions` and `overflow-checks`.\n#profile = '''\n#[dev]\n#opt-level = 3\n#'''\ndependencies = '''\n#proconio = { version = \"=0.3.6\", features = [\"derive\"] }\n'''\ndev-dependencies = '''\n#atcoder-202004-lock = { git = \"https://github.com/qryxip/atcoder-202004-lock\" }\n'''\n\n[template.new.copy-files]\n\n[new]\nkind = \"cargo-compete\"\n# Platform\n#\n# - atcoder\n# - codeforces\n# - yukicoder\nplatform = \"atcoder\"\n# Path (Liquid template)\n#\n# Variables:\n#\n# - `contest`: Contest ID. **May be nil**\n# - `package_name`: Package name\npath = \"./{{ contest }}\"\n\n#[new]\n#kind = \"oj-api\"\n#url = \"https://atcoder.jp/contests/{{ id }}\"\n#path = \"./{{ contest }}\"\n\n# for Library-Checker\n#[add]\n#url = \"https://judge.yosupo.jp/problem/{{ args[0] }}\"\n##is-contest = [\"false\"] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{{ args[0] }}'\n##bin-alias = '{{ args[0] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n# for yukicoder\n#[add]\n#url = '{% case args[0] %}{% when \"contest\" %}https://yukicoder.me/contests/{{ args[1] }}{% when \"problem\" %}https://yukicoder.me/problems/no/{{ args[1] }}{% endcase %}'\n#is-contest = [\"bash\", \"-c\", '[[ $(cut -d / -f 4) == \"contests\" ]]'] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}'\n##bin-alias = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n[test]\n# Toolchain for the test. (optional)\ntoolchain = \"1.42.0\"\n# Profile for `cargo build`. (\"dev\" | \"release\")\n#\n# Defaults to `\"dev\"`.\n#profile = \"dev\"\n\n[submit]\nkind = \"file\"\npath = \"{{ src_path }}\"\nlanguage_id = \"4050\"\n#[submit]\n#kind = \"command\"\n#args = [\"cargo\", \"equip\", \"--exclude-atcoder-crates\", \"--resolve-cfgs\", \"--remove\", \"docs\", \"--minify\", \"libs\", \"--rustfmt\", \"--check\", \"--bin\", \"{{ bin_name }}\"]\n#language_id = \"4050\"" + "compete.toml": "# Path to the test file (Liquid template)\n#\n# Variables:\n#\n# - `manifest_dir`: Package directory\n# - `contest`: Contest ID (e.g. \"abc100\")\n# - `bin_name`: Name of a `bin` target (e.g. \"abc100-a\")\n# - `bin_alias`: \"Alias\" for a `bin` target defined in `pacakge.metadata.cargo-compete` (e.g. \"a\")\n# - `problem`: Alias for `bin_alias` (deprecated)\n#\n# Additional filters:\n#\n# - `kebabcase`: Convert to kebab case (by using the `heck` crate)\ntest-suite = \"{{ manifest_dir }}/testcases/{{ bin_alias }}.yml\"\n\n# Open files with the command (`jq` command that outputs `string[] | string[][]`)\n#\n# VSCode:\n#open = '[[\"code\", \"-a\", .manifest_dir], [\"code\"] + (.paths | map([.src, .test_suite]) | flatten)]'\n# Emacs:\n#open = '[\"emacsclient\", \"-n\"] + (.paths | map([.src, .test_suite]) | flatten)'\n\n[template]\nsrc = '''\nfn main() {\n todo!();\n}\n'''\n\n[template.new]\n# `edition` for `Cargo.toml`.\nedition = \"2021\"\n# `profile` for `Cargo.toml`.\n#\n# By setting this, you can run tests with `opt-level=3` while enabling `debug-assertions` and `overflow-checks`.\n#profile = '''\n#[dev]\n#opt-level = 3\n#'''\ndependencies = '''\n#proconio = { version = \"=0.3.6\", features = [\"derive\"] }\n'''\ndev-dependencies = '''\n#atcoder-202004-lock = { git = \"https://github.com/qryxip/atcoder-202004-lock\" }\n'''\n\n[template.new.copy-files]\n\n[new]\nkind = \"cargo-compete\"\n# Platform\n#\n# - atcoder\n# - codeforces\n# - yukicoder\nplatform = \"atcoder\"\n# Path (Liquid template)\n#\n# Variables:\n#\n# - `contest`: Contest ID. **May be nil**\n# - `package_name`: Package name\npath = \"./{{ contest }}\"\n\n#[new]\n#kind = \"oj-api\"\n#url = \"https://atcoder.jp/contests/{{ id }}\"\n#path = \"./{{ contest }}\"\n\n# for Library-Checker\n#[add]\n#url = \"https://judge.yosupo.jp/problem/{{ args[0] }}\"\n##is-contest = [\"false\"] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{{ args[0] }}'\n##bin-alias = '{{ args[0] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n# for yukicoder\n#[add]\n#url = '{% case args[0] %}{% when \"contest\" %}https://yukicoder.me/contests/{{ args[1] }}{% when \"problem\" %}https://yukicoder.me/problems/no/{{ args[1] }}{% endcase %}'\n#is-contest = [\"bash\", \"-c\", '[[ $(cut -d / -f 4) == \"contests\" ]]'] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}'\n##bin-alias = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n[test]\n# Toolchain for the test. (optional)\ntoolchain = \"1.70.0\"\n# Profile for `cargo build`. (\"dev\" | \"release\")\n#\n# Defaults to `\"dev\"`.\n#profile = \"dev\"\n\n[submit]\nkind = \"file\"\npath = \"{{ src_path }}\"\nlanguage_id = \"5054\"\n#[submit]\n#kind = \"command\"\n#args = [\"cargo\", \"equip\", \"--exclude-atcoder-crates\", \"--resolve-cfgs\", \"--remove\", \"docs\", \"--minify\", \"libs\", \"--rustfmt\", \"--check\", \"--bin\", \"{{ bin_name }}\"]\n#language_id = \"5054\"" } diff --git a/tests/snapshots/init__atcoder_use_crate_file_tree.snap b/tests/snapshots/init__atcoder_use_crate_file_tree.snap index 8abf034..051e851 100644 --- a/tests/snapshots/init__atcoder_use_crate_file_tree.snap +++ b/tests/snapshots/init__atcoder_use_crate_file_tree.snap @@ -6,6 +6,6 @@ expression: tree ".cargo": { "config.toml": "[build]\ntarget-dir = \"target\"\n" }, - "compete.toml": "# Path to the test file (Liquid template)\n#\n# Variables:\n#\n# - `manifest_dir`: Package directory\n# - `contest`: Contest ID (e.g. \"abc100\")\n# - `bin_name`: Name of a `bin` target (e.g. \"abc100-a\")\n# - `bin_alias`: \"Alias\" for a `bin` target defined in `pacakge.metadata.cargo-compete` (e.g. \"a\")\n# - `problem`: Alias for `bin_alias` (deprecated)\n#\n# Additional filters:\n#\n# - `kebabcase`: Convert to kebab case (by using the `heck` crate)\ntest-suite = \"{{ manifest_dir }}/testcases/{{ bin_alias }}.yml\"\n\n# Open files with the command (`jq` command that outputs `string[] | string[][]`)\n#\n# VSCode:\n#open = '[[\"code\", \"-a\", .manifest_dir], [\"code\"] + (.paths | map([.src, .test_suite]) | flatten)]'\n# Emacs:\n#open = '[\"emacsclient\", \"-n\"] + (.paths | map([.src, .test_suite]) | flatten)'\n\n[template]\nsrc = '''\nfn main() {\n todo!();\n}\n'''\n\n[template.new]\n# `edition` for `Cargo.toml`.\nedition = \"2018\"\n# `profile` for `Cargo.toml`.\n#\n# By setting this, you can run tests with `opt-level=3` while enabling `debug-assertions` and `overflow-checks`.\n#profile = '''\n#[dev]\n#opt-level = 3\n#'''\ndependencies = '''\nnum = \"=0.2.1\"\nnum-bigint = \"=0.2.6\"\nnum-complex = \"=0.2.4\"\nnum-integer = \"=0.1.42\"\nnum-iter = \"=0.1.40\"\nnum-rational = \"=0.2.4\"\nnum-traits = \"=0.2.11\"\nnum-derive = \"=0.3.0\"\nndarray = \"=0.13.0\"\nnalgebra = \"=0.20.0\"\nalga = \"=0.9.3\"\nlibm = \"=0.2.1\"\nrand = { version = \"=0.7.3\", features = [\"small_rng\"] }\ngetrandom = \"=0.1.14\"\nrand_chacha = \"=0.2.2\"\nrand_core = \"=0.5.1\"\nrand_hc = \"=0.2.0\"\nrand_pcg = \"=0.2.1\"\nrand_distr = \"=0.2.2\"\npetgraph = \"=0.5.0\"\nindexmap = \"=1.3.2\"\nregex = \"=1.3.6\"\nlazy_static = \"=1.4.0\"\nordered-float = \"=1.0.2\"\nascii = \"=1.0.0\"\npermutohedron = \"=0.2.4\"\nsuperslice = \"=1.0.0\"\nitertools = \"=0.9.0\"\nitertools-num = \"=0.1.3\"\nmaplit = \"=1.0.2\"\neither = \"=1.5.3\"\nim-rc = \"=14.3.0\"\nfixedbitset = \"=0.2.0\"\nbitset-fixed = \"=0.1.0\"\nproconio = { version = \"=0.3.6\", features = [\"derive\"] }\ntext_io = \"=0.1.8\"\nwhiteread = \"=0.5.0\"\nrustc-hash = \"=1.1.0\"\nsmallvec = \"=1.2.0\"\n'''\ndev-dependencies = '''\n#atcoder-202004-lock = { git = \"https://github.com/qryxip/atcoder-202004-lock\" }\n'''\n\n[template.new.copy-files]\n\"./template-cargo-lock.toml\" = \"Cargo.lock\"\n\n[new]\nkind = \"cargo-compete\"\n# Platform\n#\n# - atcoder\n# - codeforces\n# - yukicoder\nplatform = \"atcoder\"\n# Path (Liquid template)\n#\n# Variables:\n#\n# - `contest`: Contest ID. **May be nil**\n# - `package_name`: Package name\npath = \"./{{ contest }}\"\n\n#[new]\n#kind = \"oj-api\"\n#url = \"https://atcoder.jp/contests/{{ id }}\"\n#path = \"./{{ contest }}\"\n\n# for Library-Checker\n#[add]\n#url = \"https://judge.yosupo.jp/problem/{{ args[0] }}\"\n##is-contest = [\"false\"] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{{ args[0] }}'\n##bin-alias = '{{ args[0] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n# for yukicoder\n#[add]\n#url = '{% case args[0] %}{% when \"contest\" %}https://yukicoder.me/contests/{{ args[1] }}{% when \"problem\" %}https://yukicoder.me/problems/no/{{ args[1] }}{% endcase %}'\n#is-contest = [\"bash\", \"-c\", '[[ $(cut -d / -f 4) == \"contests\" ]]'] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}'\n##bin-alias = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n[test]\n# Toolchain for the test. (optional)\ntoolchain = \"1.42.0\"\n# Profile for `cargo build`. (\"dev\" | \"release\")\n#\n# Defaults to `\"dev\"`.\n#profile = \"dev\"\n\n[submit]\nkind = \"file\"\npath = \"{{ src_path }}\"\nlanguage_id = \"4050\"\n#[submit]\n#kind = \"command\"\n#args = [\"cargo\", \"equip\", \"--exclude-atcoder-crates\", \"--resolve-cfgs\", \"--remove\", \"docs\", \"--minify\", \"libs\", \"--rustfmt\", \"--check\", \"--bin\", \"{{ bin_name }}\"]\n#language_id = \"4050\"", - "template-cargo-lock.toml": "[[package]]\nname = \"aho-corasick\"\nversion = \"0.7.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada\"\ndependencies = [\n \"memchr\",\n]\n\n[[package]]\nname = \"alga\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2\"\ndependencies = [\n \"approx\",\n \"num-complex\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"approx\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"ascii\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bbf56136a5198c7b01a49e3afcbef6cf84597273d298f54432926024107b0109\"\n\n[[package]]\nname = \"autocfg\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d\"\n\n[[package]]\nname = \"bitmaps\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2\"\ndependencies = [\n \"typenum\",\n]\n\n[[package]]\nname = \"bitset-fixed\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a8cc868e96ba5c32ffae4d42bf2940ca7fca317dcef3f19b6d7de66b6885abff\"\n\n[[package]]\nname = \"cfg-if\"\nversion = \"0.1.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822\"\n\n[[package]]\nname = \"either\"\nversion = \"1.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3\"\n\n[[package]]\nname = \"fixedbitset\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d\"\n\n[[package]]\nname = \"generic-array\"\nversion = \"0.13.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0ed1e761351b56f54eb9dcd0cfaca9fd0daecf93918e1cfc01c8a3d26ee7adcd\"\ndependencies = [\n \"typenum\",\n]\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.1.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb\"\ndependencies = [\n \"cfg-if\",\n \"libc\",\n \"wasi\",\n]\n\n[[package]]\nname = \"im-rc\"\nversion = \"14.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"303f7e6256d546e01979071417432425f15c1891fb309a5f2d724ee908fabd6e\"\ndependencies = [\n \"bitmaps\",\n \"rand_core\",\n \"rand_xoshiro\",\n \"sized-chunks\",\n \"typenum\",\n \"version_check\",\n]\n\n[[package]]\nname = \"indexmap\"\nversion = \"1.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292\"\ndependencies = [\n \"autocfg\",\n]\n\n[[package]]\nname = \"itertools\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484\"\ndependencies = [\n \"either\",\n]\n\n[[package]]\nname = \"itertools\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b\"\ndependencies = [\n \"either\",\n]\n\n[[package]]\nname = \"itertools-num\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a872a22f9e6f7521ca557660adb96dd830e54f0f490fa115bb55dd69d38b27e7\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"lazy_static\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646\"\n\n[[package]]\nname = \"libc\"\nversion = \"0.2.68\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dea0c0405123bba743ee3f91f49b1c7cfb684eef0da0a50110f758ccf24cdff0\"\n\n[[package]]\nname = \"libm\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a\"\n\n[[package]]\nname = \"maplit\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d\"\n\n[[package]]\nname = \"matrixmultiply\"\nversion = \"0.2.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d4f7ec66360130972f34830bfad9ef05c6610a43938a467bcc9ab9369ab3478f\"\ndependencies = [\n \"rawpointer\",\n]\n\n[[package]]\nname = \"memchr\"\nversion = \"2.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400\"\n\n[[package]]\nname = \"nalgebra\"\nversion = \"0.20.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c6511777ed3da44b6a11e732a66a7d6274dfbbcd68ad968e64b778dcb829d94a\"\ndependencies = [\n \"alga\",\n \"approx\",\n \"generic-array\",\n \"matrixmultiply\",\n \"num-complex\",\n \"num-rational\",\n \"num-traits\",\n \"rand\",\n \"rand_distr\",\n \"typenum\",\n]\n\n[[package]]\nname = \"ndarray\"\nversion = \"0.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"25b001fc2f5df269365fb77bd8396ce6b1f61c9848f7f088c25e57494bacc57b\"\ndependencies = [\n \"itertools 0.8.2\",\n \"matrixmultiply\",\n \"num-complex\",\n \"num-integer\",\n \"num-traits\",\n \"rawpointer\",\n]\n\n[[package]]\nname = \"num\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36\"\ndependencies = [\n \"num-bigint\",\n \"num-complex\",\n \"num-integer\",\n \"num-iter\",\n \"num-rational\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-bigint\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304\"\ndependencies = [\n \"autocfg\",\n \"num-integer\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-complex\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95\"\ndependencies = [\n \"autocfg\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-derive\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0c8b15b261814f992e33760b1fca9fe8b693d8a65299f20c9901688636cfb746\"\ndependencies = [\n \"proc-macro2 1.0.10\",\n \"quote 1.0.3\",\n \"syn 1.0.17\",\n]\n\n[[package]]\nname = \"num-integer\"\nversion = \"0.1.42\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba\"\ndependencies = [\n \"autocfg\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-iter\"\nversion = \"0.1.40\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dfb0800a0291891dd9f4fe7bd9c19384f98f7fbe0cd0f39a2c6b88b9868bbc00\"\ndependencies = [\n \"autocfg\",\n \"num-integer\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-rational\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef\"\ndependencies = [\n \"autocfg\",\n \"num-bigint\",\n \"num-integer\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-traits\"\nversion = \"0.2.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096\"\ndependencies = [\n \"autocfg\",\n \"libm\",\n]\n\n[[package]]\nname = \"ordered-float\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"permutohedron\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c\"\n\n[[package]]\nname = \"petgraph\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"29c127eea4a29ec6c85d153c59dc1213f33ec74cead30fe4730aecc88cc1fd92\"\ndependencies = [\n \"fixedbitset\",\n \"indexmap\",\n]\n\n[[package]]\nname = \"ppv-lite86\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b\"\n\n[[package]]\nname = \"proc-macro2\"\nversion = \"0.4.30\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759\"\ndependencies = [\n \"unicode-xid 0.1.0\",\n]\n\n[[package]]\nname = \"proc-macro2\"\nversion = \"1.0.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"df246d292ff63439fea9bc8c0a270bed0e390d5ebd4db4ba15aba81111b5abe3\"\ndependencies = [\n \"unicode-xid 0.2.0\",\n]\n\n[[package]]\nname = \"proconio\"\nversion = \"0.3.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3bed4f95f88d84bb8efd51dbc080d463e6ca953f05dfade2e24daf19dd861ccd\"\ndependencies = [\n \"lazy_static\",\n \"proconio-derive\",\n]\n\n[[package]]\nname = \"proconio-derive\"\nversion = \"0.1.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fc2f2111a9562adf5ba291143c434818c908a05636c8a492a0a69ba4720a2c16\"\ndependencies = [\n \"proc-macro2 0.4.30\",\n \"quote 0.6.13\",\n \"syn 0.15.44\",\n]\n\n[[package]]\nname = \"quote\"\nversion = \"0.6.13\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1\"\ndependencies = [\n \"proc-macro2 0.4.30\",\n]\n\n[[package]]\nname = \"quote\"\nversion = \"1.0.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2bdc6c187c65bca4260c9011c9e3132efe4909da44726bad24cf7572ae338d7f\"\ndependencies = [\n \"proc-macro2 1.0.10\",\n]\n\n[[package]]\nname = \"rand\"\nversion = \"0.7.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03\"\ndependencies = [\n \"getrandom\",\n \"libc\",\n \"rand_chacha\",\n \"rand_core\",\n \"rand_hc\",\n \"rand_pcg\",\n]\n\n[[package]]\nname = \"rand_chacha\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402\"\ndependencies = [\n \"ppv-lite86\",\n \"rand_core\",\n]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19\"\ndependencies = [\n \"getrandom\",\n]\n\n[[package]]\nname = \"rand_distr\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"96977acbdd3a6576fb1d27391900035bf3863d4a16422973a409b488cf29ffb2\"\ndependencies = [\n \"rand\",\n]\n\n[[package]]\nname = \"rand_hc\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c\"\ndependencies = [\n \"rand_core\",\n]\n\n[[package]]\nname = \"rand_pcg\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429\"\ndependencies = [\n \"rand_core\",\n]\n\n[[package]]\nname = \"rand_xoshiro\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a9fcdd2e881d02f1d9390ae47ad8e5696a9e4be7b547a1da2afbc61973217004\"\ndependencies = [\n \"rand_core\",\n]\n\n[[package]]\nname = \"rawpointer\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3\"\n\n[[package]]\nname = \"regex\"\nversion = \"1.3.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7f6946991529684867e47d86474e3a6d0c0ab9b82d5821e314b1ede31fa3a4b3\"\ndependencies = [\n \"aho-corasick\",\n \"memchr\",\n \"regex-syntax\",\n \"thread_local\",\n]\n\n[[package]]\nname = \"regex-syntax\"\nversion = \"0.6.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fe5bd57d1d7414c6b5ed48563a2c855d995ff777729dcd91c369ec7fea395ae\"\n\n[[package]]\nname = \"rustc-hash\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\"\n\n[[package]]\nname = \"sized-chunks\"\nversion = \"0.5.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d59044ea371ad781ff976f7b06480b9f0180e834eda94114f2afb4afc12b7718\"\ndependencies = [\n \"bitmaps\",\n \"typenum\",\n]\n\n[[package]]\nname = \"smallvec\"\nversion = \"1.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5c2fb2ec9bcd216a5b0d0ccf31ab17b5ed1d627960edff65bbe95d3ce221cefc\"\n\n[[package]]\nname = \"superslice\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f\"\n\n[[package]]\nname = \"syn\"\nversion = \"0.15.44\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5\"\ndependencies = [\n \"proc-macro2 0.4.30\",\n \"quote 0.6.13\",\n \"unicode-xid 0.1.0\",\n]\n\n[[package]]\nname = \"syn\"\nversion = \"1.0.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0df0eb663f387145cab623dea85b09c2c5b4b0aef44e945d928e682fce71bb03\"\ndependencies = [\n \"proc-macro2 1.0.10\",\n \"quote 1.0.3\",\n \"unicode-xid 0.2.0\",\n]\n\n[[package]]\nname = \"text_io\"\nversion = \"0.1.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6cb170b4f47dc48835fbc56259c12d8963e542b05a24be2e3a1f5a6c320fd2d4\"\n\n[[package]]\nname = \"thread_local\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14\"\ndependencies = [\n \"lazy_static\",\n]\n\n[[package]]\nname = \"typenum\"\nversion = \"1.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9\"\n\n[[package]]\nname = \"unicode-xid\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc\"\n\n[[package]]\nname = \"unicode-xid\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c\"\n\n[[package]]\nname = \"version_check\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.9.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519\"\n\n[[package]]\nname = \"whiteread\"\nversion = \"0.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8bc25de0a968755322a6b517a7257df7ec3216ed7907b8fc064906542f9714b3\"\n" + "compete.toml": "# Path to the test file (Liquid template)\n#\n# Variables:\n#\n# - `manifest_dir`: Package directory\n# - `contest`: Contest ID (e.g. \"abc100\")\n# - `bin_name`: Name of a `bin` target (e.g. \"abc100-a\")\n# - `bin_alias`: \"Alias\" for a `bin` target defined in `pacakge.metadata.cargo-compete` (e.g. \"a\")\n# - `problem`: Alias for `bin_alias` (deprecated)\n#\n# Additional filters:\n#\n# - `kebabcase`: Convert to kebab case (by using the `heck` crate)\ntest-suite = \"{{ manifest_dir }}/testcases/{{ bin_alias }}.yml\"\n\n# Open files with the command (`jq` command that outputs `string[] | string[][]`)\n#\n# VSCode:\n#open = '[[\"code\", \"-a\", .manifest_dir], [\"code\"] + (.paths | map([.src, .test_suite]) | flatten)]'\n# Emacs:\n#open = '[\"emacsclient\", \"-n\"] + (.paths | map([.src, .test_suite]) | flatten)'\n\n[template]\nsrc = '''\nfn main() {\n todo!();\n}\n'''\n\n[template.new]\n# `edition` for `Cargo.toml`.\nedition = \"2021\"\n# `profile` for `Cargo.toml`.\n#\n# By setting this, you can run tests with `opt-level=3` while enabling `debug-assertions` and `overflow-checks`.\n#profile = '''\n#[dev]\n#opt-level = 3\n#'''\ndependencies = '''\nac-library-rs = \"=0.1.1\"\nonce_cell = \"=1.18.0\"\nstatic_assertions = \"=1.1.0\"\nvarisat = \"=0.2.2\"\nmemoise = \"=0.3.2\"\nargio = \"=0.2.0\"\nbitvec = \"=1.0.1\"\ncounter = \"=0.5.7\"\nhashbag = \"=0.1.11\"\npathfinding = \"=4.3.0\"\nrecur-fn = \"=2.2.0\"\nindexing = { version = \"=0.4.1\", features = [\"experimental_pointer_ranges\"] }\namplify = { version = \"=3.14.2\", features = [\"c_raw\", \"rand\", \"stringly_conversions\"] }\namplify_derive = \"=2.11.3\"\namplify_num = { version = \"=0.4.1\", features = [\"std\"] }\neasy-ext = \"=1.0.1\"\nmultimap = \"=0.9.0\"\nbtreemultimap = \"=0.1.1\"\nbstr = \"=1.6.0\"\naz = \"=1.2.1\"\nglidesort = \"=0.1.2\"\ntap = \"=1.0.1\"\nomniswap = \"=0.1.0\"\nmultiversion = \"=0.7.2\"\nnum = \"=0.4.1\"\nnum-bigint = \"=0.4.3\"\nnum-complex = \"=0.4.3\"\nnum-integer = \"=0.1.45\"\nnum-iter = \"=0.1.43\"\nnum-rational = \"=0.4.1\"\nnum-traits = \"=0.2.15\"\nnum-derive = \"=0.4.0\"\nndarray = \"=0.15.6\"\nnalgebra = \"=0.32.3\"\nalga = \"=0.9.3\"\nlibm = \"=0.2.7\"\nrand = { version = \"=0.8.5\", features = [\"small_rng\", \"min_const_gen\"] }\ngetrandom = \"=0.2.10\"\nrand_chacha = \"=0.3.1\"\nrand_core = \"=0.6.4\"\nrand_hc = \"=0.3.2\"\nrand_pcg = \"=0.3.1\"\nrand_distr = \"=0.4.3\"\npetgraph = \"=0.6.3\"\nindexmap = \"=2.0.0\"\nregex = \"=1.9.1\"\nlazy_static = \"=1.4.0\"\nordered-float = \"=3.7.0\"\nascii = \"=1.1.0\"\npermutohedron = \"=0.2.4\"\nsuperslice = \"=1.0.0\"\nitertools = \"=0.11.0\"\nitertools-num = \"=0.1.3\"\nmaplit = \"=1.0.2\"\neither = \"=1.8.1\"\nim-rc = \"=15.1.0\"\nfixedbitset = \"=0.4.2\"\nbitset-fixed = \"=0.1.0\"\nproconio = { version = \"=0.4.5\", features = [\"derive\"] }\ntext_io = \"=0.1.12\"\nrustc-hash = \"=1.1.0\"\nsmallvec = { version = \"=1.11.0\", features = [\"const_generics\", \"const_new\", \"write\", \"union\", \"serde\", \"arbitrary\"] }\n'''\ndev-dependencies = '''\n#atcoder-202004-lock = { git = \"https://github.com/qryxip/atcoder-202004-lock\" }\n'''\n\n[template.new.copy-files]\n\"./template-cargo-lock.toml\" = \"Cargo.lock\"\n\n[new]\nkind = \"cargo-compete\"\n# Platform\n#\n# - atcoder\n# - codeforces\n# - yukicoder\nplatform = \"atcoder\"\n# Path (Liquid template)\n#\n# Variables:\n#\n# - `contest`: Contest ID. **May be nil**\n# - `package_name`: Package name\npath = \"./{{ contest }}\"\n\n#[new]\n#kind = \"oj-api\"\n#url = \"https://atcoder.jp/contests/{{ id }}\"\n#path = \"./{{ contest }}\"\n\n# for Library-Checker\n#[add]\n#url = \"https://judge.yosupo.jp/problem/{{ args[0] }}\"\n##is-contest = [\"false\"] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{{ args[0] }}'\n##bin-alias = '{{ args[0] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n# for yukicoder\n#[add]\n#url = '{% case args[0] %}{% when \"contest\" %}https://yukicoder.me/contests/{{ args[1] }}{% when \"problem\" %}https://yukicoder.me/problems/no/{{ args[1] }}{% endcase %}'\n#is-contest = [\"bash\", \"-c\", '[[ $(cut -d / -f 4) == \"contests\" ]]'] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}'\n##bin-alias = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n[test]\n# Toolchain for the test. (optional)\ntoolchain = \"1.70.0\"\n# Profile for `cargo build`. (\"dev\" | \"release\")\n#\n# Defaults to `\"dev\"`.\n#profile = \"dev\"\n\n[submit]\nkind = \"file\"\npath = \"{{ src_path }}\"\nlanguage_id = \"5054\"\n#[submit]\n#kind = \"command\"\n#args = [\"cargo\", \"equip\", \"--exclude-atcoder-crates\", \"--resolve-cfgs\", \"--remove\", \"docs\", \"--minify\", \"libs\", \"--rustfmt\", \"--check\", \"--bin\", \"{{ bin_name }}\"]\n#language_id = \"5054\"", + "template-cargo-lock.toml": "# This file is automatically @generated by Cargo.\n# It is not intended for manual editing.\nversion = 3\n\n[[package]]\nname = \"ac-library-rs\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"09e1ead7b72f44698f97266946c0576d00c9e2010858f5aba47aa4660177ef73\"\n\n[[package]]\nname = \"aho-corasick\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41\"\ndependencies = [\n \"memchr\",\n]\n\n[[package]]\nname = \"alga\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2\"\ndependencies = [\n \"approx 0.3.2\",\n \"num-complex 0.2.4\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"amplify\"\nversion = \"3.14.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ba2ec14f4fb838e9ddace42fa5944bb1ee4dff8477494ba48c5f874e16caf27a\"\ndependencies = [\n \"amplify_derive\",\n \"amplify_num\",\n \"libc\",\n \"rand\",\n \"stringly_conversions\",\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"amplify_derive\"\nversion = \"2.11.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1c3de270e75f27a4468a7c344070109046656e85cb522141f7d40ab4b83803ac\"\ndependencies = [\n \"amplify_syn\",\n \"proc-macro2\",\n \"quote\",\n \"syn 1.0.109\",\n]\n\n[[package]]\nname = \"amplify_num\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f27d3d00d3d115395a7a8a4dc045feb7aa82b641e485f7e15f4e67ac16f4f56d\"\n\n[[package]]\nname = \"amplify_syn\"\nversion = \"1.1.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"da24db1445cc7bc3842fa072c2d51fe5b25b812b6a572d65842a4c72e87221ac\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 1.0.109\",\n]\n\n[[package]]\nname = \"anyhow\"\nversion = \"1.0.72\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854\"\n\n[[package]]\nname = \"approx\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"approx\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"arbitrary\"\nversion = \"1.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e\"\n\n[[package]]\nname = \"argio\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"edcfc5018bf09b4bba1fd737598ba0ed9671da849a510611716804e616816393\"\ndependencies = [\n \"argio-macro\",\n \"proconio\",\n]\n\n[[package]]\nname = \"argio-macro\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"02fe9db01606837393bc98b3bbb73a5e44c52ecf9e5275c3d352b4c5c1b3f29e\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"regex\",\n \"syn 1.0.109\",\n]\n\n[[package]]\nname = \"ascii\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16\"\n\n[[package]]\nname = \"autocfg\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa\"\n\n[[package]]\nname = \"az\"\nversion = \"1.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973\"\n\n[[package]]\nname = \"bitmaps\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2\"\ndependencies = [\n \"typenum\",\n]\n\n[[package]]\nname = \"bitset-fixed\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a8cc868e96ba5c32ffae4d42bf2940ca7fca317dcef3f19b6d7de66b6885abff\"\n\n[[package]]\nname = \"bitvec\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c\"\ndependencies = [\n \"funty\",\n \"radium\",\n \"tap\",\n \"wyz\",\n]\n\n[[package]]\nname = \"bstr\"\nversion = \"1.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05\"\ndependencies = [\n \"memchr\",\n \"regex-automata\",\n \"serde\",\n]\n\n[[package]]\nname = \"btreemultimap\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6786e40464bbcf1d72084fb26dd5f96c10c41c23a6d2f118d8c82870d4aa5447\"\ndependencies = [\n \"serde\",\n]\n\n[[package]]\nname = \"bumpalo\"\nversion = \"3.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1\"\n\n[[package]]\nname = \"bytemuck\"\nversion = \"1.13.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea\"\n\n[[package]]\nname = \"cfg-if\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd\"\n\n[[package]]\nname = \"counter\"\nversion = \"0.5.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2d458e66999348f56fd3ffcfbb7f7951542075ca8359687c703de6500c1ddccd\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"easy-ext\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"49457524c7e65648794c98283282a0b7c73b10018e7091f1cdcfff314fd7ae59\"\n\n[[package]]\nname = \"either\"\nversion = \"1.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91\"\n\n[[package]]\nname = \"equivalent\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5\"\n\n[[package]]\nname = \"fixedbitset\"\nversion = \"0.4.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80\"\n\n[[package]]\nname = \"funty\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c\"\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.2.10\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427\"\ndependencies = [\n \"cfg-if\",\n \"libc\",\n \"wasi\",\n]\n\n[[package]]\nname = \"glidesort\"\nversion = \"0.1.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f2e102e6eb644d3e0b186fc161e4460417880a0a0b87d235f2e5b8fb30f2e9e0\"\n\n[[package]]\nname = \"hashbag\"\nversion = \"0.1.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b3d44c238cb72d3e8993a30c32e97b2b2c2c1a12388603f28c4f19a44c4396bc\"\n\n[[package]]\nname = \"hashbrown\"\nversion = \"0.12.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888\"\n\n[[package]]\nname = \"hashbrown\"\nversion = \"0.14.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a\"\n\n[[package]]\nname = \"im-rc\"\nversion = \"15.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe\"\ndependencies = [\n \"bitmaps\",\n \"rand_core\",\n \"rand_xoshiro\",\n \"sized-chunks\",\n \"typenum\",\n \"version_check\",\n]\n\n[[package]]\nname = \"indexing\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d3c4d532eb2a0194b8cfa6ca3745f817e58e6844bb86a0cbba5ada68de5fce10\"\n\n[[package]]\nname = \"indexmap\"\nversion = \"1.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99\"\ndependencies = [\n \"autocfg\",\n \"hashbrown 0.12.3\",\n]\n\n[[package]]\nname = \"indexmap\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d\"\ndependencies = [\n \"equivalent\",\n \"hashbrown 0.14.0\",\n]\n\n[[package]]\nname = \"integer-sqrt\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"itertools\"\nversion = \"0.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57\"\ndependencies = [\n \"either\",\n]\n\n[[package]]\nname = \"itertools-num\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a872a22f9e6f7521ca557660adb96dd830e54f0f490fa115bb55dd69d38b27e7\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"itoa\"\nversion = \"0.4.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4\"\n\n[[package]]\nname = \"lazy_static\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646\"\n\n[[package]]\nname = \"leb128\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67\"\n\n[[package]]\nname = \"libc\"\nversion = \"0.2.147\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3\"\n\n[[package]]\nname = \"libm\"\nversion = \"0.2.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4\"\n\n[[package]]\nname = \"log\"\nversion = \"0.4.19\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4\"\n\n[[package]]\nname = \"main\"\nversion = \"0.0.0\"\ndependencies = [\n \"ac-library-rs\",\n \"alga\",\n \"amplify\",\n \"amplify_derive\",\n \"amplify_num\",\n \"argio\",\n \"ascii\",\n \"az\",\n \"bitset-fixed\",\n \"bitvec\",\n \"bstr\",\n \"btreemultimap\",\n \"counter\",\n \"easy-ext\",\n \"either\",\n \"fixedbitset\",\n \"getrandom\",\n \"glidesort\",\n \"hashbag\",\n \"im-rc\",\n \"indexing\",\n \"indexmap 2.0.0\",\n \"itertools\",\n \"itertools-num\",\n \"lazy_static\",\n \"libm\",\n \"maplit\",\n \"memoise\",\n \"multimap\",\n \"multiversion\",\n \"nalgebra\",\n \"ndarray\",\n \"num\",\n \"num-bigint\",\n \"num-complex 0.4.3\",\n \"num-derive\",\n \"num-integer\",\n \"num-iter\",\n \"num-rational\",\n \"num-traits\",\n \"omniswap\",\n \"once_cell\",\n \"ordered-float 3.7.0\",\n \"pathfinding\",\n \"permutohedron\",\n \"petgraph\",\n \"proconio\",\n \"rand\",\n \"rand_chacha\",\n \"rand_core\",\n \"rand_distr\",\n \"rand_hc\",\n \"rand_pcg\",\n \"recur-fn\",\n \"regex\",\n \"rustc-hash\",\n \"smallvec\",\n \"static_assertions\",\n \"superslice\",\n \"tap\",\n \"text_io\",\n \"varisat\",\n]\n\n[[package]]\nname = \"maplit\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d\"\n\n[[package]]\nname = \"matrixmultiply\"\nversion = \"0.3.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77\"\ndependencies = [\n \"autocfg\",\n \"rawpointer\",\n]\n\n[[package]]\nname = \"memchr\"\nversion = \"2.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d\"\n\n[[package]]\nname = \"memoise\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"04d4bedd9ad829dc571ce57e21d6b270a62646889bc045f265eb92183d6599db\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 1.0.109\",\n]\n\n[[package]]\nname = \"multimap\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"70db9248a93dc36a36d9a47898caa007a32755c7ad140ec64eeeb50d5a730631\"\ndependencies = [\n \"serde\",\n]\n\n[[package]]\nname = \"multiversion\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8cda45dade5144c2c929bf2ed6c24bebbba784e9198df049ec87d722b9462bd1\"\ndependencies = [\n \"multiversion-macros\",\n \"target-features\",\n]\n\n[[package]]\nname = \"multiversion-macros\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"04bffdccbd4798b61dce08c97ce8c66a68976f95541aaf284a6e90c1d1c306e1\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 1.0.109\",\n \"target-features\",\n]\n\n[[package]]\nname = \"nalgebra\"\nversion = \"0.32.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa\"\ndependencies = [\n \"approx 0.5.1\",\n \"matrixmultiply\",\n \"nalgebra-macros\",\n \"num-complex 0.4.3\",\n \"num-rational\",\n \"num-traits\",\n \"simba\",\n \"typenum\",\n]\n\n[[package]]\nname = \"nalgebra-macros\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 1.0.109\",\n]\n\n[[package]]\nname = \"ndarray\"\nversion = \"0.15.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32\"\ndependencies = [\n \"matrixmultiply\",\n \"num-complex 0.4.3\",\n \"num-integer\",\n \"num-traits\",\n \"rawpointer\",\n]\n\n[[package]]\nname = \"num\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af\"\ndependencies = [\n \"num-bigint\",\n \"num-complex 0.4.3\",\n \"num-integer\",\n \"num-iter\",\n \"num-rational\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-bigint\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f\"\ndependencies = [\n \"autocfg\",\n \"num-integer\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-complex\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95\"\ndependencies = [\n \"autocfg\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-complex\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-derive\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9e6a0fd4f737c707bd9086cc16c925f294943eb62eb71499e9fd4cf71f8b9f4e\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 2.0.26\",\n]\n\n[[package]]\nname = \"num-integer\"\nversion = \"0.1.45\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9\"\ndependencies = [\n \"autocfg\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-iter\"\nversion = \"0.1.43\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252\"\ndependencies = [\n \"autocfg\",\n \"num-integer\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-rational\"\nversion = \"0.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0\"\ndependencies = [\n \"autocfg\",\n \"num-bigint\",\n \"num-integer\",\n \"num-traits\",\n]\n\n[[package]]\nname = \"num-traits\"\nversion = \"0.2.15\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd\"\ndependencies = [\n \"autocfg\",\n \"libm\",\n]\n\n[[package]]\nname = \"omniswap\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8b73dba5f4428a4b36f77fb700ebba05e7f3c8bdbea4530f94427eb2009196f8\"\n\n[[package]]\nname = \"once_cell\"\nversion = \"1.18.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d\"\n\n[[package]]\nname = \"ordered-float\"\nversion = \"2.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"ordered-float\"\nversion = \"3.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213\"\ndependencies = [\n \"num-traits\",\n]\n\n[[package]]\nname = \"partial_ref\"\nversion = \"0.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0f728bc9b1479656e40cba507034904a8c44027c0efdbbaf6a4bdc5f2d3a910c\"\ndependencies = [\n \"partial_ref_derive\",\n]\n\n[[package]]\nname = \"partial_ref_derive\"\nversion = \"0.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"300e1d2cb5b898b5a5342e994e0d0c367dbfe69cbf717cd307045ec9fb057581\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 1.0.109\",\n]\n\n[[package]]\nname = \"paste\"\nversion = \"1.0.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c\"\n\n[[package]]\nname = \"pathfinding\"\nversion = \"4.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dfc597cf0c06c15bcca90fba95ee81b3a80a934403562001d0ed7d8626f7c6ae\"\ndependencies = [\n \"fixedbitset\",\n \"indexmap 1.9.3\",\n \"integer-sqrt\",\n \"num-traits\",\n \"rustc-hash\",\n \"thiserror\",\n]\n\n[[package]]\nname = \"permutohedron\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c\"\n\n[[package]]\nname = \"petgraph\"\nversion = \"0.6.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4\"\ndependencies = [\n \"fixedbitset\",\n \"indexmap 1.9.3\",\n]\n\n[[package]]\nname = \"ppv-lite86\"\nversion = \"0.2.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de\"\n\n[[package]]\nname = \"proc-macro2\"\nversion = \"1.0.65\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"92de25114670a878b1261c79c9f8f729fb97e95bac93f6312f583c60dd6a1dfe\"\ndependencies = [\n \"unicode-ident\",\n]\n\n[[package]]\nname = \"proconio\"\nversion = \"0.4.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0eb404616795079e2390e7115acf0ada24e9332e8476de2aada7bacb9992dc9e\"\ndependencies = [\n \"proconio-derive\",\n]\n\n[[package]]\nname = \"proconio-derive\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bccfa078f1a3db6563793531989799a2201d9bdf609f48dd82620b443fbcd409\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 1.0.109\",\n]\n\n[[package]]\nname = \"quote\"\nversion = \"1.0.30\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5907a1b7c277254a8b15170f6e7c97cfa60ee7872a3217663bb81151e48184bb\"\ndependencies = [\n \"proc-macro2\",\n]\n\n[[package]]\nname = \"radium\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09\"\n\n[[package]]\nname = \"rand\"\nversion = \"0.8.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404\"\ndependencies = [\n \"libc\",\n \"rand_chacha\",\n \"rand_core\",\n]\n\n[[package]]\nname = \"rand_chacha\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88\"\ndependencies = [\n \"ppv-lite86\",\n \"rand_core\",\n]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.6.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\"\ndependencies = [\n \"getrandom\",\n]\n\n[[package]]\nname = \"rand_distr\"\nversion = \"0.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31\"\ndependencies = [\n \"num-traits\",\n \"rand\",\n]\n\n[[package]]\nname = \"rand_hc\"\nversion = \"0.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7b363d4f6370f88d62bf586c80405657bde0f0e1b8945d47d2ad59b906cb4f54\"\ndependencies = [\n \"rand_core\",\n]\n\n[[package]]\nname = \"rand_pcg\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e\"\ndependencies = [\n \"rand_core\",\n]\n\n[[package]]\nname = \"rand_xoshiro\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa\"\ndependencies = [\n \"rand_core\",\n]\n\n[[package]]\nname = \"rawpointer\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3\"\n\n[[package]]\nname = \"recur-fn\"\nversion = \"2.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ddb239d0574f3f7a7f44da906a0484f1fc284f89cfbc4eca1895420dbf948201\"\n\n[[package]]\nname = \"regex\"\nversion = \"1.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575\"\ndependencies = [\n \"aho-corasick\",\n \"memchr\",\n \"regex-automata\",\n \"regex-syntax\",\n]\n\n[[package]]\nname = \"regex-automata\"\nversion = \"0.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310\"\ndependencies = [\n \"aho-corasick\",\n \"memchr\",\n \"regex-syntax\",\n]\n\n[[package]]\nname = \"regex-syntax\"\nversion = \"0.7.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2\"\n\n[[package]]\nname = \"rustc-hash\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\"\n\n[[package]]\nname = \"safe_arch\"\nversion = \"0.7.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"62a7484307bd40f8f7ccbacccac730108f2cae119a3b11c74485b48aa9ea650f\"\ndependencies = [\n \"bytemuck\",\n]\n\n[[package]]\nname = \"serde\"\nversion = \"1.0.171\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9\"\ndependencies = [\n \"serde_derive\",\n]\n\n[[package]]\nname = \"serde_derive\"\nversion = \"1.0.171\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 2.0.26\",\n]\n\n[[package]]\nname = \"simba\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae\"\ndependencies = [\n \"approx 0.5.1\",\n \"num-complex 0.4.3\",\n \"num-traits\",\n \"paste\",\n \"wide\",\n]\n\n[[package]]\nname = \"sized-chunks\"\nversion = \"0.6.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e\"\ndependencies = [\n \"bitmaps\",\n \"typenum\",\n]\n\n[[package]]\nname = \"smallvec\"\nversion = \"1.11.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9\"\ndependencies = [\n \"arbitrary\",\n \"serde\",\n]\n\n[[package]]\nname = \"static_assertions\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\"\n\n[[package]]\nname = \"stringly_conversions\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ff63080f492dd4d289ffcaed8d7ece38adfb423db910eb342c0e04d409536a7a\"\ndependencies = [\n \"paste\",\n]\n\n[[package]]\nname = \"superslice\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f\"\n\n[[package]]\nname = \"syn\"\nversion = \"1.0.109\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"unicode-ident\",\n]\n\n[[package]]\nname = \"syn\"\nversion = \"2.0.26\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"unicode-ident\",\n]\n\n[[package]]\nname = \"synstructure\"\nversion = \"0.12.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 1.0.109\",\n \"unicode-xid\",\n]\n\n[[package]]\nname = \"tap\"\nversion = \"1.0.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369\"\n\n[[package]]\nname = \"target-features\"\nversion = \"0.1.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"06f6b473c37f9add4cf1df5b4d66a8ef58ab6c895f1a3b3f949cf3e21230140e\"\n\n[[package]]\nname = \"text_io\"\nversion = \"0.1.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d5f0c8eb2ad70c12a6a69508f499b3051c924f4b1cfeae85bfad96e6bc5bba46\"\n\n[[package]]\nname = \"thiserror\"\nversion = \"1.0.43\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42\"\ndependencies = [\n \"thiserror-impl\",\n]\n\n[[package]]\nname = \"thiserror-impl\"\nversion = \"1.0.43\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 2.0.26\",\n]\n\n[[package]]\nname = \"typenum\"\nversion = \"1.16.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba\"\n\n[[package]]\nname = \"unicode-ident\"\nversion = \"1.0.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c\"\n\n[[package]]\nname = \"unicode-xid\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c\"\n\n[[package]]\nname = \"varisat\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ebe609851d1e9196674ac295f656bd8601200a1077343d22b345013497807caf\"\ndependencies = [\n \"anyhow\",\n \"itoa\",\n \"leb128\",\n \"log\",\n \"ordered-float 2.10.0\",\n \"partial_ref\",\n \"rustc-hash\",\n \"serde\",\n \"thiserror\",\n \"varisat-checker\",\n \"varisat-dimacs\",\n \"varisat-formula\",\n \"varisat-internal-macros\",\n \"varisat-internal-proof\",\n \"vec_mut_scan\",\n]\n\n[[package]]\nname = \"varisat-checker\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"135c977c5913ed6e98f6b81b8e4d322211303b7d40dae773caef7ad1de6c763b\"\ndependencies = [\n \"anyhow\",\n \"log\",\n \"partial_ref\",\n \"rustc-hash\",\n \"smallvec\",\n \"thiserror\",\n \"varisat-dimacs\",\n \"varisat-formula\",\n \"varisat-internal-proof\",\n]\n\n[[package]]\nname = \"varisat-dimacs\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3d1dee4e21be1f04c0a939f7ae710cced47233a578de08a1b3c7d50848402636\"\ndependencies = [\n \"anyhow\",\n \"itoa\",\n \"thiserror\",\n \"varisat-formula\",\n]\n\n[[package]]\nname = \"varisat-formula\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"395c5543b9bfd9076d6d3af49d6c34a4b91b0b355998c0a5ec6ed7265d364520\"\n\n[[package]]\nname = \"varisat-internal-macros\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"602ece773543d066aa7848455486c6c0422a3f214da7a2b899100f3c4f12408d\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"regex\",\n \"syn 1.0.109\",\n \"synstructure\",\n]\n\n[[package]]\nname = \"varisat-internal-proof\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6163bb7bc9018af077b76d64f976803d141c36a27d640f1437dddc4fd527d207\"\ndependencies = [\n \"anyhow\",\n \"varisat-formula\",\n]\n\n[[package]]\nname = \"vec_mut_scan\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"68ed610a8d5e63d9c0e31300e8fdb55104c5f21e422743a9dc74848fa8317fd2\"\n\n[[package]]\nname = \"version_check\"\nversion = \"0.9.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.11.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423\"\n\n[[package]]\nname = \"wasm-bindgen\"\nversion = \"0.2.87\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342\"\ndependencies = [\n \"cfg-if\",\n \"wasm-bindgen-macro\",\n]\n\n[[package]]\nname = \"wasm-bindgen-backend\"\nversion = \"0.2.87\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd\"\ndependencies = [\n \"bumpalo\",\n \"log\",\n \"once_cell\",\n \"proc-macro2\",\n \"quote\",\n \"syn 2.0.26\",\n \"wasm-bindgen-shared\",\n]\n\n[[package]]\nname = \"wasm-bindgen-macro\"\nversion = \"0.2.87\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d\"\ndependencies = [\n \"quote\",\n \"wasm-bindgen-macro-support\",\n]\n\n[[package]]\nname = \"wasm-bindgen-macro-support\"\nversion = \"0.2.87\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn 2.0.26\",\n \"wasm-bindgen-backend\",\n \"wasm-bindgen-shared\",\n]\n\n[[package]]\nname = \"wasm-bindgen-shared\"\nversion = \"0.2.87\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1\"\n\n[[package]]\nname = \"wide\"\nversion = \"0.7.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f\"\ndependencies = [\n \"bytemuck\",\n \"safe_arch\",\n]\n\n[[package]]\nname = \"wyz\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed\"\ndependencies = [\n \"tap\",\n]\n" } diff --git a/tests/snapshots/init__atcoder_use_crate_via_bianry_file_tree.snap b/tests/snapshots/init__atcoder_use_crate_via_bianry_file_tree.snap index f510798..2b44c45 100644 --- a/tests/snapshots/init__atcoder_use_crate_via_bianry_file_tree.snap +++ b/tests/snapshots/init__atcoder_use_crate_via_bianry_file_tree.snap @@ -6,5 +6,5 @@ expression: tree ".cargo": { "config.toml": "[build]\ntarget-dir = \"target\"\n" }, - "compete.toml": "# Path to the test file (Liquid template)\n#\n# Variables:\n#\n# - `manifest_dir`: Package directory\n# - `contest`: Contest ID (e.g. \"abc100\")\n# - `bin_name`: Name of a `bin` target (e.g. \"abc100-a\")\n# - `bin_alias`: \"Alias\" for a `bin` target defined in `pacakge.metadata.cargo-compete` (e.g. \"a\")\n# - `problem`: Alias for `bin_alias` (deprecated)\n#\n# Additional filters:\n#\n# - `kebabcase`: Convert to kebab case (by using the `heck` crate)\ntest-suite = \"{{ manifest_dir }}/testcases/{{ bin_alias }}.yml\"\n\n# Open files with the command (`jq` command that outputs `string[] | string[][]`)\n#\n# VSCode:\n#open = '[[\"code\", \"-a\", .manifest_dir], [\"code\"] + (.paths | map([.src, .test_suite]) | flatten)]'\n# Emacs:\n#open = '[\"emacsclient\", \"-n\"] + (.paths | map([.src, .test_suite]) | flatten)'\n\n[template]\nsrc = '''\nfn main() {\n todo!();\n}\n'''\n\n[template.new]\n# `edition` for `Cargo.toml`.\nedition = \"2018\"\n# `profile` for `Cargo.toml`.\n#\n# By setting this, you can run tests with `opt-level=3` while enabling `debug-assertions` and `overflow-checks`.\n#profile = '''\n#[dev]\n#opt-level = 3\n#'''\ndependencies = '''\n#proconio = { version = \"=0.3.6\", features = [\"derive\"] }\n'''\ndev-dependencies = '''\n#atcoder-202004-lock = { git = \"https://github.com/qryxip/atcoder-202004-lock\" }\n'''\n\n[template.new.copy-files]\n\n[new]\nkind = \"cargo-compete\"\n# Platform\n#\n# - atcoder\n# - codeforces\n# - yukicoder\nplatform = \"atcoder\"\n# Path (Liquid template)\n#\n# Variables:\n#\n# - `contest`: Contest ID. **May be nil**\n# - `package_name`: Package name\npath = \"./{{ contest }}\"\n\n#[new]\n#kind = \"oj-api\"\n#url = \"https://atcoder.jp/contests/{{ id }}\"\n#path = \"./{{ contest }}\"\n\n# for Library-Checker\n#[add]\n#url = \"https://judge.yosupo.jp/problem/{{ args[0] }}\"\n##is-contest = [\"false\"] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{{ args[0] }}'\n##bin-alias = '{{ args[0] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n# for yukicoder\n#[add]\n#url = '{% case args[0] %}{% when \"contest\" %}https://yukicoder.me/contests/{{ args[1] }}{% when \"problem\" %}https://yukicoder.me/problems/no/{{ args[1] }}{% endcase %}'\n#is-contest = [\"bash\", \"-c\", '[[ $(cut -d / -f 4) == \"contests\" ]]'] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}'\n##bin-alias = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n[test]\n# Toolchain for the test. (optional)\ntoolchain = \"1.42.0\"\n# Profile for `cargo build`. (\"dev\" | \"release\")\n#\n# Defaults to `\"dev\"`.\n#profile = \"dev\"\n\n[submit]\nkind = \"command\"\nargs = [\"cargo\", \"executable-payload\", \"--bin\", \"{{ bin_name }}\"]\nlanguage_id = \"4050\"" + "compete.toml": "# Path to the test file (Liquid template)\n#\n# Variables:\n#\n# - `manifest_dir`: Package directory\n# - `contest`: Contest ID (e.g. \"abc100\")\n# - `bin_name`: Name of a `bin` target (e.g. \"abc100-a\")\n# - `bin_alias`: \"Alias\" for a `bin` target defined in `pacakge.metadata.cargo-compete` (e.g. \"a\")\n# - `problem`: Alias for `bin_alias` (deprecated)\n#\n# Additional filters:\n#\n# - `kebabcase`: Convert to kebab case (by using the `heck` crate)\ntest-suite = \"{{ manifest_dir }}/testcases/{{ bin_alias }}.yml\"\n\n# Open files with the command (`jq` command that outputs `string[] | string[][]`)\n#\n# VSCode:\n#open = '[[\"code\", \"-a\", .manifest_dir], [\"code\"] + (.paths | map([.src, .test_suite]) | flatten)]'\n# Emacs:\n#open = '[\"emacsclient\", \"-n\"] + (.paths | map([.src, .test_suite]) | flatten)'\n\n[template]\nsrc = '''\nfn main() {\n todo!();\n}\n'''\n\n[template.new]\n# `edition` for `Cargo.toml`.\nedition = \"2021\"\n# `profile` for `Cargo.toml`.\n#\n# By setting this, you can run tests with `opt-level=3` while enabling `debug-assertions` and `overflow-checks`.\n#profile = '''\n#[dev]\n#opt-level = 3\n#'''\ndependencies = '''\n#proconio = { version = \"=0.3.6\", features = [\"derive\"] }\n'''\ndev-dependencies = '''\n#atcoder-202004-lock = { git = \"https://github.com/qryxip/atcoder-202004-lock\" }\n'''\n\n[template.new.copy-files]\n\n[new]\nkind = \"cargo-compete\"\n# Platform\n#\n# - atcoder\n# - codeforces\n# - yukicoder\nplatform = \"atcoder\"\n# Path (Liquid template)\n#\n# Variables:\n#\n# - `contest`: Contest ID. **May be nil**\n# - `package_name`: Package name\npath = \"./{{ contest }}\"\n\n#[new]\n#kind = \"oj-api\"\n#url = \"https://atcoder.jp/contests/{{ id }}\"\n#path = \"./{{ contest }}\"\n\n# for Library-Checker\n#[add]\n#url = \"https://judge.yosupo.jp/problem/{{ args[0] }}\"\n##is-contest = [\"false\"] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{{ args[0] }}'\n##bin-alias = '{{ args[0] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n# for yukicoder\n#[add]\n#url = '{% case args[0] %}{% when \"contest\" %}https://yukicoder.me/contests/{{ args[1] }}{% when \"problem\" %}https://yukicoder.me/problems/no/{{ args[1] }}{% endcase %}'\n#is-contest = [\"bash\", \"-c\", '[[ $(cut -d / -f 4) == \"contests\" ]]'] # optional\n##target-kind = \"bin\" # [\"bin\", \"example\"]. default to \"bin\"\n#bin-name = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}'\n##bin-alias = '{% assign segments = url | split: \"/\" %}{{ segments[5] }}' # optional\n##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional\n\n[test]\n# Toolchain for the test. (optional)\ntoolchain = \"1.70.0\"\n# Profile for `cargo build`. (\"dev\" | \"release\")\n#\n# Defaults to `\"dev\"`.\n#profile = \"dev\"\n\n[submit]\nkind = \"command\"\nargs = [\"cargo\", \"executable-payload\", \"--bin\", \"{{ bin_name }}\"]\nlanguage_id = \"5054\"" } From 3c095b4343d9b1cd6adff7bdeca530e10768b394 Mon Sep 17 00:00:00 2001 From: horologe Date: Wed, 28 Feb 2024 22:01:59 +0900 Subject: [PATCH 3/4] on using oj-api, now can put url directly and this program uses the last path of the given url as contest name --- src/commands/new.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/commands/new.rs b/src/commands/new.rs index dde5ed0..3339414 100644 --- a/src/commands/new.rs +++ b/src/commands/new.rs @@ -285,7 +285,8 @@ pub fn run(opt: OptCompeteNew, ctx: crate::Context<'_>) -> anyhow::Result<()> { }) .collect::>>()?; - let group = &Group::OjApi(contest_id); + // Using last file path as contest name + let group = &Group::OjApi(contest_id.split("/").last().unwrap().to_string()); let (manifest_dir, src_paths) = create_new_package( &cargo_compete_config_path, From b120656dcfedc965f6dd153521dae3e5a0085cc6 Mon Sep 17 00:00:00 2001 From: horologe Date: Sun, 3 Mar 2024 17:59:52 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=E3=81=8B=E3=81=AA=E3=82=8A=E5=BC=B7?= =?UTF-8?q?=E5=BC=95=E3=81=A0=E3=81=8Catcoder=E3=81=AEURL=E3=82=92?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E3=81=97=E3=81=9F=E5=A0=B4=E5=90=88=E3=80=81?= =?UTF-8?q?=E5=86=85=E8=94=B5=E3=81=AE=E3=83=80=E3=82=A6=E3=83=B3=E3=83=AD?= =?UTF-8?q?=E3=83=BC=E3=83=80=E3=82=92=E4=BD=BF=E3=81=86=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.toml | 1 + compete.toml | 165 -------------------------------------------- src/commands/new.rs | 12 +++- 3 files changed, 11 insertions(+), 167 deletions(-) delete mode 100644 compete.toml diff --git a/Cargo.toml b/Cargo.toml index 329aac3..1b7001b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,6 +42,7 @@ once_cell = "1.9.0" opener = "0.4.1" percent-encoding = "2.1.0" prettytable-rs = "0.10.0" +regex = "1.5.4" reqwest = { version = "0.11.9", default-features = false, features = ["blocking"] } rpassword = "5.0.1" rprompt = "1.0.5" diff --git a/compete.toml b/compete.toml deleted file mode 100644 index c63e1c2..0000000 --- a/compete.toml +++ /dev/null @@ -1,165 +0,0 @@ -# Path to the test file (Liquid template) -# -# Variables: -# -# - `manifest_dir`: Package directory -# - `contest`: Contest ID (e.g. "abc100") -# - `bin_name`: Name of a `bin` target (e.g. "abc100-a") -# - `bin_alias`: "Alias" for a `bin` target defined in `pacakge.metadata.cargo-compete` (e.g. "a") -# - `problem`: Alias for `bin_alias` (deprecated) -# -# Additional filters: -# -# - `kebabcase`: Convert to kebab case (by using the `heck` crate) -test-suite = "{{ manifest_dir }}/testcases/{{ bin_alias }}.yml" - -# Open files with the command (`jq` command that outputs `string[] | string[][]`) -# -# VSCode: -#open = '[["code", "-a", .manifest_dir], ["code"] + (.paths | map([.src, .test_suite]) | flatten)]' -# Emacs: -#open = '["emacsclient", "-n"] + (.paths | map([.src, .test_suite]) | flatten)' - -[template] -src = ''' -fn main() { - todo!(); -} -''' - -[template.new] -# `edition` for `Cargo.toml`. -edition = "2021" -# `profile` for `Cargo.toml`. -# -# By setting this, you can run tests with `opt-level=3` while enabling `debug-assertions` and `overflow-checks`. -#profile = ''' -#[dev] -#opt-level = 3 -#''' -dependencies = ''' -ac-library-rs = "=0.1.1" -once_cell = "=1.18.0" -static_assertions = "=1.1.0" -varisat = "=0.2.2" -memoise = "=0.3.2" -argio = "=0.2.0" -bitvec = "=1.0.1" -counter = "=0.5.7" -hashbag = "=0.1.11" -pathfinding = "=4.3.0" -recur-fn = "=2.2.0" -indexing = { version = "=0.4.1", features = ["experimental_pointer_ranges"] } -amplify = { version = "=3.14.2", features = ["c_raw", "rand", "stringly_conversions"] } -amplify_derive = "=2.11.3" -amplify_num = { version = "=0.4.1", features = ["std"] } -easy-ext = "=1.0.1" -multimap = "=0.9.0" -btreemultimap = "=0.1.1" -bstr = "=1.6.0" -az = "=1.2.1" -glidesort = "=0.1.2" -tap = "=1.0.1" -omniswap = "=0.1.0" -multiversion = "=0.7.2" -num = "=0.4.1" -num-bigint = "=0.4.3" -num-complex = "=0.4.3" -num-integer = "=0.1.45" -num-iter = "=0.1.43" -num-rational = "=0.4.1" -num-traits = "=0.2.15" -num-derive = "=0.4.0" -ndarray = "=0.15.6" -nalgebra = "=0.32.3" -alga = "=0.9.3" -libm = "=0.2.7" -rand = { version = "=0.8.5", features = ["small_rng", "min_const_gen"] } -getrandom = "=0.2.10" -rand_chacha = "=0.3.1" -rand_core = "=0.6.4" -rand_hc = "=0.3.2" -rand_pcg = "=0.3.1" -rand_distr = "=0.4.3" -petgraph = "=0.6.3" -indexmap = "=2.0.0" -regex = "=1.9.1" -lazy_static = "=1.4.0" -ordered-float = "=3.7.0" -ascii = "=1.1.0" -permutohedron = "=0.2.4" -superslice = "=1.0.0" -itertools = "=0.11.0" -itertools-num = "=0.1.3" -maplit = "=1.0.2" -either = "=1.8.1" -im-rc = "=15.1.0" -fixedbitset = "=0.4.2" -bitset-fixed = "=0.1.0" -proconio = { version = "=0.4.5", features = ["derive"] } -text_io = "=0.1.12" -rustc-hash = "=1.1.0" -smallvec = { version = "=1.11.0", features = ["const_generics", "const_new", "write", "union", "serde", "arbitrary"] } -''' -dev-dependencies = ''' -#atcoder-202004-lock = { git = "https://github.com/qryxip/atcoder-202004-lock" } -''' - -[template.new.copy-files] -"./template-cargo-lock.toml" = "Cargo.lock" - -[new] -kind = "cargo-compete" -# Platform -# -# - atcoder -# - codeforces -# - yukicoder -platform = "atcoder" -# Path (Liquid template) -# -# Variables: -# -# - `contest`: Contest ID. **May be nil** -# - `package_name`: Package name -path = "./{{ contest }}" - -#[new] -#kind = "oj-api" -#url = "https://atcoder.jp/contests/{{ id }}" -#path = "./{{ contest }}" - -# for Library-Checker -#[add] -#url = "https://judge.yosupo.jp/problem/{{ args[0] }}" -##is-contest = ["false"] # optional -##target-kind = "bin" # ["bin", "example"]. default to "bin" -#bin-name = '{{ args[0] }}' -##bin-alias = '{{ args[0] }}' # optional -##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional - -# for yukicoder -#[add] -#url = '{% case args[0] %}{% when "contest" %}https://yukicoder.me/contests/{{ args[1] }}{% when "problem" %}https://yukicoder.me/problems/no/{{ args[1] }}{% endcase %}' -#is-contest = ["bash", "-c", '[[ $(cut -d / -f 4) == "contests" ]]'] # optional -##target-kind = "bin" # ["bin", "example"]. default to "bin" -#bin-name = '{% assign segments = url | split: "/" %}{{ segments[5] }}' -##bin-alias = '{% assign segments = url | split: "/" %}{{ segments[5] }}' # optional -##bin-src-path = './src/bin/{{ bin_alias }}.rs' # optional - -[test] -# Toolchain for the test. (optional) -# toolchain = "1.70.0" -# Profile for `cargo build`. ("dev" | "release") -# -# Defaults to `"dev"`. -#profile = "dev" - -[submit] -kind = "file" -path = "{{ src_path }}" -language_id = "5054" -#[submit] -#kind = "command" -#args = ["cargo", "equip", "--exclude-atcoder-crates", "--resolve-cfgs", "--remove", "docs", "--minify", "libs", "--rustfmt", "--check", "--bin", "{{ bin_name }}"] -#language_id = "4050" diff --git a/src/commands/new.rs b/src/commands/new.rs index 3339414..5ebbb5b 100644 --- a/src/commands/new.rs +++ b/src/commands/new.rs @@ -8,6 +8,7 @@ use camino::{Utf8Path, Utf8PathBuf}; use heck::KebabCase as _; use itertools::Itertools as _; use liquid::object; +use regex::Regex; use snowchains_core::web::{PlatformKind, ProblemsInContest, YukicoderRetrieveTestCasesTargets}; use std::collections::BTreeMap; use structopt::StructOpt; @@ -52,7 +53,7 @@ pub fn run(opt: OptCompeteNew, ctx: crate::Context<'_>) -> anyhow::Result<()> { problems, config, color, - contest, + mut contest, } = opt; let crate::Context { @@ -65,7 +66,14 @@ pub fn run(opt: OptCompeteNew, ctx: crate::Context<'_>) -> anyhow::Result<()> { let cargo_compete_config_path = crate::config::locate(cwd, config)?; let cargo_compete_dir = cargo_compete_config_path.with_file_name(""); - let cargo_compete_config = crate::config::load(&cargo_compete_config_path, shell)?; + let mut cargo_compete_config = crate::config::load(&cargo_compete_config_path, shell)?; + let pattern = Regex::new(r"^https://atcoder\.jp/contests/([^/]+)/").unwrap(); + if let Some(contest_id) = pattern.captures(&contest.clone().unwrap()) { + if let CargoCompeteConfigNew::OjApi{path, template, ..} = cargo_compete_config.new { + cargo_compete_config.new = CargoCompeteConfigNew::CargoCompete { platform: PlatformKind::Atcoder, template, path}; + contest = Some(contest_id.get(1).unwrap().as_str().to_string()); + } + } match &cargo_compete_config.new { CargoCompeteConfigNew::None => {