# 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 ? if buildRustCrate != null
    then lib.warn "crate2nix: Passing `buildRustCrate` as argument to Cargo.nix is deprecated. If you don't customize `buildRustCrate`, replace `callPackage ./Cargo.nix {}` by `import ./Cargo.nix { inherit pkgs; }`, and if you need to customize `buildRustCrate`, use `buildRustCrateForPkgs` instead." (_: buildRustCrate)
    else pkgs: pkgs.buildRustCrate
  # Deprecated
, buildRustCrate ? null
  # 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 = {
    "libpijul" = rec {
      packageId = "libpijul";
      build = internal.buildRustCrateWithFeatures {
        packageId = "libpijul";
      };

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

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
    "pijul-macros" = rec {
      packageId = "pijul-macros";
      build = internal.buildRustCrateWithFeatures {
        packageId = "pijul-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; };
    };
  };

  # 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 = {
          "default" = [ "rustc-demangle" "cpp_demangle" "std-object" "fallible-iterator" "smallvec" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "gimli/rustc-dep-of-std" ];
          "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 = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "adler32" = rec {
        crateName = "adler32";
        version = "1.2.0";
        edition = "2018";
        sha256 = "0d7jq7jsjyhsgbhnfq5fvrlh9j0i9g1fqrl2735ibv5f75yjgqda";
        authors = [
          "Remi Rampin <remirampin@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "aes" = rec {
        crateName = "aes";
        version = "0.7.5";
        edition = "2018";
        sha256 = "1f0sdx2fsa8w3l7xzsyi9ry3shvnnsgc0znh50if9fm95vslg2wy";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "cipher";
            packageId = "cipher";
          }
          {
            name = "cpufeatures";
            packageId = "cpufeatures";
            target = { target, features }: ((target."arch" == "aarch64") || (target."arch" == "x86_64") || (target."arch" == "x86"));
          }
          {
            name = "ctr";
            packageId = "ctr";
            optional = true;
          }
          {
            name = "opaque-debug";
            packageId = "opaque-debug";
          }
        ];
        devDependencies = [
          {
            name = "cipher";
            packageId = "cipher";
            features = [ "dev" ];
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "ctr" ];
      };
      "aho-corasick" = rec {
        crateName = "aho-corasick";
        version = "0.7.18";
        edition = "2018";
        sha256 = "0vv50b3nvkhyy7x7ip19qnsq11bqlnffkmj2yx2xlyk5wzawydqy";
        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" ];
      };
      "anyhow" = rec {
        crateName = "anyhow";
        version = "1.0.48";
        edition = "2018";
        sha256 = "03m8b3h8krm1vjc3wl9fg0k6pmnl912xsw73lhkj0hn0gmzz9qb2";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "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" ];
        };
      };
      "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";
            target = { target, features }: (target."os" == "hermit");
          }
          {
            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.0.1";
        edition = "2015";
        sha256 = "0jj6i9zn4gjl03kjvziqdji6rwx8ykz8zk2ngpc331z2g3fk3c6d";
        authors = [
          "Josh Stone <cuviper@gmail.com>"
        ];

      };
      "backtrace" = rec {
        crateName = "backtrace";
        version = "0.3.63";
        edition = "2018";
        sha256 = "1dp1dik2riphgslibafp3kzj95f8kgx42wkh4qghc4v5pbc2j5ij";
        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 = {
          "default" = [ "std" ];
          "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" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "base64" = rec {
        crateName = "base64";
        version = "0.13.0";
        edition = "2018";
        sha256 = "1z82g23mbzjgijkpcrilc7nljpxpvpf7zxf6iyiapkgka2ngwkch";
        authors = [
          "Alice Maz <alice@alicemaz.com>"
          "Marshall Pierce <marshall@mpierce.org>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "base64ct" = rec {
        crateName = "base64ct";
        version = "1.2.0";
        edition = "2021";
        sha256 = "068ym54zxcma0z4w58l5dxlmx97l45d8mmns1ij5ls1d04mpfb1r";
        authors = [
          "RustCrypto Developers"
        ];
        features = {
          "std" = [ "alloc" ];
        };
      };
      "bcrypt-pbkdf" = rec {
        crateName = "bcrypt-pbkdf";
        version = "0.6.2";
        edition = "2018";
        sha256 = "1ms9c5z90n5szx5nbxrqaihny5fs3sl6a1pm3szr5g86jlxw0f3w";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "blowfish";
            packageId = "blowfish";
            features = [ "bcrypt" ];
          }
          {
            name = "crypto-mac";
            packageId = "crypto-mac";
          }
          {
            name = "pbkdf2";
            packageId = "pbkdf2";
            usesDefaultFeatures = false;
          }
          {
            name = "sha2";
            packageId = "sha2";
            usesDefaultFeatures = false;
          }
          {
            name = "zeroize";
            packageId = "zeroize";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "bincode" = rec {
        crateName = "bincode";
        version = "1.3.3";
        edition = "2015";
        sha256 = "1bfw3mnwzx5g1465kiqllp5n4r10qrqy88kdlp3jfwnq2ya5xx5i";
        authors = [
          "Ty Overby <ty@pre-alpha.com>"
          "Francesco Mazzoli <f@mazzo.li>"
          "David Tolnay <dtolnay@gmail.com>"
          "Zoey Riordan <zoey@dos.cafe>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
          }
        ];
        features = {
        };
      };
      "bit-vec" = rec {
        crateName = "bit-vec";
        version = "0.6.3";
        edition = "2015";
        sha256 = "1ywqjnv60cdh1slhz67psnp422md6jdliji6alq0gmly2xm9p7rl";
        authors = [
          "Alexis Beingessner <a.beingessner@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
          "serde_no_std" = [ "serde/alloc" ];
          "serde_std" = [ "std" "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "bitflags" = rec {
        crateName = "bitflags";
        version = "1.3.2";
        edition = "2018";
        sha256 = "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "blake3" = rec {
        crateName = "blake3";
        version = "1.2.0";
        edition = "2018";
        sha256 = "04r49xc5m79cildq6pm737l5c5j7hcq3dbsr0x11dr108l5j2v2j";
        authors = [
          "Jack O'Connor <oconnor663@gmail.com>"
        ];
        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;
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "digest/std" ];
          "traits-preview" = [ "digest" "crypto-mac" ];
        };
        resolvedDefaultFeatures = [ "default" "digest" "std" ];
      };
      "block-buffer" = rec {
        crateName = "block-buffer";
        version = "0.9.0";
        edition = "2018";
        sha256 = "1r4pf90s7d7lj1wdjhlnqa26vvbm6pnc33z138lxpnp9srpi2lj1";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
        ];

      };
      "block-modes" = rec {
        crateName = "block-modes";
        version = "0.8.1";
        edition = "2018";
        sha256 = "13id7rw1lhi83i701za8w5is3a8qkf4vfigqw3f8jp8mxldkvc1c";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "block-padding";
            packageId = "block-padding";
          }
          {
            name = "cipher";
            packageId = "cipher";
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "block-padding" = rec {
        crateName = "block-padding";
        version = "0.2.1";
        edition = "2018";
        sha256 = "1bickjlmfw9iv63dp781n589rfybw879mik1va59833m1hvnqscd";
        authors = [
          "RustCrypto Developers"
        ];

      };
      "blowfish" = rec {
        crateName = "blowfish";
        version = "0.8.0";
        edition = "2018";
        sha256 = "1ax736islxcbghc2lqq4vy7zn6qdigrls71lwg11m3743pyg6gzy";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "byteorder";
            packageId = "byteorder";
            usesDefaultFeatures = false;
          }
          {
            name = "cipher";
            packageId = "cipher";
          }
          {
            name = "opaque-debug";
            packageId = "opaque-debug";
          }
        ];
        devDependencies = [
          {
            name = "cipher";
            packageId = "cipher";
            features = [ "dev" ];
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "bcrypt" ];
      };
      "bs58" = rec {
        crateName = "bs58";
        version = "0.4.0";
        edition = "2018";
        sha256 = "1lr3vwzhhyica4y7rbkf26vr1h7vpjb1m6rml8zcqgw81c2y07vp";
        authors = [
          "Wim Looman <wim@nemo157.com>"
        ];
        features = {
          "check" = [ "sha2" ];
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "bstr" = rec {
        crateName = "bstr";
        version = "0.2.17";
        edition = "2018";
        sha256 = "08rjbhysy6gg27db2h3pnhvr2mlr5vkj797i9625kwg8hgrnjdds";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" "unicode" ];
          "serde1" = [ "std" "serde1-nostd" "serde/std" ];
          "serde1-nostd" = [ "serde" ];
          "std" = [ "memchr/std" ];
          "unicode" = [ "lazy_static" "regex-automata" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "bumpalo" = rec {
        crateName = "bumpalo";
        version = "3.8.0";
        edition = "2018";
        sha256 = "0v5vck40wmz95d48gq0z3al32vy1yic8fihjkb0sfh4h7862c7lg";
        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 = [ "default" "i128" "std" ];
      };
      "bytes" = rec {
        crateName = "bytes";
        version = "1.1.0";
        edition = "2018";
        sha256 = "1y70b249m02lfp0j6565b29kviapj4xsl9whamcqwddnp9kjv1y4";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "canonical-path" = rec {
        crateName = "canonical-path";
        version = "2.0.2";
        edition = "2018";
        sha256 = "0vvsjda6ka5nz8zvx6r08zqi0j59sjccgcbjxj96xj764w9y1sg6";
        authors = [
          "Tony Arcieri <tony@iqlusion.io>"
        ];

      };
      "cc" = rec {
        crateName = "cc";
        version = "1.0.72";
        edition = "2018";
        crateBin = [];
        sha256 = "1vl50h2qh0nh0iddzj6gd1pnxnxpvwmbfxc30578c1pajmxi7a92";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "jobserver";
            packageId = "jobserver";
            optional = true;
          }
        ];
        features = {
          "parallel" = [ "jobserver" ];
        };
        resolvedDefaultFeatures = [ "jobserver" "parallel" ];
      };
      "cfg-if" = rec {
        crateName = "cfg-if";
        version = "1.0.0";
        edition = "2018";
        sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "chrono" = rec {
        crateName = "chrono";
        version = "0.4.19";
        edition = "2015";
        sha256 = "0wyfl6c00vhfl562spnfcna3zkw8jqvcp652m9iskhl8j26dc2k7";
        authors = [
          "Kang Seonghoon <public+rust@mearie.org>"
          "Brandon W Maister <quodlibetor@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            optional = true;
          }
          {
            name = "num-integer";
            packageId = "num-integer";
            usesDefaultFeatures = false;
          }
          {
            name = "num-traits";
            packageId = "num-traits";
            usesDefaultFeatures = false;
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "time";
            packageId = "time";
            optional = true;
          }
          {
            name = "winapi";
            packageId = "winapi";
            optional = true;
            target = { target, features }: (target."windows" or false);
            features = [ "std" "minwinbase" "minwindef" "timezoneapi" ];
          }
        ];
        features = {
          "clock" = [ "libc" "std" "winapi" ];
          "default" = [ "clock" "std" "oldtime" ];
          "oldtime" = [ "time" ];
          "unstable-locales" = [ "pure-rust-locales" "alloc" ];
          "wasmbind" = [ "wasm-bindgen" "js-sys" ];
        };
        resolvedDefaultFeatures = [ "clock" "default" "libc" "oldtime" "serde" "std" "time" "winapi" ];
      };
      "cipher" = rec {
        crateName = "cipher";
        version = "0.3.0";
        edition = "2018";
        sha256 = "1dyzsv0c84rgz98d5glnhsz4320wl24x3bq511vnyf0mxir21rby";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
        ];
        features = {
          "dev" = [ "blobby" ];
        };
      };
      "clap" = rec {
        crateName = "clap";
        version = "3.0.0-beta.5";
        edition = "2018";
        sha256 = "0qqxzdxys8amgb420ykfa1143wk3gghn7ksqbms97nsfarw3izzy";
        authors = [
          "Kevin K. <kbknapp@gmail.com>"
          "Clap Maintainers"
        ];
        dependencies = [
          {
            name = "atty";
            packageId = "atty";
            optional = true;
          }
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "clap_derive";
            packageId = "clap_derive";
            optional = true;
          }
          {
            name = "indexmap";
            packageId = "indexmap";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            optional = true;
          }
          {
            name = "os_str_bytes";
            packageId = "os_str_bytes";
          }
          {
            name = "strsim";
            packageId = "strsim";
            optional = true;
          }
          {
            name = "termcolor";
            packageId = "termcolor";
            optional = true;
          }
          {
            name = "textwrap";
            packageId = "textwrap";
            usesDefaultFeatures = false;
          }
          {
            name = "unicase";
            packageId = "unicase";
            optional = true;
          }
        ];
        devDependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
        ];
        features = {
          "cargo" = [ "lazy_static" ];
          "color" = [ "atty" "termcolor" ];
          "debug" = [ "clap_derive/debug" "backtrace" ];
          "default" = [ "std" "derive" "cargo" "color" "env" "suggestions" "unicode" ];
          "derive" = [ "clap_derive" "lazy_static" ];
          "std" = [ "indexmap/std" ];
          "suggestions" = [ "strsim" ];
          "unicode" = [ "textwrap/unicode-width" "unicase" ];
          "wrap_help" = [ "terminal_size" "textwrap/terminal_size" ];
          "yaml" = [ "yaml-rust" ];
        };
        resolvedDefaultFeatures = [ "atty" "cargo" "clap_derive" "color" "default" "derive" "env" "lazy_static" "std" "strsim" "suggestions" "termcolor" "unicase" "unicode" ];
      };
      "clap_derive" = rec {
        crateName = "clap_derive";
        version = "3.0.0-beta.5";
        edition = "2018";
        sha256 = "1lyhsxpcv3bl2sp4a2fd9d2c47xwamla6rgy5wcvdzw6yyscc5cb";
        procMacro = true;
        authors = [
          "Guillaume Pinot <texitoi@texitoi.eu>"
          "Clap Maintainers"
        ];
        dependencies = [
          {
            name = "heck";
            packageId = "heck";
          }
          {
            name = "proc-macro-error";
            packageId = "proc-macro-error";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "constant_time_eq" = rec {
        crateName = "constant_time_eq";
        version = "0.1.5";
        edition = "2015";
        sha256 = "1g3vp04qzmk6cpzrd19yci6a95m7ap6wy7wkwgiy2pjklklrfl14";
        authors = [
          "Cesar Eduardo Barros <cesarb@cesarb.eti.br>"
        ];

      };
      "core-foundation" = rec {
        crateName = "core-foundation";
        version = "0.9.2";
        edition = "2015";
        sha256 = "1cs7dya58xf4px4b1953040fpz5lm3qhf7fzv0jf94xva42y3238";
        authors = [
          "The Servo Project Developers"
        ];
        dependencies = [
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "mac_os_10_7_support" = [ "core-foundation-sys/mac_os_10_7_support" ];
          "mac_os_10_8_features" = [ "core-foundation-sys/mac_os_10_8_features" ];
          "with-chrono" = [ "chrono" ];
          "with-uuid" = [ "uuid" ];
        };
      };
      "core-foundation-sys" = rec {
        crateName = "core-foundation-sys";
        version = "0.8.3";
        edition = "2015";
        sha256 = "1p5r2wckarkpkyc4z83q08dwpvcafrb1h6fxfa3qnikh8szww9sq";
        authors = [
          "The Servo Project Developers"
        ];
        features = {
        };
      };
      "cpufeatures" = rec {
        crateName = "cpufeatures";
        version = "0.2.1";
        edition = "2018";
        sha256 = "0sgllzsvs8hinylaiigmd9c908gd8wclxnqz8dinpxbdyql981cm";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (stdenv.hostPlatform.config == "aarch64-apple-darwin");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ((target."arch" == "aarch64") && (target."os" == "linux"));
          }
        ];

      };
      "crc32fast" = rec {
        crateName = "crc32fast";
        version = "1.2.1";
        edition = "2015";
        sha256 = "06ivjlkzcxxxk7nyshc44aql4zjpmvirq46vmzrakdjax3n6y5c1";
        authors = [
          "Sam Rijs <srijs@airpost.net>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "crossbeam-deque" = rec {
        crateName = "crossbeam-deque";
        version = "0.8.1";
        edition = "2018";
        sha256 = "07nypn86id2lf912ahiww1jvqp0zbk2xa25ra7vzplph375c0mb4";
        authors = [
          "The Crossbeam Project Developers"
        ];
        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 = {
          "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.5";
        edition = "2018";
        sha256 = "1zdpfd6hjf944dr5pb7h7rkiccbwksc958x4mp1y4d56384jxh2f";
        authors = [
          "The Crossbeam Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "crossbeam-utils";
            packageId = "crossbeam-utils";
            usesDefaultFeatures = false;
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            optional = true;
          }
          {
            name = "memoffset";
            packageId = "memoffset";
          }
          {
            name = "scopeguard";
            packageId = "scopeguard";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
          "loom" = [ "loom-crate" "crossbeam-utils/loom" ];
          "nightly" = [ "crossbeam-utils/nightly" "const_fn" ];
          "std" = [ "alloc" "crossbeam-utils/std" "lazy_static" ];
        };
        resolvedDefaultFeatures = [ "alloc" "lazy_static" "std" ];
      };
      "crossbeam-utils" = rec {
        crateName = "crossbeam-utils";
        version = "0.8.5";
        edition = "2018";
        sha256 = "1ny481cx8a5pdknypb41jqym03dl8x26i2ldyyp3yb3zrq8zqb6q";
        authors = [
          "The Crossbeam Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            optional = true;
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "lazy_static" ];
        };
        resolvedDefaultFeatures = [ "default" "lazy_static" "std" ];
      };
      "crypto-mac" = rec {
        crateName = "crypto-mac";
        version = "0.11.1";
        edition = "2018";
        sha256 = "05672ncc54h66vph42s0a42ljl69bwnqjh0x4xgj2v1395psildi";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
          {
            name = "subtle";
            packageId = "subtle";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "dev" = [ "blobby" ];
        };
      };
      "cryptovec" = rec {
        crateName = "cryptovec";
        version = "0.6.1";
        edition = "2015";
        sha256 = "1pqb2g1n3sx0d2cjiy06amcr2wlf9izwb4jj68nk5cmvlq9zmiyc";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "basetsd" "minwindef" "memoryapi" ];
          }
        ];

      };
      "ctr" = rec {
        crateName = "ctr";
        version = "0.8.0";
        edition = "2018";
        sha256 = "1sk1aykwhkny92cnvl6s75dx3fyvfzw5xkd6xz3y7w5anhgvk6q4";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "cipher";
            packageId = "cipher";
          }
        ];
        devDependencies = [
          {
            name = "cipher";
            packageId = "cipher";
            features = [ "dev" ];
          }
        ];

      };
      "ctrlc" = rec {
        crateName = "ctrlc";
        version = "3.2.1";
        edition = "2018";
        sha256 = "1gy73qwcchh802nc4vdr5cv16nnq1fr3wwkd6jih736wzznnr751";
        authors = [
          "Antti Keränen <detegr@gmail.com>"
        ];
        dependencies = [
          {
            name = "nix";
            packageId = "nix";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "consoleapi" "handleapi" "synchapi" "winbase" ];
          }
        ];
        devDependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            target = {target, features}: (target."windows" or false);
            features = [ "fileapi" "processenv" "winnt" ];
          }
        ];
        features = {
        };
      };
      "curve25519-dalek" = rec {
        crateName = "curve25519-dalek";
        version = "3.2.0";
        edition = "2015";
        sha256 = "0q8v97275cy6v4ly6y2qwv9a8phnpjg9sy8kv7r6mgdjfacxz7qb";
        authors = [
          "Isis Lovecruft <isis@patternsinthevoid.net>"
          "Henry de Valence <hdevalence@hdevalence.ca>"
        ];
        dependencies = [
          {
            name = "byteorder";
            packageId = "byteorder";
            usesDefaultFeatures = false;
            features = [ "i128" ];
          }
          {
            name = "digest";
            packageId = "digest";
            usesDefaultFeatures = false;
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.5.1";
            usesDefaultFeatures = false;
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "derive" ];
          }
          {
            name = "subtle";
            packageId = "subtle";
            usesDefaultFeatures = false;
          }
          {
            name = "zeroize";
            packageId = "zeroize";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "zeroize/alloc" ];
          "avx2_backend" = [ "simd_backend" ];
          "default" = [ "std" "u64_backend" ];
          "fiat_u32_backend" = [ "fiat-crypto" ];
          "fiat_u64_backend" = [ "fiat-crypto" ];
          "nightly" = [ "subtle/nightly" ];
          "simd_backend" = [ "nightly" "u64_backend" "packed_simd" ];
          "std" = [ "alloc" "subtle/std" "rand_core/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "serde" "std" "u64_backend" ];
      };
      "data-encoding" = rec {
        crateName = "data-encoding";
        version = "2.3.2";
        edition = "2018";
        sha256 = "0mvd8bjq5mq50fcf931cff57vwmbsvs1kpxynkzrshli98y3kqiy";
        authors = [
          "Julien Cretin <git@ia0.eu>"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "detone" = rec {
        crateName = "detone";
        version = "1.0.0";
        edition = "2018";
        sha256 = "052mnp8qjp71ypcv0ixvlw7isn1yv79qn05jrcfi9j2r70clq47p";
        authors = [
          "Henri Sivonen <hsivonen@hsivonen.fi>"
        ];

      };
      "diffs" = rec {
        crateName = "diffs";
        version = "0.4.1";
        edition = "2015";
        sha256 = "07cpi60h9mddk62lysrybkrqlca8v8ffxhifv649x3fw250pn4d8";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];

      };
      "digest" = rec {
        crateName = "digest";
        version = "0.9.0";
        edition = "2018";
        sha256 = "0rmhvk33rgvd6ll71z8sng91a52rw14p0drjn1da0mqa138n1pfk";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
        ];
        features = {
          "dev" = [ "blobby" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "dirs" = rec {
        crateName = "dirs";
        version = "3.0.2";
        edition = "2015";
        sha256 = "028kqy0vrbfgrk1yc1flq2fqh8snyg17qlygawm0r79w211s1fih";
        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.6";
        edition = "2015";
        sha256 = "102pbpcrfhvhfyfnyvmvvwpl6mfvynh170f6ima6fyinxls6bn03";
        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 }: (target."os" == "redox");
          }
          {
            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 }: (target."os" == "redox");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "knownfolders" "objbase" "shlobj" "winbase" "winerror" ];
          }
        ];

      };
      "ed25519" = rec {
        crateName = "ed25519";
        version = "1.3.0";
        edition = "2018";
        sha256 = "05l8say9mpch3nl7cjwkq8slrb1g0vnr7rrdxdkl6igi76g0dqbl";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "signature";
            packageId = "signature";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "pkcs8/alloc" ];
          "default" = [ "std" ];
          "pem" = [ "pkcs8/pem" ];
          "serde_bytes" = [ "serde" "serde_bytes_crate" "std" ];
          "std" = [ "signature/std" ];
        };
        resolvedDefaultFeatures = [ "serde" "std" ];
      };
      "ed25519-dalek" = rec {
        crateName = "ed25519-dalek";
        version = "1.0.1";
        edition = "2018";
        sha256 = "17bsriciv93nkm39z22w7mr0h2a3hnbmgf378v4c895gvkkblqn7";
        authors = [
          "isis lovecruft <isis@patternsinthevoid.net>"
        ];
        dependencies = [
          {
            name = "curve25519-dalek";
            packageId = "curve25519-dalek";
            usesDefaultFeatures = false;
          }
          {
            name = "ed25519";
            packageId = "ed25519";
            usesDefaultFeatures = false;
          }
          {
            name = "rand";
            packageId = "rand 0.7.3";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "serde";
            packageId = "serde";
            rename = "serde_crate";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "serde_bytes";
            packageId = "serde_bytes";
            optional = true;
          }
          {
            name = "sha2";
            packageId = "sha2";
            usesDefaultFeatures = false;
          }
          {
            name = "zeroize";
            packageId = "zeroize";
            usesDefaultFeatures = false;
            features = [ "zeroize_derive" ];
          }
        ];
        devDependencies = [
          {
            name = "rand";
            packageId = "rand 0.7.3";
          }
          {
            name = "serde";
            packageId = "serde";
            features = [ "derive" ];
          }
        ];
        features = {
          "alloc" = [ "curve25519-dalek/alloc" "rand/alloc" "zeroize/alloc" ];
          "asm" = [ "sha2/asm" ];
          "batch" = [ "merlin" "rand" ];
          "batch_deterministic" = [ "merlin" "rand" "rand_core" ];
          "default" = [ "std" "rand" "u64_backend" ];
          "nightly" = [ "curve25519-dalek/nightly" ];
          "serde" = [ "serde_crate" "serde_bytes" "ed25519/serde" ];
          "simd_backend" = [ "curve25519-dalek/simd_backend" ];
          "std" = [ "curve25519-dalek/std" "ed25519/std" "serde_crate/std" "sha2/std" "rand/std" ];
          "u32_backend" = [ "curve25519-dalek/u32_backend" ];
          "u64_backend" = [ "curve25519-dalek/u64_backend" ];
        };
        resolvedDefaultFeatures = [ "default" "rand" "serde" "serde_bytes" "serde_crate" "std" "u64_backend" ];
      };
      "edit" = rec {
        crateName = "edit";
        version = "0.1.3";
        edition = "2018";
        crateBin = [];
        sha256 = "1q0f7mhsv2z8wyrqnx755jcli1fdpx9ziviji7i855xxz0v6kp9w";
        authors = [
          "Milkey Mouse <milkeymouse@meme.institute>"
        ];
        dependencies = [
          {
            name = "tempfile";
            packageId = "tempfile";
          }
          {
            name = "which";
            packageId = "which";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "better-path" = [ "which" ];
          "default" = [ "better-path" ];
        };
        resolvedDefaultFeatures = [ "better-path" "default" "which" ];
      };
      "either" = rec {
        crateName = "either";
        version = "1.6.1";
        edition = "2015";
        sha256 = "0mwl9vngqf5jvrhmhn9x60kr5hivxyjxbmby2pybncxfqhf4z3g7";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "use_std" ];
        };
        resolvedDefaultFeatures = [ "default" "use_std" ];
      };
      "encoding_rs" = rec {
        crateName = "encoding_rs";
        version = "0.8.29";
        edition = "2018";
        sha256 = "0in7l50j06qmzzwk0h6bs5kdlyj5zyx9ab745lrzd60v1adahkm7";
        authors = [
          "Henri Sivonen <hsivonen@hsivonen.fi>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
        ];
        features = {
          "default" = [ "alloc" ];
          "fast-legacy-encode" = [ "fast-hangul-encode" "fast-hanja-encode" "fast-kanji-encode" "fast-gb-hanzi-encode" "fast-big5-hanzi-encode" ];
          "simd-accel" = [ "packed_simd" "packed_simd/into_bits" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" ];
      };
      "env_logger" = rec {
        crateName = "env_logger";
        version = "0.8.4";
        edition = "2018";
        sha256 = "1qzw8g11dbdfi7ixm44ldykwcqsxqkh8vx5cgpd88zmclgz8g4d1";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "atty";
            packageId = "atty";
            optional = true;
          }
          {
            name = "humantime";
            packageId = "humantime";
            optional = true;
          }
          {
            name = "log";
            packageId = "log";
            features = [ "std" ];
          }
          {
            name = "regex";
            packageId = "regex";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" "perf" ];
          }
          {
            name = "termcolor";
            packageId = "termcolor";
            optional = true;
          }
        ];
        features = {
          "default" = [ "termcolor" "atty" "humantime" "regex" ];
        };
        resolvedDefaultFeatures = [ "atty" "default" "humantime" "regex" "termcolor" ];
      };
      "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 }: (target."os" == "dragonfly");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."os" == "hermit");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."os" == "wasi");
          }
          {
            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" ];
        };
        resolvedDefaultFeatures = [ "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";
          }
        ];

      };
      "filetime" = rec {
        crateName = "filetime";
        version = "0.2.15";
        edition = "2018";
        sha256 = "165w8nrc4f7jqhf9f1c86s1vw9wh2v43h2l5h93dil6rv21wyp4p";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
            target = { target, features }: (target."os" == "redox");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "fileapi" "minwindef" "winbase" ];
          }
        ];

      };
      "flate2" = rec {
        crateName = "flate2";
        version = "1.0.22";
        edition = "2018";
        sha256 = "0gy5iwfqylb2f0dd9n7r8w2xwbzlrqlsairvyj2w9jf1jzl8hs8y";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Josh Triplett <josh@joshtriplett.org>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "crc32fast";
            packageId = "crc32fast";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "miniz_oxide";
            packageId = "miniz_oxide";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "miniz_oxide";
            packageId = "miniz_oxide";
            usesDefaultFeatures = false;
            target = { target, features }: ((target."arch" == "wasm32") && (!(target."os" == "emscripten")));
          }
        ];
        features = {
          "cloudflare_zlib" = [ "any_zlib" "cloudflare-zlib-sys" ];
          "default" = [ "rust_backend" ];
          "rust_backend" = [ "miniz_oxide" ];
          "tokio" = [ "tokio-io" "futures" ];
          "zlib" = [ "any_zlib" "libz-sys" ];
          "zlib-ng-compat" = [ "zlib" "libz-sys/zlib-ng" ];
        };
        resolvedDefaultFeatures = [ "default" "miniz_oxide" "rust_backend" ];
      };
      "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" ];
      };
      "foreign-types" = rec {
        crateName = "foreign-types";
        version = "0.3.2";
        edition = "2015";
        sha256 = "1cgk0vyd7r45cj769jym4a6s7vwshvd0z4bqrb92q1fwibmkkwzn";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
        ];
        dependencies = [
          {
            name = "foreign-types-shared";
            packageId = "foreign-types-shared";
          }
        ];

      };
      "foreign-types-shared" = rec {
        crateName = "foreign-types-shared";
        version = "0.1.1";
        edition = "2015";
        sha256 = "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
        ];

      };
      "form_urlencoded" = rec {
        crateName = "form_urlencoded";
        version = "1.0.1";
        edition = "2018";
        sha256 = "1491fmakavcmsjbm3q6iy0bhmn9l422jasdhzx5hkljgza3mmhjz";
        authors = [
          "The rust-url developers"
        ];
        dependencies = [
          {
            name = "matches";
            packageId = "matches";
          }
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
          }
        ];

      };
      "fs2" = rec {
        crateName = "fs2";
        version = "0.4.3";
        edition = "2015";
        sha256 = "04v2hwk7035c088f19mfl5b1lz84gnvv2hv6m935n0hmirszqr4m";
        authors = [
          "Dan Burkert <dan@danburkert.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" "processthreadsapi" "winerror" "fileapi" "winbase" "std" ];
          }
        ];

      };
      "futures" = rec {
        crateName = "futures";
        version = "0.3.18";
        edition = "2018";
        sha256 = "17jbp2zl1f0cfblaiky8d8kim6k82cxmmnbgy1gj8p1jih6j3l4c";
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            usesDefaultFeatures = false;
            features = [ "sink" ];
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-executor";
            packageId = "futures-executor";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-io";
            packageId = "futures-io";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            features = [ "sink" ];
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" "futures-task/alloc" "futures-sink/alloc" "futures-channel/alloc" "futures-util/alloc" ];
          "async-await" = [ "futures-util/async-await" "futures-util/async-await-macro" ];
          "bilock" = [ "futures-util/bilock" ];
          "compat" = [ "std" "futures-util/compat" ];
          "default" = [ "std" "async-await" "executor" ];
          "executor" = [ "std" "futures-executor/std" ];
          "io-compat" = [ "compat" "futures-util/io-compat" ];
          "read-initializer" = [ "futures-io/read-initializer" "futures-util/read-initializer" ];
          "std" = [ "alloc" "futures-core/std" "futures-task/std" "futures-io/std" "futures-sink/std" "futures-util/std" "futures-util/io" "futures-util/channel" ];
          "thread-pool" = [ "executor" "futures-executor/thread-pool" ];
          "unstable" = [ "futures-core/unstable" "futures-task/unstable" "futures-channel/unstable" "futures-io/unstable" "futures-util/unstable" ];
          "write-all-vectored" = [ "futures-util/write-all-vectored" ];
        };
        resolvedDefaultFeatures = [ "alloc" "async-await" "default" "executor" "futures-executor" "std" ];
      };
      "futures-channel" = rec {
        crateName = "futures-channel";
        version = "0.3.18";
        edition = "2018";
        sha256 = "09rd4nigr2yyw074yv7yqqvzs90x80nnmkhd6kvnby6vwcwwvj3z";
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" ];
          "default" = [ "std" ];
          "sink" = [ "futures-sink" ];
          "std" = [ "alloc" "futures-core/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "futures-sink" "sink" "std" ];
      };
      "futures-core" = rec {
        crateName = "futures-core";
        version = "0.3.18";
        edition = "2018";
        sha256 = "0id4niawvf6vxv2s7w782jmm6m5arrcx2isvlsws1hp75zj1d4v2";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-executor" = rec {
        crateName = "futures-executor";
        version = "0.3.18";
        edition = "2018";
        sha256 = "15scf1ifrdipidc7wzcvlsmgrf89b5sh8zlxffmnr8s86gsqp03v";
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "futures-core/std" "futures-task/std" "futures-util/std" ];
          "thread-pool" = [ "std" "num_cpus" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "futures-io" = rec {
        crateName = "futures-io";
        version = "0.3.18";
        edition = "2018";
        sha256 = "04dakn3362gw8q2jd9wdq19df4am1j5p4sngdhj57hxmnr6kb0g4";
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "futures-macro" = rec {
        crateName = "futures-macro";
        version = "0.3.18";
        edition = "2018";
        sha256 = "1pbz9s2zhs9l8pfylxiq38zlmzggl34zk6n6fgblxg252sr1g7x8";
        procMacro = true;
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
        ];

      };
      "futures-sink" = rec {
        crateName = "futures-sink";
        version = "0.3.18";
        edition = "2018";
        sha256 = "1bq5jdv9d1llmlzq8ycmkbhw2z8yqkwhd6fd68dd4qkv8d168v4r";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-task" = rec {
        crateName = "futures-task";
        version = "0.3.18";
        edition = "2018";
        sha256 = "04nyz21ymr2r4fh9hdk1ppi8g61ryp97c8ighf3chcmbm9r1igys";
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "futures-util" = rec {
        crateName = "futures-util";
        version = "0.3.18";
        edition = "2018";
        sha256 = "0gmqxlf3vx9aikb0yhcihjn2p3g2rsr1l3xcc4h4fmi3289j5lj1";
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-io";
            packageId = "futures-io";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "futures-macro";
            packageId = "futures-macro";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "pin-utils";
            packageId = "pin-utils";
          }
          {
            name = "slab";
            packageId = "slab";
            optional = true;
          }
        ];
        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" ];
          "io" = [ "std" "futures-io" "memchr" ];
          "io-compat" = [ "io" "compat" "tokio-io" ];
          "read-initializer" = [ "io" "futures-io/read-initializer" "futures-io/unstable" ];
          "sink" = [ "futures-sink" ];
          "std" = [ "alloc" "futures-core/std" "futures-task/std" "slab" ];
          "unstable" = [ "futures-core/unstable" "futures-task/unstable" ];
          "write-all-vectored" = [ "io" ];
        };
        resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "channel" "default" "futures-channel" "futures-io" "futures-macro" "futures-sink" "io" "memchr" "sink" "slab" "std" ];
      };
      "generic-array" = rec {
        crateName = "generic-array";
        version = "0.14.4";
        edition = "2015";
        sha256 = "05qqwm9v5asbil9z28wjkmpfvs1c5c99n8n9gwxis3d3r3n6c52h";
        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 = {
        };
      };
      "getrandom 0.1.16" = rec {
        crateName = "getrandom";
        version = "0.1.16";
        edition = "2018";
        sha256 = "1kjzmz60qx9mn615ks1akjbf36n3lkv27zfwbcam0fzmj56wphwg";
        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 0.9.0+wasi-snapshot-preview1";
            target = { target, features }: (target."os" == "wasi");
          }
        ];
        features = {
          "rustc-dep-of-std" = [ "compiler_builtins" "core" ];
          "test-in-browser" = [ "wasm-bindgen" ];
          "wasm-bindgen" = [ "bindgen" "js-sys" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "getrandom 0.2.3" = rec {
        crateName = "getrandom";
        version = "0.2.3";
        edition = "2018";
        sha256 = "0lr7mnkvnzdh1xxmwmhhbm4gwg29k3m2rzhpjmjm4k2jcfa9kkbz";
        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 0.10.2+wasi-snapshot-preview1";
            target = { target, features }: (target."os" == "wasi");
          }
        ];
        features = {
          "js" = [ "wasm-bindgen" "js-sys" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "libc/rustc-dep-of-std" "wasi/rustc-dep-of-std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "gimli" = rec {
        crateName = "gimli";
        version = "0.26.1";
        edition = "2018";
        sha256 = "1m0vi36ypv4gx9gzcw6y456yqnlypizhwlcqrmg6vkwd0lnkgk3q";
        features = {
          "default" = [ "read" "write" "std" "fallible-iterator" "endian-reader" ];
          "endian-reader" = [ "read" "stable_deref_trait" ];
          "read" = [ "read-core" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" ];
          "std" = [ "fallible-iterator/std" "stable_deref_trait/std" ];
          "write" = [ "indexmap" ];
        };
        resolvedDefaultFeatures = [ "read" "read-core" ];
      };
      "git2" = rec {
        crateName = "git2";
        version = "0.13.24";
        edition = "2018";
        sha256 = "07rlxwvl5iyyqwh0mci5v27lbicf9qiqm60maw1srz7i51x00pl4";
        authors = [
          "Josh Triplett <josh@joshtriplett.org>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "libgit2-sys";
            packageId = "libgit2-sys";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "openssl-probe";
            packageId = "openssl-probe";
            optional = true;
            target = { target, features }: ((target."unix" or false) && (!(target."os" == "macos")));
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            optional = true;
            target = { target, features }: ((target."unix" or false) && (!(target."os" == "macos")));
          }
          {
            name = "url";
            packageId = "url";
          }
        ];
        features = {
          "default" = [ "ssh" "https" "ssh_key_from_memory" ];
          "https" = [ "libgit2-sys/https" "openssl-sys" "openssl-probe" ];
          "ssh" = [ "libgit2-sys/ssh" ];
          "ssh_key_from_memory" = [ "libgit2-sys/ssh_key_from_memory" ];
          "vendored-libgit2" = [ "libgit2-sys/vendored" ];
          "vendored-openssl" = [ "openssl-sys/vendored" "libgit2-sys/vendored-openssl" ];
          "zlib-ng-compat" = [ "libgit2-sys/zlib-ng-compat" ];
        };
        resolvedDefaultFeatures = [ "default" "https" "openssl-probe" "openssl-sys" "ssh" "ssh_key_from_memory" ];
      };
      "globset" = rec {
        crateName = "globset";
        version = "0.4.8";
        edition = "2018";
        sha256 = "1gdzphnjjc0wdaawsq3n1nnypv9ja4prhca2n66hcahay2gksihh";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "aho-corasick";
            packageId = "aho-corasick";
          }
          {
            name = "bstr";
            packageId = "bstr";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "fnv";
            packageId = "fnv";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "regex";
            packageId = "regex";
            usesDefaultFeatures = false;
            features = [ "perf" "std" ];
          }
        ];
        features = {
          "serde1" = [ "serde" ];
        };
      };
      "h2" = rec {
        crateName = "h2";
        version = "0.3.7";
        edition = "2018";
        sha256 = "0mdf0x3cxj4rhx2zrm0gnx02i43gqcz3q4awzidargff5xb1kn3z";
        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 = {
        };
      };
      "hashbrown" = rec {
        crateName = "hashbrown";
        version = "0.11.2";
        edition = "2018";
        sha256 = "0vkjsf5nzs7qcia5ya79j9sq2p1caz4crrncr1675wwyj3ag0pmb";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        features = {
          "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ];
          "default" = [ "ahash" "inline-more" ];
          "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ];
        };
        resolvedDefaultFeatures = [ "raw" ];
      };
      "heck" = rec {
        crateName = "heck";
        version = "0.3.3";
        edition = "2018";
        sha256 = "0b0kkr790p66lvzn9nsmfjvydrbmh9z5gb664jchwgw64vxiwqkd";
        authors = [
          "Without Boats <woboats@gmail.com>"
        ];
        dependencies = [
          {
            name = "unicode-segmentation";
            packageId = "unicode-segmentation";
          }
        ];

      };
      "hermit-abi" = rec {
        crateName = "hermit-abi";
        version = "0.1.19";
        edition = "2018";
        sha256 = "0cxcm8093nf5fyn114w8vxbrbcyvv91d4015rdnlgfll7cs6gd32";
        authors = [
          "Stefan Lankes"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "compiler_builtins/rustc-dep-of-std" "libc/rustc-dep-of-std" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "hmac" = rec {
        crateName = "hmac";
        version = "0.11.0";
        edition = "2018";
        sha256 = "16z61aibdg4di40sqi4ks2s4rz6r29w4sx4gvblfph3yxch26aia";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "crypto-mac";
            packageId = "crypto-mac";
          }
          {
            name = "digest";
            packageId = "digest";
          }
        ];
        devDependencies = [
          {
            name = "crypto-mac";
            packageId = "crypto-mac";
            features = [ "dev" ];
          }
        ];
        features = {
          "std" = [ "crypto-mac/std" ];
        };
      };
      "http" = rec {
        crateName = "http";
        version = "0.2.5";
        edition = "2018";
        sha256 = "0sqqidxilz83h3nr9g3hwsa0z34mh6clrrdfvvd2f66l0mmhj8qk";
        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.4";
        edition = "2018";
        sha256 = "1imjszmk34603m7chfnhd3rq263bxbdlaxhlbzd06wv7354zix0z";
        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";
          }
        ];

      };
      "httparse" = rec {
        crateName = "httparse";
        version = "1.5.1";
        edition = "2015";
        sha256 = "00smbrgb9vyzbbj3j5d66iarjl5x2wpfwkmhcy5nizylw7dlzndc";
        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>"
        ];

      };
      "human-panic" = rec {
        crateName = "human-panic";
        version = "1.0.3";
        edition = "2018";
        sha256 = "0djfad84iwl86kabj8rqfhv5nn1qi1fd9hb7z72xgjxb02jmgwrr";
        authors = [
          "Yoshua Wuyts <yoshuawuyts@gmail.com>"
          "Pascal Hertleif <killercup@gmail.com>"
          "Katharina Fey <kookie@spacekookie.de>"
        ];
        dependencies = [
          {
            name = "backtrace";
            packageId = "backtrace";
          }
          {
            name = "os_type";
            packageId = "os_type";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
          {
            name = "termcolor";
            packageId = "termcolor";
          }
          {
            name = "toml";
            packageId = "toml";
          }
          {
            name = "uuid";
            packageId = "uuid";
            usesDefaultFeatures = false;
            features = [ "v4" ];
          }
        ];
        features = {
        };
      };
      "humantime" = rec {
        crateName = "humantime";
        version = "2.1.0";
        edition = "2018";
        sha256 = "1r55pfkkf5v0ji1x6izrjwdq9v6sc7bv99xj6srywcar37xmnfls";
        authors = [
          "Paul Colomiets <paul@colomiets.name>"
        ];

      };
      "hyper" = rec {
        crateName = "hyper";
        version = "0.14.15";
        edition = "2018";
        sha256 = "0g4mnsacfvj4127587ihm802kzkh6zgs0c3a2mayc82g3q4w0vj3";type = [ "lib" "staticlib" "cdylib" ];
        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;
          }
          {
            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" ];
          "http2" = [ "h2" ];
          "runtime" = [ "tcp" "tokio/rt" ];
          "tcp" = [ "socket2" "tokio/net" "tokio/rt" "tokio/time" ];
        };
        resolvedDefaultFeatures = [ "client" "h2" "http1" "http2" "runtime" "socket2" "tcp" ];
      };
      "hyper-tls" = rec {
        crateName = "hyper-tls";
        version = "0.5.0";
        edition = "2018";
        sha256 = "01crgy13102iagakf6q4mb75dprzr7ps1gj0l5hxm1cvm7gks66n";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
            features = [ "tcp" "client" ];
          }
          {
            name = "native-tls";
            packageId = "native-tls";
          }
          {
            name = "tokio";
            packageId = "tokio";
          }
          {
            name = "tokio-native-tls";
            packageId = "tokio-native-tls";
          }
        ];
        devDependencies = [
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
            features = [ "http1" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-std" "macros" "io-util" ];
          }
        ];
        features = {
          "vendored" = [ "native-tls/vendored" ];
        };
      };
      "idna" = rec {
        crateName = "idna";
        version = "0.2.3";
        edition = "2018";
        sha256 = "1y7ca2w5qp9msgl57n03zqp78gq1bk2crqzg6kv7a542mdphm2j1";
        authors = [
          "The rust-url developers"
        ];
        dependencies = [
          {
            name = "matches";
            packageId = "matches";
          }
          {
            name = "unicode-bidi";
            packageId = "unicode-bidi";
          }
          {
            name = "unicode-normalization";
            packageId = "unicode-normalization";
          }
        ];

      };
      "ignore" = rec {
        crateName = "ignore";
        version = "0.4.18";
        edition = "2018";
        sha256 = "07bmnv96msggqb040z6xqp1p7s8ys0f97b731hp6mybkjc9ingvi";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "crossbeam-utils";
            packageId = "crossbeam-utils";
          }
          {
            name = "globset";
            packageId = "globset";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "memchr";
            packageId = "memchr";
          }
          {
            name = "regex";
            packageId = "regex";
          }
          {
            name = "same-file";
            packageId = "same-file";
          }
          {
            name = "thread_local";
            packageId = "thread_local";
          }
          {
            name = "walkdir";
            packageId = "walkdir";
          }
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: (target."windows" or false);
          }
        ];
        features = {
          "simd-accel" = [ "globset/simd-accel" ];
        };
      };
      "indexmap" = rec {
        crateName = "indexmap";
        version = "1.7.0";
        edition = "2018";
        sha256 = "19b2zwfajhsfcgny0clv8y4jppy704znfhv8nv2dw9a18l2kcqxw";
        authors = [
          "bluss"
          "Josh Stone <cuviper@gmail.com>"
        ];
        dependencies = [
          {
            name = "hashbrown";
            packageId = "hashbrown";
            usesDefaultFeatures = false;
            features = [ "raw" ];
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "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 = {
          "wasm-bindgen" = [ "js-sys" "wasm-bindgen_rs" "web-sys" ];
        };
      };
      "ipnet" = rec {
        crateName = "ipnet";
        version = "2.3.1";
        edition = "2015";
        sha256 = "1ad32j3kkbb0bgf5whzfkdw6843ywr48245dhk7c9gny5r7xdwk8";
        authors = [
          "Kris Price <kris@krisprice.nz>"
        ];

      };
      "itoa" = rec {
        crateName = "itoa";
        version = "0.4.8";
        edition = "2015";
        sha256 = "1m1dairwyx8kfxi7ab3b5jc71z1vigh9w4shnhiajji9avzr26dp";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "jobserver" = rec {
        crateName = "jobserver";
        version = "0.1.24";
        edition = "2018";
        sha256 = "1yn1vxbbqv7dqir6qbfcj8h8ddjf89m5mhvm36h13xx7k5raf9dg";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
        ];

      };
      "js-sys" = rec {
        crateName = "js-sys";
        version = "0.3.55";
        edition = "2018";
        sha256 = "116cg9vn62cl3vifbs6cjdsg7hz98kr7sr8kpy31liccsg6gzjbw";
        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_no_std" = [ "spin" ];
        };
      };
      "libc" = rec {
        crateName = "libc";
        version = "0.2.108";
        edition = "2015";
        sha256 = "06finl0p44lvqyw7s0qgc7bgmdz771gfg6bmmxlyrcbngsss28c5";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "extra_traits" "std" ];
      };
      "libgit2-sys" = rec {
        crateName = "libgit2-sys";
        version = "0.12.25+1.3.0";
        edition = "2018";
        sha256 = "1axsdyb2i67pn85vh8sb2z037n88fiiwqghkzsr1jrcdy2g1cs4g";
        libName = "libgit2_sys";
        libPath = "lib.rs";
        authors = [
          "Josh Triplett <josh@joshtriplett.org>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "libssh2-sys";
            packageId = "libssh2-sys";
            optional = true;
          }
          {
            name = "libz-sys";
            packageId = "libz-sys";
            usesDefaultFeatures = false;
            features = [ "libc" ];
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            optional = true;
            target = { target, features }: (target."unix" or false);
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            features = [ "parallel" ];
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
        ];
        features = {
          "https" = [ "openssl-sys" ];
          "ssh" = [ "libssh2-sys" ];
          "vendored-openssl" = [ "openssl-sys/vendored" ];
          "zlib-ng-compat" = [ "libz-sys/zlib-ng" "libssh2-sys/zlib-ng-compat" ];
        };
        resolvedDefaultFeatures = [ "https" "libssh2-sys" "openssl-sys" "ssh" "ssh_key_from_memory" ];
      };
      "libpijul" = rec {
        crateName = "libpijul";
        version = "1.0.0-alpha.51";
        edition = "2018";
        src = lib.cleanSourceWith { filter = sourceFilter;  src = ./libpijul; };
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "adler32";
            packageId = "adler32";
          }
          {
            name = "aes";
            packageId = "aes";
            features = [ "ctr" ];
          }
          {
            name = "bincode";
            packageId = "bincode";
          }
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "blake3";
            packageId = "blake3";
          }
          {
            name = "bs58";
            packageId = "bs58";
          }
          {
            name = "byteorder";
            packageId = "byteorder";
          }
          {
            name = "canonical-path";
            packageId = "canonical-path";
            optional = true;
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "chrono";
            packageId = "chrono";
            features = [ "serde" ];
          }
          {
            name = "crossbeam-deque";
            packageId = "crossbeam-deque";
          }
          {
            name = "crossbeam-utils";
            packageId = "crossbeam-utils";
          }
          {
            name = "curve25519-dalek";
            packageId = "curve25519-dalek";
            features = [ "serde" ];
          }
          {
            name = "data-encoding";
            packageId = "data-encoding";
          }
          {
            name = "diffs";
            packageId = "diffs";
          }
          {
            name = "ed25519-dalek";
            packageId = "ed25519-dalek";
            features = [ "serde" ];
          }
          {
            name = "encoding_rs";
            packageId = "encoding_rs";
          }
          {
            name = "flate2";
            packageId = "flate2";
            optional = true;
          }
          {
            name = "generic-array";
            packageId = "generic-array";
          }
          {
            name = "hmac";
            packageId = "hmac";
          }
          {
            name = "ignore";
            packageId = "ignore";
            optional = true;
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "lru-cache";
            packageId = "lru-cache";
            optional = true;
          }
          {
            name = "memchr";
            packageId = "memchr";
          }
          {
            name = "nom";
            packageId = "nom";
          }
          {
            name = "parking_lot";
            packageId = "parking_lot";
          }
          {
            name = "path-slash";
            packageId = "path-slash";
            optional = true;
          }
          {
            name = "pbkdf2";
            packageId = "pbkdf2";
            usesDefaultFeatures = false;
          }
          {
            name = "pijul-macros";
            packageId = "pijul-macros";
          }
          {
            name = "rand";
            packageId = "rand 0.7.3";
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.6.3";
            features = [ "getrandom" ];
          }
          {
            name = "regex";
            packageId = "regex";
            optional = true;
          }
          {
            name = "sanakirja";
            packageId = "sanakirja";
            features = [ "crc32" ];
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "sha2";
            packageId = "sha2";
          }
          {
            name = "tar";
            packageId = "tar";
            optional = true;
          }
          {
            name = "tempfile";
            packageId = "tempfile";
            optional = true;
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "tokio";
            packageId = "tokio";
            optional = true;
            features = [ "io-util" ];
          }
          {
            name = "toml";
            packageId = "toml";
          }
          {
            name = "twox-hash";
            packageId = "twox-hash";
          }
          {
            name = "zstd-seekable";
            packageId = "zstd-seekable";
            optional = true;
          }
        ];
        devDependencies = [
          {
            name = "anyhow";
            packageId = "anyhow";
          }
          {
            name = "detone";
            packageId = "detone";
          }
          {
            name = "env_logger";
            packageId = "env_logger";
          }
          {
            name = "quickcheck";
            packageId = "quickcheck";
          }
          {
            name = "quickcheck_macros";
            packageId = "quickcheck_macros";
          }
          {
            name = "rand";
            packageId = "rand 0.7.3";
          }
          {
            name = "rand_chacha";
            packageId = "rand_chacha 0.2.2";
          }
        ];
        features = {
          "default" = [ "ondisk-repos" "text-changes" "dump" ];
          "dump" = [ "tokio" ];
          "mmap" = [ "sanakirja/mmap" ];
          "ondisk-repos" = [ "mmap" "zstd" "ignore" "canonical-path" "lru-cache" "tempfile" "path-slash" ];
          "tarball" = [ "tar" "flate2" ];
          "text-changes" = [ "regex" ];
          "zstd" = [ "zstd-seekable" ];
        };
        resolvedDefaultFeatures = [ "canonical-path" "default" "dump" "flate2" "ignore" "lru-cache" "mmap" "ondisk-repos" "path-slash" "regex" "tar" "tarball" "tempfile" "text-changes" "tokio" "zstd" "zstd-seekable" ];
      };
      "libsodium-sys" = rec {
        crateName = "libsodium-sys";
        version = "0.2.7";
        edition = "2015";
        sha256 = "1zcjka23grayr8kjrgbada6vwagp0kkni9m45v0gpbanrn3r6xvb";
        libName = "libsodium_sys";
        authors = [
          "dnaq"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            target = {target, features}: (!(target."env" == "msvc"));
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = {target, features}: (target."env" == "msvc");
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
          {
            name = "walkdir";
            packageId = "walkdir";
          }
        ];
        features = {
        };
      };
      "libssh2-sys" = rec {
        crateName = "libssh2-sys";
        version = "0.2.23";
        edition = "2015";
        sha256 = "1jplndqhlsygjmsni1ydb4zbw0j5jjr47bmqnjkwif5qnipa755h";
        libName = "libssh2_sys";
        libPath = "lib.rs";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Wez Furlong <wez@wezfurlong.org>"
          "Matteo Bigoi <bigo@crisidev.org>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "libz-sys";
            packageId = "libz-sys";
            usesDefaultFeatures = false;
            features = [ "libc" ];
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            optional = true;
            target = { target, features }: (target."windows" or false);
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
          {
            name = "vcpkg";
            packageId = "vcpkg";
            target = {target, features}: (target."env" == "msvc");
          }
        ];
        features = {
          "openssl-on-win32" = [ "openssl-sys" ];
          "vendored-openssl" = [ "openssl-sys/vendored" ];
          "zlib-ng-compat" = [ "libz-sys/zlib-ng" ];
        };
      };
      "libz-sys" = rec {
        crateName = "libz-sys";
        version = "1.1.3";
        edition = "2015";
        sha256 = "0rpcxkccjn8da9114kvl8hrnrkspzsmdn0qcxlix85lwajw3am6y";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Josh Triplett <josh@joshtriplett.org>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            optional = true;
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
          {
            name = "vcpkg";
            packageId = "vcpkg";
            target = {target, features}: (target."env" == "msvc");
          }
        ];
        features = {
          "default" = [ "libc" "stock-zlib" ];
          "zlib-ng" = [ "libc" "cmake" ];
        };
        resolvedDefaultFeatures = [ "libc" ];
      };
      "linked-hash-map" = rec {
        crateName = "linked-hash-map";
        version = "0.5.4";
        edition = "2015";
        sha256 = "1ww8zsraqnvrsknd315481185igwkx5n14xnhq5i8216z65b7fbz";
        authors = [
          "Stepan Koltsov <stepan.koltsov@gmail.com>"
          "Andrew Paseltiner <apaseltiner@gmail.com>"
        ];
        features = {
          "heapsize_impl" = [ "heapsize" ];
          "serde_impl" = [ "serde" "serde_test" ];
        };
      };
      "lock_api" = rec {
        crateName = "lock_api";
        version = "0.4.5";
        edition = "2018";
        sha256 = "028izfyraynijd9h9x5miv1vmg6sjnw1v95wgm7f4xlr7h4lsaki";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "scopeguard";
            packageId = "scopeguard";
            usesDefaultFeatures = false;
          }
        ];
        features = {
        };
      };
      "log" = rec {
        crateName = "log";
        version = "0.4.14";
        edition = "2015";
        sha256 = "04175hv0v62shd82qydq58a48k3bjijmk54v38zgqlbxqkkbpfai";
        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" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "lru-cache" = rec {
        crateName = "lru-cache";
        version = "0.1.2";
        edition = "2015";
        sha256 = "071viv6g2p3akwqmfb3c8vsycs5n7kr17b70l7la071jv0d4zqii";
        authors = [
          "Stepan Koltsov <stepan.koltsov@gmail.com>"
        ];
        dependencies = [
          {
            name = "linked-hash-map";
            packageId = "linked-hash-map";
          }
        ];
        features = {
          "heapsize_impl" = [ "heapsize" "linked-hash-map/heapsize_impl" ];
        };
      };
      "matches" = rec {
        crateName = "matches";
        version = "0.1.9";
        edition = "2015";
        sha256 = "0gw5ib38jfgyyah8nyyxr036grqv1arkf1srgfa4h386dav7iqx3";
        libPath = "lib.rs";
        authors = [
          "Simon Sapin <simon.sapin@exyr.org>"
        ];

      };
      "md5" = rec {
        crateName = "md5";
        version = "0.7.0";
        edition = "2015";
        sha256 = "0wcps37hrhz59fkhf8di1ppdnqld6l1w5sdy7jp7p51z0i4c8329";
        authors = [
          "Ivan Ukhov <ivan.ukhov@gmail.com>"
          "Kamal Ahmad <shibe@openmailbox.org>"
          "Konstantin Stepanov <milezv@gmail.com>"
          "Lukas Kalbertodt <lukas.kalbertodt@gmail.com>"
          "Nathan Musoke <nathan.musoke@gmail.com>"
          "Scott Mabin <scott@mabez.dev>"
          "Tony Arcieri <bascule@gmail.com>"
          "Wim de With <register@dewith.io>"
          "Yosef Dinerstein <yosefdi@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "memchr" = rec {
        crateName = "memchr";
        version = "2.4.1";
        edition = "2018";
        sha256 = "0smq8xzd40njqpfzv5mghigj91fzlfrfg842iz8x0wqvw2dw731h";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
          "bluss"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "memmap" = rec {
        crateName = "memmap";
        version = "0.7.0";
        edition = "2015";
        sha256 = "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5";
        authors = [
          "Dan Burkert <dan@danburkert.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 = [ "basetsd" "handleapi" "memoryapi" "minwindef" "std" "sysinfoapi" ];
          }
        ];

      };
      "memoffset" = rec {
        crateName = "memoffset";
        version = "0.6.4";
        edition = "2015";
        sha256 = "1yfx2v8kmkhr2d4gwk8ghihdwg73vapn3vvp0im06f0kgx8crb2r";
        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>"
        ];

      };
      "minimal-lexical" = rec {
        crateName = "minimal-lexical";
        version = "0.2.1";
        edition = "2018";
        sha256 = "16ppc5g84aijpri4jzv14rvcnslvlpphbszc7zzp6vfkddf4qdb8";
        authors = [
          "Alex Huszagh <ahuszagh@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "miniz_oxide" = rec {
        crateName = "miniz_oxide";
        version = "0.4.4";
        edition = "2018";
        sha256 = "0jsfv00hl5rmx1nijn59sr9jmjd4rjnjhh4kdjy8d187iklih9d9";
        authors = [
          "Frommi <daniil.liferenko@gmail.com>"
          "oyvindln <oyvindln@users.noreply.github.com>"
        ];
        dependencies = [
          {
            name = "adler";
            packageId = "adler";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "adler/rustc-dep-of-std" ];
        };
      };
      "mio" = rec {
        crateName = "mio";
        version = "0.7.14";
        edition = "2018";
        sha256 = "1k05cah6zdww6i2qc7gaxbbja4ppyjycipl2y0lhiiwpzq2b8rw0";
        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 }: (target."unix" or false);
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "miow";
            packageId = "miow";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "ntapi";
            packageId = "ntapi";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "winsock2" "mswsock" "mstcpip" ];
          }
        ];
        features = {
          "os-ext" = [ "os-poll" ];
          "os-util" = [ "os-ext" ];
          "pipe" = [ "os-ext" ];
          "tcp" = [ "net" ];
          "udp" = [ "net" ];
          "uds" = [ "net" ];
        };
        resolvedDefaultFeatures = [ "default" "net" "os-ext" "os-poll" "os-util" "tcp" "udp" "uds" ];
      };
      "miow" = rec {
        crateName = "miow";
        version = "0.3.7";
        edition = "2018";
        sha256 = "08afp2xfpxmdw003111lxz6g9jgbj4zi2fpldvv7da6d4nqcbwdr";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "std" "fileapi" "handleapi" "ioapiset" "minwindef" "namedpipeapi" "ntdef" "synchapi" "winerror" "winsock2" "ws2def" "ws2ipdef" ];
          }
        ];

      };
      "native-tls" = rec {
        crateName = "native-tls";
        version = "0.2.8";
        edition = "2015";
        sha256 = "0kdj0drgp8cqk3v430c5ac7dfpzvhm1621w96cpz985m35vrzfj8";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
          {
            name = "log";
            packageId = "log";
            target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios")));
          }
          {
            name = "openssl";
            packageId = "openssl";
            target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios")));
          }
          {
            name = "openssl-probe";
            packageId = "openssl-probe";
            target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios")));
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios")));
          }
          {
            name = "schannel";
            packageId = "schannel";
            target = { target, features }: (target."os" == "windows");
          }
          {
            name = "security-framework";
            packageId = "security-framework";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
          {
            name = "security-framework-sys";
            packageId = "security-framework-sys";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
          {
            name = "tempfile";
            packageId = "tempfile";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
        ];
        devDependencies = [
          {
            name = "tempfile";
            packageId = "tempfile";
          }
        ];
        features = {
          "alpn" = [ "security-framework/alpn" ];
          "vendored" = [ "openssl/vendored" ];
        };
      };
      "nix" = rec {
        crateName = "nix";
        version = "0.23.0";
        edition = "2018";
        sha256 = "121iqjqk9k4m892z5m41czh0q1zraysmzxhbpzvq56n3wk1c41gk";
        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";
            target = { target, features }: (!(target."os" == "redox"));
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            target = {target, features}: (target."os" == "dragonfly");
          }
        ];

      };
      "nom" = rec {
        crateName = "nom";
        version = "7.1.0";
        edition = "2018";
        sha256 = "0281jdx0xcyhjgs1jkj9pii8py1clcpazg41bgz7d71qxzhi278v";
        authors = [
          "contact@geoffroycouprie.com"
        ];
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
          {
            name = "minimal-lexical";
            packageId = "minimal-lexical";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" "memchr/std" "minimal-lexical/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "ntapi" = rec {
        crateName = "ntapi";
        version = "0.3.6";
        edition = "2018";
        sha256 = "0i5daj9sr8wyi5jkpwpybln2jqpn59z0mqfc0dpdidipwh1bjsrz";
        authors = [
          "MSxDOS <melcodos@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "cfg" "evntrace" "in6addr" "inaddr" "minwinbase" "ntsecapi" "windef" "winioctl" ];
          }
        ];
        features = {
          "default" = [ "user" ];
          "impl-default" = [ "winapi/impl-default" ];
        };
        resolvedDefaultFeatures = [ "default" "user" ];
      };
      "num-bigint" = rec {
        crateName = "num-bigint";
        version = "0.4.3";
        edition = "2018";
        sha256 = "0py73wsa5j4izhd39nkqzqv260r0ma08vy30ky54ld3vkhlbcfpr";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "num-integer";
            packageId = "num-integer";
            usesDefaultFeatures = false;
            features = [ "i128" ];
          }
          {
            name = "num-traits";
            packageId = "num-traits";
            usesDefaultFeatures = false;
            features = [ "i128" ];
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "num-integer/std" "num-traits/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "num-integer" = rec {
        crateName = "num-integer";
        version = "0.1.44";
        edition = "2015";
        sha256 = "1nq152y3304as1iai95hqz8prqnc94lks1s7q05sfjdmcf56kk6j";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "num-traits";
            packageId = "num-traits";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "i128" = [ "num-traits/i128" ];
          "std" = [ "num-traits/std" ];
        };
        resolvedDefaultFeatures = [ "default" "i128" "std" ];
      };
      "num-traits" = rec {
        crateName = "num-traits";
        version = "0.2.14";
        edition = "2015";
        sha256 = "144j176s2p76azy2ngk2vkdzgwdc0bc8c93jhki8c9fsbknb2r4s";
        authors = [
          "The Rust Project Developers"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "i128" "std" ];
      };
      "num_cpus" = rec {
        crateName = "num_cpus";
        version = "1.13.0";
        edition = "2015";
        sha256 = "1cv6yxhz2zbnwn8pn1yn8grg7zsnd523947fby41a737aqvryj85";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "hermit-abi";
            packageId = "hermit-abi";
            target = { target, features }: (((target."arch" == "x86_64") || (target."arch" == "aarch64")) && (target."os" == "hermit"));
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];

      };
      "object" = rec {
        crateName = "object";
        version = "0.27.1";
        edition = "2018";
        sha256 = "1ygv9zgi9wz6q5f2z9xn72i0c97jjr1dgj30kbyicdhxk8zivb37";
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "all" = [ "read" "write" "std" "compression" "wasm" ];
          "compression" = [ "flate2" "std" ];
          "default" = [ "read" "compression" ];
          "doc" = [ "read_core" "write_core" "std" "compression" "archive" "coff" "elf" "macho" "pe" "wasm" ];
          "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" ];
          "write" = [ "write_core" "coff" "elf" "macho" "pe" ];
          "write_core" = [ "crc32fast" "indexmap/std" "std" ];
        };
        resolvedDefaultFeatures = [ "archive" "coff" "elf" "macho" "pe" "read_core" "unaligned" ];
      };
      "once_cell" = rec {
        crateName = "once_cell";
        version = "1.8.0";
        edition = "2018";
        sha256 = "0mkbbxg6416z11r2yzsq91cqrkj9w1iyx5hakq15h5sbnriwnbv9";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        features = {
          "alloc" = [ "race" ];
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "race" "std" ];
      };
      "opaque-debug" = rec {
        crateName = "opaque-debug";
        version = "0.3.0";
        edition = "2018";
        sha256 = "1m8kzi4nd6shdqimn0mgb24f0hxslhnqd1whakyq06wcqd086jk2";
        authors = [
          "RustCrypto Developers"
        ];

      };
      "openssl" = rec {
        crateName = "openssl";
        version = "0.10.38";
        edition = "2018";
        sha256 = "15baqlphisr1f7ddq11jnrrzz4shdh35kwal24adyc2c4cif4yhc";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "foreign-types";
            packageId = "foreign-types";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "once_cell";
            packageId = "once_cell";
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            rename = "ffi";
          }
        ];
        features = {
          "vendored" = [ "ffi/vendored" ];
        };
      };
      "openssl-probe" = rec {
        crateName = "openssl-probe";
        version = "0.1.4";
        edition = "2015";
        sha256 = "0nmrvlrza9ya23kgzmsgfc17f9pxajdxk25cwsk9aq5p5a3qv618";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];

      };
      "openssl-sys" = rec {
        crateName = "openssl-sys";
        version = "0.9.71";
        edition = "2015";
        sha256 = "0wscz8aqw4n6166sklz9fj5832iz2dpplxd4cfrhjyb0bqb3vwbx";
        build = "build/main.rs";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Steven Fackler <sfackler@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
          {
            name = "cc";
            packageId = "cc";
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
          {
            name = "vcpkg";
            packageId = "vcpkg";
            target = {target, features}: (target."env" == "msvc");
          }
        ];
        features = {
          "vendored" = [ "openssl-src" ];
        };
      };
      "os_str_bytes" = rec {
        crateName = "os_str_bytes";
        version = "4.2.0";
        edition = "2018";
        sha256 = "16d70qzd2g18i28i6znjcpck0r9hjd5gz5qcr1cl2l9s6d1sknmd";
        authors = [
          "dylni"
        ];
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
        ];
        features = {
          "default" = [ "memchr" "raw_os_str" ];
        };
        resolvedDefaultFeatures = [ "default" "memchr" "raw_os_str" ];
      };
      "os_type" = rec {
        crateName = "os_type";
        version = "2.3.0";
        edition = "2015";
        sha256 = "146zx5mh84n5p2xhlwb8b75wbkqw87fvb87n3adl44lz5pifpsln";
        authors = [
          "Jan Schulte <janschulte@fastmail.com>"
        ];
        dependencies = [
          {
            name = "regex";
            packageId = "regex";
          }
        ];

      };
      "pager" = rec {
        crateName = "pager";
        version = "0.16.0";
        edition = "2018";
        sha256 = "0s0r95q3jfbh2c3paab2bpl158lyaq35xnzy1x7mrdfhy26d1iq5";
        authors = [
          "Cyril Plisko <cyril.plisko@mountall.com>"
        ];
        dependencies = [
          {
            name = "errno";
            packageId = "errno";
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
        };
      };
      "parking_lot" = rec {
        crateName = "parking_lot";
        version = "0.11.2";
        edition = "2018";
        sha256 = "16gzf41bxmm10x82bla8d6wfppy9ym3fxsmdjyvn61m66s0bf5vx";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "instant";
            packageId = "instant";
          }
          {
            name = "lock_api";
            packageId = "lock_api";
          }
          {
            name = "parking_lot_core";
            packageId = "parking_lot_core";
          }
        ];
        features = {
          "arc_lock" = [ "lock_api/arc_lock" ];
          "deadlock_detection" = [ "parking_lot_core/deadlock_detection" ];
          "nightly" = [ "parking_lot_core/nightly" "lock_api/nightly" ];
          "owning_ref" = [ "lock_api/owning_ref" ];
          "serde" = [ "lock_api/serde" ];
          "stdweb" = [ "instant/stdweb" ];
          "wasm-bindgen" = [ "instant/wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "parking_lot_core" = rec {
        crateName = "parking_lot_core";
        version = "0.8.5";
        edition = "2018";
        sha256 = "05ij4zxsylx99srbq8qd1k2wiwaq8krkf9y4cqkhvb5wjca8wvnp";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "instant";
            packageId = "instant";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
            target = { target, features }: (target."os" == "redox");
          }
          {
            name = "smallvec";
            packageId = "smallvec";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "winnt" "ntstatus" "minwindef" "winerror" "winbase" "errhandlingapi" "handleapi" ];
          }
        ];
        features = {
          "deadlock_detection" = [ "petgraph" "thread-id" "backtrace" ];
        };
      };
      "password-hash" = rec {
        crateName = "password-hash";
        version = "0.2.3";
        edition = "2018";
        sha256 = "1rr4kd52ld978a2xhcvlc54p1d92yhxl9kvbajba7ia6rs5b5q3p";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "base64ct";
            packageId = "base64ct";
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.6.3";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "subtle";
            packageId = "subtle";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "base64ct/alloc" ];
          "default" = [ "rand_core" ];
          "std" = [ "alloc" "base64ct/std" "rand_core/std" ];
        };
        resolvedDefaultFeatures = [ "rand_core" ];
      };
      "path-slash" = rec {
        crateName = "path-slash";
        version = "0.1.4";
        edition = "2018";
        sha256 = "06dnnmd3fvmr9ngwgj0xrfj9s8h09m9dgf3zlqsbalzk9wybpb1w";
        authors = [
          "rhysd <https://rhysd.github.io>"
        ];

      };
      "pbkdf2" = rec {
        crateName = "pbkdf2";
        version = "0.8.0";
        edition = "2018";
        sha256 = "1ykgicvyjm41701mzqhrfmiz5sm5y0zwfg6csaapaqaf49a54pyr";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "base64ct";
            packageId = "base64ct";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "crypto-mac";
            packageId = "crypto-mac";
          }
          {
            name = "hmac";
            packageId = "hmac";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "password-hash";
            packageId = "password-hash";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "rand_core" ];
          }
          {
            name = "sha2";
            packageId = "sha2";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        devDependencies = [
          {
            name = "hmac";
            packageId = "hmac";
          }
          {
            name = "sha2";
            packageId = "sha2";
          }
        ];
        features = {
          "default" = [ "simple" ];
          "parallel" = [ "rayon" "std" ];
          "simple" = [ "sha2" "hmac" "password-hash" "base64ct" ];
          "std" = [ "password-hash/std" ];
        };
        resolvedDefaultFeatures = [ "base64ct" "default" "hmac" "password-hash" "sha2" "simple" ];
      };
      "percent-encoding" = rec {
        crateName = "percent-encoding";
        version = "2.1.0";
        edition = "2015";
        sha256 = "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl";
        libPath = "lib.rs";
        authors = [
          "The rust-url developers"
        ];

      };
      "pijul" = rec {
        crateName = "pijul";
        version = "1.0.0-alpha.56";
        edition = "2018";
        crateBin = [
          { name = "pijul"; path = "src/main.rs"; }
        ];
        src = lib.cleanSourceWith { filter = sourceFilter;  src = ./pijul; };
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "anyhow";
            packageId = "anyhow";
          }
          {
            name = "atty";
            packageId = "atty";
          }
          {
            name = "byteorder";
            packageId = "byteorder";
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "canonical-path";
            packageId = "canonical-path";
          }
          {
            name = "chrono";
            packageId = "chrono";
          }
          {
            name = "clap";
            packageId = "clap";
          }
          {
            name = "ctrlc";
            packageId = "ctrlc";
          }
          {
            name = "data-encoding";
            packageId = "data-encoding";
          }
          {
            name = "dirs-next";
            packageId = "dirs-next";
          }
          {
            name = "edit";
            packageId = "edit";
          }
          {
            name = "env_logger";
            packageId = "env_logger";
          }
          {
            name = "fs2";
            packageId = "fs2";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "futures-util";
            packageId = "futures-util";
          }
          {
            name = "git2";
            packageId = "git2";
            optional = true;
          }
          {
            name = "human-panic";
            packageId = "human-panic";
          }
          {
            name = "ignore";
            packageId = "ignore";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "libpijul";
            packageId = "libpijul";
            features = [ "tarball" ];
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "num_cpus";
            packageId = "num_cpus";
          }
          {
            name = "pager";
            packageId = "pager";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "path-slash";
            packageId = "path-slash";
          }
          {
            name = "rand";
            packageId = "rand 0.8.4";
          }
          {
            name = "regex";
            packageId = "regex";
          }
          {
            name = "reqwest";
            packageId = "reqwest";
            features = [ "stream" "json" ];
          }
          {
            name = "rlimit";
            packageId = "rlimit";
          }
          {
            name = "rpassword";
            packageId = "rpassword";
          }
          {
            name = "sanakirja";
            packageId = "sanakirja";
            features = [ "crc32" ];
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "termcolor";
            packageId = "termcolor";
          }
          {
            name = "terminal_size";
            packageId = "terminal_size";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "thrussh";
            packageId = "thrussh";
          }
          {
            name = "thrussh-config";
            packageId = "thrussh-config";
          }
          {
            name = "thrussh-keys";
            packageId = "thrussh-keys";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "rt-multi-thread" "macros" "sync" "fs" ];
          }
          {
            name = "toml";
            packageId = "toml";
          }
          {
            name = "url";
            packageId = "url";
          }
          {
            name = "whoami";
            packageId = "whoami 0.9.0";
          }
        ];
        features = {
          "default" = [ "keep-changes" "openssl" ];
          "git" = [ "git2" ];
          "openssl" = [ "thrussh/openssl" "thrussh-keys/openssl" ];
        };
        resolvedDefaultFeatures = [ "default" "git" "git2" "keep-changes" "openssl" ];
      };
      "pijul-macros" = rec {
        crateName = "pijul-macros";
        version = "0.4.0";
        edition = "2018";
        src = lib.cleanSourceWith { filter = sourceFilter;  src = ./pijul-macros; };
        procMacro = true;
        authors = [
          "Pierre-Étienne Meunier <pmeunier@mailbox.org>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "regex";
            packageId = "regex";
          }
          {
            name = "syn";
            packageId = "syn";
          }
        ];

      };
      "pin-project-lite" = rec {
        crateName = "pin-project-lite";
        version = "0.2.7";
        edition = "2018";
        sha256 = "0hwl8iyx3h9i3i3jr2vqj07nf4ay1v1w1ga29cbjmdd6d4fd2ccd";
        authors = [
          "Taiki Endo <te316e89@gmail.com>"
        ];

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

      };
      "pkg-config" = rec {
        crateName = "pkg-config";
        version = "0.3.22";
        edition = "2015";
        sha256 = "07vy6mn0q6k2adrs7min3rpy999q7kprph0vb1414iwlybs5sa8j";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];

      };
      "ppv-lite86" = rec {
        crateName = "ppv-lite86";
        version = "0.2.15";
        edition = "2018";
        sha256 = "1fimwnyyh3wx33r5s77lw5g5vcxhw1p5j60pdvbbwr8l374gn37d";
        authors = [
          "The CryptoCorrosion Contributors"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "simd" "std" ];
      };
      "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";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
          "default" = [ "syn-error" ];
          "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";
          }
          {
            name = "quote";
            packageId = "quote";
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];

      };
      "proc-macro2" = rec {
        crateName = "proc-macro2";
        version = "1.0.32";
        edition = "2018";
        sha256 = "0hqbxlvhiaybakl1gai3mgps1dxsmxricxsr2rfdrh222z0qql5s";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "unicode-xid";
            packageId = "unicode-xid";
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "quickcheck" = rec {
        crateName = "quickcheck";
        version = "1.0.3";
        edition = "2018";
        sha256 = "1mjhkfqwrb8mdyxdqr4zzbj1rm5dfx25n9zcc25lb6fxwiw673sq";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "env_logger";
            packageId = "env_logger";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "log";
            packageId = "log";
            optional = true;
          }
          {
            name = "rand";
            packageId = "rand 0.8.4";
            usesDefaultFeatures = false;
            features = [ "getrandom" "small_rng" ];
          }
        ];
        features = {
          "default" = [ "regex" "use_logging" ];
          "regex" = [ "env_logger/regex" ];
          "use_logging" = [ "log" "env_logger" ];
        };
        resolvedDefaultFeatures = [ "default" "env_logger" "log" "regex" "use_logging" ];
      };
      "quickcheck_macros" = rec {
        crateName = "quickcheck_macros";
        version = "1.0.0";
        edition = "2015";
        sha256 = "1s8nh0fmmzq3fd7928qcp2syvymlyv1pmww6fxcaj5np48r6jamj";
        procMacro = true;
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
        ];

      };
      "quote" = rec {
        crateName = "quote";
        version = "1.0.10";
        edition = "2018";
        sha256 = "01ff7a76f871ggnby57iagw6499vci4bihcr11g6bqzjlp38rg1q";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
          "proc-macro" = [ "proc-macro2/proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "rand 0.7.3" = rec {
        crateName = "rand";
        version = "0.7.3";
        edition = "2018";
        sha256 = "00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom 0.1.16";
            rename = "getrandom_package";
            optional = true;
          }
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "rand_chacha";
            packageId = "rand_chacha 0.2.2";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."os" == "emscripten"));
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.5.1";
          }
          {
            name = "rand_hc";
            packageId = "rand_hc 0.2.0";
            target = { target, features }: (target."os" == "emscripten");
          }
        ];
        devDependencies = [
          {
            name = "rand_hc";
            packageId = "rand_hc 0.2.0";
          }
        ];
        features = {
          "alloc" = [ "rand_core/alloc" ];
          "default" = [ "std" ];
          "getrandom" = [ "getrandom_package" "rand_core/getrandom" ];
          "nightly" = [ "simd_support" ];
          "simd_support" = [ "packed_simd" ];
          "small_rng" = [ "rand_pcg" ];
          "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ];
          "stdweb" = [ "getrandom_package/stdweb" ];
          "wasm-bindgen" = [ "getrandom_package/wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "getrandom_package" "libc" "std" ];
      };
      "rand 0.8.4" = rec {
        crateName = "rand";
        version = "0.8.4";
        edition = "2018";
        sha256 = "1n5wska2fbfj4dsfz8mc0pd0dgjlrb6c9anpk5mwym345rip6x9f";
        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 0.3.1";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."os" == "emscripten"));
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.6.3";
          }
          {
            name = "rand_hc";
            packageId = "rand_hc 0.3.1";
            optional = true;
            target = { target, features }: (target."os" == "emscripten");
          }
        ];
        devDependencies = [
          {
            name = "rand_hc";
            packageId = "rand_hc 0.3.1";
          }
        ];
        features = {
          "alloc" = [ "rand_core/alloc" ];
          "default" = [ "std" "std_rng" ];
          "getrandom" = [ "rand_core/getrandom" ];
          "serde1" = [ "serde" "rand_core/serde1" ];
          "simd_support" = [ "packed_simd" ];
          "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ];
          "std_rng" = [ "rand_chacha" "rand_hc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "libc" "rand_chacha" "rand_hc" "small_rng" "std" "std_rng" ];
      };
      "rand_chacha 0.2.2" = rec {
        crateName = "rand_chacha";
        version = "0.2.2";
        edition = "2018";
        sha256 = "00il36fkdbsmpr99p9ksmmp6dn1md7rmnwmz0rr77jbrca2yvj7l";
        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.5.1";
          }
        ];
        features = {
          "default" = [ "std" "simd" ];
          "std" = [ "ppv-lite86/std" ];
        };
        resolvedDefaultFeatures = [ "default" "simd" "std" ];
      };
      "rand_chacha 0.3.1" = 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.3";
          }
        ];
        features = {
          "default" = [ "std" ];
          "serde1" = [ "serde" ];
          "std" = [ "ppv-lite86/std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "rand_core 0.5.1" = rec {
        crateName = "rand_core";
        version = "0.5.1";
        edition = "2018";
        sha256 = "06bdvx08v3rkz451cm7z59xwwqn1rkfh6v9ay77b14f8dwlybgch";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom 0.1.16";
            optional = true;
          }
        ];
        features = {
          "serde1" = [ "serde" ];
          "std" = [ "alloc" "getrandom" "getrandom/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ];
      };
      "rand_core 0.6.3" = rec {
        crateName = "rand_core";
        version = "0.6.3";
        edition = "2018";
        sha256 = "1rxlxc3bpzgwphcg9c9yasvv9idipcg2z2y4j0vlb52jyl418kyk";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom 0.2.3";
            optional = true;
          }
        ];
        features = {
          "serde1" = [ "serde" ];
          "std" = [ "alloc" "getrandom" "getrandom/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ];
      };
      "rand_hc 0.2.0" = rec {
        crateName = "rand_hc";
        version = "0.2.0";
        edition = "2018";
        sha256 = "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "rand_core";
            packageId = "rand_core 0.5.1";
          }
        ];

      };
      "rand_hc 0.3.1" = rec {
        crateName = "rand_hc";
        version = "0.3.1";
        edition = "2018";
        sha256 = "1rwpykyvhkxs4jvqdja3mzp9dqaqamzn113cxaigs9z2dmcry7nm";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "rand_core";
            packageId = "rand_core 0.6.3";
          }
        ];

      };
      "redox_syscall" = rec {
        crateName = "redox_syscall";
        version = "0.2.10";
        edition = "2018";
        sha256 = "1zq36bhw4c6xig340ja1jmr36iy0d3djp8smsabxx71676bg70w3";
        libName = "syscall";
        authors = [
          "Jeremy Soller <jackpot51@gmail.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
        ];

      };
      "redox_users" = rec {
        crateName = "redox_users";
        version = "0.4.0";
        edition = "2018";
        sha256 = "0r5y1a26flkn6gkayi558jg5dzh2m2fdsapgkpn7mj01v3rk51aj";
        authors = [
          "Jose Narvaez <goyox86@gmail.com>"
          "Wesley Hershberger <mggmugginsmc@gmail.com>"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom 0.2.3";
            features = [ "std" ];
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
          }
        ];
        features = {
          "auth" = [ "rust-argon2" ];
          "default" = [ "auth" ];
        };
      };
      "regex" = rec {
        crateName = "regex";
        version = "1.5.4";
        edition = "2018";
        sha256 = "0qf479kjbmb582h4d1d6gfl75h0j8aq2nrdi5wg6zdcy6llqcynh";
        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 = {
          "default" = [ "std" "perf" "unicode" "regex-syntax/default" ];
          "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.25";
        edition = "2018";
        sha256 = "16y87hz1bxmmz6kk360cxwfm3jnbsxb3x4zw9x1gzz7khic2i5zl";
        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" ];
          }
        ];

      };
      "reqwest" = rec {
        crateName = "reqwest";
        version = "0.11.6";
        edition = "2018";
        sha256 = "1072nlhfybl1yl8dsfhmpdx9xllh8s1w82k2zkqgm1gnl9y95lk6";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "base64";
            packageId = "base64";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "encoding_rs";
            packageId = "encoding_rs";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."arch" == "wasm32"));
            features = [ "tcp" "http1" "http2" "client" "runtime" ];
          }
          {
            name = "hyper-tls";
            packageId = "hyper-tls";
            optional = true;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "ipnet";
            packageId = "ipnet";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "js-sys";
            packageId = "js-sys";
            target = { target, features }: (target."arch" == "wasm32");
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "log";
            packageId = "log";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "mime";
            packageId = "mime";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "native-tls";
            packageId = "native-tls";
            rename = "native-tls-crate";
            optional = true;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_json";
            packageId = "serde_json";
            optional = true;
          }
          {
            name = "serde_json";
            packageId = "serde_json";
            target = { target, features }: (target."arch" == "wasm32");
          }
          {
            name = "serde_urlencoded";
            packageId = "serde_urlencoded";
          }
          {
            name = "tokio";
            packageId = "tokio";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."arch" == "wasm32"));
            features = [ "net" "time" ];
          }
          {
            name = "tokio-native-tls";
            packageId = "tokio-native-tls";
            optional = true;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "url";
            packageId = "url";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
            target = { target, features }: (target."arch" == "wasm32");
          }
          {
            name = "wasm-bindgen-futures";
            packageId = "wasm-bindgen-futures";
            target = { target, features }: (target."arch" == "wasm32");
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            target = { target, features }: (target."arch" == "wasm32");
            features = [ "Headers" "Request" "RequestInit" "RequestMode" "Response" "Window" "FormData" "Blob" "BlobPropertyBag" "ServiceWorkerGlobalScope" "RequestCredentials" ];
          }
          {
            name = "winreg";
            packageId = "winreg";
            target = { target, features }: (target."windows" or false);
          }
        ];
        devDependencies = [
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
            target = {target, features}: (!(target."arch" == "wasm32"));
            features = [ "tcp" "stream" "http1" "http2" "client" "server" "runtime" ];
          }
          {
            name = "serde";
            packageId = "serde";
            target = {target, features}: (!(target."arch" == "wasm32"));
            features = [ "derive" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            usesDefaultFeatures = false;
            target = {target, features}: (!(target."arch" == "wasm32"));
            features = [ "macros" "rt-multi-thread" ];
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
            target = {target, features}: (target."arch" == "wasm32");
            features = [ "serde-serialize" ];
          }
        ];
        features = {
          "__rustls" = [ "hyper-rustls" "tokio-rustls" "rustls" "__tls" ];
          "blocking" = [ "futures-util/io" "tokio/rt-multi-thread" "tokio/sync" ];
          "brotli" = [ "async-compression" "async-compression/brotli" "tokio-util" ];
          "cookies" = [ "cookie_crate" "cookie_store" "time" ];
          "default" = [ "default-tls" ];
          "default-tls" = [ "hyper-tls" "native-tls-crate" "__tls" "tokio-native-tls" ];
          "deflate" = [ "async-compression" "async-compression/zlib" "tokio-util" ];
          "gzip" = [ "async-compression" "async-compression/gzip" "tokio-util" ];
          "json" = [ "serde_json" ];
          "multipart" = [ "mime_guess" ];
          "native-tls" = [ "default-tls" ];
          "native-tls-alpn" = [ "native-tls" "native-tls-crate/alpn" ];
          "native-tls-vendored" = [ "native-tls" "native-tls-crate/vendored" ];
          "rustls-tls" = [ "rustls-tls-webpki-roots" ];
          "rustls-tls-manual-roots" = [ "__rustls" ];
          "rustls-tls-native-roots" = [ "rustls-native-certs" "__rustls" ];
          "rustls-tls-webpki-roots" = [ "webpki-roots" "__rustls" ];
          "socks" = [ "tokio-socks" ];
          "trust-dns" = [ "trust-dns-resolver" ];
        };
        resolvedDefaultFeatures = [ "__tls" "default" "default-tls" "hyper-tls" "json" "native-tls-crate" "serde_json" "stream" "tokio-native-tls" ];
      };
      "rlimit" = rec {
        crateName = "rlimit";
        version = "0.6.2";
        edition = "2018";
        sha256 = "09hpr6dfrx7xzlps7g25akqp2p32190vhcj3ymid6vrpaiaz42yc";
        authors = [
          "Nugine <nugine@foxmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];

      };
      "rpassword" = rec {
        crateName = "rpassword";
        version = "5.0.1";
        edition = "2015";
        sha256 = "1yry1kmgjcb4qd5wak91203493x42ak3dz9hy1c0r9kyib7kdjgz";
        authors = [
          "Conrad Kleinespel <conradk@conradk.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 = [ "std" "winnt" "fileapi" "processenv" "winbase" "handleapi" "consoleapi" "minwindef" "wincon" ];
          }
        ];

      };
      "rustc-demangle" = rec {
        crateName = "rustc-demangle";
        version = "0.1.21";
        edition = "2015";
        sha256 = "0hn3xyd2n3bg3jnc5a5jbzll32n4r5a65bqzs287l30m5c53xw3y";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "ryu" = rec {
        crateName = "ryu";
        version = "1.0.5";
        edition = "2018";
        sha256 = "0vpqv1dj7fksa6hm3zpk5rbsjs0ifbfy7xwzsyyil0rx37a03lvi";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
        };
      };
      "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);
          }
        ];

      };
      "sanakirja" = rec {
        crateName = "sanakirja";
        version = "1.2.13";
        edition = "2018";
        sha256 = "15pmmlf6zcx337515nx1ixaj0qb21snlbfdfxq5fld0cbnqy1gn5";
        authors = [
          "Pierre-Étienne Meunier"
        ];
        dependencies = [
          {
            name = "crc32fast";
            packageId = "crc32fast";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "fs2";
            packageId = "fs2";
            optional = true;
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            optional = true;
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "memmap";
            packageId = "memmap";
            optional = true;
          }
          {
            name = "parking_lot";
            packageId = "parking_lot";
          }
          {
            name = "sanakirja-core";
            packageId = "sanakirja-core";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
        ];
        features = {
          "crc32" = [ "crc32fast" "lazy_static" "sanakirja-core/crc32" ];
          "default" = [ "mmap" ];
          "ed25519" = [ "sanakirja-core/ed25519" ];
          "mmap" = [ "memmap" "fs2" ];
          "std" = [ "sanakirja-core/std" ];
          "uuid" = [ "sanakirja-core/uuid" ];
        };
        resolvedDefaultFeatures = [ "crc32" "crc32fast" "default" "fs2" "lazy_static" "memmap" "mmap" ];
      };
      "sanakirja-core" = rec {
        crateName = "sanakirja-core";
        version = "1.2.16";
        edition = "2018";
        crateBin = [];
        sha256 = "1asm3ss02ngrpbrvjwgvivq380k5diib3sbgsbvqaj2w8mr3wdak";
        authors = [
          "Pierre-Étienne Meunier"
          "Florent Becker"
        ];
        dependencies = [
          {
            name = "crc32fast";
            packageId = "crc32fast";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "crc32" = [ "crc32fast" ];
          "ed25519" = [ "ed25519-zebra" "ed25519-zebra/serde" ];
        };
        resolvedDefaultFeatures = [ "crc32" "crc32fast" ];
      };
      "schannel" = rec {
        crateName = "schannel";
        version = "0.1.19";
        edition = "2015";
        sha256 = "0xdwr3clrylywpv2r5hw7mrxmsf7ljagwiymw2z60ki3kihbl1cg";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
          "Steffen Butzer <steffen.butzer@outlook.com>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "lmcons" "minschannel" "securitybaseapi" "schannel" "sspi" "sysinfoapi" "timezoneapi" "winbase" "wincrypt" "winerror" ];
          }
        ];

      };
      "scopeguard" = rec {
        crateName = "scopeguard";
        version = "1.1.0";
        edition = "2015";
        sha256 = "1kbqm85v43rq92vx7hfiay6pmcga03vrjbbfwqpyj3pwsg3b16nj";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "use_std" ];
        };
      };
      "security-framework" = rec {
        crateName = "security-framework";
        version = "2.4.2";
        edition = "2018";
        sha256 = "11vwvw2qnrf1z8i0ncbj9456vxwnwq9wyi9c2n6rkqd2znmw2nsj";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
          "Kornel <kornel@geekhood.net>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "core-foundation";
            packageId = "core-foundation";
          }
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "security-framework-sys";
            packageId = "security-framework-sys";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "OSX_10_10" = [ "OSX_10_9" "security-framework-sys/OSX_10_10" ];
          "OSX_10_11" = [ "OSX_10_10" "security-framework-sys/OSX_10_11" ];
          "OSX_10_12" = [ "OSX_10_11" "security-framework-sys/OSX_10_12" ];
          "OSX_10_13" = [ "OSX_10_12" "security-framework-sys/OSX_10_13" "alpn" "session-tickets" "serial-number-bigint" ];
          "OSX_10_14" = [ "OSX_10_13" "security-framework-sys/OSX_10_14" ];
          "OSX_10_9" = [ "security-framework-sys/OSX_10_9" ];
          "default" = [ "OSX_10_9" ];
          "serial-number-bigint" = [ "num-bigint" ];
        };
        resolvedDefaultFeatures = [ "OSX_10_9" "default" ];
      };
      "security-framework-sys" = rec {
        crateName = "security-framework-sys";
        version = "2.4.2";
        edition = "2018";
        sha256 = "0zlwc46mb7zkm4ngq5qv52zczvvk0l8kjr6npyvjidb067c19pd9";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
          "Kornel <kornel@geekhood.net>"
        ];
        dependencies = [
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "OSX_10_10" = [ "OSX_10_9" ];
          "OSX_10_11" = [ "OSX_10_10" ];
          "OSX_10_12" = [ "OSX_10_11" ];
          "OSX_10_13" = [ "OSX_10_12" ];
          "OSX_10_14" = [ "OSX_10_13" ];
          "default" = [ "OSX_10_9" ];
        };
        resolvedDefaultFeatures = [ "OSX_10_9" "default" ];
      };
      "serde" = rec {
        crateName = "serde";
        version = "1.0.130";
        edition = "2015";
        sha256 = "04y9s1mxcxakg9bhfdiff9w4zzprk6m6dazcpmpi8nfg6zg0cbgi";
        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" ];
        };
        resolvedDefaultFeatures = [ "default" "derive" "serde_derive" "std" ];
      };
      "serde_bytes" = rec {
        crateName = "serde_bytes";
        version = "0.11.5";
        edition = "2018";
        sha256 = "1fcb6sw8wkrj4ylm118wkb31hw124nkjnqyhbgqnd8w85zfhgbhn";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "serde/alloc" ];
          "default" = [ "std" ];
          "std" = [ "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "serde_derive" = rec {
        crateName = "serde_derive";
        version = "1.0.130";
        edition = "2015";
        sha256 = "12shxhi47db54i4j44ic2nl299x5p89ngna0w3m6854nn4d1mg6p";
        procMacro = true;
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "serde_json" = rec {
        crateName = "serde_json";
        version = "1.0.71";
        edition = "2018";
        sha256 = "06gv3gb3mr9jxdy62dxll5ysaq7f4jbh0j8a0hjaq4a0lrkg8fq6";
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "itoa";
            packageId = "itoa";
            usesDefaultFeatures = false;
          }
          {
            name = "ryu";
            packageId = "ryu";
          }
          {
            name = "serde";
            packageId = "serde";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "serde/alloc" ];
          "default" = [ "std" ];
          "preserve_order" = [ "indexmap" ];
          "std" = [ "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "serde_urlencoded" = rec {
        crateName = "serde_urlencoded";
        version = "0.7.0";
        edition = "2018";
        sha256 = "1s9wnjrak5a0igfhcghhz51kvi7n010j5rs9lmhd5hfrz2kmgypd";
        authors = [
          "Anthony Ramine <n.oxyde@gmail.com>"
        ];
        dependencies = [
          {
            name = "form_urlencoded";
            packageId = "form_urlencoded";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "ryu";
            packageId = "ryu";
          }
          {
            name = "serde";
            packageId = "serde";
          }
        ];

      };
      "sha2" = rec {
        crateName = "sha2";
        version = "0.9.8";
        edition = "2018";
        sha256 = "1ypm6d7536j0l868x5cai84ahpsjz53yblizm9dlrms0jx69m7xn";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "block-buffer";
            packageId = "block-buffer";
          }
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "cpufeatures";
            packageId = "cpufeatures";
            target = { target, features }: ((target."arch" == "aarch64") || (target."arch" == "x86_64") || (target."arch" == "x86"));
          }
          {
            name = "digest";
            packageId = "digest";
          }
          {
            name = "opaque-debug";
            packageId = "opaque-debug";
          }
        ];
        devDependencies = [
          {
            name = "digest";
            packageId = "digest";
            features = [ "dev" ];
          }
        ];
        features = {
          "asm" = [ "sha2-asm" ];
          "asm-aarch64" = [ "asm" ];
          "default" = [ "std" ];
          "std" = [ "digest/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "signal-hook-registry" = rec {
        crateName = "signal-hook-registry";
        version = "1.4.0";
        edition = "2015";
        sha256 = "1c2mhijg54y6c1zi4630yki1vpq3z96ljfnsrdy0rb64ilr767p5";
        authors = [
          "Michal 'vorner' Vaner <vorner@vorner.cz>"
          "Masaki Hara <ackie.h.gmai@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];

      };
      "signature" = rec {
        crateName = "signature";
        version = "1.4.0";
        edition = "2018";
        sha256 = "123790yjdsqsmqpw2kkcda6nycaczaffcy4s3ycyqawzv148wr82";
        authors = [
          "RustCrypto Developers"
        ];
        features = {
          "default" = [ "std" ];
          "derive-preview" = [ "digest-preview" "signature_derive" ];
          "digest-preview" = [ "digest" ];
          "rand-preview" = [ "rand_core" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "slab" = rec {
        crateName = "slab";
        version = "0.4.5";
        edition = "2018";
        sha256 = "1ddg01hf8h4bpfm027h0snhb7jfcs1jzi497083y13q13vyr3vwx";
        authors = [
          "Carl Lerche <me@carllerche.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "smallvec" = rec {
        crateName = "smallvec";
        version = "1.7.0";
        edition = "2018";
        sha256 = "02gka690j8l12gl50ifg7axqnx1m6v6d1byaq0wl3fx66p3vdjhy";
        authors = [
          "The Servo Project Developers"
        ];
        features = {
          "const_new" = [ "const_generics" ];
        };
      };
      "socket2" = rec {
        crateName = "socket2";
        version = "0.4.2";
        edition = "2018";
        sha256 = "05imvybc86slkbg6sj9rd1xy9a8ydn1v2bcqjqr346myqzk0zjax";
        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 = {
        };
      };
      "static_assertions" = rec {
        crateName = "static_assertions";
        version = "1.1.0";
        edition = "2015";
        sha256 = "0gsl6xmw10gvn3zs1rv99laj5ig7ylffnh71f9l34js4nr4r7sx2";
        authors = [
          "Nikolai Vazquez"
        ];
        features = {
        };
      };
      "strsim" = rec {
        crateName = "strsim";
        version = "0.10.0";
        edition = "2015";
        sha256 = "08s69r4rcrahwnickvi0kq49z524ci50capybln83mg6b473qivk";
        authors = [
          "Danny Guo <danny@dannyguo.com>"
        ];

      };
      "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" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "syn" = rec {
        crateName = "syn";
        version = "1.0.81";
        edition = "2018";
        sha256 = "0rh9hvwy75j3krmi4d4x76xb86f753hxr8mlxjbabddyp0cfxbzj";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
          {
            name = "quote";
            packageId = "quote";
            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" ];
          "test" = [ "syn-test-suite/all-features" ];
        };
        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "quote" "visit" ];
      };
      "synstructure" = rec {
        crateName = "synstructure";
        version = "0.12.6";
        edition = "2018";
        sha256 = "03r1lydbf3japnlpc4wka7y90pmz1i0danaj3f9a7b431akdlszk";
        authors = [
          "Nika Layzell <nika@thelayzells.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
          {
            name = "quote";
            packageId = "quote";
            usesDefaultFeatures = false;
          }
          {
            name = "syn";
            packageId = "syn";
            usesDefaultFeatures = false;
            features = [ "derive" "parsing" "printing" "clone-impls" "visit" "extra-traits" ];
          }
          {
            name = "unicode-xid";
            packageId = "unicode-xid";
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
          "proc-macro" = [ "proc-macro2/proc-macro" "syn/proc-macro" "quote/proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "tar" = rec {
        crateName = "tar";
        version = "0.4.37";
        edition = "2018";
        sha256 = "0p5srm08dly2bdgkpnjdfmxvldmvi31q6yxdvjxy0lnx79fm3xfn";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "filetime";
            packageId = "filetime";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "xattr";
            packageId = "xattr";
            optional = true;
            target = { target, features }: (target."unix" or false);
          }
        ];
        features = {
          "default" = [ "xattr" ];
        };
        resolvedDefaultFeatures = [ "default" "xattr" ];
      };
      "tempfile" = rec {
        crateName = "tempfile";
        version = "3.2.0";
        edition = "2018";
        sha256 = "08pbf3c1i42382dc44dil5bgiawcsi0qk6zdibw10f69rxiwdhfs";
        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 = "libc";
            packageId = "libc";
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "rand";
            packageId = "rand 0.8.4";
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
            target = { target, features }: (target."os" == "redox");
          }
          {
            name = "remove_dir_all";
            packageId = "remove_dir_all";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "fileapi" "handleapi" "winbase" ];
          }
        ];

      };
      "termcolor" = rec {
        crateName = "termcolor";
        version = "1.1.2";
        edition = "2018";
        sha256 = "1x65i1ny4m6z1by62ra6wdcrd557p2ysm866x0pg60zby2cxizid";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: (target."windows" or false);
          }
        ];

      };
      "terminal_size" = rec {
        crateName = "terminal_size";
        version = "0.1.17";
        edition = "2018";
        sha256 = "1pq60ng1a7fjp597ifk1cqlz8fv9raz9xihddld1m1pfdia1lg33";
        authors = [
          "Andrew Chin <achin@eminence32.net>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (!(target."windows" or false));
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "handleapi" "processenv" "winbase" "wincon" "winnt" ];
          }
        ];

      };
      "textwrap" = rec {
        crateName = "textwrap";
        version = "0.14.2";
        edition = "2018";
        sha256 = "106xjfzfpk3nj51fx9slf9kyir7xjwvpqm003v9ardgq5b8whrh0";
        authors = [
          "Martin Geisler <martin@geisler.net>"
        ];
        dependencies = [
          {
            name = "unicode-width";
            packageId = "unicode-width";
            optional = true;
          }
        ];
        features = {
          "default" = [ "unicode-linebreak" "unicode-width" "smawk" ];
        };
        resolvedDefaultFeatures = [ "unicode-width" ];
      };
      "thiserror" = rec {
        crateName = "thiserror";
        version = "1.0.30";
        edition = "2018";
        sha256 = "05y4wm29ck8flwq5k1q6nhwh00a3b30cz3xr0qvnbwad5vjsnjw5";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "thiserror-impl";
            packageId = "thiserror-impl";
          }
        ];

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

      };
      "thread_local" = rec {
        crateName = "thread_local";
        version = "1.1.3";
        edition = "2018";
        sha256 = "1gccp3grndpi6dyhzylz4hkqnkzc1xyri98n0xwwhnn90i7d4640";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "once_cell";
            packageId = "once_cell";
          }
        ];

      };
      "threadpool" = rec {
        crateName = "threadpool";
        version = "1.8.1";
        edition = "2015";
        sha256 = "1amgfyzvynbm8pacniivzq9r0fh3chhs7kijic81j76l6c5ycl6h";
        authors = [
          "The Rust Project Developers"
          "Corey Farwell <coreyf@rwell.org>"
          "Stefan Schindler <dns2utf8@estada.ch>"
        ];
        dependencies = [
          {
            name = "num_cpus";
            packageId = "num_cpus";
          }
        ];

      };
      "thrussh" = rec {
        crateName = "thrussh";
        version = "0.33.5";
        edition = "2018";
        sha256 = "1y1nhpg9l8jwjv59am9kmf9gib2j58c1qm36dvgq7pwsi8il0rcf";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "byteorder";
            packageId = "byteorder";
          }
          {
            name = "cryptovec";
            packageId = "cryptovec";
          }
          {
            name = "digest";
            packageId = "digest";
          }
          {
            name = "flate2";
            packageId = "flate2";
            optional = true;
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "generic-array";
            packageId = "generic-array";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "openssl";
            packageId = "openssl";
            optional = true;
          }
          {
            name = "rand";
            packageId = "rand 0.8.4";
          }
          {
            name = "sha2";
            packageId = "sha2";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "thrussh-keys";
            packageId = "thrussh-keys";
          }
          {
            name = "thrussh-libsodium";
            packageId = "thrussh-libsodium";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" "rt-multi-thread" "time" "net" "sync" "macros" "process" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" "rt-multi-thread" "time" "net" "sync" "macros" ];
          }
        ];
        features = {
          "default" = [ "flate2" ];
        };
        resolvedDefaultFeatures = [ "default" "flate2" "openssl" ];
      };
      "thrussh-config" = rec {
        crateName = "thrussh-config";
        version = "0.5.0";
        edition = "2018";
        sha256 = "1ygm5vdy180gslgmbd0v722ap451pw8cwaba0g0dzx5gg3cl9h37";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "dirs-next";
            packageId = "dirs-next";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" "net" "macros" ];
          }
          {
            name = "whoami";
            packageId = "whoami 1.2.0";
          }
        ];

      };
      "thrussh-keys" = rec {
        crateName = "thrussh-keys";
        version = "0.21.0";
        edition = "2018";
        sha256 = "1azmv32m5jpxsflj4dq62i84mv2cavc354r8yy98vc9j54dcab57";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "aes";
            packageId = "aes";
            features = [ "ctr" ];
          }
          {
            name = "bcrypt-pbkdf";
            packageId = "bcrypt-pbkdf";
          }
          {
            name = "bit-vec";
            packageId = "bit-vec";
          }
          {
            name = "block-modes";
            packageId = "block-modes";
          }
          {
            name = "byteorder";
            packageId = "byteorder";
          }
          {
            name = "cryptovec";
            packageId = "cryptovec";
          }
          {
            name = "data-encoding";
            packageId = "data-encoding";
          }
          {
            name = "dirs";
            packageId = "dirs";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "hmac";
            packageId = "hmac";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "md5";
            packageId = "md5";
          }
          {
            name = "num-bigint";
            packageId = "num-bigint";
          }
          {
            name = "num-integer";
            packageId = "num-integer";
          }
          {
            name = "openssl";
            packageId = "openssl";
            optional = true;
          }
          {
            name = "pbkdf2";
            packageId = "pbkdf2";
          }
          {
            name = "rand";
            packageId = "rand 0.8.4";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
          {
            name = "sha2";
            packageId = "sha2";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "thrussh-libsodium";
            packageId = "thrussh-libsodium";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" "rt-multi-thread" "time" "net" ];
          }
          {
            name = "tokio-stream";
            packageId = "tokio-stream";
            features = [ "net" ];
          }
          {
            name = "yasna";
            packageId = "yasna";
            features = [ "bit-vec" "num-bigint" ];
          }
        ];

        resolvedDefaultFeatures = [ "openssl" ];
      };
      "thrussh-libsodium" = rec {
        crateName = "thrussh-libsodium";
        version = "0.2.1";
        edition = "2018";
        sha256 = "004mxns64gr3507dzr6s8vgd1478jcsgd2mw2cpbj73vs9q9rs6g";
        authors = [
          "pe@pijul.org <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "libsodium-sys";
            packageId = "libsodium-sys";
          }
        ];
        buildDependencies = [
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
          {
            name = "vcpkg";
            packageId = "vcpkg";
          }
        ];

      };
      "time" = rec {
        crateName = "time";
        version = "0.1.43";
        edition = "2015";
        sha256 = "0f14wrgxj7ya2v4msg5mni7046bsm2angm7cn3pd3yv04gpm12na";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: (target."windows" or false);
            features = [ "std" "minwinbase" "minwindef" "ntdef" "profileapi" "sysinfoapi" "timezoneapi" ];
          }
        ];
        devDependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "std" "processthreadsapi" "winbase" ];
          }
        ];

      };
      "tinyvec" = rec {
        crateName = "tinyvec";
        version = "1.5.1";
        edition = "2018";
        sha256 = "1lnqnva56673r0d40586rkzyl2qqcz19wm29q8h5a95n89d1s71c";
        authors = [
          "Lokathor <zefria@gmail.com>"
        ];
        dependencies = [
          {
            name = "tinyvec_macros";
            packageId = "tinyvec_macros";
            optional = true;
          }
        ];
        features = {
          "alloc" = [ "tinyvec_macros" ];
          "real_blackbox" = [ "criterion/real_blackbox" ];
          "rustc_1_55" = [ "rustc_1_40" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "tinyvec_macros" ];
      };
      "tinyvec_macros" = rec {
        crateName = "tinyvec_macros";
        version = "0.1.0";
        edition = "2018";
        sha256 = "0p5zvgbas5nh403fbxica819mf3g83n8g2hzpfazfr56w6klv9yd";
        authors = [
          "Soveu <marx.tomasz@gmail.com>"
        ];

      };
      "tokio" = rec {
        crateName = "tokio";
        version = "1.14.0";
        edition = "2018";
        sha256 = "0i31mhhz0y0clr04z1slxx349xh017r4cx5kapvvjbqd3vj95sbh";
        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 = "num_cpus";
            packageId = "num_cpus";
            optional = true;
          }
          {
            name = "once_cell";
            packageId = "once_cell";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "signal-hook-registry";
            packageId = "signal-hook-registry";
            optional = true;
            target = { target, features }: (target."unix" or false);
          }
          {
            name = "tokio-macros";
            packageId = "tokio-macros";
            optional = true;
          }
          {
            name = "winapi";
            packageId = "winapi";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: (target."windows" or false);
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        devDependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = {target, features}: (target."unix" or false);
          }
        ];
        features = {
          "full" = [ "fs" "io-util" "io-std" "macros" "net" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "sync" "time" ];
          "io-util" = [ "memchr" "bytes" ];
          "macros" = [ "tokio-macros" ];
          "net" = [ "libc" "mio/os-poll" "mio/os-util" "mio/tcp" "mio/udp" "mio/uds" "winapi/namedpipeapi" ];
          "process" = [ "bytes" "once_cell" "libc" "mio/os-poll" "mio/os-util" "mio/uds" "signal-hook-registry" "winapi/threadpoollegacyapiset" ];
          "rt-multi-thread" = [ "num_cpus" "rt" ];
          "signal" = [ "once_cell" "libc" "mio/os-poll" "mio/uds" "mio/os-util" "signal-hook-registry" "winapi/consoleapi" ];
          "test-util" = [ "rt" "sync" "time" ];
        };
        resolvedDefaultFeatures = [ "bytes" "default" "fs" "io-util" "libc" "macros" "memchr" "mio" "net" "num_cpus" "once_cell" "process" "rt" "rt-multi-thread" "signal-hook-registry" "sync" "time" "tokio-macros" "winapi" ];
      };
      "tokio-macros" = rec {
        crateName = "tokio-macros";
        version = "1.6.0";
        edition = "2018";
        sha256 = "0pmsxblxda3mx8cwi2fzpyzzlbc85fm6cmjiyx1pjhvpl2mw3vy9";
        procMacro = true;
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
        ];

      };
      "tokio-native-tls" = rec {
        crateName = "tokio-native-tls";
        version = "0.3.0";
        edition = "2018";
        sha256 = "0yvikgmph2qjq0ni2h2wfaxkzhbnc09c2544av0zidyj1dk9bngp";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "native-tls";
            packageId = "native-tls";
          }
          {
            name = "tokio";
            packageId = "tokio";
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "macros" "rt" "rt-multi-thread" "io-util" "net" ];
          }
        ];

      };
      "tokio-stream" = rec {
        crateName = "tokio-stream";
        version = "0.1.8";
        edition = "2018";
        sha256 = "1qwq0y21xprsql4v9y1cm1ymhgw66rznjmnjrjsii27zxy25852h";
        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" ];
        };
        resolvedDefaultFeatures = [ "default" "net" "time" ];
      };
      "tokio-util" = rec {
        crateName = "tokio-util";
        version = "0.6.9";
        edition = "2018";
        sha256 = "1h2cc3ickn6wj5c0bhw8v5drzrwr5r6n0rjbxgc6qdsx7scf36cy";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" ];
          }
        ];
        features = {
          "__docs_rs" = [ "futures-util" ];
          "compat" = [ "futures-io" ];
          "full" = [ "codec" "compat" "io-util" "time" "net" "rt" ];
          "io-util" = [ "io" "tokio/rt" "tokio/io-util" ];
          "net" = [ "tokio/net" ];
          "rt" = [ "tokio/rt" ];
          "time" = [ "tokio/time" "slab" ];
        };
        resolvedDefaultFeatures = [ "codec" "default" ];
      };
      "toml" = rec {
        crateName = "toml";
        version = "0.5.8";
        edition = "2018";
        sha256 = "1apcmjrrjw429pjw7mqlmdwwd67g8305vwqy4kw3swr612bl44d3";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
          }
        ];
        features = {
          "preserve_order" = [ "indexmap" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "tower-service" = rec {
        crateName = "tower-service";
        version = "0.3.1";
        edition = "2018";
        sha256 = "1iih764s3f6vlkspfmr72fkrs2lw1v3wiqmc6bd5zq1hdlfzs39n";
        authors = [
          "Tower Maintainers <team@tower-rs.com>"
        ];

      };
      "tracing" = rec {
        crateName = "tracing";
        version = "0.1.29";
        edition = "2018";
        sha256 = "0191zcbnkn8wy0b7xbz7jd9m2xf3sjr8k3cfqzghxwya6a966nip";
        authors = [
          "Eliza Weisman <eliza@buoyant.io>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tracing-core";
            packageId = "tracing-core";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "attributes" = [ "tracing-attributes" ];
          "default" = [ "std" "attributes" ];
          "log-always" = [ "log" ];
          "std" = [ "tracing-core/std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "tracing-core" = rec {
        crateName = "tracing-core";
        version = "0.1.21";
        edition = "2018";
        sha256 = "1r262wskhm6wmc5i2bxz44nglyzqaq3x50s0h5q0ffdq6xbdckhz";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
            optional = true;
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "lazy_static" ];
        };
        resolvedDefaultFeatures = [ "lazy_static" "std" ];
      };
      "try-lock" = rec {
        crateName = "try-lock";
        version = "0.2.3";
        edition = "2015";
        sha256 = "0hkn1ksmg5hdqgqdw1ahy5qk69f4crh2psf0v61qphyrf777nm2r";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];

      };
      "twox-hash" = rec {
        crateName = "twox-hash";
        version = "1.6.1";
        edition = "2018";
        crateBin = [];
        sha256 = "13np3gap2p2q9k205qaiq9rmjnlv5v8i18n6ramvvqp29m39nm8z";
        authors = [
          "Jake Goulding <jake.goulding@gmail.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
            usesDefaultFeatures = false;
          }
          {
            name = "rand";
            packageId = "rand 0.8.4";
            optional = true;
          }
          {
            name = "static_assertions";
            packageId = "static_assertions";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
          "serialize" = [ "serde" ];
          "std" = [ "rand" ];
        };
        resolvedDefaultFeatures = [ "default" "rand" "std" ];
      };
      "typenum" = rec {
        crateName = "typenum";
        version = "1.14.0";
        edition = "2018";
        sha256 = "1v2r349b2dr0pknpjk3nkrbi3mhaa3wl7zi7bdbla4zmcni0hdxn";
        build = "build/main.rs";
        authors = [
          "Paho Lurie-Gregg <paho@paholg.com>"
          "Andre Bogus <bogusandre@gmail.com>"
        ];
        features = {
        };
      };
      "unicase" = rec {
        crateName = "unicase";
        version = "2.6.0";
        edition = "2015";
        sha256 = "1xmlbink4ycgxrkjspp0mf7pghcx4m7vxq7fpfm04ikr2zk7pwsh";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
        };
      };
      "unicode-bidi" = rec {
        crateName = "unicode-bidi";
        version = "0.3.7";
        edition = "2018";
        sha256 = "13v7v8pp7mdqqf0ypk73va78c3b4xzpryvbls9p47nz3cd34008s";
        libName = "unicode_bidi";
        authors = [
          "The Servo Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "flame_it" = [ "flame" "flamer" ];
          "with_serde" = [ "serde" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "unicode-normalization" = rec {
        crateName = "unicode-normalization";
        version = "0.1.19";
        edition = "2018";
        sha256 = "1yabhmg8zlcksda3ajly9hpbzqgbhknxwch8dwkfkaa1569r0ifm";
        authors = [
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        dependencies = [
          {
            name = "tinyvec";
            packageId = "tinyvec";
            features = [ "alloc" ];
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "unicode-segmentation" = rec {
        crateName = "unicode-segmentation";
        version = "1.8.0";
        edition = "2018";
        sha256 = "0nrqfgxkh00wb5dhl0874z20789i2yjimp6ndgh4ay4yjjd895c8";
        authors = [
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        features = {
        };
      };
      "unicode-width" = rec {
        crateName = "unicode-width";
        version = "0.1.9";
        edition = "2015";
        sha256 = "0wq9wl69wlp6zwlxp660g9p4hm5gk91chwk14dp1gl9bxba45mry";
        authors = [
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        features = {
          "rustc-dep-of-std" = [ "std" "core" "compiler_builtins" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "unicode-xid" = rec {
        crateName = "unicode-xid";
        version = "0.2.2";
        edition = "2015";
        sha256 = "1wrkgcw557v311dkdb6n2hrix9dm2qdsb1zpw7pn79l03zb85jwc";
        authors = [
          "erick.tryzelaar <erick.tryzelaar@gmail.com>"
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "url" = rec {
        crateName = "url";
        version = "2.2.2";
        edition = "2018";
        sha256 = "132pzpvfvpw33gjlzqd55n5iag9qddzffq8qbp1myfykna1w61x5";
        authors = [
          "The rust-url developers"
        ];
        dependencies = [
          {
            name = "form_urlencoded";
            packageId = "form_urlencoded";
          }
          {
            name = "idna";
            packageId = "idna";
          }
          {
            name = "matches";
            packageId = "matches";
          }
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
          }
        ];

      };
      "uuid" = rec {
        crateName = "uuid";
        version = "0.8.2";
        edition = "2018";
        sha256 = "1dy4ldcp7rnzjy56dxh7d2sgrcvn4q77y0a8r0a48946h66zjp5w";
        authors = [
          "Ashley Mannix<ashleymannix@live.com.au>"
          "Christopher Armstrong"
          "Dylan DPC<dylan.dpc@gmail.com>"
          "Hunar Roop Kahlon<hunar.roop@gmail.com>"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom 0.2.3";
            optional = true;
          }
        ];
        features = {
          "default" = [ "std" ];
          "guid" = [ "winapi" ];
          "stdweb" = [ "getrandom" "getrandom/js" ];
          "v3" = [ "md5" ];
          "v4" = [ "getrandom" ];
          "v5" = [ "sha1" ];
          "wasm-bindgen" = [ "getrandom" "getrandom/js" ];
        };
        resolvedDefaultFeatures = [ "getrandom" "v4" ];
      };
      "vcpkg" = rec {
        crateName = "vcpkg";
        version = "0.2.15";
        edition = "2015";
        sha256 = "09i4nf5y8lig6xgj3f7fyrvzd3nlaw4znrihw8psidvv5yk4xkdc";
        authors = [
          "Jim McGrath <jimmc2@gmail.com>"
        ];

      };
      "version_check" = rec {
        crateName = "version_check";
        version = "0.9.3";
        edition = "2015";
        sha256 = "1zmkcgj2m0pq0l4wnhrp1wl1lygf7x2h5p7pvjwc4719lnlxrv2z";
        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 0.10.2+wasi-snapshot-preview1" = rec {
        crateName = "wasi";
        version = "0.10.2+wasi-snapshot-preview1";
        edition = "2018";
        sha256 = "1ii7nff4y1mpcrxzzvbpgxm7a1nn3szjf1n21jnx37c2g6dbsvzx";
        authors = [
          "The Cranelift Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "wasi 0.9.0+wasi-snapshot-preview1" = rec {
        crateName = "wasi";
        version = "0.9.0+wasi-snapshot-preview1";
        edition = "2018";
        sha256 = "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc";
        authors = [
          "The Cranelift Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "wasm-bindgen" = rec {
        crateName = "wasm-bindgen";
        version = "0.2.78";
        edition = "2018";
        sha256 = "1kkzwj24z9ad7lq8c5ynlnpxpx8hwra6w6brl871a6dj6vi76bv3";
        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-serialize" = [ "serde" "serde_json" "std" ];
          "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.78";
        edition = "2018";
        sha256 = "0yw3ma0ahd1cz3afxpqcgwy9rwwgmz2g8pn8nas7c95sky7vy5x3";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "bumpalo";
            packageId = "bumpalo";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
          {
            name = "wasm-bindgen-shared";
            packageId = "wasm-bindgen-shared";
          }
        ];
        features = {
          "extra-traits" = [ "syn/extra-traits" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-futures" = rec {
        crateName = "wasm-bindgen-futures";
        version = "0.4.28";
        edition = "2018";
        sha256 = "0fax7x0iysa64iqmzq0lri8llw8v0f8acz1iq6b4qahzrcipb3cf";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            target = { target, features }: (builtins.elem "atomics" targetFeatures);
            features = [ "MessageEvent" "Worker" ];
          }
        ];
        features = {
          "futures-core-03-stream" = [ "futures-core" ];
        };
      };
      "wasm-bindgen-macro" = rec {
        crateName = "wasm-bindgen-macro";
        version = "0.2.78";
        edition = "2018";
        sha256 = "1ydcppds5qbj77c7kdinkg9qidcf7ahvwqvnb3v8nllmqkklcqfm";
        procMacro = true;
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "quote";
            packageId = "quote";
          }
          {
            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.78";
        edition = "2018";
        sha256 = "1ay5qmbqh8hbsgf2dqkg7ia13srx3c1d6p2qvjmzhdaqlbpf00vq";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            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.78";
        edition = "2018";
        sha256 = "1k27dc57h0brx5ish4dwmzibyif7m9lfagvph1a7s0ygi4kj6dq2";
        authors = [
          "The wasm-bindgen Developers"
        ];

      };
      "web-sys" = rec {
        crateName = "web-sys";
        version = "0.3.55";
        edition = "2018";
        sha256 = "1yz9dym9y9f9s1f99q5j5kl2dfc5kn2jpjfdnnkfmnar3igi1srq";
        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" ];
          "GpuUncapturedErrorEvent" = [ "Event" ];
          "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" ];
          "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" ];
          "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" ];
          "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" ];
          "Xr" = [ "EventTarget" ];
          "XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ];
          "XrInputSourceEvent" = [ "Event" ];
          "XrInputSourcesChangeEvent" = [ "Event" ];
          "XrReferenceSpace" = [ "EventTarget" "XrSpace" ];
          "XrReferenceSpaceEvent" = [ "Event" ];
          "XrSession" = [ "EventTarget" ];
          "XrSessionEvent" = [ "Event" ];
          "XrSpace" = [ "EventTarget" ];
          "XrViewerPose" = [ "XrPose" ];
        };
        resolvedDefaultFeatures = [ "Blob" "BlobPropertyBag" "Document" "Event" "EventTarget" "FormData" "Headers" "Location" "MessageEvent" "Navigator" "Node" "Request" "RequestCredentials" "RequestInit" "RequestMode" "Response" "ServiceWorkerGlobalScope" "Window" "Worker" "WorkerGlobalScope" ];
      };
      "which" = rec {
        crateName = "which";
        version = "4.2.2";
        edition = "2018";
        sha256 = "1nbsy9f5sn206jzby28if4m4s0m21n97mhk8qd703g3rya77l67a";
        authors = [
          "Harry Fei <tiziyuanfang@gmail.com>"
        ];
        dependencies = [
          {
            name = "either";
            packageId = "either";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            target = { target, features }: (target."windows" or false);
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];

      };
      "whoami 0.9.0" = rec {
        crateName = "whoami";
        version = "0.9.0";
        edition = "2018";
        sha256 = "012mw2q72gpmf354yw2qc5w105ziac75shpqp1f62x4hnqx7g13q";
        authors = [
          "Jeron Aldaron Lau <jeronlau@plopgrizzly.com>"
        ];
        features = {
          "cala" = [ "cala_core/cala" ];
          "stdweb" = [ "cala_core/stdweb" ];
          "wasm-bindgen" = [ "cala_core/wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "whoami 1.2.0" = rec {
        crateName = "whoami";
        version = "1.2.0";
        edition = "2018";
        sha256 = "1xzmdsp0d8kvjm99l5a4ly9ivif0dhnf2rw9r7rgnkka4gpcafn3";
        authors = [
          "Jeron Aldaron Lau <jeronlau@plopgrizzly.com>"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
            target = { target, features }: (target."arch" == "wasm32");
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            target = { target, features }: (target."arch" == "wasm32");
            features = [ "Navigator" "Document" "Window" "Location" ];
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "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 }: (stdenv.hostPlatform.config == "i686-pc-windows-gnu");
          }
          {
            name = "winapi-x86_64-pc-windows-gnu";
            packageId = "winapi-x86_64-pc-windows-gnu";
            target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-gnu");
          }
        ];
        features = {
          "debug" = [ "impl-debug" ];
        };
        resolvedDefaultFeatures = [ "basetsd" "cfg" "consoleapi" "errhandlingapi" "evntrace" "fileapi" "handleapi" "impl-debug" "impl-default" "in6addr" "inaddr" "ioapiset" "knownfolders" "lmcons" "memoryapi" "minschannel" "minwinbase" "minwindef" "mstcpip" "mswsock" "namedpipeapi" "ntdef" "ntsecapi" "ntstatus" "objbase" "processenv" "processthreadsapi" "profileapi" "schannel" "securitybaseapi" "shlobj" "sspi" "std" "synchapi" "sysinfoapi" "threadpoollegacyapiset" "timezoneapi" "winbase" "wincon" "wincrypt" "windef" "winerror" "winioctl" "winnt" "winreg" "winsock2" "ws2def" "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>"
        ];

      };
      "winreg" = rec {
        crateName = "winreg";
        version = "0.7.0";
        edition = "2015";
        sha256 = "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801";
        authors = [
          "Igor Shaula <gentoo90@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "impl-default" "impl-debug" "minwindef" "minwinbase" "timezoneapi" "winerror" "winnt" "winreg" "handleapi" ];
          }
        ];
        features = {
          "serialization-serde" = [ "transactions" "serde" ];
          "transactions" = [ "winapi/ktmw32" ];
        };
      };
      "xattr" = rec {
        crateName = "xattr";
        version = "0.2.2";
        edition = "2015";
        sha256 = "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14";
        authors = [
          "Steven Allen <steven@stebalien.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "default" = [ "unsupported" ];
        };
        resolvedDefaultFeatures = [ "default" "unsupported" ];
      };
      "yasna" = rec {
        crateName = "yasna";
        version = "0.4.0";
        edition = "2018";
        sha256 = "0xgsvxqnycdakh6j3hg4dk3mylrpnba50w0d36vg5k311sfs4qp2";
        authors = [
          "Masaki Hara <ackie.h.gmai@gmail.com>"
        ];
        dependencies = [
          {
            name = "bit-vec";
            packageId = "bit-vec";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "num-bigint";
            packageId = "num-bigint";
            optional = true;
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "bit-vec" "default" "num-bigint" ];
      };
      "zeroize" = rec {
        crateName = "zeroize";
        version = "1.3.0";
        edition = "2018";
        sha256 = "1z8yix823b6lz878qwg6bvwhg3lb0cbw3c9yij9p8mbv7zdzfmj7";
        authors = [
          "Tony Arcieri <tony@iqlusion.io>"
        ];
        dependencies = [
          {
            name = "zeroize_derive";
            packageId = "zeroize_derive";
            optional = true;
          }
        ];
        features = {
          "default" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "zeroize_derive" ];
      };
      "zeroize_derive" = rec {
        crateName = "zeroize_derive";
        version = "1.2.2";
        edition = "2018";
        sha256 = "0wqznp1wdgp9dgb026b9ss3kbxhp3y20rs0zbmnwd27c4cbsbwb5";
        procMacro = true;
        authors = [
          "The RustCrypto Project Developers"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
          }
          {
            name = "synstructure";
            packageId = "synstructure";
          }
        ];

      };
      "zstd-seekable" = rec {
        crateName = "zstd-seekable";
        version = "0.1.7";
        edition = "2018";
        sha256 = "0bxzd71myj094hp03jpqbv1r80x0hk1ahsjwfv50j0wgx379jfry";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "threadpool";
            packageId = "threadpool";
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
        ];

      };
    };

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

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

    # This doesn't appear to be officially documented anywhere yet.
    # See https://github.com/rust-lang-nursery/rust-forge/issues/101.
    os =
      if stdenv.hostPlatform.isDarwin
      then "macos"
      else stdenv.hostPlatform.parsed.kernel.name;
    arch = stdenv.hostPlatform.parsed.cpu.name;
    family = "unix";
    env = "gnu";
    endian =
      if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian"
      then "little" else "big";
    pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits;
    vendor = stdenv.hostPlatform.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
    , target ? defaultTarget
    } @ args:
      assert (builtins.isAttrs crateConfigs);
      assert (builtins.isString packageId);
      assert (builtins.isList features);
      assert (builtins.isAttrs target);
      assert (builtins.isBool runTests);
      let
        rootPackageId = packageId;
        mergedFeatures = mergePackageFeatures
          (
            args // {
              inherit rootPackageId;
              target = target // { 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;
              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 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 target;
                buildByPackageId = depPackageId:
                  self.build.crates.${depPackageId};
                dependencies = crateConfig.buildDependencies or [ ];
              };
            filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies {
              inherit dependencies features target;
            };
            dependenciesWithRenames =
              lib.filter (d: d ? "rename")
                (
                  filterEnabledDependenciesForThis
                    (
                      (crateConfig.buildDependencies or [ ])
                      ++ (crateConfig.dependencies or [ ])
                      ++ devDependencies
                    )
                );
            # 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 ? defaultTarget }:
    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 = { name, rename ? null, ... }: feature:
    let
      prefix = "${name}/";
      len = builtins.stringLength prefix;
      startsWithPrefix = builtins.substring 0 len feature == prefix;
    in
    (rename == null && feature == name)
    || (rename != null && rename == feature)
    || 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.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)
  #
  };
}