about summary refs log tree commit diff
path: root/tvix/Cargo.nix
# This file was @generated by crate2nix 0.10.0 with the command:
#   "generate"
# See https://github.com/kolloch/crate2nix for more info.

{ nixpkgs ? <nixpkgs>
, pkgs ? import nixpkgs { config = { }; }
, lib ? pkgs.lib
, stdenv ? pkgs.stdenv
, buildRustCrateForPkgs ? pkgs: pkgs.buildRustCrate
  # This is used as the `crateOverrides` argument for `buildRustCrate`.
, defaultCrateOverrides ? pkgs.defaultCrateOverrides
  # The features to enable for the root_crate or the workspace_members.
, rootFeatures ? [ "default" ]
  # If true, throw errors instead of issueing deprecation warnings.
, strictDeprecation ? false
  # Used for conditional compilation based on CPU feature detection.
, targetFeatures ? [ ]
  # Whether to perform release builds: longer compile times, faster binaries.
, release ? true
  # Additional crate2nix configuration if it exists.
, crateConfig ? if builtins.pathExists ./crate-config.nix
  then pkgs.callPackage ./crate-config.nix { }
  else { }
}:

rec {
  #
  # "public" attributes that we attempt to keep stable with new versions of crate2nix.
  #


  # Refer your crate build derivation by name here.
  # You can override the features with
  # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }.
  workspaceMembers = {
    "nix-cli" = rec {
      packageId = "nix-cli";
      build = internal.buildRustCrateWithFeatures {
        packageId = "nix-cli";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
    "tvix-cli" = rec {
      packageId = "tvix-cli";
      build = internal.buildRustCrateWithFeatures {
        packageId = "tvix-cli";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
    "tvix-eval" = rec {
      packageId = "tvix-eval";
      build = internal.buildRustCrateWithFeatures {
        packageId = "tvix-eval";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
    "tvix-eval-builtin-macros" = rec {
      packageId = "tvix-eval-builtin-macros";
      build = internal.buildRustCrateWithFeatures {
        packageId = "tvix-eval-builtin-macros";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
    "tvix-nar" = rec {
      packageId = "tvix-nar";
      build = internal.buildRustCrateWithFeatures {
        packageId = "tvix-nar";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
    "tvix-store" = rec {
      packageId = "tvix-store";
      build = internal.buildRustCrateWithFeatures {
        packageId = "tvix-store";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
  };

  # A derivation that joins the outputs of all workspace members together.
  allWorkspaceMembers = pkgs.symlinkJoin {
    name = "all-workspace-members";
    paths =
      let members = builtins.attrValues workspaceMembers;
      in builtins.map (m: m.build) members;
  };

  #
  # "internal" ("private") attributes that may change in every new version of crate2nix.
  #

  internal = rec {
    # Build and dependency information for crates.
    # Many of the fields are passed one-to-one to buildRustCrate.
    #
    # Noteworthy:
    # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate.
    #   but with additional information which is used during dependency/feature resolution.
    # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging.
    # * `devDependencies` as of now not used by `buildRustCrate` but used to
    #   inject test dependencies into the build

    crates = {
      "addr2line" = rec {
        crateName = "addr2line";
        version = "0.17.0";
        edition = "2015";
        sha256 = "0sw16zqy6w0ar633z69m7lw6gb0k1y7xj3387a8wly43ij5div5r";
        dependencies = [
          {
            name = "gimli";
            packageId = "gimli";
            usesDefaultFeatures = false;
            features = [ "read" ];
          }
        ];
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "cpp_demangle" = [ "dep:cpp_demangle" ];
          "default" = [ "rustc-demangle" "cpp_demangle" "std-object" "fallible-iterator" "smallvec" ];
          "fallible-iterator" = [ "dep:fallible-iterator" ];
          "object" = [ "dep:object" ];
          "rustc-demangle" = [ "dep:rustc-demangle" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "gimli/rustc-dep-of-std" ];
          "smallvec" = [ "dep:smallvec" ];
          "std" = [ "gimli/std" ];
          "std-object" = [ "std" "object" "object/std" "object/compression" "gimli/endian-reader" ];
        };
      };
      "adler" = rec {
        crateName = "adler";
        version = "1.0.2";
        edition = "2015";
        sha256 = "1zim79cvzd5yrkzl3nyfx0avijwgk9fqv3yrscdy1cc79ih02qpj";
        authors = [
          "Jonas Schievink <jonasschievink@gmail.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "aho-corasick" = rec {
        crateName = "aho-corasick";
        version = "0.7.20";
        edition = "2018";
        sha256 = "1b3if3nav4qzgjz9bf75b2cv2h2yisrqfs0np70i38kgz4cn94yc";
        libName = "aho_corasick";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "memchr/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "anes" = rec {
        crateName = "anes";
        version = "0.1.6";
        edition = "2018";
        sha256 = "16bj1ww1xkwzbckk32j2pnbn5vk6wgsl3q4p3j9551xbcarwnijb";
        authors = [
          "Robert Vojta <rvojta@me.com>"
        ];
        features = {
          "bitflags" = [ "dep:bitflags" ];
          "parser" = [ "bitflags" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "anyhow" = rec {
        crateName = "anyhow";
        version = "1.0.68";
        edition = "2018";
        sha256 = "0qdb5x89jpngjrl40fpp8047xlydm38n8bz8iaml3lcds64zkcic";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "backtrace" = [ "dep:backtrace" ];
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "arrayref" = rec {
        crateName = "arrayref";
        version = "0.3.6";
        edition = "2015";
        sha256 = "0i6m1l3f73i0lf0cjdf5rh3xpvxydyhfbakq7xx7bkrp5qajgid4";
        authors = [
          "David Roundy <roundyd@physics.oregonstate.edu>"
        ];

      };
      "arrayvec" = rec {
        crateName = "arrayvec";
        version = "0.7.2";
        edition = "2018";
        sha256 = "1mjl8jjqxpl0x7sm9cij61cppi7yi38cdrd1l8zjw7h7qxk2v9cd";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
        };
      };
      "async-stream" = rec {
        crateName = "async-stream";
        version = "0.3.3";
        edition = "2018";
        sha256 = "0zjhv5l6yjyy46r1myazy00njmhw19jgxppswydrdsgag4qcimfs";
        authors = [
          "Carl Lerche <me@carllerche.com>"
        ];
        dependencies = [
          {
            name = "async-stream-impl";
            packageId = "async-stream-impl";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
          }
        ];

      };
      "async-stream-impl" = rec {
        crateName = "async-stream-impl";
        version = "0.3.3";
        edition = "2018";
        sha256 = "09xy4ryvh8qdj3da4vascb9g69psj0wpc8nxnqpzl7d7fgdh7whh";
        procMacro = true;
        authors = [
          "Carl Lerche <me@carllerche.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "full" "visit-mut" ];
          }
        ];

      };
      "async-trait" = rec {
        crateName = "async-trait";
        version = "0.1.59";
        edition = "2018";
        sha256 = "0r4kz791j7asfj10qdrb25q2gfw134vks91va4qkj7s3alqykrii";
        procMacro = true;
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "full" "visit-mut" ];
          }
        ];

      };
      "atty" = rec {
        crateName = "atty";
        version = "0.2.14";
        edition = "2015";
        sha256 = "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr";
        authors = [
          "softprops <d.tangren@gmail.com>"
        ];
        dependencies = [
          {
            name = "hermit-abi";
            packageId = "hermit-abi 0.1.19";
            target = { target, features }: ("hermit" == target."os");
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "consoleapi" "processenv" "minwinbase" "minwindef" "winbase" ];
          }
        ];

      };
      "autocfg" = rec {
        crateName = "autocfg";
        version = "1.1.0";
        edition = "2015";
        sha256 = "1ylp3cb47ylzabimazvbz9ms6ap784zhb6syaz6c1jqpmcmq0s6l";
        authors = [
          "Josh Stone <cuviper@gmail.com>"
        ];

      };
      "axum" = rec {
        crateName = "axum";
        version = "0.6.1";
        edition = "2021";
        sha256 = "0j7sjzpxg9gsmrkm2q3xqhjd4xryxj03sz2id9p3zyk54snhic88";
        dependencies = [
          {
            name = "async-trait";
            packageId = "async-trait";
          }
          {
            name = "axum-core";
            packageId = "axum-core";
          }
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            features = [ "alloc" ];
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
          }
          {
            name = "hyper";
            packageId = "hyper";
            features = [ "stream" ];
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "matchit";
            packageId = "matchit";
          }
          {
            name = "memchr";
            packageId = "memchr";
          }
          {
            name = "mime";
            packageId = "mime";
          }
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "sync_wrapper";
            packageId = "sync_wrapper";
          }
          {
            name = "tower";
            packageId = "tower";
            usesDefaultFeatures = false;
            features = [ "util" ];
          }
          {
            name = "tower-http";
            packageId = "tower-http";
            features = [ "util" "map-response-body" ];
          }
          {
            name = "tower-layer";
            packageId = "tower-layer";
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
        ];
        buildDependencies = [
          {
            name = "rustversion";
            packageId = "rustversion";
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
          {
            name = "tower";
            packageId = "tower";
            rename = "tower";
            features = [ "util" "timeout" "limit" "load-shed" "steer" "filter" ];
          }
          {
            name = "tower-http";
            packageId = "tower-http";
            features = [ "full" ];
          }
        ];
        features = {
          "__private_docs" = [ "tower/full" "tower-http/full" ];
          "default" = [ "form" "http1" "json" "matched-path" "original-uri" "query" "tokio" "tower-log" ];
          "form" = [ "dep:serde_urlencoded" ];
          "headers" = [ "dep:headers" ];
          "http1" = [ "hyper/http1" ];
          "http2" = [ "hyper/http2" ];
          "json" = [ "dep:serde_json" "dep:serde_path_to_error" ];
          "macros" = [ "dep:axum-macros" ];
          "multipart" = [ "dep:multer" ];
          "query" = [ "dep:serde_urlencoded" ];
          "tokio" = [ "dep:tokio" "hyper/server" "hyper/tcp" "tower/make" ];
          "tower-log" = [ "tower/log" ];
          "ws" = [ "tokio" "dep:tokio-tungstenite" "dep:sha-1" "dep:base64" ];
        };
      };
      "axum-core" = rec {
        crateName = "axum-core";
        version = "0.3.0";
        edition = "2021";
        sha256 = "14mdwbimhclvhr0wvbyy9d4pglx16a8jikadr4nib085ba7mbf3r";
        dependencies = [
          {
            name = "async-trait";
            packageId = "async-trait";
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            features = [ "alloc" ];
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
          }
          {
            name = "mime";
            packageId = "mime";
          }
          {
            name = "tower-layer";
            packageId = "tower-layer";
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
        ];
        buildDependencies = [
          {
            name = "rustversion";
            packageId = "rustversion";
          }
        ];
        devDependencies = [
          {
            name = "futures-util";
            packageId = "futures-util";
          }
        ];

      };
      "backtrace" = rec {
        crateName = "backtrace";
        version = "0.3.66";
        edition = "2018";
        sha256 = "19yrfx0gprqmzphmf6qv32g93w76ny5g751ks1abdkqnsqcl7f6a";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "addr2line";
            packageId = "addr2line";
            usesDefaultFeatures = false;
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
          {
            name = "miniz_oxide";
            packageId = "miniz_oxide";
            usesDefaultFeatures = false;
          }
          {
            name = "object";
            packageId = "object";
            usesDefaultFeatures = false;
            features = [ "read_core" "elf" "macho" "pe" "unaligned" "archive" ];
          }
          {
            name = "rustc-demangle";
            packageId = "rustc-demangle";
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
        ];
        features = {
          "cpp_demangle" = [ "dep:cpp_demangle" ];
          "default" = [ "std" ];
          "rustc-serialize" = [ "dep:rustc-serialize" ];
          "serde" = [ "dep:serde" ];
          "serialize-rustc" = [ "rustc-serialize" ];
          "serialize-serde" = [ "serde" ];
          "verify-winapi" = [ "winapi/dbghelp" "winapi/handleapi" "winapi/libloaderapi" "winapi/memoryapi" "winapi/minwindef" "winapi/processthreadsapi" "winapi/synchapi" "winapi/tlhelp32" "winapi/winbase" "winapi/winnt" ];
          "winapi" = [ "dep:winapi" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "backtrace-on-stack-overflow" = rec {
        crateName = "backtrace-on-stack-overflow";
        version = "0.2.0";
        edition = "2018";
        sha256 = "1gf9b8wblqq74aal0g6130wq6a5lnmi9dji72xq71jypwimyy76m";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        dependencies = [
          {
            name = "backtrace";
            packageId = "backtrace";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "nix";
            packageId = "nix 0.23.1";
          }
        ];

      };
      "base64" = rec {
        crateName = "base64";
        version = "0.13.1";
        edition = "2018";
        sha256 = "1s494mqmzjb766fy1kqlccgfg2sdcjb6hzbvzqv2jw65fdi5h6wy";
        authors = [
          "Alice Maz <alice@alicemaz.com>"
          "Marshall Pierce <marshall@mpierce.org>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "bitflags" = rec {
        crateName = "bitflags";
        version = "1.3.2";
        edition = "2018";
        sha256 = "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "blake3" = rec {
        crateName = "blake3";
        version = "1.3.3";
        edition = "2018";
        sha256 = "1vyckzpfq46dkxyvy12gkx4nddr5g93alh38i1ka8i4mm1l29bj2";
        authors = [
          "Jack O'Connor <oconnor663@gmail.com>"
          "Samuel Neves"
        ];
        dependencies = [
          {
            name = "arrayref";
            packageId = "arrayref";
          }
          {
            name = "arrayvec";
            packageId = "arrayvec";
            usesDefaultFeatures = false;
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "constant_time_eq";
            packageId = "constant_time_eq";
          }
          {
            name = "digest";
            packageId = "digest";
            optional = true;
            features = [ "mac" ];
          }
          {
            name = "rayon";
            packageId = "rayon";
            optional = true;
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
        ];
        features = {
          "default" = [ "std" ];
          "digest" = [ "dep:digest" ];
          "rayon" = [ "dep:rayon" ];
          "std" = [ "digest/std" ];
          "traits-preview" = [ "digest" ];
        };
        resolvedDefaultFeatures = [ "default" "digest" "rayon" "std" ];
      };
      "block-buffer" = rec {
        crateName = "block-buffer";
        version = "0.10.3";
        edition = "2018";
        sha256 = "0zmy5vjwa6pbrhlgk94jg2pz08w5dd9nw2j7jfwrg3s96w3y5k39";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
        ];

      };
      "bumpalo" = rec {
        crateName = "bumpalo";
        version = "3.11.1";
        edition = "2021";
        sha256 = "1fl072w8wia496byc2h6ck2159sir2jjrb8niwq8h4916r8njbsp";
        authors = [
          "Nick Fitzgerald <fitzgen@gmail.com>"
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "byteorder" = rec {
        crateName = "byteorder";
        version = "1.4.3";
        edition = "2018";
        sha256 = "0456lv9xi1a5bcm32arknf33ikv76p3fr9yzki4lb2897p2qkh8l";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "bytes" = rec {
        crateName = "bytes";
        version = "1.3.0";
        edition = "2018";
        sha256 = "0g1s7b19wa2v5vqjif5d9al9gwxqnv310gv63cmaz88mdf34xcnz";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "cast" = rec {
        crateName = "cast";
        version = "0.3.0";
        edition = "2018";
        sha256 = "1dbyngbyz2qkk0jn2sxil8vrz3rnpcj142y184p9l4nbl9radcip";
        authors = [
          "Jorge Aparicio <jorge@japaric.io>"
        ];
        features = { };
      };
      "cc" = rec {
        crateName = "cc";
        version = "1.0.77";
        edition = "2018";
        crateBin = [ ];
        sha256 = "1r7bv6sxwmpw9xaibz4fdfs2w8xfdabki1yi35dr0zcg6c2kbxz9";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "jobserver" = [ "dep:jobserver" ];
          "parallel" = [ "jobserver" ];
        };
      };
      "cfg-if" = rec {
        crateName = "cfg-if";
        version = "1.0.0";
        edition = "2018";
        sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "ciborium" = rec {
        crateName = "ciborium";
        version = "0.2.0";
        edition = "2021";
        sha256 = "13vqkm88kaq8nvxhaj6qsl0gsc16rqsin014fx5902y6iib3ghdh";
        authors = [
          "Nathaniel McCallum <npmccallum@profian.com>"
        ];
        dependencies = [
          {
            name = "ciborium-io";
            packageId = "ciborium-io";
            features = [ "alloc" ];
          }
          {
            name = "ciborium-ll";
            packageId = "ciborium-ll";
          }
          {
            name = "serde";
            packageId = "serde";
            usesDefaultFeatures = false;
            features = [ "alloc" "derive" ];
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "ciborium-io/std" "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "ciborium-io" = rec {
        crateName = "ciborium-io";
        version = "0.2.0";
        edition = "2021";
        sha256 = "0sdkk7l7pqi2nsbm9c6g8im1gb1qdd83l25ja9xwhg07mx9yfv9l";
        authors = [
          "Nathaniel McCallum <npmccallum@profian.com>"
        ];
        features = {
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "ciborium-ll" = rec {
        crateName = "ciborium-ll";
        version = "0.2.0";
        edition = "2021";
        sha256 = "06ygqh33k3hp9r9mma43gf189b6cyq62clk65f4w1q54nni30c11";
        authors = [
          "Nathaniel McCallum <npmccallum@profian.com>"
        ];
        dependencies = [
          {
            name = "ciborium-io";
            packageId = "ciborium-io";
          }
          {
            name = "half";
            packageId = "half";
          }
        ];
        features = {
          "std" = [ "alloc" ];
        };
      };
      "clap 3.2.23" = rec {
        crateName = "clap";
        version = "3.2.23";
        edition = "2021";
        crateBin = [ ];
        sha256 = "19bkwkj49ha7mlip0gxsqb9xmd3jpr7ghvcx1hkx6icqrd2mqrbi";
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "clap_lex";
            packageId = "clap_lex 0.2.4";
          }
          {
            name = "indexmap";
            packageId = "indexmap";
          }
          {
            name = "textwrap";
            packageId = "textwrap";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "atty" = [ "dep:atty" ];
          "backtrace" = [ "dep:backtrace" ];
          "cargo" = [ "once_cell" ];
          "clap_derive" = [ "dep:clap_derive" ];
          "color" = [ "atty" "termcolor" ];
          "debug" = [ "clap_derive/debug" "backtrace" ];
          "default" = [ "std" "color" "suggestions" ];
          "deprecated" = [ "clap_derive/deprecated" ];
          "derive" = [ "clap_derive" "once_cell" ];
          "once_cell" = [ "dep:once_cell" ];
          "regex" = [ "dep:regex" ];
          "std" = [ "indexmap/std" ];
          "strsim" = [ "dep:strsim" ];
          "suggestions" = [ "strsim" ];
          "termcolor" = [ "dep:termcolor" ];
          "terminal_size" = [ "dep:terminal_size" ];
          "unicase" = [ "dep:unicase" ];
          "unicode" = [ "textwrap/unicode-width" "unicase" ];
          "unstable-doc" = [ "derive" "cargo" "wrap_help" "yaml" "env" "unicode" "regex" "unstable-replace" "unstable-grouped" ];
          "unstable-v4" = [ "clap_derive/unstable-v4" "deprecated" ];
          "wrap_help" = [ "terminal_size" "textwrap/terminal_size" ];
          "yaml" = [ "yaml-rust" ];
          "yaml-rust" = [ "dep:yaml-rust" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "clap 4.0.27" = rec {
        crateName = "clap";
        version = "4.0.27";
        edition = "2021";
        crateBin = [ ];
        sha256 = "0rjr4wacx5sz1sc4dikz4p8z4k53dfpm1s3sil8dfq0aib9dijqa";
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "clap_derive";
            packageId = "clap_derive";
            optional = true;
          }
          {
            name = "clap_lex";
            packageId = "clap_lex 0.3.0";
          }
          {
            name = "is-terminal";
            packageId = "is-terminal";
            optional = true;
          }
          {
            name = "once_cell";
            packageId = "once_cell";
            optional = true;
          }
          {
            name = "strsim";
            packageId = "strsim";
            optional = true;
          }
          {
            name = "termcolor";
            packageId = "termcolor";
            optional = true;
          }
        ];
        features = {
          "cargo" = [ "dep:once_cell" ];
          "color" = [ "dep:is-terminal" "dep:termcolor" ];
          "debug" = [ "clap_derive?/debug" "dep:backtrace" ];
          "default" = [ "std" "color" "help" "usage" "error-context" "suggestions" ];
          "deprecated" = [ "clap_derive?/deprecated" ];
          "derive" = [ "dep:clap_derive" "dep:once_cell" ];
          "suggestions" = [ "dep:strsim" "error-context" ];
          "unicode" = [ "dep:unicode-width" "dep:unicase" ];
          "unstable-doc" = [ "derive" "cargo" "wrap_help" "env" "unicode" "string" "unstable-replace" "unstable-grouped" ];
          "unstable-v5" = [ "clap_derive?/unstable-v5" "deprecated" ];
          "wrap_help" = [ "help" "dep:terminal_size" ];
        };
        resolvedDefaultFeatures = [ "color" "default" "derive" "env" "error-context" "help" "std" "suggestions" "usage" ];
      };
      "clap_derive" = rec {
        crateName = "clap_derive";
        version = "4.0.21";
        edition = "2021";
        sha256 = "054h5c62jy5c5li58696ymly0avyjvcbn1krcaawkbq2kwzk2xq1";
        procMacro = true;
        dependencies = [
          {
            name = "heck";
            packageId = "heck";
          }
          {
            name = "proc-macro-error";
            packageId = "proc-macro-error";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "full" ];
          }
        ];
        features = {
          "raw-deprecated" = [ "deprecated" ];
          "unstable-v5" = [ "deprecated" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "clap_lex 0.2.4" = rec {
        crateName = "clap_lex";
        version = "0.2.4";
        edition = "2021";
        sha256 = "1ib1a9v55ybnaws11l63az0jgz5xiy24jkdgsmyl7grcm3sz4l18";
        dependencies = [
          {
            name = "os_str_bytes";
            packageId = "os_str_bytes";
            usesDefaultFeatures = false;
            features = [ "raw_os_str" ];
          }
        ];

      };
      "clap_lex 0.3.0" = rec {
        crateName = "clap_lex";
        version = "0.3.0";
        edition = "2021";
        sha256 = "1a4dzbnlxiamfsn0pnkhn7n9bdfjh66j9fxm6mmr7d227vvrhh8d";
        dependencies = [
          {
            name = "os_str_bytes";
            packageId = "os_str_bytes";
            usesDefaultFeatures = false;
            features = [ "raw_os_str" ];
          }
        ];

      };
      "clipboard-win" = rec {
        crateName = "clipboard-win";
        version = "4.4.2";
        edition = "2018";
        sha256 = "06921d19sw5smq8wnlk4a703f014cclr8lsv17ffw143g691pay4";
        authors = [
          "Douman <douman@gmx.se>"
        ];
        dependencies = [
          {
            name = "error-code";
            packageId = "error-code";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "str-buf";
            packageId = "str-buf";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "winapi";
            packageId = "winapi";
            usesDefaultFeatures = false;
            target = { target, features }: (target."windows" or false);
            features = [ "basetsd" "shellapi" "winbase" "winuser" "winerror" "stringapiset" "errhandlingapi" "synchapi" ];
          }
        ];
        features = {
          "std" = [ "error-code/std" ];
        };
      };
      "codemap" = rec {
        crateName = "codemap";
        version = "0.1.3";
        edition = "2015";
        sha256 = "091azkslwkcijj3lp9ymb084y9a0wm4fkil7m613ja68r2snkrxr";
        authors = [
          "Kevin Mehall <km@kevinmehall.net>"
        ];

      };
      "codemap-diagnostic" = rec {
        crateName = "codemap-diagnostic";
        version = "0.1.1";
        edition = "2015";
        sha256 = "0a2hpb57f97816fjz89qrsz1b5r4j2s2a1p9z58ffx17iszfd82b";
        authors = [
          "Kevin Mehall <km@kevinmehall.net>"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "atty";
            packageId = "atty";
          }
          {
            name = "codemap";
            packageId = "codemap";
          }
          {
            name = "termcolor";
            packageId = "termcolor";
          }
        ];

      };
      "constant_time_eq" = rec {
        crateName = "constant_time_eq";
        version = "0.2.4";
        edition = "2021";
        sha256 = "0ycj3vn8g9lnkzv8wajz0r9rc2xgixs8j3pb0ivb7isxyv0qbbgk";
        authors = [
          "Cesar Eduardo Barros <cesarb@cesarb.eti.br>"
        ];

      };
      "countme" = rec {
        crateName = "countme";
        version = "3.0.1";
        edition = "2018";
        sha256 = "0dn62hhvgmwyxslh14r4nlbvz8h50cp5mnn1qhqsw63vs7yva13p";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        features = {
          "dashmap" = [ "dep:dashmap" ];
          "enable" = [ "dashmap" "once_cell" "rustc-hash" ];
          "once_cell" = [ "dep:once_cell" ];
          "print_at_exit" = [ "enable" ];
          "rustc-hash" = [ "dep:rustc-hash" ];
        };
      };
      "criterion" = rec {
        crateName = "criterion";
        version = "0.4.0";
        edition = "2018";
        sha256 = "1jsl4r0yc3fpkyjbi8aa1jrm69apqq9rxwnjnd9brqmaq44nxiz7";
        authors = [
          "Jorge Aparicio <japaricious@gmail.com>"
          "Brook Heisler <brookheisler@gmail.com>"
        ];
        dependencies = [
          {
            name = "anes";
            packageId = "anes";
          }
          {
            name = "atty";
            packageId = "atty";
          }
          {
            name = "cast";
            packageId = "cast";
          }
          {
            name = "ciborium";
            packageId = "ciborium";
          }
          {
            name = "clap";
            packageId = "clap 3.2.23";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "criterion-plot";
            packageId = "criterion-plot";
          }
          {
            name = "itertools";
            packageId = "itertools";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "num-traits";
            packageId = "num-traits";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "oorandom";
            packageId = "oorandom";
          }
          {
            name = "plotters";
            packageId = "plotters";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "svg_backend" "area_series" "line_series" ];
          }
          {
            name = "rayon";
            packageId = "rayon";
            optional = true;
          }
          {
            name = "regex";
            packageId = "regex";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "tinytemplate";
            packageId = "tinytemplate";
          }
          {
            name = "walkdir";
            packageId = "walkdir";
          }
        ];
        features = {
          "async" = [ "futures" ];
          "async-std" = [ "dep:async-std" ];
          "async_futures" = [ "futures/executor" "async" ];
          "async_smol" = [ "smol" "async" ];
          "async_std" = [ "async-std" "async" ];
          "async_tokio" = [ "tokio" "async" ];
          "csv" = [ "dep:csv" ];
          "csv_output" = [ "csv" ];
          "default" = [ "rayon" "plotters" "cargo_bench_support" ];
          "futures" = [ "dep:futures" ];
          "plotters" = [ "dep:plotters" ];
          "rayon" = [ "dep:rayon" ];
          "smol" = [ "dep:smol" ];
          "stable" = [ "csv_output" "html_reports" "async_futures" "async_smol" "async_tokio" "async_std" ];
          "tokio" = [ "dep:tokio" ];
        };
        resolvedDefaultFeatures = [ "cargo_bench_support" "default" "plotters" "rayon" ];
      };
      "criterion-plot" = rec {
        crateName = "criterion-plot";
        version = "0.5.0";
        edition = "2018";
        sha256 = "1c866xkjqqhzg4cjvg01f8w6xc1j3j7s58rdksl52skq89iq4l3b";
        authors = [
          "Jorge Aparicio <japaricious@gmail.com>"
          "Brook Heisler <brookheisler@gmail.com>"
        ];
        dependencies = [
          {
            name = "cast";
            packageId = "cast";
          }
          {
            name = "itertools";
            packageId = "itertools";
          }
        ];

      };
      "crossbeam-channel" = rec {
        crateName = "crossbeam-channel";
        version = "0.5.6";
        edition = "2018";
        sha256 = "08f5f043rljl82a06d1inda6nl2b030s7yfqp31ps8w8mzfh9pf2";
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "crossbeam-utils";
            packageId = "crossbeam-utils";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "crossbeam-utils" = [ "dep:crossbeam-utils" ];
          "default" = [ "std" ];
          "std" = [ "crossbeam-utils/std" ];
        };
        resolvedDefaultFeatures = [ "crossbeam-utils" "default" "std" ];
      };
      "crossbeam-deque" = rec {
        crateName = "crossbeam-deque";
        version = "0.8.2";
        edition = "2018";
        sha256 = "1z6ifz35lyk0mw818xcl3brgss2k8islhgdmfk9s5fwjnr982pki";
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "crossbeam-epoch";
            packageId = "crossbeam-epoch";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "crossbeam-utils";
            packageId = "crossbeam-utils";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "crossbeam-epoch" = [ "dep:crossbeam-epoch" ];
          "crossbeam-utils" = [ "dep:crossbeam-utils" ];
          "default" = [ "std" ];
          "std" = [ "crossbeam-epoch/std" "crossbeam-utils/std" ];
        };
        resolvedDefaultFeatures = [ "crossbeam-epoch" "crossbeam-utils" "default" "std" ];
      };
      "crossbeam-epoch" = rec {
        crateName = "crossbeam-epoch";
        version = "0.9.13";
        edition = "2018";
        sha256 = "0nlxkmx3q93jvsshnmwaiich6bf7ddq1jzhzmaw4pxrf9hgsza81";
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "crossbeam-utils";
            packageId = "crossbeam-utils";
            usesDefaultFeatures = false;
          }
          {
            name = "memoffset";
            packageId = "memoffset 0.7.1";
          }
          {
            name = "scopeguard";
            packageId = "scopeguard";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "loom" = [ "loom-crate" "crossbeam-utils/loom" ];
          "loom-crate" = [ "dep:loom-crate" ];
          "nightly" = [ "crossbeam-utils/nightly" ];
          "std" = [ "alloc" "crossbeam-utils/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "crossbeam-utils" = rec {
        crateName = "crossbeam-utils";
        version = "0.8.14";
        edition = "2018";
        sha256 = "17wjbnlj4whbdvc1syk2gfy8maqx01sg2hmqpdnjh9l7g7x6ddsg";
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
        ];
        features = {
          "default" = [ "std" ];
          "loom" = [ "dep:loom" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "crypto-common" = rec {
        crateName = "crypto-common";
        version = "0.1.6";
        edition = "2018";
        sha256 = "1cvby95a6xg7kxdz5ln3rl9xh66nz66w46mm3g56ri1z5x815yqv";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
            features = [ "more_lengths" ];
          }
          {
            name = "typenum";
            packageId = "typenum";
          }
        ];
        features = {
          "getrandom" = [ "rand_core/getrandom" ];
          "rand_core" = [ "dep:rand_core" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "ctor" = rec {
        crateName = "ctor";
        version = "0.1.26";
        edition = "2018";
        sha256 = "15m0wqhv12p25xkxz5dxvg23r7a6bkh7p8zi1cdhgswjhdl028vd";
        procMacro = true;
        authors = [
          "Matt Mastracci <matthew@mastracci.com>"
        ];
        dependencies = [
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            usesDefaultFeatures = false;
            features = [ "full" "parsing" "printing" "proc-macro" ];
          }
        ];

      };
      "diff" = rec {
        crateName = "diff";
        version = "0.1.13";
        edition = "2015";
        sha256 = "1j0nzjxci2zqx63hdcihkp0a4dkdmzxd7my4m7zk6cjyfy34j9an";
        authors = [
          "Utkarsh Kukreti <utkarshkukreti@gmail.com>"
        ];

      };
      "digest" = rec {
        crateName = "digest";
        version = "0.10.6";
        edition = "2018";
        sha256 = "0vz74785s96g727vg37iwkjvbkcfzp093j49ihhyf8sh9s7kfs41";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "block-buffer";
            packageId = "block-buffer";
            optional = true;
          }
          {
            name = "crypto-common";
            packageId = "crypto-common";
          }
          {
            name = "subtle";
            packageId = "subtle";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "blobby" = [ "dep:blobby" ];
          "block-buffer" = [ "dep:block-buffer" ];
          "const-oid" = [ "dep:const-oid" ];
          "core-api" = [ "block-buffer" ];
          "default" = [ "core-api" ];
          "dev" = [ "blobby" ];
          "mac" = [ "subtle" ];
          "oid" = [ "const-oid" ];
          "rand_core" = [ "crypto-common/rand_core" ];
          "std" = [ "alloc" "crypto-common/std" ];
          "subtle" = [ "dep:subtle" ];
        };
        resolvedDefaultFeatures = [ "alloc" "block-buffer" "core-api" "default" "mac" "std" "subtle" ];
      };
      "dirs" = rec {
        crateName = "dirs";
        version = "4.0.0";
        edition = "2015";
        sha256 = "0n8020zl4f0frfnzvgb9agvk4a14i1kjz4daqnxkgslndwmaffna";
        authors = [
          "Simon Ochsenreither <simon@ochsenreither.de>"
        ];
        dependencies = [
          {
            name = "dirs-sys";
            packageId = "dirs-sys";
          }
        ];

      };
      "dirs-next" = rec {
        crateName = "dirs-next";
        version = "2.0.0";
        edition = "2018";
        sha256 = "1q9kr151h9681wwp6is18750ssghz6j9j7qm7qi1ngcwy7mzi35r";
        authors = [
          "The @xdg-rs members"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "dirs-sys-next";
            packageId = "dirs-sys-next";
          }
        ];

      };
      "dirs-sys" = rec {
        crateName = "dirs-sys";
        version = "0.3.7";
        edition = "2015";
        sha256 = "19md1cnkazham8a6kh22v12d8hh3raqahfk6yb043vrjr68is78v";
        authors = [
          "Simon Ochsenreither <simon@ochsenreither.de>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "redox_users";
            packageId = "redox_users";
            usesDefaultFeatures = false;
            target = { target, features }: ("redox" == target."os");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "knownfolders" "objbase" "shlobj" "winbase" "winerror" ];
          }
        ];

      };
      "dirs-sys-next" = rec {
        crateName = "dirs-sys-next";
        version = "0.1.2";
        edition = "2018";
        sha256 = "0kavhavdxv4phzj4l0psvh55hszwnr0rcz8sxbvx20pyqi2a3gaf";
        authors = [
          "The @xdg-rs members"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "redox_users";
            packageId = "redox_users";
            usesDefaultFeatures = false;
            target = { target, features }: ("redox" == target."os");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "knownfolders" "objbase" "shlobj" "winbase" "winerror" ];
          }
        ];

      };
      "either" = rec {
        crateName = "either";
        version = "1.8.0";
        edition = "2018";
        sha256 = "15z70yaivlkpx27vzv99ibf8d2x5jp24yn69y0xi20w86v4c3rch";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "use_std" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" "use_std" ];
      };
      "endian-type" = rec {
        crateName = "endian-type";
        version = "0.1.2";
        edition = "2015";
        sha256 = "0bbh88zaig1jfqrm7w3gx0pz81kw2jakk3055vbgapw3dmk08ky3";
        authors = [
          "Lolirofle <lolipopple@hotmail.com>"
        ];

      };
      "errno" = rec {
        crateName = "errno";
        version = "0.2.8";
        edition = "2015";
        sha256 = "18cnqgk8r6lq1n5cfy3bryiyz9zkqr10dxj49sa3fkzfamih8fgn";
        authors = [
          "Chris Wong <lambda.fairy@gmail.com>"
        ];
        dependencies = [
          {
            name = "errno-dragonfly";
            packageId = "errno-dragonfly";
            target = { target, features }: ("dragonfly" == target."os");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ("hermit" == target."os");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ("wasi" == target."os");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "errhandlingapi" "minwindef" "ntdef" "winbase" ];
          }
        ];
        features = {
          "default" = [ "std" ];
        };
      };
      "errno-dragonfly" = rec {
        crateName = "errno-dragonfly";
        version = "0.1.2";
        edition = "2018";
        sha256 = "1grrmcm6q8512hkq5yzch3yv8wafflc2apbmsaabiyk44yqz2s5a";
        authors = [
          "Michael Neumann <mneumann@ntecs.de>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
        ];

      };
      "error-code" = rec {
        crateName = "error-code";
        version = "2.3.1";
        edition = "2018";
        sha256 = "08baxlf8qz01lgjsdbfhs193r9y1nlc566s5xvzyf4dzwy8qkwb4";
        authors = [
          "Douman <douman@gmx.se>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
          {
            name = "str-buf";
            packageId = "str-buf";
          }
        ];
        features = { };
      };
      "fastrand" = rec {
        crateName = "fastrand";
        version = "1.8.0";
        edition = "2018";
        sha256 = "16b4z2rig7zmyxw1hsiydv89h9wcshilds13dfpc919kmb7hg957";
        authors = [
          "Stjepan Glavina <stjepang@gmail.com>"
        ];
        dependencies = [
          {
            name = "instant";
            packageId = "instant";
            target = { target, features }: ("wasm32" == target."arch");
          }
        ];
        devDependencies = [
          {
            name = "instant";
            packageId = "instant";
            target = { target, features }: ("wasm32" == target."arch");
            features = [ "wasm-bindgen" ];
          }
        ];

      };
      "fd-lock" = rec {
        crateName = "fd-lock";
        version = "3.0.8";
        edition = "2018";
        sha256 = "09qa9gmc83fy0a0li701hhfbml2x2ivlp7h4q7diappakydwc8dv";
        authors = [
          "Yoshua Wuyts <yoshuawuyts@gmail.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "rustix";
            packageId = "rustix";
            target = { target, features }: (target."unix" or false);
            features = [ "fs" ];
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (target."windows" or false);
            features = [ "Win32_Foundation" "Win32_Storage_FileSystem" "Win32_System_IO" ];
          }
        ];

      };
      "fixedbitset" = rec {
        crateName = "fixedbitset";
        version = "0.4.2";
        edition = "2015";
        sha256 = "101v41amgv5n9h4hcghvrbfk5vrncx1jwm35rn5szv4rk55i7rqc";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
        };
      };
      "fnv" = rec {
        crateName = "fnv";
        version = "1.0.7";
        edition = "2015";
        sha256 = "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz";
        libPath = "lib.rs";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "fuchsia-cprng" = rec {
        crateName = "fuchsia-cprng";
        version = "0.1.1";
        edition = "2018";
        sha256 = "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0";
        authors = [
          "Erick Tryzelaar <etryzelaar@google.com>"
        ];

      };
      "futures-channel" = rec {
        crateName = "futures-channel";
        version = "0.3.25";
        edition = "2018";
        sha256 = "1vcyyxwdgh92nl277053zvqd3qpzf6jhb5kibgs0aq95j9d2dfjj";
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" ];
          "default" = [ "std" ];
          "futures-sink" = [ "dep:futures-sink" ];
          "sink" = [ "futures-sink" ];
          "std" = [ "alloc" "futures-core/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-core" = rec {
        crateName = "futures-core";
        version = "0.3.25";
        edition = "2018";
        sha256 = "1b6k9fd6bkga9556jyx78di278bdp2p81cls99nawcs6grx9m404";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-sink" = rec {
        crateName = "futures-sink";
        version = "0.3.25";
        edition = "2018";
        sha256 = "1ygwh57nzinpj2sk6akc6sgavl3njsrjyimvy50dyydalkqmrh9r";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-task" = rec {
        crateName = "futures-task";
        version = "0.3.25";
        edition = "2018";
        sha256 = "1sp6k18py8nv3dmy3j00w83bfmk6fzi7mwzxsflym9nrqlx3kyrg";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" ];
      };
      "futures-util" = rec {
        crateName = "futures-util";
        version = "0.3.25";
        edition = "2018";
        sha256 = "1mk5vh8q5bkkvxji8r1nimh87hgi190nz4l4zynrqbxxgac7cxhr";
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "pin-utils";
            packageId = "pin-utils";
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" "futures-task/alloc" ];
          "async-await-macro" = [ "async-await" "futures-macro" ];
          "channel" = [ "std" "futures-channel" ];
          "compat" = [ "std" "futures_01" ];
          "default" = [ "std" "async-await" "async-await-macro" ];
          "futures-channel" = [ "dep:futures-channel" ];
          "futures-io" = [ "dep:futures-io" ];
          "futures-macro" = [ "dep:futures-macro" ];
          "futures-sink" = [ "dep:futures-sink" ];
          "futures_01" = [ "dep:futures_01" ];
          "io" = [ "std" "futures-io" "memchr" ];
          "io-compat" = [ "io" "compat" "tokio-io" ];
          "memchr" = [ "dep:memchr" ];
          "sink" = [ "futures-sink" ];
          "slab" = [ "dep:slab" ];
          "std" = [ "alloc" "futures-core/std" "futures-task/std" "slab" ];
          "tokio-io" = [ "dep:tokio-io" ];
          "unstable" = [ "futures-core/unstable" "futures-task/unstable" ];
          "write-all-vectored" = [ "io" ];
        };
        resolvedDefaultFeatures = [ "alloc" ];
      };
      "generic-array" = rec {
        crateName = "generic-array";
        version = "0.14.6";
        edition = "2015";
        sha256 = "1fgi07v268jd0mr6xc42rjbq0wzl8ngsgp5b8wj33wwpfaa9xx5z";
        libName = "generic_array";
        authors = [
          "Bartล‚omiej Kamiล„ski <fizyk20@gmail.com>"
          "Aaron Trent <novacrazy@gmail.com>"
        ];
        dependencies = [
          {
            name = "typenum";
            packageId = "typenum";
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
          "zeroize" = [ "dep:zeroize" ];
        };
        resolvedDefaultFeatures = [ "more_lengths" ];
      };
      "getrandom" = rec {
        crateName = "getrandom";
        version = "0.2.8";
        edition = "2018";
        sha256 = "0cbb766pcyi7sws0fnp1pxkz0nhiya0ckallq502bxmq49mfnnn0";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "wasi";
            packageId = "wasi";
            target = { target, features }: ("wasi" == target."os");
          }
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "js" = [ "wasm-bindgen" "js-sys" ];
          "js-sys" = [ "dep:js-sys" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "libc/rustc-dep-of-std" "wasi/rustc-dep-of-std" ];
          "wasm-bindgen" = [ "dep:wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "gimli" = rec {
        crateName = "gimli";
        version = "0.26.2";
        edition = "2018";
        sha256 = "0pafbk64rznibgnvfidhm1pqxd14a5s9m50yvsgnbv38b8n0w0r2";
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "read" "write" "std" "fallible-iterator" "endian-reader" ];
          "endian-reader" = [ "read" "stable_deref_trait" ];
          "fallible-iterator" = [ "dep:fallible-iterator" ];
          "indexmap" = [ "dep:indexmap" ];
          "read" = [ "read-core" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" ];
          "stable_deref_trait" = [ "dep:stable_deref_trait" ];
          "std" = [ "fallible-iterator/std" "stable_deref_trait/std" ];
          "write" = [ "indexmap" ];
        };
        resolvedDefaultFeatures = [ "read" "read-core" ];
      };
      "glob" = rec {
        crateName = "glob";
        version = "0.3.0";
        edition = "2015";
        sha256 = "0x25wfr7vg3mzxc9x05dcphvd3nwlcmbnxrvwcvrrdwplcrrk4cv";
        authors = [
          "The Rust Project Developers"
        ];

      };
      "h2" = rec {
        crateName = "h2";
        version = "0.3.15";
        edition = "2018";
        sha256 = "1x6h3pqi4gzgcl6xdfpjmbm0mkh2mckgav4in9b54dfskny2k7sz";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "fnv";
            packageId = "fnv";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "indexmap";
            packageId = "indexmap";
            features = [ "std" ];
          }
          {
            name = "slab";
            packageId = "slab";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" ];
          }
          {
            name = "tokio-util";
            packageId = "tokio-util";
            features = [ "codec" ];
          }
          {
            name = "tracing";
            packageId = "tracing";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "rt-multi-thread" "macros" "sync" "net" ];
          }
        ];
        features = { };
      };
      "half" = rec {
        crateName = "half";
        version = "1.8.2";
        edition = "2018";
        sha256 = "1mqbmx2m9qd4lslkb42fzgldsklhv9c4bxsc8j82r80d8m24mfza";
        authors = [
          "Kathryn Long <squeeself@gmail.com>"
        ];
        features = {
          "bytemuck" = [ "dep:bytemuck" ];
          "num-traits" = [ "dep:num-traits" ];
          "serde" = [ "dep:serde" ];
          "serialize" = [ "serde" ];
          "std" = [ "alloc" ];
          "zerocopy" = [ "dep:zerocopy" ];
        };
      };
      "hashbrown" = rec {
        crateName = "hashbrown";
        version = "0.12.3";
        edition = "2021";
        sha256 = "1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        features = {
          "ahash" = [ "dep:ahash" ];
          "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ];
          "alloc" = [ "dep:alloc" ];
          "bumpalo" = [ "dep:bumpalo" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "ahash" "inline-more" ];
          "rayon" = [ "dep:rayon" ];
          "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "inline-more" "raw" ];
      };
      "heck" = rec {
        crateName = "heck";
        version = "0.4.0";
        edition = "2018";
        sha256 = "1ygphsnfwl2xpa211vbqkz1db6ri1kvkg8p8sqybi37wclg7fh15";
        authors = [
          "Without Boats <woboats@gmail.com>"
        ];
        features = {
          "unicode" = [ "unicode-segmentation" ];
          "unicode-segmentation" = [ "dep:unicode-segmentation" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "hermit-abi 0.1.19" = rec {
        crateName = "hermit-abi";
        version = "0.1.19";
        edition = "2018";
        sha256 = "0cxcm8093nf5fyn114w8vxbrbcyvv91d4015rdnlgfll7cs6gd32";
        authors = [
          "Stefan Lankes"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins/rustc-dep-of-std" "libc/rustc-dep-of-std" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "hermit-abi 0.2.6" = rec {
        crateName = "hermit-abi";
        version = "0.2.6";
        edition = "2021";
        sha256 = "1iz439yz9qzk3rh9pqx2rz5c4107v3qbd7bppfsbzb1mzr02clgf";
        authors = [
          "Stefan Lankes"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins/rustc-dep-of-std" "libc/rustc-dep-of-std" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "http" = rec {
        crateName = "http";
        version = "0.2.8";
        edition = "2018";
        sha256 = "1693pkg43czk26fima0l0l5h2h9rvm8n84pff5zc35b9w90kvx3m";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "fnv";
            packageId = "fnv";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
        ];

      };
      "http-body" = rec {
        crateName = "http-body";
        version = "0.4.5";
        edition = "2018";
        sha256 = "1l967qwwlvhp198xdrnc0p5d7jwfcp6q2lm510j6zqw4s4b8zwym";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Lucio Franco <luciofranco14@gmail.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
        ];

      };
      "http-range-header" = rec {
        crateName = "http-range-header";
        version = "0.3.0";
        edition = "2018";
        sha256 = "0aas8c5dagfhcqpmqq9xw6a8nkl3lfg4g4mpddvyz1cj1bnqxzhb";
        features = { };
      };
      "httparse" = rec {
        crateName = "httparse";
        version = "1.8.0";
        edition = "2018";
        sha256 = "010rrfahm1jss3p022fqf3j3jmm72vhn4iqhykahb9ynpaag75yq";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "httpdate" = rec {
        crateName = "httpdate";
        version = "1.0.2";
        edition = "2018";
        sha256 = "08bln7b1ibdw26gl8h4dr6rlybvlkyhlha309xbh9ghxh9nf78f4";
        authors = [
          "Pyfisch <pyfisch@posteo.org>"
        ];

      };
      "hyper" = rec {
        crateName = "hyper";
        version = "0.14.23";
        edition = "2018";
        sha256 = "0g5x39g53wqpdhbp5zcjhizjf7qbnsq2y6mg3g5nc8cxmkx12iq3";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures-channel";
            packageId = "futures-channel";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
          {
            name = "h2";
            packageId = "h2";
            optional = true;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
          }
          {
            name = "httparse";
            packageId = "httparse";
          }
          {
            name = "httpdate";
            packageId = "httpdate";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "socket2";
            packageId = "socket2";
            optional = true;
            features = [ "all" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
          {
            name = "tracing";
            packageId = "tracing";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "want";
            packageId = "want";
          }
        ];
        devDependencies = [
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            features = [ "alloc" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "fs" "macros" "io-std" "io-util" "rt" "rt-multi-thread" "sync" "time" "test-util" ];
          }
        ];
        features = {
          "ffi" = [ "libc" ];
          "full" = [ "client" "http1" "http2" "server" "stream" "runtime" ];
          "h2" = [ "dep:h2" ];
          "http2" = [ "h2" ];
          "libc" = [ "dep:libc" ];
          "runtime" = [ "tcp" "tokio/rt" "tokio/time" ];
          "socket2" = [ "dep:socket2" ];
          "tcp" = [ "socket2" "tokio/net" "tokio/rt" "tokio/time" ];
        };
        resolvedDefaultFeatures = [ "client" "default" "full" "h2" "http1" "http2" "runtime" "server" "socket2" "stream" "tcp" ];
      };
      "hyper-timeout" = rec {
        crateName = "hyper-timeout";
        version = "0.4.1";
        edition = "2018";
        sha256 = "1c8k3g8k2yh1gxvsx9p7amkimgxhl9kafwpj7jyf8ywc5r45ifdv";
        authors = [
          "Herman J. Radtke III <herman@hermanradtke.com>"
        ];
        dependencies = [
          {
            name = "hyper";
            packageId = "hyper";
            features = [ "client" ];
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
          }
          {
            name = "tokio-io-timeout";
            packageId = "tokio-io-timeout";
          }
        ];
        devDependencies = [
          {
            name = "hyper";
            packageId = "hyper";
            features = [ "client" "http1" "tcp" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-std" "io-util" "macros" ];
          }
        ];

      };
      "indexmap" = rec {
        crateName = "indexmap";
        version = "1.9.2";
        edition = "2021";
        sha256 = "16dkr2h5p379jcr8rnb420396yvzid2myirc2w70zcf43yffg18q";
        dependencies = [
          {
            name = "hashbrown";
            packageId = "hashbrown";
            usesDefaultFeatures = false;
            features = [ "raw" ];
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "quickcheck" = [ "dep:quickcheck" ];
          "rayon" = [ "dep:rayon" ];
          "rustc-rayon" = [ "dep:rustc-rayon" ];
          "serde" = [ "dep:serde" ];
          "serde-1" = [ "serde" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "instant" = rec {
        crateName = "instant";
        version = "0.1.12";
        edition = "2018";
        sha256 = "0b2bx5qdlwayriidhrag8vhy10kdfimfhmb3jnjmsz2h9j1bwnvs";
        authors = [
          "sebcrozet <developer@crozet.re>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
        ];
        features = {
          "js-sys" = [ "dep:js-sys" ];
          "stdweb" = [ "dep:stdweb" ];
          "wasm-bindgen" = [ "js-sys" "wasm-bindgen_rs" "web-sys" ];
          "wasm-bindgen_rs" = [ "dep:wasm-bindgen_rs" ];
          "web-sys" = [ "dep:web-sys" ];
        };
      };
      "io-lifetimes" = rec {
        crateName = "io-lifetimes";
        version = "1.0.1";
        edition = "2018";
        sha256 = "11rwfr6as9p5fgx6g43gnd5gdaa19xq7yhqzw3c18d1z9c16glx7";
        authors = [
          "Dan Gohman <dev@sunfishcode.online>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            target = { target, features }: (!(target."windows" or false));
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            optional = true;
            target = { target, features }: (target."windows" or false);
            features = [ "Win32_Foundation" "Win32_Storage_FileSystem" "Win32_Networking_WinSock" "Win32_Security" "Win32_System_IO" "Win32_System_Threading" ];
          }
        ];
        features = {
          "async-std" = [ "dep:async-std" ];
          "close" = [ "libc" "windows-sys" ];
          "default" = [ "close" ];
          "fs-err" = [ "dep:fs-err" ];
          "libc" = [ "dep:libc" ];
          "mio" = [ "dep:mio" ];
          "os_pipe" = [ "dep:os_pipe" ];
          "socket2" = [ "dep:socket2" ];
          "tokio" = [ "dep:tokio" ];
          "windows-sys" = [ "dep:windows-sys" ];
        };
        resolvedDefaultFeatures = [ "close" "default" "libc" "windows-sys" ];
      };
      "is-terminal" = rec {
        crateName = "is-terminal";
        version = "0.4.0";
        edition = "2018";
        sha256 = "0b9mcxb46mzz1q1i4cdmp5j7g042ccqg3q5357prs75l5rpbrrda";
        authors = [
          "softprops <d.tangren@gmail.com>"
          "Dan Gohman <dev@sunfishcode.online>"
        ];
        dependencies = [
          {
            name = "hermit-abi";
            packageId = "hermit-abi 0.2.6";
            target = { target, features }: ("hermit" == target."os");
          }
          {
            name = "io-lifetimes";
            packageId = "io-lifetimes";
          }
          {
            name = "rustix";
            packageId = "rustix";
            target = { target, features }: (!((target."windows" or false) || ("hermit" == target."os")));
            features = [ "termios" ];
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (target."windows" or false);
            features = [ "Win32_Foundation" "Win32_System_Console" ];
          }
        ];

      };
      "itertools" = rec {
        crateName = "itertools";
        version = "0.10.5";
        edition = "2018";
        sha256 = "0ww45h7nxx5kj6z2y6chlskxd1igvs4j507anr6dzg99x1h25zdh";
        authors = [
          "bluss"
        ];
        dependencies = [
          {
            name = "either";
            packageId = "either";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "use_std" ];
          "use_std" = [ "use_alloc" "either/use_std" ];
        };
        resolvedDefaultFeatures = [ "default" "use_alloc" "use_std" ];
      };
      "itoa" = rec {
        crateName = "itoa";
        version = "1.0.4";
        edition = "2018";
        sha256 = "1k2y06z87wjxda4v751ybf7n9q4kwl9ly9jffa78vpxs3qsas5s2";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "no-panic" = [ "dep:no-panic" ];
        };
      };
      "js-sys" = rec {
        crateName = "js-sys";
        version = "0.3.60";
        edition = "2018";
        sha256 = "0isslargvb1cd5xfk73xrxqni3p2ksharkp22swmc25zwgrrsh29";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];

      };
      "lazy_static" = rec {
        crateName = "lazy_static";
        version = "1.4.0";
        edition = "2015";
        sha256 = "0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2";
        authors = [
          "Marvin Lรถbel <loebel.marvin@gmail.com>"
        ];
        features = {
          "spin" = [ "dep:spin" ];
          "spin_no_std" = [ "spin" ];
        };
      };
      "libc" = rec {
        crateName = "libc";
        version = "0.2.137";
        edition = "2015";
        sha256 = "12dz2lk4a7lm03k079n2rkm1l6cpdhvy6nrngbfprzrv19icqzzw";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ];
          "rustc-std-workspace-core" = [ "dep:rustc-std-workspace-core" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "extra_traits" "std" ];
      };
      "linux-raw-sys" = rec {
        crateName = "linux-raw-sys";
        version = "0.1.3";
        edition = "2018";
        sha256 = "0zxlp1c4h7kkc4ldgcj5cn7dzynvlksg8y0s9czn2v1sjvc0i7wg";
        authors = [
          "Dan Gohman <dev@sunfishcode.online>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" "general" "errno" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" "no_std" ];
        };
        resolvedDefaultFeatures = [ "errno" "general" "ioctl" "no_std" ];
      };
      "log" = rec {
        crateName = "log";
        version = "0.4.17";
        edition = "2015";
        sha256 = "0biqlaaw1lsr8bpnmbcc0fvgjj34yy79ghqzyi0ali7vgil2xcdb";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
        ];
        features = {
          "kv_unstable" = [ "value-bag" ];
          "kv_unstable_serde" = [ "kv_unstable_std" "value-bag/serde" "serde" ];
          "kv_unstable_std" = [ "std" "kv_unstable" "value-bag/error" ];
          "kv_unstable_sval" = [ "kv_unstable" "value-bag/sval" "sval" ];
          "serde" = [ "dep:serde" ];
          "sval" = [ "dep:sval" ];
          "value-bag" = [ "dep:value-bag" ];
        };
      };
      "matchit" = rec {
        crateName = "matchit";
        version = "0.7.0";
        edition = "2021";
        sha256 = "0h7a1a57wamz0305dipj20shv2b5dw47jjp6dsgfaxmpmznlhwmq";
        authors = [
          "Ibraheem Ahmed <ibraheem@ibraheem.ca>"
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "memchr" = rec {
        crateName = "memchr";
        version = "2.5.0";
        edition = "2018";
        sha256 = "0vanfk5mzs1g1syqnj03q8n0syggnhn55dq535h2wxr7rwpfbzrd";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
          "bluss"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" ];
          "libc" = [ "dep:libc" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "memoffset 0.6.5" = rec {
        crateName = "memoffset";
        version = "0.6.5";
        edition = "2015";
        sha256 = "1kkrzll58a3ayn5zdyy9i1f1v3mx0xgl29x0chq614zazba638ss";
        authors = [
          "Gilad Naaman <gilad.naaman@gmail.com>"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "memoffset 0.7.1" = rec {
        crateName = "memoffset";
        version = "0.7.1";
        edition = "2015";
        sha256 = "1x2zv8hv9c9bvgmhsjvr9bymqwyxvgbca12cm8xkhpyy5k1r7s2x";
        authors = [
          "Gilad Naaman <gilad.naaman@gmail.com>"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "mime" = rec {
        crateName = "mime";
        version = "0.3.16";
        edition = "2015";
        sha256 = "13dcm9lh01hdwfjcg74ppljyjfj1c6w3a3cwkhxf0w8wa37cfq1a";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];

      };
      "miniz_oxide" = rec {
        crateName = "miniz_oxide";
        version = "0.5.4";
        edition = "2018";
        sha256 = "0d2xcypr8s0skd81dhlrylas1j794qyz74snm11jc8kmy6l0nncn";
        authors = [
          "Frommi <daniil.liferenko@gmail.com>"
          "oyvindln <oyvindln@users.noreply.github.com>"
        ];
        dependencies = [
          {
            name = "adler";
            packageId = "adler";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "adler/rustc-dep-of-std" ];
          "simd" = [ "simd-adler32" ];
          "simd-adler32" = [ "dep:simd-adler32" ];
        };
      };
      "mio" = rec {
        crateName = "mio";
        version = "0.8.5";
        edition = "2018";
        sha256 = "1pjqn6jvmqkgyykf2z5danqka1rfs3il7w4d0qin8yi062y35mz5";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Thomas de Zeeuw <thomasdezeeuw@gmail.com>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ("wasi" == target."os");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "wasi";
            packageId = "wasi";
            target = { target, features }: ("wasi" == target."os");
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (target."windows" or false);
            features = [ "Win32_Foundation" "Win32_Networking_WinSock" "Win32_Storage_FileSystem" "Win32_System_IO" "Win32_System_WindowsProgramming" ];
          }
        ];
        features = {
          "os-ext" = [ "os-poll" "windows-sys/Win32_System_Pipes" "windows-sys/Win32_Security" ];
        };
        resolvedDefaultFeatures = [ "default" "net" "os-ext" "os-poll" ];
      };
      "multimap" = rec {
        crateName = "multimap";
        version = "0.8.3";
        edition = "2015";
        sha256 = "0sicyz4n500vdhgcxn4g8jz97cp1ijir1rnbgph3pmx9ckz4dkp5";
        authors = [
          "Hรฅvar Nรธvik <havar.novik@gmail.com>"
        ];
        features = {
          "default" = [ "serde_impl" ];
          "serde" = [ "dep:serde" ];
          "serde_impl" = [ "serde" ];
        };
      };
      "nibble_vec" = rec {
        crateName = "nibble_vec";
        version = "0.1.0";
        edition = "2018";
        sha256 = "0hsdp3s724s30hkqz74ky6sqnadhp2xwcj1n1hzy4vzkz4yxi9bp";
        authors = [
          "Michael Sproul <micsproul@gmail.com>"
        ];
        dependencies = [
          {
            name = "smallvec";
            packageId = "smallvec";
          }
        ];

      };
      "nix 0.23.1" = rec {
        crateName = "nix";
        version = "0.23.1";
        edition = "2018";
        sha256 = "1iimixk7y2qk0jswqich4mkd8kqyzdghcgy6203j8fmxmhbn71lz";
        authors = [
          "The nix-rust Project Developers"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "libc";
            packageId = "libc";
            features = [ "extra_traits" ];
          }
          {
            name = "memoffset";
            packageId = "memoffset 0.6.5";
            target = { target, features }: (!("redox" == target."os"));
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            target = { target, features }: ("dragonfly" == target."os");
          }
        ];

      };
      "nix 0.24.2" = rec {
        crateName = "nix";
        version = "0.24.2";
        edition = "2018";
        sha256 = "1z35n1bhzslr7zawy2c0fl90jjy9l5b3lnsidls3908vfk0xnp0r";
        authors = [
          "The nix-rust Project Developers"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "libc";
            packageId = "libc";
            features = [ "extra_traits" ];
          }
        ];
        features = {
          "default" = [ "acct" "aio" "dir" "env" "event" "feature" "fs" "hostname" "inotify" "ioctl" "kmod" "mman" "mount" "mqueue" "net" "personality" "poll" "process" "pthread" "ptrace" "quota" "reboot" "resource" "sched" "signal" "socket" "term" "time" "ucontext" "uio" "user" "zerocopy" ];
          "dir" = [ "fs" ];
          "memoffset" = [ "dep:memoffset" ];
          "mount" = [ "uio" ];
          "mqueue" = [ "fs" ];
          "net" = [ "socket" ];
          "ptrace" = [ "process" ];
          "sched" = [ "process" ];
          "signal" = [ "process" ];
          "socket" = [ "memoffset" ];
          "ucontext" = [ "signal" ];
          "user" = [ "feature" ];
          "zerocopy" = [ "fs" "uio" ];
        };
        resolvedDefaultFeatures = [ "fs" "ioctl" "poll" "process" "signal" "term" ];
      };
      "nix-cli" = rec {
        crateName = "nix-cli";
        version = "0.1.0";
        edition = "2021";
        crateBin = [
          {
            name = "nix-cli";
            path = "src/main.rs";
            requiredFeatures = [ ];
          }
          {
            name = "nix-store";
            path = "src/bin/nix-store.rs";
            requiredFeatures = [ ];
          }
        ];
        # We can't filter paths with references in Nix 2.4
        # See https://github.com/NixOS/nix/issues/5410
        src =
          if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
          then lib.cleanSourceWith { filter = sourceFilter; src = ./nix_cli; }
          else ./nix_cli;
        dependencies = [
          {
            name = "clap";
            packageId = "clap 4.0.27";
          }
          {
            name = "tempfile";
            packageId = "tempfile";
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "integration_tests" ];
      };
      "num-traits" = rec {
        crateName = "num-traits";
        version = "0.2.15";
        edition = "2015";
        sha256 = "1kfdqqw2ndz0wx2j75v9nbjx7d3mh3150zs4p5595y02rwsdx3jp";
        authors = [
          "The Rust Project Developers"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "libm" = [ "dep:libm" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "num_cpus" = rec {
        crateName = "num_cpus";
        version = "1.14.0";
        edition = "2015";
        sha256 = "1xfyz6qfmcgnlgzk4889hdndp1l2pkry8l5iq8my0wac69j8w1gn";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "hermit-abi";
            packageId = "hermit-abi 0.1.19";
            target = { target, features }: ((("x86_64" == target."arch") || ("aarch64" == target."arch")) && ("hermit" == target."os"));
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (!(target."windows" or false));
          }
        ];

      };
      "object" = rec {
        crateName = "object";
        version = "0.29.0";
        edition = "2018";
        sha256 = "0lzblxwxcih7j4z2cfx9094caax97hlfm9n0y5hlavda6cn8n591";
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "all" = [ "read" "write" "std" "compression" "wasm" ];
          "alloc" = [ "dep:alloc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "compression" = [ "flate2" "std" ];
          "core" = [ "dep:core" ];
          "crc32fast" = [ "dep:crc32fast" ];
          "default" = [ "read" "compression" ];
          "doc" = [ "read_core" "write_std" "std" "compression" "archive" "coff" "elf" "macho" "pe" "wasm" ];
          "flate2" = [ "dep:flate2" ];
          "hashbrown" = [ "dep:hashbrown" ];
          "indexmap" = [ "dep:indexmap" ];
          "pe" = [ "coff" ];
          "read" = [ "read_core" "archive" "coff" "elf" "macho" "pe" "unaligned" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" "alloc" "memchr/rustc-dep-of-std" ];
          "std" = [ "memchr/std" ];
          "wasm" = [ "wasmparser" ];
          "wasmparser" = [ "dep:wasmparser" ];
          "write" = [ "write_std" "coff" "elf" "macho" "pe" ];
          "write_core" = [ "crc32fast" "indexmap" "hashbrown" ];
          "write_std" = [ "write_core" "std" "indexmap/std" "crc32fast/std" ];
        };
        resolvedDefaultFeatures = [ "archive" "coff" "elf" "macho" "pe" "read_core" "unaligned" ];
      };
      "once_cell" = rec {
        crateName = "once_cell";
        version = "1.16.0";
        edition = "2021";
        sha256 = "0q3q5fpalz6a0db25y75709g9x8g2yzyih888p3xp7krpzab1w46";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        features = {
          "alloc" = [ "race" ];
          "atomic-polyfill" = [ "critical-section" ];
          "atomic_polyfill" = [ "dep:atomic_polyfill" ];
          "critical-section" = [ "critical_section" "atomic_polyfill" ];
          "critical_section" = [ "dep:critical_section" ];
          "default" = [ "std" ];
          "parking_lot" = [ "parking_lot_core" ];
          "parking_lot_core" = [ "dep:parking_lot_core" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "race" "std" ];
      };
      "oorandom" = rec {
        crateName = "oorandom";
        version = "11.1.3";
        edition = "2018";
        sha256 = "0xdm4vd89aiwnrk1xjwzklnchjqvib4klcihlc2bsd4x50mbrc8a";
        authors = [
          "Simon Heath <icefox@dreamquest.io>"
        ];

      };
      "os_str_bytes" = rec {
        crateName = "os_str_bytes";
        version = "6.4.1";
        edition = "2021";
        sha256 = "1vi3wx4zs8wgfhhzbk1n279gn8yp0n4l8s8wyb4mfm7avawj0y4v";
        authors = [
          "dylni"
        ];
        features = {
          "default" = [ "memchr" "raw_os_str" ];
          "memchr" = [ "dep:memchr" ];
          "print_bytes" = [ "dep:print_bytes" ];
          "uniquote" = [ "dep:uniquote" ];
        };
        resolvedDefaultFeatures = [ "raw_os_str" ];
      };
      "output_vt100" = rec {
        crateName = "output_vt100";
        version = "0.1.3";
        edition = "2018";
        sha256 = "0rpvpiq7gkyvvwyp9sk0zxhbk99ldlrv5q3ycr03wkmbxgx270k2";
        authors = [
          "Phuntsok Drak-pa <phundrak@phundrak.fr>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "winuser" "winbase" "consoleapi" "processenv" ];
          }
        ];

      };
      "path-clean" = rec {
        crateName = "path-clean";
        version = "0.1.0";
        edition = "2015";
        sha256 = "1pcgqxw0mgg3ha5hi5xkjhyjf488bw5rw1g3qlr9awbq4szh3fpc";
        authors = [
          "Dan Reeves <hey@danreev.es>"
        ];

      };
      "percent-encoding" = rec {
        crateName = "percent-encoding";
        version = "2.2.0";
        edition = "2018";
        sha256 = "13nrpp6r1f4k14viksga3094krcrxgv4b42kqbriy63k7ln5g327";
        authors = [
          "The rust-url developers"
        ];
        features = {
          "default" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" ];
      };
      "petgraph" = rec {
        crateName = "petgraph";
        version = "0.6.2";
        edition = "2018";
        sha256 = "0hw1i1s49f82sg34ngfhgmg8qraa7d26gak2rrwiacx1ad103mg6";
        authors = [
          "bluss"
          "mitchmindtree"
        ];
        dependencies = [
          {
            name = "fixedbitset";
            packageId = "fixedbitset";
            usesDefaultFeatures = false;
          }
          {
            name = "indexmap";
            packageId = "indexmap";
          }
        ];
        features = {
          "all" = [ "unstable" "quickcheck" "matrix_graph" "stable_graph" "graphmap" ];
          "default" = [ "graphmap" "stable_graph" "matrix_graph" ];
          "quickcheck" = [ "dep:quickcheck" ];
          "serde" = [ "dep:serde" ];
          "serde-1" = [ "serde" "serde_derive" ];
          "serde_derive" = [ "dep:serde_derive" ];
          "unstable" = [ "generate" ];
        };
      };
      "pin-project" = rec {
        crateName = "pin-project";
        version = "1.0.12";
        edition = "2018";
        sha256 = "1k3f9jkia3idxl2pqxamszwnl89dk52fa4jqj3p7zmmwnq4scadd";
        dependencies = [
          {
            name = "pin-project-internal";
            packageId = "pin-project-internal";
          }
        ];

      };
      "pin-project-internal" = rec {
        crateName = "pin-project-internal";
        version = "1.0.12";
        edition = "2018";
        sha256 = "0maa6icn7rdfy4xvgfaq7m7bwpw9f19wg76f1ncsiixd0lgdp6q6";
        procMacro = true;
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "full" "visit-mut" ];
          }
        ];

      };
      "pin-project-lite" = rec {
        crateName = "pin-project-lite";
        version = "0.2.9";
        edition = "2018";
        sha256 = "05n1z851l356hpgqadw4ar64mjanaxq1qlwqsf2k05ziq8xax9z0";

      };
      "pin-utils" = rec {
        crateName = "pin-utils";
        version = "0.1.0";
        edition = "2018";
        sha256 = "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb";
        authors = [
          "Josef Brandl <mail@josefbrandl.de>"
        ];

      };
      "plotters" = rec {
        crateName = "plotters";
        version = "0.3.4";
        edition = "2018";
        sha256 = "15xzbxnjcfsaf8lac846lgi4xmn9k18m9k8gqm35aaa2wqwvcf15";
        authors = [
          "Hao Hou <haohou302@gmail.com>"
        ];
        dependencies = [
          {
            name = "num-traits";
            packageId = "num-traits";
          }
          {
            name = "plotters-backend";
            packageId = "plotters-backend";
          }
          {
            name = "plotters-svg";
            packageId = "plotters-svg";
            optional = true;
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
            target = { target, features }: (("wasm32" == target."arch") && (!("wasi" == target."os")));
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            target = { target, features }: (("wasm32" == target."arch") && (!("wasi" == target."os")));
            features = [ "Document" "DomRect" "Element" "HtmlElement" "Node" "Window" "HtmlCanvasElement" "CanvasRenderingContext2d" ];
          }
        ];
        features = {
          "all_elements" = [ "errorbar" "candlestick" "boxplot" "histogram" ];
          "all_series" = [ "area_series" "line_series" "point_series" "surface_series" ];
          "bitmap_backend" = [ "plotters-bitmap" "ttf" ];
          "bitmap_encoder" = [ "plotters-bitmap/image_encoder" ];
          "bitmap_gif" = [ "plotters-bitmap/gif_backend" ];
          "chrono" = [ "dep:chrono" ];
          "datetime" = [ "chrono" ];
          "default" = [ "bitmap_backend" "bitmap_encoder" "bitmap_gif" "svg_backend" "chrono" "ttf" "image" "deprecated_items" "all_series" "all_elements" "full_palette" ];
          "evcxr" = [ "svg_backend" ];
          "evcxr_bitmap" = [ "evcxr" "bitmap_backend" "plotters-svg/bitmap_encoder" ];
          "font-kit" = [ "dep:font-kit" ];
          "fontconfig-dlopen" = [ "font-kit/source-fontconfig-dlopen" ];
          "image" = [ "dep:image" ];
          "lazy_static" = [ "dep:lazy_static" ];
          "pathfinder_geometry" = [ "dep:pathfinder_geometry" ];
          "plotters-bitmap" = [ "dep:plotters-bitmap" ];
          "plotters-svg" = [ "dep:plotters-svg" ];
          "svg_backend" = [ "plotters-svg" ];
          "ttf" = [ "font-kit" "ttf-parser" "lazy_static" "pathfinder_geometry" ];
          "ttf-parser" = [ "dep:ttf-parser" ];
        };
        resolvedDefaultFeatures = [ "area_series" "line_series" "plotters-svg" "svg_backend" ];
      };
      "plotters-backend" = rec {
        crateName = "plotters-backend";
        version = "0.3.4";
        edition = "2018";
        sha256 = "0hl1x8dqrzsjw1vabyw48gzp7g6z8rlyjqjc4b0wvzl1cdhjhchr";
        authors = [
          "Hao Hou <haohou302@gmail.com>"
        ];

      };
      "plotters-svg" = rec {
        crateName = "plotters-svg";
        version = "0.3.3";
        edition = "2018";
        sha256 = "0vx5wmm5mxip3fm4l67l3wcvv3jwph4c70zpd3kdmqdab4kiva7r";
        authors = [
          "Hao Hou <haohou302@gmail.com>"
        ];
        dependencies = [
          {
            name = "plotters-backend";
            packageId = "plotters-backend";
          }
        ];
        features = {
          "bitmap_encoder" = [ "image" ];
          "image" = [ "dep:image" ];
        };
      };
      "ppv-lite86" = rec {
        crateName = "ppv-lite86";
        version = "0.2.17";
        edition = "2018";
        sha256 = "1pp6g52aw970adv3x2310n7glqnji96z0a9wiamzw89ibf0ayh2v";
        authors = [
          "The CryptoCorrosion Contributors"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "simd" "std" ];
      };
      "pretty_assertions" = rec {
        crateName = "pretty_assertions";
        version = "1.3.0";
        edition = "2018";
        sha256 = "0mgp1ajl3fdc55h989ph48znnk86m41j9dqnpg80yy5a435rnpm2";
        authors = [
          "Colin Kiegel <kiegel@gmx.de>"
          "Florent Fayolle <florent.fayolle69@gmail.com>"
          "Tom Milligan <code@tommilligan.net>"
        ];
        dependencies = [
          {
            name = "ctor";
            packageId = "ctor";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "diff";
            packageId = "diff";
          }
          {
            name = "output_vt100";
            packageId = "output_vt100";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "yansi";
            packageId = "yansi";
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "prettyplease" = rec {
        crateName = "prettyplease";
        version = "0.1.21";
        edition = "2021";
        sha256 = "0ldv26y7v98fwg87qdvyq7q817jnnz2yigi8qph1y5spdgjc0hn1";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
            usesDefaultFeatures = false;
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            usesDefaultFeatures = false;
            features = [ "full" ];
          }
        ];
        devDependencies = [
          {
            name = "syn";
            packageId = "syn 1.0.103";
            usesDefaultFeatures = false;
            features = [ "parsing" ];
          }
        ];
        features = {
          "verbatim" = [ "syn/parsing" ];
        };
      };
      "proc-macro-error" = rec {
        crateName = "proc-macro-error";
        version = "1.0.4";
        edition = "2018";
        sha256 = "1373bhxaf0pagd8zkyd03kkx6bchzf6g0dkwrwzsnal9z47lj9fs";
        authors = [
          "CreepySkeleton <creepy-skeleton@yandex.ru>"
        ];
        dependencies = [
          {
            name = "proc-macro-error-attr";
            packageId = "proc-macro-error-attr";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
          "default" = [ "syn-error" ];
          "syn" = [ "dep:syn" ];
          "syn-error" = [ "syn" ];
        };
        resolvedDefaultFeatures = [ "default" "syn" "syn-error" ];
      };
      "proc-macro-error-attr" = rec {
        crateName = "proc-macro-error-attr";
        version = "1.0.4";
        edition = "2018";
        sha256 = "0sgq6m5jfmasmwwy8x4mjygx5l7kp8s4j60bv25ckv2j1qc41gm1";
        procMacro = true;
        authors = [
          "CreepySkeleton <creepy-skeleton@yandex.ru>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];

      };
      "proc-macro2 0.4.30" = rec {
        crateName = "proc-macro2";
        version = "0.4.30";
        edition = "2015";
        sha256 = "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "unicode-xid";
            packageId = "unicode-xid";
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "proc-macro2 1.0.47" = rec {
        crateName = "proc-macro2";
        version = "1.0.47";
        edition = "2018";
        sha256 = "09g7alc7mlbycsadfh7lwskr1qfxbiic9qp9z751cqz3n04dk8sy";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "unicode-ident";
            packageId = "unicode-ident";
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "proptest" = rec {
        crateName = "proptest";
        version = "1.0.0";
        edition = "2018";
        sha256 = "1rdhjnf0xma5rmsq04d31n2vq1pgbm42pjc6jn3jsj8qgz09q38y";
        authors = [
          "Jason Lingle"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "byteorder";
            packageId = "byteorder";
            usesDefaultFeatures = false;
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            optional = true;
          }
          {
            name = "num-traits";
            packageId = "num-traits";
            usesDefaultFeatures = false;
          }
          {
            name = "quick-error";
            packageId = "quick-error";
            optional = true;
          }
          {
            name = "rand";
            packageId = "rand 0.8.5";
            usesDefaultFeatures = false;
            features = [ "alloc" ];
          }
          {
            name = "rand_chacha";
            packageId = "rand_chacha";
            usesDefaultFeatures = false;
          }
          {
            name = "rand_xorshift";
            packageId = "rand_xorshift";
          }
          {
            name = "regex-syntax";
            packageId = "regex-syntax";
            optional = true;
          }
          {
            name = "tempfile";
            packageId = "tempfile";
            optional = true;
          }
        ];
        features = {
          "bit-set" = [ "dep:bit-set" ];
          "default" = [ "std" "fork" "timeout" "bit-set" "break-dead-code" ];
          "default-code-coverage" = [ "std" "fork" "timeout" "bit-set" ];
          "fork" = [ "std" "rusty-fork" "tempfile" ];
          "hardware-rng" = [ "x86" ];
          "lazy_static" = [ "dep:lazy_static" ];
          "quick-error" = [ "dep:quick-error" ];
          "regex-syntax" = [ "dep:regex-syntax" ];
          "rusty-fork" = [ "dep:rusty-fork" ];
          "std" = [ "rand/std" "byteorder/std" "lazy_static" "quick-error" "regex-syntax" "num-traits/std" ];
          "tempfile" = [ "dep:tempfile" ];
          "timeout" = [ "fork" "rusty-fork/timeout" ];
          "x86" = [ "dep:x86" ];
        };
        resolvedDefaultFeatures = [ "alloc" "break-dead-code" "lazy_static" "quick-error" "regex-syntax" "std" "tempfile" ];
      };
      "prost" = rec {
        crateName = "prost";
        version = "0.11.3";
        edition = "2021";
        sha256 = "1w3zv3s5hp2s1f8z8yfzpa93yyw23rhx0nja1315mzr1bijqxcf0";
        authors = [
          "Dan Burkert <dan@danburkert.com>"
          "Lucio Franco <luciofranco14@gmail.com"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
            usesDefaultFeatures = false;
          }
          {
            name = "prost-derive";
            packageId = "prost-derive";
            optional = true;
          }
        ];
        features = {
          "default" = [ "prost-derive" "std" ];
          "prost-derive" = [ "dep:prost-derive" ];
        };
        resolvedDefaultFeatures = [ "default" "prost-derive" "std" ];
      };
      "prost-build" = rec {
        crateName = "prost-build";
        version = "0.11.3";
        edition = "2021";
        sha256 = "0166q6qi1dilq6rds9gaclcq5m6xxpl9k8yg5cnb2mnv2q9vyc73";
        authors = [
          "Dan Burkert <dan@danburkert.com>"
          "Lucio Franco <luciofranco14@gmail.com>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
            usesDefaultFeatures = false;
          }
          {
            name = "heck";
            packageId = "heck";
          }
          {
            name = "itertools";
            packageId = "itertools";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "multimap";
            packageId = "multimap";
            usesDefaultFeatures = false;
          }
          {
            name = "petgraph";
            packageId = "petgraph";
            usesDefaultFeatures = false;
          }
          {
            name = "prettyplease";
            packageId = "prettyplease";
            optional = true;
          }
          {
            name = "prost";
            packageId = "prost";
            usesDefaultFeatures = false;
          }
          {
            name = "prost-types";
            packageId = "prost-types";
            usesDefaultFeatures = false;
          }
          {
            name = "regex";
            packageId = "regex";
            usesDefaultFeatures = false;
            features = [ "std" "unicode-bool" ];
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            optional = true;
            features = [ "full" ];
          }
          {
            name = "tempfile";
            packageId = "tempfile";
          }
          {
            name = "which";
            packageId = "which";
          }
        ];
        features = {
          "cleanup-markdown" = [ "pulldown-cmark" "pulldown-cmark-to-cmark" ];
          "default" = [ "format" ];
          "format" = [ "prettyplease" "syn" ];
          "prettyplease" = [ "dep:prettyplease" ];
          "pulldown-cmark" = [ "dep:pulldown-cmark" ];
          "pulldown-cmark-to-cmark" = [ "dep:pulldown-cmark-to-cmark" ];
          "syn" = [ "dep:syn" ];
        };
        resolvedDefaultFeatures = [ "default" "format" "prettyplease" "syn" ];
      };
      "prost-derive" = rec {
        crateName = "prost-derive";
        version = "0.11.2";
        edition = "2021";
        sha256 = "01n31hfyr97v120n2yr1w784i8mz0087zgyk0sjiq047cn5ycjhn";
        procMacro = true;
        authors = [
          "Dan Burkert <dan@danburkert.com>"
          "Lucio Franco <luciofranco14@gmail.com>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "anyhow";
            packageId = "anyhow";
          }
          {
            name = "itertools";
            packageId = "itertools";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "extra-traits" ];
          }
        ];

      };
      "prost-types" = rec {
        crateName = "prost-types";
        version = "0.11.2";
        edition = "2021";
        sha256 = "06jm74axinvm885lbwqrla5jidkcrw2mdxivals9m3y47ny62xvl";
        authors = [
          "Dan Burkert <dan@danburkert.com>"
          "Lucio Franco <luciofranco14@gmail.com"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
            usesDefaultFeatures = false;
          }
          {
            name = "prost";
            packageId = "prost";
            usesDefaultFeatures = false;
            features = [ "prost-derive" ];
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "prost/std" ];
        };
      };
      "quick-error" = rec {
        crateName = "quick-error";
        version = "2.0.1";
        edition = "2018";
        sha256 = "18z6r2rcjvvf8cn92xjhm2qc3jpd1ljvcbf12zv0k9p565gmb4x9";
        authors = [
          "Paul Colomiets <paul@colomiets.name>"
          "Colin Kiegel <kiegel@gmx.de>"
        ];

      };
      "quote 0.6.13" = rec {
        crateName = "quote";
        version = "0.6.13";
        edition = "2015";
        sha256 = "1qgqq48jymp5h4y082aanf25hrw6bpb678xh3zw993qfhxmkpqkc";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 0.4.30";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
          "proc-macro" = [ "proc-macro2/proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "quote 1.0.21" = rec {
        crateName = "quote";
        version = "1.0.21";
        edition = "2018";
        sha256 = "0yai5cyd9h95n7hkwjcx8ig3yv0hindmz5gm60g9dmm7fzrlir5v";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
          "proc-macro" = [ "proc-macro2/proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "radix_trie" = rec {
        crateName = "radix_trie";
        version = "0.2.1";
        edition = "2018";
        sha256 = "1zaq3im5ss03w91ij11cj97vvzc5y1f3064d9pi2ysnwziww2sf0";
        authors = [
          "Michael Sproul <micsproul@gmail.com>"
        ];
        dependencies = [
          {
            name = "endian-type";
            packageId = "endian-type";
          }
          {
            name = "nibble_vec";
            packageId = "nibble_vec";
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
        };
      };
      "rand 0.4.6" = rec {
        crateName = "rand";
        version = "0.4.6";
        edition = "2015";
        sha256 = "14qjfv3gggzhnma20k0sc1jf8y6pplsaq7n1j9ls5c8kf2wl0a2m";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "fuchsia-cprng";
            packageId = "fuchsia-cprng";
            target = { target, features }: ("fuchsia" == target."os");
          }
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.3.1";
            usesDefaultFeatures = false;
            target = { target, features }: ("sgx" == target."env");
          }
          {
            name = "rdrand";
            packageId = "rdrand";
            target = { target, features }: ("sgx" == target."env");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "minwindef" "ntsecapi" "profileapi" "winnt" ];
          }
        ];
        features = {
          "default" = [ "std" ];
          "libc" = [ "dep:libc" ];
          "nightly" = [ "i128_support" ];
          "std" = [ "libc" ];
        };
        resolvedDefaultFeatures = [ "default" "libc" "std" ];
      };
      "rand 0.8.5" = rec {
        crateName = "rand";
        version = "0.8.5";
        edition = "2018";
        sha256 = "013l6931nn7gkc23jz5mm3qdhf93jjf0fg64nz2lp4i51qd8vbrl";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "rand_chacha";
            packageId = "rand_chacha";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.6.4";
          }
        ];
        features = {
          "alloc" = [ "rand_core/alloc" ];
          "default" = [ "std" "std_rng" ];
          "getrandom" = [ "rand_core/getrandom" ];
          "libc" = [ "dep:libc" ];
          "log" = [ "dep:log" ];
          "packed_simd" = [ "dep:packed_simd" ];
          "rand_chacha" = [ "dep:rand_chacha" ];
          "serde" = [ "dep:serde" ];
          "serde1" = [ "serde" "rand_core/serde1" ];
          "simd_support" = [ "packed_simd" ];
          "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ];
          "std_rng" = [ "rand_chacha" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "libc" "rand_chacha" "small_rng" "std" "std_rng" ];
      };
      "rand_chacha" = rec {
        crateName = "rand_chacha";
        version = "0.3.1";
        edition = "2018";
        sha256 = "123x2adin558xbhvqb8w4f6syjsdkmqff8cxwhmjacpsl1ihmhg6";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
          "The CryptoCorrosion Contributors"
        ];
        dependencies = [
          {
            name = "ppv-lite86";
            packageId = "ppv-lite86";
            usesDefaultFeatures = false;
            features = [ "simd" ];
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.6.4";
          }
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
          "serde1" = [ "serde" ];
          "std" = [ "ppv-lite86/std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "rand_core 0.3.1" = rec {
        crateName = "rand_core";
        version = "0.3.1";
        edition = "2015";
        sha256 = "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "rand_core";
            packageId = "rand_core 0.4.2";
          }
        ];
        features = {
          "alloc" = [ "rand_core/alloc" ];
          "default" = [ "std" ];
          "serde1" = [ "rand_core/serde1" ];
          "std" = [ "rand_core/std" ];
        };
      };
      "rand_core 0.4.2" = rec {
        crateName = "rand_core";
        version = "0.4.2";
        edition = "2015";
        sha256 = "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        features = {
          "serde" = [ "dep:serde" ];
          "serde1" = [ "serde" "serde_derive" ];
          "serde_derive" = [ "dep:serde_derive" ];
          "std" = [ "alloc" ];
        };
      };
      "rand_core 0.6.4" = rec {
        crateName = "rand_core";
        version = "0.6.4";
        edition = "2018";
        sha256 = "0b4j2v4cb5krak1pv6kakv4sz6xcwbrmy2zckc32hsigbrwy82zc";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom";
            optional = true;
          }
        ];
        features = {
          "getrandom" = [ "dep:getrandom" ];
          "serde" = [ "dep:serde" ];
          "serde1" = [ "serde" ];
          "std" = [ "alloc" "getrandom" "getrandom/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ];
      };
      "rand_xorshift" = rec {
        crateName = "rand_xorshift";
        version = "0.3.0";
        edition = "2018";
        sha256 = "13vcag7gmqspzyabfl1gr9ykvxd2142q2agrj8dkyjmfqmgg4nyj";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "rand_core";
            packageId = "rand_core 0.6.4";
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
          "serde1" = [ "serde" ];
        };
      };
      "rayon" = rec {
        crateName = "rayon";
        version = "1.6.0";
        edition = "2021";
        sha256 = "02wfm1lqmcc59jbpbkbs7dqqcy21m6g1q52lyracb4w18f0041hy";
        authors = [
          "Niko Matsakis <niko@alum.mit.edu>"
          "Josh Stone <cuviper@gmail.com>"
        ];
        dependencies = [
          {
            name = "crossbeam-deque";
            packageId = "crossbeam-deque";
          }
          {
            name = "either";
            packageId = "either";
            usesDefaultFeatures = false;
          }
          {
            name = "rayon-core";
            packageId = "rayon-core";
          }
        ];

      };
      "rayon-core" = rec {
        crateName = "rayon-core";
        version = "1.10.1";
        edition = "2021";
        sha256 = "1lvavqk42lmll47q008j8y6nw54f3sfvcjlbaa26iaq0bnpi1i6a";
        authors = [
          "Niko Matsakis <niko@alum.mit.edu>"
          "Josh Stone <cuviper@gmail.com>"
        ];
        dependencies = [
          {
            name = "crossbeam-channel";
            packageId = "crossbeam-channel";
          }
          {
            name = "crossbeam-deque";
            packageId = "crossbeam-deque";
          }
          {
            name = "crossbeam-utils";
            packageId = "crossbeam-utils";
          }
          {
            name = "num_cpus";
            packageId = "num_cpus";
          }
        ];

      };
      "rdrand" = rec {
        crateName = "rdrand";
        version = "0.4.0";
        edition = "2015";
        sha256 = "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037";
        authors = [
          "Simonas Kazlauskas <rdrand@kazlauskas.me>"
        ];
        dependencies = [
          {
            name = "rand_core";
            packageId = "rand_core 0.3.1";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "redox_syscall" = rec {
        crateName = "redox_syscall";
        version = "0.2.16";
        edition = "2018";
        sha256 = "16jicm96kjyzm802cxdd1k9jmcph0db1a4lhslcnhjsvhp0mhnpv";
        libName = "syscall";
        authors = [
          "Jeremy Soller <jackpot51@gmail.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
        ];

      };
      "redox_users" = rec {
        crateName = "redox_users";
        version = "0.4.3";
        edition = "2018";
        sha256 = "0asw3s4iy69knafkhvlbchy230qawc297vddjdwjs5nglwvxhcxh";
        authors = [
          "Jose Narvaez <goyox86@gmail.com>"
          "Wesley Hershberger <mggmugginsmc@gmail.com>"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom";
            features = [ "std" ];
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
        ];
        features = {
          "auth" = [ "rust-argon2" "zeroize" ];
          "default" = [ "auth" ];
          "rust-argon2" = [ "dep:rust-argon2" ];
          "zeroize" = [ "dep:zeroize" ];
        };
      };
      "regex" = rec {
        crateName = "regex";
        version = "1.7.0";
        edition = "2018";
        sha256 = "12l6if07cb6fa6nigql90qrw0happnbnzqvr6jpg4hg2z2g5axp0";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "aho-corasick";
            packageId = "aho-corasick";
            optional = true;
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
          {
            name = "regex-syntax";
            packageId = "regex-syntax";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "aho-corasick" = [ "dep:aho-corasick" ];
          "default" = [ "std" "perf" "unicode" "regex-syntax/default" ];
          "memchr" = [ "dep:memchr" ];
          "perf" = [ "perf-cache" "perf-dfa" "perf-inline" "perf-literal" ];
          "perf-literal" = [ "aho-corasick" "memchr" ];
          "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" "regex-syntax/unicode" ];
          "unicode-age" = [ "regex-syntax/unicode-age" ];
          "unicode-bool" = [ "regex-syntax/unicode-bool" ];
          "unicode-case" = [ "regex-syntax/unicode-case" ];
          "unicode-gencat" = [ "regex-syntax/unicode-gencat" ];
          "unicode-perl" = [ "regex-syntax/unicode-perl" ];
          "unicode-script" = [ "regex-syntax/unicode-script" ];
          "unicode-segment" = [ "regex-syntax/unicode-segment" ];
          "unstable" = [ "pattern" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "aho-corasick" "default" "memchr" "perf" "perf-cache" "perf-dfa" "perf-inline" "perf-literal" "std" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
      };
      "regex-syntax" = rec {
        crateName = "regex-syntax";
        version = "0.6.28";
        edition = "2018";
        sha256 = "0j68z4jnxshfymb08j1drvxn9wgs1469047lfaq4im78wcxn0v25";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "unicode" ];
          "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
        };
        resolvedDefaultFeatures = [ "default" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
      };
      "remove_dir_all" = rec {
        crateName = "remove_dir_all";
        version = "0.5.3";
        edition = "2015";
        sha256 = "1rzqbsgkmr053bxxl04vmvsd1njyz0nxvly97aip6aa2cmb15k9s";
        authors = [
          "Aaronepower <theaaronepower@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "std" "errhandlingapi" "winerror" "fileapi" "winbase" ];
          }
        ];

      };
      "rnix" = rec {
        crateName = "rnix";
        version = "0.11.0";
        edition = "2021";
        sha256 = "0pybq9gp4b7lp0066236jpqi9lgb1bzvqc9axymwrq3hxgdwwddv";
        authors = [
          "jD91mZM2 <me@krake.one>"
        ];
        dependencies = [
          {
            name = "rowan";
            packageId = "rowan";
          }
        ];

      };
      "rowan" = rec {
        crateName = "rowan";
        version = "0.15.10";
        edition = "2021";
        sha256 = "0cpkf6m93kkwhhy5459x3w80mms01nqym34cwhzr07m3gdz584aq";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        dependencies = [
          {
            name = "countme";
            packageId = "countme";
          }
          {
            name = "hashbrown";
            packageId = "hashbrown";
            usesDefaultFeatures = false;
            features = [ "inline-more" ];
          }
          {
            name = "memoffset";
            packageId = "memoffset 0.6.5";
          }
          {
            name = "rustc-hash";
            packageId = "rustc-hash";
          }
          {
            name = "text-size";
            packageId = "text-size";
          }
        ];
        features = {
          "serde" = [ "dep:serde" ];
          "serde1" = [ "serde" "text-size/serde" ];
        };
      };
      "rustc-demangle" = rec {
        crateName = "rustc-demangle";
        version = "0.1.21";
        edition = "2015";
        sha256 = "0hn3xyd2n3bg3jnc5a5jbzll32n4r5a65bqzs287l30m5c53xw3y";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "rustc-hash" = rec {
        crateName = "rustc-hash";
        version = "1.1.0";
        edition = "2015";
        sha256 = "1qkc5khrmv5pqi5l5ca9p5nl5hs742cagrndhbrlk3dhlrx3zm08";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "rustix" = rec {
        crateName = "rustix";
        version = "0.36.3";
        edition = "2018";
        sha256 = "0gi2v2a66h5mgaacq7ih1fw4pa0rpdh7gx1dq28d7cafzi6vn7qb";
        authors = [
          "Dan Gohman <dev@sunfishcode.online>"
          "Jakub Konka <kubkon@jakubkonka.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "errno";
            packageId = "errno";
            rename = "libc_errno";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: ((!(target."rustix_use_libc" or false)) && (!(target."miri" or false)) && ("linux" == target."os") && (("x86" == target."arch") || (("x86_64" == target."arch") && ("64" == target."pointer_width")) || (("little" == target."endian") && (("arm" == target."arch") || (("aarch64" == target."arch") && ("64" == target."pointer_width")) || ("powerpc64" == target."arch") || ("riscv64" == target."arch") || ("mips" == target."arch") || ("mips64" == target."arch")))));
          }
          {
            name = "errno";
            packageId = "errno";
            rename = "libc_errno";
            usesDefaultFeatures = false;
            target = { target, features }: ((target."rustix_use_libc" or false) || (target."miri" or false) || (!(("linux" == target."os") && (("x86" == target."arch") || (("x86_64" == target."arch") && ("64" == target."pointer_width")) || (("little" == target."endian") && (("arm" == target."arch") || (("aarch64" == target."arch") && ("64" == target."pointer_width")) || ("powerpc64" == target."arch") || ("riscv64" == target."arch") || ("mips" == target."arch") || ("mips64" == target."arch")))))));
          }
          {
            name = "io-lifetimes";
            packageId = "io-lifetimes";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "close" ];
          }
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            target = { target, features }: ((!(target."rustix_use_libc" or false)) && (!(target."miri" or false)) && ("linux" == target."os") && (("x86" == target."arch") || (("x86_64" == target."arch") && ("64" == target."pointer_width")) || (("little" == target."endian") && (("arm" == target."arch") || (("aarch64" == target."arch") && ("64" == target."pointer_width")) || ("powerpc64" == target."arch") || ("riscv64" == target."arch") || ("mips" == target."arch") || ("mips64" == target."arch")))));
            features = [ "extra_traits" ];
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ((target."rustix_use_libc" or false) || (target."miri" or false) || (!(("linux" == target."os") && (("x86" == target."arch") || (("x86_64" == target."arch") && ("64" == target."pointer_width")) || (("little" == target."endian") && (("arm" == target."arch") || (("aarch64" == target."arch") && ("64" == target."pointer_width")) || ("powerpc64" == target."arch") || ("riscv64" == target."arch") || ("mips" == target."arch") || ("mips64" == target."arch")))))));
            features = [ "extra_traits" ];
          }
          {
            name = "linux-raw-sys";
            packageId = "linux-raw-sys";
            usesDefaultFeatures = false;
            target = { target, features }: ((("android" == target."os") || ("linux" == target."os")) && ((target."rustix_use_libc" or false) || (target."miri" or false) || (!(("linux" == target."os") && (("x86" == target."arch") || (("x86_64" == target."arch") && ("64" == target."pointer_width")) || (("little" == target."endian") && (("arm" == target."arch") || (("aarch64" == target."arch") && ("64" == target."pointer_width")) || ("powerpc64" == target."arch") || ("riscv64" == target."arch") || ("mips" == target."arch") || ("mips64" == target."arch"))))))));
            features = [ "general" "no_std" ];
          }
          {
            name = "linux-raw-sys";
            packageId = "linux-raw-sys";
            usesDefaultFeatures = false;
            target = { target, features }: ((!(target."rustix_use_libc" or false)) && (!(target."miri" or false)) && ("linux" == target."os") && (("x86" == target."arch") || (("x86_64" == target."arch") && ("64" == target."pointer_width")) || (("little" == target."endian") && (("arm" == target."arch") || (("aarch64" == target."arch") && ("64" == target."pointer_width")) || ("powerpc64" == target."arch") || ("riscv64" == target."arch") || ("mips" == target."arch") || ("mips64" == target."arch")))));
            features = [ "general" "errno" "ioctl" "no_std" ];
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (target."windows" or false);
            features = [ "Win32_Foundation" "Win32_Networking_WinSock" "Win32_NetworkManagement_IpHelper" "Win32_System_Threading" ];
          }
        ];
        devDependencies = [
          {
            name = "errno";
            packageId = "errno";
            rename = "libc_errno";
            usesDefaultFeatures = false;
          }
          {
            name = "io-lifetimes";
            packageId = "io-lifetimes";
            usesDefaultFeatures = false;
            features = [ "close" ];
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "all-apis" = [ "fs" "io_uring" "mm" "net" "param" "process" "procfs" "rand" "runtime" "termios" "thread" "time" ];
          "all-impls" = [ "os_pipe" "fs-err" ];
          "alloc" = [ "dep:alloc" ];
          "cc" = [ "dep:cc" ];
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" "use-libc-auxv" ];
          "fs-err" = [ "io-lifetimes/fs-err" ];
          "io-lifetimes" = [ "dep:io-lifetimes" ];
          "io_uring" = [ "fs" "net" ];
          "itoa" = [ "dep:itoa" ];
          "libc" = [ "dep:libc" ];
          "libc_errno" = [ "dep:libc_errno" ];
          "once_cell" = [ "dep:once_cell" ];
          "os_pipe" = [ "io-lifetimes/os_pipe" ];
          "procfs" = [ "once_cell" "itoa" "fs" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "linux-raw-sys/rustc-dep-of-std" "bitflags/rustc-dep-of-std" ];
          "std" = [ "io-lifetimes" ];
          "use-libc" = [ "libc_errno" "libc" ];
          "use-libc-auxv" = [ "libc" ];
        };
        resolvedDefaultFeatures = [ "default" "fs" "io-lifetimes" "libc" "std" "termios" "use-libc-auxv" ];
      };
      "rustversion" = rec {
        crateName = "rustversion";
        version = "1.0.9";
        edition = "2018";
        sha256 = "1a6nlrrnfbacn5pzg3m3311anhngcxs8kbvsbynh71ngni47wiwp";
        procMacro = true;
        build = "build/build.rs";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];

      };
      "rustyline" = rec {
        crateName = "rustyline";
        version = "10.0.0";
        edition = "2018";
        sha256 = "03m2zlldx4fcijym5518ixbyys11a2fmg7cnsxjvzxyka6pda70x";
        authors = [
          "Katsu Kawakami <kkawa1570@gmail.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "clipboard-win";
            packageId = "clipboard-win";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "dirs-next";
            packageId = "dirs-next";
            optional = true;
          }
          {
            name = "fd-lock";
            packageId = "fd-lock";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "memchr";
            packageId = "memchr";
          }
          {
            name = "nix";
            packageId = "nix 0.24.2";
            usesDefaultFeatures = false;
            target = { target, features }: (target."unix" or false);
            features = [ "fs" "ioctl" "poll" "signal" "term" ];
          }
          {
            name = "radix_trie";
            packageId = "radix_trie";
            optional = true;
          }
          {
            name = "scopeguard";
            packageId = "scopeguard";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "unicode-segmentation";
            packageId = "unicode-segmentation";
          }
          {
            name = "unicode-width";
            packageId = "unicode-width";
          }
          {
            name = "utf8parse";
            packageId = "utf8parse";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "consoleapi" "handleapi" "synchapi" "minwindef" "processenv" "std" "winbase" "wincon" "winuser" ];
          }
        ];
        features = {
          "case_insensitive_history_search" = [ "regex" ];
          "custom-bindings" = [ "radix_trie" ];
          "default" = [ "custom-bindings" "with-dirs" ];
          "dirs-next" = [ "dep:dirs-next" ];
          "radix_trie" = [ "dep:radix_trie" ];
          "regex" = [ "dep:regex" ];
          "signal-hook" = [ "dep:signal-hook" ];
          "skim" = [ "dep:skim" ];
          "with-dirs" = [ "dirs-next" ];
          "with-fuzzy" = [ "skim" ];
        };
        resolvedDefaultFeatures = [ "custom-bindings" "default" "dirs-next" "radix_trie" "with-dirs" ];
      };
      "ryu" = rec {
        crateName = "ryu";
        version = "1.0.11";
        edition = "2018";
        sha256 = "02czvxrxhi2gmamw25drdvkfkkk9xd9758bpnk0s30mfyggsn0a5";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "no-panic" = [ "dep:no-panic" ];
        };
      };
      "same-file" = rec {
        crateName = "same-file";
        version = "1.0.6";
        edition = "2018";
        sha256 = "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: (target."windows" or false);
          }
        ];

      };
      "scopeguard" = rec {
        crateName = "scopeguard";
        version = "1.1.0";
        edition = "2015";
        sha256 = "1kbqm85v43rq92vx7hfiay6pmcga03vrjbbfwqpyj3pwsg3b16nj";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "use_std" ];
        };
        resolvedDefaultFeatures = [ "default" "use_std" ];
      };
      "serde" = rec {
        crateName = "serde";
        version = "1.0.147";
        edition = "2015";
        sha256 = "0rc9jj8bbhf3lkf07ln8kyljigyzc4kk90nzg4dc2gwqmsdxd4yi";
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "serde_derive";
            packageId = "serde_derive";
            optional = true;
          }
        ];
        devDependencies = [
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
        ];
        features = {
          "default" = [ "std" ];
          "derive" = [ "serde_derive" ];
          "serde_derive" = [ "dep:serde_derive" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "derive" "serde_derive" "std" ];
      };
      "serde_derive" = rec {
        crateName = "serde_derive";
        version = "1.0.147";
        edition = "2015";
        sha256 = "0ln8rqbybpxmk4fvh6lgm75acs1d8x90fi44fhx3x77wm0n3c7ag";
        procMacro = true;
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "serde_json" = rec {
        crateName = "serde_json";
        version = "1.0.89";
        edition = "2018";
        sha256 = "1ny3izh9g9bfclqkdvgk093r7396lx0vnb8nrzwd6bjwflng43q2";
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "ryu";
            packageId = "ryu";
          }
          {
            name = "serde";
            packageId = "serde";
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];
        features = {
          "alloc" = [ "serde/alloc" ];
          "default" = [ "std" ];
          "indexmap" = [ "dep:indexmap" ];
          "preserve_order" = [ "indexmap" "std" ];
          "std" = [ "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "slab" = rec {
        crateName = "slab";
        version = "0.4.7";
        edition = "2018";
        sha256 = "1vyw3rkdfdfkzfa1mh83s237sll8v5kazfwxma60bq4b59msf526";
        authors = [
          "Carl Lerche <me@carllerche.com>"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "smallvec" = rec {
        crateName = "smallvec";
        version = "1.10.0";
        edition = "2018";
        sha256 = "1q2k15fzxgwjpcdv3f323w24rbbfyv711ayz85ila12lg7zbw1x5";
        authors = [
          "The Servo Project Developers"
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "const_new" = [ "const_generics" ];
          "serde" = [ "dep:serde" ];
        };
      };
      "smol_str" = rec {
        crateName = "smol_str";
        version = "0.1.23";
        edition = "2018";
        sha256 = "0i5b6mm2hbmvyvch3rhfx6bfl9jmijx320ffazhs5qxp52512xbl";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];
        features = {
          "arbitrary" = [ "dep:arbitrary" ];
          "default" = [ "std" ];
          "serde" = [ "dep:serde" ];
          "std" = [ "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "serde" "std" ];
      };
      "socket2" = rec {
        crateName = "socket2";
        version = "0.4.7";
        edition = "2018";
        sha256 = "1gaf57dc16s1lfyv388w9vdl9qay15xds78jcwakml9kj3dx5qh2";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Thomas de Zeeuw <thomasdezeeuw@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "handleapi" "ws2ipdef" "ws2tcpip" ];
          }
        ];
        features = { };
        resolvedDefaultFeatures = [ "all" ];
      };
      "str-buf" = rec {
        crateName = "str-buf";
        version = "1.0.6";
        edition = "2018";
        sha256 = "1l7q4nha7wpsr0970bfqm773vhmpwr9l6rr8r4gwgrh46wvdh24y";
        authors = [
          "Douman <douman@gmx.se>"
        ];
        features = {
          "serde" = [ "dep:serde" ];
        };
      };
      "strsim" = rec {
        crateName = "strsim";
        version = "0.10.0";
        edition = "2015";
        sha256 = "08s69r4rcrahwnickvi0kq49z524ci50capybln83mg6b473qivk";
        authors = [
          "Danny Guo <danny@dannyguo.com>"
        ];

      };
      "structmeta" = rec {
        crateName = "structmeta";
        version = "0.1.5";
        edition = "2021";
        sha256 = "1qyjwgsgllwgi8f9yglv153pr7k81ihrmnc7rg1b57x8b8aw5n8v";
        authors = [
          "frozenlib"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "structmeta-derive";
            packageId = "structmeta-derive";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
          }
        ];
        devDependencies = [
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "full" ];
          }
        ];

      };
      "structmeta-derive" = rec {
        crateName = "structmeta-derive";
        version = "0.1.5";
        edition = "2021";
        sha256 = "0f2rgsxfd4asr07svwznh3npcc5fr9c1ayyl6q7r289g186xxzms";
        procMacro = true;
        authors = [
          "frozenlib"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
          }
        ];

      };
      "subtle" = rec {
        crateName = "subtle";
        version = "2.4.1";
        edition = "2015";
        sha256 = "00b6jzh9gzb0h9n25g06nqr90z3xzqppfhhb260s1hjhh4pg7pkb";
        authors = [
          "Isis Lovecruft <isis@patternsinthevoid.net>"
          "Henry de Valence <hdevalence@hdevalence.ca>"
        ];
        features = {
          "default" = [ "std" "i128" ];
        };
      };
      "syn 0.15.44" = rec {
        crateName = "syn";
        version = "0.15.44";
        edition = "2015";
        sha256 = "1id5g6x6zihv3j7hwrw3m1jp636bg8dpi671r7zy3jvpkavb794w";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 0.4.30";
            usesDefaultFeatures = false;
          }
          {
            name = "quote";
            packageId = "quote 0.6.13";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "unicode-xid";
            packageId = "unicode-xid";
          }
        ];
        features = {
          "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
          "printing" = [ "quote" ];
          "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ];
          "quote" = [ "dep:quote" ];
        };
        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "full" "parsing" "printing" "proc-macro" "quote" ];
      };
      "syn 1.0.103" = rec {
        crateName = "syn";
        version = "1.0.103";
        edition = "2018";
        sha256 = "0pa4b6g938drphblgdhmjnzclp7gcbf4zdgkmfaxlfhk54i08r58";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
            usesDefaultFeatures = false;
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "unicode-ident";
            packageId = "unicode-ident";
          }
        ];
        features = {
          "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
          "printing" = [ "quote" ];
          "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ];
          "quote" = [ "dep:quote" ];
          "test" = [ "syn-test-suite/all-features" ];
        };
        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "quote" "visit" "visit-mut" ];
      };
      "sync_wrapper" = rec {
        crateName = "sync_wrapper";
        version = "0.1.1";
        edition = "2018";
        sha256 = "1a59lwsw52d1a64l2y1m7npfw6xjvrjf96c5014g1b69lkj8yl90";
        authors = [
          "Actyx AG <developer@actyx.io>"
        ];

      };
      "tabwriter" = rec {
        crateName = "tabwriter";
        version = "1.2.1";
        edition = "2018";
        sha256 = "048i0mj3b07zlry9m5fl706y5bzdzgrswymqn32drakzk7y5q81n";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "unicode-width";
            packageId = "unicode-width";
          }
        ];
        features = {
          "ansi_formatting" = [ "regex" "lazy_static" ];
          "lazy_static" = [ "dep:lazy_static" ];
          "regex" = [ "dep:regex" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "tempdir" = rec {
        crateName = "tempdir";
        version = "0.3.7";
        edition = "2015";
        sha256 = "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "rand";
            packageId = "rand 0.4.6";
          }
          {
            name = "remove_dir_all";
            packageId = "remove_dir_all";
          }
        ];

      };
      "tempfile" = rec {
        crateName = "tempfile";
        version = "3.3.0";
        edition = "2018";
        sha256 = "1r3rdp66f7w075mz6blh244syr3h0lbm07ippn7xrbgfxbs1xnsw";
        authors = [
          "Steven Allen <steven@stebalien.com>"
          "The Rust Project Developers"
          "Ashley Mannix <ashleymannix@live.com.au>"
          "Jason White <jasonaw0@gmail.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "fastrand";
            packageId = "fastrand";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ((target."unix" or false) || ("wasi" == target."os"));
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
            target = { target, features }: ("redox" == target."os");
          }
          {
            name = "remove_dir_all";
            packageId = "remove_dir_all";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "fileapi" "handleapi" "winbase" ];
          }
        ];
        features = { };
      };
      "termcolor" = rec {
        crateName = "termcolor";
        version = "1.1.3";
        edition = "2018";
        sha256 = "0mbpflskhnz3jf312k50vn0hqbql8ga2rk0k79pkgchip4q4vcms";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: (target."windows" or false);
          }
        ];

      };
      "test-generator" = rec {
        crateName = "test-generator";
        version = "0.3.0";
        edition = "2018";
        workspace_member = null;
        src = pkgs.fetchgit {
          url = "https://github.com/JamesGuthrie/test-generator.git";
          rev = "82e799979980962aec1aa324ec6e0e4cad781f41";
          sha256 = "08brp3qqa55hijc7xby3lam2cc84hvx1zzfqv6lj7smlczh8k32y";
        };
        procMacro = true;
        authors = [
          "Frank Rehberger <frehberg@gmail.com>"
        ];
        dependencies = [
          {
            name = "glob";
            packageId = "glob";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2 0.4.30";
          }
          {
            name = "quote";
            packageId = "quote 0.6.13";
          }
          {
            name = "syn";
            packageId = "syn 0.15.44";
            features = [ "full" ];
          }
        ];

      };
      "test-strategy" = rec {
        crateName = "test-strategy";
        version = "0.2.1";
        edition = "2021";
        sha256 = "105lxqs0vnqff5821sgns8q1scvrwfx1yw6iz7i7nr862j6l1mk2";
        procMacro = true;
        authors = [
          "frozenlib"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "structmeta";
            packageId = "structmeta";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "visit" "full" ];
          }
        ];

      };
      "text-size" = rec {
        crateName = "text-size";
        version = "1.1.0";
        edition = "2018";
        sha256 = "02jn26l5wcdjqpy80ycnk9ha10flyc0p4yga8ci6aaz7vd4bb318";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
          "Christopher Durham (CAD97) <cad97@cad97.com>"
        ];
        features = {
          "serde" = [ "dep:serde" ];
        };
      };
      "textwrap" = rec {
        crateName = "textwrap";
        version = "0.16.0";
        edition = "2021";
        sha256 = "0gbwkjf15l6p3x2rkr75fa4cpcs1ly4c8pmlfx5bl6zybcm24ai2";
        authors = [
          "Martin Geisler <martin@geisler.net>"
        ];
        features = {
          "default" = [ "unicode-linebreak" "unicode-width" "smawk" ];
          "hyphenation" = [ "dep:hyphenation" ];
          "smawk" = [ "dep:smawk" ];
          "terminal_size" = [ "dep:terminal_size" ];
          "unicode-linebreak" = [ "dep:unicode-linebreak" ];
          "unicode-width" = [ "dep:unicode-width" ];
        };
      };
      "thiserror" = rec {
        crateName = "thiserror";
        version = "1.0.38";
        edition = "2018";
        sha256 = "1l7yh18iqcr2jnl6qjx3ywvhny98cvda3biwc334ap3xm65d373a";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "thiserror-impl";
            packageId = "thiserror-impl";
          }
        ];

      };
      "thiserror-impl" = rec {
        crateName = "thiserror-impl";
        version = "1.0.38";
        edition = "2018";
        sha256 = "0vzkcjqkzzgrwwby92xvnbp11a8d70b1gkybm0zx1r458spjgcqz";
        procMacro = true;
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
          }
        ];

      };
      "tinytemplate" = rec {
        crateName = "tinytemplate";
        version = "1.2.1";
        edition = "2015";
        sha256 = "1g5n77cqkdh9hy75zdb01adxn45mkh9y40wdr7l68xpz35gnnkdy";
        authors = [
          "Brook Heisler <brookheisler@gmail.com>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
        ];

      };
      "tokio" = rec {
        crateName = "tokio";
        version = "1.23.0";
        edition = "2018";
        sha256 = "0ipgy4lx36y0pmydgysxx18phypa5jh060z8srwcmikwhmjxddpa";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
            optional = true;
          }
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
          {
            name = "mio";
            packageId = "mio";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "socket2";
            packageId = "socket2";
            optional = true;
            target = { target, features }: (!(("wasm32" == target."arch") || ("wasm64" == target."arch")));
            features = [ "all" ];
          }
          {
            name = "tokio-macros";
            packageId = "tokio-macros";
            optional = true;
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            target = { target, features }: (target."docsrs" or false);
            features = [ "Win32_Foundation" "Win32_Security_Authorization" ];
          }
          {
            name = "windows-sys";
            packageId = "windows-sys";
            optional = true;
            target = { target, features }: (target."windows" or false);
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        devDependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "socket2";
            packageId = "socket2";
            target = { target, features }: (!(("wasm32" == target."arch") || ("wasm64" == target."arch")));
          }
        ];
        features = {
          "bytes" = [ "dep:bytes" ];
          "full" = [ "fs" "io-util" "io-std" "macros" "net" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "sync" "time" ];
          "io-util" = [ "memchr" "bytes" ];
          "libc" = [ "dep:libc" ];
          "macros" = [ "tokio-macros" ];
          "memchr" = [ "dep:memchr" ];
          "mio" = [ "dep:mio" ];
          "net" = [ "libc" "mio/os-poll" "mio/os-ext" "mio/net" "socket2" "windows-sys/Win32_Foundation" "windows-sys/Win32_Security" "windows-sys/Win32_Storage_FileSystem" "windows-sys/Win32_System_Pipes" "windows-sys/Win32_System_SystemServices" ];
          "num_cpus" = [ "dep:num_cpus" ];
          "parking_lot" = [ "dep:parking_lot" ];
          "process" = [ "bytes" "libc" "mio/os-poll" "mio/os-ext" "mio/net" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Threading" "windows-sys/Win32_System_WindowsProgramming" ];
          "rt-multi-thread" = [ "num_cpus" "rt" ];
          "signal" = [ "libc" "mio/os-poll" "mio/net" "mio/os-ext" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Console" ];
          "signal-hook-registry" = [ "dep:signal-hook-registry" ];
          "socket2" = [ "dep:socket2" ];
          "test-util" = [ "rt" "sync" "time" ];
          "tokio-macros" = [ "dep:tokio-macros" ];
          "tracing" = [ "dep:tracing" ];
          "windows-sys" = [ "dep:windows-sys" ];
        };
        resolvedDefaultFeatures = [ "bytes" "default" "io-std" "io-util" "libc" "macros" "memchr" "mio" "net" "rt" "socket2" "sync" "time" "tokio-macros" "windows-sys" ];
      };
      "tokio-io-timeout" = rec {
        crateName = "tokio-io-timeout";
        version = "1.2.0";
        edition = "2018";
        sha256 = "1gx84f92q1491vj4pkn81j8pz1s3pgwnbrsdhfsa2556mli41drh";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
        ];
        dependencies = [
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "time" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" ];
          }
        ];

      };
      "tokio-macros" = rec {
        crateName = "tokio-macros";
        version = "1.8.2";
        edition = "2018";
        sha256 = "1y3dphh8i4971wcfqxjhd662nain1i86rsf3y79mazr8vq7w0rnj";
        procMacro = true;
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "full" ];
          }
        ];

      };
      "tokio-stream" = rec {
        crateName = "tokio-stream";
        version = "0.1.11";
        edition = "2018";
        sha256 = "1ki3aafl33qyqmahhp4i5da1ig0im2a89cpqr5xwsg270h27fq6n";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" "test-util" ];
          }
        ];
        features = {
          "default" = [ "time" ];
          "fs" = [ "tokio/fs" ];
          "io-util" = [ "tokio/io-util" ];
          "net" = [ "tokio/net" ];
          "signal" = [ "tokio/signal" ];
          "sync" = [ "tokio/sync" "tokio-util" ];
          "time" = [ "tokio/time" ];
          "tokio-util" = [ "dep:tokio-util" ];
        };
        resolvedDefaultFeatures = [ "default" "time" ];
      };
      "tokio-util" = rec {
        crateName = "tokio-util";
        version = "0.7.4";
        edition = "2018";
        sha256 = "0h67jb56bsxy4pi1a41pda8d52569ci5clvqv3c6cg9vy1sy1chb";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
          {
            name = "tracing";
            packageId = "tracing";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" ];
          }
        ];
        features = {
          "__docs_rs" = [ "futures-util" ];
          "codec" = [ "tracing" ];
          "compat" = [ "futures-io" ];
          "full" = [ "codec" "compat" "io-util" "time" "net" "rt" ];
          "futures-io" = [ "dep:futures-io" ];
          "futures-util" = [ "dep:futures-util" ];
          "hashbrown" = [ "dep:hashbrown" ];
          "io-util" = [ "io" "tokio/rt" "tokio/io-util" ];
          "net" = [ "tokio/net" ];
          "rt" = [ "tokio/rt" "tokio/sync" "futures-util" "hashbrown" ];
          "slab" = [ "dep:slab" ];
          "time" = [ "tokio/time" "slab" ];
          "tracing" = [ "dep:tracing" ];
        };
        resolvedDefaultFeatures = [ "codec" "default" "tracing" ];
      };
      "tonic" = rec {
        crateName = "tonic";
        version = "0.8.3";
        edition = "2018";
        sha256 = "1yymp2xi1p60g81p5jfaybcawpfkb01vqvzqn4cyz6wj7fnry8cg";
        authors = [
          "Lucio Franco <luciofranco14@gmail.com>"
        ];
        dependencies = [
          {
            name = "async-stream";
            packageId = "async-stream";
          }
          {
            name = "async-trait";
            packageId = "async-trait";
            optional = true;
          }
          {
            name = "axum";
            packageId = "axum";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "base64";
            packageId = "base64";
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
          {
            name = "h2";
            packageId = "h2";
            optional = true;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
          }
          {
            name = "hyper";
            packageId = "hyper";
            optional = true;
            features = [ "full" ];
          }
          {
            name = "hyper-timeout";
            packageId = "hyper-timeout";
            optional = true;
          }
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
          }
          {
            name = "pin-project";
            packageId = "pin-project";
          }
          {
            name = "prost";
            packageId = "prost";
            rename = "prost1";
            optional = true;
          }
          {
            name = "prost-derive";
            packageId = "prost-derive";
            optional = true;
          }
          {
            name = "tokio";
            packageId = "tokio";
            optional = true;
            features = [ "net" ];
          }
          {
            name = "tokio-stream";
            packageId = "tokio-stream";
          }
          {
            name = "tokio-util";
            packageId = "tokio-util";
            features = [ "codec" ];
          }
          {
            name = "tower";
            packageId = "tower";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "balance" "buffer" "discover" "limit" "load" "make" "timeout" "util" ];
          }
          {
            name = "tower-layer";
            packageId = "tower-layer";
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
          {
            name = "tracing";
            packageId = "tracing";
          }
          {
            name = "tracing-futures";
            packageId = "tracing-futures";
            optional = true;
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "rt" "macros" ];
          }
          {
            name = "tower";
            packageId = "tower";
            features = [ "full" ];
          }
        ];
        features = {
          "async-trait" = [ "dep:async-trait" ];
          "axum" = [ "dep:axum" ];
          "channel" = [ "h2" "hyper" "tokio" "tower" "tracing-futures" "tokio/macros" "tokio/time" "hyper-timeout" ];
          "codegen" = [ "async-trait" ];
          "default" = [ "transport" "codegen" "prost" ];
          "flate2" = [ "dep:flate2" ];
          "gzip" = [ "flate2" ];
          "h2" = [ "dep:h2" ];
          "hyper" = [ "dep:hyper" ];
          "hyper-timeout" = [ "dep:hyper-timeout" ];
          "prost" = [ "prost1" "prost-derive" ];
          "prost-derive" = [ "dep:prost-derive" ];
          "prost1" = [ "dep:prost1" ];
          "rustls-native-certs" = [ "dep:rustls-native-certs" ];
          "rustls-pemfile" = [ "dep:rustls-pemfile" ];
          "tls" = [ "rustls-pemfile" "transport" "tokio-rustls" ];
          "tls-roots" = [ "tls-roots-common" "rustls-native-certs" ];
          "tls-roots-common" = [ "tls" ];
          "tls-webpki-roots" = [ "tls-roots-common" "webpki-roots" ];
          "tokio" = [ "dep:tokio" ];
          "tokio-rustls" = [ "dep:tokio-rustls" ];
          "tower" = [ "dep:tower" ];
          "tracing-futures" = [ "dep:tracing-futures" ];
          "transport" = [ "axum" "channel" ];
          "webpki-roots" = [ "dep:webpki-roots" ];
        };
        resolvedDefaultFeatures = [ "async-trait" "axum" "channel" "codegen" "default" "h2" "hyper" "hyper-timeout" "prost" "prost-derive" "prost1" "tokio" "tower" "tracing-futures" "transport" ];
      };
      "tonic-build" = rec {
        crateName = "tonic-build";
        version = "0.8.4";
        edition = "2018";
        sha256 = "1i781mfzcbzfk6fnf7qp95q6r0b05ixvmynw4z0agq7pq2wykxav";
        authors = [
          "Lucio Franco <luciofranco14@gmail.com>"
        ];
        dependencies = [
          {
            name = "prettyplease";
            packageId = "prettyplease";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "prost-build";
            packageId = "prost-build";
            optional = true;
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
          }
        ];
        features = {
          "cleanup-markdown" = [ "prost-build/cleanup-markdown" ];
          "default" = [ "transport" "prost" ];
          "prost" = [ "prost-build" ];
          "prost-build" = [ "dep:prost-build" ];
        };
        resolvedDefaultFeatures = [ "default" "prost" "prost-build" "transport" ];
      };
      "tower" = rec {
        crateName = "tower";
        version = "0.4.13";
        edition = "2018";
        sha256 = "073wncyqav4sak1p755hf6vl66njgfc1z1g1di9rxx3cvvh9pymq";
        authors = [
          "Tower Maintainers <team@tower-rs.com>"
        ];
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            optional = true;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "alloc" ];
          }
          {
            name = "indexmap";
            packageId = "indexmap";
            optional = true;
          }
          {
            name = "pin-project";
            packageId = "pin-project";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
            optional = true;
          }
          {
            name = "rand";
            packageId = "rand 0.8.5";
            optional = true;
            features = [ "small_rng" ];
          }
          {
            name = "slab";
            packageId = "slab";
            optional = true;
          }
          {
            name = "tokio";
            packageId = "tokio";
            optional = true;
            features = [ "sync" ];
          }
          {
            name = "tokio-util";
            packageId = "tokio-util";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "tower-layer";
            packageId = "tower-layer";
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
          {
            name = "tracing";
            packageId = "tracing";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
        ];
        devDependencies = [
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "macros" "sync" "test-util" "rt-multi-thread" ];
          }
        ];
        features = {
          "__common" = [ "futures-core" "pin-project-lite" ];
          "balance" = [ "discover" "load" "ready-cache" "make" "rand" "slab" ];
          "buffer" = [ "__common" "tokio/sync" "tokio/rt" "tokio-util" "tracing" ];
          "default" = [ "log" ];
          "discover" = [ "__common" ];
          "filter" = [ "__common" "futures-util" ];
          "full" = [ "balance" "buffer" "discover" "filter" "hedge" "limit" "load" "load-shed" "make" "ready-cache" "reconnect" "retry" "spawn-ready" "steer" "timeout" "util" ];
          "futures-core" = [ "dep:futures-core" ];
          "futures-util" = [ "dep:futures-util" ];
          "hdrhistogram" = [ "dep:hdrhistogram" ];
          "hedge" = [ "util" "filter" "futures-util" "hdrhistogram" "tokio/time" "tracing" ];
          "indexmap" = [ "dep:indexmap" ];
          "limit" = [ "__common" "tokio/time" "tokio/sync" "tokio-util" "tracing" ];
          "load" = [ "__common" "tokio/time" "tracing" ];
          "load-shed" = [ "__common" ];
          "log" = [ "tracing/log" ];
          "make" = [ "futures-util" "pin-project-lite" "tokio/io-std" ];
          "pin-project" = [ "dep:pin-project" ];
          "pin-project-lite" = [ "dep:pin-project-lite" ];
          "rand" = [ "dep:rand" ];
          "ready-cache" = [ "futures-core" "futures-util" "indexmap" "tokio/sync" "tracing" "pin-project-lite" ];
          "reconnect" = [ "make" "tokio/io-std" "tracing" ];
          "retry" = [ "__common" "tokio/time" ];
          "slab" = [ "dep:slab" ];
          "spawn-ready" = [ "__common" "futures-util" "tokio/sync" "tokio/rt" "util" "tracing" ];
          "timeout" = [ "pin-project-lite" "tokio/time" ];
          "tokio" = [ "dep:tokio" ];
          "tokio-stream" = [ "dep:tokio-stream" ];
          "tokio-util" = [ "dep:tokio-util" ];
          "tracing" = [ "dep:tracing" ];
          "util" = [ "__common" "futures-util" "pin-project" ];
        };
        resolvedDefaultFeatures = [ "__common" "balance" "buffer" "default" "discover" "futures-core" "futures-util" "indexmap" "limit" "load" "log" "make" "pin-project" "pin-project-lite" "rand" "ready-cache" "slab" "timeout" "tokio" "tokio-util" "tracing" "util" ];
      };
      "tower-http" = rec {
        crateName = "tower-http";
        version = "0.3.5";
        edition = "2018";
        sha256 = "0n6qr26ivwqv19fih5pcjk2nvmys77m964lwkqiyil9dy15h8wzq";
        authors = [
          "Tower Maintainers <team@tower-rs.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
          }
          {
            name = "http-range-header";
            packageId = "http-range-header";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tower";
            packageId = "tower";
            optional = true;
          }
          {
            name = "tower-layer";
            packageId = "tower-layer";
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
        ];
        devDependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "tower";
            packageId = "tower";
            features = [ "buffer" "util" "retry" "make" "timeout" ];
          }
        ];
        features = {
          "async-compression" = [ "dep:async-compression" ];
          "auth" = [ "base64" ];
          "base64" = [ "dep:base64" ];
          "catch-panic" = [ "tracing" "futures-util/std" ];
          "compression-br" = [ "async-compression/brotli" "tokio-util" "tokio" ];
          "compression-deflate" = [ "async-compression/zlib" "tokio-util" "tokio" ];
          "compression-full" = [ "compression-br" "compression-deflate" "compression-gzip" ];
          "compression-gzip" = [ "async-compression/gzip" "tokio-util" "tokio" ];
          "decompression-br" = [ "async-compression/brotli" "tokio-util" "tokio" ];
          "decompression-deflate" = [ "async-compression/zlib" "tokio-util" "tokio" ];
          "decompression-full" = [ "decompression-br" "decompression-deflate" "decompression-gzip" ];
          "decompression-gzip" = [ "async-compression/gzip" "tokio-util" "tokio" ];
          "follow-redirect" = [ "iri-string" "tower/util" ];
          "fs" = [ "tokio/fs" "tokio-util/io" "tokio/io-util" "mime_guess" "mime" "percent-encoding" "httpdate" "set-status" "futures-util/alloc" ];
          "full" = [ "add-extension" "auth" "catch-panic" "compression-full" "cors" "decompression-full" "follow-redirect" "fs" "limit" "map-request-body" "map-response-body" "metrics" "normalize-path" "propagate-header" "redirect" "request-id" "sensitive-headers" "set-header" "set-status" "timeout" "trace" "util" "validate-request" ];
          "httpdate" = [ "dep:httpdate" ];
          "iri-string" = [ "dep:iri-string" ];
          "metrics" = [ "tokio/time" ];
          "mime" = [ "dep:mime" ];
          "mime_guess" = [ "dep:mime_guess" ];
          "percent-encoding" = [ "dep:percent-encoding" ];
          "request-id" = [ "uuid" ];
          "timeout" = [ "tokio/time" ];
          "tokio" = [ "dep:tokio" ];
          "tokio-util" = [ "dep:tokio-util" ];
          "tower" = [ "dep:tower" ];
          "trace" = [ "tracing" ];
          "tracing" = [ "dep:tracing" ];
          "util" = [ "tower" ];
          "uuid" = [ "dep:uuid" ];
          "validate-request" = [ "mime" ];
        };
        resolvedDefaultFeatures = [ "default" "map-response-body" "tower" "util" ];
      };
      "tower-layer" = rec {
        crateName = "tower-layer";
        version = "0.3.2";
        edition = "2018";
        sha256 = "1l7i17k9vlssrdg4s3b0ia5jjkmmxsvv8s9y9ih0jfi8ssz8s362";
        authors = [
          "Tower Maintainers <team@tower-rs.com>"
        ];

      };
      "tower-service" = rec {
        crateName = "tower-service";
        version = "0.3.2";
        edition = "2018";
        sha256 = "0lmfzmmvid2yp2l36mbavhmqgsvzqf7r2wiwz73ml4xmwaf1rg5n";
        authors = [
          "Tower Maintainers <team@tower-rs.com>"
        ];

      };
      "tracing" = rec {
        crateName = "tracing";
        version = "0.1.37";
        edition = "2018";
        sha256 = "1f2fylc79xmbh7v53kak6qyw27njbx227rd64kb4bga8ilxc7s4c";
        authors = [
          "Eliza Weisman <eliza@buoyant.io>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "log";
            packageId = "log";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tracing-attributes";
            packageId = "tracing-attributes";
            optional = true;
          }
          {
            name = "tracing-core";
            packageId = "tracing-core";
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "log";
            packageId = "log";
          }
        ];
        features = {
          "attributes" = [ "tracing-attributes" ];
          "default" = [ "std" "attributes" ];
          "log" = [ "dep:log" ];
          "log-always" = [ "log" ];
          "std" = [ "tracing-core/std" ];
          "tracing-attributes" = [ "dep:tracing-attributes" ];
          "valuable" = [ "tracing-core/valuable" ];
        };
        resolvedDefaultFeatures = [ "attributes" "default" "log" "std" "tracing-attributes" ];
      };
      "tracing-attributes" = rec {
        crateName = "tracing-attributes";
        version = "0.1.23";
        edition = "2018";
        sha256 = "06h80cy0i1kilvnj8j9dw2kcfwbwj49n2s3jwskhr1rra7sgh5s0";
        procMacro = true;
        authors = [
          "Tokio Contributors <team@tokio.rs>"
          "Eliza Weisman <eliza@buoyant.io>"
          "David Barsky <dbarsky@amazon.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            usesDefaultFeatures = false;
            features = [ "full" "parsing" "printing" "visit" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ];
          }
        ];
        features = { };
      };
      "tracing-core" = rec {
        crateName = "tracing-core";
        version = "0.1.30";
        edition = "2018";
        sha256 = "0fi1jz3jbzk3n7k379pwv3wfhn35c5gcwn000m2xh7xb1sx07sr4";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "once_cell";
            packageId = "once_cell";
            optional = true;
          }
        ];
        features = {
          "default" = [ "std" "valuable/std" ];
          "once_cell" = [ "dep:once_cell" ];
          "std" = [ "once_cell" ];
          "valuable" = [ "dep:valuable" ];
        };
        resolvedDefaultFeatures = [ "once_cell" "std" ];
      };
      "tracing-futures" = rec {
        crateName = "tracing-futures";
        version = "0.2.5";
        edition = "2018";
        sha256 = "1wimg0iwa2ldq7xv98lvivvf3q9ykfminig8r1bs0ig22np9bl4p";
        authors = [
          "Eliza Weisman <eliza@buoyant.io>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "pin-project";
            packageId = "pin-project";
            optional = true;
          }
          {
            name = "tracing";
            packageId = "tracing";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std-future" "std" ];
          "futures" = [ "dep:futures" ];
          "futures-01" = [ "futures_01" "std" ];
          "futures-03" = [ "std-future" "futures" "futures-task" "std" ];
          "futures-task" = [ "dep:futures-task" ];
          "futures_01" = [ "dep:futures_01" ];
          "pin-project" = [ "dep:pin-project" ];
          "std" = [ "tracing/std" ];
          "std-future" = [ "pin-project" ];
          "tokio" = [ "dep:tokio" ];
          "tokio-executor" = [ "dep:tokio-executor" ];
        };
        resolvedDefaultFeatures = [ "default" "pin-project" "std" "std-future" ];
      };
      "try-lock" = rec {
        crateName = "try-lock";
        version = "0.2.3";
        edition = "2015";
        sha256 = "0hkn1ksmg5hdqgqdw1ahy5qk69f4crh2psf0v61qphyrf777nm2r";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];

      };
      "tvix-cli" = rec {
        crateName = "tvix-cli";
        version = "0.1.0";
        edition = "2021";
        crateBin = [
          {
            name = "tvix";
            path = "src/main.rs";
            requiredFeatures = [ ];
          }
        ];
        # We can't filter paths with references in Nix 2.4
        # See https://github.com/NixOS/nix/issues/5410
        src =
          if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
          then lib.cleanSourceWith { filter = sourceFilter; src = ./cli; }
          else ./cli;
        dependencies = [
          {
            name = "clap";
            packageId = "clap 4.0.27";
            features = [ "derive" "env" ];
          }
          {
            name = "dirs";
            packageId = "dirs";
          }
          {
            name = "rustyline";
            packageId = "rustyline";
          }
          {
            name = "smol_str";
            packageId = "smol_str";
          }
          {
            name = "tvix-eval";
            packageId = "tvix-eval";
          }
        ];

      };
      "tvix-eval" = rec {
        crateName = "tvix-eval";
        version = "0.1.0";
        edition = "2021";
        # We can't filter paths with references in Nix 2.4
        # See https://github.com/NixOS/nix/issues/5410
        src =
          if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
          then lib.cleanSourceWith { filter = sourceFilter; src = ./eval; }
          else ./eval;
        libName = "tvix_eval";
        dependencies = [
          {
            name = "backtrace-on-stack-overflow";
            packageId = "backtrace-on-stack-overflow";
            optional = true;
          }
          {
            name = "codemap";
            packageId = "codemap";
          }
          {
            name = "codemap-diagnostic";
            packageId = "codemap-diagnostic";
          }
          {
            name = "dirs";
            packageId = "dirs";
          }
          {
            name = "path-clean";
            packageId = "path-clean";
          }
          {
            name = "proptest";
            packageId = "proptest";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" "alloc" "break-dead-code" "tempfile" ];
          }
          {
            name = "regex";
            packageId = "regex";
          }
          {
            name = "rnix";
            packageId = "rnix";
          }
          {
            name = "rowan";
            packageId = "rowan";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "smol_str";
            packageId = "smol_str";
          }
          {
            name = "tabwriter";
            packageId = "tabwriter";
          }
          {
            name = "test-strategy";
            packageId = "test-strategy";
            optional = true;
          }
          {
            name = "tvix-eval-builtin-macros";
            packageId = "tvix-eval-builtin-macros";
            rename = "builtin-macros";
          }
        ];
        devDependencies = [
          {
            name = "criterion";
            packageId = "criterion";
          }
          {
            name = "itertools";
            packageId = "itertools";
          }
          {
            name = "pretty_assertions";
            packageId = "pretty_assertions";
          }
          {
            name = "tempdir";
            packageId = "tempdir";
          }
          {
            name = "test-generator";
            packageId = "test-generator";
          }
        ];
        features = {
          "arbitrary" = [ "proptest" "test-strategy" ];
          "backtrace-on-stack-overflow" = [ "dep:backtrace-on-stack-overflow" ];
          "backtrace_overflow" = [ "backtrace-on-stack-overflow" ];
          "default" = [ "impure" "arbitrary" "nix_tests" "backtrace_overflow" ];
          "proptest" = [ "dep:proptest" ];
          "test-strategy" = [ "dep:test-strategy" ];
        };
        resolvedDefaultFeatures = [ "arbitrary" "backtrace-on-stack-overflow" "backtrace_overflow" "default" "impure" "nix_tests" "proptest" "test-strategy" ];
      };
      "tvix-eval-builtin-macros" = rec {
        crateName = "tvix-eval-builtin-macros";
        version = "0.0.1";
        edition = "2021";
        # We can't filter paths with references in Nix 2.4
        # See https://github.com/NixOS/nix/issues/5410
        src =
          if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
          then lib.cleanSourceWith { filter = sourceFilter; src = ./eval/builtin-macros; }
          else ./eval/builtin-macros;
        procMacro = true;
        authors = [
          "Griffin Smith <root@gws.fyi>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "full" "parsing" "printing" "visit" "visit-mut" "extra-traits" ];
          }
        ];
        devDependencies = [
          {
            name = "tvix-eval";
            packageId = "tvix-eval";
          }
        ];

      };
      "tvix-nar" = rec {
        crateName = "tvix-nar";
        version = "0.0.0";
        edition = "2021";
        # We can't filter paths with references in Nix 2.4
        # See https://github.com/NixOS/nix/issues/5410
        src =
          if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
          then lib.cleanSourceWith { filter = sourceFilter; src = ./nar; }
          else ./nar;

      };
      "tvix-store" = rec {
        crateName = "tvix-store";
        version = "0.1.0";
        edition = "2021";
        crateBin = [
          {
            name = "tvix-store";
            path = "src/main.rs";
            requiredFeatures = [ ];
          }
        ];
        # We can't filter paths with references in Nix 2.4
        # See https://github.com/NixOS/nix/issues/5410
        src =
          if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
          then lib.cleanSourceWith { filter = sourceFilter; src = ./store; }
          else ./store;
        dependencies = [
          {
            name = "anyhow";
            packageId = "anyhow";
          }
          {
            name = "blake3";
            packageId = "blake3";
            features = [ "rayon" "std" ];
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "prost";
            packageId = "prost";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "tonic";
            packageId = "tonic";
          }
        ];
        buildDependencies = [
          {
            name = "prost-build";
            packageId = "prost-build";
          }
          {
            name = "tonic-build";
            packageId = "tonic-build";
          }
        ];

      };
      "typenum" = rec {
        crateName = "typenum";
        version = "1.16.0";
        edition = "2018";
        sha256 = "1fhb9iaqyjn4dzn2vl86kxjhp4xpw5gynczlnqzf4x6rjgpn2ya9";
        build = "build/main.rs";
        authors = [
          "Paho Lurie-Gregg <paho@paholg.com>"
          "Andre Bogus <bogusandre@gmail.com>"
        ];
        features = {
          "scale-info" = [ "dep:scale-info" ];
          "scale_info" = [ "scale-info/derive" ];
        };
      };
      "unicode-ident" = rec {
        crateName = "unicode-ident";
        version = "1.0.5";
        edition = "2018";
        sha256 = "1wznr6ax3jl09vxkvj4a62vip2avfgif13js9sflkjg4b6fv7skc";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];

      };
      "unicode-segmentation" = rec {
        crateName = "unicode-segmentation";
        version = "1.10.0";
        edition = "2018";
        sha256 = "0nks0izrlfrc26hkbs3v3rdjk7lkrflffv2ajhgf0gbql19g1nqg";
        authors = [
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        features = { };
      };
      "unicode-width" = rec {
        crateName = "unicode-width";
        version = "0.1.10";
        edition = "2015";
        sha256 = "12vc3wv0qwg8rzcgb9bhaf5119dlmd6lmkhbfy1zfls6n7jx3vf0";
        authors = [
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "rustc-dep-of-std" = [ "std" "core" "compiler_builtins" ];
          "std" = [ "dep:std" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "unicode-xid" = rec {
        crateName = "unicode-xid";
        version = "0.1.0";
        edition = "2015";
        sha256 = "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw";
        authors = [
          "erick.tryzelaar <erick.tryzelaar@gmail.com>"
          "kwantam <kwantam@gmail.com>"
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "utf8parse" = rec {
        crateName = "utf8parse";
        version = "0.2.0";
        edition = "2018";
        sha256 = "0wjkvy22cxg023vkmvq2wwkgqyqam0d4pjld3m13blfg594lnvlk";
        authors = [
          "Joe Wilm <joe@jwilm.com>"
          "Christian Duerr <contact@christianduerr.com>"
        ];
        features = { };
        resolvedDefaultFeatures = [ "default" ];
      };
      "version_check" = rec {
        crateName = "version_check";
        version = "0.9.4";
        edition = "2015";
        sha256 = "0gs8grwdlgh0xq660d7wr80x14vxbizmd8dbp29p2pdncx8lp1s9";
        authors = [
          "Sergio Benitez <sb@sergio.bz>"
        ];

      };
      "walkdir" = rec {
        crateName = "walkdir";
        version = "2.3.2";
        edition = "2018";
        sha256 = "0mnszy33685v8y9js8mw6x2p3iddqs8vfj7n2dhqddnlbirz5340";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "same-file";
            packageId = "same-file";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "std" "winnt" ];
          }
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: (target."windows" or false);
          }
        ];

      };
      "want" = rec {
        crateName = "want";
        version = "0.3.0";
        edition = "2018";
        sha256 = "181b2zmwfq389x9n2g1n37cvcvvdand832zz6v8i1l8wrdlaks0w";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "try-lock";
            packageId = "try-lock";
          }
        ];

      };
      "wasi" = rec {
        crateName = "wasi";
        version = "0.11.0+wasi-snapshot-preview1";
        edition = "2018";
        sha256 = "08z4hxwkpdpalxjps1ai9y7ihin26y9f476i53dv98v45gkqg3cw";
        authors = [
          "The Cranelift Project Developers"
        ];
        features = {
          "compiler_builtins" = [ "dep:compiler_builtins" ];
          "core" = [ "dep:core" ];
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
          "rustc-std-workspace-alloc" = [ "dep:rustc-std-workspace-alloc" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "wasm-bindgen" = rec {
        crateName = "wasm-bindgen";
        version = "0.2.83";
        edition = "2018";
        sha256 = "0s3ji0k8p261glnsxi5rkd34v2pv67h96blb29yf32zcxsngbyga";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "wasm-bindgen-macro";
            packageId = "wasm-bindgen-macro";
          }
        ];
        features = {
          "default" = [ "spans" "std" ];
          "enable-interning" = [ "std" ];
          "serde" = [ "dep:serde" ];
          "serde-serialize" = [ "serde" "serde_json" "std" ];
          "serde_json" = [ "dep:serde_json" ];
          "spans" = [ "wasm-bindgen-macro/spans" ];
          "strict-macro" = [ "wasm-bindgen-macro/strict-macro" ];
          "xxx_debug_only_print_generated_code" = [ "wasm-bindgen-macro/xxx_debug_only_print_generated_code" ];
        };
        resolvedDefaultFeatures = [ "default" "spans" "std" ];
      };
      "wasm-bindgen-backend" = rec {
        crateName = "wasm-bindgen-backend";
        version = "0.2.83";
        edition = "2018";
        sha256 = "0hhigjqrb31axh7jgmb5y8akdpxqx8gvjs6ja9xmbc3r4lrzp3sc";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "bumpalo";
            packageId = "bumpalo";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "once_cell";
            packageId = "once_cell";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "full" ];
          }
          {
            name = "wasm-bindgen-shared";
            packageId = "wasm-bindgen-shared";
          }
        ];
        features = {
          "extra-traits" = [ "syn/extra-traits" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-macro" = rec {
        crateName = "wasm-bindgen-macro";
        version = "0.2.83";
        edition = "2018";
        sha256 = "0468wshk7bp78mnglcpmrb6m4q7x2fp9pz6ybk3wpri683wy0aq5";
        procMacro = true;
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "wasm-bindgen-macro-support";
            packageId = "wasm-bindgen-macro-support";
          }
        ];
        features = {
          "spans" = [ "wasm-bindgen-macro-support/spans" ];
          "strict-macro" = [ "wasm-bindgen-macro-support/strict-macro" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-macro-support" = rec {
        crateName = "wasm-bindgen-macro-support";
        version = "0.2.83";
        edition = "2018";
        sha256 = "0g0rmawgkhfyfgjj2mvch7gvz1nzfnfmya0kgcq3xwn53l2hrg07";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2 1.0.47";
          }
          {
            name = "quote";
            packageId = "quote 1.0.21";
          }
          {
            name = "syn";
            packageId = "syn 1.0.103";
            features = [ "visit" "full" ];
          }
          {
            name = "wasm-bindgen-backend";
            packageId = "wasm-bindgen-backend";
          }
          {
            name = "wasm-bindgen-shared";
            packageId = "wasm-bindgen-shared";
          }
        ];
        features = {
          "extra-traits" = [ "syn/extra-traits" ];
          "spans" = [ "wasm-bindgen-backend/spans" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-shared" = rec {
        crateName = "wasm-bindgen-shared";
        version = "0.2.83";
        edition = "2018";
        sha256 = "0zzz9xfi3fp2n5ihhlq8ws7674a2ir2frvsd1d7yr4sxad2w0f0w";
        authors = [
          "The wasm-bindgen Developers"
        ];

      };
      "web-sys" = rec {
        crateName = "web-sys";
        version = "0.3.60";
        edition = "2018";
        sha256 = "03sic7x58vi5qz8qrcka21748kmdmwlvgiddsn7p4vp1idnr1nmw";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];
        features = {
          "AbortSignal" = [ "EventTarget" ];
          "AnalyserNode" = [ "AudioNode" "EventTarget" ];
          "Animation" = [ "EventTarget" ];
          "AnimationEvent" = [ "Event" ];
          "AnimationPlaybackEvent" = [ "Event" ];
          "Attr" = [ "EventTarget" "Node" ];
          "AudioBufferSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "AudioContext" = [ "BaseAudioContext" "EventTarget" ];
          "AudioDestinationNode" = [ "AudioNode" "EventTarget" ];
          "AudioNode" = [ "EventTarget" ];
          "AudioProcessingEvent" = [ "Event" ];
          "AudioScheduledSourceNode" = [ "AudioNode" "EventTarget" ];
          "AudioStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "AudioTrackList" = [ "EventTarget" ];
          "AudioWorklet" = [ "Worklet" ];
          "AudioWorkletGlobalScope" = [ "WorkletGlobalScope" ];
          "AudioWorkletNode" = [ "AudioNode" "EventTarget" ];
          "AuthenticatorAssertionResponse" = [ "AuthenticatorResponse" ];
          "AuthenticatorAttestationResponse" = [ "AuthenticatorResponse" ];
          "BaseAudioContext" = [ "EventTarget" ];
          "BatteryManager" = [ "EventTarget" ];
          "BeforeUnloadEvent" = [ "Event" ];
          "BiquadFilterNode" = [ "AudioNode" "EventTarget" ];
          "BlobEvent" = [ "Event" ];
          "Bluetooth" = [ "EventTarget" ];
          "BluetoothAdvertisingEvent" = [ "Event" ];
          "BluetoothDevice" = [ "EventTarget" ];
          "BluetoothPermissionResult" = [ "EventTarget" "PermissionStatus" ];
          "BluetoothRemoteGattCharacteristic" = [ "EventTarget" ];
          "BluetoothRemoteGattService" = [ "EventTarget" ];
          "BroadcastChannel" = [ "EventTarget" ];
          "CanvasCaptureMediaStream" = [ "EventTarget" "MediaStream" ];
          "CdataSection" = [ "CharacterData" "EventTarget" "Node" "Text" ];
          "ChannelMergerNode" = [ "AudioNode" "EventTarget" ];
          "ChannelSplitterNode" = [ "AudioNode" "EventTarget" ];
          "CharacterData" = [ "EventTarget" "Node" ];
          "ChromeWorker" = [ "EventTarget" "Worker" ];
          "Clipboard" = [ "EventTarget" ];
          "ClipboardEvent" = [ "Event" ];
          "CloseEvent" = [ "Event" ];
          "Comment" = [ "CharacterData" "EventTarget" "Node" ];
          "CompositionEvent" = [ "Event" "UiEvent" ];
          "ConstantSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "ConvolverNode" = [ "AudioNode" "EventTarget" ];
          "CssAnimation" = [ "Animation" "EventTarget" ];
          "CssConditionRule" = [ "CssGroupingRule" "CssRule" ];
          "CssCounterStyleRule" = [ "CssRule" ];
          "CssFontFaceRule" = [ "CssRule" ];
          "CssFontFeatureValuesRule" = [ "CssRule" ];
          "CssGroupingRule" = [ "CssRule" ];
          "CssImportRule" = [ "CssRule" ];
          "CssKeyframeRule" = [ "CssRule" ];
          "CssKeyframesRule" = [ "CssRule" ];
          "CssMediaRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
          "CssNamespaceRule" = [ "CssRule" ];
          "CssPageRule" = [ "CssRule" ];
          "CssStyleRule" = [ "CssRule" ];
          "CssStyleSheet" = [ "StyleSheet" ];
          "CssSupportsRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
          "CssTransition" = [ "Animation" "EventTarget" ];
          "CustomEvent" = [ "Event" ];
          "DedicatedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "DelayNode" = [ "AudioNode" "EventTarget" ];
          "DeviceLightEvent" = [ "Event" ];
          "DeviceMotionEvent" = [ "Event" ];
          "DeviceOrientationEvent" = [ "Event" ];
          "DeviceProximityEvent" = [ "Event" ];
          "Document" = [ "EventTarget" "Node" ];
          "DocumentFragment" = [ "EventTarget" "Node" ];
          "DocumentTimeline" = [ "AnimationTimeline" ];
          "DocumentType" = [ "EventTarget" "Node" ];
          "DomMatrix" = [ "DomMatrixReadOnly" ];
          "DomPoint" = [ "DomPointReadOnly" ];
          "DomRect" = [ "DomRectReadOnly" ];
          "DomRequest" = [ "EventTarget" ];
          "DragEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "DynamicsCompressorNode" = [ "AudioNode" "EventTarget" ];
          "Element" = [ "EventTarget" "Node" ];
          "ErrorEvent" = [ "Event" ];
          "EventSource" = [ "EventTarget" ];
          "ExtendableEvent" = [ "Event" ];
          "ExtendableMessageEvent" = [ "Event" "ExtendableEvent" ];
          "FetchEvent" = [ "Event" "ExtendableEvent" ];
          "FetchObserver" = [ "EventTarget" ];
          "File" = [ "Blob" ];
          "FileReader" = [ "EventTarget" ];
          "FileSystemDirectoryEntry" = [ "FileSystemEntry" ];
          "FileSystemFileEntry" = [ "FileSystemEntry" ];
          "FocusEvent" = [ "Event" "UiEvent" ];
          "FontFaceSet" = [ "EventTarget" ];
          "FontFaceSetLoadEvent" = [ "Event" ];
          "GainNode" = [ "AudioNode" "EventTarget" ];
          "GamepadAxisMoveEvent" = [ "Event" "GamepadEvent" ];
          "GamepadButtonEvent" = [ "Event" "GamepadEvent" ];
          "GamepadEvent" = [ "Event" ];
          "GpuDevice" = [ "EventTarget" ];
          "GpuOutOfMemoryError" = [ "GpuError" ];
          "GpuUncapturedErrorEvent" = [ "Event" ];
          "GpuValidationError" = [ "GpuError" ];
          "HashChangeEvent" = [ "Event" ];
          "Hid" = [ "EventTarget" ];
          "HidConnectionEvent" = [ "Event" ];
          "HidDevice" = [ "EventTarget" ];
          "HidInputReportEvent" = [ "Event" ];
          "HtmlAnchorElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlAudioElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
          "HtmlBaseElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlBodyElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlBrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlButtonElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlCanvasElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDataElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDataListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDetailsElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDialogElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDirectoryElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDivElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDocument" = [ "Document" "EventTarget" "Node" ];
          "HtmlElement" = [ "Element" "EventTarget" "Node" ];
          "HtmlEmbedElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFieldSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFontElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFormControlsCollection" = [ "HtmlCollection" ];
          "HtmlFormElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFrameSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHeadElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHeadingElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHtmlElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlIFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlImageElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlInputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLabelElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLegendElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLiElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLinkElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMapElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMediaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMenuElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMenuItemElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMetaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMeterElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlModElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlObjectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptGroupElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptionsCollection" = [ "HtmlCollection" ];
          "HtmlOutputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlParagraphElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlParamElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlPictureElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlPreElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlProgressElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlQuoteElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlScriptElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSelectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSlotElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSourceElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSpanElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlStyleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableCaptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableCellElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableColElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableRowElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableSectionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTemplateElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTextAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTimeElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTitleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTrackElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlUListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlUnknownElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlVideoElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
          "IdbCursorWithValue" = [ "IdbCursor" ];
          "IdbDatabase" = [ "EventTarget" ];
          "IdbFileHandle" = [ "EventTarget" ];
          "IdbFileRequest" = [ "DomRequest" "EventTarget" ];
          "IdbLocaleAwareKeyRange" = [ "IdbKeyRange" ];
          "IdbMutableFile" = [ "EventTarget" ];
          "IdbOpenDbRequest" = [ "EventTarget" "IdbRequest" ];
          "IdbRequest" = [ "EventTarget" ];
          "IdbTransaction" = [ "EventTarget" ];
          "IdbVersionChangeEvent" = [ "Event" ];
          "IirFilterNode" = [ "AudioNode" "EventTarget" ];
          "ImageCaptureErrorEvent" = [ "Event" ];
          "ImageTrack" = [ "EventTarget" ];
          "InputEvent" = [ "Event" "UiEvent" ];
          "KeyboardEvent" = [ "Event" "UiEvent" ];
          "KeyframeEffect" = [ "AnimationEffect" ];
          "LocalMediaStream" = [ "EventTarget" "MediaStream" ];
          "MediaDevices" = [ "EventTarget" ];
          "MediaElementAudioSourceNode" = [ "AudioNode" "EventTarget" ];
          "MediaEncryptedEvent" = [ "Event" ];
          "MediaKeyError" = [ "Event" ];
          "MediaKeyMessageEvent" = [ "Event" ];
          "MediaKeySession" = [ "EventTarget" ];
          "MediaQueryList" = [ "EventTarget" ];
          "MediaQueryListEvent" = [ "Event" ];
          "MediaRecorder" = [ "EventTarget" ];
          "MediaRecorderErrorEvent" = [ "Event" ];
          "MediaSource" = [ "EventTarget" ];
          "MediaStream" = [ "EventTarget" ];
          "MediaStreamAudioDestinationNode" = [ "AudioNode" "EventTarget" ];
          "MediaStreamAudioSourceNode" = [ "AudioNode" "EventTarget" ];
          "MediaStreamEvent" = [ "Event" ];
          "MediaStreamTrack" = [ "EventTarget" ];
          "MediaStreamTrackEvent" = [ "Event" ];
          "MediaStreamTrackGenerator" = [ "EventTarget" "MediaStreamTrack" ];
          "MessageEvent" = [ "Event" ];
          "MessagePort" = [ "EventTarget" ];
          "MidiAccess" = [ "EventTarget" ];
          "MidiConnectionEvent" = [ "Event" ];
          "MidiInput" = [ "EventTarget" "MidiPort" ];
          "MidiMessageEvent" = [ "Event" ];
          "MidiOutput" = [ "EventTarget" "MidiPort" ];
          "MidiPort" = [ "EventTarget" ];
          "MouseEvent" = [ "Event" "UiEvent" ];
          "MouseScrollEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "MutationEvent" = [ "Event" ];
          "NetworkInformation" = [ "EventTarget" ];
          "Node" = [ "EventTarget" ];
          "Notification" = [ "EventTarget" ];
          "NotificationEvent" = [ "Event" "ExtendableEvent" ];
          "OfflineAudioCompletionEvent" = [ "Event" ];
          "OfflineAudioContext" = [ "BaseAudioContext" "EventTarget" ];
          "OfflineResourceList" = [ "EventTarget" ];
          "OffscreenCanvas" = [ "EventTarget" ];
          "OscillatorNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "PageTransitionEvent" = [ "Event" ];
          "PaintWorkletGlobalScope" = [ "WorkletGlobalScope" ];
          "PannerNode" = [ "AudioNode" "EventTarget" ];
          "PaymentMethodChangeEvent" = [ "Event" "PaymentRequestUpdateEvent" ];
          "PaymentRequestUpdateEvent" = [ "Event" ];
          "Performance" = [ "EventTarget" ];
          "PerformanceMark" = [ "PerformanceEntry" ];
          "PerformanceMeasure" = [ "PerformanceEntry" ];
          "PerformanceNavigationTiming" = [ "PerformanceEntry" "PerformanceResourceTiming" ];
          "PerformanceResourceTiming" = [ "PerformanceEntry" ];
          "PermissionStatus" = [ "EventTarget" ];
          "PointerEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "PopStateEvent" = [ "Event" ];
          "PopupBlockedEvent" = [ "Event" ];
          "PresentationAvailability" = [ "EventTarget" ];
          "PresentationConnection" = [ "EventTarget" ];
          "PresentationConnectionAvailableEvent" = [ "Event" ];
          "PresentationConnectionCloseEvent" = [ "Event" ];
          "PresentationConnectionList" = [ "EventTarget" ];
          "PresentationRequest" = [ "EventTarget" ];
          "ProcessingInstruction" = [ "CharacterData" "EventTarget" "Node" ];
          "ProgressEvent" = [ "Event" ];
          "PromiseRejectionEvent" = [ "Event" ];
          "PublicKeyCredential" = [ "Credential" ];
          "PushEvent" = [ "Event" "ExtendableEvent" ];
          "RadioNodeList" = [ "NodeList" ];
          "RtcDataChannel" = [ "EventTarget" ];
          "RtcDataChannelEvent" = [ "Event" ];
          "RtcPeerConnection" = [ "EventTarget" ];
          "RtcPeerConnectionIceEvent" = [ "Event" ];
          "RtcTrackEvent" = [ "Event" ];
          "RtcdtmfSender" = [ "EventTarget" ];
          "RtcdtmfToneChangeEvent" = [ "Event" ];
          "Screen" = [ "EventTarget" ];
          "ScreenOrientation" = [ "EventTarget" ];
          "ScriptProcessorNode" = [ "AudioNode" "EventTarget" ];
          "ScrollAreaEvent" = [ "Event" "UiEvent" ];
          "SecurityPolicyViolationEvent" = [ "Event" ];
          "ServiceWorker" = [ "EventTarget" ];
          "ServiceWorkerContainer" = [ "EventTarget" ];
          "ServiceWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "ServiceWorkerRegistration" = [ "EventTarget" ];
          "ShadowRoot" = [ "DocumentFragment" "EventTarget" "Node" ];
          "SharedWorker" = [ "EventTarget" ];
          "SharedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "SourceBuffer" = [ "EventTarget" ];
          "SourceBufferList" = [ "EventTarget" ];
          "SpeechRecognition" = [ "EventTarget" ];
          "SpeechRecognitionError" = [ "Event" ];
          "SpeechRecognitionEvent" = [ "Event" ];
          "SpeechSynthesis" = [ "EventTarget" ];
          "SpeechSynthesisErrorEvent" = [ "Event" "SpeechSynthesisEvent" ];
          "SpeechSynthesisEvent" = [ "Event" ];
          "SpeechSynthesisUtterance" = [ "EventTarget" ];
          "StereoPannerNode" = [ "AudioNode" "EventTarget" ];
          "StorageEvent" = [ "Event" ];
          "SubmitEvent" = [ "Event" ];
          "SvgAnimateElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimateMotionElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimateTransformElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimationElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgCircleElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgClipPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgComponentTransferFunctionElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgDefsElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgDescElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgElement" = [ "Element" "EventTarget" "Node" ];
          "SvgEllipseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgFilterElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgForeignObjectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgGeometryElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgGraphicsElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgLineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgLinearGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
          "SvgMarkerElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgMaskElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgMetadataElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgPathSegArcAbs" = [ "SvgPathSeg" ];
          "SvgPathSegArcRel" = [ "SvgPathSeg" ];
          "SvgPathSegClosePath" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicSmoothAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicSmoothRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticSmoothAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticSmoothRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoHorizontalAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoHorizontalRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoVerticalAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoVerticalRel" = [ "SvgPathSeg" ];
          "SvgPathSegMovetoAbs" = [ "SvgPathSeg" ];
          "SvgPathSegMovetoRel" = [ "SvgPathSeg" ];
          "SvgPatternElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgPolygonElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgPolylineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgRadialGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
          "SvgRectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgScriptElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgSetElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgStopElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgStyleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgSwitchElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgSymbolElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgTextContentElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgTextElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
          "SvgTextPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
          "SvgTextPositioningElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
          "SvgTitleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgUseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgViewElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgaElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgfeBlendElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeColorMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeComponentTransferElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeCompositeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeConvolveMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDiffuseLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDisplacementMapElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDistantLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDropShadowElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeFloodElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeFuncAElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncBElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncGElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncRElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeGaussianBlurElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMergeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMergeNodeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMorphologyElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeOffsetElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfePointLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeSpecularLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeSpotLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeTileElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeTurbulenceElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvggElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgmPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgsvgElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgtSpanElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
          "TcpServerSocket" = [ "EventTarget" ];
          "TcpServerSocketEvent" = [ "Event" ];
          "TcpSocket" = [ "EventTarget" ];
          "TcpSocketErrorEvent" = [ "Event" ];
          "TcpSocketEvent" = [ "Event" ];
          "Text" = [ "CharacterData" "EventTarget" "Node" ];
          "TextTrack" = [ "EventTarget" ];
          "TextTrackCue" = [ "EventTarget" ];
          "TextTrackList" = [ "EventTarget" ];
          "TimeEvent" = [ "Event" ];
          "TouchEvent" = [ "Event" "UiEvent" ];
          "TrackEvent" = [ "Event" ];
          "TransitionEvent" = [ "Event" ];
          "UiEvent" = [ "Event" ];
          "Usb" = [ "EventTarget" ];
          "UsbConnectionEvent" = [ "Event" ];
          "UsbPermissionResult" = [ "EventTarget" "PermissionStatus" ];
          "UserProximityEvent" = [ "Event" ];
          "ValueEvent" = [ "Event" ];
          "VideoStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "VideoTrackList" = [ "EventTarget" ];
          "VrDisplay" = [ "EventTarget" ];
          "VttCue" = [ "EventTarget" "TextTrackCue" ];
          "WakeLockSentinel" = [ "EventTarget" ];
          "WaveShaperNode" = [ "AudioNode" "EventTarget" ];
          "WebGlContextEvent" = [ "Event" ];
          "WebKitCssMatrix" = [ "DomMatrix" "DomMatrixReadOnly" ];
          "WebSocket" = [ "EventTarget" ];
          "WheelEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "Window" = [ "EventTarget" ];
          "WindowClient" = [ "Client" ];
          "Worker" = [ "EventTarget" ];
          "WorkerDebuggerGlobalScope" = [ "EventTarget" ];
          "WorkerGlobalScope" = [ "EventTarget" ];
          "XmlDocument" = [ "Document" "EventTarget" "Node" ];
          "XmlHttpRequest" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
          "XmlHttpRequestEventTarget" = [ "EventTarget" ];
          "XmlHttpRequestUpload" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
          "XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ];
          "XrInputSourceEvent" = [ "Event" ];
          "XrInputSourcesChangeEvent" = [ "Event" ];
          "XrLayer" = [ "EventTarget" ];
          "XrPermissionStatus" = [ "EventTarget" "PermissionStatus" ];
          "XrReferenceSpace" = [ "EventTarget" "XrSpace" ];
          "XrReferenceSpaceEvent" = [ "Event" ];
          "XrSession" = [ "EventTarget" ];
          "XrSessionEvent" = [ "Event" ];
          "XrSpace" = [ "EventTarget" ];
          "XrSystem" = [ "EventTarget" ];
          "XrViewerPose" = [ "XrPose" ];
          "XrWebGlLayer" = [ "EventTarget" "XrLayer" ];
        };
        resolvedDefaultFeatures = [ "CanvasRenderingContext2d" "Document" "DomRect" "DomRectReadOnly" "Element" "EventTarget" "HtmlCanvasElement" "HtmlElement" "Node" "Window" ];
      };
      "which" = rec {
        crateName = "which";
        version = "4.3.0";
        edition = "2018";
        sha256 = "0yybp94wikf21vkcl8b6w6l5pnd95nl4fxryz669l4lyxsxiz0qw";
        authors = [
          "Harry Fei <tiziyuanfang@gmail.com>"
        ];
        dependencies = [
          {
            name = "either";
            packageId = "either";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "once_cell";
            packageId = "once_cell";
            target = { target, features }: (target."windows" or false);
          }
        ];
        features = {
          "regex" = [ "dep:regex" ];
        };
      };
      "winapi" = rec {
        crateName = "winapi";
        version = "0.3.9";
        edition = "2015";
        sha256 = "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-i686-pc-windows-gnu";
            packageId = "winapi-i686-pc-windows-gnu";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "i686-pc-windows-gnu");
          }
          {
            name = "winapi-x86_64-pc-windows-gnu";
            packageId = "winapi-x86_64-pc-windows-gnu";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-pc-windows-gnu");
          }
        ];
        features = {
          "debug" = [ "impl-debug" ];
        };
        resolvedDefaultFeatures = [ "basetsd" "consoleapi" "errhandlingapi" "fileapi" "handleapi" "knownfolders" "minwinbase" "minwindef" "ntdef" "ntsecapi" "objbase" "processenv" "profileapi" "shellapi" "shlobj" "std" "stringapiset" "synchapi" "winbase" "wincon" "winerror" "winnt" "winuser" "ws2ipdef" "ws2tcpip" ];
      };
      "winapi-i686-pc-windows-gnu" = rec {
        crateName = "winapi-i686-pc-windows-gnu";
        version = "0.4.0";
        edition = "2015";
        sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];

      };
      "winapi-util" = rec {
        crateName = "winapi-util";
        version = "0.1.5";
        edition = "2018";
        sha256 = "0y71bp7f6d536czj40dhqk0d55wfbbwqfp2ymqf1an5ibgl6rv3h";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "std" "consoleapi" "errhandlingapi" "fileapi" "minwindef" "processenv" "winbase" "wincon" "winerror" "winnt" ];
          }
        ];

      };
      "winapi-x86_64-pc-windows-gnu" = rec {
        crateName = "winapi-x86_64-pc-windows-gnu";
        version = "0.4.0";
        edition = "2015";
        sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];

      };
      "windows-sys" = rec {
        crateName = "windows-sys";
        version = "0.42.0";
        edition = "2018";
        sha256 = "19waf8aryvyq9pzk0gamgfwjycgzk4gnrazpfvv171cby0h1hgjs";
        authors = [
          "Microsoft"
        ];
        dependencies = [
          {
            name = "windows_aarch64_gnullvm";
            packageId = "windows_aarch64_gnullvm";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "aarch64-pc-windows-gnullvm");
          }
          {
            name = "windows_aarch64_msvc";
            packageId = "windows_aarch64_msvc";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "aarch64-pc-windows-msvc");
          }
          {
            name = "windows_aarch64_msvc";
            packageId = "windows_aarch64_msvc";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "aarch64-uwp-windows-msvc");
          }
          {
            name = "windows_i686_gnu";
            packageId = "windows_i686_gnu";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "i686-pc-windows-gnu");
          }
          {
            name = "windows_i686_gnu";
            packageId = "windows_i686_gnu";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "i686-uwp-windows-gnu");
          }
          {
            name = "windows_i686_msvc";
            packageId = "windows_i686_msvc";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "i686-pc-windows-msvc");
          }
          {
            name = "windows_i686_msvc";
            packageId = "windows_i686_msvc";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "i686-uwp-windows-msvc");
          }
          {
            name = "windows_x86_64_gnu";
            packageId = "windows_x86_64_gnu";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-pc-windows-gnu");
          }
          {
            name = "windows_x86_64_gnu";
            packageId = "windows_x86_64_gnu";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-uwp-windows-gnu");
          }
          {
            name = "windows_x86_64_gnullvm";
            packageId = "windows_x86_64_gnullvm";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-pc-windows-gnullvm");
          }
          {
            name = "windows_x86_64_msvc";
            packageId = "windows_x86_64_msvc";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-pc-windows-msvc");
          }
          {
            name = "windows_x86_64_msvc";
            packageId = "windows_x86_64_msvc";
            target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-uwp-windows-msvc");
          }
        ];
        features = {
          "Win32_AI" = [ "Win32" ];
          "Win32_AI_MachineLearning" = [ "Win32_AI" ];
          "Win32_AI_MachineLearning_DirectML" = [ "Win32_AI_MachineLearning" ];
          "Win32_AI_MachineLearning_WinML" = [ "Win32_AI_MachineLearning" ];
          "Win32_Data" = [ "Win32" ];
          "Win32_Data_HtmlHelp" = [ "Win32_Data" ];
          "Win32_Data_RightsManagement" = [ "Win32_Data" ];
          "Win32_Data_Xml" = [ "Win32_Data" ];
          "Win32_Data_Xml_MsXml" = [ "Win32_Data_Xml" ];
          "Win32_Data_Xml_XmlLite" = [ "Win32_Data_Xml" ];
          "Win32_Devices" = [ "Win32" ];
          "Win32_Devices_AllJoyn" = [ "Win32_Devices" ];
          "Win32_Devices_BiometricFramework" = [ "Win32_Devices" ];
          "Win32_Devices_Bluetooth" = [ "Win32_Devices" ];
          "Win32_Devices_Communication" = [ "Win32_Devices" ];
          "Win32_Devices_DeviceAccess" = [ "Win32_Devices" ];
          "Win32_Devices_DeviceAndDriverInstallation" = [ "Win32_Devices" ];
          "Win32_Devices_DeviceQuery" = [ "Win32_Devices" ];
          "Win32_Devices_Display" = [ "Win32_Devices" ];
          "Win32_Devices_Enumeration" = [ "Win32_Devices" ];
          "Win32_Devices_Enumeration_Pnp" = [ "Win32_Devices_Enumeration" ];
          "Win32_Devices_Fax" = [ "Win32_Devices" ];
          "Win32_Devices_FunctionDiscovery" = [ "Win32_Devices" ];
          "Win32_Devices_Geolocation" = [ "Win32_Devices" ];
          "Win32_Devices_HumanInterfaceDevice" = [ "Win32_Devices" ];
          "Win32_Devices_ImageAcquisition" = [ "Win32_Devices" ];
          "Win32_Devices_PortableDevices" = [ "Win32_Devices" ];
          "Win32_Devices_Properties" = [ "Win32_Devices" ];
          "Win32_Devices_Pwm" = [ "Win32_Devices" ];
          "Win32_Devices_Sensors" = [ "Win32_Devices" ];
          "Win32_Devices_SerialCommunication" = [ "Win32_Devices" ];
          "Win32_Devices_Tapi" = [ "Win32_Devices" ];
          "Win32_Devices_Usb" = [ "Win32_Devices" ];
          "Win32_Devices_WebServicesOnDevices" = [ "Win32_Devices" ];
          "Win32_Foundation" = [ "Win32" ];
          "Win32_Gaming" = [ "Win32" ];
          "Win32_Globalization" = [ "Win32" ];
          "Win32_Graphics" = [ "Win32" ];
          "Win32_Graphics_CompositionSwapchain" = [ "Win32_Graphics" ];
          "Win32_Graphics_DXCore" = [ "Win32_Graphics" ];
          "Win32_Graphics_Direct2D" = [ "Win32_Graphics" ];
          "Win32_Graphics_Direct2D_Common" = [ "Win32_Graphics_Direct2D" ];
          "Win32_Graphics_Direct3D" = [ "Win32_Graphics" ];
          "Win32_Graphics_Direct3D10" = [ "Win32_Graphics" ];
          "Win32_Graphics_Direct3D11" = [ "Win32_Graphics" ];
          "Win32_Graphics_Direct3D11on12" = [ "Win32_Graphics" ];
          "Win32_Graphics_Direct3D12" = [ "Win32_Graphics" ];
          "Win32_Graphics_Direct3D9" = [ "Win32_Graphics" ];
          "Win32_Graphics_Direct3D9on12" = [ "Win32_Graphics" ];
          "Win32_Graphics_Direct3D_Dxc" = [ "Win32_Graphics_Direct3D" ];
          "Win32_Graphics_Direct3D_Fxc" = [ "Win32_Graphics_Direct3D" ];
          "Win32_Graphics_DirectComposition" = [ "Win32_Graphics" ];
          "Win32_Graphics_DirectDraw" = [ "Win32_Graphics" ];
          "Win32_Graphics_DirectManipulation" = [ "Win32_Graphics" ];
          "Win32_Graphics_DirectWrite" = [ "Win32_Graphics" ];
          "Win32_Graphics_Dwm" = [ "Win32_Graphics" ];
          "Win32_Graphics_Dxgi" = [ "Win32_Graphics" ];
          "Win32_Graphics_Dxgi_Common" = [ "Win32_Graphics_Dxgi" ];
          "Win32_Graphics_Gdi" = [ "Win32_Graphics" ];
          "Win32_Graphics_Hlsl" = [ "Win32_Graphics" ];
          "Win32_Graphics_Imaging" = [ "Win32_Graphics" ];
          "Win32_Graphics_Imaging_D2D" = [ "Win32_Graphics_Imaging" ];
          "Win32_Graphics_OpenGL" = [ "Win32_Graphics" ];
          "Win32_Graphics_Printing" = [ "Win32_Graphics" ];
          "Win32_Graphics_Printing_PrintTicket" = [ "Win32_Graphics_Printing" ];
          "Win32_Management" = [ "Win32" ];
          "Win32_Management_MobileDeviceManagementRegistration" = [ "Win32_Management" ];
          "Win32_Media" = [ "Win32" ];
          "Win32_Media_Audio" = [ "Win32_Media" ];
          "Win32_Media_Audio_Apo" = [ "Win32_Media_Audio" ];
          "Win32_Media_Audio_DirectMusic" = [ "Win32_Media_Audio" ];
          "Win32_Media_Audio_DirectSound" = [ "Win32_Media_Audio" ];
          "Win32_Media_Audio_Endpoints" = [ "Win32_Media_Audio" ];
          "Win32_Media_Audio_XAudio2" = [ "Win32_Media_Audio" ];
          "Win32_Media_DeviceManager" = [ "Win32_Media" ];
          "Win32_Media_DirectShow" = [ "Win32_Media" ];
          "Win32_Media_DirectShow_Xml" = [ "Win32_Media_DirectShow" ];
          "Win32_Media_DxMediaObjects" = [ "Win32_Media" ];
          "Win32_Media_KernelStreaming" = [ "Win32_Media" ];
          "Win32_Media_LibrarySharingServices" = [ "Win32_Media" ];
          "Win32_Media_MediaFoundation" = [ "Win32_Media" ];
          "Win32_Media_MediaPlayer" = [ "Win32_Media" ];
          "Win32_Media_Multimedia" = [ "Win32_Media" ];
          "Win32_Media_PictureAcquisition" = [ "Win32_Media" ];
          "Win32_Media_Speech" = [ "Win32_Media" ];
          "Win32_Media_Streaming" = [ "Win32_Media" ];
          "Win32_Media_WindowsMediaFormat" = [ "Win32_Media" ];
          "Win32_NetworkManagement" = [ "Win32" ];
          "Win32_NetworkManagement_Dhcp" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Dns" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_InternetConnectionWizard" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_IpHelper" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_MobileBroadband" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Multicast" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Ndis" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetBios" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetManagement" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetShell" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetworkDiagnosticsFramework" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_NetworkPolicyServer" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_P2P" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_QoS" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Rras" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_Snmp" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WNet" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WebDav" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WiFi" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsConnectNow" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsConnectionManager" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsFilteringPlatform" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsFirewall" = [ "Win32_NetworkManagement" ];
          "Win32_NetworkManagement_WindowsNetworkVirtualization" = [ "Win32_NetworkManagement" ];
          "Win32_Networking" = [ "Win32" ];
          "Win32_Networking_ActiveDirectory" = [ "Win32_Networking" ];
          "Win32_Networking_BackgroundIntelligentTransferService" = [ "Win32_Networking" ];
          "Win32_Networking_Clustering" = [ "Win32_Networking" ];
          "Win32_Networking_HttpServer" = [ "Win32_Networking" ];
          "Win32_Networking_Ldap" = [ "Win32_Networking" ];
          "Win32_Networking_NetworkListManager" = [ "Win32_Networking" ];
          "Win32_Networking_RemoteDifferentialCompression" = [ "Win32_Networking" ];
          "Win32_Networking_WebSocket" = [ "Win32_Networking" ];
          "Win32_Networking_WinHttp" = [ "Win32_Networking" ];
          "Win32_Networking_WinInet" = [ "Win32_Networking" ];
          "Win32_Networking_WinSock" = [ "Win32_Networking" ];
          "Win32_Networking_WindowsWebServices" = [ "Win32_Networking" ];
          "Win32_Security" = [ "Win32" ];
          "Win32_Security_AppLocker" = [ "Win32_Security" ];
          "Win32_Security_Authentication" = [ "Win32_Security" ];
          "Win32_Security_Authentication_Identity" = [ "Win32_Security_Authentication" ];
          "Win32_Security_Authentication_Identity_Provider" = [ "Win32_Security_Authentication_Identity" ];
          "Win32_Security_Authorization" = [ "Win32_Security" ];
          "Win32_Security_Authorization_UI" = [ "Win32_Security_Authorization" ];
          "Win32_Security_ConfigurationSnapin" = [ "Win32_Security" ];
          "Win32_Security_Credentials" = [ "Win32_Security" ];
          "Win32_Security_Cryptography" = [ "Win32_Security" ];
          "Win32_Security_Cryptography_Catalog" = [ "Win32_Security_Cryptography" ];
          "Win32_Security_Cryptography_Certificates" = [ "Win32_Security_Cryptography" ];
          "Win32_Security_Cryptography_Sip" = [ "Win32_Security_Cryptography" ];
          "Win32_Security_Cryptography_UI" = [ "Win32_Security_Cryptography" ];
          "Win32_Security_DiagnosticDataQuery" = [ "Win32_Security" ];
          "Win32_Security_DirectoryServices" = [ "Win32_Security" ];
          "Win32_Security_EnterpriseData" = [ "Win32_Security" ];
          "Win32_Security_ExtensibleAuthenticationProtocol" = [ "Win32_Security" ];
          "Win32_Security_Isolation" = [ "Win32_Security" ];
          "Win32_Security_LicenseProtection" = [ "Win32_Security" ];
          "Win32_Security_NetworkAccessProtection" = [ "Win32_Security" ];
          "Win32_Security_Tpm" = [ "Win32_Security" ];
          "Win32_Security_WinTrust" = [ "Win32_Security" ];
          "Win32_Security_WinWlx" = [ "Win32_Security" ];
          "Win32_Storage" = [ "Win32" ];
          "Win32_Storage_Cabinets" = [ "Win32_Storage" ];
          "Win32_Storage_CloudFilters" = [ "Win32_Storage" ];
          "Win32_Storage_Compression" = [ "Win32_Storage" ];
          "Win32_Storage_DataDeduplication" = [ "Win32_Storage" ];
          "Win32_Storage_DistributedFileSystem" = [ "Win32_Storage" ];
          "Win32_Storage_EnhancedStorage" = [ "Win32_Storage" ];
          "Win32_Storage_FileHistory" = [ "Win32_Storage" ];
          "Win32_Storage_FileServerResourceManager" = [ "Win32_Storage" ];
          "Win32_Storage_FileSystem" = [ "Win32_Storage" ];
          "Win32_Storage_Imapi" = [ "Win32_Storage" ];
          "Win32_Storage_IndexServer" = [ "Win32_Storage" ];
          "Win32_Storage_InstallableFileSystems" = [ "Win32_Storage" ];
          "Win32_Storage_IscsiDisc" = [ "Win32_Storage" ];
          "Win32_Storage_Jet" = [ "Win32_Storage" ];
          "Win32_Storage_OfflineFiles" = [ "Win32_Storage" ];
          "Win32_Storage_OperationRecorder" = [ "Win32_Storage" ];
          "Win32_Storage_Packaging" = [ "Win32_Storage" ];
          "Win32_Storage_Packaging_Appx" = [ "Win32_Storage_Packaging" ];
          "Win32_Storage_Packaging_Opc" = [ "Win32_Storage_Packaging" ];
          "Win32_Storage_ProjectedFileSystem" = [ "Win32_Storage" ];
          "Win32_Storage_StructuredStorage" = [ "Win32_Storage" ];
          "Win32_Storage_Vhd" = [ "Win32_Storage" ];
          "Win32_Storage_VirtualDiskService" = [ "Win32_Storage" ];
          "Win32_Storage_Vss" = [ "Win32_Storage" ];
          "Win32_Storage_Xps" = [ "Win32_Storage" ];
          "Win32_Storage_Xps_Printing" = [ "Win32_Storage_Xps" ];
          "Win32_System" = [ "Win32" ];
          "Win32_System_AddressBook" = [ "Win32_System" ];
          "Win32_System_Antimalware" = [ "Win32_System" ];
          "Win32_System_ApplicationInstallationAndServicing" = [ "Win32_System" ];
          "Win32_System_ApplicationVerifier" = [ "Win32_System" ];
          "Win32_System_AssessmentTool" = [ "Win32_System" ];
          "Win32_System_Com" = [ "Win32_System" ];
          "Win32_System_Com_CallObj" = [ "Win32_System_Com" ];
          "Win32_System_Com_ChannelCredentials" = [ "Win32_System_Com" ];
          "Win32_System_Com_Events" = [ "Win32_System_Com" ];
          "Win32_System_Com_Marshal" = [ "Win32_System_Com" ];
          "Win32_System_Com_StructuredStorage" = [ "Win32_System_Com" ];
          "Win32_System_Com_UI" = [ "Win32_System_Com" ];
          "Win32_System_Com_Urlmon" = [ "Win32_System_Com" ];
          "Win32_System_ComponentServices" = [ "Win32_System" ];
          "Win32_System_Console" = [ "Win32_System" ];
          "Win32_System_Contacts" = [ "Win32_System" ];
          "Win32_System_CorrelationVector" = [ "Win32_System" ];
          "Win32_System_DataExchange" = [ "Win32_System" ];
          "Win32_System_DeploymentServices" = [ "Win32_System" ];
          "Win32_System_DesktopSharing" = [ "Win32_System" ];
          "Win32_System_DeveloperLicensing" = [ "Win32_System" ];
          "Win32_System_Diagnostics" = [ "Win32_System" ];
          "Win32_System_Diagnostics_Ceip" = [ "Win32_System_Diagnostics" ];
          "Win32_System_Diagnostics_Debug" = [ "Win32_System_Diagnostics" ];
          "Win32_System_Diagnostics_Etw" = [ "Win32_System_Diagnostics" ];
          "Win32_System_Diagnostics_ProcessSnapshotting" = [ "Win32_System_Diagnostics" ];
          "Win32_System_Diagnostics_ToolHelp" = [ "Win32_System_Diagnostics" ];
          "Win32_System_DistributedTransactionCoordinator" = [ "Win32_System" ];
          "Win32_System_Environment" = [ "Win32_System" ];
          "Win32_System_ErrorReporting" = [ "Win32_System" ];
          "Win32_System_EventCollector" = [ "Win32_System" ];
          "Win32_System_EventLog" = [ "Win32_System" ];
          "Win32_System_EventNotificationService" = [ "Win32_System" ];
          "Win32_System_GroupPolicy" = [ "Win32_System" ];
          "Win32_System_HostCompute" = [ "Win32_System" ];
          "Win32_System_HostComputeNetwork" = [ "Win32_System" ];
          "Win32_System_HostComputeSystem" = [ "Win32_System" ];
          "Win32_System_Hypervisor" = [ "Win32_System" ];
          "Win32_System_IO" = [ "Win32_System" ];
          "Win32_System_Iis" = [ "Win32_System" ];
          "Win32_System_Ioctl" = [ "Win32_System" ];
          "Win32_System_JobObjects" = [ "Win32_System" ];
          "Win32_System_Js" = [ "Win32_System" ];
          "Win32_System_Kernel" = [ "Win32_System" ];
          "Win32_System_LibraryLoader" = [ "Win32_System" ];
          "Win32_System_Mailslots" = [ "Win32_System" ];
          "Win32_System_Mapi" = [ "Win32_System" ];
          "Win32_System_Memory" = [ "Win32_System" ];
          "Win32_System_Memory_NonVolatile" = [ "Win32_System_Memory" ];
          "Win32_System_MessageQueuing" = [ "Win32_System" ];
          "Win32_System_MixedReality" = [ "Win32_System" ];
          "Win32_System_Mmc" = [ "Win32_System" ];
          "Win32_System_Ole" = [ "Win32_System" ];
          "Win32_System_ParentalControls" = [ "Win32_System" ];
          "Win32_System_PasswordManagement" = [ "Win32_System" ];
          "Win32_System_Performance" = [ "Win32_System" ];
          "Win32_System_Performance_HardwareCounterProfiling" = [ "Win32_System_Performance" ];
          "Win32_System_Pipes" = [ "Win32_System" ];
          "Win32_System_Power" = [ "Win32_System" ];
          "Win32_System_ProcessStatus" = [ "Win32_System" ];
          "Win32_System_RealTimeCommunications" = [ "Win32_System" ];
          "Win32_System_Recovery" = [ "Win32_System" ];
          "Win32_System_Registry" = [ "Win32_System" ];
          "Win32_System_RemoteAssistance" = [ "Win32_System" ];
          "Win32_System_RemoteDesktop" = [ "Win32_System" ];
          "Win32_System_RemoteManagement" = [ "Win32_System" ];
          "Win32_System_RestartManager" = [ "Win32_System" ];
          "Win32_System_Restore" = [ "Win32_System" ];
          "Win32_System_Rpc" = [ "Win32_System" ];
          "Win32_System_Search" = [ "Win32_System" ];
          "Win32_System_Search_Common" = [ "Win32_System_Search" ];
          "Win32_System_SecurityCenter" = [ "Win32_System" ];
          "Win32_System_ServerBackup" = [ "Win32_System" ];
          "Win32_System_Services" = [ "Win32_System" ];
          "Win32_System_SettingsManagementInfrastructure" = [ "Win32_System" ];
          "Win32_System_SetupAndMigration" = [ "Win32_System" ];
          "Win32_System_Shutdown" = [ "Win32_System" ];
          "Win32_System_SideShow" = [ "Win32_System" ];
          "Win32_System_StationsAndDesktops" = [ "Win32_System" ];
          "Win32_System_SubsystemForLinux" = [ "Win32_System" ];
          "Win32_System_SystemInformation" = [ "Win32_System" ];
          "Win32_System_SystemServices" = [ "Win32_System" ];
          "Win32_System_TaskScheduler" = [ "Win32_System" ];
          "Win32_System_Threading" = [ "Win32_System" ];
          "Win32_System_Time" = [ "Win32_System" ];
          "Win32_System_TpmBaseServices" = [ "Win32_System" ];
          "Win32_System_TransactionServer" = [ "Win32_System" ];
          "Win32_System_UpdateAgent" = [ "Win32_System" ];
          "Win32_System_UpdateAssessment" = [ "Win32_System" ];
          "Win32_System_UserAccessLogging" = [ "Win32_System" ];
          "Win32_System_VirtualDosMachines" = [ "Win32_System" ];
          "Win32_System_WinRT" = [ "Win32_System" ];
          "Win32_System_WinRT_AllJoyn" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Composition" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_CoreInputView" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Direct3D11" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Display" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Graphics" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Graphics_Capture" = [ "Win32_System_WinRT_Graphics" ];
          "Win32_System_WinRT_Graphics_Direct2D" = [ "Win32_System_WinRT_Graphics" ];
          "Win32_System_WinRT_Graphics_Imaging" = [ "Win32_System_WinRT_Graphics" ];
          "Win32_System_WinRT_Holographic" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Isolation" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_ML" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Media" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Pdf" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Printing" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Shell" = [ "Win32_System_WinRT" ];
          "Win32_System_WinRT_Storage" = [ "Win32_System_WinRT" ];
          "Win32_System_WindowsProgramming" = [ "Win32_System" ];
          "Win32_System_WindowsSync" = [ "Win32_System" ];
          "Win32_System_Wmi" = [ "Win32_System" ];
          "Win32_UI" = [ "Win32" ];
          "Win32_UI_Accessibility" = [ "Win32_UI" ];
          "Win32_UI_Animation" = [ "Win32_UI" ];
          "Win32_UI_ColorSystem" = [ "Win32_UI" ];
          "Win32_UI_Controls" = [ "Win32_UI" ];
          "Win32_UI_Controls_Dialogs" = [ "Win32_UI_Controls" ];
          "Win32_UI_Controls_RichEdit" = [ "Win32_UI_Controls" ];
          "Win32_UI_HiDpi" = [ "Win32_UI" ];
          "Win32_UI_Input" = [ "Win32_UI" ];
          "Win32_UI_Input_Ime" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_Ink" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_KeyboardAndMouse" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_Pointer" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_Radial" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_Touch" = [ "Win32_UI_Input" ];
          "Win32_UI_Input_XboxController" = [ "Win32_UI_Input" ];
          "Win32_UI_InteractionContext" = [ "Win32_UI" ];
          "Win32_UI_LegacyWindowsEnvironmentFeatures" = [ "Win32_UI" ];
          "Win32_UI_Magnification" = [ "Win32_UI" ];
          "Win32_UI_Notifications" = [ "Win32_UI" ];
          "Win32_UI_Ribbon" = [ "Win32_UI" ];
          "Win32_UI_Shell" = [ "Win32_UI" ];
          "Win32_UI_Shell_Common" = [ "Win32_UI_Shell" ];
          "Win32_UI_Shell_PropertiesSystem" = [ "Win32_UI_Shell" ];
          "Win32_UI_TabletPC" = [ "Win32_UI" ];
          "Win32_UI_TextServices" = [ "Win32_UI" ];
          "Win32_UI_WindowsAndMessaging" = [ "Win32_UI" ];
          "Win32_UI_Wpf" = [ "Win32_UI" ];
          "Win32_UI_Xaml" = [ "Win32_UI" ];
          "Win32_UI_Xaml_Diagnostics" = [ "Win32_UI_Xaml" ];
        };
        resolvedDefaultFeatures = [ "Win32" "Win32_Foundation" "Win32_NetworkManagement" "Win32_NetworkManagement_IpHelper" "Win32_Networking" "Win32_Networking_WinSock" "Win32_Security" "Win32_Security_Authorization" "Win32_Storage" "Win32_Storage_FileSystem" "Win32_System" "Win32_System_Console" "Win32_System_IO" "Win32_System_Pipes" "Win32_System_SystemServices" "Win32_System_Threading" "Win32_System_WindowsProgramming" "default" ];
      };
      "windows_aarch64_gnullvm" = rec {
        crateName = "windows_aarch64_gnullvm";
        version = "0.42.0";
        edition = "2018";
        sha256 = "17m1p753qk02r25afg31dxym4rpy7kpr0z8nwl5f1jzhyrqsmlj1";
        authors = [
          "Microsoft"
        ];

      };
      "windows_aarch64_msvc" = rec {
        crateName = "windows_aarch64_msvc";
        version = "0.42.0";
        edition = "2018";
        sha256 = "1d6d9ny0yl5l9vvagydigvkfcphzk2aygchiccywijimb8pja3yx";
        authors = [
          "Microsoft"
        ];

      };
      "windows_i686_gnu" = rec {
        crateName = "windows_i686_gnu";
        version = "0.42.0";
        edition = "2018";
        sha256 = "1rsxdjp50nk38zfd1dxj12i2qmhpvxsm6scdq8v1d10ncygy3spv";
        authors = [
          "Microsoft"
        ];

      };
      "windows_i686_msvc" = rec {
        crateName = "windows_i686_msvc";
        version = "0.42.0";
        edition = "2018";
        sha256 = "0ii2hrsdif2ms79dfiyfzm1n579jzj42ji3fpsxd57d3v9jjzhc4";
        authors = [
          "Microsoft"
        ];

      };
      "windows_x86_64_gnu" = rec {
        crateName = "windows_x86_64_gnu";
        version = "0.42.0";
        edition = "2018";
        sha256 = "1vdh8k5a4m6pfkc5gladqznyqxgapkjm0qb8iwqvqb1nnlhinyxz";
        authors = [
          "Microsoft"
        ];

      };
      "windows_x86_64_gnullvm" = rec {
        crateName = "windows_x86_64_gnullvm";
        version = "0.42.0";
        edition = "2018";
        sha256 = "0a10rns9b07m9snlr97iqxq42zi9ai547gb5fqlv7vihpb92bm89";
        authors = [
          "Microsoft"
        ];

      };
      "windows_x86_64_msvc" = rec {
        crateName = "windows_x86_64_msvc";
        version = "0.42.0";
        edition = "2018";
        sha256 = "1xdnvhg8yj4fgjy0vkrahq5cbgfpcd7ak2bdv8s5lwjrazc0j07l";
        authors = [
          "Microsoft"
        ];

      };
      "yansi" = rec {
        crateName = "yansi";
        version = "0.5.1";
        edition = "2015";
        sha256 = "1v4qljgzh73knr7291cgwrf56zrvhmpn837n5n5pypzq1kciq109";
        authors = [
          "Sergio Benitez <sb@sergio.bz>"
        ];

      };
    };

    #
    # crate2nix/default.nix (excerpt start)
    #

    /* Target (platform) data for conditional dependencies.
      This corresponds roughly to what buildRustCrate is setting.
    */
    makeDefaultTarget = platform: {
      unix = platform.isUnix;
      windows = platform.isWindows;
      fuchsia = true;
      test = false;

      /* We are choosing an arbitrary rust version to grab `lib` from,
      which is unfortunate, but `lib` has been version-agnostic the
      whole time so this is good enough for now.
      */
      os = pkgs.rust.lib.toTargetOs platform;
      arch = pkgs.rust.lib.toTargetArch platform;
      family = pkgs.rust.lib.toTargetFamily platform;
      env = "gnu";
      endian =
        if platform.parsed.cpu.significantByte.name == "littleEndian"
        then "little" else "big";
      pointer_width = toString platform.parsed.cpu.bits;
      vendor = platform.parsed.vendor.name;
      debug_assertions = false;
    };

    /* Filters common temp files and build files. */
    # TODO(pkolloch): Substitute with gitignore filter
    sourceFilter = name: type:
      let
        baseName = builtins.baseNameOf (builtins.toString name);
      in
        ! (
          # Filter out git
          baseName == ".gitignore"
          || (type == "directory" && baseName == ".git")

          # Filter out build results
          || (
            type == "directory" && (
              baseName == "target"
              || baseName == "_site"
              || baseName == ".sass-cache"
              || baseName == ".jekyll-metadata"
              || baseName == "build-artifacts"
            )
          )

          # Filter out nix-build result symlinks
          || (
            type == "symlink" && lib.hasPrefix "result" baseName
          )

          # Filter out IDE config
          || (
            type == "directory" && (
              baseName == ".idea" || baseName == ".vscode"
            )
          ) || lib.hasSuffix ".iml" baseName

          # Filter out nix build files
          || baseName == "Cargo.nix"

          # Filter out editor backup / swap files.
          || lib.hasSuffix "~" baseName
          || builtins.match "^\\.sw[a-z]$$" baseName != null
          || builtins.match "^\\..*\\.sw[a-z]$$" baseName != null
          || lib.hasSuffix ".tmp" baseName
          || lib.hasSuffix ".bak" baseName
          || baseName == "tests.nix"
        );

    /* Returns a crate which depends on successful test execution
      of crate given as the second argument.

      testCrateFlags: list of flags to pass to the test exectuable
      testInputs: list of packages that should be available during test execution
    */
    crateWithTest = { crate, testCrate, testCrateFlags, testInputs, testPreRun, testPostRun }:
      assert builtins.typeOf testCrateFlags == "list";
      assert builtins.typeOf testInputs == "list";
      assert builtins.typeOf testPreRun == "string";
      assert builtins.typeOf testPostRun == "string";
      let
        # override the `crate` so that it will build and execute tests instead of
        # building the actual lib and bin targets We just have to pass `--test`
        # to rustc and it will do the right thing.  We execute the tests and copy
        # their log and the test executables to $out for later inspection.
        test =
          let
            drv = testCrate.override
              (
                _: {
                  buildTests = true;
                }
              );
            # If the user hasn't set any pre/post commands, we don't want to
            # insert empty lines. This means that any existing users of crate2nix
            # don't get a spurious rebuild unless they set these explicitly.
            testCommand = pkgs.lib.concatStringsSep "\n"
              (pkgs.lib.filter (s: s != "") [
                testPreRun
                "$f $testCrateFlags 2>&1 | tee -a $out"
                testPostRun
              ]);
          in
          pkgs.runCommand "run-tests-${testCrate.name}"
            {
              inherit testCrateFlags;
              buildInputs = testInputs;
            } ''
            set -ex

            export RUST_BACKTRACE=1

            # recreate a file hierarchy as when running tests with cargo

            # the source for test data
            ${pkgs.xorg.lndir}/bin/lndir ${crate.src}

            # build outputs
            testRoot=target/debug
            mkdir -p $testRoot

            # executables of the crate
            # we copy to prevent std::env::current_exe() to resolve to a store location
            for i in ${crate}/bin/*; do
              cp "$i" "$testRoot"
            done
            chmod +w -R .

            # test harness executables are suffixed with a hash, like cargo does
            # this allows to prevent name collision with the main
            # executables of the crate
            hash=$(basename $out)
            for file in ${drv}/tests/*; do
              f=$testRoot/$(basename $file)-$hash
              cp $file $f
              ${testCommand}
            done
          '';
      in
      pkgs.runCommand "${crate.name}-linked"
        {
          inherit (crate) outputs crateName;
          passthru = (crate.passthru or { }) // {
            inherit test;
          };
        } ''
        echo tested by ${test}
        ${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs}
      '';

    /* A restricted overridable version of builtRustCratesWithFeatures. */
    buildRustCrateWithFeatures =
      { packageId
      , features ? rootFeatures
      , crateOverrides ? defaultCrateOverrides
      , buildRustCrateForPkgsFunc ? null
      , runTests ? false
      , testCrateFlags ? [ ]
      , testInputs ? [ ]
        # Any command to run immediatelly before a test is executed.
      , testPreRun ? ""
        # Any command run immediatelly after a test is executed.
      , testPostRun ? ""
      }:
      lib.makeOverridable
        (
          { features
          , crateOverrides
          , runTests
          , testCrateFlags
          , testInputs
          , testPreRun
          , testPostRun
          }:
          let
            buildRustCrateForPkgsFuncOverriden =
              if buildRustCrateForPkgsFunc != null
              then buildRustCrateForPkgsFunc
              else
                (
                  if crateOverrides == pkgs.defaultCrateOverrides
                  then buildRustCrateForPkgs
                  else
                    pkgs: (buildRustCrateForPkgs pkgs).override {
                      defaultCrateOverrides = crateOverrides;
                    }
                );
            builtRustCrates = builtRustCratesWithFeatures {
              inherit packageId features;
              buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
              runTests = false;
            };
            builtTestRustCrates = builtRustCratesWithFeatures {
              inherit packageId features;
              buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
              runTests = true;
            };
            drv = builtRustCrates.crates.${packageId};
            testDrv = builtTestRustCrates.crates.${packageId};
            derivation =
              if runTests then
                crateWithTest
                  {
                    crate = drv;
                    testCrate = testDrv;
                    inherit testCrateFlags testInputs testPreRun testPostRun;
                  }
              else drv;
          in
          derivation
        )
        { inherit features crateOverrides runTests testCrateFlags testInputs testPreRun testPostRun; };

    /* Returns an attr set with packageId mapped to the result of buildRustCrateForPkgsFunc
      for the corresponding crate.
    */
    builtRustCratesWithFeatures =
      { packageId
      , features
      , crateConfigs ? crates
      , buildRustCrateForPkgsFunc
      , runTests
      , makeTarget ? makeDefaultTarget
      } @ args:
        assert (builtins.isAttrs crateConfigs);
        assert (builtins.isString packageId);
        assert (builtins.isList features);
        assert (builtins.isAttrs (makeTarget stdenv.hostPlatform));
        assert (builtins.isBool runTests);
        let
          rootPackageId = packageId;
          mergedFeatures = mergePackageFeatures
            (
              args // {
                inherit rootPackageId;
                target = makeTarget stdenv.hostPlatform // { test = runTests; };
              }
            );
          # Memoize built packages so that reappearing packages are only built once.
          builtByPackageIdByPkgs = mkBuiltByPackageIdByPkgs pkgs;
          mkBuiltByPackageIdByPkgs = pkgs:
            let
              self = {
                crates = lib.mapAttrs (packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId) crateConfigs;
                target = makeTarget pkgs.stdenv.hostPlatform;
                build = mkBuiltByPackageIdByPkgs pkgs.buildPackages;
              };
            in
            self;
          buildByPackageIdForPkgsImpl = self: pkgs: packageId:
            let
              features = mergedFeatures."${packageId}" or [ ];
              crateConfig' = crateConfigs."${packageId}";
              crateConfig =
                builtins.removeAttrs crateConfig' [ "resolvedDefaultFeatures" "devDependencies" ];
              devDependencies =
                lib.optionals
                  (runTests && packageId == rootPackageId)
                  (crateConfig'.devDependencies or [ ]);
              dependencies =
                dependencyDerivations {
                  inherit features;
                  inherit (self) target;
                  buildByPackageId = depPackageId:
                    # proc_macro crates must be compiled for the build architecture
                    if crateConfigs.${depPackageId}.procMacro or false
                    then self.build.crates.${depPackageId}
                    else self.crates.${depPackageId};
                  dependencies =
                    (crateConfig.dependencies or [ ])
                    ++ devDependencies;
                };
              buildDependencies =
                dependencyDerivations {
                  inherit features;
                  inherit (self.build) target;
                  buildByPackageId = depPackageId:
                    self.build.crates.${depPackageId};
                  dependencies = crateConfig.buildDependencies or [ ];
                };
              dependenciesWithRenames =
                let
                  buildDeps = filterEnabledDependencies {
                    inherit features;
                    inherit (self) target;
                    dependencies = crateConfig.dependencies or [ ] ++ devDependencies;
                  };
                  hostDeps = filterEnabledDependencies {
                    inherit features;
                    inherit (self.build) target;
                    dependencies = crateConfig.buildDependencies or [ ];
                  };
                in
                lib.filter (d: d ? "rename") (hostDeps ++ buildDeps);
              # Crate renames have the form:
              #
              # {
              #    crate_name = [
              #       { version = "1.2.3"; rename = "crate_name01"; }
              #    ];
              #    # ...
              # }
              crateRenames =
                let
                  grouped =
                    lib.groupBy
                      (dependency: dependency.name)
                      dependenciesWithRenames;
                  versionAndRename = dep:
                    let
                      package = crateConfigs."${dep.packageId}";
                    in
                    { inherit (dep) rename; version = package.version; };
                in
                lib.mapAttrs (name: choices: builtins.map versionAndRename choices) grouped;
            in
            buildRustCrateForPkgsFunc pkgs
              (
                crateConfig // {
                  src = crateConfig.src or (
                    pkgs.fetchurl rec {
                      name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
                      # https://www.pietroalbini.org/blog/downloading-crates-io/
                      # Not rate-limited, CDN URL.
                      url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate";
                      sha256 =
                        assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}");
                        crateConfig.sha256;
                    }
                  );
                  extraRustcOpts = lib.lists.optional (targetFeatures != [ ]) "-C target-feature=${lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}";
                  inherit features dependencies buildDependencies crateRenames release;
                }
              );
        in
        builtByPackageIdByPkgs;

    /* Returns the actual derivations for the given dependencies. */
    dependencyDerivations =
      { buildByPackageId
      , features
      , dependencies
      , target
      }:
        assert (builtins.isList features);
        assert (builtins.isList dependencies);
        assert (builtins.isAttrs target);
        let
          enabledDependencies = filterEnabledDependencies {
            inherit dependencies features target;
          };
          depDerivation = dependency: buildByPackageId dependency.packageId;
        in
        map depDerivation enabledDependencies;

    /* Returns a sanitized version of val with all values substituted that cannot
      be serialized as JSON.
    */
    sanitizeForJson = val:
      if builtins.isAttrs val
      then lib.mapAttrs (n: v: sanitizeForJson v) val
      else if builtins.isList val
      then builtins.map sanitizeForJson val
      else if builtins.isFunction val
      then "function"
      else val;

    /* Returns various tools to debug a crate. */
    debugCrate = { packageId, target ? makeDefaultTarget stdenv.hostPlatform }:
      assert (builtins.isString packageId);
      let
        debug = rec {
          # The built tree as passed to buildRustCrate.
          buildTree = buildRustCrateWithFeatures {
            buildRustCrateForPkgsFunc = _: lib.id;
            inherit packageId;
          };
          sanitizedBuildTree = sanitizeForJson buildTree;
          dependencyTree = sanitizeForJson
            (
              buildRustCrateWithFeatures {
                buildRustCrateForPkgsFunc = _: crate: {
                  "01_crateName" = crate.crateName or false;
                  "02_features" = crate.features or [ ];
                  "03_dependencies" = crate.dependencies or [ ];
                };
                inherit packageId;
              }
            );
          mergedPackageFeatures = mergePackageFeatures {
            features = rootFeatures;
            inherit packageId target;
          };
          diffedDefaultPackageFeatures = diffDefaultPackageFeatures {
            inherit packageId target;
          };
        };
      in
      { internal = debug; };

    /* Returns differences between cargo default features and crate2nix default
      features.

      This is useful for verifying the feature resolution in crate2nix.
    */
    diffDefaultPackageFeatures =
      { crateConfigs ? crates
      , packageId
      , target
      }:
        assert (builtins.isAttrs crateConfigs);
        let
          prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; });
          mergedFeatures =
            prefixValues
              "crate2nix"
              (mergePackageFeatures { inherit crateConfigs packageId target; features = [ "default" ]; });
          configs = prefixValues "cargo" crateConfigs;
          combined = lib.foldAttrs (a: b: a // b) { } [ mergedFeatures configs ];
          onlyInCargo =
            builtins.attrNames
              (lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined);
          onlyInCrate2Nix =
            builtins.attrNames
              (lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined);
          differentFeatures = lib.filterAttrs
            (
              n: v:
                (v ? "crate2nix")
                && (v ? "cargo")
                && (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ])
            )
            combined;
        in
        builtins.toJSON {
          inherit onlyInCargo onlyInCrate2Nix differentFeatures;
        };

    /* Returns an attrset mapping packageId to the list of enabled features.

      If multiple paths to a dependency enable different features, the
      corresponding feature sets are merged. Features in rust are additive.
    */
    mergePackageFeatures =
      { crateConfigs ? crates
      , packageId
      , rootPackageId ? packageId
      , features ? rootFeatures
      , dependencyPath ? [ crates.${packageId}.crateName ]
      , featuresByPackageId ? { }
      , target
        # Adds devDependencies to the crate with rootPackageId.
      , runTests ? false
      , ...
      } @ args:
        assert (builtins.isAttrs crateConfigs);
        assert (builtins.isString packageId);
        assert (builtins.isString rootPackageId);
        assert (builtins.isList features);
        assert (builtins.isList dependencyPath);
        assert (builtins.isAttrs featuresByPackageId);
        assert (builtins.isAttrs target);
        assert (builtins.isBool runTests);
        let
          crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}");
          expandedFeatures = expandFeatures (crateConfig.features or { }) features;
          enabledFeatures = enableFeatures (crateConfig.dependencies or [ ]) expandedFeatures;
          depWithResolvedFeatures = dependency:
            let
              packageId = dependency.packageId;
              features = dependencyFeatures enabledFeatures dependency;
            in
            { inherit packageId features; };
          resolveDependencies = cache: path: dependencies:
            assert (builtins.isAttrs cache);
            assert (builtins.isList dependencies);
            let
              enabledDependencies = filterEnabledDependencies {
                inherit dependencies target;
                features = enabledFeatures;
              };
              directDependencies = map depWithResolvedFeatures enabledDependencies;
              foldOverCache = op: lib.foldl op cache directDependencies;
            in
            foldOverCache
              (
                cache: { packageId, features }:
                  let
                    cacheFeatures = cache.${packageId} or [ ];
                    combinedFeatures = sortedUnique (cacheFeatures ++ features);
                  in
                  if cache ? ${packageId} && cache.${packageId} == combinedFeatures
                  then cache
                  else
                    mergePackageFeatures {
                      features = combinedFeatures;
                      featuresByPackageId = cache;
                      inherit crateConfigs packageId target runTests rootPackageId;
                    }
              );
          cacheWithSelf =
            let
              cacheFeatures = featuresByPackageId.${packageId} or [ ];
              combinedFeatures = sortedUnique (cacheFeatures ++ enabledFeatures);
            in
            featuresByPackageId // {
              "${packageId}" = combinedFeatures;
            };
          cacheWithDependencies =
            resolveDependencies cacheWithSelf "dep"
              (
                crateConfig.dependencies or [ ]
                ++ lib.optionals
                  (runTests && packageId == rootPackageId)
                  (crateConfig.devDependencies or [ ])
              );
          cacheWithAll =
            resolveDependencies
              cacheWithDependencies "build"
              (crateConfig.buildDependencies or [ ]);
        in
        cacheWithAll;

    /* Returns the enabled dependencies given the enabled features. */
    filterEnabledDependencies = { dependencies, features, target }:
      assert (builtins.isList dependencies);
      assert (builtins.isList features);
      assert (builtins.isAttrs target);

      lib.filter
        (
          dep:
          let
            targetFunc = dep.target or (features: true);
          in
          targetFunc { inherit features target; }
          && (
            !(dep.optional or false)
            || builtins.any (doesFeatureEnableDependency dep) features
          )
        )
        dependencies;

    /* Returns whether the given feature should enable the given dependency. */
    doesFeatureEnableDependency = dependency: feature:
      let
        name = dependency.rename or dependency.name;
        prefix = "${name}/";
        len = builtins.stringLength prefix;
        startsWithPrefix = builtins.substring 0 len feature == prefix;
      in
      feature == name || feature == "dep:" + name || startsWithPrefix;

    /* Returns the expanded features for the given inputFeatures by applying the
      rules in featureMap.

      featureMap is an attribute set which maps feature names to lists of further
      feature names to enable in case this feature is selected.
    */
    expandFeatures = featureMap: inputFeatures:
      assert (builtins.isAttrs featureMap);
      assert (builtins.isList inputFeatures);
      let
        expandFeature = feature:
          assert (builtins.isString feature);
          [ feature ] ++ (expandFeatures featureMap (featureMap."${feature}" or [ ]));
        outFeatures = lib.concatMap expandFeature inputFeatures;
      in
      sortedUnique outFeatures;

    /* This function adds optional dependencies as features if they are enabled
      indirectly by dependency features. This function mimics Cargo's behavior
      described in a note at:
      https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features
    */
    enableFeatures = dependencies: features:
      assert (builtins.isList features);
      assert (builtins.isList dependencies);
      let
        additionalFeatures = lib.concatMap
          (
            dependency:
              assert (builtins.isAttrs dependency);
              let
                enabled = builtins.any (doesFeatureEnableDependency dependency) features;
              in
              if (dependency.optional or false) && enabled
              then [ (dependency.rename or dependency.name) ]
              else [ ]
          )
          dependencies;
      in
      sortedUnique (features ++ additionalFeatures);

    /*
      Returns the actual features for the given dependency.

      features: The features of the crate that refers this dependency.
    */
    dependencyFeatures = features: dependency:
      assert (builtins.isList features);
      assert (builtins.isAttrs dependency);
      let
        defaultOrNil =
          if dependency.usesDefaultFeatures or true
          then [ "default" ]
          else [ ];
        explicitFeatures = dependency.features or [ ];
        additionalDependencyFeatures =
          let
            dependencyPrefix = (dependency.rename or dependency.name) + "/";
            dependencyFeatures =
              builtins.filter (f: lib.hasPrefix dependencyPrefix f) features;
          in
          builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures;
      in
      defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;

    /* Sorts and removes duplicates from a list of strings. */
    sortedUnique = features:
      assert (builtins.isList features);
      assert (builtins.all builtins.isString features);
      let
        outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features;
        outFeaturesUnique = builtins.attrNames outFeaturesSet;
      in
      builtins.sort (a: b: a < b) outFeaturesUnique;

    deprecationWarning = message: value:
      if strictDeprecation
      then builtins.throw "strictDeprecation enabled, aborting: ${message}"
      else builtins.trace message value;

    #
    # crate2nix/default.nix (excerpt end)
    #
  };
}